wangxinhui
2025-06-20 225d11e2ddaa55d1d482201cb4d89c9486cdba69
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs
@@ -4,6 +4,7 @@
using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
using Org.BouncyCastle.Asn1.Ocsp;
using SqlSugar;
using System;
using System.Collections;
@@ -864,11 +865,17 @@
                    stockInfoDetails.Add(stockInfoDetail);
                    notGroupDetail.ReceiptQuantity += model.Quantity;
                    if (notGroupDetail.ReceiptQuantity>notGroupDetail.OrderQuantity)
                    decimal decimalReceiptQuantity = Convert.ToDecimal(notGroupDetail.ReceiptQuantity);
                    decimal decimalModelQuantity = Convert.ToDecimal(model.Quantity);
                    decimal decimalOrderQuantity = Convert.ToDecimal(notGroupDetail.OrderQuantity);
                    decimalReceiptQuantity += decimalModelQuantity;
                    // æ£€æŸ¥æ˜¯å¦è¶…出订单数量
                    if (decimalReceiptQuantity > decimalOrderQuantity)
                    {
                        return WebResponseContent.Instance.Error($"组盘数量溢出{notGroupDetail.ReceiptQuantity - notGroupDetail.OrderQuantity}");
                        return WebResponseContent.Instance.Error($"组盘数量溢出{decimalReceiptQuantity - decimalOrderQuantity}");
                    }
                    // è½¬å›žfloat类型存储,但比较和计算都使用decimal完成
                    notGroupDetail.ReceiptQuantity = Convert.ToSingle(decimalReceiptQuantity);
                    if (notGroupDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
                    {
                        notGroupDetail.OrderDetailStatus = OrderDetailStatusEnum.GroupAndInbound.ObjToInt();
@@ -906,7 +913,15 @@
            WebResponseContent content = new WebResponseContent();
            try
            {
                string SerNum = materielBoxCode.Substring(0, materielBoxCode.LastIndexOf("SC:")-1);
                string SerNum = "";
                if (materielBoxCode.LastIndexOf("SC:")<0)
                {
                    SerNum = materielBoxCode;
                }
                else
                {
                    SerNum = materielBoxCode.Substring(0, materielBoxCode.LastIndexOf("SC:") - 1);
                }
                MatSerNumAnalysisModel model = CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, SerNum);
                //验证判断时间格式
                WebResponseContent IsValidContent = IsValidMCDates(new List<MatSerNumAnalysisModel>() { model });
@@ -914,7 +929,11 @@
                {
                    return content.Error(IsValidContent.Message);
                }
                string result = materielBoxCode.Substring(materielBoxCode.LastIndexOf("SC:") + 3);
                string result = "";
                if (materielBoxCode.LastIndexOf("SC:") > 0)
                {
                    result = materielBoxCode.Substring(materielBoxCode.LastIndexOf("SC:") + 3);
                }
                //获取入库单明细
                Dt_InboundOrderDetail inboundOrderDetail = _inboundRepository.InboundOrderDetailRepository.QueryFirst(x=>x.BatchNo== model.LotNo && x.MaterielCode== model.MaterielCode);
                if (inboundOrderDetail == null)
@@ -962,8 +981,8 @@
                        PalletCode = model.LotNo,
                        StockStatus = StockStatusEmun.组盘暂存.ObjToInt(),
                        WarehouseId = inboundOrder.WarehouseId,
                        PalletType = GetPalletTypeGMOrPP(warehouse, result.Split("*")[0]),
                        StockLength = result.Split("*")[0].ObjToInt(),
                        PalletType = GetPalletTypeGMOrPP(warehouse, result.IsNullOrEmpty() ? "" : result.Split("*")[0]),
                        StockLength = result.IsNullOrEmpty() ? 0 : result.Split("*")[0].ObjToInt(),
                        Details = new List<Dt_StockInfoDetail>()
                    };
                }
@@ -1052,8 +1071,8 @@
                    PalletCode = model.LotNo,
                    StockStatus = StockStatusEmun.组盘暂存.ObjToInt(),
                    WarehouseId = warehouse.WarehouseId,
                    PalletType = GetPalletTypeGMOrPP(warehouse, request.Split("*")[0]),
                    StockLength = request.Split("*")[0].ObjToInt(),
                    PalletType = GetPalletTypeGMOrPP(warehouse, request.IsNullOrEmpty() ?"":request.Split("*")[0]),
                    StockLength = request.IsNullOrEmpty()?0:request.Split("*")[0].ObjToInt(),
                    Details = new List<Dt_StockInfoDetail>()
                };
            }
@@ -1098,7 +1117,7 @@
            if (warehouse.WarehouseCode == WarehouseEnum.HA152.ToString())
            {
                if (boxWidth.ObjToInt() <= 690 && boxWidth.ObjToInt()>=515)
                if (boxWidth.ObjToInt() <= 690 && boxWidth.ObjToInt()>=520)
                {
                    return 15;
                }