You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

173 lines
6.5 KiB

  1. using Learun.Util;
  2. using System.Collections.Generic;
  3. namespace Learun.Application.WorkFlow
  4. {
  5. /// <summary>
  6. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  7. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  8. /// 创建人:陈彬彬
  9. /// 日 期:2017.04.17
  10. /// 描 述:工作流模板处理
  11. /// </summary>
  12. public interface WfSchemeIBLL
  13. {
  14. #region 获取数据
  15. /// <summary>
  16. /// 获取流程分页列表
  17. /// </summary>
  18. /// <param name="pagination">分页参数</param>
  19. /// <param name="keyword">关键字</param>
  20. /// <param name="category">分类</param>
  21. /// <returns></returns>
  22. IEnumerable<WfSchemeInfoEntity> GetSchemeInfoPageList(Pagination pagination, string keyword, string category);
  23. /// <summary>
  24. /// 获取流程模板分页列表
  25. /// </summary>
  26. /// <param name="pagination">分页参数</param>
  27. /// <param name="userInfo">登录者信息</param>
  28. /// <param name="queryJson">查询参数</param>
  29. /// <returns></returns>
  30. IEnumerable<WfSchemeInfoEntity> GetAppSchemeInfoPageList(Pagination pagination, UserInfo userInfo, string queryJson);
  31. /// <summary>
  32. /// 获取自定义流程列表
  33. /// </summary>
  34. /// <param name="userInfo">用户信息</param>
  35. /// <returns></returns>
  36. IEnumerable<WfSchemeInfoEntity> GetCustmerSchemeInfoList(UserInfo userInfo);
  37. /// <summary>
  38. /// 获取自定义流程列表(app)
  39. /// </summary>
  40. /// <param name="userInfo">用户信息</param>
  41. /// <returns></returns>
  42. IEnumerable<WfSchemeInfoEntity> GetAppCustmerSchemeInfoList(UserInfo userInfo);
  43. /// <summary>
  44. /// 获取模板列表
  45. /// </summary>
  46. /// <param name="schemeInfoId">模板信息主键</param>
  47. /// <returns></returns>
  48. IEnumerable<WfSchemeEntity> GetWfSchemeList(string schemeInfoId);
  49. /// <summary>
  50. /// 获取模板列表
  51. /// </summary>
  52. /// <param name="pagination">分页参数</param>
  53. /// <param name="schemeInfoId">模板信息主键</param>
  54. /// <returns></returns>
  55. IEnumerable<WfSchemeEntity> GetSchemePageList(Pagination pagination, string schemeInfoId);
  56. /// <summary>
  57. /// 获取模板基础信息的实体
  58. /// </summary>
  59. /// <param name="code">流程编号</param>
  60. /// <returns></returns>
  61. WfSchemeInfoEntity GetWfSchemeInfoEntityByCode(string code);
  62. /// <summary>
  63. /// 获取模板的实体
  64. /// </summary>
  65. /// <param name="keyValue">主键</param>
  66. /// <returns></returns>
  67. WfSchemeEntity GetWfSchemeEntity(string keyValue);
  68. /// <summary>
  69. /// 获取模板的实体通过流程编号
  70. /// </summary>
  71. /// <param name="code">流程编号</param>
  72. /// <returns></returns>
  73. WfSchemeEntity GetWfSchemeEntityByCode(string code);
  74. /// <summary>
  75. /// 获取流程模板权限列表
  76. /// </summary>
  77. /// <param name="schemeInfoId">模板信息主键</param>
  78. /// <returns></returns>
  79. IEnumerable<WfSchemeAuthorizeEntity> GetWfSchemeAuthorizeList(string schemeInfoId);
  80. #endregion
  81. #region 提交数据
  82. /// <summary>
  83. /// 虚拟删除模板信息
  84. /// </summary>
  85. /// <param name="keyValue">主键</param>
  86. void VirtualDelete(string keyValue);
  87. /// <summary>
  88. /// 保存模板信息
  89. /// </summary>
  90. /// <param name="keyValue">主键</param>
  91. /// <param name="wfSchemeInfoEntity">模板基础信息</param>
  92. /// <param name="wfSchemeEntity">模板信息</param>
  93. void SaveEntity(string keyValue, WfSchemeInfoEntity wfSchemeInfoEntity, WfSchemeEntity wfSchemeEntity, List<WfSchemeAuthorizeEntity> wfSchemeAuthorizeList);
  94. /// <summary>
  95. /// 更新流程模板
  96. /// </summary>
  97. /// <param name="schemeInfoId">模板信息主键</param>
  98. /// <param name="schemeId">模板主键</param>
  99. void UpdateScheme(string schemeInfoId, string schemeId);
  100. /// <summary>
  101. /// 保存模板基础信息
  102. /// </summary>
  103. /// <param name="keyValue">主键</param>
  104. /// <param name="schemeInfoEntity">模板基础信息</param>
  105. void SaveSchemeInfoEntity(string keyValue, WfSchemeInfoEntity schemeInfoEntity);
  106. /// <summary>
  107. /// 更新自定义表单模板状态
  108. /// </summary>
  109. /// <param name="schemeInfoId">模板信息主键</param>
  110. /// <param name="state">状态1启用0禁用</param>
  111. void UpdateState(string schemeInfoId, int state);
  112. #endregion
  113. #region 扩展方法
  114. /// <summary>
  115. /// 初始化模板数据
  116. /// </summary>
  117. /// <param name="wfSchemeEntity">模板数据</param>
  118. void SchemeInit(WfSchemeEntity wfSchemeEntity);
  119. /// <summary>
  120. /// 获取开始节点
  121. /// </summary>
  122. /// <returns></returns>
  123. WfNodeInfo GetStartNode();
  124. /// <summary>
  125. /// 获取流程处理节点
  126. /// </summary>
  127. /// <param name="nodeId">流程处理节点主键</param>
  128. /// <returns></returns>
  129. WfNodeInfo GetNode(string nodeId);
  130. /// <summary>
  131. /// 寻找到下一个节点
  132. /// </summary>
  133. /// <param name="nodeId">当前Id</param>
  134. /// <param name="transportType">流转类型1.同意2.不同意3.超时</param>
  135. /// <returns></returns>
  136. List<WfNodeInfo> GetNextNodes(string nodeId, WfTransportType transportType);
  137. /// <summary>
  138. /// 获取上一节点数据
  139. /// </summary>
  140. /// <param name="nodeId">节点主键</param>
  141. /// <returns></returns>
  142. int GetPreNodeNum(string nodeId);
  143. /// <summary>
  144. /// 判断两节点是否连接
  145. /// </summary>
  146. /// <param name="formNodeId">开始节点</param>
  147. /// <param name="toNodeId">结束节点</param>
  148. /// <returns></returns>
  149. bool IsToNode(string formNodeId, string toNodeId);
  150. #endregion
  151. #region 扩展数据
  152. /// <summary>
  153. /// 获取流程模板使用次数列表
  154. /// </summary>
  155. /// <param name="queryJson">查询参数</param>
  156. /// <returns></returns>
  157. IEnumerable<WfProcessInstanceEntity> GetWfSchemeUseList(string queryJson);
  158. IEnumerable<WfProcessInstanceEntity> GetWfSchemeStart();
  159. #endregion
  160. }
  161. }