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/Controllers/UpApiController.cs          |    1 +
 Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs |   32 ++++++++++++++++++++++++++++----
 2 files changed, 29 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);
                 }
diff --git a/Wms/Wms/Controllers/UpApiController.cs b/Wms/Wms/Controllers/UpApiController.cs
index bc1297e..0543cb8 100644
--- a/Wms/Wms/Controllers/UpApiController.cs
+++ b/Wms/Wms/Controllers/UpApiController.cs
@@ -177,6 +177,7 @@
             }
             catch (Exception e)
             {
+                LogFile.SaveLogToFile($"Sap鍏ュ簱鍗曚笅鍙戝紓甯革細{e.Message}", logStr);
                 return Ok(new { result = false, code = "400", message = e.Message });
             }
         }

--
Gitblit v1.8.0