From 22428c74e4b57c87a979a8f2f199e0e8e34dbb86 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期六, 28 六月 2025 16:48:09 +0800
Subject: [PATCH] 编写接收SAP下发入库单接口

---
 Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs |   61 ++++++++++++------------------
 1 files changed, 25 insertions(+), 36 deletions(-)

diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
index dc4a007..715a0b7 100644
--- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -1256,77 +1256,64 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public ErpModel CreateAsn(AsnInfo model)
+        public ErpModel CreateAsn(SendAsnVm model,string userName)
         {
             try
             {
                 var resultModel = new ErpModel() { Success = -1, Message = "" };
-                if (string.IsNullOrEmpty(model.AsnType))
+                if (string.IsNullOrEmpty(model.billType.ToString()))
                 {
                     resultModel.Message = "鍗曟嵁绫诲瀷涓嶅彲涓虹┖!";
                     return resultModel;
                 }
-                if (string.IsNullOrEmpty(model.Customer))
-                {
-                    resultModel.Message = "瀹㈡埛涓嶅彲涓虹┖!";
-                    return resultModel;
-                }
-                if (string.IsNullOrEmpty(model.OrderCode))
+               
+                if (string.IsNullOrEmpty(model.orderNo.ToString()))
                 {
                     resultModel.Message = "涓婃父绯荤粺鍗曞彿涓嶅彲涓虹┖!";
                     return resultModel;
                 }
-                if (model.AsnDetails.Count <= 0)
+                if (model.orderDCmdList.Count <= 0)
                 {
                     resultModel.Message = "鍏ュ簱鍗曟槑缁嗕笉鍙负绌�!";
                     return resultModel;
                 }
-
-                // 鏍规嵁瀹㈡埛缂栧彿鑾峰彇瀹㈡埛鍚嶇О
-                var CustomerModel = Db.Queryable<SysCustomer>().First(it => it.CustomerNo == model.Customer && it.IsDel == "0");
-                if (CustomerModel == null)
-                {
-                    resultModel.Message = "瀹㈡埛缂栧彿涓嶅瓨鍦�!";
-                    return resultModel;
-                }
-
                 // 鍏ュ簱鎬昏〃淇℃伅
                 string asnNo = new Common().GetMaxNo("ASN");
                 var asnModel = new BllArrivalNotice()
                 {
                     ASNNo = asnNo,
                     Status = "0",//绛夊緟鎵ц
-                    Type = model.AsnType,
-                    Origin = string.IsNullOrEmpty(model.Origin) ? "ERP" : model.Origin,
-                    CustomerNo = model.Customer,
-                    CustomerName = CustomerModel.CustomerName,
-                    OrderCode = model.OrderCode,
-                    UserName = model.Username
+                    Type = model.billType.ToString(),
+                    Origin = "SAP",
+                    CustomerNo = model.vendorNo,
+                    CustomerName = model.vendorName,
+                    OrderCode = model.orderNo.ToString(),
+                    UserName = userName
                 };
 
                 // 鍏ュ簱鏄庣粏琛ㄤ俊鎭�
                 List<BllArrivalNoticeDetail> detailModels = new List<BllArrivalNoticeDetail>();
-                foreach (AsnDetail asnDetailModel in model.AsnDetails)
+                foreach (var asnDetailModel in model.orderDCmdList)
                 {
-                    if (string.IsNullOrEmpty(asnDetailModel.SkuNo))
+                    if (string.IsNullOrEmpty(asnDetailModel.skuNo.ToString()))
                     {
                         resultModel.Message = "鐗╂枡缂栫爜涓嶅彲涓虹┖!";
                         return resultModel;
                     }
 
-                    if (asnDetailModel.Qty <= 0)
+                    if (Convert.ToDecimal(asnDetailModel.expectedQty) <= 0)
                     {
-                        resultModel.Message = "鏁伴噺搴斾负姝f暣鏁�!";
+                        resultModel.Message = "搴旀敹鐗╂枡鏁伴噺搴斿ぇ浜�0!";
                         return resultModel;
                     }
-                    if (string.IsNullOrEmpty(asnDetailModel.LotNo))
+                    if (string.IsNullOrEmpty(asnDetailModel.lotNo.ToString()))
                     {
                         resultModel.Message = "鎵规鍙蜂笉鍙负绌�!";
                         return resultModel;
                     }
 
                     // 鑾峰彇鐗╂枡璇︾粏淇℃伅
-                    var skuModel = Db.Queryable<SysMaterials>().First(it => it.SkuNo == asnDetailModel.SkuNo && it.IsDel == "0");
+                    var skuModel = Db.Queryable<SysMaterials>().First(it => it.SkuNo == asnDetailModel.skuNo.ToString() && it.IsDel == "0");
                     if (skuModel == null)
                     {
                         resultModel.Message = "涓嶅瓨鍦ㄥ綋鍓嶇墿鏂欎俊鎭�!";
@@ -1338,16 +1325,18 @@
                     var detailModel = new BllArrivalNoticeDetail()
                     {
                         ASNNo = asnNo,
-                        SkuNo = asnDetailModel.SkuNo,
+                        SkuNo = asnDetailModel.skuNo.ToString(),
                         SkuName = skuModel.SkuName,
                         Standard = skuModel.Standard,
-                        LotNo = asnDetailModel.LotNo,
+                        LotNo = asnDetailModel.lotNo.ToString(),
                         LotText = "",
-                        Qty = (decimal)asnDetailModel.Qty,
-                        FactQty=0,
-                        CompleteQty=0,
+                        Qty = Convert.ToDecimal(asnDetailModel.expectedQty),
+                        FactQty = 0,
+                        CompleteQty = 0,
                         PackagNo = skuModel.PackagNo,
-                        SupplierLot = asnDetailModel.SupplierLot,
+                        SupplierLot = asnDetailModel.supplyBatch,//鐢熶骇鏃ユ湡
+                        Lot1 = asnDetailModel.productionDate,//杩囨湡鏃ユ湡
+                        Lot2 = asnDetailModel.expireDate,
                         Status = "0",
                         IsSampling = "0",
                         InspectStatus = "0",

--
Gitblit v1.8.0