From 9019e026ccb5f8374119e8cb3a651ded054d3251 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期日, 30 十一月 2025 11:14:48 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
index 84ab0f8..b61f470 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
@@ -53,6 +53,10 @@
         private readonly IESSApiService _eSSApiService;
         private readonly IInvokeMESService _invokeMESService;
         private readonly IDailySequenceService _dailySequenceService;
+        private readonly IAllocateService _allocateService;
+        private readonly IRepository<Dt_InboundOrder> _inboundOrderRepository;
+        private readonly IInboundOrderDetailService _inboundOrderDetailService;
+
 
         private readonly ILogger<OutboundPickingService> _logger;
 
@@ -73,7 +77,7 @@
         public OutboundPickingService(IRepository<Dt_PickingRecord> BaseDal, IUnitOfWorkManage unitOfWorkManage, IStockInfoService stockInfoService, IStockService stockService,
             IOutStockLockInfoService outStockLockInfoService, IStockInfoDetailService stockInfoDetailService, ILocationInfoService locationInfoService,
             IOutboundOrderDetailService outboundOrderDetailService, ISplitPackageService splitPackageService, IOutboundOrderService outboundOrderService,
-            IRepository<Dt_Task> taskRepository, IESSApiService eSSApiService, ILogger<OutboundPickingService> logger, IInvokeMESService invokeMESService, IDailySequenceService dailySequenceService) : base(BaseDal)
+            IRepository<Dt_Task> taskRepository, IESSApiService eSSApiService, ILogger<OutboundPickingService> logger, IInvokeMESService invokeMESService, IDailySequenceService dailySequenceService, IAllocateService allocateService, IRepository<Dt_InboundOrder> inboundOrderRepository,IInboundOrderDetailService inboundOrderDetailService) : base(BaseDal)
         {
             _unitOfWorkManage = unitOfWorkManage;
             _stockInfoService = stockInfoService;
@@ -89,6 +93,9 @@
             _logger = logger;
             _invokeMESService = invokeMESService;
             _dailySequenceService = dailySequenceService;
+            _allocateService = allocateService;
+            _inboundOrderRepository = inboundOrderRepository;
+            _inboundOrderDetailService = inboundOrderDetailService;
         }
 
 
@@ -2453,7 +2460,7 @@
                    return WebResponseContent.Instance.Error($"鍑哄簱鍗曟槑缁嗘暟閲忔孩鍑簕matchedCode.LockQuantity - matchedCode.OrderQuantity}");
                 }
                 matchedDetail.OrderDetailStatus = OrderDetailStatusEnum.Inbounding.ObjToInt();
-                matchedCode.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
+                matchedCode.OrderDetailStatus = OrderDetailStatusEnum.AssignOver.ObjToInt();
 
                 _unitOfWorkManage.BeginTran();
                 _inboundOrderDetailService.UpdateData(matchedDetail);
@@ -2486,6 +2493,11 @@
                 }
                 matchedDetail.NoStockOutQty = 0;
 
+                if(matchedDetail.ReceiptQuantity==0 && matchedDetail.OverInQuantity==0)
+                {
+                    matchedDetail.OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt();
+                }
+
                 Dt_OutboundOrder outboundOrder = Db.Queryable<Dt_OutboundOrder>().Where(x => x.UpperOrderNo == noStockOut.outOder && x.OrderStatus != OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt()).Includes(x => x.Details).First();
                 if (outboundOrder == null)
                 {
@@ -2498,6 +2510,10 @@
                     return WebResponseContent.Instance.Error($"鍦ㄥ嚭搴撳崟鐨勭墿鏂欑紪鐮佷腑鏈壘鍒颁笌閲囪喘鍗曚腑鐨剓matchedDetail.MaterielCode} 瀵瑰簲鐨勭墿鏂欍��");
                 }
                 matchedCode.NoStockOutQty = 0;
+                if (matchedCode.LockQuantity == 0 && matchedCode.OverOutQuantity == 0)
+                {
+                    matchedCode.OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt();
+                }
                 _unitOfWorkManage.BeginTran();
                 _inboundOrderDetailService.UpdateData(matchedDetail);
                 _outboundOrderDetailService.UpdateData(matchedCode);

--
Gitblit v1.9.3