From e4a391c581aaca1fa7b0239bc96375d0c0cb8de6 Mon Sep 17 00:00:00 2001
From: yangpeixing <yangpeixing@hnkhzn.com>
Date: 星期三, 04 二月 2026 08:55:49 +0800
Subject: [PATCH] 1

---
 WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs |  220 +++++++++++++++++++++++++++---------------------------
 1 files changed, 111 insertions(+), 109 deletions(-)

diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
index a30fa86..032d583 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
@@ -553,7 +553,7 @@
         /// <param name="materielGroupDTO"></param>
         /// <returns></returns>
         #region
-        public WebResponseContent CP1MaterielGroup(SaveModel saveModel)
+        public WebResponseContent CPMaterielGroup(SaveModel saveModel)
         {
             WebResponseContent content = new WebResponseContent();
             try
@@ -762,6 +762,8 @@
                             QtyOfpcs = item.QtyOfpcs,
                             QtyOfxout = item.QtyOfxout,
                             CPStockDetailStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+                            LPNNO = item.LPNNO,
+                            OrinalLocation = item.OrinalLocation,
                             Creater = "涓婃父WMS",
                         };
                         stockInfoDetailCP.Add(stockInfoDetailCP1);
@@ -854,7 +856,7 @@
         #endregion
 
 
-        public WebResponseContent CPMaterielGroup(SaveModel saveModel)
+        public WebResponseContent CP1MaterielGroup(SaveModel saveModel)
         {
             WebResponseContent content = new WebResponseContent();
             try
@@ -1127,6 +1129,7 @@
         }
 
         public string ReceiveWMSTaskin = WIDESEA_Core.Helper.AppSettings.Configuration["ReceiveWMSTaskin"];
+
         /// <summary>
         /// 缁勭洏鍚堟墭
         /// </summary>
@@ -1407,10 +1410,6 @@
                     }
                     if (warehouse.WarehouseCode.Contains("CP"))
                     {
-                        if (item.SupplierBatch == null)
-                        {
-                            return content.Error("渚涘簲鍟嗘壒娆′笉鍙负绌�");
-                        }
                         Dt_InboundOrder inboundOrderOld = BaseDal.Db.Queryable<Dt_InboundOrder>().Where(x => x.UpperOrderNo == model.AsnNo).Includes(x => x.Details).First();
 
                         if (inboundOrderOld != null)
@@ -1442,6 +1441,8 @@
                                         QtyOfpcs = (float)list.QtyOfpcs,
                                         QtyOfxout = (float)list.QtyOfxout,
                                         CPOrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(),
+                                        LPNNO = list.LPNNO,
+                                        OrinalLocation = list.OrinalLocation,
                                         Creater = "涓婃父WMS",
                                     };
                                     cPInboundOrderDetail.Add(cPInboundOrderDetail1);
@@ -1484,6 +1485,8 @@
                                     QtyOfpcs = (float)list.QtyOfpcs,
                                     QtyOfxout = (float)list.QtyOfxout,
                                     CPOrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(),
+                                    LPNNO = list.LPNNO,
+                                    OrinalLocation = list.OrinalLocation,
                                     Creater = "涓婃父WMS",
                                 };
                                 cPInboundOrderDetail.Add(cPInboundOrderDetail1);
@@ -1506,7 +1509,6 @@
                                 OrinalLocation = item.OrinalLocation,
                                 CPDetails = cPInboundOrderDetail
                             };
