1
yangpeixing
2026-04-01 f1bf3ef09713182d434e22dfd8623ea73e02d6d3
WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -617,7 +617,7 @@
                                return WebResponseContent.Instance.Error($"未找到对应的入库单明细");
                            }
                            // 更新入库单明细状态
                            // 更新入库单明细状态
                            foreach (var inboundOrderDetail in inboundOrderDetails)
                            {
                                // 检查该明细是否已全部入库
@@ -1431,7 +1431,7 @@
            _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(
                stockInfo, stockInfo.Details,
                stockInfo.Details.Sum(x => x.StockQuantity),
                0,
                stockInfo.Details.Sum(x => x.StockQuantity),
                StockChangeType.Inbound, task.TaskNum);
        }
@@ -2275,7 +2275,11 @@
                        {
                            Dt_OutboundOrderDetail outboundOrderDetail = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrderDetail>()
                           .Where(x => x.OrderId == inboundOrder.Id && x.BatchNo == detail.BatchNo).First();
                            outboundOrderDetails.Add(outboundOrderDetail);
                            if (outboundOrderDetail != null)
                            {
                                outboundOrderDetails.Add(outboundOrderDetail);
                            }
                        }
                        for (var i = 0; i < outboundOrderDetails.Count; i++)
@@ -2484,6 +2488,7 @@
                // 添加状态变更记录
                AddStatusChangeRecord(task, stockInfo, locationInfo);
                // 根据订单类型处理不同逻辑
                var outboundOrder = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrder>()
@@ -2559,12 +2564,11 @@
        private void DWANDYSUpdateOutboundOrderDetails(Dt_StockInfo stockInfo, Dt_OutboundOrder inboundOrder, ref List<Dt_OutboundOrderDetail> inboundOrderDetails)
        {
            List<Dt_OutboundOrderDetail> newOutboundOrderDetails = inboundOrderDetails;
            int overCount = inboundOrder.Details.Count(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt());
            int CompeletedNum = inboundOrder.Details.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()).Count();
            foreach (var newOutboundOrderDetail in newOutboundOrderDetails)
            {
                string BatchNo = newOutboundOrderDetail.BatchNo;
                //inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.BatchNo == stockInfo.Details.FirstOrDefault()?.BatchNo&&x.LPNNo==stockInfo.PalletCode);
                foreach (var item in stockInfo.Details)
                {
                    if (newOutboundOrderDetail == null) continue;
@@ -2578,16 +2582,17 @@
                        if (newOutboundOrderDetail.OverOutQuantity == newOutboundOrderDetail.OrderQuantity)
                        {
                            newOutboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt();
                            overCount++;
                            CompeletedNum++;
                        }
                        else if (newOutboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
                        {
                            newOutboundOrderDetail.OrderDetailStatus = OutboundStatusEnum.出库中.ObjToInt();
                            inboundOrder.OrderStatus = OutboundStatusEnum.出库中.ObjToInt();
                        }
                    }
                }
                if (inboundOrder.Details.Count() == overCount)
                if (inboundOrder.Details.Count == CompeletedNum)
                {
                    inboundOrder.OrderStatus = OutboundStatusEnum.出库完成.ObjToInt();
                }
@@ -2623,6 +2628,12 @@
                StockChangeType.Outbound.ObjToInt(),
                stockInfo.Details.FirstOrDefault()?.OrderNo ?? "",
                task.TaskNum);
            _recordService.StockQuantityChangeRecordService.NEWAddStockChangeRecord(
                stockInfo, stockInfo.Details,
                stockInfo.Details.Sum(x => x.StockQuantity),
                stockInfo.Details.Sum(x => x.OutboundQuantity),
                StockChangeType.Outbound, task.TaskNum);
        }
        private void ProcessNormalOutbound(Dt_Task task, Dt_StockInfo stockInfo,