LegalDueDiligenceController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. package com.ruoyi.web.controller.file;
  2. import com.ruoyi.common.annotation.Log;
  3. import com.ruoyi.common.core.controller.BaseController;
  4. import com.ruoyi.common.core.domain.AjaxResult;
  5. import com.ruoyi.common.core.page.TableDataInfo;
  6. import com.ruoyi.common.enums.BusinessType;
  7. import com.ruoyi.common.enums.FileType;
  8. import com.ruoyi.common.utils.poi.ExcelUtil;
  9. import com.ruoyi.common.utils.uuid.IdUtils;
  10. import com.ruoyi.invest.domain.TProjectInformation;
  11. import com.ruoyi.invest.service.ITProjectCirculationService;
  12. import com.ruoyi.invest.service.ITProjectInformationService;
  13. import com.ruoyi.system.service.ISysDictDataService;
  14. import com.ruoyi.tool.service.ITUnifyFileService;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.security.access.prepost.PreAuthorize;
  19. import org.springframework.web.bind.annotation.*;
  20. import javax.servlet.http.HttpServletResponse;
  21. import java.util.List;
  22. import java.util.stream.Collectors;
  23. /**
  24. * 法务评估报告Controller
  25. *
  26. * @author ruoyi
  27. * @date 2024-02-26
  28. */
  29. @Api(tags = "研究资料管理-法务评估报告")
  30. @RestController
  31. @RequestMapping("/file/legalDueDiligence")
  32. public class LegalDueDiligenceController extends BaseController
  33. {
  34. @Autowired
  35. private ITProjectInformationService tProjectInformationService;
  36. @Autowired
  37. private ITProjectCirculationService tProjectCirculationService;
  38. @Autowired
  39. private ITUnifyFileService tUnifyFileService;
  40. @Autowired
  41. private ISysDictDataService dictDataService;
  42. /**
  43. * 查询立项申请报告列表
  44. */
  45. @ApiOperation("查询立项申请报告列表")
  46. @GetMapping("/list")
  47. public TableDataInfo list(TProjectInformation tProjectInformation)
  48. {
  49. startPage();
  50. tProjectInformation.setFileType("p");
  51. List<TProjectInformation> list = tProjectInformationService.selectTProjectInformationList(tProjectInformation);
  52. return getDataTable(list);
  53. }
  54. /**
  55. * 导出立项申请报告列表
  56. */
  57. @ApiOperation("导出立项申请报告列表")
  58. @Log(title = "立项申请报告", businessType = BusinessType.EXPORT)
  59. @PostMapping("/export")
  60. public void export(HttpServletResponse response, TProjectInformation tProjectInformation)
  61. {
  62. tProjectInformation.setFileType("p");
  63. List<TProjectInformation> list = tProjectInformationService.selectTProjectInformationList(tProjectInformation)
  64. .stream().map(n -> {
  65. n.setProjectPoolId(n.gettProjectPool().getProjectName());
  66. n.setFileType(dictDataService.selectDictLabel("file_type",n.getFileType()));
  67. n.setProjectStage(dictDataService.selectDictLabel("project_stage",n.getProjectStage()));
  68. return n;
  69. })
  70. .collect(Collectors.toList());
  71. ExcelUtil<TProjectInformation> util = new ExcelUtil<TProjectInformation>(TProjectInformation.class);
  72. util.exportExcel(response, list, "立项申请报告数据");
  73. }
  74. /**
  75. * 获取立项申请报告详细信息
  76. */
  77. @ApiOperation("获取立项申请报告详细信息")
  78. @GetMapping(value = "/{id}")
  79. public AjaxResult getInfo(@PathVariable("id") String id)
  80. {
  81. return success(tProjectInformationService.selectTProjectInformationById(id));
  82. }
  83. /**
  84. * 新增立项申请报告
  85. */
  86. @ApiOperation("新增立项申请报告")
  87. @Log(title = "立项申请报告", businessType = BusinessType.INSERT)
  88. @PostMapping
  89. public AjaxResult add(@RequestBody TProjectInformation tProjectInformation)
  90. {
  91. tProjectInformation.setId(IdUtils.fastSimpleUUID());
  92. tProjectInformation.setCreateBy(getNickName());
  93. // todo 保存附件信息
  94. tUnifyFileService.insertTUnifyFileList(tProjectInformation.getListFile(),
  95. tProjectInformation.getProjectPoolId(),
  96. tProjectInformation.getId(),//立项申请报告ID
  97. String.valueOf(FileType.INFORMATION.ordinal()),//文件类型:立项申请报告
  98. getNickName());
  99. // todo 增加文件创建记录
  100. tProjectCirculationService.insertTProjectCirculation(tProjectInformation.getProjectPoolId(),tProjectInformation.getFileName()+"(立项申请报告)",getNickName());
  101. return toAjax(tProjectInformationService.insertTProjectInformation(tProjectInformation));
  102. }
  103. /**
  104. * 修改立项申请报告
  105. */
  106. @ApiOperation("修改立项申请报告")
  107. @Log(title = "立项申请报告", businessType = BusinessType.UPDATE)
  108. @PutMapping
  109. public AjaxResult edit(@RequestBody TProjectInformation tProjectInformation)
  110. {
  111. // todo 保存附件信息
  112. tUnifyFileService.insertTUnifyFileList(tProjectInformation.getListFile(),
  113. tProjectInformation.getProjectPoolId(),
  114. tProjectInformation.getId(),//立项申请报告ID
  115. String.valueOf(FileType.INFORMATION.ordinal()),//文件类型:立项申请报告
  116. getNickName());
  117. return toAjax(tProjectInformationService.updateTProjectInformation(tProjectInformation));
  118. }
  119. /**
  120. * 删除立项申请报告
  121. */
  122. @ApiOperation("删除立项申请报告")
  123. @Log(title = "立项申请报告", businessType = BusinessType.DELETE)
  124. @DeleteMapping("/{ids}")
  125. public AjaxResult remove(@PathVariable String[] ids)
  126. {
  127. //删除附件
  128. tUnifyFileService.updateTUnifyFileBusinessIds(ids);
  129. return toAjax(tProjectInformationService.updateTProjectInformationByIds(ids));
  130. }
  131. /**
  132. * 根据项目ID获取会议记录
  133. */
  134. @ApiOperation("根据项目ID获取会议记录")
  135. @GetMapping(value = "/listProjectPoolId")
  136. public AjaxResult listProjectPoolId(String projectPoolId)
  137. {
  138. return success(tProjectInformationService.listProjectPoolId(projectPoolId));
  139. }
  140. }