using MailKit.Search;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics;
using System.Threading.Tasks;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Core;
using WIDESEA_Core.Attributes;
using WIDESEA_Core.BaseController;
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)
{
}
[HttpPost, Route("AddTestTask"), AllowAnonymous, MethodParamsValidate]
public WebResponseContent AddTest(WMSTaskDTO wMSTaskDTO)
{
Dt_Task task = new Dt_Task
{
PalletCode = wMSTaskDTO.PalletCode,
PalletType = wMSTaskDTO.PalletType,
Roadway = "t",
TaskType = wMSTaskDTO.TaskType,
TaskStatus = wMSTaskDTO.TaskStatus,
SourceAddress = wMSTaskDTO.SourceAddress,
TargetAddress = wMSTaskDTO.TargetAddress,
CurrentAddress = "t",
NextAddress = "t",
WarehouseId = wMSTaskDTO.WarehouseId,
OrderNo = "testt",
Grade = wMSTaskDTO.Grade,
Dispatchertime = DateTime.Now,
};
Service.AddData(task);
return WebResponseContent.Instance.OK();
}
[HttpPost, Route("PalletOutboundTask"), AllowAnonymous, MethodParamsValidate]
public async Task PalletOutboundTask(int num, int locationType)
{
return await Service.PalletOutboundTask(num, locationType);
}
///
/// 生成出库任务
///
///
///
[HttpPost, HttpGet, Route("GenerateOutboundTasks"), AllowAnonymous]
public async Task GenerateOutboundTasks([FromBody] GenerateOutboundTasksDto data)
{
return await Service.GenerateOutboundTasksAsync(data.taskIds, data.outboundPlatform);
}
///
/// 生成出库任务
///
///
///
///
[HttpPost, HttpGet, Route("GenerateOutboundTask"), AllowAnonymous]
public async Task GenerateOutboundTask(int orderDetailId, string station, [FromBody] List stockSelectViews)
{
return await Service.GenerateOutboundTask(orderDetailId, stockSelectViews, station);
}
///
/// 生成出库任务
///
///
///
///
[HttpPost, HttpGet, Route("GenerateAllocatOutboundTask"), AllowAnonymous]
public async Task GenerateAllocatOutboundTask(int orderDetailId, [FromBody] List stockSelectViews)
{
return await Service.GenerateAllocatOutboundTask(orderDetailId, stockSelectViews);
}
///
/// 分批生成出库任务
///
///
///
[HttpPost, HttpGet, Route("GenerateOutboundBatchTasks"), AllowAnonymous]
public async Task GenerateOutboundBatchTasks([FromBody] GenerateOutboundBatchTasksDto data)
{
return await Service.GenerateOutboundBatchTasksAsync(data.orderDetailId,data.batchQuantity, data.outboundPlatform);
}
}
}