From 5d756f53f07880dc8b7ba0bc9f060b9e94d4b25e Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期三, 05 十一月 2025 18:08:34 +0800
Subject: [PATCH] 修改人工入库完成和wcs小车问题

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs |   93 ++++++++++------------------------------------
 1 files changed, 20 insertions(+), 73 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
index d1f49e4..4a549b5 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
@@ -240,8 +240,8 @@
                     List<Dt_SupplyTask> supplyTasks = new List<Dt_SupplyTask>();
                     List<Dt_Inventory_Batch> batchesUp = new List<Dt_Inventory_Batch>();
                     List<Dt_InventoryInfo> inventoryInfosUp = new List<Dt_InventoryInfo>();
-                    var inventory_Batchs = _inventory_BatchServices.Repository.QueryData(x => entityOrder.Details.Select(e => e.Goods_no).Contains(x.MaterielCode));
-                    var InventoryInfos = _inventoryInfoService.Repository.QueryData(x => entityOrder.Details.Select(e => e.Goods_no).Contains(x.MaterielCode) && x.StockStatus == StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt() && x.AvailableQuantity > 0 && x.WarehouseCode == outorder.warehouse_no);
+                    var inventory_Batchs = _inventory_BatchServices.Repository.QueryData(x => entityOrder.Details.Select(e => e.Goods_no).Contains(x.MaterielCode)).ToList();
+                    var InventoryInfos = _inventoryInfoService.Repository.QueryData(x => entityOrder.Details.Select(e => e.Goods_no).Contains(x.MaterielCode) && x.StockStatus == StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt() && x.AvailableQuantity > 0 && x.WarehouseCode == outorder.warehouse_no).ToList();
                     foreach (var item in entityOrder.Details)
                     {
                         Dt_Inventory_Batch? inventory_Batch = inventory_Batchs.Where(x => x.MaterielCode == item.Goods_no && x.BatchNo == item.Batch_num).FirstOrDefault();
@@ -317,7 +317,7 @@
                     _supplyTaskService.AddData(supplyTasks);
                     _inventory_BatchServices.UpdateData(batchesUp);
                     _inventoryInfoService.UpdateData(inventoryInfosUp);
-                    BaseDal.Db.CopyNew().InsertNav(entityOrder).Include(x => x.Details).ExecuteCommand();
+                    BaseDal.Db.InsertNav(entityOrder).Include(x => x.Details).ExecuteCommand();
                     _unitOfWorkManage.CommitTran();
                     #endregion
                 }
@@ -570,7 +570,7 @@
                                 #region 娣诲姞鍑哄簱浠诲姟銆佷慨鏀瑰簱瀛樹俊鎭�
                                 Dt_InventoryInfo? inventoryInfo = dt_InventoryInfos.FirstOrDefault(x => x.WarehouseCode == WareCodeLK);
                                 if (inventoryInfo == null)
-                                    throw new Exception($"鏈壘鍒扮墿鏂欑紪鍙枫�恵detail.goods_no}銆戠墿鏂欐壒娆°�恵detail.batch_num}銆戝湪绔嬪簱涓殑搴撳瓨淇℃伅锛涙墍闇�鏁伴噺銆恵orderDetailLK.Order_qty}銆戣琛ヨ揣");
+                                    throw new Exception($"鍑哄簱鍗曘�恵outorder.order_no}銆戣鎯呭瓨鍦ㄦ暎浠�,鐗╂枡缂栧彿銆恵detail.goods_no}銆戠墿鏂欐壒娆°�恵detail.batch_num}銆戞墍闇�鏁伴噺銆恵Convert.ToInt32(orderDetailLK.Order_qty)}銆戣浜哄伐璋冩嫧琛ヨ揣鍏ョ珛搴�");
                                 inventoryInfo.AvailableQuantity -= orderDetailLK.Order_qty;
                                 inventoryInfo.OutboundQuantity += orderDetailLK.Order_qty;
                                 Dt_SupplyTask supplyTask = new Dt_SupplyTask()
