using Microsoft.AspNetCore.Authorization; 
 | 
using Microsoft.AspNetCore.Mvc; 
 | 
using WIDESEA_Core.Attributes; 
 | 
using WIDESEA_Core; 
 | 
using WIDESEA_DTO; 
 | 
using WIDESEA_IBasicService; 
 | 
using WIDESEA_IInboundRepository; 
 | 
using WIDESEA_IInboundService; 
 | 
using WIDESEA_IOutboundService; 
 | 
using WIDESEA_ITaskInfoService; 
 | 
using WIDESEA_TaskInfoService; 
 | 
using WIDESEA_DTO.ERP; 
 | 
using WIDESEA_DTO.MES; 
 | 
using WIDESEA_Core.Helper; 
 | 
  
 | 
namespace WIDESEA_WMSServer.Controllers.MES 
 | 
{ 
 | 
    /// <summary> 
 | 
    /// MES接口 
 | 
    /// </summary> 
 | 
    [Route("api/Mes")] 
 | 
    [ApiController] 
 | 
    public class MesController : ControllerBase 
 | 
    { 
 | 
        private readonly IOutboundService _outboundService; 
 | 
        private readonly ITaskService _taskService; 
 | 
  
 | 
        public MesController(IOutboundService outboundService, ITaskService taskService) 
 | 
        { 
 | 
            _outboundService = outboundService; 
 | 
            _taskService = taskService; 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 接收MES测试架出库 
 | 
        /// </summary> 
 | 
        /// <param name="model"></param> 
 | 
        /// <returns></returns> 
 | 
        [HttpPost, Route("TestToolOut"), AllowAnonymous, MethodParamsValidate] 
 | 
        public MesResponseContent TestToolOut([FromBody] Root<TestToolOutModel> model) 
 | 
        { 
 | 
            return _taskService.TestToolOut(model.Content); 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 接收MES测试架退库 
 | 
        /// </summary> 
 | 
        /// <param name="model"></param> 
 | 
        /// <returns></returns> 
 | 
        [HttpPost, Route("TestToolBack"), AllowAnonymous, MethodParamsValidate] 
 | 
        public MesResponseContent TestToolBack([FromBody] Root<TestToolBackModel> model) 
 | 
        { 
 | 
            return _taskService.TestToolBack(model.Content); 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 测试架报废 
 | 
        /// </summary> 
 | 
        /// <param name="model"></param> 
 | 
        /// <returns></returns> 
 | 
        [HttpPost, Route("TestToolScrap"), AllowAnonymous, MethodParamsValidate] 
 | 
        public MesResponseContent TestScrap([FromBody] Root<TestToolScrap> model) 
 | 
        { 
 | 
            return _taskService.TestScrap(model.Content); 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        ///  
 | 
        /// </summary> 
 | 
        /// <param name="toolSynInfo"></param> 
 | 
        /// <returns></returns> 
 | 
        [HttpPost, Route("TestSynStock"), AllowAnonymous] 
 | 
        public WebResponseContent TestSynStock([FromBody]TestToolSynInfo toolSynInfo) 
 | 
        { 
 | 
            return _taskService.TestSynStock(toolSynInfo); 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 基板出库 
 | 
        /// </summary> 
 | 
        /// <param name="model"></param> 
 | 
        /// <returns></returns> 
 | 
        [HttpPost, Route("SubstrateOut"), AllowAnonymous] 
 | 
        public MesResponseContent SubstrateOut([FromBody] Root<SubstrateOutModel> model) 
 | 
        { 
 | 
            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> 
 | 
        /// 物料出库,WMS同步出库物料批次至MES 
 | 
        /// </summary> 
 | 
        /// <param name="model"></param> 
 | 
        /// <returns></returns> 
 | 
        [HttpPost, Route("UploadMesMaterialLotaAcept"), AllowAnonymous] 
 | 
        public WebResponseContent UploadMesMaterialLotaAcept([FromBody] MesMaterialLotaAceptModel model) 
 | 
        { 
 | 
            return _taskService.UploadMesMaterialLotaAcept(model); 
 | 
        } 
 | 
    } 
 | 
} 
 |