TProjectInvestigateController.java 7.7 KB

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