From 2f8fc989f339a936b01092caebd4c46e6109da1b Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期二, 16 十二月 2025 11:29:37 +0800
Subject: [PATCH] 代码提交

---
 WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
index 5166513..52c6eee 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
@@ -203,11 +203,11 @@
                 }
                 else
                 {
-                    if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt())
-                    {
-                        return WebResponseContent.Instance.Error($"鎵樼洏鍙烽噸澶�");
-                    }
-                    beforeQuantity = stockInfo.Details.Sum(x => x.StockQuantity);
+                    //if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt())
+                    //{
+                        return WebResponseContent.Instance.Error($"鎵樼洏鍙烽噸澶�,璇ユ墭鐩樺凡缁勮繃鐗╂枡");
+                    //}
+                    //beforeQuantity = stockInfo.Details.Sum(x => x.StockQuantity);
                 }
 
                 if (warehouse.WarehouseCode == WarehouseEnum.SC01_BC.ToString())
@@ -438,9 +438,10 @@
                     
                     if (inboundOrderOld != null)
                     {
-                        if (inboundOrderOld.OrderStatus != OrderDetailStatusEnum.New.ObjToInt())
+                        if (inboundOrderOld.OrderStatus == InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt())
                         {
-                            return content.Error($"{model.AsnNo}鍗曟嵁宸插紑濮�!");
+                            inboundOrderOld.OrderStatus = InOrderStatusEnum.鍏ュ簱涓�.ObjToInt();
+                            _inboundRepository.InboundOrderRepository.UpdateData(inboundOrderOld);
                         }
                         Dt_InboundOrderDetail orderDetail1 = BaseDal.Db.Queryable<Dt_InboundOrderDetail>().Where(x => x.OrderId == inboundOrderOld.Id).First();
                         Dt_InboundOrderDetail? inboundOrderDetailOld = inboundOrderOld.Details?.FirstOrDefault(x => x.LinId == item.LinId && x.MaterielCode == item.MaterielCode);
@@ -809,12 +810,23 @@
                         .Db.Queryable<Dt_InboundOrderDetail>()
                         .Where(d => d.OrderId == inboundOrder.Id)
                         .Count();
-
+                    //妫�鏌ユ槑缁嗗畬鎴愮殑涓暟
+                    int overCount  = _inboundRepository.InboundOrderDetailRepository
+                        .Db.Queryable<Dt_InboundOrderDetail>()
+                        .Where(d => d.OrderId == inboundOrder.Id && d.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt())
+                        .Count();
                     // 濡傛灉娌℃湁鍓╀綑鏄庣粏锛屽啀鍒犻櫎涓昏鍗�
                     if (remainingDetailsCount == 0)
                     {
                         _inboundRepository.InboundOrderRepository.DeleteAndMoveIntoHty(inboundOrder, OperateType.浜哄伐鍙栨秷);
                     }
+                    //濡傛灉鍙栨秷浠ュ悗鏄庣粏宸茬粡鍏ㄩ儴瀹屾垚
+                    if (remainingDetailsCount == overCount) 
+                    {
+                        inboundOrder.OrderStatus = InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt();
+                        _inboundRepository.InboundOrderRepository.UpdateData(inboundOrder);
+                    }
+
 
                     _unitOfWorkManage.CommitTran();
                     return WebResponseContent.Instance.OK();

--
Gitblit v1.9.3