From afb08f1b3b9994e49b1e93adb5d857724db903a6 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期五, 10 一月 2025 09:53:19 +0800
Subject: [PATCH] 1

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 116 insertions(+), 1 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs"
index f88f409..b2b161f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs"
@@ -1,8 +1,15 @@
-锘縰sing System;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Common.APIEnum;
+using WIDESEA_Core.Helper;
+using WIDESEA_External.Model;
+using WIDESEA_IBasicRepository;
+using WIDESEA_Model.Models;
 
 namespace WIDESEA_External.ERPService
 {
@@ -11,5 +18,113 @@
     /// </summary>
     public class InvokeERPService : IInvokeERPService
     {
+        private readonly IApiInfoRepository _apiInfoRepository;
+        public InvokeERPService(IApiInfoRepository apiInfoRepository)
+        {
+            _apiInfoRepository = apiInfoRepository;
+        }
+        // 鍒涘缓涓�涓娇鐢ㄥ皬椹煎嘲鍛藉悕娉曠殑搴忓垪鍖栬缃�
+        JsonSerializerSettings settings = new JsonSerializerSettings
+        {
+            ContractResolver = new CamelCasePropertyNamesContractResolver()
+        };
+        /// <summary>
+        /// ERP鏀惰揣鍗曟帴鍙h皟鐢�
+        /// </summary>
+        /// <param name="receiveModel"></param>
+        /// <returns></returns>
+        public string InvokeMatReceiveApi(ERPReceiveModel receiveModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPReceiveModel> model = new ERPBaseModel<ERPReceiveModel>()
+            {
+                Data = receiveModel,
+                Desc = "鏀惰揣鍗�",
+                Type = "toTCWMSReceive",
+                SecurityCode = "TeChuang"
+            };
+            
+            string request = JsonConvert.SerializeObject(model, settings);
+            
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+
+        /// <summary>
+        /// ERP鐗╂枡IQC妫�楠屽崟鎺ュ彛璋冪敤
+        /// </summary>
+        /// <param name="checkModel"></param>
+        /// <returns></returns>
+        public string InvokeCheckOrderApi(ERPCheckModel checkModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPCheckModel> model = new ERPBaseModel<ERPCheckModel>()
+            {
+                Data = checkModel,
+                Desc = "鐗╂枡IQC妫�楠屽崟",
+                Type = "toTCWMSIQCTest",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings);
+
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+
+        /// <summary>
+        /// ERP鐗╂枡鍏ュ簱鍗曟帴鍙h皟鐢�
+        /// </summary>
+        /// <param name="inboundModel"></param>
+        /// <returns></returns>
+        public string InvokeInboundOrderApi(ERPInboundModel inboundModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPInboundModel> model = new ERPBaseModel<ERPInboundModel>()
+            {
+                Data = inboundModel,
+                Desc = "鐗╂枡鍏ュ簱鍗�",
+                Type = "toTCWMSMaterialWarehousing",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings);
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+        /// <summary>
+        /// ERP棰嗘枡閫氱煡鍗曞嚭搴�
+        /// </summary>
+        public string InvokeOutStandardsApi(ERPIssueModel issueModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPIssueModel> model = new ERPBaseModel<ERPIssueModel>()
+            {
+                Data = issueModel,
+                Desc = "棰嗘枡鍑哄簱閫氱煡鍗�",
+                Type = "toStandardPickList",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings).Replace("issitem", "Issitem");
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+        /// <summary>
+        /// ERP鐗╂枡鍑哄簱鎺ュ彛璋冪敤
+        /// </summary>
+        /// <param name="outboundModel"></param>
+        /// <returns></returns>
+        public string InvokeOutboundOrderApi(ERPOutboundModel outboundModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPOutboundModel> model = new ERPBaseModel<ERPOutboundModel>()
+            {
+                Data = outboundModel,
+                Desc = "鏉愭枡鍑哄簱",
+                Type = "toBomMaterialOutTC",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings);
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
     }
 }

--
Gitblit v1.9.3