@@ -610,9 +610,9 @@
                         _inventory_BatchServices.UpdateData(batchesUp);
                         _inventoryInfoService.UpdateData(inventoryInfosUp);
                         if (entityOrder.Details.Count > 0)
-                            BaseDal.Db.CopyNew().InsertNav(entityOrder).Include(x => x.Details).ExecuteCommand();
+                            BaseDal.Db.InsertNav(entityOrder).Include(x => x.Details).ExecuteCommand();
                         if (entityOrderLK.Details.Count > 0)
-                            BaseDal.Db.CopyNew().InsertNav(entityOrderLK).Include(x => x.Details).ExecuteCommand();
+                            BaseDal.Db.InsertNav(entityOrderLK).Include(x => x.Details).ExecuteCommand();
                         _unitOfWorkManage.CommitTran();
                     }
                     catch (Exception ex)
@@ -947,70 +947,6 @@
         #endregion
 
 
-        //鐩樼偣 鎷挎暣涓壒娆′俊鎭〃鐨勫晢鍝佹壒鍙峰拰鍟嗗搧缂栧彿鏉ヨ繘琛岀洏鐐�
-        public WebResponseContent InventoryGood(string batchNo, string goodsNo)
-        {
-            var response = new WebResponseContent();
-            try
-            {
-                // 1锔忊儯 鏌ユ壘鎸囧畾鎵规涓庣墿鏂欑殑搴撳瓨淇℃伅
-                var batchInfo = BaseDal.Db.CopyNew().Queryable<Dt_Inventory_Batch>()
-                    .Where(x => x.BatchNo == batchNo && x.MaterielCode == goodsNo)
-                    .First();
-
-                if (batchInfo == null)
-                    return response.Error($"鏈壘鍒拌鐗╂枡 [{goodsNo}] 鎵规 [{batchNo}] 鐨勫簱瀛樹俊鎭�");
-
-                // 2锔忊儯 缁勮璇锋眰 DTO锛堝畬鍏ㄧ鍚堟帴鍙f枃妗g粨鏋勶級
-                var ediDto = new TowcsDto.ToediOutInfo
-                {
-                    customerCode = "905",
-                    materialCode = "YY",                              // 鐗╂枡绫诲瀷CODE
-                    externalOrderNo = $"PDCK-{batchInfo.Id}",          // 澶栭儴鍑哄簱鍗曞彿
-                    outOrderType = "20",                               // 鐩樼偣鍑哄簱鍗�
-                    priority = 1,
-                    Is_cancel = 0,
-                    details = new List<TowcsDto.ToeOutdiInDetail>
-            {
-                new TowcsDto.ToeOutdiInDetail
-                {
-                    batchNo = batchInfo.BatchNo,
-                    productCode = batchInfo.MaterielCode,
-                    productName = batchInfo.MaterielName,
-                    productSpecifications = batchInfo.MaterielSpec,
-                    quantity = (int)batchInfo.SupplyQuantity,
-                    //stocktakingDetails = new List<TowcsDto.ToOutediInStock>
-                    //{
-                    //    // 鐩樼偣鏄庣粏鍙牴鎹疄闄呮墭鐩樻媶鍒嗭紱姝ゅ绀轰緥浠�1鏉�
-                    //    new TowcsDto.ToOutediInStock
-                    //    {
-                    //        palletCode = "FC00001",
-                    //        quantity = batchInfo.SupplyQuantity.ToString()
-                    //    }
-                    //}
-                }
-            }
-                };
-
-                // 3锔忊儯 璋冪敤鎺ュ彛
-                string url = "http://172.16.1.2:9357/file-admin/api/out/ediOut";
-                var result = HttpHelper.Post(url, ediDto.ToJsonString());
-                var resp = JsonConvert.DeserializeObject<TowcsDto.TowcsResponse<object>>(result);
-
-                // 4锔忊儯 鍝嶅簲澶勭悊
-                if (resp == null)
-                    return response.Error("WCS 鏃犲搷搴�");
-                if (resp.code != "0")
-                    return response.Error($"WCS杩斿洖澶辫触: {resp.msg}");
-
-                return response.OK("鐩樼偣鍑哄簱涓嬪彂鎴愬姛");
-            }
-            catch (Exception ex)
-            {
-                return response.Error("鐩樼偣澶辫触锛�" + ex.Message);
-            }
-        }
-
 
         /// <summary>
         /// 鏌ヨ鍑哄簱鍗曞垪琛�
