TPssrApproveController.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. package com.ruoyi.project.pssr.controller;
  2. import com.ruoyi.common.utils.DateUtils;
  3. import com.ruoyi.common.utils.poi.ExcelUtil;
  4. import com.ruoyi.framework.aspectj.lang.annotation.Log;
  5. import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
  6. import com.ruoyi.framework.web.controller.BaseController;
  7. import com.ruoyi.framework.web.domain.AjaxResult;
  8. import com.ruoyi.framework.web.page.TableDataInfo;
  9. import com.ruoyi.project.pssr.domain.TPssrApprove;
  10. import com.ruoyi.project.pssr.domain.TPssrOverhaulExchanger;
  11. import com.ruoyi.project.pssr.domain.TPssrSubcontent;
  12. import com.ruoyi.project.pssr.service.*;
  13. import com.ruoyi.project.system.mapper.SysUserMapper;
  14. import org.activiti.engine.RuntimeService;
  15. import org.activiti.engine.TaskService;
  16. import org.activiti.engine.impl.identity.Authentication;
  17. import org.activiti.engine.runtime.ProcessInstance;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.security.access.prepost.PreAuthorize;
  20. import org.springframework.web.bind.annotation.*;
  21. import java.util.Date;
  22. import java.util.HashMap;
  23. import java.util.List;
  24. import java.util.Map;
  25. /**
  26. * pssr审批管理Controller
  27. *
  28. * @author ssy
  29. * @date 2024-09-18
  30. */
  31. @RestController
  32. @RequestMapping("/pssr/approve")
  33. public class TPssrApproveController extends BaseController {
  34. @Autowired
  35. private SysUserMapper userMapper;
  36. @Autowired
  37. private RuntimeService runtimeService;
  38. @Autowired
  39. private TaskService taskService;
  40. @Autowired
  41. private ITPssrApproveService tPssrApproveService;
  42. @Autowired
  43. private ITPssrSubcontentService tPssrSubcontentService;
  44. @Autowired
  45. private ITPssrOverhaulExchangerService tPssrOverhaulExchangerService;
  46. @Autowired
  47. private ITPssrOverhaulFilterService tPssrOverhaulFilterService;
  48. @Autowired
  49. private ITPssrOverhaulPipeService tPssrOverhaulPipeService;
  50. @Autowired
  51. private ITPssrOverhaulTowerService tPssrOverhaulTowerService;
  52. @Autowired
  53. private ITPssrOverhaulPumpService tPssrOverhaulPumpService;
  54. @Autowired
  55. private ITPssrOverhaulValveService tPssrOverhaulValveService;
  56. /**
  57. * 查询pssr审批管理列表
  58. */
  59. @PreAuthorize("@ss.hasPermi('pssr:approve:list')")
  60. @GetMapping("/list")
  61. public TableDataInfo list(TPssrApprove tPssrApprove) {
  62. startPage();
  63. List<TPssrApprove> list = tPssrApproveService.selectTPssrApproveList(tPssrApprove);
  64. return getDataTable(list);
  65. }
  66. /**
  67. * 导出pssr审批管理列表
  68. */
  69. @PreAuthorize("@ss.hasPermi('pssr:approve:export')")
  70. @Log(title = "pssr审批管理", businessType = BusinessType.EXPORT)
  71. @GetMapping("/export")
  72. public AjaxResult export(TPssrApprove tPssrApprove) {
  73. List<TPssrApprove> list = tPssrApproveService.selectTPssrApproveList(tPssrApprove);
  74. ExcelUtil<TPssrApprove> util = new ExcelUtil<TPssrApprove>(TPssrApprove.class);
  75. return util.exportExcel(list, "approve");
  76. }
  77. /**
  78. * 获取pssr审批管理详细信息
  79. */
  80. @PreAuthorize("@ss.hasPermi('pssr:approve:query')")
  81. @GetMapping(value = "/{approveId}")
  82. public AjaxResult getInfo(@PathVariable("approveId") Long approveId) {
  83. return AjaxResult.success(tPssrApproveService.selectTPssrApproveById(approveId));
  84. }
  85. /**
  86. * 新增pssr审批管理
  87. */
  88. @PreAuthorize("@ss.hasPermi('pssr:approve:add')")
  89. @Log(title = "pssr审批管理", businessType = BusinessType.INSERT)
  90. @PostMapping
  91. public AjaxResult add(@RequestBody TPssrApprove tPssrApprove) {
  92. return toAjax(tPssrApproveService.insertTPssrApprove(tPssrApprove));
  93. }
  94. /**
  95. * 修改pssr审批管理
  96. */
  97. @PreAuthorize("@ss.hasPermi('pssr:approve:edit')")
  98. @Log(title = "pssr审批管理", businessType = BusinessType.UPDATE)
  99. @PutMapping
  100. public AjaxResult edit(@RequestBody TPssrApprove tPssrApprove) {
  101. return toAjax(tPssrApproveService.updateTPssrApprove(tPssrApprove));
  102. }
  103. /**
  104. * 删除pssr审批管理
  105. */
  106. @PreAuthorize("@ss.hasPermi('pssr:approve:remove')")
  107. @Log(title = "pssr审批管理", businessType = BusinessType.DELETE)
  108. @DeleteMapping("/{approveIds}")
  109. public AjaxResult remove(@PathVariable Long[] approveIds) {
  110. return toAjax(tPssrApproveService.deleteTPssrApproveByIds(approveIds));
  111. }
  112. @Log(title = "pssr发起审批", businessType = BusinessType.INSERT)
  113. @PostMapping("/doPssrApprove/{subId}")
  114. public AjaxResult doApprove(@PathVariable Long subId) {
  115. TPssrSubcontent tPssrSubcontent = tPssrSubcontentService.selectTPssrSubcontentById(subId);
  116. tPssrSubcontent.setApproveStatus(1L);
  117. tPssrSubcontentService.updateTPssrSubcontent(tPssrSubcontent);
  118. switch (tPssrSubcontent.getSerialNumber()) {
  119. case "01":
  120. do01Approve(tPssrSubcontent);
  121. break;
  122. case "02":
  123. break;
  124. case "03":
  125. break;
  126. case "04":
  127. break;
  128. case "05":
  129. break;
  130. case "06":
  131. break;
  132. case "07":
  133. break;
  134. case "08":
  135. break;
  136. case "09":
  137. break;
  138. case "10":
  139. break;
  140. case "11":
  141. break;
  142. case "12":
  143. break;
  144. case "13":
  145. break;
  146. case "14":
  147. break;
  148. case "15":
  149. break;
  150. case "16":
  151. break;
  152. case "17":
  153. break;
  154. case "18":
  155. break;
  156. case "19":
  157. break;
  158. case "20":
  159. break;
  160. case "21":
  161. break;
  162. case "22":
  163. break;
  164. case "23":
  165. break;
  166. case "24":
  167. break;
  168. case "25":
  169. break;
  170. case "26":
  171. break;
  172. case "27":
  173. break;
  174. case "28":
  175. break;
  176. }
  177. return AjaxResult.success();
  178. }
  179. // 检修项目审批流程发起申请
  180. public void do01Approve(TPssrSubcontent sub) {
  181. String userId = getUserId().toString();
  182. //新增审批数据
  183. TPssrApprove approve = new TPssrApprove();
  184. approve.setSubId(sub.getId());
  185. approve.setApNo(DateUtils.dateTimeNow() + userId);
  186. approve.setApproveStatus("0");
  187. approve.setSubCharge(sub.getConfirm());
  188. approve.setCreaterCode(userId);
  189. approve.setCreatedate(new Date());
  190. tPssrApproveService.insertTPssrApprove(approve);
  191. //查询所有确认人
  192. TPssrOverhaulExchanger tPssrOverhaulExchanger = tPssrOverhaulExchangerService.selectAllConfirmedPersonBySubId(sub.getId());
  193. String confirmers = tPssrOverhaulExchanger.getConfirmedPerson();
  194. // 开始申请流程
  195. long businessKey = approve.getApproveId();
  196. //开始工作流、监听
  197. Authentication.setAuthenticatedUserId(userId);//设置当前申请人
  198. Map<String, Object> variables = new HashMap<>();
  199. variables.put("applyUser", userId);
  200. variables.put("confirmUsers", confirmers);
  201. variables.put("chargePerson", sub.getConfirm());
  202. //采用key来启动流程定义并设置流程变量,返回流程实例
  203. ProcessInstance pi = runtimeService.startProcessInstanceByKey("pssr1confirm", String.valueOf(businessKey), variables);
  204. approve.setProcessId(pi.getProcessInstanceId());
  205. tPssrApproveService.updateTPssrApprove(approve);
  206. }
  207. }