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/HttpServer.cs                               |   16 
 Wms/WMS.IBLL/IBllQualityServer/IQualityInspectServer.cs |    8 
 Wms/Wms/Controllers/UpApiController.cs                  |   24 +-
 Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs    |  123 ++++++++++++
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs           |   99 +++++++--
 Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs         |   44 ++-
 Wms/Wms/Tools/ApiUrlConfig.cs                           |    4 
 HTML/views/QualityControl/QualityInformation.html       |    2 
 Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs        |    2 
 Wms/Model/InterFaceModel/HttpModel.cs                   |  231 +++++++++++++++++++++++
 10 files changed, 493 insertions(+), 60 deletions(-)

diff --git a/HTML/views/QualityControl/QualityInformation.html b/HTML/views/QualityControl/QualityInformation.html
index 84661ad..15bf2aa 100644
--- a/HTML/views/QualityControl/QualityInformation.html
+++ b/HTML/views/QualityControl/QualityInformation.html
@@ -209,7 +209,7 @@
 						SkuNo: SkuNo,
 						SkuName: SkuName,
 						IsQualified: IsQualified,
-						Origin: 'WMS'
+						Origin: ''
 					};
 					// console.log(param)
 					var url = "/BllQuality/GetBllQualityList";
diff --git a/Wms/Model/InterFaceModel/HttpModel.cs b/Wms/Model/InterFaceModel/HttpModel.cs
index 9aa5beb..078b54a 100644
--- a/Wms/Model/InterFaceModel/HttpModel.cs
+++ b/Wms/Model/InterFaceModel/HttpModel.cs
@@ -718,5 +718,236 @@
         /// </summary>
         public string lotNo { get; set; }
     }
