init commit

This commit is contained in:
路 范
2022-03-30 17:54:33 +08:00
parent df01841625
commit 904bdd16cd
500 changed files with 217251 additions and 0 deletions

View File

@@ -0,0 +1,146 @@
using Ewide.Core;
using Microsoft.Extensions.Localization;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace RoadFlow.Data
{
public interface IForm : IRoadFlowRepository<RoadFlow.Model.rf_form>
{
/// <summary>
/// 获取表单运行时HTML
/// </summary>
/// <param name="formId">表单ID</param>
/// <param name="attrJson">预览表单时传</param>
/// <param name="eventJson">预览表单时传</param>
/// <returns>表单相关属性json</returns>
public JObject GetRunJObject(string formId, string attrJson = "", string eventJson = "");
/// <summary>
/// 根据字符串表达式得到选项
/// </summary>
/// <param name="expression">选项文本1,选项值1;选项文本2,选项值2</param>
/// <returns></returns>
public string GetOptionsByStringExpression(string expression, string defaultValue = "");
/// <summary>
/// 查询表单数据
/// </summary>
/// <param name="connId"></param>
/// <param name="tableName"></param>
/// <param name="primaryKey"></param>
/// <param name="taskId"></param>
/// <param name="flowId"></param>
/// <param name="formatJSON"></param>
/// <param name="fieldStatusJSON"></param>
/// <param name="groupId">动态步骤模式时用于获取步骤字段状态</param>
/// <returns></returns>
public string GetFormData(string connId, string tableName, string primaryKey, string instanceId, string stepId, string flowId, string formatJSON, out string fieldStatusJSON, string groupId = "");
/// <summary>
/// 得到一个连接SQL的数据表JArray
/// </summary>
/// <param name="connId"></param>
/// <param name="sql"></param>
/// <returns>(rows, cols)</returns>
public (JArray, JArray) GetDataTablJArray(string connId, string sql);
/// <summary>
/// 得到子表行数据
/// </summary>
/// <param name="jObject"></param>
/// <param name="connId">连接id</param>
/// <param name="instanceId">实例id</param>
/// <returns></returns>
public JArray GetSubTableJarray(JObject jObject, string connId, string instanceId);
/// <summary>
/// 得到子表默认值json
/// </summary>
/// <param name="jObject"></param>
/// <returns></returns>
public JArray GetSubTableDefaultValueJArray(JArray jArray, SysUser userModel = null);
/// <summary>
/// 替换标题表达式
/// </summary>
/// <param name="titleExpression"></param>
/// <param name="tableName"></param>
/// <param name="instanceId"></param>
/// <returns></returns>
public string ReplaceTitleExpression(string titleExpression, string tableName, string instanceId, JObject formBody);
/// <summary>
/// 删除一个表单对应的数据
/// </summary>
/// <param name="formId">表单Id(RF_Form表Id)</param>
/// <param name="instanceId">实例Id</param>
/// <param name="programRunModel">设计的应用程序实体(用于判断数据删除后事件)</param>
/// <param name="localizer">语言包</param>
/// <param name="isVue">是否是VUE版本</param>
/// <returns>返回1表单成功其它为错误信息</returns>
public string DeleteFormData(string formId, string instanceId, Model.ProgramRun programRunModel = null, IStringLocalizer localizer = null, bool isVue = false);
/// <summary>
/// 保存表单数据(vue前后分离方式)
/// </summary>
/// <returns>业务表主键值, 错误信息</returns>
/// <param name="request">当前请求</param>
public (string, string) SaveDataVue(JObject args, IStringLocalizer localizer = null);
/// <summary>
/// 查询一页数据
/// </summary>
/// <param name="count"></param>
/// <param name="size"></param>
/// <param name="number"></param>
/// <param name="userId">当前人员ID</param>
/// <param name="name"></param>
/// <param name="type"></param>
/// <param name="order"></param>
/// <param name="status">状态,默认为查询没有删除的表单</param>
/// <returns></returns>
public List<Model.rf_form> GetPagerList(out int count, int size, int number, string userId, string name, string type, string order, int status = -1);
/// <summary>
/// 删除表单同时删除应用程序库中记录
/// </summary>
/// <param name="form">表单实体</param>
/// <param name="delete">是否彻底删除 0不 1彻底删除</param>
/// <returns></returns>
public int DeleteAndApplibrary(Model.rf_form form, int delete = 0);
/// <summary>
/// 清除表单运行时HTML缓存
/// </summary>
/// <param name="formId">表单ID</param>
public void ClearRunJObjectCache(string formId);
/// <summary>
/// 根据SQL得到下拉选项(vue项目用)
/// </summary>
/// <param name="connId"></param>
/// <param name="sql"></param>
/// <param name="value"></param>
/// <returns></returns>
public JArray GetJArrayOptionsBySQL(string connId, string sql, string value);
/// <summary>
/// 根据URL得到下拉选项
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public string GetOptionsByUrl(string url);
/// <summary>
/// 导入表单
/// </summary>
/// <param name="json"></param>
/// <param name="createFile">是否需要创建文件VUE不需要创建文件</param>
/// <returns>返回1表示成功其它为错误信息</returns>
public string ImportForm(string json, bool createFile = true);
}
}