From 2c889b38311883ceb703c4e0034c798fdaa2e21c Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期二, 12 八月 2025 23:11:57 +0800
Subject: [PATCH] 更新代码,货位分配优化等

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs |   54 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 33 insertions(+), 21 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
index 5c6ff6a..9780a13 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
@@ -100,6 +100,7 @@
                         PalletType = stockInfo.PalletType,
                         MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode,
                         Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity),
+                        BatchNo = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.BatchNo
                     };
                     //鑾峰彇鏄惁瀛樺湪鍏ュ簱鍗�
                     Dt_InboundOrder? inboundOrder =  null;
@@ -395,10 +396,12 @@
                     };
                     string MaterielCodeGMPP = stockInfoPPorGM.Details?.Where(x => x.StockId == stockInfoPPorGM.Id).FirstOrDefault()?.MaterielCode;
                     float QuantityGMPP = (float)stockInfoPPorGM.Details?.Where(x => x.StockId == stockInfoPPorGM.Id).Sum(x => x.StockQuantity);
-                    if (MaterielCodeGMPP != null && QuantityGMPP != null)
+                    string batchNo = stockInfoPPorGM.Details?.Where(x => x.StockId == stockInfoPPorGM.Id).FirstOrDefault()?.BatchNo;
+                    if (MaterielCodeGMPP != null && QuantityGMPP != null && batchNo != null)
                     {
                         newTaskPPorGM.MaterielCode = MaterielCodeGMPP;
                         newTaskPPorGM.Quantity = QuantityGMPP;
+                        newTaskPPorGM.BatchNo = batchNo;
                     }
 
                     //鑾峰彇鏄惁瀛樺湪鍏ュ簱鍗�
@@ -469,10 +472,12 @@
                 };
                 string MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
                 float Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
-                if (MaterielCode != null && Quantity != null)
+                string BatchNo = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.BatchNo;
+                if (MaterielCode != null && Quantity != null && BatchNo != null)
                 {
                     newTask.MaterielCode = MaterielCode;
                     newTask.Quantity = Quantity;
+                    newTask.BatchNo = BatchNo;
                 }
 
                 //鑾峰彇鏄惁瀛樺湪鍏ュ簱鍗�
@@ -594,10 +599,12 @@
                 };
                 string MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
                 float Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
-                if (MaterielCode != null && Quantity != null)
+                string BatchNo = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.BatchNo;
+                if (MaterielCode != null && Quantity != null && BatchNo != null)
                 {
                     newTask.MaterielCode = MaterielCode;
-                    newTask.Quantity = (float)Quantity;
+                    newTask.Quantity = Quantity;
+                    newTask.BatchNo = BatchNo;
                 }
 
                 if (stockInfo.StockStatus == StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt())
@@ -700,10 +707,12 @@
                 };
                 string MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
                 float Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
-                if (MaterielCode != null && Quantity != null)
+                string BatchNo = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.BatchNo;
+                if (MaterielCode != null && Quantity != null && BatchNo != null)
                 {
                     newTask.MaterielCode = MaterielCode;
                     newTask.Quantity = Quantity;
+                    newTask.BatchNo = BatchNo;
                 }
                 if (stockInfo.StockStatus == StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt())
                 {
@@ -844,7 +853,7 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                //鑾峰彇娴嬭瘯鏋跺師搴撳瓨淇℃伅
+                //鑾峰彇闃荤剨搴撳瓨淇℃伅
                 Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA154.ToString());
                 //鑾峰彇搴撳瓨璁板綍
                 List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
@@ -863,21 +872,21 @@
                 {
                     return content.Error($"鎵樼洏绫诲瀷淇℃伅涓嶅瓨鍦�");
                 }
-                ////鑾峰彇闃荤剨鎵规
-                //WebResponseContent requestLotInfo = GetZHMesMaterialLot(materialLot);
-                //if (!requestLotInfo.Status)
-                //{
-                //    return content.Error($"璇锋眰闃荤剨鎵规淇℃伅澶辫触,{requestLotInfo.Message}");
-                //}
-                //MesLotInfoModel mesLotInfo = JsonConvert.DeserializeObject<MesLotInfoModel>(requestLotInfo.Data.ToString());
-                MesLotInfoModel mesLotInfo = new MesLotInfoModel()
+                //鑾峰彇闃荤剨鎵规
+                WebResponseContent requestLotInfo = GetZHMesMaterialLot(materialLot);
+                if (!requestLotInfo.Status)
                 {
-                    Product="FH001",
-                    ProductVersion="A1",
-                    Qty=20,
-                    LotNo= materialLot,
-                    IsFullNumber=true
-                };
+                    return content.Error($"璇锋眰闃荤剨鎵规淇℃伅澶辫触,{requestLotInfo.Message}");
+                }
+                MesLotInfoModel mesLotInfo = JsonConvert.DeserializeObject<MesLotInfoModel>(requestLotInfo.Data.ToString());
+                //MesLotInfoModel mesLotInfo = new MesLotInfoModel()
+                //{
+                //    Product="FH001",
+                //    ProductVersion="A1",
+                //    Qty=20,
+                //    LotNo= materialLot,
+                //    IsFullNumber=true
+                //};
                 Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail()
                 {
                     MaterielSpec = mesLotInfo.ProductVersion,
@@ -921,6 +930,7 @@
                     WarehouseId = warehouse.WarehouseId,
                     MaterielCode = mesLotInfo.Product,
                     Quantity = (float)mesLotInfo.Qty,
+                    BatchNo = mesLotInfo.LotNo
                 };
                 _unitOfWorkManage.BeginTran();
                 Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand();
@@ -1033,7 +1043,9 @@
                     WarehouseId = warePoint.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);

--
Gitblit v1.9.3