From 027b75833ae1bc3bd1bb597b18c65c9177fa62d4 Mon Sep 17 00:00:00 2001
From: yangpeixing <yangpeixing@hnkhzn.com>
Date: 星期三, 17 十二月 2025 12:10:18 +0800
Subject: [PATCH] 1.WMS中添加自动打印开关

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InboundOrderService.cs |  103 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 98 insertions(+), 5 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InboundOrderService.cs"
index f4ab182..f042505 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InboundOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InboundOrderService.cs"
@@ -1,4 +1,5 @@
-锘縰sing MailKit.Search;
+锘縰sing AngleSharp.Dom;
+using MailKit.Search;
 using Masuit.Tools;
 using Newtonsoft.Json;
 using WIDESEA_Common;
@@ -16,6 +17,7 @@
 using WIDESEA_Model.Models;
 using WIDESEA_Model.Models.Order;
 using WIDESEA_OrderRepository;
+using WIDESEA_StorageTaskServices;
 
 namespace WIDESEA_OrderServices
 {
@@ -24,15 +26,18 @@
         private readonly IUnitOfWorkManage _unitOfWorkManage;
         private readonly ISys_ConfigService _configService;
         private readonly IDt_WareAreaInfoRepository _wareAreaInfoRepository;
+        private readonly PrintStatusContainer _printStatusContainer;
 
         public Dt_InboundOrderService(IDt_InboundOrderRepository BaseDal,
                                         IUnitOfWorkManage unitOfWorkManage,
                                         ISys_ConfigService configService,
-                                        IDt_WareAreaInfoRepository wareAreaInfoRepository) : base(BaseDal)
+                                        IDt_WareAreaInfoRepository wareAreaInfoRepository,
+                                        PrintStatusContainer printStatusContainer) : base(BaseDal)
         {
             _unitOfWorkManage = unitOfWorkManage;
             _configService = configService;
             _wareAreaInfoRepository = wareAreaInfoRepository;
+            _printStatusContainer = printStatusContainer;
         }
 
         public override WebResponseContent UpdateData(SaveModel saveModel)
@@ -50,6 +55,11 @@
             return base.UpdateData(saveModel);
         }
 
+        /// <summary>
+        /// 鏌ヨ鍏ュ簱鍗曟嵁淇℃伅
+        /// </summary>
+        /// <param name="OrderNo"></param>
+        /// <returns></returns>
         public WebResponseContent GetInboundOrderInfo(string OrderNo)
         {
             WebResponseContent content=new WebResponseContent();
@@ -67,6 +77,12 @@
                 return content.Error(ex.Message);
             }
         }
+
+        /// <summary>
+        /// 鎵撳嵃
+        /// </summary>
+        /// <param name="keys"></param>
+        /// <returns></returns>
         public WebResponseContent PrintOrder(int[] keys)
         {
             WebResponseContent content = new WebResponseContent();
@@ -81,7 +97,7 @@
                         inboundOrders.Add(InboundOrder);
                     }
                 }
-                content=PrintInbound(inboundOrders);
+                content = PrintInbound(inboundOrders);
                 return content;
             }
             catch (Exception ex)
@@ -90,6 +106,42 @@
             }
         }
 
+        /// <summary>
+        /// 澶氭鎵撳嵃
+        /// </summary>
+        /// <param name="keys"></param>
+        /// <param name="num"></param>
+        /// <returns></returns>
+        public WebResponseContent MultiplePrintOrder(int keys,int num)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                List<Dt_InboundOrder> inboundOrders = new List<Dt_InboundOrder>();
+                var InboundOrder = BaseDal.QueryFirst(x => x.Id == keys);
+                for (int i = 0; i < num; i++)
+                {
+                    if (InboundOrder != null)
+                    {
+                        inboundOrders.Add(InboundOrder);
+                    }
+                }
+
+                content = PrintInbound(inboundOrders);
+                return content;
+            }
+            catch (Exception ex)
+            {
+                return content.Error("鏈煡閿欒锛岃鑱旂郴绠$悊鍛�");
+            }
+        }
+
+        /// <summary>
+        /// 鎷嗗垎
+        /// </summary>
+        /// <param name="id"></param>
+        /// <param name="num"></param>
+        /// <returns></returns>
         public WebResponseContent SplitOrder(int id,int num)
         {
             WebResponseContent content = new WebResponseContent();
@@ -100,7 +152,7 @@
                 {
                     return content.Error("鏈壘鍒拌鍏ュ簱鍗曚俊鎭�");
                 }
-                if(originalOrder.Quantity < num || num <= 0)
+                if(originalOrder.Quantity < num || num <= 0 || originalOrder.Quantity - num == 0) 
                 {
                     return content.Error("鎷嗗垎鏁伴噺涓嶅悎娉�");
                 }
@@ -123,7 +175,6 @@
                     Texture = originalOrder.Texture,
                     Quantity = num,
                     OrderStatus = originalOrder.OrderStatus,
-
                 };
                 originalOrder.Quantity = originalOrder.Quantity - num;
 
@@ -137,6 +188,12 @@
             }
         }
 
+
+        /// <summary>
+        /// 鎵撳嵃鎵樼洏鐮�
+        /// </summary>
+        /// <param name="num"></param>
+        /// <returns></returns>
         public WebResponseContent PrintPalletCode(int num)
         {
             WebResponseContent content = new WebResponseContent();
@@ -155,6 +212,12 @@
                 return content.Error("鏈煡閿欒锛岃鑱旂郴绠$悊鍛�");
             }
         }
+
+        /// <summary>
+        /// 鑾峰彇璁㈠崟缂栧彿
+        /// </summary>
+        /// <param name="printCode"></param>
+        /// <returns></returns>
         public string GetOrderPintCode(string printCode)
         {
             string PrintCode = "";
@@ -174,6 +237,13 @@
             SqlSugarHelper.DbWMS.Updateable(PrintSetting).ExecuteCommand();
             return PrintCode;
         }
+
+        /// <summary>
+        /// 璋冪敤鎵撳嵃鎵樼洏鐮佹帴鍙�
+        /// </summary>
+        /// <param name="palletCodes"></param>
+        /// <returns></returns>
+        /// <exception cref="InvalidOperationException"></exception>
         public WebResponseContent PrintPallet(List<string> palletCodes)
         {
             var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
@@ -188,6 +258,12 @@
             return JsonConvert.DeserializeObject<WebResponseContent>(result);
         }
 
+        /// <summary>
+        /// 璋冪敤鎵撳嵃鍗曟嵁鎺ュ彛
+        /// </summary>
+        /// <param name="orders"></param>
+        /// <returns></returns>
+        /// <exception cref="InvalidOperationException"></exception>
         public WebResponseContent PrintInbound(List<Dt_InboundOrder> orders)
         {
             var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
@@ -201,5 +277,22 @@
             var result = HttpsClient.PostAsync(IpAddress, orders.ToJsonString()).Result;
             return JsonConvert.DeserializeObject<WebResponseContent>(result);
         }
+
+        /// <summary>
+        /// 寮�鍚嚜鍔ㄦ墦鍗�
+        /// </summary>
+        /// <param name="AutomaticPrintStatus"></param>
+        /// <exception cref="NotImplementedException"></exception>
+        public void AutomaticPrint(string AutomaticPrintStatus)
+        {
+            if (AutomaticPrintStatus.Equals("false"))
+            {
+                _printStatusContainer.AutomaticPrint = false;
+            }
+            else
+            {
+                _printStatusContainer.AutomaticPrint = true;
+            }
+        }
     }
 }

--
Gitblit v1.9.3