IWorkFlow.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using PMS.EntityModels.WorkFlow;
  7. using PMS.BusinessModels.Problem;
  8. using PMS.BusinessModels.MobileProblem;
  9. using PMS.BusinessModels.Account;
  10. namespace PMS.Interface.WorkFlow
  11. {
  12. /// <summary>
  13. /// 创 建 人:王海洋
  14. /// 创建日期:2019-01-25
  15. /// 功能描述:问题工作流接口
  16. /// </summary>
  17. public interface IWorkFlow
  18. {
  19. /// <summary>
  20. /// 登记一个新问题时,返回下一个流程ID
  21. /// </summary>
  22. /// <param name="categoryID">分类ID</param>
  23. /// <param name="personProperty">人员性质,1:本部人员,2:渠道人员,3: 操作员,4:医院管理员,5:卫计委管理员</param>
  24. /// <param name="problemProperty">问题性质,1:Bug,2:咨询,3:需求,4:优化</param>
  25. /// <returns>返回工作流ID</returns>
  26. int? GetNewProblemWorkFlowID(int categoryID, int personProperty, int problemProperty);
  27. /// <summary>
  28. /// 获取提交问题后的下一个流程ID
  29. /// 当问题被上级处理人员,获取并处理,可能会进行跨级别处理(根据上级环节ID确定位置)
  30. /// </summary>
  31. /// <param name="categoryId">当前分类目录ID</param>
  32. /// <param name="personProperty">人员性质</param>
  33. /// <param name="problemId">问题ID</param>
  34. /// <returns>返回提交后的下一个流程ID</returns>
  35. int? GetSubmitProblemWorkFlowID( int personProperty, string problemId);
  36. /// <summary>
  37. /// 回退问题时获取下一个流程ID
  38. /// </summary>
  39. /// <param name="problemId">问题ID</param>
  40. /// <returns>返回下一个流程ID</returns>
  41. int? GetBackProblemWorkFlowID(string problemId);
  42. #region 问题操作相关接口
  43. /// <summary>
  44. /// 问题受理
  45. /// </summary>
  46. /// <param name="Model"></param>
  47. /// <returns></returns>
  48. bool ProblemAccept(ProblemDealModel Model);
  49. /// <summary>
  50. /// 问题回退
  51. /// </summary>
  52. /// <returns></returns>
  53. bool ProblemRollBack(ProblemDealModel Model, out string ProcessId);
  54. /// <summary>
  55. /// 问题终止
  56. /// </summary>
  57. /// <param name="Model"></param>
  58. /// <returns></returns>
  59. bool ProblemBreak(ProblemDealModel Model, out string ProcessId);
  60. /// <summary>
  61. /// 问题指派
  62. /// </summary>
  63. /// <param name="Model"></param>
  64. /// <returns></returns>
  65. bool ProblemAssgin(ProblemDealModel Model, out string ProcessId);
  66. /// <summary>
  67. /// 问题提交
  68. /// </summary>
  69. /// <param name="Model"></param>
  70. /// <returns></returns>
  71. bool ProblemSubmit(ProblemDealModel Model);
  72. /// <summary>
  73. /// 问题处理
  74. /// </summary>
  75. /// <param name="Model"></param>
  76. /// <returns></returns>
  77. bool ProblemDeal(ProblemDealModel Model, out string ProcessId);
  78. /// <summary>
  79. /// 问题完成
  80. /// </summary>
  81. /// <param name="Model"></param>
  82. /// <returns></returns>
  83. bool ProblemSolution(ProblemDealModel Model, out string ProcessI,UserInfo user);
  84. /// <summary>
  85. /// 撤销完成/终止
  86. /// </summary>
  87. /// <param name="ProblemId"></param>
  88. /// <param name="PersonId"></param>
  89. /// <returns></returns>
  90. bool UndoProblem(string ProblemId, string PersonId);
  91. /// <summary>
  92. /// 计算耗时
  93. /// </summary>
  94. /// <param name="ProblemID"></param>
  95. /// <returns></returns>
  96. Double PassTime(string ProblemID);
  97. /// <summary>
  98. /// 获取非提交回退类处理操作的进入流程Id
  99. /// </summary>
  100. /// <param name="problemId"></param>
  101. /// <param name="personProperty"></param>
  102. /// <returns></returns>
  103. int? GetDealWorkId(string problemId, int personProperty,string JobCode);
  104. /// <summary>
  105. /// 问题过程附件保存
  106. /// </summary>
  107. /// <param name="Model"></param>
  108. /// <returns></returns>
  109. bool SaveProcessFile(ProcessFileModel Model);
  110. #endregion
  111. #region 其他操作
  112. /// <summary>
  113. /// 验证问题
  114. /// </summary>
  115. /// <param name="model"></param>
  116. /// <returns></returns>
  117. bool AcceptancProblem(ProblemProcessModel model);
  118. /// <summary>
  119. /// 更新版本号
  120. /// </summary>
  121. /// <param name="model"></param>
  122. /// <returns></returns>
  123. bool UpdateVersion(VersionManageModel model);
  124. #endregion
  125. }
  126. }