using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.DirectoryServices.Protocols;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseController;
using WIDESEA_DTO.GradingMachine;
using WIDESEA_DTO.Stock;
using WIDESEA_DTO.Task;
using WIDESEA_ITaskInfoService;
using WIDESEA_Model.Models;
namespace WIDESEA_WMSServer.Controllers.TaskInfo
{
///
/// 任务
///
[Route("api/Task")]
[ApiController]
public class TaskController : ApiBaseController
{
public TaskController(ITaskService service) : base(service)
{
}
///
/// 创建入库任务
///
///
///
[HttpGet, HttpPost, Route("CreateTaskInbound"),AllowAnonymous]
public async Task CreateTaskInboundAsync([FromBody] CreateTaskDto taskDto)
{
return await Service.CreateTaskInboundAsync(taskDto);
}
///
/// 根据指定的任务详情异步创建新的出库任务
///
///
///
[HttpGet, HttpPost, Route("CreateTaskOutbound"), AllowAnonymous]
public async Task CreateTaskOutboundAsync([FromBody] CreateTaskDto taskDto)
{
return await Service.CreateTaskOutboundAsync(taskDto);
}
///
/// 获取可入库货位
///
///
///
[HttpGet, HttpPost, Route("GetTasksLocation"), AllowAnonymous]
public async Task GetTasksLocationAsync([FromBody] CreateTaskDto taskDto)
{
return await Service.GetTasksLocationAsync(taskDto);
}
///
/// 入库任务完成:添加库存,修改货位状态,删除任务数据,添加历史任务数据
///
///
///
[HttpGet, HttpPost, Route("InboundFinishTask"), AllowAnonymous]
public async Task InboundFinishTaskAsync([FromBody] CreateTaskDto taskDto)
{
return await Service.InboundFinishTaskAsync(taskDto);
}
///
/// 出库任务完成 :修改库存,修改货位状态,删除任务数据,添加历史任务数据
///
///
///
[HttpGet, HttpPost, Route("OutboundFinishTask"), AllowAnonymous]
public async Task OutboundFinishTaskAsync([FromBody] CreateTaskDto taskDto)
{
return await Service.OutboundFinishTaskAsync(taskDto);
}
///
/// 移库任务完成:修改库存位置与状态,修改源/目标货位状态,删除任务数据
///
///
///
[HttpGet, HttpPost, Route("RelocationFinishTask"), AllowAnonymous]
public async Task RelocationFinishTaskAsync([FromBody] CreateTaskDto taskDto)
{
return await Service.RelocationFinishTaskAsync(taskDto);
}
///
/// 创建空托盘出库任务
///
///
///
[HttpGet, HttpPost, Route("GetOutBoundTrayTask"), AllowAnonymous]
public async Task GetOutBoundTrayTaskAsync([FromBody] CreateTaskDto taskDto)
{
return await Service.GetOutBoundTrayTaskAsync(taskDto);
}
///
/// 创建空托盘出库任务
///
///
///
[HttpGet, HttpPost, Route("CreateTaskInboundTray"), AllowAnonymous]
public async Task CreateTaskInboundTrayAsync([FromBody] CreateTaskDto taskDto)
{
return await Service.CreateTaskInboundTrayAsync(taskDto);
}
///
/// 修改任务状态(根据任务ID修改为指定状态)
///
///
///
[HttpGet, HttpPost, Route("UpdateTaskByStatus"), AllowAnonymous]
public async Task UpdateTaskByStatusAsync([FromBody] UpdateTaskDto taskDto)
{
return await Service.UpdateTaskByStatusAsync(taskDto.Id, taskDto.NewStatus);
}
///
/// 创建机械手组盘任务
///
///
///
[HttpGet, HttpPost, Route("CreateRobotGroupPalletTask"), AllowAnonymous]
public async Task CreateRobotGroupPalletTaskAsync([FromBody] StockDTO taskDto)
{
return await Service.CreateRobotGroupPalletTaskAsync(taskDto);
}
///
/// 创建机械手拆盘任务
///
///
///
[HttpGet, HttpPost, Route("CreateRobotSplitPalletTask"), AllowAnonymous]
public async Task CreateRobotSplitPalletTaskAsync([FromBody] StockDTO taskDto)
{
return await Service.CreateRobotSplitPalletTaskAsync(taskDto);
}
///
/// 创建机械手换盘任务
///
///
///
[HttpGet, HttpPost, Route("CreateRobotChangePalletTask"), AllowAnonymous]
public async Task CreateRobotChangePalletTaskAsync([FromBody] StockDTO taskDto)
{
return await Service.CreateRobotChangePalletTaskAsync(taskDto);
}
///
/// 堆垛机取放货完成后物流通知化成分容柜完成信号
///
///
///
[HttpGet, HttpPost, Route("InOrOutCompleted"), AllowAnonymous]
public async Task InOrOutCompletedAsync([FromBody] GradingMachineInputDto input)
{
return await Service.InOrOutCompletedAsync(input);
}
///
/// 化成分容柜定时向物流更新分容柜状态信息
///
///
///
[HttpGet, HttpPost, Route("SendLocationStatus"), AllowAnonymous]
public async Task SendLocationStatusAsync([FromBody] GradingMachineInputDto input)
{
return await Service.SendLocationStatusAsync(input);
}
///
/// 分容柜工作完成后调用此接口通知物流出库
///
///
///
[HttpGet, HttpPost, Route("RequestOutbound"), AllowAnonymous]
public async Task RequestOutboundAsync([FromBody] GradingMachineInputDto input)
{
return await Service.RequestOutboundAsync(input);
}
///
/// 入库完成分容调用获取托盘上每个通道电芯
///
///
///
[HttpGet, HttpPost, Route("GetPalletCodeCell"), AllowAnonymous]
public async Task GetPalletCodeCellAsync([FromBody] GradingMachineInputDto input)
{
return await Service.GetPalletCodeCellAsync(input);
}
#region 极卷库任务模块
///
/// 出入库申请
///
/// 请求参数
///
[HttpPost("ApplyInOut"), AllowAnonymous]
public async Task ApplyInOutAsync([FromBody] ApplyInOutDto applyInOutDto)
{
return await Service.ApplyInOutAsync(applyInOutDto);
}
///
/// 手动出库完成反馈给AGV
///
/// 请求参数
///
[HttpPost, Route("OutTaskComplete"), AllowAnonymous]
public async Task OutTaskComplete([FromBody] OutTaskCompleteDto outTaskCompleteDto)
{
return await Service.OutTaskComplete(outTaskCompleteDto);
}
/////
///// 任务完成
/////
///// 请求参数
/////
//[HttpPost, Route("TaskCompleted"), AllowAnonymous]
//public async Task TaskCompleted([FromBody] WCSTaskDTO wCSTask)
//{
// return await Service.TaskCompleted(wCSTask);
//}
///
/// 输送线申请进入
///
/// 请求参数
///
[HttpPost("ApplyEnter"), AllowAnonymous]
public async Task ApplyEnterAsync([FromBody] ApplyEnterDto applyEnterDto)
{
return await Service.ApplyEnterAsync(applyEnterDto);
}
///
/// 取放货完成
///
/// 请求参数
///
[HttpPost("TaskComplete"), AllowAnonymous]
public async Task TaskCompleteAsync([FromBody] TaskCompleteDto taskCompleteDto)
{
return await Service.TaskCompleteAsync(taskCompleteDto);
}
///
/// 任务取消
///
/// 请求参数
///
[HttpPost("TaskCancel"), AllowAnonymous]
public async Task TaskCancelAsync([FromBody] TaskCancelDto taskCancelDto)
{
return await Service.TaskCancelAsync(taskCancelDto);
}
#endregion 极卷库任务模块
}
}