From 3212f32acdce5938956131ecfb530e361250f82f Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期六, 25 十月 2025 18:51:56 +0800
Subject: [PATCH] 优化出入库流程、盘点流程

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs"
index b0dc294..51aa0b1 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs"
@@ -9,6 +9,7 @@
 using WIDESEA_Common.OrderEnum;
 using WIDESEA_Common.StockEnum;
 using WIDESEA_Common.TaskEnum;
+using WIDESEA_Common.WareHouseEnum;
 using WIDESEA_Core;
 using WIDESEA_ISquareCabinServices;
 using WIDESEA_Model.Models;
@@ -18,7 +19,7 @@
 {
     public partial class DeliveryOrderServices
     {
-        #region 鍒涘缓骞冲簱璋冩嫧鍑哄簱鍗曘�佺珛搴撹皟鎷ㄥ叆搴撳崟
+        #region 鍒涘缓骞冲簱璋冩嫧鍑哄簱鍗曘�佺珛搴撹皟鎷ㄥ叆搴撳崟  鍦ㄧ珛搴撳嚭搴撳畬鎴愬悗璋冪敤  鍦ㄥ嚭搴撳畬鎴愬悗灏嗙墿鏂欒〃涓殑涓氬姟鏁伴噺锛圔usiness_qty锛夊噺鍘诲疄闄呭嚭搴撴暟閲�
         /// <summary>
         /// 鍒涘缓璋冩嫧鍗�
         /// </summary>
@@ -29,8 +30,15 @@
             WebResponseContent response = new WebResponseContent();
             try
             {
+                string WareCode = WarehouseEnum.澶т欢搴�.ObjToInt().ToString("000");
+                if (materielInfo.Business_qty >= materielInfo.MinQty) return response;
+                Dt_Tactics tactics = _tacticsService.Repository.QueryFirst(x => x.TacticeName == "鍑哄簱绛栫暐");
                 List<Dt_SupplyTask> supplyTasks = new List<Dt_SupplyTask>();
-                List<Dt_InventoryInfo> dt_InventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.MaterielCode == materielInfo.MaterielCode && x.StockStatus == StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt() && x.StockQuantity > x.OutboundQuantity && x.WarehouseCode != "001").OrderBy(x => x.InDate).ToList();
+                List<Dt_InventoryInfo> dt_InventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.MaterielCode == materielInfo.MaterielCode && x.StockStatus == StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt() && x.StockQuantity > x.OutboundQuantity && x.WarehouseCode == WareCode);
+                if (tactics.SelectTactice == TacticsEnum.ComeOutonFirstTime.ObjToInt())
+                    dt_InventoryInfos = dt_InventoryInfos.OrderBy(x => x.ValidityPeriod).ToList();
+                else
+                    dt_InventoryInfos = dt_InventoryInfos.OrderBy(x => x.InDate).ToList();
                 decimal Qty = 0;
                 foreach (var item in dt_InventoryInfos)
                 {
@@ -42,8 +50,11 @@
                         materielInfo.Business_qty += materielInfo.BoxQty;
                         item.OutboundQuantity += materielInfo.BoxQty;
                     }
+                    item.AvailableQuantity = item.StockQuantity - item.OutboundQuantity;
                 }
+                #region 澶т欢搴撹ˉ绔嬪簱鍚庣珛搴撲笟鍔″簱瀛樻暟杩樻槸灏忎簬绔嬪簱鏈�灏忓簱瀛樻暟锛屾坊鍔犳彁绀轰俊鎭�
 
+                #endregion
                 #region 娣诲姞璋冩嫧鍑哄簱鍗�
                 Dt_DeliveryOrder deliveryOrder = new Dt_DeliveryOrder()
                 {
@@ -112,7 +123,6 @@
                         Reservoirarea = cabinOrder.Warehouse_no,
                         Goods_no = item.Goods_no,
                         Order_qty = item.Order_qty,
-                        Order_Inqty = item.Order_qty,
                         Batch_num = item.Batch_num,
                         OrderDetailStatus = "鏂板缓",
                         Status = 0
@@ -122,6 +132,7 @@
                 #endregion
 
                 _unitOfWorkManage.BeginTran();
+                _basicService.MaterielInfoService.Repository.UpdateData(materielInfo);
                 _inventoryInfoService.Repository.UpdateData(dt_InventoryInfos);
                 _supplyTaskService.AddData(supplyTasks);
                 BaseDal.Db.InsertNav(deliveryOrder).Include(x => x.Details).ExecuteCommand();

--
Gitblit v1.9.3