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.
 
 
 
 
 
 

319 lines
9.3 KiB

  1. using Learun.Application.WorkFlow;
  2. using Learun.Util;
  3. using System.Collections.Generic;
  4. using System.Web.Mvc;
  5. namespace Learun.Application.Web.Areas.LR_WorkFlowModule.Controllers
  6. {
  7. /// <summary>
  8. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  9. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  10. /// 创建人:陈彬彬
  11. /// 日 期:2017.04.17
  12. /// 描 述:工作流模板处理
  13. /// </summary>
  14. public class WfSchemeController : MvcControllerBase
  15. {
  16. private WfSchemeIBLL wfSchemeIBLL = new WfSchemeBLL();
  17. #region 视图功能
  18. /// <summary>
  19. /// 流程模板管理
  20. /// </summary>
  21. /// <returns></returns>
  22. [HttpGet]
  23. public ActionResult Index()
  24. {
  25. return View();
  26. }
  27. /// <summary>
  28. /// 流程模板设计
  29. /// </summary>
  30. /// <returns></returns>
  31. [HttpGet]
  32. public ActionResult Form()
  33. {
  34. return View();
  35. }
  36. /// <summary>
  37. /// 流程模板设计历史记录
  38. /// </summary>
  39. /// <returns></returns>
  40. [HttpGet]
  41. public ActionResult HistoryForm()
  42. {
  43. return View();
  44. }
  45. /// <summary>
  46. /// 预览流程模板
  47. /// </summary>
  48. /// <returns></returns>
  49. [HttpGet]
  50. public ActionResult PreviewForm()
  51. {
  52. return View();
  53. }
  54. /// <summary>
  55. /// 节点信息设置
  56. /// </summary>
  57. /// <returns></returns>
  58. [HttpGet]
  59. public ActionResult NodeForm()
  60. {
  61. return View();
  62. }
  63. #region 审核人员添加
  64. /// <summary>
  65. /// 添加岗位
  66. /// </summary>
  67. /// <returns></returns>
  68. [HttpGet]
  69. public ActionResult PostForm()
  70. {
  71. return View();
  72. }
  73. /// <summary>
  74. /// 添加角色
  75. /// </summary>
  76. /// <returns></returns>
  77. [HttpGet]
  78. public ActionResult RoleForm()
  79. {
  80. return View();
  81. }
  82. /// <summary>
  83. /// 添加用户
  84. /// </summary>
  85. /// <returns></returns>
  86. [HttpGet]
  87. public ActionResult UserForm()
  88. {
  89. return View();
  90. }
  91. #endregion
  92. #region 表单添加
  93. /// <summary>
  94. /// 表单添加
  95. /// </summary>
  96. /// <returns></returns>
  97. [HttpGet]
  98. public ActionResult WorkformForm()
  99. {
  100. return View();
  101. }
  102. #endregion
  103. #region 表单权限设置
  104. /// <summary>
  105. /// 权限添加
  106. /// </summary>
  107. /// <returns></returns>
  108. [HttpGet]
  109. public ActionResult AuthorizeForm()
  110. {
  111. return View();
  112. }
  113. #endregion
  114. #region 条件字段
  115. /// <summary>
  116. /// 条件字段添加
  117. /// </summary>
  118. /// <returns></returns>
  119. [HttpGet]
  120. public ActionResult ConditionFieldForm()
  121. {
  122. return View();
  123. }
  124. /// <summary>
  125. /// 字段选择
  126. /// </summary>
  127. /// <returns></returns>
  128. [HttpGet]
  129. public ActionResult FieldSelectForm()
  130. {
  131. return View();
  132. }
  133. #endregion
  134. /// <summary>
  135. /// 线段信息设置
  136. /// </summary>
  137. /// <returns></returns>
  138. [HttpGet]
  139. public ActionResult LineForm()
  140. {
  141. return View();
  142. }
  143. #endregion
  144. #region 获取数据
  145. /// <summary>
  146. /// 获取分页数据
  147. /// </summary>
  148. /// <param name="pagination">分页参数</param>
  149. /// <param name="keyword">关键字</param>
  150. /// <returns></returns>
  151. [HttpGet]
  152. [AjaxOnly]
  153. public ActionResult GetSchemeInfoPageList(string pagination, string keyword, string category)
  154. {
  155. Pagination paginationobj = pagination.ToObject<Pagination>();
  156. var data = wfSchemeIBLL.GetSchemeInfoPageList(paginationobj, keyword, category);
  157. var jsonData = new
  158. {
  159. rows = data,
  160. total = paginationobj.total,
  161. page = paginationobj.page,
  162. records = paginationobj.records,
  163. };
  164. return JsonResult(jsonData);
  165. }
  166. /// <summary>
  167. /// 获取自定义流程列表
  168. /// </summary>
  169. /// <returns></returns>
  170. [HttpGet]
  171. [AjaxOnly]
  172. public ActionResult GetCustmerSchemeInfoList()
  173. {
  174. UserInfo userInfo = LoginUserInfo.Get();
  175. var data = wfSchemeIBLL.GetCustmerSchemeInfoList(userInfo);
  176. return JsonResult(data);
  177. }
  178. /// <summary>
  179. /// 获取设计表单数据
  180. /// </summary>
  181. /// <param name="keyValue">主键</param>
  182. /// <returns></returns>
  183. [HttpGet]
  184. [AjaxOnly]
  185. public ActionResult GetFormData(string schemeCode)
  186. {
  187. WfSchemeInfoEntity schemeInfoEntity = wfSchemeIBLL.GetWfSchemeInfoEntityByCode(schemeCode);
  188. if (schemeInfoEntity == null) {
  189. return JsonResult(new { });
  190. }
  191. WfSchemeEntity schemeEntity = wfSchemeIBLL.GetWfSchemeEntity(schemeInfoEntity.F_SchemeId);
  192. var wfSchemeAuthorizeList = wfSchemeIBLL.GetWfSchemeAuthorizeList(schemeInfoEntity.F_Id);
  193. var jsonData = new
  194. {
  195. schemeInfoEntity = schemeInfoEntity,
  196. schemeEntity = schemeEntity,
  197. wfSchemeAuthorizeList = wfSchemeAuthorizeList
  198. };
  199. return JsonResult(jsonData);
  200. }
  201. /// <summary>
  202. /// 获取模板分页数据
  203. /// </summary>
  204. /// <param name="pagination">分页参数</param>
  205. /// <param name="schemeInfoId"></param>
  206. /// <returns></returns>
  207. [HttpGet]
  208. [AjaxOnly]
  209. public ActionResult GetSchemePageList(string pagination, string schemeInfoId)
  210. {
  211. Pagination paginationobj = pagination.ToObject<Pagination>();
  212. var data = wfSchemeIBLL.GetSchemePageList(paginationobj, schemeInfoId);
  213. var jsonData = new
  214. {
  215. rows = data,
  216. total = paginationobj.total,
  217. page = paginationobj.page,
  218. records = paginationobj.records,
  219. };
  220. return JsonResult(jsonData);
  221. }
  222. /// <summary>
  223. /// 获取流程模板数据
  224. /// </summary>
  225. /// <param name="schemeId">模板主键</param>
  226. /// <returns></returns>
  227. [HttpGet]
  228. [AjaxOnly]
  229. public ActionResult GetScheme(string schemeId)
  230. {
  231. var data = wfSchemeIBLL.GetWfSchemeEntity(schemeId);
  232. return JsonResult(data);
  233. }
  234. #endregion
  235. #region 提交数据
  236. /// <summary>
  237. /// 保存流程模板
  238. /// </summary>
  239. /// <param name="keyValue">主键</param>
  240. /// <param name="schemeInfo">表单设计模板信息</param>
  241. /// <param name="shcemeAuthorize">模板权限信息</param>
  242. /// <param name="scheme">模板内容</param>
  243. /// <param name="type">类型1.正式2.草稿</param>
  244. /// <returns></returns>
  245. [HttpPost]
  246. [ValidateAntiForgeryToken]
  247. [AjaxOnly]
  248. public ActionResult SaveForm(string keyValue, string schemeInfo, string shcemeAuthorize, string scheme, int type)
  249. {
  250. WfSchemeInfoEntity schemeInfoEntity = schemeInfo.ToObject<WfSchemeInfoEntity>();
  251. List<WfSchemeAuthorizeEntity> wfSchemeAuthorizeList = shcemeAuthorize.ToObject<List<WfSchemeAuthorizeEntity>>();
  252. WfSchemeEntity schemeEntity = new WfSchemeEntity();
  253. schemeEntity.F_Scheme = scheme;
  254. schemeEntity.F_Type = type;
  255. wfSchemeIBLL.SaveEntity(keyValue, schemeInfoEntity, schemeEntity, wfSchemeAuthorizeList);
  256. return Success("保存成功!");
  257. }
  258. /// <summary>
  259. /// 删除模板数据
  260. /// </summary>
  261. /// <param name="keyValue">主键</param>
  262. /// <returns></returns>
  263. [HttpPost]
  264. [AjaxOnly]
  265. public ActionResult DeleteForm(string keyValue)
  266. {
  267. wfSchemeIBLL.VirtualDelete(keyValue);
  268. return Success("删除成功!");
  269. }
  270. /// <summary>
  271. /// 启用/停用表单
  272. /// </summary>
  273. /// <param name="keyValue">主键</param>
  274. /// <param name="state">状态1启用0禁用</param>
  275. /// <returns></returns>
  276. [HttpPost]
  277. [AjaxOnly]
  278. public ActionResult UpDateSate(string keyValue, int state)
  279. {
  280. wfSchemeIBLL.UpdateState(keyValue, state);
  281. return Success((state == 1 ? "启用" : "禁用") + "成功!");
  282. }
  283. /// <summary>
  284. /// 更新表单模板版本
  285. /// </summary>
  286. /// <param name="keyValue">主键</param>
  287. /// <param name="state">状态1启用0禁用</param>
  288. /// <returns></returns>
  289. [HttpPost]
  290. [AjaxOnly]
  291. public ActionResult UpdateScheme(string schemeInfoId, string schemeId)
  292. {
  293. wfSchemeIBLL.UpdateScheme(schemeInfoId, schemeId);
  294. return Success("更新成功!");
  295. }
  296. #endregion
  297. }
  298. }