From 617cd40beff6019043597796f92eeddd5fe41a5b Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 03 十一月 2025 08:21:47 +0800
Subject: [PATCH] 更新代码

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesProductService.cs |   49 ++++++++++++++++++++++++++++++++++---------------
 1 files changed, 34 insertions(+), 15 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesProductService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesProductService.cs"
index f95c73e..a056eb9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesProductService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesProductService.cs"
@@ -30,7 +30,7 @@
         /// MES鎴愬搧鍏ュ簱鍗曟帴鏀�
         /// </summary>
         /// <returns></returns>
-        public MesResponseContent BagInfoSync(MesBagInfoModel bagInfoModel)
+        public MesResponseContent BagInfoSync(MesBagInfoModel bagInfoModel, string formSign = "")
         {
             MesResponseContent content = new MesResponseContent();
             try
@@ -74,6 +74,10 @@
                 }
                 if (bagInfoModel.BatchNo.Substring(0, 3).ToUpper() == "CPK")
                 {
+                    if (warehouse.WarehouseCode==WarehouseEnum.HA73.ToString())
+                    {
+                        return content.Error($"鐮斿彂浠撳睘鎬т笉鑳藉叆骞冲簱");
+                    }
                     WebResponseContent inProRespone = InPKProStock(bagInfoModel, proDetailsExists, warehouse);
                     if (!inProRespone.Status)
                     {
@@ -107,6 +111,7 @@
                             ERPOrder = child.ERPOrder,
                             SaleOrder = child.SaleOrder,
                             MoNumber = child.MoNumber,
+                            IsFineWorks=item.IsFineWorks,
                         };
                         mesProInOrderDetails.Add(mesProInOrderDetail);
                     }
@@ -165,25 +170,29 @@
                     WarehouseId = warehouse.WarehouseId,
                     PalletType = proStockInfo.PalletType,
                     MaterielCode = proStockInfo.proStockInfoDetails.Where(x => x.ProStockId == proStockInfo.Id).FirstOrDefault()?.ProductCode,
-                    Quantity = (float)proStockInfo.proStockInfoDetails.Where(x => x.ProStockId == proStockInfo.Id).Sum(x => x.StockPcsQty)
+                    Quantity = (float)proStockInfo.proStockInfoDetails.Where(x => x.ProStockId == proStockInfo.Id).Sum(x => x.StockPcsQty),
+                    BatchNo = proStockInfo.proStockInfoDetails.Where(x => x.ProStockId == proStockInfo.Id).FirstOrDefault()?.LotNumber,
                 };
                 _unitOfWorkManage.BeginTran();
                 int taskId = BaseDal.AddData(newTask);
                 newTask.TaskId = taskId;
                 Db.InsertNav(proStockInfo).Include(x => x.proStockInfoDetails).ExecuteCommand();
                 //涓婁紶ERP
-                WebResponseContent responseContent = _inboundOrderService.FeedbackProIn(mesProInOrder);
+                if (string.IsNullOrEmpty(formSign))
+                {
+                    WebResponseContent responseContent = _inboundOrderService.FeedbackProIn(mesProInOrder);
+                    if (!responseContent.Status)
+                    {
+                        //mesProInOrder.UpErpStatus = WhetherEnum.False.ObjToInt();
+                        //mesProInOrder.Remark = responseContent.Message;
+                        throw new Exception(responseContent.Message);
+                    }
+                    else
+                    {
+                        mesProInOrder.UpErpStatus = WhetherEnum.True.ObjToInt();
+                    }
+                }
                 _proInStatisticsService.SaveStatic(bagInfoModel);
-                if (!responseContent.Status)
-                {
-                    //mesProInOrder.UpErpStatus = WhetherEnum.False.ObjToInt();
-                    //mesProInOrder.Remark = responseContent.Message;
-                    throw new Exception(responseContent.Message);
-                }
-                else
-                {
-                    mesProInOrder.UpErpStatus = WhetherEnum.True.ObjToInt();
-                }
                 Db.InsertNav(mesProInOrder).Include(x => x.Details).ExecuteCommand();
                 _unitOfWorkManage.CommitTran();
                 //鎺ㄩ�佷换鍔�
@@ -404,7 +413,7 @@
         /// <summary>
         /// MES鎴愬搧鍑哄簱鍗曞悓姝ユ暟鎹鐞�
         /// </summary>
-        public MesShipmentOrderSync MesOutSync(Dt_OutProStockInfo outProStockInfo, Dt_ProOutOrderDetail proOutOrderDetail,List<Dt_ProStockInfoDetail> proStockInfoDetails)
+        public MesShipmentOrderSync MesOutSync(Dt_OutProStockInfo outProStockInfo, Dt_ProOutOrderDetail proOutOrderDetail,List<Dt_ProStockInfoDetail> proStockInfoDetails,Dt_Task task=null)
         {
             List<MesShipOrderDetail> mesShipOrderDetails = new List<MesShipOrderDetail>();
             //鑾峰彇鍑哄簱鍗�
@@ -432,10 +441,20 @@
                     } 
                 }
             };
+            if (task!=null)
+            {
+                orderDetail.WorkCenter = task.TargetAddress switch
+                {
+                    "5236" => "SPCK_OUTER-001",
+                    "5243" => "SPCK_OUTER-002",
+                    "5250" => "SPCK_OUTER-003",
+                    _ => "SPCK_OUTER-001",
+                };
+            }
             mesShipOrderDetails.Add(orderDetail);
             MesShipmentOrderSync shipmentOrderSync = new MesShipmentOrderSync()
             {
-                ShipmentOrder = proOutOrder.ProOutOrderNo+"-"+ outProStockInfo.TaskNum,
+                ShipmentOrder = proOutOrder.ProOutOrderNo,
                 PlantShipDate = proOutOrder.PlantShipDate.ToString("yyyy-MM-dd HH:mm:ss"),
                 Customer = proOutOrderDetail.EndCustomer,
                 FactoryCode = proOutOrderDetail.FactoryCode,

--
Gitblit v1.9.3