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