using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseController; using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; namespace WIDESEAWCS_WCSServer.Controllers.Task { [Route("/api/warehouse")] [ApiController] public class WMSTaskController : ApiBaseController { private readonly IHttpContextAccessor _httpContextAccessor; public WMSTaskController(ITaskService service, IHttpContextAccessor httpContextAccessor) : base(service) { _httpContextAccessor = httpContextAccessor; } //创建任务 [HttpPost, Route("saveTask"), AllowAnonymous] public ApiResponse saveTask([FromBody] TransferTask transfer) { return Service.saveTask(transfer); } //通知库口上料完成 [HttpPost, Route("scanData"), AllowAnonymous] public ApiResponse scanData([FromBody] TaskReportingData taskReporting) { return Service.scanData(taskReporting); } //获取库口状态 [HttpPost, Route("getPortStatus"), AllowAnonymous] public ApiResponse getPortStatus([FromBody] string[] datas) { return Service.getPortStatus(datas); } //获取光幕状态 [HttpPost, Route("getSafeStatus"), AllowAnonymous] public ApiResponse getSafeStatus([FromBody] string[] datas) { return Service.getSafeStatus(datas); } //设置光幕 [HttpPost, Route("setCurtain"), AllowAnonymous] public ApiResponse setCurtain([FromBody] SetCurtainRequest setCurtain) { return Service.setCurtain(setCurtain); } //AGV进出接口 [HttpPost, Route("getAGVStatus"), AllowAnonymous] public ApiResponse getAGVStatus([FromBody] AgvUpdateRequest agvUpdateRequest) { return Service.getAGVStatus(agvUpdateRequest); } //任务状态回调 [HttpGet, Route("taskreturn"), AllowAnonymous] public CommandResult taskreturn(int taskId, string taskType, string invType, string psd) { return Service.taskreturn(taskId, taskType, invType, psd); } //设备故障回调 [HttpGet, Route("deverror"), AllowAnonymous] public CommandResult deverror(string devuuid, string id, string errorcode, string errorinfo, string erroraddress, string warehouse, string remark, string devname, string dealType, string psd) { return Service.deverror(devuuid,id,errorcode,errorinfo, erroraddress, warehouse, remark, devname, dealType, psd); } //设备故障回调 [HttpGet, Route("liftinposition"), AllowAnonymous] public CommandResult liftinposition(string invtype, string invcode, string kloccode) { return Service.liftinposition(invtype, invcode, kloccode); } } }