@@ -1092,6 +1028,8 @@
             }
             return content;
         }
+
+       
         public WebResponseContent OutTaskFinish(Dt_SupplyTask supplyTask, Dt_DeliveryOrder deliveryOrder)
         {
             WebResponseContent content = new WebResponseContent();
@@ -1140,7 +1078,7 @@
                     _inventory_BatchServices.DeleteData(inventory_Batch);
                 else
                     _inventory_BatchServices.UpdateData(inventory_Batch);
-                _materielInfoService.UpdateData(materielInfo);
+                //_materielInfoService.UpdateData(materielInfo);
                 if (inventoryInfo.StockQuantity <= 0)
                     _inventoryInfoService.DeleteData(inventoryInfo);
                 else
@@ -1157,7 +1095,15 @@
                 {
                     materielInfo.Business_qty -= supplyTask.StockQuantity;
                     if (materielInfo.Business_qty < materielInfo.MinQty)
+                    {
                         CreateAllocatInOut(materielInfo);//鍒涘缓璋冩嫧浠诲姟
+                    }
+                    else
+                    {
+                        _materielInfoService.UpdateData(materielInfo);
+                    }
+                       
+
                 }
                 #endregion
                 _unitOfWorkManage.CommitTran();
@@ -1171,12 +1117,13 @@
             }
             return content;
         }
+
         public WebResponseContent OutTaskFinish(Dt_SupplyTask supplyTask)
         {
             WebResponseContent content = new WebResponseContent();
             try
             {
-                Dt_DeliveryOrder? cabinOrder = BaseDal.Db.CopyNew().Queryable<Dt_DeliveryOrder>().Where(x => x.Out_no == supplyTask.OrderNo && x.Warehouse_no == supplyTask.WarehouseCode).Includes(x => x.Details).First();
+                Dt_DeliveryOrder? cabinOrder = BaseDal.Db.Queryable<Dt_DeliveryOrder>().Where(x => x.Out_no == supplyTask.OrderNo && x.Warehouse_no == supplyTask.WarehouseCode).Includes(x => x.Details).First();
                 if (cabinOrder == null) return WebResponseContent.Instance.OK($"鍑哄簱鍗曞凡瀹屾垚");
 
                 Dt_DeliveryOrderDetail? cabinOrderDetail = cabinOrder.Details.Where(x => x.Batch_num == supplyTask.BatchNo && x.Reservoirarea == supplyTask.WarehouseCode && x.Goods_no == supplyTask.MaterielCode).FirstOrDefault();
@@ -1200,7 +1147,7 @@
                     //_deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(cabinOrderDetail, OperateTypeEnum.鑷姩瀹屾垚);
                 }
                 _deliveryOrderDetailServices.Repository.UpdateData(cabinOrderDetail);
-                var cabinOrder1 = BaseDal.Db.CopyNew().Queryable<Dt_DeliveryOrder>().Where(x => x.Out_no == cabinOrder.Out_no && x.Warehouse_no == supplyTask.WarehouseCode && x.Out_type != "20").Includes(x => x.Details).First();
+                var cabinOrder1 = BaseDal.Db.Queryable<Dt_DeliveryOrder>().Where(x => x.Out_no == cabinOrder.Out_no && x.Warehouse_no == supplyTask.WarehouseCode && x.Out_type != "20").Includes(x => x.Details).First();
                 if (!cabinOrder1.Details.Where(x => x.OotDetailStatus != "宸插畬鎴�").Any())
                     cabinOrder.OutStatus = "宸插畬鎴�";
                 Repository.UpdateData(cabinOrder);

--
Gitblit v1.9.3