CostProjectApprovalController.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package com.hotent.project.controller;
  2. import com.hotent.base.annotation.ApiGroup;
  3. import com.hotent.base.constants.ApiGroupConsts;
  4. import com.hotent.base.query.PageList;
  5. import com.hotent.common.CrudService;
  6. import com.hotent.project.model.CostProjectSurvey;
  7. import com.hotent.project.req.CostProjectApprovalPageReq;
  8. import com.hotent.project.req.CostProjectApprovalPublishReq;
  9. import com.hotent.project.resp.CostProjectApprovalDetailResp;
  10. import com.hotent.project.resp.CostProjectMembersResp;
  11. import com.hotent.resp.PageResp;
  12. import com.hotent.uc.manager.UserManager;
  13. import com.hotent.uc.model.User;
  14. import io.swagger.annotations.Api;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.web.bind.annotation.GetMapping;
  17. import org.springframework.web.bind.annotation.PostMapping;
  18. import org.springframework.web.bind.annotation.RequestBody;
  19. import org.springframework.web.bind.annotation.RequestMapping;
  20. import org.springframework.web.bind.annotation.RequestParam;
  21. import com.hotent.base.model.CommonResult;
  22. import com.hotent.base.util.StringUtil;
  23. import io.swagger.annotations.ApiOperation;
  24. import io.swagger.annotations.ApiParam;
  25. import org.springframework.web.bind.annotation.RestController;
  26. import com.hotent.base.controller.BaseController;
  27. import com.hotent.project.model.CostProjectApproval;
  28. import com.hotent.project.manager.CostProjectApprovalManager;
  29. import java.util.Arrays;
  30. import java.util.List;
  31. import java.util.Set;
  32. import java.util.stream.Collectors;
  33. /**
  34. * 成本监审立项主表 前端控制器
  35. *
  36. * @company 山西清众科技股份有限公司
  37. * @author 超级管理员
  38. * @since 2025-09-22
  39. */
  40. @RestController
  41. @RequestMapping("/api/costProjectApproval/v1/")
  42. @Api(tags = "成本监审立项")
  43. @ApiGroup(group = {ApiGroupConsts.GROUP_COST})
  44. public class CostProjectApprovalController extends BaseController<CostProjectApprovalManager, CostProjectApproval> {
  45. @Autowired
  46. UserManager userService;
  47. // 创建通用服务实例
  48. private final CrudService crudService = new CrudService();
  49. @Autowired
  50. private CostProjectApprovalManager costProjectApprovalManager;
  51. /**
  52. * 根据id获取成本监审立项主表数据详情
  53. * @param id
  54. * @return
  55. * @throws Exception
  56. * ModelAndView
  57. */
  58. @GetMapping(value="/getDetail")
  59. @ApiOperation(value="根据id获取成本监审立项主表数据详情",httpMethod = "GET",notes = "根据id获取成本监审立项主表数据详情")
  60. public CommonResult<CostProjectApprovalDetailResp> getDetail(@ApiParam(name="id",value="业务对象主键", required = true)@RequestParam(required=true) String id) throws Exception{
  61. return CommonResult.<CostProjectApprovalDetailResp>ok().value(baseService.getDetail(id));
  62. }
  63. //分页查询
  64. /*@PostMapping(value="/pageList")
  65. @ApiOperation(value="分页查询pageList",httpMethod = "POST",notes = "分页查询pageList")
  66. public CommonResult<PageResp<CostProjectApproval>> pageList(@RequestBody CostProjectApprovalPageReq req) {
  67. return CommonResult.<PageResp<CostProjectApproval>>ok().value(crudService.pageQuery(req, baseService::pageList));
  68. }*/
  69. @PostMapping(value="/pageList")
  70. @ApiOperation(value="分页查询pageList",httpMethod = "POST",notes = "分页查询pageList")
  71. public PageList<CostProjectApproval> pageList(@RequestBody CostProjectApprovalPageReq req) throws Exception {
  72. return costProjectApprovalManager.pageList(req);
  73. }
  74. //任务发布
  75. @PostMapping(value="/publish")
  76. @ApiOperation(value="任务发布",httpMethod = "POST",notes = "任务发布")
  77. public CommonResult<String> publish(@RequestBody CostProjectApprovalPublishReq req) {
  78. baseService.publish(req);
  79. return CommonResult.<String>ok();
  80. }
  81. @PostMapping(value = "list")
  82. @ApiOperation(value = "查询list", httpMethod = "POST", notes = "查询list")
  83. public CommonResult<List<CostProjectApproval>> list() {
  84. return CommonResult.<List<CostProjectApproval>>ok().value(baseService.getList());
  85. }
  86. /**
  87. * 根据id获取成本监审立项主办人员
  88. * @param id
  89. * @return
  90. * @throws Exception
  91. * ModelAndView
  92. */
  93. @GetMapping(value="/getMembers")
  94. @ApiOperation(value="根据id获取成本监审立项主办人员",httpMethod = "GET",notes = "根据id获取成本监审立项主办人员")
  95. public CommonResult<List<CostProjectMembersResp>> getMembers(@ApiParam(name="id",value="业务对象主键", required = true)@RequestParam() String id){
  96. CostProjectApprovalDetailResp costProjectApprovalDetailResp = baseService.getDetail(id);
  97. List<String> members = Arrays.asList(costProjectApprovalDetailResp.getProjectMembers().split(","));
  98. List<User> users = userService.getAll();
  99. List<CostProjectMembersResp> membersResp = users.stream().filter(u -> members.contains(u.getId())).map(u->{
  100. CostProjectMembersResp costProjectMembersResp = new CostProjectMembersResp();
  101. costProjectMembersResp.setId(u.getId());
  102. costProjectMembersResp.setName(u.getFullname());
  103. return costProjectMembersResp;
  104. }).collect(Collectors.toList());
  105. return CommonResult.<List<CostProjectMembersResp>>ok().value(membersResp);
  106. }
  107. }