wanshenmean
2026-03-17 94ad631d316da04c46266ddb1fc6e63e6f8f2fae
Code/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs
@@ -18,11 +18,14 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using WIDESEA_DTO.GradingMachine;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
@@ -37,5 +40,119 @@
    public interface ITaskService : IService<Dt_Task>
    {
        IRepository<Dt_Task> Repository { get; }
        /// <summary>
        /// 创建任务(组盘入库任务、空托盘回库任务)
        /// </summary>
        /// <param name="taskDto">要创建的出库任务的详细信息。不能为null。</param>
        /// <returns>是否成功</returns>
        Task<WebResponseContent> CreateTaskInboundAsync(CreateTaskDto taskDto);
        /// <summary>
        /// 根据指定的任务详情异步创建新的出库任务。
        /// </summary>
        /// <param name="taskDto">要创建的出库任务的详细信息。不能为null。</param>
        /// <returns>表示异步操作的任务。任务
        Task<WebResponseContent> CreateTaskOutboundAsync(CreateTaskDto taskDto);
        /// <summary>
        /// 获取可入库货位
        /// </summary>
        /// <param name="warehouseId"></param>
        /// <param name="taskType"></param>
        /// <returns></returns>
        public Task<WebResponseContent> GetTasksLocationAsync(CreateTaskDto taskDto);
        /// <summary>
        /// 入库任务完成:添加库存,修改货位状态,删除任务数据,添加历史任务数据
        /// </summary>
        public Task<WebResponseContent> InboundFinishTaskAsync(CreateTaskDto taskDto);
        /// <summary>
        /// 出库任务完成 :修改库存,修改货位状态,删除任务数据,添加历史任务数据
        /// </summary>
        public Task<WebResponseContent> OutboundFinishTaskAsync(CreateTaskDto taskDto);
        /// <summary>
        /// 移库任务完成:修改库存位置与状态,修改源/目标货位状态,删除任务数据
        /// </summary>
        public Task<WebResponseContent> RelocationFinishTaskAsync(CreateTaskDto taskDto);
        /// <summary>
        /// 创建空托盘入库任务
        /// </summary>
        /// <param name="taskDto"></param>
        /// <returns></returns>
        Task<WebResponseContent> CreateTaskInboundTrayAsync(CreateTaskDto taskDto);
        /// <summary>
        /// 创建空托盘出库任务
        /// </summary>
        /// <param name="taskDto"></param>
        /// <returns></returns>
        Task<WebResponseContent> GetOutBoundTrayTaskAsync(CreateTaskDto taskDto);
        /// <summary>
        /// 修改任务状态(根据任务ID修改为指定状态)
        /// </summary>
        /// <param name="taskId"></param>
        /// <param name="newStatus"></param>
        /// <returns></returns>
        Task<WebResponseContent> UpdateTaskByStatusAsync(int taskId, int newStatus);
        /// <summary>
        /// 堆垛机取放货完成后物流通知化成分容柜完成信号
        /// </summary>
        /// <param name="input">分容柜输入数据</param>
        /// <returns>操作结果</returns>
        public Task<WebResponseContent> InOrOutCompletedAsync(GradingMachineInputDto input);
        /// <summary>
        /// 化成分容柜定时向物流更新分容柜状态信息
        /// </summary>
        /// <param name="input">分容柜输入数据</param>
        /// <returns>操作结果</returns>
        public Task<WebResponseContent> SendLocationStatusAsync(GradingMachineInputDto input);
        /// <summary>
        /// 分容柜工作完成后调用此接口通知物流出库
        /// </summary>
        /// <param name="input">分容柜输入数据</param>
        /// <returns>操作结果</returns>
        public Task<WebResponseContent> RequestOutboundAsync(GradingMachineInputDto input);
        /// <summary>
        /// 入库完成分容调用获取托盘上每个通道电芯
        /// </summary>
        /// <param name="input">分容柜输入数据</param>
        /// <returns>操作结果</returns>
        public Task<WebResponseContent> GetPalletCodeCellAsync(GradingMachineInputDto input);
        /// <summary>
        /// 自动创建出库任务 - 查询到期库存并创建任务
        /// </summary>
        /// <returns>包含创建结果的响应对象</returns>
        Task<WebResponseContent> CreateAutoOutboundTasksAsync();
        /// <summary>
        /// 创建机械手组盘任务
        /// </summary>
        /// <param name="stock"></param>
        /// <returns></returns>
        Task<WebResponseContent> CreateRobotGroupPalletTaskAsync(StockDTO stock);
        /// <summary>
        /// 创建机械手拆盘任务
        /// </summary>
        /// <param name="stock"></param>
        /// <returns></returns>
        Task<WebResponseContent> CreateRobotSplitPalletTaskAsync(StockDTO stock);
        /// <summary>
        /// 创建机械手换盘任务
        /// </summary>
        /// <param name="stock"></param>
        /// <returns></returns>
        Task<WebResponseContent> CreateRobotChangePalletTaskAsync(StockDTO stock);
    }
}