From 3c024b153548ca391c9c56dd30c44d4dd2360854 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期三, 10 十二月 2025 14:18:58 +0800
Subject: [PATCH] 1

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesProductService.cs |   51 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 35 insertions(+), 16 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..8c5255c 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();
                 //鎺ㄩ�佷换鍔�
@@ -309,7 +318,7 @@
             {
                 Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA101.ToString());
                 //鎴彇鍑哄簱鍗曞彿
-                string shipmentOrder = boxInfoModel.ShipmentOrder.Substring(0, boxInfoModel.ShipmentOrder.IndexOf("-"));
+                string shipmentOrder = boxInfoModel.ShipmentOrder;
                 //鍒ゆ柇MES浼犲叆鐨勫嚭搴撳崟鍙锋槸鍚﹀瓨鍦�
                 Dt_ProOutOrder proOutOrder = _outboundRepository.ProOutOrderRepository.Db.Queryable<Dt_ProOutOrder>().Where(x => x.ProOutOrderNo == shipmentOrder).Includes(x => x.Details).First();
                 if (proOutOrder == null)
@@ -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