CompanyController.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. package com.hz.employmentsite.controller.companyService;
  2. import com.github.pagehelper.PageInfo;
  3. import com.hz.employmentsite.filter.exception.BaseErrorEnum;
  4. import com.hz.employmentsite.filter.exception.BaseException;
  5. import com.hz.employmentsite.filter.exception.BaseResponse;
  6. import com.hz.employmentsite.filter.exception.RespGenerstor;
  7. import com.hz.employmentsite.model.PcCompany;
  8. import com.hz.employmentsite.mapper.PcSiteMapper;
  9. import com.hz.employmentsite.mapper.PcSiteUserMapper;
  10. import com.hz.employmentsite.model.PcSite;
  11. import com.hz.employmentsite.model.PcSiteExample;
  12. import com.hz.employmentsite.model.PcSiteUserExample;
  13. import com.hz.employmentsite.util.DateUtils;
  14. import com.hz.employmentsite.util.ExcelHelper;
  15. import com.hz.employmentsite.vo.companyService.AppCompanyPostVo;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import com.hz.employmentsite.services.service.companyService.CompanyService;
  19. import com.hz.employmentsite.services.service.AccountService;
  20. import com.hz.employmentsite.vo.companyService.CompanyVo;
  21. import javax.servlet.http.HttpServletResponse;
  22. import java.util.*;
  23. @RestController
  24. @RequestMapping("/api/companyService/company")
  25. public class CompanyController {
  26. @Autowired
  27. private AccountService accountService;
  28. @Autowired
  29. private CompanyService companyService;
  30. @Autowired
  31. private PcSiteUserMapper pcSiteUserMapper;
  32. @Autowired
  33. private DateUtils dateUtils;
  34. @ResponseBody
  35. @GetMapping("/getList")
  36. public BaseResponse<PageInfo<CompanyVo>> getList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize,
  37. @RequestParam(required = false) List<String> companyIDList, @RequestParam(required = false) String companyName,
  38. @RequestParam(required = false) String companyCode, @RequestParam(required = false) String recordStatus,
  39. @RequestParam(required = false) String regionCode, @RequestParam(required = false) String streetCode) {
  40. PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode);
  41. return RespGenerstor.success(result);
  42. }
  43. @ResponseBody
  44. @GetMapping("/getCompanyBySiteIDList")
  45. public BaseResponse<List<PcCompany>> getCompanyBySiteIDList(@RequestParam(required = false) String siteID) {
  46. return RespGenerstor.success(companyService.getCompanyBySiteIDList(siteID));
  47. }
  48. @GetMapping("/getCompanyByID")
  49. public BaseResponse<CompanyVo> getCompanyById(String id) {
  50. var data = companyService.getDataById(id);
  51. if (data == null) {
  52. data = new CompanyVo();
  53. data.companyID = UUID.randomUUID().toString();
  54. data.recordStatus = 1;
  55. data.validDate = dateUtils.StrToDate("2099-12-31 00:00:00") ;
  56. data.isShortage = 1;
  57. PcSiteUserExample siteUserExp = new PcSiteUserExample();
  58. PcSiteUserExample.Criteria siteUserCro = siteUserExp.createCriteria();
  59. siteUserCro.andUserIDEqualTo(accountService.getLoginUserID());
  60. var curSiteUserInfo = pcSiteUserMapper.selectByExample(siteUserExp).stream().findFirst().orElse(null);
  61. if(curSiteUserInfo != null){
  62. data.siteID = curSiteUserInfo.getSiteID();
  63. }
  64. }
  65. return RespGenerstor.success(data);
  66. }
  67. @PostMapping("/save")
  68. public BaseResponse<Integer> save(@RequestBody CompanyVo data) {
  69. var result = companyService.save(data, accountService.getLoginUserID());
  70. return RespGenerstor.success(result);
  71. }
  72. @ResponseBody
  73. @PostMapping("/delete")
  74. public BaseResponse<Integer> delete(@RequestBody List<String> ids) {
  75. var result = companyService.delete(ids);
  76. if (result <= 0) {
  77. throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR);
  78. }
  79. return RespGenerstor.success(result);
  80. }
  81. @GetMapping("/getSiteList")
  82. public BaseResponse getSiteList(){
  83. List<PcSite> siteList = companyService.getSiteList();
  84. return RespGenerstor.success(siteList);
  85. }
  86. @GetMapping("/export")
  87. public BaseResponse export(HttpServletResponse response, @RequestParam(required = false) Boolean isExport,
  88. @RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") Integer pageSize,
  89. @RequestParam(required = false) List<String> companyIDList, @RequestParam(required = false) String companyName,
  90. @RequestParam(required = false) String companyCode, @RequestParam(required = false) String recordStatus,
  91. @RequestParam(required = false) String regionCode, @RequestParam(required = false) String streetCode
  92. ) throws Exception {
  93. PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode);
  94. if (isExport == null || !isExport) {
  95. return RespGenerstor.success(result);
  96. } else {
  97. ExcelHelper excelHelper = new ExcelHelper();
  98. ExcelHelper.ExcelData data = excelHelper.new ExcelData();
  99. data.setTitles(Arrays.asList(new String[]{"序号", "企业名称", "所属县区", "所属街道", "统一信用代码", "企业状态", "参保人数", "企业规模", "当前岗位数量", "录入人", "录入时间"}));
  100. int i = 0;
  101. List<List<Object>> rowDatas = new ArrayList();
  102. for (CompanyVo item : result.getList()) {
  103. List<Object> row = new ArrayList();
  104. String recordName = item.recordStatus == 1 ? "在营" : "关闭";
  105. ++i;
  106. row.add(i);
  107. row.add(item.companyName);
  108. row.add(item.regionName);
  109. row.add(item.streetName);
  110. row.add(item.companyCode);
  111. row.add(recordName);
  112. row.add(item.insuredCount);
  113. row.add(item.companyModelType);
  114. row.add(item.postCount);
  115. row.add(item.createUserName);
  116. row.add(dateUtils.dateToStr(item.createTime));
  117. rowDatas.add(row);
  118. }
  119. data.setRows(rowDatas);
  120. excelHelper.exportExcel(response, data);
  121. return null;
  122. }
  123. }
  124. @PostMapping("/importCompany")
  125. public BaseResponse<Object> importCompany(@RequestBody List<CompanyVo> data) {
  126. List<CompanyVo> result = companyService.importCompany(data, accountService.getLoginUserID());
  127. if (result != null && result.size() > 0) {
  128. return RespGenerstor.fail(BaseErrorEnum.IMPORT_DATA_ERROR, result);
  129. } else {
  130. return RespGenerstor.success(true);
  131. }
  132. }
  133. @PostMapping("/saveAppCompanyPost")
  134. public BaseResponse saveAppCompanyPost(@RequestBody AppCompanyPostVo companyPostVo){
  135. var result = companyService.saveAppCompanyPost(companyPostVo, accountService.getLoginUserID());
  136. return RespGenerstor.success(result);
  137. }
  138. }