CostAuditReviewController.java 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package com.hotent.enterpriseDeclare.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.hotent.base.annotation.ApiGroup;
  5. import com.hotent.base.constants.ApiGroupConsts;
  6. import com.hotent.base.model.CommonResult;
  7. import com.hotent.base.util.StringUtil;
  8. import com.hotent.constant.NodeConstant;
  9. import com.hotent.enterpriseDeclare.req.CostTaskPageReq;
  10. import com.hotent.enterpriseDeclare.req.CostTaskReviewPageReq;
  11. import com.hotent.project.manager.*;
  12. import com.hotent.project.model.CostProjectTask;
  13. import com.hotent.project.model.CostProjectTaskNode;
  14. import com.hotent.sys.persistence.manager.DataDictManager;
  15. import com.hotent.sys.persistence.model.DataDict;
  16. import io.swagger.annotations.Api;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.PostMapping;
  20. import org.springframework.web.bind.annotation.RequestBody;
  21. import org.springframework.web.bind.annotation.RequestMapping;
  22. import org.springframework.web.bind.annotation.RestController;
  23. import javax.annotation.Resource;
  24. import java.util.List;
  25. import java.util.Map;
  26. @Api(tags = "成本监审任务审核")
  27. @RestController
  28. @RequestMapping("/api/enterprise/reviewTask/")
  29. @ApiGroup(group = {ApiGroupConsts.GROUP_COST})
  30. public class CostAuditReviewController {
  31. @Autowired
  32. private CostProjectTaskManager costProjectTaskManager;
  33. @Autowired
  34. private CostProjectTaskNodeManager costProjectTaskNodeManager;
  35. @Autowired
  36. @Resource
  37. DataDictManager dataDictManager;
  38. /**
  39. * 分页查询待审核任务列表
  40. *
  41. * @param req 分页查询请求参数
  42. * @return 待审核任务分页列表
  43. */
  44. @PostMapping(value = "/pageList")
  45. @ApiOperation(value = "分页查询待审核任务列表", httpMethod = "POST", notes = "分页查询待审核任务列表")
  46. public CommonResult<IPage<CostProjectTask>> pageList(@RequestBody CostTaskReviewPageReq req) throws Exception {
  47. req.setNCurrentNode(NodeConstant.guidang.getNodeKey());
  48. IPage<CostProjectTask> pageResult = costProjectTaskManager.pageListForReviewTask(req);
  49. return CommonResult.<IPage<CostProjectTask>>ok().value(pageResult);
  50. }
  51. /**
  52. * 分页查询待审核任务列表子任务
  53. *
  54. * @param req 分页查询请求参数
  55. * @return 待审核任务分页列表
  56. */
  57. @PostMapping(value = "/pageListChild")
  58. @ApiOperation(value = "分页查询待审核任务列表子任务", httpMethod = "POST", notes = "分页查询待审核任务列表子任务")
  59. public CommonResult<IPage<CostProjectTask>> pageListChild(@RequestBody CostTaskReviewPageReq req) {
  60. IPage<CostProjectTask> pageResult = costProjectTaskManager.pageListForReviewTaskChild(req);
  61. return CommonResult.<IPage<CostProjectTask>>ok().value(pageResult);
  62. }
  63. /**
  64. * 分页查询办结监审任务列表
  65. *
  66. * @param req 分页查询请求参数
  67. * @return 分页查询办结监审任务列表
  68. */
  69. @PostMapping(value = "/completedPageList")
  70. @ApiOperation(value = "分页查询办结监审任务列表", httpMethod = "POST", notes = "分页查询办结监审任务列表")
  71. public CommonResult<IPage<CostProjectTask>> completedPageList(@RequestBody CostTaskReviewPageReq req) throws Exception {
  72. req.setCurrentNode(NodeConstant.guidang.getNodeKey());
  73. IPage<CostProjectTask> pageResult = costProjectTaskManager.pageListForReviewTask(req);
  74. return CommonResult.<IPage<CostProjectTask>>ok().value(pageResult);
  75. }
  76. /**
  77. * 分页查询档案管理任务列表
  78. *
  79. * @param req 分页查询请求参数
  80. * @return 档案管理任务分页列表
  81. */
  82. @PostMapping(value = "/archivePageList")
  83. @ApiOperation(value = "分页查询档案管理任务列表", httpMethod = "POST", notes = "分页查询档案管理任务列表(只查询主任务,不查询子任务)")
  84. public CommonResult<IPage<CostProjectTask>> archivePageList(@RequestBody CostTaskReviewPageReq req) throws Exception {
  85. IPage<CostProjectTask> pageResult = costProjectTaskManager.pageListForReviewTask(req);
  86. return CommonResult.<IPage<CostProjectTask>>ok().value(pageResult);
  87. }
  88. @PostMapping(value = "/getProcessBtn")
  89. @ApiOperation(value = "获取流程按钮", httpMethod = "POST", notes = "获取流程按钮")
  90. public CommonResult<List<java.util.Map<String, Object>>> getProcessBtn(@RequestBody CostTaskPageReq req) {
  91. CostProjectTaskNode one = costProjectTaskNodeManager.getOne(
  92. new LambdaQueryWrapper<CostProjectTaskNode>()
  93. .eq(CostProjectTaskNode::getTaskId, req.getTaskId())
  94. .eq(CostProjectTaskNode::getProcessNodeKey, req.getProcessNodeKey())
  95. );
  96. if (one == null || StringUtil.isEmpty(one.getStatus())) {
  97. return CommonResult.<List<java.util.Map<String, Object>>>ok().value(new java.util.ArrayList<>());
  98. }
  99. String status = one.getStatus();
  100. String[] split = status.split(",");
  101. List<java.util.Map<String, Object>> buttonList = new java.util.ArrayList<>();
  102. for (String s : split) {
  103. if (StringUtil.isNotEmpty(s.trim())) {
  104. String key = s.trim();
  105. DataDict byDictKey = dataDictManager.getByDictKey("1977549156280991744", key);
  106. java.util.Map<String, Object> buttonMap = new java.util.HashMap<>();
  107. buttonMap.put("key", key);
  108. if (byDictKey != null && StringUtil.isNotEmpty(byDictKey.getName())) {
  109. buttonMap.put("value", byDictKey.getName());
  110. } else {
  111. buttonMap.put("value", key);
  112. }
  113. buttonList.add(buttonMap);
  114. }
  115. }
  116. return CommonResult.<List<java.util.Map<String, Object>>>ok().value(buttonList);
  117. }
  118. @PostMapping(value = "/doProcessBtn")
  119. @ApiOperation(value = "操作流程按钮", httpMethod = "POST", notes = "流程按钮操作")
  120. @org.springframework.transaction.annotation.Transactional
  121. public CommonResult<String> doProcessBtn(@RequestBody CostTaskPageReq req) {
  122. if (StringUtil.isEmpty(req.getTaskId()) || StringUtil.isEmpty(req.getKey())) {
  123. return CommonResult.<String>error().message("任务ID和操作key不能为空");
  124. }
  125. return CommonResult.<String>ok().value(costProjectTaskManager.doProcessBtn(req));
  126. }
  127. }