PolicyShareController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. package com.qdport.controller;
  2. import com.qdport.entity.PolicyShare;
  3. import com.qdport.enums.QDPortEnum;
  4. import com.qdport.modules.system.entity.SysDept;
  5. import com.qdport.modules.system.service.SysDeptService;
  6. import com.qdport.query.PolicyShareQuery;
  7. import com.qdport.service.PolicyFileService;
  8. import com.qdport.service.PolicyShareService;
  9. import com.qdport.service.PolicyTodoService;
  10. import com.qdport.vo.PolicyFileVO;
  11. import com.qdport.vo.PolicyShareVO;
  12. import com.qdport.wrapper.PolicyShareWrapper;
  13. import org.springframework.web.bind.annotation.*;
  14. import io.swagger.annotations.Api;
  15. import io.swagger.annotations.ApiOperation;
  16. import io.swagger.annotations.ApiParam;
  17. import com.qdport.core.tool.api.R;
  18. import com.qdport.core.tool.utils.Func;
  19. import com.qdport.core.boot.ctrl.QdportController;
  20. import com.baomidou.mybatisplus.core.metadata.IPage;
  21. import javax.annotation.Resource;
  22. import javax.validation.Valid;
  23. import java.util.*;
  24. import java.util.concurrent.ExecutionException;
  25. /**
  26. * 政策共享
  27. *
  28. * @author yuheng
  29. * @since 1.0.0 2024-09-30
  30. */
  31. @RestController
  32. @RequestMapping("qdport-zcgx/share")
  33. @Api(value = "政策共享", tags = "政策共享")
  34. public class PolicyShareController extends QdportController {
  35. @Resource
  36. private PolicyShareService policyShareService;
  37. @Resource
  38. private PolicyFileService policyFileService;
  39. @Resource
  40. private PolicyTodoService policyTodoService;
  41. @Resource
  42. private SysDeptService sysDeptService;
  43. /**
  44. * 分页
  45. */
  46. @GetMapping("page")
  47. @ApiOperation(value = "分页", notes = "分页")
  48. public R<IPage<PolicyShareVO>> page(@Valid PolicyShareQuery query) {
  49. IPage<PolicyShareVO> page = policyShareService.page(query);
  50. List<PolicyShareVO> records = page.getRecords();
  51. for (PolicyShareVO model : records) {
  52. SysDept dept = sysDeptService.getById(model.getDeptId());
  53. model.setDeptName(dept.getName());
  54. SysDept company = sysDeptService.getById(model.getCompanyId());
  55. model.setCompanyName(company.getName());
  56. List<PolicyFileVO> fileList = policyFileService.getFileList(model.getId(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_SHARE.getValue());
  57. model.setFileList(fileList);
  58. }
  59. return R.data(page);
  60. }
  61. /**
  62. * 详情
  63. */
  64. @GetMapping("{id}")
  65. @ApiOperation(value = "详情", notes = "id")
  66. public R<PolicyShareVO> get(@PathVariable("id") String id) {
  67. PolicyShare entity = policyShareService.getById(id);
  68. PolicyShareVO vo = PolicyShareWrapper.build().entityVO(entity);
  69. SysDept dept = sysDeptService.getById(vo.getDeptId());
  70. vo.setDeptName(dept.getName());
  71. SysDept company = sysDeptService.getById(vo.getCompanyId());
  72. vo.setCompanyName(company.getName());
  73. List<PolicyFileVO> fileList = policyFileService.getFileList(entity.getId().toString(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_SHARE.getValue());
  74. vo.setFileList(fileList);
  75. return R.data(vo);
  76. }
  77. /**
  78. * 新增
  79. */
  80. @PostMapping("/save")
  81. @ApiOperation(value = "新增", notes = "传入PolicyShare")
  82. public R save(@RequestBody PolicyShareVO vo) {
  83. vo.setStatus(QDPortEnum.POLICY_SHARE_STATUS_ACTIVE.getValue());
  84. policyShareService.save(vo);
  85. return R.success("保存成功");
  86. }
  87. @PostMapping("/saveDone")
  88. @ApiOperation(value = "新增", notes = "传入PolicyShare")
  89. public R saveDone(@RequestBody PolicyShareVO vo) {
  90. vo.setStatus(QDPortEnum.POLICY_SHARE_STATUS_DONE.getValue());
  91. policyShareService.save(vo);
  92. return R.success("保存成功");
  93. }
  94. @PostMapping("/saveApprove")
  95. @ApiOperation(value = "新增并且提交", notes = "传入PolicyShare")
  96. public R saveApprove(@RequestBody PolicyShareVO vo) throws ExecutionException, InterruptedException {
  97. policyShareService.saveApprove(vo);
  98. policyTodoService.save(vo);
  99. return R.success("新增并且提交成功");
  100. }
  101. /**
  102. * 修改
  103. */
  104. @PostMapping("/update")
  105. @ApiOperation(value = "编辑", notes = "传入PolicyShare")
  106. public R update(@RequestBody @Valid PolicyShareVO vo) {
  107. policyShareService.update(vo);
  108. return R.success("更新成功");
  109. }
  110. @PostMapping("/withdraw")
  111. @ApiOperation(value = "撤回", notes = "传入PolicyShare")
  112. public R withdraw(@RequestBody @Valid PolicyShareVO vo) {
  113. policyShareService.withdraw(vo);
  114. return R.success("撤回成功");
  115. }
  116. @PostMapping("/approve")
  117. @ApiOperation(value = "审核通过", notes = "传入PolicyShare")
  118. public R approve(@RequestBody @Valid PolicyShareVO vo) throws ExecutionException, InterruptedException {
  119. vo.setIsWithdraw(0);
  120. policyShareService.approve(vo);
  121. policyTodoService.save(vo);
  122. return R.success("更新成功");
  123. }
  124. @PostMapping("/refuse")
  125. @ApiOperation(value = "审核拒绝", notes = "传入PolicyShare")
  126. public R refuse(@RequestBody @Valid PolicyShareVO vo) {
  127. vo.setIsWithdraw(1);
  128. policyShareService.refuse(vo);
  129. return R.success("更新成功");
  130. }
  131. @PostMapping("/resubmit")
  132. @ApiOperation(value = "重新提交", notes = "传入PolicyShare")
  133. public R resubmit(@RequestBody @Valid PolicyShareVO vo) throws ExecutionException, InterruptedException {
  134. vo.setStatus(QDPortEnum.POLICY_SHARE_STATUS_APPROVE.getValue());
  135. policyShareService.approve(vo);
  136. policyTodoService.save(vo);
  137. return R.success("重新发起成功");
  138. }
  139. /**
  140. * 删除
  141. */
  142. @PostMapping("/remove")
  143. @ApiOperation(value = "逻辑删除", notes = "传入ids")
  144. public R delete(@ApiParam(value = "主键集合", required = true) @RequestParam(name = "ids") String ids) {
  145. List<String> idList = Func.toStrList(ids);
  146. policyShareService.delete(idList);
  147. return R.success("删除成功");
  148. }
  149. }