1
hutongqing
2025-01-19 53057cc533632e7f7ddf671bf6f7a26a3de444c1
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs
@@ -622,9 +622,15 @@
                        stockInfo.PalletType = PalletTypeEnum.LargestPallet.ObjToInt();
                    }
                }
                else if(warehouse.WarehouseCode == WarehouseEnum.HA57.ToString())
                {
                    if (models.Count >= 2)
                    {
                        return WebResponseContent.Instance.Error($"组盘明细不唯一");
                    }
                }
                List<Dt_StockInfoDetail> stockInfoDetails = new List<Dt_StockInfoDetail>();
                List<int> detailKeys = new List<int>();
                foreach (var model in models)
                {
                    if (purchaseOrderNos.FirstOrDefault(x => x == model.PurchaseOrderNo) == null)
@@ -632,13 +638,12 @@
                        return WebResponseContent.Instance.Error($"未在收货单明细中找到该采购单");
                    }
                    Dt_InboundOrderDetail? notGroupDetail = inboundOrderDetails.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt() && x.OrderQuantity == model.Quantity && !detailKeys.Contains(x.Id) && x.OrderQuantity > x.ReceiptQuantity).FirstOrDefault();
                    Dt_InboundOrderDetail? notGroupDetail = inboundOrderDetails.Where(x => x.OrderDetailStatus < OrderDetailStatusEnum.Inbounding.ObjToInt() && x.MaterielCode==model.MaterielCode && x.BatchNo==model.LotNo && x.OrderQuantity > x.ReceiptQuantity).FirstOrDefault();
                    if (notGroupDetail == null)
                    {
                        return WebResponseContent.Instance.Error($"该物料在该入库单中已全部组盘完成");
                    }
                    detailKeys.Add(notGroupDetail.Id);
                    Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail()
                    {
                        BatchNo = model.LotNo,
@@ -663,8 +668,11 @@
                    stockInfoDetails.Add(stockInfoDetail);
                    notGroupDetail.ReceiptQuantity = model.Quantity;
                    notGroupDetail.OrderDetailStatus = OrderDetailStatusEnum.GroupAndInbound.ObjToInt();
                    notGroupDetail.ReceiptQuantity += model.Quantity;
                    if (notGroupDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
                    {
                        notGroupDetail.OrderDetailStatus = OrderDetailStatusEnum.GroupAndInbound.ObjToInt();
                    }
                }
                float totalQuantity = stockInfo.Details.Sum(x => x.StockQuantity);
@@ -764,6 +772,13 @@
                    else
                    {
                        stockInfo.PalletType = PalletTypeEnum.LargestPallet.ObjToInt();
                    }
                }
                else if (warehouse.WarehouseCode == WarehouseEnum.HA57.ToString())
                {
                    if (models.Count >= 2)
                    {
                        return WebResponseContent.Instance.Error($"组盘明细不唯一");
                    }
                }
@@ -905,7 +920,7 @@
                        throw new ArgumentNullException(nameof(ruleCode));
                    SqlSugarClient sugarClient = new SqlSugarClient(new ConnectionConfig
                    {
                        IsAutoCloseConnection = false,
                        IsAutoCloseConnection = true,
                        DbType = DbType.SqlServer,
                        ConnectionString = DBContext.ConnectionString
                    });