From 950fac9fd7b9477fc2bbe3253d217f62ac7608e5 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期一, 21 七月 2025 17:01:21 +0800
Subject: [PATCH] SAP接口开发

---
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs |   99 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 74 insertions(+), 25 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 3704120..b83a0fb 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -630,7 +630,7 @@
         }
 
         //鍥炰紶鍑哄簱鍗�
-        public bool FinishSo(int id, string url, int userId)
+        public bool FinishSo(int id, string url, string url2, int userId)
         {
             try
             {
@@ -652,34 +652,83 @@
                 {
                     throw new Exception("澶嶆牳澶辫触锛屽鏍镐汉鍛樺拰鍏抽棴璁㈠崟浜哄憳涓嶈兘鐩稿悓锛�");
                 }
-                var list = new List<SoDetail>();
-                foreach (var d in detail)
+                if (notice.Type == "2")//鎶芥鍑哄簱
                 {
-                    var item = new SoDetail()
+                    var list = new List<SendSampleSku>();
+                    foreach (var d in detail)
                     {
-                        SkuNo = d.SkuNo,
-                        LotNo = d.LotNo,
-                        Qty = (decimal)d.CompleteQty
-                    };
-                    list.Add(item);
-                }
-                var soInfo = new SoInfo()
-                {
-                    OrderCode = notice.OrderCode,
-                    SoDetails = list
-                };
-                #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp
-                //绯荤粺瀵规帴鍚庢斁寮�
-                /*var jsonData = JsonConvert.SerializeObject(soInfo);
+                        var item = new SendSampleSku()
+                        {
+                            skuNo = d.SkuNo,
+                            skuName = d.SkuName,
+                            lotNo = d.LotNo,
+                            skuQty = Convert.ToDecimal(d.CompleteQty)
+                        };
+                        list.Add(item);
+                    }
+                    SendSampleVm sendSampleVm = new SendSampleVm();
+                    sendSampleVm.pallDataList = list;
 
-                var response = HttpHelper.DoPost(url, jsonData, "鍑哄簱鍗曞畬鎴愪笂浼�", "ERP");
-                
-                var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁
-                if (obj.Success != 0)
+                    SapSampleVm sapSampleVm = new SapSampleVm();
+                    sapSampleVm.data = sendSampleVm;
+
+                    #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp
+                    //绯荤粺瀵规帴鍚庢斁寮�
+                    /*var jsonData = JsonConvert.SerializeObject(sapSampleVm);
+
+                    var response = HttpHelper.DoPost(url2, jsonData, "鎶芥鍑哄簱瀹屾垚涓婁紶", "ERP");
+
+                    var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁
+                    if (obj.Success != 0)
+                    {
+                        throw new Exception("涓婁紶澶辫触" + obj.Message);
+                    }*/
+                    #endregion
+                }
+                else
                 {
-                    throw new Exception("涓婁紶澶辫触" + obj.Message);
-                }*/
-                #endregion
+                    var list = new List<BackSoDetail>();
+                    foreach (var d in detail)
+                    {
+                        var mater = Db.Queryable<SysMaterials>().First(w => w.IsDel == "0" && w.SkuNo == d.SkuNo);
+                        if (mater == null)
+                        {
+                            throw new Exception($"澶嶆牳澶辫触锛岀墿鏂欑紪鐮�:{d.SkuNo}鐨勭墿鏂欎俊鎭笉瀛樺湪");
+                        }
+                        var item = new BackSoDetail()
+                        {
+                            POSNR = d.OrderDetailCode,
+                            MATNR = d.SkuNo,
+                            CHARG = d.LotNo,
+                            LFIMG = d.CompleteQty.ToString(),
+                            MEINS = mater.UnitNo,
+                            HSDAT = "",
+                            VFDAT = ""
+                        };
+                        list.Add(item);
+                    }
+                    var soInfo = new BackSoVm()
+                    {
+                        ZUUID = Guid.NewGuid().ToString(),
+                        VBELN = notice.OrderCode,
+                        WERKS = notice.CustomerNo,
+                        LFART = notice.Type,
+                        WADAT_IST = Convert.ToDateTime(notice.CompleteTime).ToString("yyyy-MM-dd"),
+                        ITEM = list
+                    };
+                    #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp
+                    //绯荤粺瀵规帴鍚庢斁寮�
+                    /*var jsonData = JsonConvert.SerializeObject(soInfo);
+
+                    var response = HttpHelper.DoPost(url, jsonData, "鍑哄簱鍗曞畬鎴愪笂浼�", "ERP");
+
+                    var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁
+                    if (obj.Success != 0)
+                    {
+                        throw new Exception("涓婁紶澶辫触" + obj.Message);
+                    }*/
+                    #endregion
+                }
 
                 notice.Status = "6";
                 notice.CheckTime = DateTime.Now;

--
Gitblit v1.8.0