+
+    public class BackAsnVm
+    { 
+        /// <summary>
+        /// 闃查噸鐮�
+        /// </summary>
+        public string ZUUID { get; set; }
+        /// <summary>
+        /// 鍏ュ簱鍗曞彿
+        /// </summary>
+        public string VBELN { get; set; }
+        /// <summary>
+        /// 璁㈠崟绫诲瀷锛�0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 3锛氶��璐у叆搴� 4锛氫綑鏂欓��鍥炲叆搴�  8 锛氱敓浜ч��鏂欏叆搴�
+        /// </summary>
+        public string LFART { get; set; }
+        /// <summary>
+        /// 鍏ュ簱瀹屾垚鏃堕棿
+        /// </summary>
+        public string WADAT_IST { get; set; }
+        /// <summary>
+        /// 鍏ュ簱鍗曟槑缁嗗垪琛�
+        /// </summary>
+        public List<BackAsnDetail> ITEM { get; set; }
+    }
+    public class BackAsnDetail
+    {
+        /// <summary>
+        /// 琛岀紪鐮�
+        /// </summary>
+        public string POSNR { get; set; }
+        /// <summary>
+        /// 鑽搧缂栫爜
+        /// </summary>
+        public string MATNR { get; set; }
+        /// <summary>
+        /// 鑽搧鍚嶇О
+        /// </summary>
+        public string MAKTX { get; set; }
+        /// <summary>
+        /// 瀹炴敹鏁伴噺
+        /// </summary>
+        public string LFIMG { get; set; }
+        /// <summary>
+        /// 鍗曚綅 
+        /// </summary>
+        public string MEINS { get; set; }
+        /// <summary>
+        /// 鎵瑰彿
+        /// </summary>
+        public string CHARG { get; set; }
+        /// <summary>
+        /// 鐢熶骇鏃ユ湡
+        /// </summary>
+        public string HSDAT { get; set; }
+        /// <summary>
+        /// 鍒版湡鏃ユ湡
+        /// </summary>
+        public string VFDAT { get; set; }
+    }
+
+    public class BackSoVm
+    {
+        /// <summary>
+        /// 闃查噸鐮�
+        /// </summary>
+        public string ZUUID { get; set; }
+        /// <summary>
+        /// 鍑哄簱鍗曞彿
+        /// </summary>
+        public string VBELN { get; set; }
+        /// <summary>
+        /// 璐т富缂栫爜
+        /// </summary>
+        public string WERKS { get; set; }
+        /// <summary>
+        /// 鍑哄簱鍗曠被鍨�,鍗曟嵁绫诲瀷 0锛氭垚鍝佸嚭搴� 1锛氶鏂欏嚭搴� 4锛氫笉鍚堟牸鍝佸嚭搴� 7锛氬叾浠栧嚭搴�  9 锛氱敓浜ч鏂欏嚭搴�
+        /// </summary>
+        public string LFART { get; set; }
+        /// <summary>
+        /// 璁㈠崟瀹屾垚鏃堕棿
+        /// </summary>
+        public string WADAT_IST { get; set; }
+        /// <summary>
+        /// 璁㈠崟鏄庣粏
+        /// </summary>
+        public List<BackSoDetail> ITEM { get; set; }
+    }
+    public class BackSoDetail
+    {
+        /// <summary>
+        /// 琛屽彿
+        /// </summary>
+        public string POSNR { get; set; }
+        /// <summary>
+        /// 鑽搧缂栫爜
+        /// </summary>
+        public string MATNR { get; set; }
+        /// <summary>
+        /// 鎵规鍙�
+        /// </summary>
+        public string CHARG { get; set; }
+        /// <summary>
+        /// 鏁伴噺
+        /// </summary>
+        public string LFIMG { get; set; }
+        /// <summary>
+        /// 鍗曚綅
+        /// </summary>
+        public string MEINS { get; set; }
+        /// <summary>
+        /// 鐢熶骇鏃ユ湡
+        /// </summary>
+        public string HSDAT { get; set; }
+        /// <summary>
+        /// 鍒版湡鏃ユ湡
+        /// </summary>
+        public string VFDAT { get; set; }
+    }
+
+    public class SapQualityVm
+    {
+        public string @operator{ get; set; }
+        public SendQualityVm data { get; set; }
+    }
+    public class SendQualityVm
+    {
+        /// <summary>
+        /// 璋冩暣鍗曞彿
+        /// </summary>
+        public string orderNo { get; set; }
+        /// <summary>
+        /// 璋冩暣鍗曟槑缁嗗垪琛�
+        /// </summary>
+        public List<SendQualityDetailVm> adjustmentDList { get; set; }
+    }
+    public class SendQualityDetailVm
+    {
+        /// <summary>
+        /// 琛屽彿
+        /// </summary>
+        public string lineNo { get; set; }
+        /// <summary>
+        /// 璐т富缂栧彿
+        /// </summary>
+        public string ownerNo { get; set; }
+        /// <summary>
+        /// 鐗╂枡缂栫爜
+        /// </summary>
+        public string skuNo { get; set; }
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string skuName { get; set; }
+        /// <summary>
+        /// 鎵瑰彿
+        /// </summary>
+        public string lotNo { get; set; }
+        /// <summary>
+        /// 璋冩暣鏁伴噺
+        /// </summary>
+        public decimal skuQty { get; set; }
+        /// <summary>
+        /// 鏄惁鍚堟牸
+        /// </summary>
+        public string IsQualified { get; set; }
+    }
+
+    public class SapSampleVm
+    {
+        public SendSampleVm data { get; set; }
+    }
+    public class SendSampleVm
+    { 
+        public List<SendSampleSku> pallDataList { get; set; }
+    }
+    public class SendSampleSku
+    {
+        /// <summary>
+        /// 鐗╂枡缂栫爜
+        /// </summary>
+        public string skuNo { get; set; }
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string skuName { get; set; }
+        /// <summary>
+        /// 鎵瑰彿
+        /// </summary>
+        public string lotNo { get; set; }
+        /// <summary>
+        /// 鎵i櫎鏁伴噺
+        /// </summary>
+        public decimal skuQty { get; set; }
+    }
+
+
+    public class SapQcVm
+    { 
+        public SendSapQcVm data { get; set; }
+    }
+    public class SendSapQcVm
+    { 
+        public List<SendSapQcDetailVm> pallDataList { get; set; }
+    }
+    public class SendSapQcDetailVm
+    {
+        /// <summary>
+        /// 璇烽獙缂栧彿
+        /// </summary>
+        public string QcNo { get; set; }
+        /// <summary>
+        /// 鐗╂枡缂栫爜
+        /// </summary>
+        public string skuNo { get; set; }
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string skuName { get; set; }
+        /// <summary>
+        /// 鎵瑰彿
+        /// </summary>
+        public string lotNo { get; set; }
+        /// <summary>
+        /// 鍒拌揣鏁伴噺
+        /// </summary>
+        public decimal Qty { get; set; }
+        /// <summary>
+        /// 渚涜揣鎵规
+        /// </summary>
+        public string SupplierLot { get; set; }
+    }
     #endregion
 }
diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
index 715a0b7..46d5205 100644
--- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -4,12 +4,14 @@
 using Model.ModelDto.SysDto;
 using Model.ModelVm;
 using Model.ModelVm.SysVm;
+using Newtonsoft.Json;
 using SqlSugar;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq.Expressions;
 using System.Threading.Tasks;
+using Utility.Tools;
 using WMS.BLL.LogServer;
 using WMS.DAL;
 using WMS.Entity.BllAsnEntity;
@@ -1324,6 +1326,7 @@
 
                     var detailModel = new BllArrivalNoticeDetail()
                     {
+                        OrderDetailCode = asnDetailModel.lineNo,
                         ASNNo = asnNo,
                         SkuNo = asnDetailModel.skuNo.ToString(),
                         SkuName = skuModel.SkuName,
@@ -1334,9 +1337,9 @@
                         FactQty = 0,
                         CompleteQty = 0,
                         PackagNo = skuModel.PackagNo,
-                        SupplierLot = asnDetailModel.supplyBatch,//鐢熶骇鏃ユ湡
-                        Lot1 = asnDetailModel.productionDate,//杩囨湡鏃ユ湡
-                        Lot2 = asnDetailModel.expireDate,
+                        SupplierLot = asnDetailModel.supplyBatch,
+                        Lot1 = asnDetailModel.productionDate,//鐢熶骇鏃ユ湡
+                        Lot2 = asnDetailModel.expireDate,//杩囨湡鏃ユ湡
                         Status = "0",
                         IsSampling = "0",
                         InspectStatus = "0",
@@ -1389,28 +1392,39 @@
                 {
                     throw new Exception("澶嶆牳澶辫触锛屽鏍镐汉鍛樺拰鍏抽棴璁㈠崟浜哄憳涓嶈兘鐩稿悓锛�");
                 }
-                var list = new List<AsnDetail>();
+                var list = new List<BackAsnDetail>();
                 foreach (var d in detail)
                 {
-                    var item = new AsnDetail()
+                    var mater = Db.Queryable<SysMaterials>().First(w => w.IsDel == "0" && w.SkuNo == d.SkuNo);
+                    if (mater == null)
                     {
-                        SkuNo = d.SkuNo,
-                        LotNo = d.LotNo,
-                        Qty = d.CompleteQty,
-                        PackagNo = d.PackagNo,
-                        SupplierLot = d.SupplierLot
+                        throw new Exception($"澶嶆牳澶辫触锛岀墿鏂欑紪鐮�:{d.SkuNo}鐨勭墿鏂欎俊鎭笉瀛樺湪");
+                    }
+                    var item = new BackAsnDetail()
+                    {
+                        POSNR=d.OrderDetailCode,
+                        MATNR = d.SkuNo,
+                        MAKTX=d.SkuName,
+                        LFIMG = d.CompleteQty.ToString(),
+                        MEINS= mater.UnitNo,
+                        CHARG = d.LotNo,
+                        HSDAT = d.Lot1,
+                        VFDAT = d.Lot2
                     };
                     list.Add(item);
                 }
-                var soInfo = new AsnInfo()
+                var soInfo = new BackAsnVm()
                 {
-                    OrderCode = notice.OrderCode,
-                    AsnDetails = list
+                    ZUUID = Guid.NewGuid().ToString(),
+                    VBELN = notice.OrderCode,
+                    LFART = notice.Type,
+                    WADAT_IST = Convert.ToDateTime(notice.CompleteTime).ToString("yyyy-MM-dd"),
+                    ITEM = list
                 };
 
                 #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp 
                 //绯荤粺瀵规帴鍚庢斁寮�
-                /*var jsonData = JsonConvert.SerializeObject(soInfo);
+                var jsonData = JsonConvert.SerializeObject(soInfo);
 
                 var response = HttpHelper.DoPost(url, jsonData, "鍏ュ簱鍗曞畬鎴愪笂浼�", "ERP");
 
@@ -1418,7 +1432,7 @@
                 if (obj.Success != 0)
                 {
                     throw new Exception("涓婁紶澶辫触" + obj.Message);
-                }*/
+                }
                 #endregion
 
                 notice.Status = "4";
