ShareholderInfoController.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. package com.ruoyi.equity.controller;
  2. import java.util.List;
  3. import javax.servlet.http.HttpServletResponse;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.ruoyi.common.core.domain.R;
  6. import com.ruoyi.equity.domain.vo.ShareholderInfoVO;
  7. import com.ruoyi.equity.domain.vo.ShareholderPicVO;
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiOperation;
  10. import org.apache.catalina.User;
  11. import org.springframework.security.access.prepost.PreAuthorize;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.GetMapping;
  14. import org.springframework.web.bind.annotation.PostMapping;
  15. import org.springframework.web.bind.annotation.PutMapping;
  16. import org.springframework.web.bind.annotation.DeleteMapping;
  17. import org.springframework.web.bind.annotation.PathVariable;
  18. import org.springframework.web.bind.annotation.RequestBody;
  19. import org.springframework.web.bind.annotation.RequestMapping;
  20. import org.springframework.web.bind.annotation.RestController;
  21. import com.ruoyi.common.annotation.Log;
  22. import com.ruoyi.common.core.controller.BaseController;
  23. import com.ruoyi.common.core.domain.AjaxResult;
  24. import com.ruoyi.common.enums.BusinessType;
  25. import com.ruoyi.equity.domain.ShareholderInfo;
  26. import com.ruoyi.equity.service.IShareholderInfoService;
  27. import com.ruoyi.common.utils.poi.ExcelUtil;
  28. import com.ruoyi.common.core.page.TableDataInfo;
  29. import org.springframework.web.multipart.MultipartFile;
  30. /**
  31. * 股东信息Controller
  32. *
  33. * @author ruoyi
  34. * @date 2025-03-03
  35. */
  36. @Api(tags = "股东信息管理")
  37. @RestController
  38. @RequestMapping("/equity/info")
  39. public class ShareholderInfoController extends BaseController {
  40. @Autowired
  41. private IShareholderInfoService shareholderInfoService;
  42. /**
  43. * 获取股权结构图
  44. */
  45. @ApiOperation("获取股权结构图")
  46. @GetMapping("/getShareholderPic")
  47. public AjaxResult getShareholderPic() {
  48. ShareholderPicVO vo = shareholderInfoService.getShareholderPic();
  49. return success(vo);
  50. }
  51. /**
  52. * 获取股东-根据股东状态
  53. */
  54. @ApiOperation("获取股东列表,根据股东状态1未入股2已入股")
  55. @GetMapping("/getNotShareholderList")
  56. public AjaxResult getNotShareholderList(Integer state) {
  57. List<ShareholderInfo> list = shareholderInfoService.getNotShareholderList(state);
  58. return success(list);
  59. }
  60. /**
  61. * 获取所有的公司 3.10根据需求,可以入股个人,所以返回所有上层节点
  62. */
  63. @ApiOperation("获取所有的公司")
  64. @GetMapping("/getAllCompany")
  65. public AjaxResult getAllCompany() {
  66. List<ShareholderInfo> list = shareholderInfoService.getAllCompany();
  67. return success(list);
  68. }
  69. /**
  70. * 获取所有的股东 控制主体的股东
  71. */
  72. @ApiOperation("获取所有的股东")
  73. @GetMapping("/getAllShareholder")
  74. public AjaxResult getAllShareholder() {
  75. List<ShareholderInfo> list = shareholderInfoService.list(new LambdaQueryWrapper<ShareholderInfo>()
  76. .select(ShareholderInfo::getShareholderId, ShareholderInfo::getShareholderName)
  77. .eq(ShareholderInfo::getNodeType, 1));
  78. return success(list);
  79. }
  80. /**
  81. * 查询股东信息列表
  82. * 3.11 因为下层增加了部门,所以说查询的时候先排除下层
  83. */
  84. @ApiOperation("获取股东列表")
  85. @PreAuthorize("@ss.hasPermi('equity:info:list')")
  86. @GetMapping("/list")
  87. public TableDataInfo<ShareholderInfoVO> list(ShareholderInfo shareholderInfo) {
  88. startPage();
  89. List<ShareholderInfoVO> list = shareholderInfoService.selectShareholderInfoList(shareholderInfo);
  90. return getDataTable(list);
  91. }
  92. /**
  93. * 获取股东信息详细信息
  94. */
  95. @ApiOperation("获取股东详细")
  96. @PreAuthorize("@ss.hasPermi('equity:info:query')")
  97. @GetMapping(value = "/{shareholderId}")
  98. public R<ShareholderInfo> getInfo(@PathVariable("shareholderId") Long shareholderId) {
  99. return R.ok(shareholderInfoService.selectShareholderInfoByShareholderId(shareholderId));
  100. }
  101. /**
  102. * 新增股东信息
  103. */
  104. @ApiOperation("新增股东信息")
  105. @PreAuthorize("@ss.hasPermi('equity:info:add')")
  106. @Log(title = "股东信息", businessType = BusinessType.INSERT)
  107. @PostMapping
  108. public AjaxResult add(@RequestBody ShareholderInfo shareholderInfo) {
  109. Boolean state = shareholderInfoService.insertShareholderInfo(shareholderInfo);
  110. return toAjax(state);
  111. }
  112. /**
  113. * 修改股东信息
  114. */
  115. @ApiOperation("修改股东信息")
  116. @PreAuthorize("@ss.hasPermi('equity:info:edit')")
  117. @Log(title = "股东信息", businessType = BusinessType.UPDATE)
  118. @PutMapping
  119. public AjaxResult edit(@RequestBody ShareholderInfo shareholderInfo) {
  120. Boolean state = shareholderInfoService.updateShareholderInfo(shareholderInfo);
  121. return toAjax(state);
  122. }
  123. /**
  124. * 删除股东信息
  125. */
  126. @ApiOperation("删除股东信息")
  127. @PreAuthorize("@ss.hasPermi('equity:info:remove')")
  128. @Log(title = "股东信息", businessType = BusinessType.DELETE)
  129. @DeleteMapping("/{shareholderIds}")
  130. public AjaxResult remove(@PathVariable Long[] shareholderIds) {
  131. return toAjax(shareholderInfoService.deleteShareholderInfoByShareholderIds(shareholderIds));
  132. }
  133. /**
  134. * 导出股东信息
  135. */
  136. @ApiOperation("导出股东信息")
  137. @PreAuthorize("@ss.hasPermi('equity:info:exportEquityInfo')")
  138. @PostMapping("/exportEquityInfo")
  139. public void exportEquityInfo(HttpServletResponse response) {
  140. List<ShareholderInfoVO> list = shareholderInfoService.selectShareholderInfoListByIds();
  141. ExcelUtil<ShareholderInfoVO> util = new ExcelUtil<>(ShareholderInfoVO.class);
  142. util.exportExcel(response, list, "股东信息表");
  143. }
  144. /**
  145. * 导入信息表
  146. */
  147. @ApiOperation("导入股东信息")
  148. @PreAuthorize("@ss.hasPermi('equity:info:importEquityInfo')")
  149. @PostMapping("/importEquityInfo")
  150. public AjaxResult importEquityInfo(MultipartFile file, boolean updateSupport) throws Exception {
  151. ExcelUtil<ShareholderInfo> util = new ExcelUtil<>(ShareholderInfo.class);
  152. List<ShareholderInfo> list = util.importExcel(file.getInputStream());
  153. String operName = getUsername();
  154. String message = shareholderInfoService.importEqityInfo(list, updateSupport,operName);
  155. return success(message);
  156. }
  157. /**
  158. * 获取所有的公司 3.10根据需求,可以入股个人,所以返回所有上层节点
  159. */
  160. @ApiOperation("获取所有的公司")
  161. @GetMapping("/getOnlyCompanyList")
  162. public AjaxResult getOnlyCompanyList() {
  163. List<ShareholderInfo> list = shareholderInfoService.selectOnlyCompany();
  164. return success(list);
  165. }
  166. }