ReportFormController.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package com.imed.costaccount.web;
  2. import com.imed.costaccount.common.util.PageUtils;
  3. import com.imed.costaccount.common.util.Result;
  4. import com.imed.costaccount.model.dto.ReportFormEditDTO;
  5. import com.imed.costaccount.model.dto.ReportFormSaveDTO;
  6. import com.imed.costaccount.model.dto.ReportRelationDTO;
  7. import com.imed.costaccount.model.vo.RelationVO;
  8. import com.imed.costaccount.model.vo.ReportFormVO;
  9. import com.imed.costaccount.service.ReportFormService;
  10. import com.imed.costaccount.service.ReportRelationService;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiImplicitParam;
  13. import io.swagger.annotations.ApiImplicitParams;
  14. import io.swagger.annotations.ApiOperation;
  15. import org.springframework.web.bind.annotation.*;
  16. import javax.validation.Valid;
  17. import java.util.ArrayList;
  18. import java.util.Arrays;
  19. import java.util.List;
  20. /**
  21. * 报表项目
  22. *
  23. * @author huangrui
  24. * @date 2021-08-03 13:53:52
  25. */
  26. @Api(tags = "报表项目")
  27. @RestController
  28. @RequestMapping("/costAccount/reportForm/")
  29. public class ReportFormController extends AbstractController {
  30. private final ReportFormService reportFormService;
  31. private final ReportRelationService reportRelationService;
  32. public ReportFormController(ReportFormService reportFormService, ReportRelationService reportRelationService) {
  33. this.reportFormService = reportFormService;
  34. this.reportRelationService = reportRelationService;
  35. }
  36. /**
  37. * 按报表类型查询报表项目
  38. */
  39. @ApiOperation("按报表类型查询报表项目列表")
  40. @GetMapping("/list")
  41. public Result list(@RequestParam Integer reportType) {
  42. List<ReportFormVO> list = reportFormService.selectList(reportType, getUser());
  43. PageUtils pageUtils = new PageUtils(list, 0, 0, 0);
  44. return Result.ok(pageUtils);
  45. }
  46. /**
  47. * 保存
  48. */
  49. @ApiOperation("保存报表项目")
  50. @PostMapping("/save")
  51. public Result save(@RequestBody @Valid ReportFormSaveDTO reportFormDTO) {
  52. reportFormService.saveReport(reportFormDTO, getHospId());
  53. return Result.ok();
  54. }
  55. /**
  56. * 修改
  57. */
  58. @ApiOperation("修改报表项目设置")
  59. @PostMapping("/edit")
  60. public Result update(@RequestBody @Valid ReportFormEditDTO formEditDTO) {
  61. reportFormService.updateReport(formEditDTO);
  62. return Result.ok();
  63. }
  64. /**
  65. * 删除
  66. */
  67. @ApiOperation("删除某个报表项目")
  68. @PostMapping("/delete")
  69. public Result delete(@RequestBody Long[] ids) {
  70. reportFormService.removeByIds(Arrays.asList(ids));
  71. return Result.ok();
  72. }
  73. @ApiOperation("编辑对应的报表项目和对应的会计或者分摊参数")
  74. @PostMapping("/saveReportRelation")
  75. public Result saveReportRelation(@RequestBody @Valid ReportRelationDTO reportRelationDTO) {
  76. reportRelationService.saveReportRelation(reportRelationDTO,getHospId());
  77. return Result.ok();
  78. }
  79. @ApiOperation("获取已绑定的关系列表")
  80. @GetMapping("/getRelations")
  81. @ApiImplicitParams({
  82. @ApiImplicitParam(name = "reportId", value = "报表项目id"),
  83. @ApiImplicitParam(name = "relation", value = "1.对应会计科目设置,2.对应分摊参数设置,根据列表中showAddRelation字段是否存在判断")
  84. })
  85. public Result getRelations(@RequestParam Long reportId, @RequestParam Integer relation) {
  86. List<RelationVO> list = new ArrayList<>();
  87. Long hospId = getHospId();
  88. if (relation == 1) {
  89. list = reportRelationService.getAccountRelation(reportId, hospId);
  90. }
  91. if (relation == 2) {
  92. list = reportRelationService.getShareParam(reportId, hospId);
  93. }
  94. return Result.ok(list);
  95. }
  96. @ApiOperation("根据关系类型,获取可绑定的关系数据(包含回显)")
  97. @GetMapping("/getRelationList")
  98. @ApiImplicitParams({
  99. @ApiImplicitParam(name = "reportId", value = "报表项目id"),
  100. @ApiImplicitParam(name = "relation", value = "1.对应会计科目设置,2.对应分摊参数设置,根据列表中showAddRelation字段是否存在判断")
  101. })
  102. public Result getRelationList(@RequestParam Long reportId, @RequestParam Integer relation) {
  103. List<RelationVO> list = reportRelationService.getRelationList(reportId, relation, getHospId());
  104. return Result.ok(list);
  105. }
  106. }