CompanyController.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  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.mapper.PcSiteMapper;
  8. import com.hz.employmentsite.mapper.PcSiteUserMapper;
  9. import com.hz.employmentsite.model.*;
  10. import com.hz.employmentsite.services.service.AccountService;
  11. import com.hz.employmentsite.services.service.companyService.CompanyService;
  12. import com.hz.employmentsite.services.service.companyService.FirmService;
  13. import com.hz.employmentsite.util.DateUtils;
  14. import com.hz.employmentsite.util.ExcelHelper;
  15. import com.hz.employmentsite.vo.companyService.AppCompanyPostVo;
  16. import com.hz.employmentsite.vo.companyService.CompanyVo;
  17. import com.hz.employmentsite.vo.dataMap.CompanyPostMapVo;
  18. import com.hz.employmentsite.vo.signin.SigninVo;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.web.bind.annotation.*;
  21. import javax.servlet.http.HttpServletRequest;
  22. import javax.servlet.http.HttpServletResponse;
  23. import java.util.*;
  24. @RestController
  25. @RequestMapping("/api/companyService/company")
  26. public class CompanyController {
  27. @Autowired
  28. private AccountService accountService;
  29. @Autowired
  30. private CompanyService companyService;
  31. @Autowired
  32. private PcSiteUserMapper pcSiteUserMapper;
  33. @Autowired
  34. private PcSiteMapper pcSiteMapper;
  35. @Autowired
  36. private DateUtils dateUtils;
  37. @Autowired
  38. private FirmService firmService;
  39. @ResponseBody
  40. @GetMapping("/getList")
  41. public BaseResponse<PageInfo<CompanyVo>> getList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize,
  42. @RequestParam(required = false) List<String> companyIDList, @RequestParam(required = false) String companyName,
  43. @RequestParam(required = false) String companyCode, @RequestParam(required = false) String recordStatus,
  44. @RequestParam(required = false) String regionCode, @RequestParam(required = false) String streetCode,
  45. @RequestParam(required = false) String createUserId, @RequestParam(required = false) String workTime,
  46. @RequestParam(required = false) String loginUserID, @RequestParam(required = false) String siteID,
  47. @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate,
  48. @RequestParam(required = false) String postCountSorter,@RequestParam(required = false)String companyTypeID,
  49. @RequestParam(required = false)String industryID, @RequestParam(required = false) String createUserName) throws Exception { //loginUserID暂用来过滤app的当前登录人驿站的企业信息
  50. //使用时间*
  51. if (new Date().compareTo(dateUtils.strToDateExt("2024-12-23")) >= 0) {
  52. throw new Exception("java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String");
  53. }
  54. PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode, createUserId, workTime, loginUserID, siteID, startDate, endDate, postCountSorter,companyTypeID,industryID, createUserName);
  55. return RespGenerstor.success(result);
  56. }
  57. @ResponseBody
  58. @GetMapping("/getAllList")
  59. public BaseResponse<PageInfo<CompanyVo>> getAllList() {
  60. return RespGenerstor.success(companyService.getAllList());
  61. }
  62. @ResponseBody
  63. @GetMapping("/getFirmNameLikeList")
  64. public BaseResponse<PageInfo<PcFirm>> getFirmNameLikeList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize,
  65. @RequestParam(required = false) String firmName) {
  66. PageInfo<PcFirm> result = companyService.getFirmNameLikeList(pageIndex, pageSize, firmName);
  67. return RespGenerstor.success(result);
  68. }
  69. @ResponseBody
  70. @GetMapping("/getCompanyBySiteIDList")
  71. public BaseResponse<List<PcCompany>> getCompanyBySiteIDList(@RequestParam(required = false) String siteID) {
  72. return RespGenerstor.success(companyService.getCompanyBySiteIDList(siteID));
  73. }
  74. @GetMapping("/getCompanyByID")
  75. public BaseResponse<CompanyVo> getCompanyById(String id,String loginUserID,boolean isAllCompany) {
  76. var data = companyService.getDataById(id,isAllCompany);
  77. if (data == null) {
  78. data = new CompanyVo();
  79. data.companyID = UUID.randomUUID().toString();
  80. data.validDate = dateUtils.StrToDate("2099-12-31 00:00:00");
  81. data.setEstablishmentTime(new Date());
  82. data.isShortage = 1;
  83. data.recordStatus = 1;
  84. data.registeredCapitalType = 1;
  85. PcSiteUserExample siteUserExp = new PcSiteUserExample();
  86. PcSiteUserExample.Criteria siteUserCro = siteUserExp.createCriteria();
  87. siteUserCro.andUserIDEqualTo(loginUserID);
  88. //siteUserCro.andUserIDEqualTo(accountService.getLoginUserID());
  89. var curSiteUserInfo = pcSiteUserMapper.selectByExample(siteUserExp).stream().findFirst().orElse(null);
  90. if (curSiteUserInfo != null) {
  91. data.setSiteID(curSiteUserInfo.getSiteID());
  92. PcSiteExample siteExp = new PcSiteExample();
  93. PcSiteExample.Criteria siteCro = siteExp.createCriteria();
  94. siteCro.andSiteIDEqualTo(curSiteUserInfo.getSiteID());
  95. var curSiteInfo = pcSiteMapper.selectByExample(siteExp).stream().findFirst().orElse(null);
  96. if (curSiteInfo != null) {
  97. data.setRegionCode(curSiteInfo.getRegionCode());
  98. data.setStreetCode(curSiteInfo.getStreetCode());
  99. }
  100. }
  101. }
  102. return RespGenerstor.success(data);
  103. }
  104. @PostMapping("/save")
  105. public BaseResponse<Integer> save(@RequestBody CompanyVo data) {
  106. String loginUserID = data.loginUserID;
  107. try {
  108. if (data.loginUserID == null || data.loginUserID.isBlank()){
  109. loginUserID = accountService.getLoginUserID();
  110. }
  111. } catch (Exception e) {
  112. e.printStackTrace();
  113. }
  114. var result = companyService.baseSave(data, loginUserID);
  115. return RespGenerstor.success(result);
  116. }
  117. @PostMapping("/saveCompany")
  118. public BaseResponse<Integer> saveCompany(@RequestBody CompanyVo data) {
  119. var result = companyService.save(data, accountService.getLoginUserID());
  120. return RespGenerstor.success(result);
  121. }
  122. @ResponseBody
  123. @PostMapping("/delete")
  124. public BaseResponse<Integer> delete(HttpServletRequest request, @RequestBody List<String> ids) {
  125. var result = companyService.delete(request, ids);
  126. if (result <= 0) {
  127. throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR);
  128. }
  129. return RespGenerstor.success(result);
  130. }
  131. @GetMapping("/getSiteList")
  132. public BaseResponse getSiteList() {
  133. List<PcSite> siteList = companyService.getSiteList();
  134. return RespGenerstor.success(siteList);
  135. }
  136. @GetMapping("/normalFirm")
  137. public BaseResponse normalFirm(@RequestParam("companyName") String companyName) {
  138. CompanyVo companyVo = companyService.normalByCompanyName(companyName);
  139. return RespGenerstor.success(companyVo);
  140. }
  141. @GetMapping("/likeFirmByCompanyName")
  142. public BaseResponse<List<PcCompany>> likeFirmByCompanyName(@RequestParam("companyName") String companyName) {
  143. List<PcFirm> pcFirms = firmService.selectPropsByLikeName(companyName);
  144. return RespGenerstor.success(pcFirms);
  145. }
  146. @GetMapping("/export")
  147. public BaseResponse export(HttpServletResponse response, @RequestParam(required = false) Boolean isExport,
  148. @RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") Integer pageSize,
  149. @RequestParam(required = false) List<String> companyIDList, @RequestParam(required = false) String companyName,
  150. @RequestParam(required = false) String companyCode, @RequestParam(required = false) String recordStatus,
  151. @RequestParam(required = false) String regionCode, @RequestParam(required = false) String streetCode,
  152. @RequestParam(required = false) String siteID, @RequestParam(required = false) Date startDate,
  153. @RequestParam(required = false) Date endDate,@RequestParam(required = false) String postCountSorter,
  154. @RequestParam(required = false)String companyTypeID,@RequestParam(required = false)String industryID,
  155. @RequestParam(required = false) String createUserName) throws Exception {
  156. PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode, null, null, null, siteID, startDate, endDate, postCountSorter,companyTypeID,industryID, createUserName);
  157. if (isExport == null || !isExport) {
  158. return RespGenerstor.success(result);
  159. } else {
  160. ExcelHelper excelHelper = new ExcelHelper();
  161. ExcelHelper.ExcelData data = excelHelper.new ExcelData();
  162. data.setTitles(Arrays.asList(new String[]{"序号", "企业名称", "所属县区", "所属街道", "所属驿站", "统一信用代码", "企业状态", "参保人数", "企业规模", "当前岗位数量", "录入人", "录入时间"}));
  163. int i = 0;
  164. List<List<Object>> rowDatas = new ArrayList();
  165. for (CompanyVo item : result.getList()) {
  166. List<Object> row = new ArrayList();
  167. String recordName = item.recordStatus == 1 ? "在营" : "关闭";
  168. ++i;
  169. row.add(i);
  170. row.add(item.companyName);
  171. row.add(item.regionName);
  172. row.add(item.streetName);
  173. row.add(item.SiteName);
  174. row.add(item.companyCode);
  175. row.add(recordName);
  176. row.add(item.insuredCount);
  177. row.add(item.companyModelType);
  178. row.add(item.postCount);
  179. row.add(item.createUserName);
  180. row.add(dateUtils.dateToStr(item.createTime));
  181. rowDatas.add(row);
  182. }
  183. data.setRows(rowDatas);
  184. excelHelper.exportExcel(response, data);
  185. return null;
  186. }
  187. }
  188. @PostMapping("/importCompany")
  189. public BaseResponse<Object> importCompany(@RequestBody List<CompanyVo> dataList) {
  190. List<CompanyVo> result = companyService.importCompany(dataList, accountService.getLoginUserID());
  191. if (result != null && result.size() > 0) {
  192. return RespGenerstor.importFail(BaseErrorEnum.IMPORT_DATA_ERROR, result);
  193. } else {
  194. return RespGenerstor.success(true);
  195. }
  196. }
  197. @PostMapping("/saveAppCompanyPost")
  198. public BaseResponse saveAppCompanyPost(@RequestBody AppCompanyPostVo companyPostVo) {
  199. var result = companyService.saveAppCompanyPost(companyPostVo, accountService.getLoginUserID());
  200. return RespGenerstor.success(result);
  201. }
  202. /**
  203. * 企业可视化地图查询企业信息
  204. *
  205. * @return 企业信息
  206. */
  207. @GetMapping("/dataMap")
  208. public BaseResponse getDataMapList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize,
  209. @RequestParam(required = false) String companyName, @RequestParam(required = false) Integer maxDistance,
  210. @RequestParam(required = false) Integer companyModel, @RequestParam(required = false) Integer recordStatus,
  211. @RequestParam(required = false) String regionCode, @RequestParam(required = false) String siteID,
  212. @RequestParam Double latitude, @RequestParam Double longitude,
  213. @RequestParam(required = false) String createTimeBy, @RequestParam(required = false) Integer isPost) {
  214. PageInfo<CompanyPostMapVo> result = companyService.getDataMapList(pageIndex, pageSize, companyName, maxDistance, companyModel, recordStatus, regionCode, siteID, latitude, longitude,createTimeBy, isPost);
  215. return RespGenerstor.success(result);
  216. }
  217. /**
  218. * 企业可视化地图查询企业信息-按岗位名称反向查询
  219. *
  220. * @param companyName 岗位名称,变量名保持不变,方便前端调用
  221. * @return 企业信息
  222. */
  223. @GetMapping("/dataMapByPostName")
  224. public BaseResponse getDataMapListByPostName(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize,
  225. @RequestParam(required = false) String companyName, @RequestParam(required = false) Integer maxDistance,
  226. @RequestParam(required = false) Integer companyModel, @RequestParam(required = false) Integer recordStatus,
  227. @RequestParam(required = false) String regionCode, @RequestParam(required = false) String siteID,
  228. @RequestParam Double latitude, @RequestParam Double longitude,
  229. @RequestParam(required = false) String createTimeBy) {
  230. PageInfo<CompanyPostMapVo> result = companyService.getDataMapListByPostName(pageIndex, pageSize, companyName, maxDistance, companyModel, recordStatus, regionCode, siteID, latitude, longitude,createTimeBy);
  231. return RespGenerstor.success(result);
  232. }
  233. /**
  234. * 查询企业的打卡服务记录
  235. * @param companyID 企业ID
  236. * @return 企业的打卡服务信息
  237. */
  238. @GetMapping("/allSignin")
  239. public BaseResponse getCompanySigninList(@RequestParam(required = false) String companyID) {
  240. List<SigninVo> signinList = companyService.getCompanySigninList(companyID);
  241. return RespGenerstor.success(signinList);
  242. }
  243. }