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/Controllers/UpApiController.cs |  100 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 81 insertions(+), 19 deletions(-)

diff --git a/Wms/Wms/Controllers/UpApiController.cs b/Wms/Wms/Controllers/UpApiController.cs
index 3cc0ebb..bc1297e 100644
--- a/Wms/Wms/Controllers/UpApiController.cs
+++ b/Wms/Wms/Controllers/UpApiController.cs
@@ -28,6 +28,9 @@
 using WMS.IBLL;
 using ZXing.QrCode.Internal;
 using System.Xml.Linq;
+using WMS.IBLL.ISysServer;
+using ZXing;
+using WMS.IBLL.IBllQualityServer;
 
 namespace Wms.Controllers
 {
@@ -45,9 +48,15 @@
         private readonly IStockCheckServer _stockCheckSvc;//鐩樼偣鍗昐vc 
         private readonly IProcurePlanServer _procurePlanSvc;//閲囪喘鍗昐vs
         private readonly IPdaAsnServer _pdaAsnServer;// PDA
+        private readonly IMaterialsServer _materialSvc;//鐗╂枡Svc 
+        private readonly ICustomerServer _customerSvc;//瀹㈡埛Svc 
+        private readonly IQualityInspectServer _inspectSvc;//璐ㄩ噺Svc
         private readonly IHttpServer _http;
 
-        public UpApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IArrivalNoticeServer arrivalNoticeServer, IStockCheckServer stockCheckSvc, IProcurePlanServer procurePlanSvc, IPdaAsnServer pdaAsnServer, 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,IQualityInspectServer inspectSvc, IHttpServer http)
         {
             _config = setting.Value;
             _exNoticeSvc = exNoticeSvc;
@@ -55,13 +64,14 @@
             _stockCheckSvc = stockCheckSvc;
             _procurePlanSvc = procurePlanSvc;
             _pdaAsnServer = pdaAsnServer;
+            _materialSvc = materialSvc;
+            _customerSvc = customerSvc;
+            _inspectSvc = inspectSvc;
             _http = http;
         }
         #endregion
 
         #region JC34 
-
-
         /// <summary>
         /// 鐗╂枡涓嬪彂
         /// </summary>
@@ -69,12 +79,23 @@
         /// <returns></returns>
         [AllowAnonymous]
         [HttpPost]
-        public IActionResult CreateSku(object model)
+        public async Task<IActionResult> CreateSku(SapSkuInfoVm model)
         {
-            
+            var logStr = $@".\log\SAP\鐗╂枡涓绘暟鎹笅鍙�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
             try
             {
+                var jsonData = JsonConvert.SerializeObject(model);
+                LogFile.SaveLogToFile($"Sap鐗╂枡涓绘暟鎹細( {jsonData} ),", logStr);;
 
+                var str = await _materialSvc.AddSkuSap(model.data);
+
+                var list = new { Success = 0, Message = "涓嬪彂鎴愬姛" };
+                if (!str.Contains("0"))
+                {
+                    list = new { Success = -1, Message = str };
+                }
+
+                LogFile.SaveLogToFile($"SAP鐗╂枡涓绘暟鎹笅鍙戯細( {JsonConvert.SerializeObject(list)} ),", logStr);
                 return Ok(new { result = true, code = "1" ,message = "success" });
             }
             catch (Exception e)
@@ -91,12 +112,30 @@
         /// <returns></returns>
         [AllowAnonymous]
         [HttpPost]
-        public IActionResult CreateCustomer(object model)
+        public async Task<IActionResult> CreateCustomer(SapCustomerVm model)
         {
-             
+            var logStr = $@".\log\SAP\瀹㈡埛渚涘簲鍟嗕富鏁版嵁鍚屾" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
             try
-            { 
-                return Ok(new { result = true, code = "1", message = "success" });
+            {
+                var jsonData = JsonConvert.SerializeObject(model);
+                LogFile.SaveLogToFile($"Sap瀹㈡埛淇℃伅涓绘暟鎹細( {jsonData} ),", logStr);
+
+                var str = await _customerSvc.AddCustomerSap(model.data);
+
+                var list = new { Success = 0, Message = "涓嬪彂鎴愬姛" };
+                if (!str.Contains("0"))
+                {
+                    list = new { Success = -1, Message = str };
+
+                    LogFile.SaveLogToFile($"瀹㈡埛渚涘簲鍟嗕富鏁版嵁鍚屾锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+                    return Ok(new { result = false, code = "400", message = str });
+                }
+                else
+                {
+                    LogFile.SaveLogToFile($"瀹㈡埛渚涘簲鍟嗕富鏁版嵁鍚屾锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+
+                    return Ok(new { result = true, code = "1", message = "success" });
+                }                
             }
             catch (Exception e)
             {
@@ -112,12 +151,29 @@
         /// <returns></returns>
         [AllowAnonymous]
         [HttpPost]
-        public IActionResult CreateAsn(object model)
+        public IActionResult CreateAsn(SapAsnVm model)
         {
-
+            var logStr = $@".\log\SAP\鍏ュ簱鍗曚笅鍙�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
             try
             {
-                return Ok(new { result = true, code = "1", message = "success" });
+                var jsonData = JsonConvert.SerializeObject(model);
+                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($"Sap鍏ュ簱鍗曚笅鍙戞垚鍔燂細( {JsonConvert.SerializeObject(list)} ),", logStr);
+                    return Ok(new { result = true, code = "1", message = "success" });
+                }
+                else
+                {
+                    list = new { Success = -1, Message = _result.Message };
+
+                    LogFile.SaveLogToFile($"Sap鍏ュ簱鍗曚笅鍙戝け璐ワ細( {JsonConvert.SerializeObject(list)} ),", logStr);
+                    return Ok(new { result = false, code = "400", message = _result.Message });
+                }                
             }
             catch (Exception e)
             {
@@ -132,11 +188,16 @@
         /// <returns></returns>
         [AllowAnonymous]
         [HttpPost]
-        public IActionResult CreateSo(object model)
+        public IActionResult CreateSo(SapSoVm model)
         {
-
+            var logStr = $@".\log\SAP\鍑哄簱鍗曚笅鍙�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
             try
             {
+                var jsonData = JsonConvert.SerializeObject(model);
+                LogFile.SaveLogToFile($"Sap鍑哄簱鍗曚笅鍙戯細( {jsonData} ),", logStr);
+
+                 _exNoticeSvc.ErpAddExportNotice(model.data);
+
                 return Ok(new { result = true, code = "1", message = "success" });
             }
             catch (Exception e)
@@ -153,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);
+                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)
@@ -317,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)

--
Gitblit v1.8.0