diff --git a/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs b/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
index 7bed1a0..0cc581b 100644
--- a/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
+++ b/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
@@ -2,6 +2,8 @@
 using System.Collections.Generic;
 using System.Data;
 using System.Text;
+using System.Threading.Tasks;
+using Model.InterFaceModel;
 using Model.ModelDto.BllQualityDto;
 using Model.ModelVm;
 using SqlSugar;
@@ -218,7 +220,128 @@
 
             return isquality;
         }
+        /// <summary>
+        /// SAP涓嬪彂搴撳瓨璋冩暣鍗�
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public string InsertQualitySap(SendQualityVm model)
+        {
+            try
+            {
+                if (string.IsNullOrEmpty(model.orderNo) || model.adjustmentDList.Count <= 0)
+                {
+                    throw new Exception("鍙傛暟閿欒");
+                }
+                var asnInfo = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.OrderCode == model.orderNo);
+                if (asnInfo == null)
+                {
+                    throw new Exception($"鏈煡璇㈠埌{model.orderNo}瀵瑰簲鐨勫叆搴撳崟淇℃伅");
+                }
+                //寮�鍚簨鍔�
+                Db.BeginTran();
 
+                foreach (var item in model.adjustmentDList)
+                {
+                    var asnDetail = Db.Queryable<BllArrivalNoticeDetail>().First(w => w.IsDel == "0" && w.ASNNo == asnInfo.ASNNo && w.OrderDetailCode == item.lineNo && w.SkuNo == item.skuNo && w.LotNo == item.lotNo);
+                    if (asnDetail == null)
+                    {
+                        throw new Exception($"鏈煡璇㈠埌{item.lineNo}瀵瑰簲鐨勫叆搴撳崟鏄庣粏淇℃伅");
+                    }
+                    asnDetail.InspectStatus = item.IsQualified;
+                    //鏇存柊鍏ュ簱鍗曟槑缁嗚川妫�鐘舵��
+                    Db.Updateable(asnDetail).ExecuteCommand();
+
+                    //鑾峰彇鐗╂枡淇℃伅
+                    var sku = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.SkuNo == item.skuNo);
+                    if (sku == null)
+                    {
+                        throw new Exception($"鐗╂枡缂栫爜涓簕item.skuNo}鐨勭墿鏂欎俊鎭笉瀛樺湪锛岃鏍告煡锛�");
+                    }
+
+                    string toDayTime = DateTime.Now.ToString("yyyyMMdd");
+                    var maxInspectNo = Db.Queryable<BllQualityInspect>().Where(m => m.IsDel == "0" && m.InspectNo.Contains("SAP")).Max(m => m.InspectNo);
+                    if (string.IsNullOrWhiteSpace(maxInspectNo))
+                    {
+                        maxInspectNo = "SAP" + toDayTime + "0001";
+                    }
+                    else
+                    {
+                        var lotStr = maxInspectNo.Substring(3, 8);
+                        if (lotStr == toDayTime)
+                        {
+                            maxInspectNo = "SAP" + toDayTime + (int.Parse(maxInspectNo.Replace("SAP","").Substring(8, 4)) + 1).ToString().PadLeft(4, '0');
+                        }
+                        else
+                        {
+                            maxInspectNo = "SAP" + toDayTime + "0001";
+                        }
+                    }
+                    var qualityModel = new BllQualityInspect
+                    {
+                        ASNNo = asnDetail.ASNNo,
+                        InspectNo = maxInspectNo,
+                        SkuNo = item.skuNo,
+                        SkuName = item.skuName,
+                        Standard = sku.Standard,
+                        LotNo = item.lotNo,
+                        IsQualified = item.IsQualified,
+                        Origin = "SAP",
+                        FailQty = 0,
+                        PassQty = 0
+                    };
+
+                    //鏌ユ壘搴撳瓨淇℃伅
+                    var stockDetailList = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.SkuNo == item.skuNo && w.LotNo == item.lotNo).ToList();
+                    foreach(var datailItem in stockDetailList)
+                    {
+                        List<DataBoxInfo> boxList = Db.Queryable<DataBoxInfo>().Where(a => a.IsDel == "0" && a.SkuNo == item.skuNo && a.LotNo == item.lotNo && a.PalletNo == datailItem.PalletNo).ToList();
+                        foreach (var boxItem in boxList)
+                        {
+                            if (item.IsQualified == "0")//涓嶅悎鏍�
+                            {
+                                boxItem.InspectStatus = "2";
+                            }
+                            else//鍚堟牸
+                            {
+                                boxItem.InspectStatus = "1";
+                            }                            
+                        }
+                        //鏇存柊绠辩爜鏄庣粏璐ㄦ鐘舵��
+                        Db.Updateable(boxList).ExecuteCommand();
+
+                        if (item.IsQualified == "0")//涓嶅悎鏍�
+                        {
+                            datailItem.InspectStatus = "2";
+                            //涓嶅悎鏍兼暟閲�
+                            qualityModel.FailQty += datailItem.Qty;
+                        }
+                        else//鍚堟牸
+                        {
+                            datailItem.InspectStatus = "1";
+                            //鍚堟牸鏁伴噺
+                            qualityModel.PassQty += datailItem.Qty;
+                        }
+                        //鏇存柊搴撳瓨鏄庣粏璐ㄦ鐘舵��
+                        Db.Updateable(datailItem).ExecuteCommand();
+                    }                    
+                    //娣诲姞璐ㄦ鍙樻洿璁板綍
+                    Db.Insertable(qualityModel).ExecuteCommand();
+                }
+                //鎻愪氦浜嬪姟
+                Db.CommitTran();
+
+                return "0";
+            }
+            catch (Exception ex)
+            {
+                //鍥炴粴浜嬪姟
+                Db.RollbackTran();
+                //鎶涘嚭寮傚父
+                throw new Exception("鎺ユ敹SAP涓嬪彂搴撳瓨璋冩暣鍗曞紓甯�:", ex);
+            }
+        }
         #endregion
 
     }
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;
diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs
index 8672d8e..f7fbbc3 100644
--- a/Wms/WMS.BLL/HttpServer.cs
+++ b/Wms/WMS.BLL/HttpServer.cs
@@ -2027,15 +2027,15 @@
                 //Db.Insertable(exTask).ExecuteCommand();
 
 
