| | |
| | | package cc.mrbird.febs.server.hr.controller; |
| | | |
| | | import cc.mrbird.febs.common.core.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.core.entity.system.DicItem; |
| | | import cc.mrbird.febs.common.core.exception.FebsException; |
| | | import cc.mrbird.febs.common.core.utils.FebsUtil; |
| | | import cc.mrbird.febs.server.hr.annotation.ControllerEndpoint; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionLog; |
| | | import cc.mrbird.febs.server.hr.entity.EmpJobChange; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteDicItemService; |
| | | import cc.mrbird.febs.server.hr.service.*; |
| | | import cc.mrbird.febs.server.hr.util.PoiExportExcel; |
| | | import cc.mrbird.febs.server.hr.util.PoiImportExcel; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.wuwenze.poi.ExcelKit; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotBlank; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotBlank; |
| | | |
| | | import cc.mrbird.febs.common.core.entity.system.SystemUser; |
| | | import cc.mrbird.febs.server.hr.annotation.ControllerEndpoint; |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionLog; |
| | | import cc.mrbird.febs.server.hr.entity.EmpJobChange; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.wuwenze.poi.ExcelKit; |
| | | |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import cc.mrbird.febs.common.core.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.core.exception.FebsException; |
| | | import cc.mrbird.febs.common.core.utils.FebsUtil; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteUserService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpAccidentCasesService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBadRecordService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpContractInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpDimissionAttendService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpInsuranceService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpLaborTroubleService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpLeaveInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpOccupationalService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpPhysicalExamService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpRemarkinfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpResignService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpUnemploymentService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpWorkExperienceService; |
| | | import cc.mrbird.febs.server.hr.util.PoiExportExcel; |
| | | import cc.mrbird.febs.server.hr.util.PoiImportExcel; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | /** |
| | | * name:EmpBaseInfo |
| | |
| | | private final IEmpLaborTroubleService empLaborTroubleService; |
| | | private final IEmpBadRecordService empBadRecordService; |
| | | private final IEmpRemarkinfoService empRemarkinfoService; |
| | | private final IRemoteUserService remoteUserService; |
| | | private final IRemoteDeptService remoteDeptService; |
| | | private final IRemoteDicItemService dicItemService; |
| | | |
| | | @ApiOperation(value = "人员基本信息无翻页列表") |
| | | @GetMapping |
| | |
| | | Map<String, Object> dataTable = FebsUtil.getDataTable(this.empBaseInfoService.findEmpBaseInfos(request, empBaseinfo)); |
| | | return new FebsResponse().data(dataTable); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "智搜人员基本信息翻页列表") |
| | | @GetMapping("zslist") |
| | | @PreAuthorize("hasAuthority('empBaseinfo:list')") |
| | |
| | | @ApiOperation(value = "人员基本信息增加") |
| | | @PostMapping |
| | | @PreAuthorize("hasAuthority('empBaseinfo:add')") |
| | | public void addEmpBaseInfo( MultipartFile file,@Valid EmpBaseInfo empBaseinfo) throws FebsException { |
| | | public void addEmpBaseInfo(@Valid EmpBaseInfo empBaseinfo) throws FebsException { |
| | | if(this.empBaseInfoService.verifyEmpNumb(empBaseinfo)){ |
| | | throw new FebsException("已存在此员工编号"); |
| | | throw new FebsException("已存在此员工编号:" + empBaseinfo.getEmpNumb()); |
| | | } |
| | | if(this.empBaseInfoService.verifyCertificateNumb(empBaseinfo)){ |
| | | throw new FebsException("已存在此身份证号:" + empBaseinfo.getCertificateNumb()); |
| | | } |
| | | try { |
| | | //EmpBaseInfo tempInfo = this.empBaseInfoService. |
| | | this.empBaseInfoService.createEmpBaseInfo(empBaseinfo); |
| | | } catch (Exception e) { |
| | | String message = "新增员工基本信息失败"; |
| | |
| | | @ApiOperation(value = "人员基本信息修改") |
| | | @PutMapping |
| | | @PreAuthorize("hasAuthority('empBaseinfo:update')") |
| | | public void updateEmpBaseInfo(MultipartFile file,@Valid EmpBaseInfo empBaseinfo) throws FebsException { |
| | | public void updateEmpBaseInfo(@Valid EmpBaseInfo empBaseinfo) throws FebsException { |
| | | if(this.empBaseInfoService.verifyEmpNumb(empBaseinfo)){ |
| | | throw new FebsException("已存在此员工编号:" + empBaseinfo.getEmpNumb()); |
| | | } |
| | |
| | | List<EmpBaseInfo> allRoles = empBaseInfoService.list(wrapper); |
| | | return new FebsResponse().data(allRoles); |
| | | } |
| | | |
| | | @ApiOperation(value = "导出员工") |
| | | @RequestMapping(value = "export",method= RequestMethod.POST) |
| | | @ControllerEndpoint(operation = "导出用户数据", exceptionMessage = "导出Excel失败") |
| | |
| | | ExcelKit.$Export(EmpBaseInfo.class, response).downXlsx(records, false); |
| | | } |
| | | |
| | | @ApiOperation(value = "导出员工") |
| | | @RequestMapping(value = "exportWithField",method= RequestMethod.POST) |
| | | @ControllerEndpoint(operation = "导出用户数据", exceptionMessage = "导出Excel失败") |
| | | public void exportWithField(QueryRequest request, HttpServletResponse response, String exportField,EmpBaseInfo empBaseinfo) throws IOException { |
| | | request.setPageSize(25535); |
| | | request.setPageNum(1); |
| | | List<EmpBaseInfo> exportList = this.empBaseInfoService.findZsEmpBaseInfos(request, empBaseinfo).getRecords(); |
| | | List<Map<String, Object>> listMapDicItem = new ArrayList(); |
| | | List<Map<String, Object>> allList = PoiExportExcel.getDataList(exportField, exportList, null); |
| | | String fileName = "员工列表"; |
| | | Date currentDate = new Date(); |
| | | String dateStr = DateUtil.formatDate(currentDate); |
| | | boolean result = PoiExportExcel.exportCommonExcel(response, fileName + dateStr, fileName, allList); |
| | | } |
| | | |
| | | @ApiOperation(value = "导出员工") |
| | | @RequestMapping(value = "exportEmpAll",method= RequestMethod.POST) |
| | | @ControllerEndpoint(operation = "导出用户数据", exceptionMessage = "导出Excel失败") |
| | | public void exportEmpAll(HttpServletResponse response,EmpBaseInfo empBaseinfo) throws IOException { |
| | | this.empBaseInfoService.exportEmpAll(response,empBaseinfo); |
| | | } |
| | | |
| | | @ApiOperation(value = "导入员工") |
| | | @PostMapping("importEmp") |
| | | public void importEmp(MultipartFile file) throws IOException { |
| | | InputStream in = null; |
| | | List<List<List<Object>>> listObject = null; |
| | | public FebsResponse importEmp(MultipartFile file) { |
| | | InputStream in; |
| | | List<List<List<Object>>> listObject; |
| | | List<String> returnList = new ArrayList<>(); |
| | | List<DicItem> dicItems = dicItemService.getAllDicitemsAll(); |
| | | try { |
| | | if (!file.isEmpty()) { |
| | | in = file.getInputStream(); |
| | | listObject = PoiImportExcel.getMulitListByExcel(in, file.getOriginalFilename()); |
| | | in.close(); |
| | | empBaseInfoService.importEmpBaseInfo(listObject.get(0)); |
| | | empWorkExperienceService.importEmpWorkExperience(listObject.get(1)); |
| | | empPhysicalExamService.importEmpPhysicalExam(listObject.get(2)); |
| | | empContractInfoService.importEmpContractInfo(listObject.get(3)); |
| | | empDimissionAttendService.importEmpDimissionAttend(listObject.get(4)); |
| | | empLeaveInfoService.importEmpLeaveInfo(listObject.get(5)); |
| | | empResignService.importEmpResign(listObject.get(6)); |
| | | empUnemploymentService.importEmpUnemployment(listObject.get(7)); |
| | | empInsuranceService.importEmpInsurance(listObject.get(8)); |
| | | empAccidentCasesService.importEmpAccidentCases(listObject.get(9)); |
| | | empOccupationalService.importEmpOccupational(listObject.get(10)); |
| | | empLaborTroubleService.importEmpLaborTrouble(listObject.get(11)); |
| | | empBadRecordService.importEmpBadRecord(listObject.get(12)); |
| | | empRemarkinfoService.importEmpRemarkInfo(listObject.get(13)); |
| | | empBaseInfoService.importEmpBaseInfo(listObject.get(0),returnList,dicItems); |
| | | empWorkExperienceService.importEmpWorkExperience(listObject.get(1),returnList); |
| | | empPhysicalExamService.importEmpPhysicalExam(listObject.get(2),returnList,dicItems); |
| | | empContractInfoService.importEmpContractInfo(listObject.get(3),returnList,dicItems); |
| | | empDimissionAttendService.importEmpDimissionAttend(listObject.get(4),returnList); |
| | | empLeaveInfoService.importEmpLeaveInfo(listObject.get(5),returnList); |
| | | empResignService.importEmpResign(listObject.get(6),returnList); |
| | | empUnemploymentService.importEmpUnemployment(listObject.get(7),returnList); |
| | | empInsuranceService.importEmpInsurance(listObject.get(8),returnList,dicItems); |
| | | empAccidentCasesService.importEmpAccidentCases(listObject.get(9),returnList); |
| | | empOccupationalService.importEmpOccupational(listObject.get(10),returnList); |
| | | empLaborTroubleService.importEmpLaborTrouble(listObject.get(11),returnList,dicItems); |
| | | empBadRecordService.importEmpBadRecord(listObject.get(12),returnList); |
| | | empRemarkinfoService.importEmpRemarkInfo(listObject.get(13),returnList); |
| | | } |
| | | } catch (Exception e) { |
| | | }catch (IndexOutOfBoundsException e){ |
| | | log.error("导入员工,下表越界", e); |
| | | }catch (Exception e) { |
| | | log.error("导入员工", e); |
| | | } |
| | | return new FebsResponse().data(returnList); |
| | | } |
| | | |
| | | @ApiOperation(value = "关闭员工档案") |
| | |
| | | throw new FebsException(message); |
| | | } |
| | | } |
| | | |
| | | @GetMapping("image/{empId}") |
| | | public void getImage(@PathVariable String empId, HttpServletResponse response) throws FebsException { |
| | | try { |
| | | this.empBaseInfoService.getImage(empId,response); |
| | | } catch (Exception e) { |
| | | String message = "获取员工图片异常"; |
| | | log.error(message, e); |
| | | throw new FebsException(message); |
| | | } |
| | | |
| | | } |
| | | |
| | | @ApiOperation(value = "在职人员基本信息增加") |
| | | @PostMapping("addInEmp") |
| | | @PreAuthorize("hasAuthority('empBaseinfo:add')") |
| | | public FebsResponse addInEmpBaseInfo(@Valid EmpBaseInfo empBaseinfo) throws FebsException { |
| | | try { |
| | | return new FebsResponse().data(empBaseInfoService.addInEmpBaseInfo(empBaseinfo)); |
| | | } catch (Exception e) { |
| | | String message = "新增员工基本信息失败"; |
| | | log.error(message, e); |
| | | throw new FebsException(message); |
| | | } |
| | | } |
| | | } |