|
|
using DS.Module.Core;
|
|
|
using DS.Module.DjyServiceStatus;
|
|
|
using DS.WMS.Core.TaskPlat.Dtos;
|
|
|
using DS.WMS.Core.TaskPlat.Entity;
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
using SqlSugar;
|
|
|
using System.Linq.Expressions;
|
|
|
|
|
|
namespace DS.WMS.Core.TaskPlat.Interface
|
|
|
{
|
|
|
public interface ITaskManageService : ITaskManageBaseService
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 取消任务(可批量)
|
|
|
/// </summary>
|
|
|
/// <param name="ids">任务主键数组</param>
|
|
|
/// <returns>返回结果</returns>
|
|
|
Task<DataResult<TaskManageOrderResultDto>> CancelTask(long[] ids);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 完成任务(可批量)
|
|
|
/// </summary>
|
|
|
/// <param name="ids">任务主键数组</param>
|
|
|
/// <returns>返回结果</returns>
|
|
|
Task<DataResult<TaskManageOrderResultDto>> CompleteTask(long[] ids);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取登陆人相关的任务统计信息
|
|
|
/// </summary>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<DataResult<TaskUserStatResultInfo>> GetCurrentTotalStat(GetCurrentTotalStatQueryDto querySearch);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 任务台台账列表查询
|
|
|
/// </summary>
|
|
|
Task<DataResult<List<dynamic>>> GetPageAsync(PageRequest<QueryTaskManageDto> querySearch);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 创建任务
|
|
|
/// </summary>
|
|
|
/// <param name="info">任务详情</param>
|
|
|
/// <param name="file"></param>
|
|
|
/// <param name="modifyFile"></param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<DataResult> InitTaskJob(TaskManageOrderMessageInfo info, IFormFile file = null, IFormFile modifyFile = null);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 工作流设置任务在个人下的状态
|
|
|
/// </summary>
|
|
|
/// <param name="bsno">主业务主键</param>
|
|
|
/// <param name="taskBaseTypeEnum">主业务类型</param>
|
|
|
/// <param name="taskStatusEnum">业务状态</param>
|
|
|
/// <param name="statusTime">状态发生时间</param>
|
|
|
/// <param name="userInfos">要设置任务状态的人员列表</param>
|
|
|
/// <param name="childBsno">子业务主键[可选,当不为空时表示设置子任务的个人状态]</param>
|
|
|
/// <param name="childTaskBaseTypeEnum">子业务类型</param>
|
|
|
Task<DataResult> SetTaskUserStatus(long bsno, TaskBaseTypeEnum taskBaseTypeEnum, TaskStatusEnum taskStatusEnum, DateTime? statusTime, List<RecvUserInfo> userInfos,
|
|
|
long? childBsno = null, TaskBaseTypeEnum? childTaskBaseTypeEnum = null);
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 工作流设置任务状态
|
|
|
/// </summary>
|
|
|
/// <param name="bsno">业务主键</param>
|
|
|
/// <param name="taskBaseTypeEnum">业务类型</param>
|
|
|
/// <param name="taskStatusEnum">业务状态</param>
|
|
|
/// <param name="statusTime">状态发生时间</param>
|
|
|
/// <param name="isCheckAllChildTaskComplete">完成任务前是否检查所有子任务是否完成</param>
|
|
|
/// <param name="taskDesc">任务描述</param>
|
|
|
/// <param name="userIdList">用户Id列表,用于筛选指定用户下的任务[可选,当不为空时会设置此用户列表涉及到的相关任务的状态]</param>
|
|
|
/// <param name="childBsno">子业务主键[可选,当不为空时表示设置子任务的状态]</param>
|
|
|
/// <param name="childTaskBaseTypeEnum">子业务类型</param>
|
|
|
Task<DataResult> SetTaskStatusWithBsno(long bsno, TaskBaseTypeEnum taskBaseTypeEnum, TaskStatusEnum taskStatusEnum, DateTime? statusTime,bool isCheckAllChildTaskComplete, string? taskDesc = null, List<long>? userIdList = null,
|
|
|
long? childBsno = null, TaskBaseTypeEnum? childTaskBaseTypeEnum = null);
|
|
|
/// <summary>
|
|
|
/// 工作流任务转交
|
|
|
/// </summary>
|
|
|
/// <param name="bsno">业务主键</param>
|
|
|
/// <param name="taskBaseTypeEnum">业务类型</param>
|
|
|
/// <param name="userInfos">要转交的人员信息列表</param>
|
|
|
/// <param name="childBsno">子业务主键[可选,当不为空时表示设置子任务的状态]</param>
|
|
|
/// <param name="childTaskBaseTypeEnum">子业务类型</param>
|
|
|
Task<DataResult> TransferTask(long bsno, TaskBaseTypeEnum taskBaseTypeEnum, List<RecvUserInfo> userInfos, SqlSugarScopeProvider? tenantDb = null,
|
|
|
long? childBsno = null, TaskBaseTypeEnum? childTaskBaseTypeEnum = null);
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 工作流设置任务对象属性
|
|
|
/// </summary>
|
|
|
/// <param name="bsno">主任务业务主键</param>
|
|
|
/// <param name="taskBaseTypeEnum">主任务业务类型</param>
|
|
|
/// <param name="childBsno">子任务业务主键[可选,当不为空时表示设置子任务的状态]</param>
|
|
|
/// <param name="childTaskBaseTypeEnum">子任务业务类型</param>
|
|
|
/// <param name="columns">要修改的列</param>
|
|
|
Task<DataResult> SetTaskBaseInfoPropertyWithBsno(long bsno, TaskBaseTypeEnum taskBaseTypeEnum,
|
|
|
long? childBsno = null, TaskBaseTypeEnum? childTaskBaseTypeEnum = null,
|
|
|
params Expression<Func<TaskBaseInfo, bool>>[] columns);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 测试用
|
|
|
/// </summary>
|
|
|
Task<DataResult> TestTaskFlow(string taskType, long taskId, int testType);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 领取任务到当前登陆人(可批量)
|
|
|
/// </summary>
|
|
|
Task<DataResult> PullTask(long[] ids);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 任务台台账子任务列表查询
|
|
|
/// </summary>
|
|
|
Task<DataResult<List<dynamic>>> GetChildTaskList(long taskId);
|
|
|
}
|
|
|
}
|