-                // 璋冪敤Limes鎺ュ彛鍙戣捣璇烽獙
-                var sendModel = new SendLimesModel()
+                // 璋冪敤Sqp鎺ュ彛鍙戣捣璇烽獙
+                var sendModel = new SendSapQcDetailVm()
                 {
                     QcNo = data.QcNo,
-                    SkuNo = data.SkuNo,
-                    Qty = data.Qty.ToString(),
-                    LotNo = data.LotNo,
-                    SupplierLot = data.SupplierLot,
-                    RequestUser = userName,                       // 璇烽獙浜�
+                    skuNo=data.SkuNo,
+                    skuName = data.SkuNo,                    
+                    lotNo = data.LotNo,
+                    Qty = Convert.ToDecimal(data.Qty),
+                    SupplierLot = data.SupplierLot                    
                 };
                 var jsonData = JsonConvert.SerializeObject(sendModel);
                 string response = "";
@@ -2043,7 +2043,7 @@
                 try
                 {
                     var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
-                    //response = HttpHelper.DoPost(url, jsonData, "涓婁紶Limes绯荤粺鍙戣捣璇烽獙", "Limes");
+                    //response = HttpHelper.DoPost(url, jsonData, "涓婁紶Sap绯荤粺鍙戣捣璇烽獙", "Sap");
                     var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
 
                     ////瑙f瀽杩斿洖鏁版嵁 
diff --git a/Wms/WMS.IBLL/IBllQualityServer/IQualityInspectServer.cs b/Wms/WMS.IBLL/IBllQualityServer/IQualityInspectServer.cs
index 5b3e340..2faf7f6 100644
--- a/Wms/WMS.IBLL/IBllQualityServer/IQualityInspectServer.cs
+++ b/Wms/WMS.IBLL/IBllQualityServer/IQualityInspectServer.cs
@@ -2,6 +2,7 @@
 using System;
 using System.Collections.Generic;
 using System.Text;
+using Model.InterFaceModel;
 using Model.ModelDto.BllQualityDto;
 using WMS.Entity.BllQualityEntity;
 
@@ -25,6 +26,13 @@
         /// <returns></returns>
         int InsertQuality(BllQualityInspect model);
 
+        /// <summary>
+        /// SAP涓嬪彂搴撳瓨璋冩暣鍗�
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        string InsertQualitySap(SendQualityVm model);
         #endregion
     }
 }
