CostAuditReviewController.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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. IPage<CostProjectTask> pageResult = costProjectTaskManager.pageListForReviewTask(req);
  48. return CommonResult.<IPage<CostProjectTask>>ok().value(pageResult);
  49. }
  50. /**
  51. * 分页查询待审核任务列表子任务
  52. *
  53. * @param req 分页查询请求参数
  54. * @return 待审核任务分页列表
  55. */
  56. @PostMapping(value = "/pageListChild")
  57. @ApiOperation(value = "分页查询待审核任务列表子任务", httpMethod = "POST", notes = "分页查询待审核任务列表子任务")
  58. public CommonResult<IPage<CostProjectTask>> pageListChild(@RequestBody CostTaskReviewPageReq req) {
  59. IPage<CostProjectTask> pageResult = costProjectTaskManager.pageListForReviewTaskChild(req);
  60. return CommonResult.<IPage<CostProjectTask>>ok().value(pageResult);
  61. }
  62. /**
  63. * 分页查询办结监审任务列表
  64. *
  65. * @param req 分页查询请求参数
  66. * @return 分页查询办结监审任务列表
  67. */
  68. @PostMapping(value = "/completedPageList")
  69. @ApiOperation(value = "分页查询办结监审任务列表", httpMethod = "POST", notes = "分页查询办结监审任务列表")
  70. public CommonResult<IPage<CostProjectTask>> completedPageList(@RequestBody CostTaskReviewPageReq req) throws Exception {
  71. req.setCurrentNode(NodeConstant.guidang.getNodeKey());
  72. IPage<CostProjectTask> pageResult = costProjectTaskManager.pageListForReviewTask(req);
  73. return CommonResult.<IPage<CostProjectTask>>ok().value(pageResult);
  74. }
  75. /**
  76. * 分页查询档案管理任务列表
  77. *
  78. * @param req 分页查询请求参数
  79. * @return 档案管理任务分页列表
  80. */
  81. @PostMapping(value = "/archivePageList")
  82. @ApiOperation(value = "分页查询档案管理任务列表", httpMethod = "POST", notes = "分页查询档案管理任务列表(只查询主任务,不查询子任务)")
  83. public CommonResult<IPage<CostProjectTask>> archivePageList(@RequestBody CostTaskReviewPageReq req) throws Exception {
  84. IPage<CostProjectTask> pageResult = costProjectTaskManager.pageListForReviewTask(req);
  85. return CommonResult.<IPage<CostProjectTask>>ok().value(pageResult);
  86. }
  87. @PostMapping(value = "/getProcessBtn")
  88. @ApiOperation(value = "获取流程按钮", httpMethod = "POST", notes = "获取流程按钮")
  89. public CommonResult<List<java.util.Map<String, Object>>> getProcessBtn(@RequestBody CostTaskPageReq req) {
  90. CostProjectTaskNode one = costProjectTaskNodeManager.getOne(
  91. new LambdaQueryWrapper<CostProjectTaskNode>()
  92. .eq(CostProjectTaskNode::getTaskId, req.getTaskId())
  93. .eq(CostProjectTaskNode::getProcessNodeKey, req.getProcessNodeKey())
  94. );
  95. if (one == null || StringUtil.isEmpty(one.getStatus())) {
  96. return CommonResult.<List<java.util.Map<String, Object>>>ok().value(new java.util.ArrayList<>());
  97. }
  98. String status = one.getStatus();
  99. String[] split = status.split(",");
  100. List<java.util.Map<String, Object>> buttonList = new java.util.ArrayList<>();
  101. for (String s : split) {
  102. if (StringUtil.isNotEmpty(s.trim())) {
  103. String key = s.trim();
  104. DataDict byDictKey = dataDictManager.getByDictKey("1977549156280991744", key);
  105. java.util.Map<String, Object> buttonMap = new java.util.HashMap<>();
  106. buttonMap.put("key", key);
  107. if (byDictKey != null && StringUtil.isNotEmpty(byDictKey.getName())) {
  108. buttonMap.put("value", byDictKey.getName());
  109. } else {
  110. buttonMap.put("value", key);
  111. }
  112. buttonList.add(buttonMap);
  113. }
  114. }
  115. return CommonResult.<List<java.util.Map<String, Object>>>ok().value(buttonList);
  116. }
  117. @PostMapping(value = "/doProcessBtn")
  118. @ApiOperation(value = "操作流程按钮", httpMethod = "POST", notes = "流程按钮操作")
  119. @org.springframework.transaction.annotation.Transactional
  120. public CommonResult<String> doProcessBtn(@RequestBody CostTaskPageReq req) {
  121. if (StringUtil.isEmpty(req.getTaskId()) || StringUtil.isEmpty(req.getKey())) {
  122. return CommonResult.<String>error().message("任务ID和操作key不能为空");
  123. }
  124. return CommonResult.<String>ok().value(costProjectTaskManager.doProcessBtn(req));
  125. }
  126. }