1
wangxinhui
2025-06-11 33b47abc54be9d7047936d5e93fb6b0401052933
´úÂë¹ÜÀí/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
{
@@ -24,11 +28,12 @@
    {
        private readonly IOutboundService _outboundService;
        private readonly ITaskService _taskService;
        public MesController(IOutboundService outboundService, ITaskService taskService)
        private readonly IInvokeERPService _invokeERPService;
        public MesController(IOutboundService outboundService, ITaskService taskService,IInvokeERPService invokeERPService)
        {
            _outboundService = outboundService;
            _taskService = taskService;
            _invokeERPService = invokeERPService;
        }
        /// <summary>
@@ -70,7 +75,7 @@
        /// <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);
        }
@@ -96,6 +101,48 @@
        {
            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>
        /// ç‰©æ–™å‡ºåº“,WMS同步出库物料批次至MES
@@ -107,5 +154,115 @@
        {
            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] ERPCheckModel model)
        {
            string content = _invokeERPService.InvokeCheckOrderApi(model);
            ErpRequestContent requestContent = content.DeserializeObject<ErpRequestContent>();
            if (requestContent.res != 1)
            {
                return MesResponseContent.Instance.Error(requestContent.Data);
            }
            return MesResponseContent.Instance.OK("成功");
        }
    }
}