package com.hz.employmentsite.controller.jobUserManager; import com.github.pagehelper.PageInfo; import com.hz.employmentsite.filter.exception.BaseErrorEnum; import com.hz.employmentsite.filter.exception.BaseException; import com.hz.employmentsite.filter.exception.BaseResponse; import com.hz.employmentsite.filter.exception.RespGenerstor; import com.hz.employmentsite.mapper.PcSiteMapper; import com.hz.employmentsite.mapper.PcSiteUserMapper; import com.hz.employmentsite.model.PcJobuser; import com.hz.employmentsite.model.PcSiteExample; import com.hz.employmentsite.model.PcSiteUserExample; import com.hz.employmentsite.model.SelectProps; import com.hz.employmentsite.services.service.AccountService; import com.hz.employmentsite.services.service.jobUserManager.JobUserService; import com.hz.employmentsite.util.DateUtils; import com.hz.employmentsite.util.ExcelHelper; import com.hz.employmentsite.vo.jobUserManager.JobUserVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.UUID; @RestController @RequestMapping(value = "/api/jobUserService/jobUser") public class JobUserController { @Autowired private JobUserService jobuserService; @Autowired private AccountService accountService; @Autowired private PcSiteUserMapper pcSiteUserMapper; @Autowired private PcSiteMapper pcSiteMapper; @Autowired private DateUtils dateUtils; @ResponseBody @GetMapping("/getList") public BaseResponse getList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize, @RequestParam(required = false) List jobUserIDList, @RequestParam(required = false) String name, @RequestParam(required = false) String siteID, @RequestParam(required = false) String jobStatus, @RequestParam(required = false) Integer sexId, @RequestParam(required = false) Integer educationTypeId, @RequestParam(required = false) Integer emphasisTypeId, @RequestParam(required = false) String createUserId, @RequestParam(required = false) String workTime) { PageInfo result = jobuserService.getList(pageIndex, pageSize, jobUserIDList, name, siteID, jobStatus, sexId, educationTypeId, emphasisTypeId, createUserId, workTime); return RespGenerstor.success(result); } @ResponseBody @GetMapping("/getDataByID") public BaseResponse getDataById(String id, String loginUserID) { var data = jobuserService.getDataById(id); if (data == null) { data = new JobUserVo(); data.setJobUserID(UUID.randomUUID().toString()); PcSiteUserExample siteUserExp = new PcSiteUserExample(); siteUserExp.or().andUserIDEqualTo(loginUserID); //siteUserExp.or().andUserIDEqualTo(accountService.getLoginUserID()); var curSiteUserInfo = pcSiteUserMapper.selectByExample(siteUserExp).stream().findFirst().orElse(null); if (curSiteUserInfo != null) { data.setSiteID(curSiteUserInfo.getSiteID()); PcSiteExample siteExp = new PcSiteExample(); siteExp.or().andSiteIDEqualTo(curSiteUserInfo.getSiteID()); var curSiteInfo = pcSiteMapper.selectByExample(siteExp).stream().findFirst().orElse(null); if (curSiteInfo != null) { data.setRegionCode(curSiteInfo.getRegionCode()); } } } return RespGenerstor.success(data); } @ResponseBody @GetMapping("/getDataList") public BaseResponse> getDataList() { return RespGenerstor.success(jobuserService.getDataList()); } @ResponseBody @GetMapping("/getEducationList") public BaseResponse getEducationList(String id) { var educationList = jobuserService.getJobUserEducationList(id); return RespGenerstor.success(educationList); } @ResponseBody @GetMapping("/getExperienceList") public BaseResponse getExperienceList(String id) { var experienceList = jobuserService.getJobUserPcExperienceList(id); return RespGenerstor.success(experienceList); } @ResponseBody @GetMapping("/getUserHuntList") public BaseResponse getUserHuntList(String jobUserID) { var curHuntPostList = jobuserService.getUserHuntList(jobUserID); return RespGenerstor.success(curHuntPostList); } @ResponseBody @PostMapping("/save") public BaseResponse save(@RequestBody JobUserVo data) { var result = jobuserService.save(data, accountService.getLoginUserID()); return RespGenerstor.success(result); } @ResponseBody @PostMapping("/baseInfoSave") public BaseResponse baseInfoSave(@RequestBody JobUserVo data) { String loginUserID = data.loginUserID; try { loginUserID = accountService.getLoginUserID(); } catch (Exception e){ } var result = jobuserService.baseInfoSave(data, loginUserID); return RespGenerstor.success(result); } @ResponseBody @PostMapping("/delete") public BaseResponse delete(@RequestBody List ids) { var result = jobuserService.delete(ids); if (result <= 0) { throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR); } return RespGenerstor.success(1); } @GetMapping("/export") public BaseResponse export(HttpServletResponse response, @RequestParam(required = false) Boolean isExport, @RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize, @RequestParam(required = false) List jobUserIDList, @RequestParam(required = false) String name, @RequestParam(required = false) String siteId, @RequestParam(required = false) String jobStatus, @RequestParam(required = false) Integer sexId, @RequestParam(required = false) Integer educationTypeId, @RequestParam(required = false) Integer emphasisTypeId) throws Exception { PageInfo result = jobuserService.getList(pageIndex, pageSize, jobUserIDList, name, siteId, jobStatus, sexId, educationTypeId, emphasisTypeId, null, null); if (isExport == null || !isExport) { return RespGenerstor.success(result); } else { ExcelHelper excelHelper = new ExcelHelper(); ExcelHelper.ExcelData data = excelHelper.new ExcelData(); data.setTitles(Arrays.asList(new String[]{"序号", "姓名", "公民身份号码", "性别", "民族", "联系电话", "所属驿站", "年龄", "文化程度", "地址", "就业状态", "重点人员类别"})); int i = 0; List> rowDatas = new ArrayList(); for (JobUserVo item : result.getList()) { List row = new ArrayList(); ++i; row.add(i); row.add(item.getName()); row.add(item.getIdentityNumber()); row.add(item.getGenderName()); row.add(item.getNation()); row.add(item.getUserMobile()); row.add(item.siteName); row.add(dateUtils.getAgeForIdCard(item.getIdentityNumber())); row.add(item.cultureName); row.add(item.getAddress()); row.add(item.jobStatusName); row.add(item.keyTypeName); rowDatas.add(row); } data.setRows(rowDatas); excelHelper.exportExcel(response, data); return null; } } }