155 lines
6.1 KiB
C#
155 lines
6.1 KiB
C#
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);
|
||
}
|
||
}
|