-
                             Dt_InboundOrder inboundOrder = new Dt_InboundOrder()
                             {
                                 OrderNo = model.AsnNo,
@@ -1544,10 +1546,10 @@
                     }
                     else
                     {
-                        if (item.SupplierBatch == null)
-                        {
-                            return content.Error("渚涘簲鍟嗘壒娆′笉鍙负绌�");
-                        }
+                        //if (item.SupplierBatch == null)
+                        //{
+                        //    return content.Error("渚涘簲鍟嗘壒娆′笉鍙负绌�");
+                        //}
                         Dt_InboundOrder inboundOrderOld = BaseDal.Db.Queryable<Dt_InboundOrder>().Where(x => x.UpperOrderNo == model.AsnNo).Includes(x => x.Details).First();
 
                         if (inboundOrderOld != null)
@@ -1974,119 +1976,119 @@
                 _unitOfWorkManage.BeginTran();
                 foreach (var item in houseReturnOrder)
                 {
-                    int randomNum = random.Next(1, 1000);
-                    string datePart = DateTime.Now.ToString("yyyyMMdd");
-                    Dt_ReturnOrder returnOrder = _returnOrderRepository.QueryFirst(x => x.LPNNo == item.LPNNo && x.OrderStatus == InOrderStatusEnum.鏈紑濮�.ObjToInt());
-                    if (returnOrder == null)
-                    {
-                        Dt_ReturnOrder newReturnOrder = new Dt_ReturnOrder
+                        int randomNum = random.Next(1, 1000);
+                        string datePart = DateTime.Now.ToString("yyyyMMdd");
+                        Dt_ReturnOrder returnOrder = _returnOrderRepository.QueryFirst(x => x.LPNNo == item.LPNNo && x.OrderStatus == InOrderStatusEnum.鏈紑濮�.ObjToInt());
+                        if (returnOrder == null)
                         {
-                            OrderType = OrderTypeEnum.鍙嶆嫞鍥炲簱鍗�.ObjToInt(),
-                            MaterielCode = item.MaterielCode,
-                            MaterielName = item.MaterielName,
+                            Dt_ReturnOrder newReturnOrder = new Dt_ReturnOrder
+                            {
+                                OrderType = OrderTypeEnum.鍙嶆嫞鍥炲簱鍗�.ObjToInt(),
+                                MaterielCode = item.MaterielCode,
+                                MaterielName = item.MaterielName,
                             MaterieSpec = item.MaterieSpec,
-                            BatchNo = item.BatchNo,
-                            OrderQuantity = item.OrderQuantity,
+                                BatchNo = item.BatchNo,
+                                OrderQuantity = item.OrderQuantity,
                             Remark = item.Remark,
-                            LinId = item.LinId,
-                            LPNNo = item.LPNNo,
+                                LinId = item.LinId,
+                                LPNNo = item.LPNNo,
                             LocationCode = item.LocationCode,
                             WarehouseCode = item.WarehouseCode,
                             System = item.System,
-                            OrderStatus = InOrderStatusEnum.鏈紑濮�.ObjToInt(),
-                            Creater = "SMOM",
-                            CreateDate = DateTime.Now
-                        };
-                        _returnOrderRepository.AddData(newReturnOrder);
-                        Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo, Dt_StockInfoDetail>((stock, detail) => stock.Id == detail.StockId).Where((stock, detail) => stock.PalletCode == item.LPNNo && stock.LocationCode == item.LocationCode).First();
-                        Dt_OutboundOrderDetail outboundOrderDetail = new Dt_OutboundOrderDetail();
-                        Dt_OutboundOrder outboundOrder = new Dt_OutboundOrder();
-                        if (stockInfo == null)
-                        {
-                            Dt_Warehouse warehouse = _warehouseService.Repository.QueryData(x => x.WarehouseCode == item.WarehouseCode).FirstOrDefault();
-                            if (warehouse == null)
-                            {
-                                return WebResponseContent.Instance.Error($"璇ヤ粨搴撶紪鍙穥item.WarehouseCode}鏈厤缃�");
-                            }
-                            Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail
-                            {
-                                MaterielCode = item.MaterielCode,
-                                MaterielName = item.MaterielName,
-                                MaterieSpec = item.MaterieSpec,
-                                BatchNo = item.BatchNo,
-                                LinId = item.LinId,
-                                Status = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(),
+                                OrderStatus = InOrderStatusEnum.鏈紑濮�.ObjToInt(),
                                 Creater = "SMOM",
-                                CreateDate = DateTime.Now,
-                                OrderNo = newReturnOrder.OrderNo,
-                                StockQuantity = item.OrderQuantity,
+                                CreateDate = DateTime.Now
                             };
-                            Dt_StockInfo stockInfo1 = new Dt_StockInfo
-                            {
-                                PalletCode = item.LPNNo,
-                                WarehouseId = warehouse.WarehouseId,
-                                BatchNo = item.BatchNo,
-                                PalletType = GetPalletType(warehouse, item.LPNNo),
-                                IsFull = true,
-                                StockStatus = (int)StockStatusEmun.鍙嶆嫞鍏ュ簱,
-                                Creater = "WMS",
-                                CreateDate = DateTime.Now,
-                                MaterialType = (int)InventoryMaterialType.鍘熸潗鏂�,
-                                Materialweight = 0,
-                                Wlstatus = (int)InventoryMaterialStatus.鍚堟牸,
-                                Mgeneratetime = DateTime.Now,
-                                Details = new List<Dt_StockInfoDetail> { stockInfoDetail }
-                            };
-                            Db.InsertNav(stockInfo1).Include(x => x.Details).ExecuteCommand();
+                            _returnOrderRepository.AddData(newReturnOrder);
+                        Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo, Dt_StockInfoDetail>((stock, detail) => stock.Id == detail.StockId).Where((stock, detail) => stock.PalletCode == item.LPNNo && stock.LocationCode == item.LocationCode).First();
+                                Dt_OutboundOrderDetail outboundOrderDetail = new Dt_OutboundOrderDetail();
+                                Dt_OutboundOrder outboundOrder = new Dt_OutboundOrder();
+                                if (stockInfo == null)
+                                {
+                            Dt_Warehouse warehouse = _warehouseService.Repository.QueryData(x => x.WarehouseCode == item.WarehouseCode).FirstOrDefault();
+                                    if (warehouse == null)
+                                    {
+                                return WebResponseContent.Instance.Error($"璇ヤ粨搴撶紪鍙穥item.WarehouseCode}鏈厤缃�");
+                                    }
+                                    Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail
+                                    {
+                                        MaterielCode = item.MaterielCode,
+                                        MaterielName = item.MaterielName,
+                                MaterieSpec = item.MaterieSpec,
+                                        BatchNo = item.BatchNo,
+                                        LinId = item.LinId,
+                                        Status = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(),
+                                        Creater = "SMOM",
+                                        CreateDate = DateTime.Now,
+                                        OrderNo = newReturnOrder.OrderNo,
+                                        StockQuantity = item.OrderQuantity,
+                                    };
+                                    Dt_StockInfo stockInfo1 = new Dt_StockInfo
+                                    {
+                                        PalletCode = item.LPNNo,
+                                        WarehouseId = warehouse.WarehouseId,
+                                        BatchNo = item.BatchNo,
+                                        PalletType = GetPalletType(warehouse, item.LPNNo),
+                                        IsFull = true,
+                                        StockStatus = (int)StockStatusEmun.鍙嶆嫞鍏ュ簱,
+                                        Creater = "WMS",
+                                        CreateDate = DateTime.Now,
+                                        MaterialType = (int)InventoryMaterialType.鍘熸潗鏂�,
+                                        Materialweight = 0,
+                                        Wlstatus = (int)InventoryMaterialStatus.鍚堟牸,
+                                        Mgeneratetime = DateTime.Now,
+                                        Details = new List<Dt_StockInfoDetail> { stockInfoDetail }
+                                    };
+                                    Db.InsertNav(stockInfo1).Include(x => x.Details).ExecuteCommand();
+                                }
+                                else
+                                {
+                                    outboundOrderDetail = new Dt_OutboundOrderDetail
+                                    {
+                                        MaterielCode = item.MaterielCode,
+                                        MaterielName = item.MaterielName,
+                                MaterieSpec = item.MaterieSpec,
+                                        BatchNo = item.BatchNo,
+                                        OrderQuantity = stockInfo.Details.Sum(x => x.StockQuantity),
+                                Remark = item.Remark,
+                                        LinId = item.LinId,
+                                        LPNNo = item.LPNNo,
+                                        Creater = "SMOM",
+                                        CreateDate = DateTime.Now,
+                                LocationName = item.LocationCode
+                                    };
+                                    outboundOrder = new Dt_OutboundOrder
+                                    {
+                                        OrderNo = "FJCK" + $"{datePart}{randomNum}",
+                                        UpperOrderNo = "WMSFJCK" + $"{datePart}{randomNum}",
+                                        OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
+                                        OrderType = OrderTypeEnum.鍙嶆嫞鍑哄簱鍗�.ObjToInt(),
+                                        InoutType = InoutTypeEnum.OtherOut.ToString(),
+                                System = item.System,
+                                        Creater = "SMOM",
+                                        CreateDate = DateTime.Now,
+                                        CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
+                                        Details = new List<Dt_OutboundOrderDetail> { outboundOrderDetail }
+                                    };
+                                    Db.InsertNav(outboundOrder).Include(x => x.Details).ExecuteCommand();
+                                }
+
                         }
                         else
                         {
-                            outboundOrderDetail = new Dt_OutboundOrderDetail
-                            {
-                                MaterielCode = item.MaterielCode,
-                                MaterielName = item.MaterielName,
-                                MaterieSpec = item.MaterieSpec,
-                                BatchNo = item.BatchNo,
-                                OrderQuantity = stockInfo.Details.Sum(x => x.StockQuantity),
-                                Remark = item.Remark,
-                                LinId = item.LinId,
-                                LPNNo = item.LPNNo,
-                                Creater = "SMOM",
-                                CreateDate = DateTime.Now,
-                                LocationName = item.LocationCode
-                            };
-                            outboundOrder = new Dt_OutboundOrder
-                            {
-                                OrderNo = "FJCK" + $"{datePart}{randomNum}",
-                                UpperOrderNo = "WMSFJCK" + $"{datePart}{randomNum}",
-                                OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
-                                OrderType = OrderTypeEnum.鍙嶆嫞鍑哄簱鍗�.ObjToInt(),
-                                InoutType = InoutTypeEnum.OtherOut.ToString(),
-                                System = item.System,
-                                Creater = "SMOM",
-                                CreateDate = DateTime.Now,
-                                CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
-                                Details = new List<Dt_OutboundOrderDetail> { outboundOrderDetail }
-                            };
-                            Db.InsertNav(outboundOrder).Include(x => x.Details).ExecuteCommand();
-                        }
-
-                    }
-                    else
-                    {
-                        Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo, Dt_StockInfoDetail>((stock, detail) => stock.Id == detail.StockId).Where((stock, detail) => stock.PalletCode == item.LPNNo && stock.StockStatus == StockStatusEmun.浣欐枡閫�搴�.ObjToInt()).First();
-                        stockInfo.StockStatus = StockStatusEmun.鍙嶆嫞鍏ュ簱.ObjToInt();
-                        returnOrder.LinId = item.LinId;
+                            Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo, Dt_StockInfoDetail>((stock, detail) => stock.Id == detail.StockId).Where((stock, detail) => stock.PalletCode == item.LPNNo && stock.StockStatus == StockStatusEmun.浣欐枡閫�搴�.ObjToInt()).First();
+                            stockInfo.StockStatus = StockStatusEmun.鍙嶆嫞鍏ュ簱.ObjToInt();
+                            returnOrder.LinId = item.LinId;
                         returnOrder.System = item.System;
                         returnOrder.WarehouseCode = item.WarehouseCode;
                         returnOrder.LocationCode = item.LocationCode;
-                        returnOrder.OrderType = OrderTypeEnum.鍙嶆嫞鍥炲簱鍗�.ObjToInt();
-                        returnOrder.OrderQuantity += item.OrderQuantity;
-                        returnOrder.ReceiptQuantity += item.OrderQuantity;
-                        _returnOrderRepository.UpdateData(returnOrder);
-                        _stockRepository.StockInfoRepository.UpdateData(stockInfo);
+                            returnOrder.OrderType = OrderTypeEnum.鍙嶆嫞鍥炲簱鍗�.ObjToInt();
+                            returnOrder.OrderQuantity += item.OrderQuantity;
+                            returnOrder.ReceiptQuantity += item.OrderQuantity;
+                            _returnOrderRepository.UpdateData(returnOrder);
+                            _stockRepository.StockInfoRepository.UpdateData(stockInfo);
 
-                    }
+                        }
                 }
                 _unitOfWorkManage.CommitTran();
                 return WebResponseContent.Instance.OK();

--
Gitblit v1.9.3