From 8344f9ceac01f8dd87c22efecf2b20bdcb6b0a56 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期五, 14 十一月 2025 23:27:49 +0800
Subject: [PATCH] 优化盘点以及人工入库进行校正

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

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
index 4e97b26..3745236 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
@@ -142,6 +142,15 @@
                 cabinOrderDetail.Order_Inqty += Inqty;
                 if (cabinOrderDetail.Order_Inqty > cabinOrderDetail.Order_qty)
                     return WebResponseContent.Instance.Error($"鍏ュ簱鏁伴噺涓嶅彲瓒呭嚭鍗曟嵁鏁伴噺");
+                //澶т欢搴撴暣绠辨牎楠�
+                if (warehouseCode == WarehouseEnum.澶т欢搴�.ObjToInt().ToString("000"))
+                {
+                    var BoxRule = materielInfo.BoxQty;
+                    if (BoxRule > 0 && Inqty % BoxRule != 0)
+                    {
+                        return WebResponseContent.Instance.Error($"澶т欢搴撳彧鍏佽瀛樻斁鏁寸璐х墿锛佸綋鍓嶅叆搴撴暟閲� {Convert.ToInt32(Inqty)} 涓嶆槸绠辫 {Convert.ToInt32(BoxRule)} 鐨勬暣鏁板��");
+                    }
+                }
 
                 #region 澶勭悊鍏ュ簱鍗曪紝璐т綅锛屽簱瀛橈紝搴撳瓨鎵规淇℃伅
                 _unitOfWorkManage.BeginTran();
@@ -162,6 +171,7 @@
                 #region 璐т綅
                 var location = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == LocationCode);
                 if (location == null) return WebResponseContent.Instance.Error($"璇风淮鎶よ揣浣嶇紪鍙枫�恵LocationCode}銆戠殑璐т綅淇℃伅");
+              
                 //if (location.EnableStatus == EnableStatusEnum.Disable.ObjToInt())
                 //    return WebResponseContent.Instance.Error($"璐т綅缂栧彿銆恵LocationCode}銆戝凡绂佺敤锛岃鎭㈠姝e父鍐嶄娇鐢�");
                 if (location.WarehouseCode != cabinOrderDetail.Reservoirarea)
@@ -321,6 +331,16 @@
             {
                 string WareCodeMJ = WarehouseEnum.楹荤簿搴�.ObjToInt().ToString("000");
                 string WareCodeLD = WarehouseEnum.鍐峰喕搴�.ObjToInt().ToString("000");
+                #region 妫�鏌ユ槸鍚︽湁鏈畬鎴愮殑鐩樼偣浠诲姟
+                var dt_bath = _inventory_BatchServices.Repository.QueryData(x => order.details.Select(d => d.goods_no).Contains(x.MaterielCode)).ToList();
+                if (dt_bath.Count>=1)
+                {
+                    foreach (var item in dt_bath)
+                    {
+                        if (item.SupplyQuantity > 0) throw new Exception($"鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵dt_bath[0].MaterielCode}銆戝瓨鍦ㄦ湭瀹屾垚鐨勭洏鐩堝叆搴撲换鍔★紝璇峰鐞嗗畬鎴愬悗鍐嶈繘琛屾甯稿叆搴撴搷浣�");
+                    }
+                } 
+                #endregion
                 List<Dt_CabinOrder> dt_CabinOrders = new List<Dt_CabinOrder>();
                 #region 鐗规畩鑽搧鍏ョ壒娈婂簱鎴�
                 if (order.warehouse_no == WareCodeMJ || order.warehouse_no == WareCodeLD)

--
Gitblit v1.9.3