diff --git a/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs b/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs
index d3f1f72..80ac280 100644
--- a/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs
+++ b/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs
@@ -25,7 +25,7 @@
         /// <param name="url">涓婁紶璺緞</param>
         /// <param name="userId">鎿嶄綔浜�</param>
         /// <returns></returns>
-        bool FinishSo(int id, string url, int userId);
+        bool FinishSo(int id, string url, string url2, int userId);
         /// <summary>
         /// 鎺ュ彈鐢熶骇鍙枡淇″彿鎺ュ彛
         /// </summary>
diff --git a/Wms/Wms/Controllers/UpApiController.cs b/Wms/Wms/Controllers/UpApiController.cs
index 637e32f..bc1297e 100644
--- a/Wms/Wms/Controllers/UpApiController.cs
+++ b/Wms/Wms/Controllers/UpApiController.cs
@@ -30,6 +30,7 @@
 using System.Xml.Linq;
 using WMS.IBLL.ISysServer;
 using ZXing;
+using WMS.IBLL.IBllQualityServer;
 
 namespace Wms.Controllers
 {
@@ -49,12 +50,13 @@
         private readonly IPdaAsnServer _pdaAsnServer;// PDA
         private readonly IMaterialsServer _materialSvc;//鐗╂枡Svc 
         private readonly ICustomerServer _customerSvc;//瀹㈡埛Svc 
+        private readonly IQualityInspectServer _inspectSvc;//璐ㄩ噺Svc
         private readonly IHttpServer _http;
 
 
         private string logStr = $@".\log\SAP璧嬬爜\Sap涓嬪彂鎶ユ枃" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
 
-        public UpApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IArrivalNoticeServer arrivalNoticeServer, IStockCheckServer stockCheckSvc, IProcurePlanServer procurePlanSvc, IPdaAsnServer pdaAsnServer, IMaterialsServer materialSvc, ICustomerServer customerSvc, IHttpServer http)
+        public UpApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IArrivalNoticeServer arrivalNoticeServer, IStockCheckServer stockCheckSvc, IProcurePlanServer procurePlanSvc, IPdaAsnServer pdaAsnServer, IMaterialsServer materialSvc, ICustomerServer customerSvc,IQualityInspectServer inspectSvc, IHttpServer http)
         {
             _config = setting.Value;
             _exNoticeSvc = exNoticeSvc;
@@ -64,6 +66,7 @@
             _pdaAsnServer = pdaAsnServer;
             _materialSvc = materialSvc;
             _customerSvc = customerSvc;
+            _inspectSvc = inspectSvc;
             _http = http;
         }
         #endregion
