ProjectInfoController.java 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package org.springblade.modules.project.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
  4. import io.swagger.v3.oas.annotations.Operation;
  5. import io.swagger.v3.oas.annotations.tags.Tag;
  6. import lombok.AllArgsConstructor;
  7. import org.springblade.core.boot.ctrl.BladeController;
  8. import org.springblade.core.tenant.annotation.NonDS;
  9. import org.springblade.core.tool.api.R;
  10. import org.springblade.modules.project.pojo.dto.ProjectAndPlanDetailDTO;
  11. import org.springblade.modules.project.pojo.dto.ProjectInfoDTO;
  12. import org.springblade.modules.project.pojo.dto.ProjectInfoPageDTO;
  13. import org.springblade.modules.project.pojo.vo.ProjectAndPlanDetailVO;
  14. import org.springblade.modules.project.pojo.vo.ProjectInfoDetailVO;
  15. import org.springblade.modules.project.pojo.vo.ProjectInfoVO;
  16. import org.springblade.modules.project.service.IProjectInfoService;
  17. import org.springframework.web.bind.annotation.*;
  18. /**
  19. * @Param
  20. * @Author wangwl
  21. * @Date 2024/4/8 11:28
  22. **/
  23. @NonDS
  24. @RestController
  25. @AllArgsConstructor
  26. @RequestMapping( "/blade-attach/project")
  27. @Tag(name = "项目信息接口", description = "项目信息接口")
  28. public class ProjectInfoController extends BladeController {
  29. private final IProjectInfoService projectInfoService;
  30. @PostMapping("/add")
  31. @ApiOperationSupport(order = 1)
  32. @Operation(summary = "新增项目", description = "新增项目,传入项目信息和每一年的计划数组")
  33. public R add(@RequestBody ProjectInfoDTO dto) {
  34. projectInfoService.add(dto);
  35. return R.success("新增成功");
  36. }
  37. @PostMapping("/page")
  38. @ApiOperationSupport(order = 2)
  39. @Operation(summary = "分页", description = "分页查询项目")
  40. public R<IPage<ProjectInfoVO>> page(@RequestBody ProjectInfoPageDTO dto) {
  41. IPage<ProjectInfoVO> page = projectInfoService.page2(dto);
  42. return R.data(page);
  43. }
  44. @GetMapping("/detail")
  45. @ApiOperationSupport(order = 3)
  46. @Operation(summary = "项目详情", description = "项目详情,传入项目id")
  47. public R<ProjectInfoDetailVO> detail(Long id) {
  48. ProjectInfoDetailVO vo = projectInfoService.detail(id);
  49. return R.data(vo);
  50. }
  51. @PostMapping("/update")
  52. @ApiOperationSupport(order = 4)
  53. @Operation(summary = "修改项目", description = "修改项目,传入项目信息和每一年的计划数组")
  54. public R update(@RequestBody ProjectInfoDTO dto) {
  55. projectInfoService.update2(dto);
  56. return R.success("修改成功");
  57. }
  58. @GetMapping("/project-and-plan-detail")
  59. @ApiOperationSupport(order = 5)
  60. @Operation(summary = "项目与计划详情", description = "项目与计划详情,传入项目id")
  61. public R<ProjectAndPlanDetailVO> detail2(Long id) {
  62. ProjectAndPlanDetailVO vo = projectInfoService.detail2(id);
  63. return R.data(vo);
  64. }
  65. @PostMapping("/update-project-finished")
  66. @ApiOperationSupport(order = 5)
  67. @Operation(summary = "修改项目完成情况", description = "修改项目完成情况,传入项目信息与计划年份和每年12个月的详情")
  68. public R<String> updateFinished(@RequestBody ProjectAndPlanDetailDTO dto) {
  69. projectInfoService.updateFinished(dto);
  70. return R.success("修改成功");
  71. }
  72. }