TProjectInvestigateController.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. package com.ruoyi.web.controller.invest;
  2. import java.util.List;
  3. import javax.servlet.http.HttpServletResponse;
  4. import com.ruoyi.common.enums.FileType;
  5. import com.ruoyi.common.utils.StringUtils;
  6. import com.ruoyi.common.utils.uuid.IdUtils;
  7. import com.ruoyi.invest.domain.TProjectCirculation;
  8. import com.ruoyi.invest.domain.TProjectScoring;
  9. import com.ruoyi.invest.service.ITProjectCirculationService;
  10. import com.ruoyi.tool.domain.TUnifyFile;
  11. import com.ruoyi.tool.service.ITUnifyFileService;
  12. import io.swagger.annotations.Api;
  13. import io.swagger.annotations.ApiOperation;
  14. import org.springframework.security.access.prepost.PreAuthorize;
  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.PutMapping;
  19. import org.springframework.web.bind.annotation.DeleteMapping;
  20. import org.springframework.web.bind.annotation.PathVariable;
  21. import org.springframework.web.bind.annotation.RequestBody;
  22. import org.springframework.web.bind.annotation.RequestMapping;
  23. import org.springframework.web.bind.annotation.RestController;
  24. import com.ruoyi.common.annotation.Log;
  25. import com.ruoyi.common.core.controller.BaseController;
  26. import com.ruoyi.common.core.domain.AjaxResult;
  27. import com.ruoyi.common.enums.BusinessType;
  28. import com.ruoyi.invest.domain.TProjectInvestigate;
  29. import com.ruoyi.invest.service.ITProjectInvestigateService;
  30. import com.ruoyi.common.utils.poi.ExcelUtil;
  31. import com.ruoyi.common.core.page.TableDataInfo;
  32. /**
  33. * 尽调关联Controller
  34. *
  35. * @author zjc
  36. * @date 2024-03-13
  37. */
  38. @Api(tags = "尽职背调")
  39. @RestController
  40. @RequestMapping("/invest/investigate")
  41. public class TProjectInvestigateController extends BaseController
  42. {
  43. @Autowired
  44. private ITProjectInvestigateService tProjectInvestigateService;
  45. @Autowired
  46. private ITProjectCirculationService tProjectCirculationService;
  47. @Autowired
  48. private ITUnifyFileService tUnifyFileService;
  49. /**
  50. * 查询尽调关联列表
  51. */
  52. @ApiOperation("查询尽调关联列表")
  53. @GetMapping("/list")
  54. public TableDataInfo list(TProjectInvestigate tProjectInvestigate)
  55. {
  56. startPage();
  57. List<TProjectInvestigate> list = tProjectInvestigateService.selectTProjectInvestigateList(tProjectInvestigate);
  58. return getDataTable(list);
  59. }
  60. /**
  61. * 导出尽调关联列表
  62. */
  63. @ApiOperation("导出尽调关联列表")
  64. @Log(title = "尽调关联", businessType = BusinessType.EXPORT)
  65. @PostMapping("/export")
  66. public void export(HttpServletResponse response, TProjectInvestigate tProjectInvestigate)
  67. {
  68. List<TProjectInvestigate> list = tProjectInvestigateService.selectTProjectInvestigateList(tProjectInvestigate);
  69. ExcelUtil<TProjectInvestigate> util = new ExcelUtil<TProjectInvestigate>(TProjectInvestigate.class);
  70. util.exportExcel(response, list, "尽调关联数据");
  71. }
  72. /**
  73. * 获取尽调关联详细信息
  74. */
  75. @ApiOperation("获取尽调关联详细信息")
  76. @GetMapping(value = "/{id}")
  77. public AjaxResult getInfo(@PathVariable("id") String id)
  78. {
  79. return success(tProjectInvestigateService.selectTProjectInvestigateById(id));
  80. }
  81. /**
  82. * 新增尽调关联
  83. */
  84. @ApiOperation("新增尽调关联")
  85. @Log(title = "尽调关联", businessType = BusinessType.INSERT)
  86. @PostMapping
  87. public AjaxResult add(@RequestBody TProjectInvestigate tProjectInvestigate)
  88. {
  89. tProjectInvestigate.setId(IdUtils.fastSimpleUUID());
  90. // todo 保存附件信息
  91. List<TUnifyFile> tUnifyFileList = tProjectInvestigate.getListFile();
  92. if(!tUnifyFileList.isEmpty()){
  93. for (TUnifyFile tUnifyFile:
  94. tUnifyFileList) {
  95. tUnifyFile.setFileId(tProjectInvestigate.getProjectPoolId());
  96. tUnifyFile.setFileBusinessId(tProjectInvestigate.getId());//尽调ID
  97. tUnifyFile.setUploadType(String.valueOf(FileType.INVESTIGATE.ordinal()));//文件类型:尽调
  98. tUnifyFile.setCreateBy(getNickName());
  99. tUnifyFileService.insertTUnifyFile(tUnifyFile);
  100. }
  101. }
  102. // todo 增加尽调创建记录
  103. TProjectCirculation tProjectCirculation = new TProjectCirculation();
  104. tProjectCirculation.setProjectPoolId(tProjectInvestigate.getProjectPoolId());
  105. tProjectCirculation.setStageName(tProjectInvestigate.getInvestigateName()+"(尽职背调)");
  106. tProjectCirculation.setCreateBy(getNickName());
  107. tProjectCirculationService.insertTProjectCirculation(tProjectCirculation);
  108. return toAjax(tProjectInvestigateService.insertTProjectInvestigate(tProjectInvestigate));
  109. }
  110. /**
  111. * 修改尽调关联
  112. */
  113. @ApiOperation("修改尽调关联")
  114. @Log(title = "尽调关联", businessType = BusinessType.UPDATE)
  115. @PutMapping
  116. public AjaxResult edit(@RequestBody TProjectInvestigate tProjectInvestigate)
  117. {
  118. // todo 保存附件信息
  119. List<TUnifyFile> tUnifyFileList = tProjectInvestigate.getListFile();
  120. if(!tUnifyFileList.isEmpty()){
  121. for (TUnifyFile tUnifyFile:
  122. tUnifyFileList) {
  123. if(tUnifyFile.getId() == null){
  124. tUnifyFile.setFileId(tProjectInvestigate.getProjectPoolId());
  125. tUnifyFile.setFileBusinessId(tProjectInvestigate.getId());//尽调ID
  126. tUnifyFile.setUploadType(String.valueOf(FileType.INVESTIGATE.ordinal()));//文件类型:尽调
  127. tUnifyFile.setCreateBy(getNickName());
  128. tUnifyFileService.insertTUnifyFile(tUnifyFile);
  129. }
  130. }
  131. }
  132. return toAjax(tProjectInvestigateService.updateTProjectInvestigate(tProjectInvestigate));
  133. }
  134. /**
  135. * 删除尽调关联
  136. */
  137. @ApiOperation("删除尽调关联")
  138. @Log(title = "尽调关联", businessType = BusinessType.DELETE)
  139. @DeleteMapping("/{ids}")
  140. public AjaxResult remove(@PathVariable String[] ids)
  141. {
  142. return toAjax(tProjectInvestigateService.updateTProjectInvestigateByIds(ids));
  143. }
  144. /**
  145. * 根据项目ID获取尽调
  146. */
  147. @ApiOperation("根据项目ID获取尽调数据")
  148. @GetMapping(value = "/listProjectPoolId")
  149. public AjaxResult listProjectPoolId(String projectPoolId)
  150. {
  151. if (StringUtils.isEmpty(projectPoolId))
  152. {
  153. return error("查询尽调数据失败,请提供项目ID!");
  154. }
  155. TProjectInvestigate tProjectInvestigate = tProjectInvestigateService.listProjectPoolId(projectPoolId);
  156. AjaxResult ajax = AjaxResult.success();
  157. ajax.put("tProjectInvestigate", tProjectInvestigate);
  158. return ajax;
  159. }
  160. /**
  161. * 修改尽调完成
  162. */
  163. @ApiOperation("修改尽调完成")
  164. @Log(title = "修改尽调完成", businessType = BusinessType.UPDATE)
  165. @PutMapping("/editStatus")
  166. public AjaxResult editStatus(@RequestBody String id)
  167. {
  168. return toAjax(tProjectInvestigateService.editStatus(id));
  169. }
  170. }