@@ -154,21 +157,21 @@
             try
             {
                 var jsonData = JsonConvert.SerializeObject(model);
-                LogFile.SaveLogToFile($"Sap鍏ュ簱鍗曚笅鍙戯細( {jsonData} ),", logStr);
+                LogFile.SaveLogToFile($"Sap鍏ュ簱鍗曟暟鎹細( {jsonData} ),", logStr);
 
                 var _result = _arrivalNoticeSvc.CreateAsn(model.data, model.@operator);
 
                 var list = new { Success = 0, Message = "涓嬪彂鎴愬姛" };
                 if (_result.Success == 0)
                 {
-                    LogFile.SaveLogToFile($"瀹㈡埛渚涘簲鍟嗕富鏁版嵁鍚屾锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+                    LogFile.SaveLogToFile($"Sap鍏ュ簱鍗曚笅鍙戞垚鍔燂細( {JsonConvert.SerializeObject(list)} ),", logStr);
                     return Ok(new { result = true, code = "1", message = "success" });
                 }
                 else
                 {
                     list = new { Success = -1, Message = _result.Message };
 
-                    LogFile.SaveLogToFile($"瀹㈡埛渚涘簲鍟嗕富鏁版嵁鍚屾锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+                    LogFile.SaveLogToFile($"Sap鍏ュ簱鍗曚笅鍙戝け璐ワ細( {JsonConvert.SerializeObject(list)} ),", logStr);
                     return Ok(new { result = false, code = "400", message = _result.Message });
                 }                
             }
@@ -211,14 +214,15 @@
         /// <returns></returns>
         [AllowAnonymous]
         [HttpPost]
-        public IActionResult UpQuality(object model)
+        public IActionResult UpQuality(SapQualityVm model)
         {
-
+            var logStr = $@".\log\SAP\搴撳瓨璐ㄩ噺鐘舵�佹帴鏀�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
             try
             {
-                //    var sd = JsonConvert.SerializeObject(model);
-                //    var sd2 = JsonConvert.DeserializeObject<BoxPalletBindVm>(sd);
-                LogFile.SaveLogToFile($"Sap璐ㄩ噺鐘舵�佸彉鏇达細( {model} ),", logStr);
+                var jsonData = JsonConvert.SerializeObject(model);
+                LogFile.SaveLogToFile($"Sap搴撳瓨璐ㄩ噺鐘舵�佷笅鍙戯細( {jsonData} ),", logStr);
+
+                _inspectSvc.InsertQualitySap(model.data);
                 return Ok(new { result = true, code = "1", message = "success" });
             }
             catch (Exception e)
@@ -375,7 +379,7 @@
                 {
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
-                _exNoticeSvc.FinishSo(model.Id, _config.ErpHost + _config.SoFinishUrl, int.Parse(userId));
+                _exNoticeSvc.FinishSo(model.Id, _config.ErpHost + _config.SoFinishUrl, _config.ErpHost + _config.SoFinishUrl2, int.Parse(userId));
                 return Ok(new { code = 0, count = 0, msg = "鍑哄簱鍗曞鏍稿苟涓婁紶鎴愬姛" });
             }
             catch (Exception e)
diff --git a/Wms/Wms/Tools/ApiUrlConfig.cs b/Wms/Wms/Tools/ApiUrlConfig.cs
index 657d61d..c1e7398 100644
--- a/Wms/Wms/Tools/ApiUrlConfig.cs
+++ b/Wms/Wms/Tools/ApiUrlConfig.cs
@@ -36,6 +36,10 @@
         /// 鍑哄簱璁㈠崟鍏抽棴涓婁紶
         /// </summary>
         public string SoFinishUrl { get; set; }
+        /// <summary>
+        /// 鎶芥鍑哄簱璁㈠崟鍏抽棴涓婁紶
+        /// </summary>
+        public string SoFinishUrl2 { get; set; }
 
         /// <summary>
         /// 搴撳瓨鍙樻洿涓婁紶(鐩樺簱璋冩暣鍚�)

--
Gitblit v1.8.0