FlowInfoController.cs 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. using MES.Production.Service.IService;
  7. using Central.Control.Domain;
  8. using Ant.Service.Common;
  9. using Ant.Service.Common.Enums;
  10. using ChangFa.Machinery.WebPage.Controllers;
  11. namespace ChangFa.Machinery.WebPage.Areas.ComManage.Controllers
  12. {
  13. /// <summary>
  14. /// 自定义流程表单控制器
  15. /// add 作者: 季健国 QQ:181589805 by 2016-12-07
  16. /// </summary>
  17. public class FlowInfoController : BaseController
  18. {
  19. #region 声明容器
  20. /// <summary>
  21. /// 流程管理
  22. /// </summary>
  23. IFlowInfoManage FlowInfoManage { get; set; }
  24. #endregion
  25. #region 公共变量
  26. #endregion
  27. #region 基本视图
  28. /// <summary>
  29. /// 主页
  30. /// </summary>
  31. [UserAuthorizeAttribute(ModuleAlias = "FlowInfo", OperaAction = "View")]
  32. public ActionResult Index()
  33. {
  34. var result = BindList();
  35. return View(result);
  36. }
  37. /// <summary>
  38. /// 详情页
  39. /// </summary>
  40. [UserAuthorizeAttribute(ModuleAlias = "FlowInfo", OperaAction = "Detail")]
  41. public ActionResult Detail(string id)
  42. {
  43. var entity = this.FlowInfoManage.Get(p => p.ID == id) ?? new COM_FLOWINFO();
  44. return View(entity);
  45. }
  46. /// <summary>
  47. /// 提交保存
  48. /// </summary>
  49. [UserAuthorizeAttribute(ModuleAlias = "FlowInfo", OperaAction = "Add,Edit")]
  50. [ValidateInput(false)]
  51. public ActionResult Save(COM_FLOWINFO entity)
  52. {
  53. JsonHelper json = new JsonHelper() { Msg = "保存完毕", Status = "n" };
  54. bool isEdit = false;
  55. try
  56. {
  57. if (entity!=null)
  58. {
  59. var _entity = new COM_FLOWINFO();
  60. //添加
  61. if (string.IsNullOrEmpty(entity.ID))
  62. {
  63. _entity = entity;
  64. _entity.ID = Guid.NewGuid().ToString();
  65. _entity.CREATEUSER = this.CurrentUser.Name;
  66. _entity.CREATETIME = DateTime.Now;
  67. _entity.UPDATETIME = DateTime.Now;
  68. _entity.UPDATEUSER = this.CurrentUser.Name;
  69. }
  70. else //修改
  71. {
  72. _entity = this.FlowInfoManage.Get(p => p.ID == entity.ID);
  73. entity.CREATEUSER = _entity.CREATEUSER;
  74. entity.CREATETIME = _entity.CREATETIME;
  75. entity.UPDATEUSER = this.CurrentUser.Name;
  76. entity.UPDATETIME = DateTime.Now;
  77. _entity = entity;
  78. isEdit = true;
  79. }
  80. //验证重复
  81. if (!this.FlowInfoManage.IsExist(p => p.ID != _entity.ID && p.REMARK == _entity.REMARK && p.FLOWNO == _entity.FLOWNO))
  82. {
  83. if (this.FlowInfoManage.SaveOrUpdate(_entity, isEdit))
  84. {
  85. json.Status = "y";
  86. WriteLog((isEdit ? enumOperator.Edit : enumOperator.Add), "保存流程成功",enumLog4net.INFO);
  87. }
  88. else
  89. {
  90. json.Msg = "保存流程失败";
  91. WriteLog((isEdit ? enumOperator.Edit : enumOperator.Add), "保存流程失败",enumLog4net.INFO);
  92. }
  93. }
  94. else
  95. {
  96. json.Msg = "流程" + _entity.REMARK + "已存在,不能重复添加";
  97. }
  98. }
  99. else
  100. {
  101. json.Msg = "未接收到要处理的数据";
  102. }
  103. }
  104. catch (Exception e)
  105. {
  106. json.Msg = e.InnerException.Message;
  107. WriteLog((isEdit ? enumOperator.Edit : enumOperator.Add), "保存流程出现异常", e);
  108. }
  109. return Json(json);
  110. }
  111. /// <summary>
  112. /// 删除
  113. /// </summary>
  114. [UserAuthorizeAttribute(ModuleAlias = "FlowInfo", OperaAction = "Remove")]
  115. public ActionResult Delete(string idList)
  116. {
  117. JsonHelper json = new JsonHelper() { Msg = "删除流程完毕", Status = "n" };
  118. try
  119. {
  120. if (!string.IsNullOrEmpty(idList))
  121. {
  122. var idList1 = idList.Trim(',').Split(',').ToList();
  123. this.FlowInfoManage.Delete(p => idList1.Contains(p.ID));
  124. json.Status = "y";
  125. }
  126. else
  127. {
  128. json.Msg = "未找到要删除的记录";
  129. }
  130. WriteLog(enumOperator.Remove, "删除流程,结果:" + json.Msg,enumLog4net.WARN);
  131. }
  132. catch (Exception e) { WriteLog(enumOperator.Remove, "删除流程出现异常", e); }
  133. return Json(json);
  134. }
  135. #endregion
  136. #region 私有方法
  137. /// <summary>
  138. /// 绑定列表
  139. /// </summary>
  140. private PageInfo<COM_FLOWINFO> BindList()
  141. {
  142. var query = this.FlowInfoManage.LoadAll(null);
  143. if (!string.IsNullOrEmpty(base.keywords))
  144. {
  145. query = query.Where(p => p.REMARK.Contains(keywords) || p.FLOWNO.Contains(keywords));
  146. }
  147. query = query.OrderByDescending(p => p.CREATETIME);
  148. return this.FlowInfoManage.Query(query, base.page, base.pagesize);
  149. }
  150. #endregion
  151. #region 其他调用
  152. #endregion
  153. }
  154. }