wangxinhui
2025-10-26 733c975cd8647f6d006736f1863bad731e32e6fb
ÏîÄ¿´úÂë/WMS/WMSServices/WIDESEA_WMSServer/Controllers/MES/MesController.cs
@@ -7,10 +7,16 @@
using WIDESEA_ITaskInfoService;
using WIDESEA_TaskInfoService;
using WIDESEA_DTO.ERP;
using WIDESEA_DTO.MES;
using WIDESEA_Core.Helper;
using Autofac.Core;
using WIDESEA_DTO.Stock;
using WIDESEA_BasicService;
using WIDESEA_DTO.Basic;
using WIDESEA_DTO.MES;
using WIDESEA_IOutboundService;
using WIDESEA_IInboundService;
using WIDESEA_External.MESService;
using WIDESEA_External.Model;
namespace WIDESEA_WMSServer.Controllers.MES
{
@@ -22,85 +28,125 @@
    public class MesController : ControllerBase
    {
        private readonly ITaskService _taskService;
        private readonly IOutMESOrderService _outMESOrderService;
        private readonly IMESProInOrderInfoService _proInOrderInfoService;
        private readonly IInvokeMESService _invokeMESService;
        public MesController(ITaskService taskService)
        public MesController(ITaskService taskService,IOutMESOrderService outMESOrderService,IMESProInOrderInfoService proInOrderInfoService, IInvokeMESService invokeMESService)
        {
            _taskService = taskService;
            _outMESOrderService = outMESOrderService;
            _proInOrderInfoService=proInOrderInfoService;
            _invokeMESService = invokeMESService;
        }
        /// <summary>
        /// æŽ¥æ”¶MES领料计划
        /// </summary>
        /// <returns></returns>
        [HttpPost, HttpGet, Route("ReceiveOutBound"), AllowAnonymous]
        public WebResponseContent ReceiveOutBound([FromBody] List<OutMESOrderDTO> outMESOrderDTOs)
        {
            return _taskService.ReceiveOutBound(outMESOrderDTOs);
        }
        /// <summary>
        /// MES自动叫料接口
        /// </summary>
        /// <returns></returns>
        [HttpPost, HttpGet, Route("ReceiveAutoIssue"), AllowAnonymous]
        public WebResponseContent ReceiveAutoIssue([FromBody] MESAutoIssueDTO autoIssueDTO)
        {
            return _taskService.ReceiveAutoIssue(autoIssueDTO);
        }
        /// <summary>
        /// æŽ¥æ”¶MES测试架出库
        /// MES手动叫料接口
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost, Route("TestToolOut"), AllowAnonymous, MethodParamsValidate]
        public MesResponseContent TestToolOut([FromBody] Root<TestToolOutModel> model)
        [HttpPost, HttpGet, Route("ReceiveManualIssue"), AllowAnonymous]
        public WebResponseContent ReceiveManualIssue([FromBody] MESManualIssueDTO manualIssueDTO)
        {
            return _taskService.TestToolOut(model.Content);
            return _taskService.ReceiveManualIssue(manualIssueDTO);
        }
        /// <summary>
        /// æŽ¥æ”¶MES测试架退库
        /// MES空托/余料呼叫接口
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost, Route("TestToolBack"), AllowAnonymous, MethodParamsValidate]
        public MesResponseContent TestToolBack([FromBody] Root<TestToolBackModel> model)
        [HttpPost, HttpGet, Route("ReceiveReturnIssue"), AllowAnonymous]
        public WebResponseContent ReceiveReturnIssue([FromBody] List<MESReturnIssueDTO> returnIssueDTOs)
        {
            return _taskService.TestToolBack(model.Content);
            return _taskService.ReceiveReturnIssue(returnIssueDTOs);
        }
        /// <summary>
        /// æµ‹è¯•架报废
        /// æˆå“/半成品信息同步接口
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost, Route("TestToolScrap"), AllowAnonymous, MethodParamsValidate]
        public MesResponseContent TestScrap([FromBody] Root<TestToolScrap> model)
        [HttpPost, HttpGet, Route("ReceiveProCodeInfo"), AllowAnonymous]
        public WebResponseContent ReceiveProCodeInfo([FromBody] List<MESProInDTO> proInDTOs)
        {
            return _taskService.TestScrap(model.Content);
            return _taskService.ReceiveProCodeInfo(proInDTOs);
        }
        /// <summary>
        ///
        /// MES工单停止接口
        /// </summary>
        /// <param name="toolSynInfo"></param>
        /// <returns></returns>
        [HttpPost, Route("TestSynStock"), AllowAnonymous]
        public WebResponseContent TestSynStock([FromBody] TestToolSynInfo toolSynInfo)
        [HttpPost, HttpGet, Route("ReceiveProOrderStop"), AllowAnonymous]
        public WebResponseContent ReceiveProOrderStop([FromBody] MESOrderStopDTO orderStopDTO)
        {
            return _taskService.TestSynStock(toolSynInfo);
            return _proInOrderInfoService.ReceiveProOrderStop(orderStopDTO);
        }
        /// <summary>
        /// åŸºæ¿ä½™æ–™é€€åº“
        /// MES配送出发通知
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost, Route("SubstrateBack"), AllowAnonymous]
        public MesResponseContent SubstrateBack([FromBody] Root<SubstrateBackModel> model)
        [HttpPost, Route("MESDispatchUp"), AllowAnonymous]
        public string MESDispatchUp([FromBody] MESDispatchModel mESDispatchModel)
        {
            return _taskService.SubstrateBack(model.Content);
            return _invokeMESService.MESDispatchUp(mESDispatchModel);
        }
        /// <summary>
        /// ç‰©æ–™å‡ºåº“,WMS同步出库物料批次至MES
        /// MES配送到达通知
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost, Route("UploadMesMaterialLotaAcept"), AllowAnonymous]
        public WebResponseContent UploadMesMaterialLotaAcept([FromBody] MesMaterialLotaAceptModel model)
        [HttpPost, Route("MESDelivery"), AllowAnonymous]
        public string MESDelivery([FromBody] MESDeliveryModel mESDeliveryModel)
        {
            return _taskService.UploadMesMaterialLotaAcept(model);
            return _invokeMESService.MESDelivery(mESDeliveryModel);
        }
        /// <summary>
        /// MES成品出库接口调用
        /// MES退料空托接收通知
        /// </summary>
        /// <returns></returns>
        [HttpPost, Route("ShipmentOrderSync"), AllowAnonymous]
        public WebResponseContent ShipmentOrderSync([FromBody] MesShipmentOrderSync model)
        [HttpPost, Route("MESRecepNotice"), AllowAnonymous]
        public string MESRecepNotice([FromBody] MESRecepNoticeModel mESRecepNoticeModel)
        {
            return _taskService.ShipmentOrderSync(model);
            return _invokeMESService.MESRecepNotice(mESRecepNoticeModel);
        }
        /// <summary>
        /// MES小车到达通知
        /// </summary>
        /// <param name="mESAvgArriveNoticeModel"></param>
        /// <returns></returns>
        [HttpPost, Route("MESAvgArriveNotice"), AllowAnonymous]
        public string MESAvgArriveNotice([FromBody] MESAvgArriveNoticeModel mESAvgArriveNoticeModel)
        {
            return _invokeMESService.MESAvgArriveNotice(mESAvgArriveNoticeModel);
        }
        /// <summary>
        /// MES产量回传
        /// </summary>
        /// <param name="boxCode"></param>
        /// <returns></returns>
        [HttpPost, Route("MESBoxCodeNotice"), AllowAnonymous]
        public string MESBoxCodeNotice(string boxCode)
        {
            return _invokeMESService.MESBoxCodeNotice(boxCode);
        }
    }
}