From 0bb8fa57f20980f869cb1780a7594ef3ea7d576e Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期三, 11 六月 2025 21:08:27 +0800
Subject: [PATCH] 111

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs |  218 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 202 insertions(+), 16 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs"
index 8e39f2d..6f7f214 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs"
@@ -12,6 +12,10 @@
 using WIDESEA_DTO.ERP;
 using WIDESEA_DTO.MES;
 using WIDESEA_Core.Helper;
+using Autofac.Core;
+using WIDESEA_DTO.Stock;
+using WIDESEA_External.Model;
+using WIDESEA_External.ERPService;
 
 namespace WIDESEA_WMSServer.Controllers.MES
 {
@@ -22,22 +26,16 @@
     [ApiController]
     public class MesController : ControllerBase
     {
-        private readonly IPurchaseOrderRepository _purchaseOrderRepository;
-        private readonly IPurchaseOrderService _purchaseOrderService;
-        private readonly ISupplierInfoService _supplierInfoService;
-        private readonly IMaterielInfoService _materielInfoService;
-        private readonly IOutboundOrderService _outboundOrderService;
+        private readonly IOutboundService _outboundService;
         private readonly ITaskService _taskService;
-
-        public MesController(IPurchaseOrderRepository purchaseOrderRepository, IPurchaseOrderService purchaseOrderService, ISupplierInfoService supplierInfoService, IMaterielInfoService materielInfoService, IOutboundOrderService outboundOrderService, ITaskService taskService)
+        private readonly IInvokeERPService _invokeERPService;
+        public MesController(IOutboundService outboundService, ITaskService taskService,IInvokeERPService invokeERPService)
         {
-            _purchaseOrderRepository = purchaseOrderRepository;
-            _purchaseOrderService = purchaseOrderService;
-            _supplierInfoService = supplierInfoService;
-            _materielInfoService = materielInfoService;
-            _outboundOrderService = outboundOrderService;
+            _outboundService = outboundService;
             _taskService = taskService;
+            _invokeERPService = invokeERPService;
         }
+
         /// <summary>
         /// 鎺ユ敹MES娴嬭瘯鏋跺嚭搴�
         /// </summary>
@@ -48,6 +46,7 @@
         {
             return _taskService.TestToolOut(model.Content);
         }
+
         /// <summary>
         /// 鎺ユ敹MES娴嬭瘯鏋堕��搴�
         /// </summary>
@@ -58,6 +57,7 @@
         {
             return _taskService.TestToolBack(model.Content);
         }
+
         /// <summary>
         /// 娴嬭瘯鏋舵姤搴�
         /// </summary>
@@ -68,15 +68,201 @@
         {
             return _taskService.TestScrap(model.Content);
         }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="toolSynInfo"></param>
+        /// <returns></returns>
         [HttpPost, Route("TestSynStock"), AllowAnonymous]
-        public WebResponseContent TestSynStock([FromBody]TestToolSynInfo toolSynInfo)
+        public WebResponseContent TestSynStock([FromBody] TestToolSynInfo toolSynInfo)
         {
             return _taskService.TestSynStock(toolSynInfo);
         }
-        [HttpPost, Route("testHttp"), AllowAnonymous, MethodParamsValidate]
-        public string TestScrap(string str)
+
+        /// <summary>
+        /// 鍩烘澘鍑哄簱
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost, Route("SubstrateOut"), AllowAnonymous]
+        public MesResponseContent SubstrateOut([FromBody] Root<SubstrateOutModel> model)
         {
-            return HttpMesHelper.GetStr(str);
+            return _taskService.SubstrateOut(model.Content);
+        }
+
+        /// <summary>
+        /// 鍩烘澘浣欐枡閫�搴�
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost, Route("SubstrateBack"), AllowAnonymous]
+        public MesResponseContent SubstrateBack([FromBody] Root<SubstrateBackModel> model)
+        {
+            return _taskService.SubstrateBack(model.Content);
+        }
+        /// <summary>
+        /// PP澶у嵎鍑哄簱-杩涜鍒嗗嵎
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost, Route("PPSubsectionOut"), AllowAnonymous]
+        public MesResponseContent PPSubsectionOut([FromBody] Root<PPSubsectionOutModel> model)
+        {
+            return _taskService.PPSubsectionOut(model.Content);
+        }
+       /// <summary>
+       /// PP灏忓嵎鍑哄簱
+       /// </summary>
+       /// <param name="model"></param>
+       /// <returns></returns>
+        [HttpPost, Route("PPCutOut"), AllowAnonymous]
+        public MesResponseContent PPCutOut([FromBody] Root<PPCutOutModle> model)
+        {
+            return _taskService.PPCutOut(model.Content);
+        }
+
+        /// <summary>
+        /// PP鍏ュ簱(澶у嵎銆佸皬鍗枫�佸紶鏂�)
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost, Route("PPBack"), AllowAnonymous]
+        public MesResponseContent PPBack([FromBody] Root<PPBackModel> model)
+        {
+            return _taskService.PPBack(model.Content);
+        }
+
+        /// <summary>
+        /// PP搴撳瓨鏌ヨ
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost, Route("QueryPpByWidth"), AllowAnonymous]
+        public MesResponseContent QueryPpByWidth([FromBody] Root<QueryPpByWidthModel> model)
+        {
+            return _taskService.QueryPpByWidth(model.Content);
+        }
+
+        /// <summary>
+        /// 鐗╂枡鍑哄簱锛學MS鍚屾鍑哄簱鐗╂枡鎵规鑷矼ES
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost, Route("UploadMesMaterialLotaAcept"), AllowAnonymous]
+        public WebResponseContent UploadMesMaterialLotaAcept([FromBody] MesMaterialLotaAceptModel model)
+        {
+            return _taskService.UploadMesMaterialLotaAcept(model);
+        }
+        /// <summary>
+        /// MES鎴愬搧鍐呭寘淇℃伅鎺ユ敹
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost, Route("BagInfoSync"), AllowAnonymous]
+        public MesResponseContent BagInfoSync([FromBody] Root<MesBagInfoModel> model)
+        {
+            return _taskService.BagInfoSync(model.Content);
+        }
+        /// <summary>
+        /// MES鎴愬搧澶栧寘淇℃伅鎺ユ敹
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost, Route("BoxStockin"), AllowAnonymous]
+        public MesResponseContent BoxStockin([FromBody] Root<MesBoxInfoModel> model)
+        {
+            return _taskService.BoxStockin(model.Content);
+        }
+        /// <summary>
+        /// MES鎴愬搧鍑哄簱鎺ュ彛璋冪敤
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost, Route("ShipmentOrderSync"), AllowAnonymous]
+        public WebResponseContent ShipmentOrderSync([FromBody] MesShipmentOrderSync model)
+        {
+            return _taskService.ShipmentOrderSync(model);
+        }
+        /// <summary>
+        /// 鎴愬搧杩斿伐鎻愬簱
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost,Route("RworkTask"),AllowAnonymous]
+        public MesResponseContent RworkTask([FromBody] Root<RworkTaskModel> model)
+        {
+            return _taskService.RworkTask(model.Content);
+        }
+        /// <summary>
+        /// 搴撳瓨鏉垮嚭搴撳悓姝ユ帴鍙�
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost, Route("ProductOutBoundSync"), AllowAnonymous]
+        public WebResponseContent ProductOutBoundSync([FromBody] MesProductOutBound model)
+        {
+            return _outboundService.RworkOutboundOrderService.ProductOutBoundSync(model);
+        }
+        /// <summary>
+        /// 鐢熸垚MESPP浠撳ぇ鍗峰嚭搴撲换鍔�
+        /// </summary>
+        /// <param name="keys"></param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("MESPPGenerateOutboundTasks"), AllowAnonymous]
+        public WebResponseContent MESPPGenerateOutboundTasks([FromBody] int[] keys)
+        {
+            return _taskService.MESPPGenerateOutboundTasks(keys);
+        }
+
+        /// <summary>
+        /// 鐢熸垚MESPP浠撳皬鍗峰嚭搴撲换鍔�
+        /// </summary>
+        /// <param name="keys"></param>
+        /// <returns></returns>
+        //[HttpPost, HttpGet, Route("PPCutOutGenerateOutboundTasks"), AllowAnonymous]
+        //public WebResponseContent PPCutOutGenerateOutboundTasks([FromBody] int[] keys)
+        //{
+        //    return _taskService.PPCutOutGenerateOutboundTasks(keys);
+        //}
+
+        /// <summary>
+        /// 鐢熸垚鍑哄簱浠诲姟
+        /// </summary>
+        /// <param name="orderDetailId"></param>
+        /// <param name="stockSelectViews"></param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("PPCutOutGenerateOutboundTasks"), AllowAnonymous]
+        public WebResponseContent PPCutOutGenerateOutboundTasks(int orderDetailId, [FromBody] List<PPStockSelectViewDTO> stockSelectViews)
+        {
+            return _taskService.PPCutOutGenerateOutboundTasks(orderDetailId, stockSelectViews);
+        }
+
+        /// <summary>
+        /// PP骞冲簱鐩存帴鍑哄簱
+        /// </summary>
+        /// <param name="orderDetailId"></param>
+        /// <param name="stockSelectViews"></param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("PPGeneratePKOutboundTask"), AllowAnonymous]
+        public WebResponseContent PPGeneratePKOutboundTask(int orderDetailId, [FromBody] List<PPStockSelectViewDTO> stockSelectViews)
+        {
+            return _taskService.PPGeneratePKOutboundTask(orderDetailId, stockSelectViews);
+        }
+        /// <summary>
+        /// 妫�楠屽崟鍥炰紶鏇存柊
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost, Route("CheckResultReturn"), AllowAnonymous, MethodParamsValidate]
+        public MesResponseContent CheckResultReturn([FromBody] Root<ERPCheckModel>  model)
+        {
+            string content = _invokeERPService.InvokeCheckOrderApi(model.Content);
+            ErpRequestContent requestContent = content.DeserializeObject<ErpRequestContent>();
+            if (requestContent.res != 1)
+            {
+                return MesResponseContent.Instance.Error(requestContent.Data);
+            }
+            return MesResponseContent.Instance.OK("鎴愬姛");
         }
     }
 }

--
Gitblit v1.9.3