Files
number_zj/20220330_Vote/Ewide.RoadFlow/Data/Flow/IFlow.cs
2022-03-30 17:54:33 +08:00

155 lines
6.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using Microsoft.Extensions.Localization;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace RoadFlow.Data
{
public interface IFlow:IRoadFlowRepository<Model.rf_flow>
{
/// <summary>
/// 查询一页数据
/// </summary>
/// <param name="count"></param>
/// <param name="size"></param>
/// <param name="number"></param>
/// <param name="flowId">可管理的流程ID</param>
/// <param name="whereLambda"></param>
/// <param name="orderbyLambda"></param>
/// <param name="isAsc"></param>
/// <returns></returns>
List<Model.rf_flow> GetPagerList(out int count, int size, int number, List<string> flowIdList, string name, List<string> types, string order, int status = -1);
/// <summary>
/// 得到一个用户可管理的流程
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public List<string> GetManageFlowIds(string userId);
/// <summary>
/// 得到一个用户可管理的流程
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public List<Model.rf_flow> GetManageFlow(string userId);
/// <summary>
/// 得到状态显示
/// </summary>
/// <param name="status"></param>
/// <param name="localizer">语言包</param>
/// <returns></returns>
public string GetStatusTitle(int status, IStringLocalizer localizer = null);
/// <summary>
/// 保存流程
/// </summary>
/// <param name="json"></param>
/// <param name="localizer">语言包</param>
/// <returns></returns>
public string Save(string json, IStringLocalizer localizer = null);
/// <summary>
/// 流程另存为
/// </summary>
/// <param name="flowId">流程ID</param>
/// <param name="newFlowName">新的流程名称</param>
/// <returns>返回guid字符串表示成功(新流程的ID),其它为错误信息</returns>
/// <param name="localizer">语言包</param>
public string SaveAs(string flowId, string newFlowName, IStringLocalizer localizer = null);
/// <summary>
/// 安装流程
/// </summary>
/// <param name="json"></param>
/// <param name="logTitle">日志标题</param>
/// <param name="localizer">语言包</param>
/// <returns></returns>
public string Install(string json, IStringLocalizer localizer = null);
/// <summary>
/// 安装流程
/// </summary>
/// <param name="flow">流程实体</param>
/// <param name="appLibrary">应用程序库实体</param>
public int Install(Model.rf_flow flow);
/// <summary>
/// 卸载或作删除标记流程
/// </summary>
/// <param name="json"></param>
/// <param name="logTitle">日志标题</param>
/// <param name="status">状态2卸载 3删除</param>
/// <param name="localizer">语言包</param>
/// <returns></returns>
public string UnInstall(string json, int status, IStringLocalizer localizer = null);
/// <summary>
/// 得到流程运行时实体
/// </summary>
/// <param name="json">流程设置JSON</param>
/// <param name="errMsg">加载错误时的错误信息</param>
/// <param name="localizer">语言包</param>
/// <returns></returns>
public Model.FlowRun GetFlowRunModel(string json, out string errMsg, IStringLocalizer localizer = null);
/// <summary>
/// 查询一个流程
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public Model.rf_flow Get(string id);
/// <summary>
/// 导入流程
/// </summary>
/// <param name="json"></param>
/// <param name="createFormFile">是否要创建表单文件VUE导入时不需要创建</param>
/// <returns>返回1表示成功其它为错误信息</returns>
public string ImportFlow(string json, bool createFormFile = true);
/// <summary>
/// 查询一页数据
/// </summary>
/// <param name="count"></param>
/// <param name="size"></param>
/// <param name="number"></param>
/// <param name="flowIdList"></param>
/// <param name="name"></param>
/// <param name="type"></param>
/// <param name="order"></param>
/// <param name="status">状态-1表示查询未删除的流程</param>
/// <returns></returns>
List<Model.rf_flow> GetPagerList(out int count, int size, int number, List<string> flowIdList, string name, string type, string order, int status = -1);
/// <summary>
/// 得到一个用户可以发起的流程运行时实体列表
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public List<Model.FlowRun> GetStartFlows(string userId);
/// <summary>
/// 得到流程运行时实体
/// </summary>
/// <param name="id">流程ID</param>
/// <param name="isCache">是否从缓存中取</param>
/// <param name="currentTask">当前任务实体(动态步骤时要取动态的步骤流程运行时实体)</param>
/// <returns></returns>
public Model.FlowRun GetFlowRunModel(string id, bool isCache = true, RoadFlow.Model.rf_flowtask currentTask = null);
/// <summary>
/// 得到一个步骤的所有后续步骤集合
/// </summary>
/// <param name="flowRunModel"></param>
/// <param name="stepId"></param>
/// <returns></returns>
public List<Model.FlowRunModel.Step> GetAllNextSteps(Model.FlowRun flowRunModel, Guid stepId);
/// <summary>
/// 得到一个用户可管理实例的流程
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public List<string> GetManageInstanceFlowIds(string userId);
}
}