From 5bbaca0f07194414ca1249d0d6fdbd7368859071 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期四, 31 七月 2025 16:47:33 +0800 Subject: [PATCH] 修改接收SAP下发入库单接口 --- Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 32 ++++++++++++++++++++++++++++---- 1 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs index 87d19a9..6dec684 100644 --- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs @@ -1258,9 +1258,16 @@ resultModel.Message = "鍏ュ簱鍗曟槑缁嗕笉鍙负绌�!"; return resultModel; } + var asnModel = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.OrderCode == model.orderNo); + if (asnModel != null) + { + resultModel.Message = $"{model.orderNo}璇ュ崟鍙峰凡瀛樺湪鍏ュ簱鍗�!"; + return resultModel; + } + // 鍏ュ簱鎬昏〃淇℃伅 string asnNo = new Common().GetMaxNo("ASN"); - var asnModel = new BllArrivalNotice() + asnModel = new BllArrivalNotice() { ASNNo = asnNo, Status = "0",//绛夊緟鎵ц @@ -1287,9 +1294,9 @@ resultModel.Message = "搴旀敹鐗╂枡鏁伴噺搴斿ぇ浜�0!"; return resultModel; } - if (string.IsNullOrEmpty(asnDetailModel.lotNo.ToString())) + if (string.IsNullOrEmpty(asnDetailModel.lotNo) && asnModel.Type != "1") { - resultModel.Message = "鎵规鍙蜂笉鍙负绌�!"; + resultModel.Message = "闈為噰璐叆搴擄紝鎵规鍙蜂笉鍙负绌�!"; return resultModel; } @@ -1310,7 +1317,7 @@ SkuNo = asnDetailModel.skuNo.ToString(), SkuName = skuModel.SkuName, Standard = skuModel.Standard, - LotNo = asnDetailModel.lotNo.ToString(), + LotNo = asnDetailModel.lotNo, LotText = "", Qty = Convert.ToDecimal(asnDetailModel.expectedQty), FactQty = 0, @@ -1324,6 +1331,23 @@ InspectStatus = "0", CreateUser = 0 }; + detailModel.BoxCodeStr = detailModel.LotNo; + if (string.IsNullOrWhiteSpace(detailModel.LotNo)) + { + string toDayTime = DateTime.Now.ToString("yyyyMM"); + var maxBoxCodeStr = Db.Queryable<BllArrivalNoticeDetail>() + .Where(m => m.IsDel == "0" && m.BoxCodeStr.Contains("BK") + && m.CreateTime.ToString("yyyyMM") == DateTime.Now.ToString("yyyyMM")).Max(m => m.BoxCodeStr); + if (string.IsNullOrWhiteSpace(maxBoxCodeStr)) + { + maxBoxCodeStr = "BK" + toDayTime.Substring(2, 4) + "0001"; + } + else + { + maxBoxCodeStr = "BK" + (int.Parse(maxBoxCodeStr.Replace("BK", "")) + 1).ToString(); + } + detailModel.BoxCodeStr = maxBoxCodeStr; + } detailModels.Add(detailModel); } -- Gitblit v1.8.0