using System.Collections.Generic; using System.Threading.Tasks; using GxPress.Entity; using GxPress.Entity.WorkFlow; using GxPress.Entity.WorkFlowDto; using GxPress.Entity.WorkProcessDto; using GxPress.Request.App.Flow; using GxPress.Result.App.Flow; namespace GxPress.Service.Interface { public interface IFlowService : IService { Task DeleteAsync(int flowId); Task AddAsync(FlowDto flow); Task GetAsync(int flowId); Task<(string Title, List Summaries)> GetFlowTitleAndSummaryAsync(User user, int processId, int flowId); Task GetFlowResult(int flowId, int userId = 0); Task GetTodoCountAsync(int userId); Task ListAllAsync(int page, int perPage, int processId, string state, string startDate, string endDate); Task ListMyCheckingAsync(int userId, FlowListRequest request, string source = ""); Task ListMyCheckedAsync(int userId, FlowListRequest request, string source = ""); Task ListSubmittedCheckingAsync(int userId, FlowListRequest request, string source = ""); Task ListSubmittedCheckedAsync(int userId, FlowListRequest request); Task ListCcUnreadAsync(int userId, FlowListRequest request); Task ListCcAllAsync(int userId, FlowListRequest request, string source = ""); Task> GetTodoListAsync(int userId, int page, int perPage, int processId); Task> GetNodesAsync(FlowDto flow, List nodes); Task NodeExecuteAsync(FlowDto flow, ProcessNodeDto node); Task CheckAsync(int todoId, bool isChecked, string message); Task TransferCheckAsync(int todoId, List transferUserIds, string message, List fileIds); Task DownloadAsync(int flowId); Task ReAddAsync(int flowId); /// /// 上会等待 /// /// /// /// Task ActionsWait(int flowId, int userId); /// /// 获取用户ID /// /// /// Task> GetListUserAsync(ProcessNodeDto node); Task RemindAsync(int flowId, int userId); /// /// 工作流程条件判断 /// /// /// Task NodeExecuteSwitchAsync(FlowDto flow, ProcessNodeDto processNode); Task AddInboxAsyc(FlowDto flow); /// /// 撤回 /// /// /// Task RecallAsync(int flowId,int userId); } }