Merge remote-tracking branch 'origin/master'
| | |
| | | } |
| | | } |
| | | |
| | | public static String getUserId(){ |
| | | return Optional.ofNullable(getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | | } |
| | | |
| | | /** |
| | | * 获取当前用户名称 |
| | | * |
| | |
| | | @Order(-2) |
| | | public PaginationInterceptor paginationInterceptor() { |
| | | PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); |
| | | // 设置最大单页限制数量,默认 500 条,-1 不受限制 |
| | | paginationInterceptor.setLimit(-1); |
| | | List<ISqlParser> sqlParserList = new ArrayList<>(); |
| | | sqlParserList.add(new BlockAttackSqlParser()); |
| | | paginationInterceptor.setSqlParserList(sqlParserList); |
| | |
| | | Map<String, Object> dataTable = FebsUtil.getDataTable(this.empBaseInfoService.findEmpBaseInfos(request, empBaseinfo)); |
| | | return new FebsResponse().data(dataTable); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "智搜人员基本信息翻页列表") |
| | | @GetMapping("zslist") |
| | | @PreAuthorize("hasAuthority('empBaseinfo:list')") |
| | |
| | | @PreAuthorize("hasAuthority('empBaseinfo:add')") |
| | | public void addEmpBaseInfo(@Valid EmpBaseInfo empBaseinfo) throws FebsException { |
| | | if(this.empBaseInfoService.verifyEmpNumb(empBaseinfo)){ |
| | | throw new FebsException("已存在此员工编号"); |
| | | throw new FebsException("已存在此员工编号:" + empBaseinfo.getEmpNumb()); |
| | | } |
| | | try { |
| | | this.empBaseInfoService.createEmpBaseInfo(empBaseinfo); |
| | |
| | | List<EmpBaseInfo> allRoles = empBaseInfoService.list(wrapper); |
| | | return new FebsResponse().data(allRoles); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "导出员工") |
| | | @RequestMapping(value = "export",method= RequestMethod.POST) |
| | | @ControllerEndpoint(operation = "导出用户数据", exceptionMessage = "导出Excel失败") |
| | |
| | | List<EmpBaseInfo> records = this.empBaseInfoService.findZsEmpBaseInfos(request, empBaseinfo).getRecords(); |
| | | ExcelKit.$Export(EmpBaseInfo.class, response).downXlsx(records, false); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "导出员工") |
| | | @RequestMapping(value = "exportWithField",method= RequestMethod.POST) |
| | | @ControllerEndpoint(operation = "导出用户数据", exceptionMessage = "导出Excel失败") |
| | |
| | | |
| | | @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<>(); |
| | | 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); |
| | | empWorkExperienceService.importEmpWorkExperience(listObject.get(1),returnList); |
| | | empPhysicalExamService.importEmpPhysicalExam(listObject.get(2),returnList); |
| | | empContractInfoService.importEmpContractInfo(listObject.get(3),returnList); |
| | | 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); |
| | | empAccidentCasesService.importEmpAccidentCases(listObject.get(9),returnList); |
| | | empOccupationalService.importEmpOccupational(listObject.get(10),returnList); |
| | | empLaborTroubleService.importEmpLaborTrouble(listObject.get(11),returnList); |
| | | empBadRecordService.importEmpBadRecord(listObject.get(12),returnList); |
| | | empRemarkinfoService.importEmpRemarkInfo(listObject.get(13),returnList); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("导入员工", e); |
| | | } |
| | | return new FebsResponse().data(returnList); |
| | | } |
| | | |
| | | @ApiOperation(value = "关闭员工档案") |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | @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); |
| | | } |
| | | } |
| | | } |
| | |
| | | import cc.mrbird.febs.server.hr.annotation.ControllerEndpoint; |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionAttend; |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionLog; |
| | | import cc.mrbird.febs.server.hr.entity.EmpJobChange; |
| | | import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService; |
| | | 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 cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import com.wuwenze.poi.ExcelKit; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | import javax.validation.Valid; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * name:EmpDimissionlog |
| | |
| | | @ApiOperation(value = "员工离职记录翻页列表") |
| | | @GetMapping("list") |
| | | public FebsResponse empDimissionlogList(QueryRequest request, EmpDimissionLog empDimissionlog) { |
| | | Map |
| | | <String, Object> dataTable = FebsUtil.getDataTable(this.empDimissionlogService.findEmpDimissionLogs(request, empDimissionlog)); |
| | | Map<String, Object> dataTable = FebsUtil.getDataTable(this.empDimissionlogService.findEmpDimissionLogs(request, empDimissionlog)); |
| | | return new FebsResponse().data(dataTable); |
| | | } |
| | | |
| | | @ApiOperation(value = "导出员工") |
| | | @RequestMapping(value = "export",method= RequestMethod.POST) |
| | | @RequestMapping(value = "export", method = RequestMethod.POST) |
| | | @ControllerEndpoint(operation = "导出用户数据", exceptionMessage = "导出Excel失败") |
| | | public void export(QueryRequest request, EmpDimissionLog empBaseinfo, HttpServletResponse response) { |
| | | request.setPageSize(this.empDimissionlogService.count()); |
| | | List<EmpDimissionLog> records = this.empDimissionlogService.findEmpDimissionLogs(request, empBaseinfo).getRecords(); |
| | | ExcelKit.$Export(EmpDimissionLog.class, response).downXlsx(records, false); |
| | | List<Map<String,Object>> records = this.empDimissionlogService.findEmpDimissionLogs(request, empBaseinfo).getRecords(); |
| | | List<EmpDimissionLog> list = records.parallelStream().map(i->{ |
| | | i.put("entryDate", DateUtil.parse(i.get("entryDate").toString())); |
| | | i.put("dimissionDate", DateUtil.parse(i.get("dimissionDate").toString())); |
| | | return BeanUtil.toBean(i,EmpDimissionLog.class); |
| | | }).collect(Collectors.toList()); |
| | | ExcelKit.$Export(EmpDimissionLog.class, response).downXlsx(list, false); |
| | | } |
| | | |
| | | @ApiOperation(value = "员工离职记录增加") |
| | | @PostMapping |
| | | @PreAuthorize("hasAuthority('empDimissionlog:add')") |
| New file |
| | |
| | | package cc.mrbird.febs.server.hr.controller; |
| | | |
| | | import cc.mrbird.febs.server.hr.entity.EmpOpenArchives; |
| | | import cc.mrbird.febs.server.hr.service.IEmpOpenArchivesService; |
| | | 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 io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.Valid; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * name:EmpOpenarchives |
| | | * package:cc.mrbird.febs.server.hr.controller |
| | | * description:员工打开档案记录控制器 |
| | | * |
| | | * @author luoyibo |
| | | * @date 2021-03-02 22:22:41 |
| | | * @since JDK1.8 |
| | | */ |
| | | @Api(tags = "员工打开档案记录管理接口") |
| | | @Slf4j |
| | | @Validated |
| | | @RestController |
| | | @RequestMapping("empOpenArchives") |
| | | @RequiredArgsConstructor |
| | | public class EmpOpenArchivesController { |
| | | |
| | | private final IEmpOpenArchivesService empOpenArchivesService; |
| | | |
| | | @ApiOperation(value = "员工打开档案记录无翻页列表") |
| | | @GetMapping |
| | | @PreAuthorize("hasAuthority('empOpenarchives:list')") |
| | | public FebsResponse getAllEmpOpenArchivess(EmpOpenArchives empOpenarchives) { |
| | | return new FebsResponse().data(empOpenArchivesService.findEmpOpenarchivess(empOpenarchives)); |
| | | } |
| | | |
| | | @ApiOperation(value = "员工打开档案记录翻页列表") |
| | | @GetMapping("list") |
| | | @PreAuthorize("hasAuthority('empOpenarchives:list')") |
| | | public FebsResponse empOpenarchivesList(QueryRequest request, EmpOpenArchives empOpenarchives) { |
| | | Map |
| | | <String, Object> dataTable = FebsUtil.getDataTable(this.empOpenArchivesService.findEmpOpenarchivess(request, empOpenarchives)); |
| | | return new FebsResponse().data(dataTable); |
| | | } |
| | | |
| | | @ApiOperation(value = "员工打开档案记录增加") |
| | | @PostMapping |
| | | @PreAuthorize("hasAuthority('empOpenarchives:add')") |
| | | public void addEmpOpenarchives(@Valid EmpOpenArchives empOpenarchives) throws FebsException { |
| | | try { |
| | | this.empOpenArchivesService.createEmpOpenarchives(empOpenarchives); |
| | | } catch (Exception e) { |
| | | String message = "新增员工打开档案记录失败"; |
| | | log.error(message, e); |
| | | throw new FebsException(message); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "员工打开档案记录物理删除") |
| | | @DeleteMapping |
| | | @PreAuthorize("hasAuthority('empOpenarchives:delete')") |
| | | public void deleteEmpOpenarchives(EmpOpenArchives empOpenarchives) throws FebsException { |
| | | try { |
| | | this.empOpenArchivesService.deleteEmpOpenarchives(empOpenarchives); |
| | | } catch (Exception e) { |
| | | String message = "删除员工打开档案记录失败"; |
| | | log.error(message, e); |
| | | throw new FebsException(message); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "员工打开档案记录逻辑删除") |
| | | @DeleteMapping("{ids}") |
| | | @PreAuthorize("hasAuthority('empOpenarchives:delete')") |
| | | public void logicDeleteEmpOpenarchives(@PathVariable("ids") String ids) throws FebsException { |
| | | try { |
| | | this.empOpenArchivesService.logicDelEmpOpenarchives(ids); |
| | | } catch (Exception e) { |
| | | String message = "逻辑删除员工打开档案记录失败"; |
| | | log.error(message, e); |
| | | throw new FebsException(message); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "员工打开档案记录修改") |
| | | @PutMapping |
| | | @PreAuthorize("hasAuthority('empOpenarchives:update')") |
| | | public void updateEmpOpenarchives(EmpOpenArchives empOpenarchives) throws FebsException { |
| | | try { |
| | | this.empOpenArchivesService.updateEmpOpenarchives(empOpenarchives); |
| | | } catch (Exception e) { |
| | | String message = "修改员工打开档案记录失败"; |
| | | log.error(message, e); |
| | | throw new FebsException(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | @ExcelField(value = "离职类型",writeConverterExp = "1=正常离职,2=自动离职,3=公司劝退,4=公司辞退,5=试用期内" ) |
| | | private String dimissionType; |
| | | |
| | | @FieldInfo(name = "entryType", type = "varchar", explain = "入职类型") |
| | | @TableField("entryType") |
| | | private String entryType = "01"; |
| | | |
| | | @FieldInfo(name = "entryTypeName", type = "varchar", explain = "入职类型") |
| | | @TableField(exist = false) |
| | | private String entryTypeName = "正常入职"; |
| | | |
| | | @FieldInfo(name = "createTime", type = "datetime", explain = "记录创建时间") |
| | | @TableField("createTime") |
| | |
| | | @FieldInfo(name = "entryDates", explain = "关闭档案人员入职日期") |
| | | @TableField(exist = false) |
| | | private String entryDates; |
| | | |
| | | |
| | | @TableField(exist = false) |
| | | private String entryDateStr= ""; |
| | | |
| | | |
| | | @TableField(exist = false) |
| | | private String dimissionDateStr= ""; |
| | | } |
| | | |
| | | @TableField(exist = false) |
| | | private String afterOperation= ""; |
| | | |
| | | @TableField(exist = false) |
| | | @ExcelField(value = "身份证号码") |
| | | private String certificateNumb= ""; |
| | | |
| | | @TableField(exist = false) |
| | | @ExcelField(value = "员工编号") |
| | | private String empNumb= ""; |
| | | |
| | | @TableField(exist = false) |
| | | @ExcelField(value = "新部门") |
| | | private String newDeptName= ""; |
| | | |
| | | @TableField(exist = false) |
| | | @ExcelField(value = "新岗位") |
| | | private String newJobName= ""; |
| | | |
| | | |
| | | } |
| | |
| | | @ExcelField(value = "员工编号") |
| | | @TableField(exist = false) |
| | | private String empNumb=""; |
| | | |
| | | @ExcelField(value = "身份证号码") |
| | | @TableField(exist = false) |
| | | private String certificateNumb=""; |
| New file |
| | |
| | | package cc.mrbird.febs.server.hr.entity; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import cc.mrbird.febs.common.core.annotation.FieldInfo; |
| | | import cc.mrbird.febs.common.core.utils.DateDeSerializer; |
| | | import cc.mrbird.febs.common.core.utils.DateSerializer; |
| | | import cc.mrbird.febs.common.core.utils.DateTimeDeserializer; |
| | | import cc.mrbird.febs.common.core.utils.DateTimeSerializer; |
| | | import com.fasterxml.jackson.databind.annotation.JsonDeserialize; |
| | | import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
| | | import lombok.Data; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.annotation.Version; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * name:EmpOpenarchives |
| | | * package:cc.mrbird.febs.server.hr.controller |
| | | * description:员工打开档案记录数据表映射实体 |
| | | * |
| | | * @author luoyibo |
| | | * @date 2021-03-02 22:22:41 |
| | | * @since JDK1.8 |
| | | */ |
| | | @Data |
| | | @TableName("t_emp_openarchives") |
| | | public class EmpOpenArchives implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 7460933384023908695L; |
| | | |
| | | @FieldInfo(name = "openArchivesId", type = "bigint", explain = "打开档案Id") |
| | | @TableId(value = "openArchivesId") |
| | | private Long openArchivesId = 0L; |
| | | |
| | | @FieldInfo(name = "openType", type = "varchar", explain = "打开类型") |
| | | @TableField("openType") |
| | | private String openType = ""; |
| | | |
| | | @FieldInfo(name = "openDate", type = "date", explain = "打开日期") |
| | | @TableField("openDate") |
| | | @JsonSerialize(using = DateSerializer.class) |
| | | @JsonDeserialize(using = DateDeSerializer.class) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private Date openDate; |
| | | |
| | | @FieldInfo(name = "empId", type = "bigint", explain = "员工Id") |
| | | @TableField("empId") |
| | | private Long empId = 0L; |
| | | |
| | | @FieldInfo(name = "empName", type = "varchar", explain = "员工姓名") |
| | | @TableField("empName") |
| | | private String empName = ""; |
| | | |
| | | @FieldInfo(name = "certificateNumb", type = "varchar", explain = "证件号码") |
| | | @TableField("certificateNumb") |
| | | private String certificateNumb = ""; |
| | | |
| | | @FieldInfo(name = "remark", type = "varchar", explain = "备注") |
| | | @TableField("remark") |
| | | private String remark = ""; |
| | | |
| | | @FieldInfo(name = "createTime", type = "datetime", explain = "记录创建时间") |
| | | @TableField("createTime") |
| | | @JsonSerialize(using = DateTimeSerializer.class) |
| | | @JsonDeserialize(using = DateTimeDeserializer.class) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @FieldInfo(name = "creator", type = "varchar", explain = "记录创建人") |
| | | @TableField("creator") |
| | | private String creator = ""; |
| | | |
| | | @FieldInfo(name = "modifyTime", type = "datetime", explain = "记录最后更新时间") |
| | | @TableField("modifyTime") |
| | | @JsonSerialize(using = DateTimeSerializer.class) |
| | | @JsonDeserialize(using = DateTimeDeserializer.class) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date modifyTime; |
| | | |
| | | @FieldInfo(name = "modifier", type = "varchar", explain = "记录最后更新人") |
| | | @TableField("modifier") |
| | | private String modifier = ""; |
| | | |
| | | @FieldInfo(name = "delFlag", type = "bit", explain = "记录删除标志。0-未删除 1-已删除,默认0") |
| | | @TableField("delFlag") |
| | | private Integer delFlag = 0; |
| | | |
| | | @FieldInfo(name = "version", type = "int", explain = "记录版本号,用来进行乐观锁控制") |
| | | @TableField("version") |
| | | @Version |
| | | private Integer version = 0; |
| | | |
| | | } |
| | |
| | | |
| | | @GetMapping("dept") |
| | | List<Dept> selectAllDept(Dept dept); |
| | | |
| | | @GetMapping("dept/userRightDepts") |
| | | String userRightDepts(); |
| | | } |
| | |
| | | package cc.mrbird.febs.server.hr.feign.fallback; |
| | | |
| | | import java.util.List; |
| | | |
| | | import cc.mrbird.febs.common.core.annotation.Fallback; |
| | | import cc.mrbird.febs.common.core.entity.system.Dept; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteUserService; |
| | | import feign.hystrix.FallbackFactory; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | |
| | | public class RemoteDeptServiceFallback implements FallbackFactory<IRemoteDeptService> { |
| | | @Override |
| | | public IRemoteDeptService create(Throwable throwable) { |
| | | return (dept) -> { |
| | | log.error("获取部门信息失败", throwable); |
| | | return null; |
| | | }; |
| | | return new IRemoteDeptService() { |
| | | |
| | | @Override |
| | | public String userRightDepts() { |
| | | log.error("获取用户权限信息失败", throwable); |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public List<Dept> selectAllDept(Dept dept) { |
| | | log.error("获取部门信息失败", throwable); |
| | | return null; |
| | | } |
| | | }; |
| | | } |
| | | |
| | | } |
| | |
| | | package cc.mrbird.febs.server.hr.mapper; |
| | | |
| | | import cc.mrbird.febs.common.core.entity.system.SysConfig; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.entity.EmpJobChange; |
| | | import cc.mrbird.febs.server.hr.entity.*; |
| | | import com.baomidou.mybatisplus.annotation.SqlParser; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Constants; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Update; |
| | |
| | | * @since JDK1.8 |
| | | */ |
| | | public interface EmpBaseInfoMapper extends BaseMapper<EmpBaseInfo> { |
| | | |
| | | IPage<EmpBaseInfo> selectPageVo(Page<?> page, @Param(Constants.WRAPPER) Wrapper wrapper); |
| | | |
| | | /** |
| | | * 根据Id批量逻辑删除记录 |
| | | * <p> |
| | |
| | | <select id="sysConfig" resultType="cc.mrbird.febs.common.core.entity.system.SysConfig"> |
| | | select * from sys_config where delFlag='0' and config_key in ("manOld","womanOld") ORDER BY config_key asc |
| | | </select> |
| | | |
| | | <select id="selectPageVo" resultType="cc.mrbird.febs.server.hr.entity.EmpBaseInfo"> |
| | | select a.* from t_emp_baseInfo a |
| | | inner join t_dept c on a.deptId = c.DEPT_ID |
| | | ${ew.customSqlSegment} |
| | | </select> |
| | | |
| | | <select id="countZcygBaseInfoList" resultType="java.util.Map"> |
| | | SELECT |
| | |
| | | package cc.mrbird.febs.server.hr.mapper; |
| | | |
| | | import cc.mrbird.febs.server.hr.entity.EmpContractInfo; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Constants; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Update; |
| | | |
| | |
| | | * @since JDK1.8 |
| | | */ |
| | | public interface EmpContractInfoMapper extends BaseMapper<EmpContractInfo> { |
| | | |
| | | IPage<EmpContractInfo> selectPageVo(Page<?> page, @Param(Constants.WRAPPER) Wrapper wrapper); |
| | | |
| | | /** |
| | | * |
| | | * 根据Id批量逻辑删除记录 |
| | |
| | | " </foreach>\n" + |
| | | "</script>") |
| | | int momentToNormal(@Param("list") List<String> list,@Param("operatorId") String operatorId); |
| | | |
| | | @Update("<script> " + |
| | | " UPDATE t_emp_contractinfo SET contractStatus='3',\n" + |
| | | " empStatus='1',\n" + |
| | | " modifyTime = NOW(),\n" + |
| | | " modifier = #{operatorId}, \n" + |
| | | " version = version+1 \n" + |
| | | " WHERE contractStatus in ('1','2') " + |
| | | " and empId IN \n" + |
| | | " <foreach item=\"delId\" collection=\"list\" open=\"(\" close=\")\" separator=\",\">\n" + |
| | | " #{delId} \n" + |
| | | " </foreach>\n" + |
| | | "</script>") |
| | | int terminateContract(@Param("list") List<String> list,@Param("operatorId") String operatorId); |
| | | |
| | | } |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="cc.mrbird.febs.server.hr.mapper.EmpContractInfoMapper"> |
| | | |
| | | <select id="selectPageVo" resultType="cc.mrbird.febs.server.hr.entity.EmpContractInfo"> |
| | | select a.* from t_emp_contractinfo a |
| | | inner join t_emp_baseinfo b on a.empId = b.empId |
| | | inner join t_dept c on b.deptId = c.DEPT_ID |
| | | ${ew.customSqlSegment} |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | package cc.mrbird.febs.server.hr.mapper; |
| | | |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionAttend; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Constants; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Update; |
| | | |
| | |
| | | " </foreach>\n" + |
| | | "</script>") |
| | | int momentToNormal(@Param("list") List<String> list, @Param("operatorId") String operatorId); |
| | | |
| | | IPage<EmpDimissionAttend> selectPageVo(Page<?> page, @Param(Constants.WRAPPER) Wrapper wrapper); |
| | | } |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="cc.mrbird.febs.server.hr.mapper.EmpDimissionAttendMapper"> |
| | | |
| | | <select id="selectPageVo" resultType="cc.mrbird.febs.server.hr.entity.EmpDimissionAttend"> |
| | | select a.* from t_emp_dimissionattend a |
| | | inner join t_emp_baseinfo b on a.empId = b.empId |
| | | inner join t_dept c on b.deptId = c.DEPT_ID |
| | | ${ew.customSqlSegment} |
| | | </select> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | package cc.mrbird.febs.server.hr.mapper; |
| | | |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionLog; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Constants; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Update; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * name:EmpDimissionlog |
| | |
| | | " </foreach>\n" + |
| | | "</script>") |
| | | void logicDeleteByIds(@Param("list") List<String> list, @Param("operatorId") String operatorId); |
| | | } |
| | | |
| | | IPage<Map<String,Object>> selectPageVo(Page<?> page, @Param(Constants.WRAPPER) Wrapper wrapper); |
| | | |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="cc.mrbird.febs.server.hr.mapper.EmpDimissionLogMapper"> |
| | | |
| | | <select id="selectPageVo" resultType="java.util.Map"> |
| | | select a.*,b.empNumb,b.certificateNumb,b.empName, |
| | | (select dept_Name from t_dept as dept where dept.dept_Id= b.deptId) as newDeptName, |
| | | b.jobName as newJobName from t_emp_dimissionlog a |
| | | inner join t_emp_baseinfo b on a.empId = b.empId |
| | | inner join t_dept c on b.deptId = c.DEPT_ID |
| | | ${ew.customSqlSegment} |
| | | </select> |
| | | </mapper> |
| | |
| | | <mapper namespace="cc.mrbird.febs.server.hr.mapper.EmpJobChangeMapper"> |
| | | |
| | | <select id="selectPageVo" resultType="java.util.Map"> |
| | | select a.*,b.empNumb,b.certificateNumb from t_emp_jobchange a inner join t_emp_baseinfo b on a.empId = b.empId ${ew.customSqlSegment} |
| | | select a.*,b.empNumb,b.certificateNumb from t_emp_jobchange a |
| | | inner join t_emp_baseinfo b on a.empId = b.empId |
| | | inner join t_dept c on b.deptId = c.DEPT_ID |
| | | ${ew.customSqlSegment} |
| | | </select> |
| | | </mapper> |
| New file |
| | |
| | | package cc.mrbird.febs.server.hr.mapper; |
| | | |
| | | import cc.mrbird.febs.server.hr.entity.EmpOpenArchives; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Update; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * name:EmpOpenarchives |
| | | * package:cc.mrbird.febs.server.hr.controller |
| | | * description:员工打开档案记录实体Mapper |
| | | * |
| | | * @author luoyibo |
| | | * @date 2021-03-02 22:22:41 |
| | | * @since JDK1.8 |
| | | */ |
| | | public interface EmpOpenArchivesMapper extends BaseMapper<EmpOpenArchives> { |
| | | /** |
| | | * 根据Id批量逻辑删除记录 |
| | | * <p> |
| | | * date luoyibo |
| | | * |
| | | * @param list 待删除Id |
| | | * @param operatorId 操作员Id |
| | | * @return void |
| | | * @author: 2021-03-02 22:22:41 |
| | | */ |
| | | @Update("<script> " + |
| | | " UPDATE t_emp_openarchives SET delFlag = 1,\n" + |
| | | " modifyTime = NOW(),\n" + |
| | | " modifier = #{operatorId}, \n" + |
| | | " version = version+1 \n" + |
| | | " WHERE openArchivesId IN \n" + |
| | | " <foreach item=\"delId\" collection=\"list\" open=\"(\" close=\")\" separator=\",\">\n" + |
| | | " #{delId} \n" + |
| | | " </foreach>\n" + |
| | | "</script>") |
| | | void logicDeleteByIds(@Param("list") List<String> list, @Param("operatorId") String operatorId); |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="cc.mrbird.febs.server.hr.mapper.EmpOpenArchivesMapper"> |
| | | |
| | | </mapper> |
| | |
| | | package cc.mrbird.febs.server.hr.mapper; |
| | | |
| | | import cc.mrbird.febs.server.hr.entity.EmpPhysicalExam; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Constants; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Update; |
| | | |
| | |
| | | * @since JDK1.8 |
| | | */ |
| | | public interface EmpPhysicalExamMapper extends BaseMapper<EmpPhysicalExam> { |
| | | |
| | | IPage<EmpPhysicalExam> selectPageVo(Page<?> page, @Param(Constants.WRAPPER) Wrapper wrapper); |
| | | |
| | | /** |
| | | * 根据Id批量逻辑删除记录 |
| | | * <p> |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="cc.mrbird.febs.server.hr.mapper.EmpPhysicalExamMapper"> |
| | | |
| | | <select id="selectPageVo" resultType="cc.mrbird.febs.server.hr.entity.EmpPhysicalExam"> |
| | | select a.* from t_emp_physicalexam a |
| | | inner join t_emp_baseinfo b on a.empId = b.empId |
| | | inner join t_dept c on b.deptId = c.DEPT_ID |
| | | ${ew.customSqlSegment} |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | package cc.mrbird.febs.server.hr.mapper; |
| | | |
| | | import cc.mrbird.febs.server.hr.entity.EmpWorkExperience; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Constants; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Update; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * name:EmpWorkexperience |
| | |
| | | " </foreach>\n" + |
| | | "</script>") |
| | | int momentToNormal(@Param("list") List<String> list, @Param("operatorId") String operatorId); |
| | | |
| | | IPage<EmpWorkExperience> selectPageVo(Page<?> page, @Param(Constants.WRAPPER) Wrapper wrapper); |
| | | } |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="cc.mrbird.febs.server.hr.mapper.EmpWorkExperienceMapper"> |
| | | |
| | | <select id="selectPageVo" resultType="cc.mrbird.febs.server.hr.entity.EmpWorkExperience"> |
| | | select a.* from t_emp_workExperience a |
| | | inner join t_emp_baseinfo b on a.empId = b.empId |
| | | inner join t_dept c on b.deptId = c.DEPT_ID |
| | | ${ew.customSqlSegment} |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpAccidentCases(List<List<Object>> listObject); |
| | | void importEmpAccidentCases(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpBadRecord(List<List<Object>> listObject); |
| | | void importEmpBadRecord(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| | |
| | | package cc.mrbird.febs.server.hr.service; |
| | | |
| | | import cc.mrbird.febs.common.core.exception.FebsException; |
| | | import cc.mrbird.febs.server.hr.entity.*; |
| | | |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | |
| | | * 导入员工 |
| | | * @param listObject |
| | | */ |
| | | void importEmpBaseInfo(List<List<Object>> listObject); |
| | | void importEmpBaseInfo(List<List<Object>> listObject,List<String> returnList) throws FebsException; |
| | | |
| | | void getImage(String empId, HttpServletResponse response) throws Exception; |
| | | |
| | | /** |
| | | * |
| | | * 增加在职员工信息 |
| | | * |
| | | * date 2021-03-03 00:06 |
| | | * @author: luoyibo |
| | | * @param empBaseInfo 在职员工信息 |
| | | * @return cc.mrbird.febs.server.hr.entity.EmpBaseInfo |
| | | */ |
| | | EmpBaseInfo addInEmpBaseInfo(EmpBaseInfo empBaseInfo); |
| | | |
| | | Long getEmpIdByEmpNumb(String empNumb); |
| | | } |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpContractInfo(List<List<Object>> listObject); |
| | | void importEmpContractInfo(List<List<Object>> listObject,List<String> returnList); |
| | | |
| | | void terminateContract(String empIds, String operatorId); |
| | | } |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpDimissionAttend(List<List<Object>> listObject); |
| | | void importEmpDimissionAttend(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * name:EmpDimissionlog |
| | |
| | | * @param empDimissionlog empDimissionlog |
| | | * @return IPage<EmpDimissionlog> |
| | | */ |
| | | IPage<EmpDimissionLog> findEmpDimissionLogs(QueryRequest request, EmpDimissionLog empDimissionlog); |
| | | IPage<Map<String, Object>> findEmpDimissionLogs(QueryRequest request, EmpDimissionLog empDimissionlog); |
| | | |
| | | /** |
| | | * 查询(所有) |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpInsurance(List<List<Object>> listObject); |
| | | void importEmpInsurance(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpLaborTrouble(List<List<Object>> listObject); |
| | | void importEmpLaborTrouble(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpLeaveInfo(List<List<Object>> listObject); |
| | | void importEmpLeaveInfo(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpOccupational(List<List<Object>> listObject); |
| | | void importEmpOccupational(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| New file |
| | |
| | | package cc.mrbird.febs.server.hr.service; |
| | | |
| | | import cc.mrbird.febs.server.hr.entity.EmpOpenArchives; |
| | | |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * name:EmpOpenarchives |
| | | * package:cc.mrbird.febs.server.hr.controller |
| | | * description:员工打开档案记录服务接口 |
| | | * |
| | | * @author luoyibo |
| | | * @date 2021-03-02 22:22:41 |
| | | * @since JDK1.8 |
| | | */ |
| | | public interface IEmpOpenArchivesService extends IService<EmpOpenArchives> { |
| | | /** |
| | | * 查询(分页) |
| | | * |
| | | * @param request QueryRequest |
| | | * @param empOpenarchives empOpenarchives |
| | | * @return IPage<EmpOpenarchives> |
| | | */ |
| | | IPage<EmpOpenArchives> findEmpOpenarchivess(QueryRequest request, EmpOpenArchives empOpenarchives); |
| | | |
| | | /** |
| | | * 查询(所有) |
| | | * |
| | | * @param empOpenarchives empOpenarchives |
| | | * @return List<EmpOpenarchives> |
| | | */ |
| | | List<EmpOpenArchives> findEmpOpenarchivess(EmpOpenArchives empOpenarchives); |
| | | |
| | | /** |
| | | * 新增 |
| | | * |
| | | * @param empOpenarchives empOpenarchives |
| | | */ |
| | | void createEmpOpenarchives(EmpOpenArchives empOpenarchives); |
| | | |
| | | /** |
| | | * 修改 |
| | | * |
| | | * @param empOpenarchives empOpenarchives |
| | | */ |
| | | void updateEmpOpenarchives(EmpOpenArchives empOpenarchives); |
| | | |
| | | /** |
| | | * 删除 |
| | | * |
| | | * @param empOpenarchives empOpenarchives |
| | | */ |
| | | void deleteEmpOpenarchives(EmpOpenArchives empOpenarchives); |
| | | |
| | | /** |
| | | * 根据Id批量逻辑删除记录 |
| | | * <p> |
| | | * date 2021-01-28 10:48 |
| | | * |
| | | * @param ids 待删除Id |
| | | * @return void |
| | | * @author: luoyibo |
| | | */ |
| | | void logicDelEmpOpenarchives(String ids); |
| | | } |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpPhysicalExam(List<List<Object>> listObject); |
| | | void importEmpPhysicalExam(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpRemarkInfo(List<List<Object>> listObject); |
| | | void importEmpRemarkInfo(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpResign(List<List<Object>> listObject); |
| | | void importEmpResign(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpUnemployment(List<List<Object>> listObject); |
| | | void importEmpUnemployment(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| | |
| | | */ |
| | | boolean momentToNormal(String ids); |
| | | |
| | | void importEmpWorkExperience(List<List<Object>> listObject); |
| | | void importEmpWorkExperience(List<List<Object>> listObject,List<String> returnList); |
| | | } |
| | |
| | | import cc.mrbird.febs.common.core.exception.FebsException; |
| | | import cc.mrbird.febs.server.hr.constant.MyConstant; |
| | | import cc.mrbird.febs.server.hr.entity.EmpUnemployment; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpAccidentCasesMapper empAccidentcasesMapper; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()).map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | | |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpAccidentCases(List<List<Object>> listObject) { |
| | | public void importEmpAccidentCases(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpAccidentCases empAccidentcases=new EmpAccidentCases(); |
| | | empAccidentcases.setAccidentId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | empAccidentcases.setEmpNumb(list.get(0).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入员工意外险案件异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入员工意外险案件异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | empAccidentcases.setDelFlag(2); |
| | | empAccidentcases.setEmpId(empId); |
| | | empAccidentcases.setDeptName(list.get(1).toString()); |
| | | empAccidentcases.setDeptId(deptId); |
| | | empAccidentcases.setDeptId(dept.getDeptId()); |
| | | empAccidentcases.setJobName(list.get(2).toString()); |
| | | empAccidentcases.setEmpName(list.get(3).toString()); |
| | | empAccidentcases.setCertificateNumb(list.get(4).toString()); |
| | |
| | | import cc.mrbird.febs.server.hr.entity.EmpBadRecord; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpBadRecordMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBadRecordService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cn.hutool.core.date.DateUtil; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpBadRecordMapper empBadrecordMapper; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpBadRecord(List<List<Object>> listObject) { |
| | | public void importEmpBadRecord(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpBadRecord empBadrecord=new EmpBadRecord(); |
| | | empBadrecord.setBadId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | empBadrecord.setEmpNumb(list.get(0).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入员工不良记录信息异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入员工不良记录信息异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | empBadrecord.setDelFlag(2); |
| | | empBadrecord.setEmpId(empId); |
| | | empBadrecord.setDeptName(list.get(1).toString()); |
| | | empBadrecord.setDeptId(deptId); |
| | | empBadrecord.setDeptId(dept.getDeptId()); |
| | | empBadrecord.setJobName(list.get(2).toString()); |
| | | empBadrecord.setEmpName(list.get(3).toString()); |
| | | empBadrecord.setCertificateNumb(list.get(4).toString()); |
| | |
| | | import java.util.*; |
| | | import java.util.function.Consumer; |
| | | |
| | | import cc.mrbird.febs.common.core.entity.constant.StringConstant; |
| | | import cc.mrbird.febs.common.core.entity.system.SysConfig; |
| | | import cc.mrbird.febs.common.core.exception.FebsException; |
| | | import cc.mrbird.febs.common.core.utils.MyUtil; |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionLog; |
| | | import cc.mrbird.febs.server.hr.entity.EmpJobChange; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteUserService; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpContractInfoMapper; |
| | | import cc.mrbird.febs.server.hr.properties.FebsServerHrProperties; |
| | | import cc.mrbird.febs.server.hr.service.IEmpContractInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpJobChangeService; |
| | | import cn.hutool.core.date.DateUnit; |
| | |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.util.FileSystemUtils; |
| | | import org.springframework.validation.annotation.Validated; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | |
| | | private final EmpBaseInfoMapper empBaseInfoMapper; |
| | | private final IEmpDimissionLogService dimissionLogService; |
| | | private final IEmpJobChangeService jobChangeService; |
| | | private final EmpContractInfoMapper empContractInfoMapper; |
| | | private final FebsServerHrProperties properties; |
| | | private final IRemoteDeptService remoteDeptService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | |
| | | @Override |
| | | public IPage<EmpBaseInfo> findZsEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo) { |
| | | Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<EmpBaseInfo> iPage = this.page(page, createQueryWrapper(empBaseInfo)); |
| | | IPage<EmpBaseInfo> iPage = empBaseInfoMapper.selectPageVo(page, createQueryWrapper(empBaseInfo)); |
| | | //设置部门 |
| | | List<EmpBaseInfo> list = setDeptName(iPage.getRecords()); |
| | | List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class); |
| | |
| | | @Override |
| | | public boolean verifyEmpNumb(EmpBaseInfo empBaseInfo) { |
| | | QueryWrapper<EmpBaseInfo> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.lambda().eq(EmpBaseInfo::getEmpNumb, empBaseInfo.getEmpNumb()); |
| | | EmpBaseInfo tempEmpBaseInfo = this.getOne(queryWrapper); |
| | | if (tempEmpBaseInfo == null) { |
| | | queryWrapper.lambda().eq(EmpBaseInfo::getEmpNumb, empBaseInfo.getEmpNumb()) |
| | | .ne(EmpBaseInfo::getDelFlag, 1); |
| | | if (empBaseInfo.getEmpId()!=null) { |
| | | queryWrapper.lambda().ne(EmpBaseInfo::getEmpId, empBaseInfo.getEmpId()); |
| | | } |
| | | |
| | | if (this.count(queryWrapper) <= 0) { |
| | | return false; |
| | | } |
| | | return !empBaseInfo.getEmpNumb().equals(tempEmpBaseInfo.getEmpNumb()); |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | |
| | | String[] str = empDimissionLog.getEmpIds().split(","); |
| | | List<String> list = new ArrayList<>(Arrays.asList(str)); |
| | | String[] strDate = empDimissionLog.getEntryDates().split(","); |
| | | |
| | | EmpDimissionLog dimissionLog = null; |
| | | for (int i = 0, k = str.length; i < k; i++) { |
| | | dimissionLog = new EmpDimissionLog(); |
| | |
| | | dimissionLog.setModifier(operatorId); |
| | | dimissionLogService.save(dimissionLog); |
| | | } |
| | | EmpBaseInfo empBaseInfo = this.getById(dimissionLog.getEmpId()); |
| | | //禁用账户 |
| | | iRemoteUserService.updateStatus(empBaseInfo.getCertificateNumb()); |
| | | |
| | | if (StrUtil.isNotBlank(empDimissionLog.getAfterOperation())) { |
| | | String[] strAfterOperation = empDimissionLog.getAfterOperation().split(","); |
| | | int flag = 0; |
| | | for (String s : strAfterOperation) { |
| | | flag = flag + Integer.parseInt(s); |
| | | } |
| | | switch (flag) { |
| | | case 1: |
| | | //解除合同 |
| | | |
| | | empContractInfoMapper.terminateContract(new ArrayList<>(Arrays.asList(empDimissionLog.getEmpIds().split(StringConstant.COMMA))), operatorId); |
| | | break; |
| | | case 2: |
| | | //禁用账户 |
| | | iRemoteUserService.updateStatus(empDimissionLog.getCertificateNumb()); |
| | | break; |
| | | case 3: |
| | | empContractInfoMapper.terminateContract(new ArrayList<>(Arrays.asList(empDimissionLog.getEmpIds().split(StringConstant.COMMA))), operatorId); |
| | | iRemoteUserService.updateStatus(empDimissionLog.getCertificateNumb()); |
| | | break; |
| | | } |
| | | } |
| | | return empBaseInfoMapper.closeEmpArchives(list, empDimissionLog.getDimissionType(), empDimissionLog.getDimissionDate(), empDimissionLog.getRemark(), operatorId) > 0; |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpBaseInfo(List<List<Object>> listObject) { |
| | | public void importEmpBaseInfo(List<List<Object>> listObject, List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size() == 0) { |
| | | continue; |
| | | } |
| | | if (this.count(new LambdaQueryWrapper<EmpBaseInfo>().eq(EmpBaseInfo::getEmpNumb, list.get(1).toString()).ne(EmpBaseInfo::getDelFlag, 1)) > 0) { |
| | | returnList.add(StrUtil.format("导入员工基本信息异常: 出现位置第{}行, 原因:{}员工编号重复", listObject.indexOf(list) + 1, list.get(1).toString())); |
| | | continue; |
| | | } |
| | | EmpBaseInfo empBaseInfo = new EmpBaseInfo(); |
| | | empBaseInfo.setEmpId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | empBaseInfo.setArchivesNumb(list.get(0).toString()); |
| | |
| | | empBaseInfo.setEmpName(list.get(2).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | empBaseInfo.setDeptName(list.get(3).toString()); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(3).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | empBaseInfo.setDeptId(deptId); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(3).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入员工基本信息异常: 出现位置第{}行, 原因:{}部门不存在", listObject.indexOf(list) + 1, list.get(3).toString())); |
| | | continue; |
| | | } |
| | | empBaseInfo.setDeptId(dept.getDeptId()); |
| | | empBaseInfo.setJobName(list.get(4).toString()); |
| | | empBaseInfo.setEmpType(list.get(5).toString()); |
| | | empBaseInfo.setSex("男".equals(list.get(6).toString()) ? "1" : "2"); |
| | |
| | | empBaseInfo.setHandbookStatus(list.get(28).toString()); |
| | | empBaseInfo.setEmpCardStatus(list.get(29).toString()); |
| | | empBaseInfo.setCertificateList(list.get(30).toString()); |
| | | empBaseInfo.setDelFlag(2); |
| | | empBaseInfo.setEmpStatus("0"); |
| | | this.save(empBaseInfo); |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * 检查是否是带条件查询 |
| | | * |
| | | * <p> |
| | | * date 2021-02-26 13:49 |
| | | * @author: luoyibo |
| | | * |
| | | * @param empBaseInfo 人员参数 |
| | | * @return boolean |
| | | * @author: luoyibo |
| | | */ |
| | | private boolean checkQueryCondition(EmpBaseInfo empBaseInfo){ |
| | | private boolean checkQueryCondition(EmpBaseInfo empBaseInfo) { |
| | | int hasCondition = 0; |
| | | if (StringUtils.isNotBlank(empBaseInfo.getEmpNumb())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getEmpName())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getDeptName())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getCertificateNumb())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getEntryDateStr())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getDimissionDateStr())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getSex())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getEducation())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getPolitics())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getAgeStr())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getArchivesStatus())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getInsuranceType())) { |
| | | hasCondition = hasCondition|1; |
| | | hasCondition = hasCondition | 1; |
| | | } |
| | | return hasCondition==1; |
| | | return hasCondition == 1; |
| | | } |
| | | |
| | | private LambdaQueryWrapper<EmpBaseInfo> createQueryWrapper(EmpBaseInfo empBaseInfo){ |
| | | LambdaQueryWrapper<EmpBaseInfo> queryWrapper = new LambdaQueryWrapper<>(); |
| | | private QueryWrapper<EmpBaseInfo> createQueryWrapper(EmpBaseInfo empBaseInfo) { |
| | | QueryWrapper<EmpBaseInfo> queryWrapper = new QueryWrapper<>(); |
| | | //记录的状态,0-正常 1-删除 2-暂存 |
| | | if(StringUtils.isNotBlank(empBaseInfo.getDelFlag().toString())) { |
| | | queryWrapper.eq(EmpBaseInfo::getDelFlag, empBaseInfo.getDelFlag()); |
| | | } else{ |
| | | queryWrapper.eq(EmpBaseInfo::getDelFlag, 0); |
| | | if (StringUtils.isNotBlank(empBaseInfo.getDelFlag().toString())) { |
| | | queryWrapper.eq("a.DelFlag", empBaseInfo.getDelFlag()); |
| | | } else { |
| | | queryWrapper.eq("a.DelFlag", 0); |
| | | } |
| | | //人员的状态,0-在职 1-离职 2-退休 |
| | | if (StringUtils.isNotBlank(empBaseInfo.getEmpStatus())) { |
| | | queryWrapper.in(EmpBaseInfo::getEmpStatus, empBaseInfo.getEmpStatus().split(",")); |
| | | } else{ |
| | | queryWrapper.in(EmpBaseInfo::getEmpStatus, 0); |
| | | queryWrapper.in("a.EmpStatus", empBaseInfo.getEmpStatus().split(",")); |
| | | } else { |
| | | queryWrapper.in("a.EmpStatus", 0); |
| | | } |
| | | // 下面的条件就是人员的属性条件,条件之间是或的关系 |
| | | if(this.checkQueryCondition(empBaseInfo)){ |
| | | if (this.checkQueryCondition(empBaseInfo)) { |
| | | queryWrapper.and(p -> { |
| | | if (StringUtils.isNotBlank(empBaseInfo.getEmpNumb())) { |
| | | p.like(EmpBaseInfo::getEmpNumb, empBaseInfo.getEmpNumb()); |
| | | p.like("a.EmpNumb", empBaseInfo.getEmpNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getEmpName())) { |
| | | p.or().like(EmpBaseInfo::getEmpName, empBaseInfo.getEmpName()); |
| | | p.or().like("a.EmpName", empBaseInfo.getEmpName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getDeptName())) { |
| | | p.or().like(EmpBaseInfo::getDeptName, empBaseInfo.getDeptName()); |
| | | p.or().like("a.DeptName", empBaseInfo.getDeptName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getCertificateNumb())) { |
| | | p.or().like(EmpBaseInfo::getCertificateNumb, empBaseInfo.getCertificateNumb()); |
| | | p.or().like("a.CertificateNumb", empBaseInfo.getCertificateNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getEntryDateStr())) { |
| | | p.or().between(EmpBaseInfo::getEntryDate, empBaseInfo.getEntryDateStr().split(",")[0], empBaseInfo.getEntryDateStr().split(",")[1]); |
| | | p.or().between("a.EntryDate", empBaseInfo.getEntryDateStr().split(",")[0], empBaseInfo.getEntryDateStr().split(",")[1]); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getDimissionDateStr())) { |
| | | p.or().between(EmpBaseInfo::getDimissionDate, empBaseInfo.getDimissionDateStr().split(",")[0], empBaseInfo.getDimissionDateStr().split(",")[1]); |
| | | p.or().between("a.DimissionDate", empBaseInfo.getDimissionDateStr().split(",")[0], empBaseInfo.getDimissionDateStr().split(",")[1]); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getSex())) { |
| | | p.or().in(EmpBaseInfo::getSex, empBaseInfo.getSex().split(",")); |
| | | p.or().in("a.Sex", empBaseInfo.getSex().split(",")); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getEducation())) { |
| | | p.or().in(EmpBaseInfo::getEducation, empBaseInfo.getEducation().split(",")); |
| | | p.or().in("a.Education", empBaseInfo.getEducation().split(",")); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getPolitics())) { |
| | | p.or().in(EmpBaseInfo::getPolitics, empBaseInfo.getPolitics().split(",")); |
| | | p.or().in("a.Politics", empBaseInfo.getPolitics().split(",")); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getAgeStr())) { |
| | | String[] ages = empBaseInfo.getAgeStr().split(","); |
| | | Consumer<LambdaQueryWrapper<EmpBaseInfo>> consumer = new Consumer<LambdaQueryWrapper<EmpBaseInfo>>() { |
| | | @Override |
| | | public void accept(LambdaQueryWrapper<EmpBaseInfo> wrapper) { |
| | | Consumer<QueryWrapper<EmpBaseInfo>> consumer = new Consumer<QueryWrapper<EmpBaseInfo>>() { |
| | | public void accept(QueryWrapper<EmpBaseInfo> wrapper) { |
| | | for (int i = 0; i < ages.length; i++) { |
| | | String ageBtn = ages[i]; |
| | | wrapper.or().between(EmpBaseInfo::getAge, ageBtn.split("-")[0], ageBtn.split("-")[1]); |
| | | wrapper.or().between("a.Age", ageBtn.split("-")[0], ageBtn.split("-")[1]); |
| | | } |
| | | } |
| | | }; |
| | | p.or().and(consumer); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getArchivesStatus())) { |
| | | p.or().in(EmpBaseInfo::getArchivesStatus, empBaseInfo.getArchivesStatus().split(",")); |
| | | p.or().in("a.ArchivesStatus", empBaseInfo.getArchivesStatus().split(",")); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getInsuranceType())) { |
| | | p.or().in(EmpBaseInfo::getInsuranceType, empBaseInfo.getInsuranceType().split(",")); |
| | | p.or().in("a.InsuranceType", empBaseInfo.getInsuranceType().split(",")); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getHandbookStatus())) { |
| | | p.or().in(EmpBaseInfo::getHandbookStatus, empBaseInfo.getHandbookStatus().split(",")); |
| | | p.or().in("a.HandbookStatus", empBaseInfo.getHandbookStatus().split(",")); |
| | | } |
| | | if (StringUtils.isNotBlank(empBaseInfo.getEmpCardStatus())) { |
| | | p.or().in(EmpBaseInfo::getEmpCardStatus, empBaseInfo.getEmpCardStatus().split(",")); |
| | | p.or().in("a.EmpCardStatus", empBaseInfo.getEmpCardStatus().split(",")); |
| | | } |
| | | }); |
| | | } |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA)); |
| | | return queryWrapper; |
| | | } |
| | | |
| | | @Override |
| | | public EmpBaseInfo addInEmpBaseInfo(EmpBaseInfo empBaseInfo) { |
| | | EmpBaseInfo dbEmpInfo = this.getEmpBaseInfo(empBaseInfo); |
| | | if (dbEmpInfo == null) { |
| | | this.createEmpBaseInfo(empBaseInfo); |
| | | return null; |
| | | } else { |
| | | return dbEmpInfo; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public Long getEmpIdByEmpNumb(String empNumb) { |
| | | try { |
| | | return this.getOne(new LambdaQueryWrapper<EmpBaseInfo>().eq(EmpBaseInfo::getEmpNumb, empNumb).ne(EmpBaseInfo::getDelFlag, 1)).getEmpId(); |
| | | } catch (Exception e) { |
| | | return null; |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | import cc.mrbird.febs.common.core.entity.system.DicItem; |
| | | import cc.mrbird.febs.common.core.utils.CastUtil; |
| | | import cc.mrbird.febs.common.redis.service.RedisService; |
| | | import cc.mrbird.febs.server.hr.entity.EmpPhysicalExam; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | |
| | | import cc.mrbird.febs.common.core.constant.ModuleCode; |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.core.entity.constant.StringConstant; |
| | | import cc.mrbird.febs.common.core.utils.FebsUtil; |
| | | import cc.mrbird.febs.common.core.utils.SequenceUtil; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.entity.EmpContractInfo; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpContractInfoMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpContractInfoService; |
| | | import cn.hutool.core.date.DateUtil; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpContractInfoMapper empContractinfoMapper; |
| | | private final IRemoteDeptService remoteDeptService; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | | |
| | | @Override |
| | | public IPage<EmpContractInfo> findEmpContractinfos(QueryRequest request, EmpContractInfo empContractinfo) { |
| | | LambdaQueryWrapper<EmpContractInfo> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(EmpContractInfo::getDelFlag, empContractinfo.getDelFlag()); |
| | | QueryWrapper<EmpContractInfo> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("a.DelFlag", empContractinfo.getDelFlag()); |
| | | if (StringUtils.isNotBlank(empContractinfo.getEmpNumb())) { |
| | | queryWrapper.like(EmpContractInfo::getEmpNumb, empContractinfo.getEmpNumb()); |
| | | queryWrapper.like("a.EmpNumb", empContractinfo.getEmpNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empContractinfo.getEmpName())) { |
| | | queryWrapper.like(EmpContractInfo::getEmpName, empContractinfo.getEmpName()); |
| | | queryWrapper.like("a.EmpName", empContractinfo.getEmpName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empContractinfo.getCertificateNumb())) { |
| | | queryWrapper.like(EmpContractInfo::getCertificateNumb, empContractinfo.getCertificateNumb()); |
| | | queryWrapper.like("a.CertificateNumb", empContractinfo.getCertificateNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empContractinfo.getDeptName())) { |
| | | queryWrapper.like(EmpContractInfo::getDeptName, empContractinfo.getDeptName()); |
| | | queryWrapper.like("a.DeptName", empContractinfo.getDeptName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empContractinfo.getSigningDateStr())) { |
| | | queryWrapper.between(EmpContractInfo::getSigningDate, empContractinfo.getSigningDateStr().split(",")[0], empContractinfo.getSigningDateStr().split(",")[1]); |
| | | queryWrapper.between("a.SigningDate", empContractinfo.getSigningDateStr().split(",")[0], empContractinfo.getSigningDateStr().split(",")[1]); |
| | | } |
| | | if (StringUtils.isNotBlank(empContractinfo.getEndDateStr())) { |
| | | queryWrapper.between(EmpContractInfo::getEndDate, empContractinfo.getEndDateStr().split(",")[0], empContractinfo.getEndDateStr().split(",")[1]); |
| | | queryWrapper.between("a.EndDate", empContractinfo.getEndDateStr().split(",")[0], empContractinfo.getEndDateStr().split(",")[1]); |
| | | } |
| | | if (StringUtils.isNotBlank(empContractinfo.getDeptName())) { |
| | | queryWrapper.like(EmpContractInfo::getEmpStatus, empContractinfo.getEmpStatus()); |
| | | queryWrapper.like("a.EmpStatus", empContractinfo.getEmpStatus()); |
| | | } |
| | | if (StringUtils.isNotBlank(empContractinfo.getContractStatus())) { |
| | | queryWrapper.eq(EmpContractInfo::getContractStatus, empContractinfo.getContractStatus()); |
| | | queryWrapper.eq("a.ContractStatus", empContractinfo.getContractStatus()); |
| | | } |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA)); |
| | | Page<EmpContractInfo> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<EmpContractInfo> iPage = this.page(page, queryWrapper); |
| | | IPage<EmpContractInfo> iPage = empContractinfoMapper.selectPageVo(page, queryWrapper); |
| | | List<EmpContractInfo> list = iPage.getRecords(); |
| | | //设置字典数据 |
| | | List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class); |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpContractInfo(List<List<Object>> listObject) { |
| | | public void importEmpContractInfo(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpContractInfo contractInfo = new EmpContractInfo(); |
| | | contractInfo.setContractId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | contractInfo.setEmpNumb(list.get(0).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入员工合同信息异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入员工合同信息异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | contractInfo.setDelFlag(2); |
| | | contractInfo.setEmpId(empId); |
| | | contractInfo.setDeptName(list.get(1).toString()); |
| | | contractInfo.setDeptId(deptId); |
| | | contractInfo.setDeptId(dept.getDeptId()); |
| | | contractInfo.setJobName(list.get(2).toString()); |
| | | contractInfo.setEmpName(list.get(3).toString()); |
| | | contractInfo.setCertificateNumb(list.get(4).toString()); |
| | | if (StringUtils.isNotBlank(list.get(5).toString())) { |
| | | contractInfo.setSigningDate(DateUtil.parseDate(list.get(5).toString())); |
| | | } |
| | | if (StringUtils.isNotBlank(list.get(6).toString())) { |
| | | contractInfo.setEndDate(DateUtil.parseDate(list.get(6).toString())); |
| | | } |
| | | if (StringUtils.isNotBlank(list.get(6).toString())) { |
| | | contractInfo.setBeginDate(DateUtil.parseDate(list.get(6).toString())); |
| | | } |
| | | |
| | | if (StringUtils.isNotBlank(list.get(7).toString())) { |
| | | contractInfo.setContractPeriod(Integer.valueOf(list.get(7).toString())); |
| | | contractInfo.setEndDate(DateUtil.parseDate(list.get(7).toString())); |
| | | } |
| | | contractInfo.setContractStatus(list.get(8).toString()); |
| | | contractInfo.setTransactor(list.get(9).toString()); |
| | | contractInfo.setRemark(list.get(10).toString()); |
| | | if (StringUtils.isNotBlank(list.get(8).toString())) { |
| | | contractInfo.setContractPeriod(Integer.valueOf(list.get(8).toString())); |
| | | } |
| | | contractInfo.setContractStatus(list.get(9).toString()); |
| | | contractInfo.setTransactor(list.get(10).toString()); |
| | | contractInfo.setRemark(list.get(11).toString()); |
| | | |
| | | this.save(contractInfo); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void terminateContract(String empIds, String operatorId) { |
| | | String[] str = empIds.split(","); |
| | | List<String> list = new ArrayList<>(Arrays.asList(str)); |
| | | empContractinfoMapper.terminateContract(list, operatorId); |
| | | } |
| | | } |
| | |
| | | import cc.mrbird.febs.common.core.constant.ModuleCode; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionAttend; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionAttend; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpDimissionAttendMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpDimissionAttendService; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.core.entity.constant.StringConstant; |
| | | import cc.mrbird.febs.common.core.entity.system.Dept; |
| | | import cc.mrbird.febs.common.core.utils.CastUtil; |
| | | import cc.mrbird.febs.common.core.utils.FebsUtil; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpDimissionAttendMapper empDimissionattendMapper; |
| | | private final IRemoteDeptService remoteDeptService; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | | |
| | | @Override |
| | | public IPage<EmpDimissionAttend> findEmpDimissionattends(QueryRequest request, EmpDimissionAttend empDimissionattend) { |
| | | LambdaQueryWrapper<EmpDimissionAttend> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(EmpDimissionAttend::getDelFlag, empDimissionattend.getDelFlag()); |
| | | QueryWrapper<EmpDimissionAttend> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("a.DelFlag", empDimissionattend.getDelFlag()); |
| | | if (StringUtils.isNotBlank(empDimissionattend.getEmpNumb())) { |
| | | queryWrapper.like(EmpDimissionAttend::getEmpNumb, empDimissionattend.getEmpNumb()); |
| | | queryWrapper.like("a.EmpNumb", empDimissionattend.getEmpNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empDimissionattend.getEmpName())) { |
| | | queryWrapper.like(EmpDimissionAttend::getEmpName, empDimissionattend.getEmpName()); |
| | | queryWrapper.like("a.EmpName", empDimissionattend.getEmpName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empDimissionattend.getCertificateNumb())) { |
| | | queryWrapper.like(EmpDimissionAttend::getCertificateNumb, empDimissionattend.getCertificateNumb()); |
| | | queryWrapper.like("a.CertificateNumb", empDimissionattend.getCertificateNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empDimissionattend.getDeptName())) { |
| | | queryWrapper.like(EmpDimissionAttend::getDeptName, empDimissionattend.getDeptName()); |
| | | queryWrapper.like("a.DeptName", empDimissionattend.getDeptName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empDimissionattend.getAttendYear())) { |
| | | queryWrapper.like(EmpDimissionAttend::getAttendYear, empDimissionattend.getAttendYear()); |
| | | queryWrapper.like("a.AttendYear", empDimissionattend.getAttendYear()); |
| | | } |
| | | if (StringUtils.isNotBlank(empDimissionattend.getAttendMonth())) { |
| | | queryWrapper.like(EmpDimissionAttend::getAttendMonth, empDimissionattend.getAttendMonth()); |
| | | queryWrapper.like("a.AttendMonth", empDimissionattend.getAttendMonth()); |
| | | } |
| | | if (StringUtils.isNotBlank(empDimissionattend.getDeductStr())) { |
| | | queryWrapper.like(EmpDimissionAttend::getDeduct, empDimissionattend.getDeductStr()); |
| | | queryWrapper.like("a.Deduct", empDimissionattend.getDeductStr()); |
| | | } |
| | | if (StringUtils.isNotBlank(empDimissionattend.getEmpStatus())) { |
| | | queryWrapper.eq(EmpDimissionAttend::getEmpStatus, empDimissionattend.getEmpStatus()); |
| | | queryWrapper.eq("a.EmpStatus", empDimissionattend.getEmpStatus()); |
| | | } |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA)); |
| | | Page<EmpDimissionAttend> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | return this.page(page, queryWrapper); |
| | | return empDimissionattendMapper.selectPageVo(page, queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpDimissionAttend(List<List<Object>> listObject) { |
| | | public void importEmpDimissionAttend(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpDimissionAttend dimissionAttend = new EmpDimissionAttend(); |
| | | dimissionAttend.setDimissionAttendId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | dimissionAttend.setEmpNumb(list.get(0).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入离职当月考勤异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入离职当月考勤异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | dimissionAttend.setDelFlag(2); |
| | | dimissionAttend.setEmpId(empId); |
| | | dimissionAttend.setDeptName(list.get(1).toString()); |
| | | dimissionAttend.setDeptId(deptId); |
| | | dimissionAttend.setDeptId(dept.getDeptId()); |
| | | dimissionAttend.setJobName(list.get(2).toString()); |
| | | dimissionAttend.setEmpName(list.get(3).toString()); |
| | | dimissionAttend.setCertificateNumb(list.get(4).toString()); |
| | |
| | | this.save(dimissionAttend); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | import cc.mrbird.febs.common.core.constant.ModuleCode; |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionLog; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionLog; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpDimissionLogMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.core.entity.constant.StringConstant; |
| | | import cc.mrbird.febs.common.core.utils.FebsUtil; |
| | | import cc.mrbird.febs.common.core.utils.SequenceUtil; |
| | | |
| | |
| | | class EmpDimissionLogServiceImpl extends ServiceImpl<EmpDimissionLogMapper, EmpDimissionLog> implements IEmpDimissionLogService { |
| | | |
| | | private final EmpDimissionLogMapper empDimissionlogMapper; |
| | | private final IRemoteDeptService remoteDeptService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | | |
| | | @Override |
| | | public IPage<EmpDimissionLog> findEmpDimissionLogs(QueryRequest request, EmpDimissionLog empDimissionlog) { |
| | | LambdaQueryWrapper<EmpDimissionLog> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(EmpDimissionLog::getDelFlag, 0); |
| | | // if (StringUtils.isNotBlank(empDimissionlog.getEmpNumb())) { |
| | | // queryWrapper.like(EmpDimissionLog::getEmpNumb, empDimissionlog.getEmpNumb()); |
| | | // } |
| | | // if (StringUtils.isNotBlank(empDimissionlog.getEmpName())) { |
| | | // queryWrapper.like(EmpDimissionLog::getEmpName, empDimissionlog.getEmpName()); |
| | | // } |
| | | // if (StringUtils.isNotBlank(empDimissionlog.getCertificateNumb())) { |
| | | // queryWrapper.like(EmpDimissionLog::getCertificateNumb, empDimissionlog.getCertificateNumb()); |
| | | // } |
| | | // if (StringUtils.isNotBlank(empDimissionlog.getDeptName())) { |
| | | // queryWrapper.like(EmpDimissionLog::getDeptName, empDimissionlog.getDeptName()); |
| | | // } |
| | | public IPage<Map<String, Object>> findEmpDimissionLogs(QueryRequest request, EmpDimissionLog empDimissionlog) { |
| | | QueryWrapper<EmpDimissionLog> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("a.delFlag", 0); |
| | | |
| | | if (StringUtils.isNotBlank(empDimissionlog.getEntryDateStr())) { |
| | | queryWrapper.between(EmpDimissionLog::getEntryDate, empDimissionlog.getEntryDateStr().split(",")[0], empDimissionlog.getEntryDateStr().split(",")[1]); |
| | | queryWrapper.between("a.entryDate", empDimissionlog.getEntryDateStr().split(",")[0], empDimissionlog.getEntryDateStr().split(",")[1]); |
| | | } |
| | | if (StringUtils.isNotBlank(empDimissionlog.getDimissionDateStr())) { |
| | | queryWrapper.between(EmpDimissionLog::getDimissionDate, empDimissionlog.getDimissionDateStr().split(",")[0], empDimissionlog.getDimissionDateStr().split(",")[1]); |
| | | queryWrapper.between("a.dimissionDate", empDimissionlog.getDimissionDateStr().split(",")[0], empDimissionlog.getDimissionDateStr().split(",")[1]); |
| | | } |
| | | if (StringUtils.isNotBlank(empDimissionlog.getDimissionType())) { |
| | | queryWrapper.eq(EmpDimissionLog::getDimissionType, empDimissionlog.getDimissionType()); |
| | | queryWrapper.eq("a.dimissionType", empDimissionlog.getDimissionType()); |
| | | } |
| | | Page<EmpDimissionLog> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | return this.page(page, queryWrapper); |
| | | Page<Map<String, Object>> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA)); |
| | | return this.baseMapper.selectPageVo(page,queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | |
| | | List<String> list = new ArrayList<>(Arrays.asList(str)); |
| | | empDimissionlogMapper.logicDeleteByIds(list, operatorId); |
| | | } |
| | | } |
| | | } |
| | |
| | | import cc.mrbird.febs.server.hr.entity.EmpUnemployment; |
| | | import cc.mrbird.febs.server.hr.entity.EmpInsurance; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpInsuranceMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpInsuranceService; |
| | | import cn.hutool.core.date.DateUtil; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpInsuranceMapper empInsuranceMapper; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()).map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | | |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpInsurance(List<List<Object>> listObject) { |
| | | public void importEmpInsurance(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpInsurance empInsurance = new EmpInsurance(); |
| | | empInsurance.setInsuranceId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | empInsurance.setEmpNumb(list.get(0).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入社保申请服务异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入社保申请服务异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | empInsurance.setDelFlag(2); |
| | | empInsurance.setEmpId(empId); |
| | | empInsurance.setDeptName(list.get(1).toString()); |
| | | empInsurance.setDeptId(deptId); |
| | | empInsurance.setDeptId(dept.getDeptId()); |
| | | empInsurance.setJobName(list.get(2).toString()); |
| | | empInsurance.setEmpName(list.get(3).toString()); |
| | | empInsurance.setCertificateNumb(list.get(4).toString()); |
| | |
| | | |
| | | import cc.mrbird.febs.common.core.constant.ModuleCode; |
| | | import cc.mrbird.febs.server.hr.entity.EmpJobChange; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpJobChangeMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpJobChangeService; |
| | | |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.core.entity.constant.StringConstant; |
| | | import cc.mrbird.febs.common.core.utils.FebsUtil; |
| | | import cc.mrbird.febs.common.core.utils.SequenceUtil; |
| | | |
| | |
| | | class EmpJobChangeServiceImpl extends ServiceImpl<EmpJobChangeMapper, EmpJobChange> implements IEmpJobChangeService { |
| | | |
| | | private final EmpJobChangeMapper empJobchangeMapper; |
| | | private final IRemoteDeptService remoteDeptService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | |
| | | queryWrapper.eq("a.changeType", empJobchange.getChangeType()); |
| | | } |
| | | Page<EmpJobChange> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA)); |
| | | return this.baseMapper.selectPageVo(page, queryWrapper); |
| | | } |
| | | |
| | |
| | | import cc.mrbird.febs.server.hr.entity.*; |
| | | import cc.mrbird.febs.server.hr.entity.EmpLaborTrouble; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpLaborTroubleMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpLaborTroubleService; |
| | | import cn.hutool.core.date.DateUtil; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpLaborTroubleMapper empLabortroubleMapper; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpLaborTrouble(List<List<Object>> listObject) { |
| | | public void importEmpLaborTrouble(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpLaborTrouble empLabortrouble = new EmpLaborTrouble(); |
| | | empLabortrouble.setArbitrationId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | empLabortrouble.setEmpNumb(list.get(0).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入员工劳资案件异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入员工劳资案件异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | empLabortrouble.setDelFlag(2); |
| | | empLabortrouble.setEmpId(empId); |
| | | empLabortrouble.setDeptName(list.get(1).toString()); |
| | | empLabortrouble.setDeptId(deptId); |
| | | empLabortrouble.setDeptId(dept.getDeptId()); |
| | | empLabortrouble.setJobName(list.get(2).toString()); |
| | | empLabortrouble.setEmpName(list.get(3).toString()); |
| | | empLabortrouble.setCertificateNumb(list.get(4).toString()); |
| | |
| | | import cc.mrbird.febs.common.redis.service.RedisService; |
| | | import cc.mrbird.febs.server.hr.entity.EmpLeaveInfo; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpLeaveInfoMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpLeaveInfoService; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpLeaveInfoMapper empLeaveinfoMapper; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpLeaveInfo(List<List<Object>> listObject) { |
| | | public void importEmpLeaveInfo(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpLeaveInfo leaveInfo = new EmpLeaveInfo(); |
| | | leaveInfo.setLeaveId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | leaveInfo.setEmpNumb(list.get(0).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入员工请假记录异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入员工请假记录异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | leaveInfo.setDelFlag(2); |
| | | leaveInfo.setEmpId(empId); |
| | | leaveInfo.setDeptName(list.get(1).toString()); |
| | | leaveInfo.setDeptId(deptId); |
| | | leaveInfo.setDeptId(dept.getDeptId()); |
| | | leaveInfo.setJobName(list.get(2).toString()); |
| | | leaveInfo.setEmpName(list.get(3).toString()); |
| | | leaveInfo.setCertificateNumb(list.get(4).toString()); |
| | |
| | | |
| | | return list; |
| | | } |
| | | } |
| | | } |
| | |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpOccupationalMapper empOccupationalMapper; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpOccupational(List<List<Object>> listObject) { |
| | | public void importEmpOccupational(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpOccupational empOccupational=new EmpOccupational(); |
| | | empOccupational.setOccupationalId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | empOccupational.setEmpNumb(list.get(0).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入员工工伤案件异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入员工工伤案件异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | empOccupational.setDelFlag(2); |
| | | empOccupational.setEmpId(empId); |
| | | empOccupational.setDeptName(list.get(1).toString()); |
| | | empOccupational.setDeptId(deptId); |
| | | empOccupational.setDeptId(dept.getDeptId()); |
| | | empOccupational.setJobName(list.get(2).toString()); |
| | | empOccupational.setEmpName(list.get(3).toString()); |
| | | empOccupational.setCertificateNumb(list.get(4).toString()); |
| | |
| | | this.save(empOccupational); |
| | | } |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | package cc.mrbird.febs.server.hr.service.impl; |
| | | |
| | | import cc.mrbird.febs.common.core.constant.ModuleCode; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.entity.EmpOpenArchives; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpOpenArchivesMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpOpenArchivesService; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.core.utils.FebsUtil; |
| | | import cc.mrbird.febs.common.core.utils.SequenceUtil; |
| | | |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * name:EmpOpenarchives |
| | | * package:cc.mrbird.febs.server.hr.controller |
| | | * description:员工打开档案记录服务接口实现 |
| | | * |
| | | * @author luoyibo |
| | | * @date 2021-03-02 22:22:41 |
| | | * @since JDK1.8 |
| | | */ |
| | | @Service |
| | | @RequiredArgsConstructor |
| | | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) |
| | | class EmpOpenArchivesServiceImpl extends ServiceImpl<EmpOpenArchivesMapper, EmpOpenArchives> implements IEmpOpenArchivesService { |
| | | |
| | | private final EmpOpenArchivesMapper empOpenarchivesMapper; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | | |
| | | @Override |
| | | public IPage<EmpOpenArchives> findEmpOpenarchivess(QueryRequest request, EmpOpenArchives empOpenarchives) { |
| | | LambdaQueryWrapper<EmpOpenArchives> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(EmpOpenArchives::getDelFlag, 0); |
| | | Page<EmpOpenArchives> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | return this.page(page, queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<EmpOpenArchives> findEmpOpenarchivess(EmpOpenArchives empOpenarchives) { |
| | | LambdaQueryWrapper<EmpOpenArchives> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(EmpOpenArchives::getDelFlag, 0); |
| | | return this.baseMapper.selectList(queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void createEmpOpenarchives(EmpOpenArchives empOpenarchives) { |
| | | empOpenarchives.setOpenArchivesId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | empOpenarchives.setCreator(operatorId); |
| | | empOpenarchives.setModifier(operatorId); |
| | | this.save(empOpenarchives); |
| | | |
| | | EmpBaseInfo empBaseInfo = empBaseInfoService.getById(empOpenarchives.getEmpId()); |
| | | empBaseInfo.setEntryDate(empOpenarchives.getOpenDate()); |
| | | empBaseInfo.setEntryType(empOpenarchives.getOpenType()); |
| | | empBaseInfo.setEmpStatus("0"); |
| | | empBaseInfo.setModifyTime(new Date()); |
| | | empBaseInfo.setModifier(operatorId); |
| | | empBaseInfoService.saveOrUpdate(empBaseInfo); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void updateEmpOpenarchives(EmpOpenArchives empOpenarchives) { |
| | | EmpOpenArchives dbData = this.getById(empOpenarchives.getOpenArchivesId()); |
| | | empOpenarchives.setCreateTime(dbData.getCreateTime()); |
| | | empOpenarchives.setCreator(dbData.getCreator()); |
| | | empOpenarchives.setDelFlag(dbData.getDelFlag()); |
| | | empOpenarchives.setModifyTime(new Date()); |
| | | empOpenarchives.setModifier(operatorId); |
| | | this.saveOrUpdate(empOpenarchives); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void deleteEmpOpenarchives(EmpOpenArchives empOpenarchives) { |
| | | LambdaQueryWrapper<EmpOpenArchives> wrapper = new LambdaQueryWrapper<>(); |
| | | // TODO 设置删除条件 |
| | | this.remove(wrapper); |
| | | } |
| | | |
| | | /** |
| | | * 根据Id批量逻辑删除记录 |
| | | * <p> |
| | | * date 2021-01-28 10:48 |
| | | * |
| | | * @param ids 待删除Id |
| | | * @return void |
| | | * @author: luoyibo |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void logicDelEmpOpenarchives(String ids) { |
| | | String[] str = ids.split(","); |
| | | List<String> list = new ArrayList<>(Arrays.asList(str)); |
| | | empOpenarchivesMapper.logicDeleteByIds(list, operatorId); |
| | | } |
| | | } |
| | |
| | | import cc.mrbird.febs.common.core.utils.CastUtil; |
| | | import cc.mrbird.febs.common.redis.service.RedisService; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | |
| | | import cc.mrbird.febs.common.core.constant.ModuleCode; |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.core.entity.constant.StringConstant; |
| | | import cc.mrbird.febs.common.core.utils.FebsUtil; |
| | | import cc.mrbird.febs.common.core.utils.SequenceUtil; |
| | | import cc.mrbird.febs.server.hr.entity.EmpPhysicalExam; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpPhysicalExamMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpPhysicalExamService; |
| | | import cn.hutool.core.date.DateUtil; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpPhysicalExamMapper empPhysicalexamMapper; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final IRemoteDeptService remoteDeptService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | | |
| | | @Override |
| | | public IPage<EmpPhysicalExam> findEmpPhysicalExams(QueryRequest request, EmpPhysicalExam empPhysicalexam) { |
| | | LambdaQueryWrapper<EmpPhysicalExam> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(EmpPhysicalExam::getDelFlag, empPhysicalexam.getDelFlag()); |
| | | QueryWrapper<EmpPhysicalExam> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("a.DelFlag", empPhysicalexam.getDelFlag()); |
| | | if (StringUtils.isNotBlank(empPhysicalexam.getEmpNumb())) { |
| | | queryWrapper.like(EmpPhysicalExam::getEmpNumb, empPhysicalexam.getEmpNumb()); |
| | | queryWrapper.like("a.EmpNumb", empPhysicalexam.getEmpNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empPhysicalexam.getEmpName())) { |
| | | queryWrapper.like(EmpPhysicalExam::getEmpName, empPhysicalexam.getEmpName()); |
| | | queryWrapper.like("a.EmpName", empPhysicalexam.getEmpName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empPhysicalexam.getCertificateNumb())) { |
| | | queryWrapper.like(EmpPhysicalExam::getCertificateNumb, empPhysicalexam.getCertificateNumb()); |
| | | queryWrapper.like("a.CertificateNumb", empPhysicalexam.getCertificateNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empPhysicalexam.getDeptName())) { |
| | | queryWrapper.like(EmpPhysicalExam::getDeptName, empPhysicalexam.getDeptName()); |
| | | queryWrapper.like("a.DeptName", empPhysicalexam.getDeptName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empPhysicalexam.getPhysicalExamDateStr())) { |
| | | queryWrapper.between(EmpPhysicalExam::getPhysicalExamDate, empPhysicalexam.getPhysicalExamDateStr().split(",")[0], empPhysicalexam.getPhysicalExamDateStr().split(",")[1]); |
| | | queryWrapper.between("a.PhysicalExamDate", empPhysicalexam.getPhysicalExamDateStr().split(",")[0], empPhysicalexam.getPhysicalExamDateStr().split(",")[1]); |
| | | } |
| | | if (StringUtils.isNotBlank(empPhysicalexam.getPhysicalExamType())) { |
| | | queryWrapper.eq(EmpPhysicalExam::getPhysicalExamType, empPhysicalexam.getPhysicalExamType()); |
| | | queryWrapper.eq("a.PhysicalExamType", empPhysicalexam.getPhysicalExamType()); |
| | | } |
| | | if (StringUtils.isNotBlank(empPhysicalexam.getEcg())) { |
| | | queryWrapper.eq(EmpPhysicalExam::getEcg, empPhysicalexam.getEcg()); |
| | | queryWrapper.eq("a.Ecg", empPhysicalexam.getEcg()); |
| | | } |
| | | if (StringUtils.isNotBlank(empPhysicalexam.getConclusion())) { |
| | | queryWrapper.like(EmpPhysicalExam::getConclusion, empPhysicalexam.getConclusion()); |
| | | queryWrapper.like("a.Conclusion", empPhysicalexam.getConclusion()); |
| | | } |
| | | if (StringUtils.isNotBlank(empPhysicalexam.getEmpStatus())) { |
| | | queryWrapper.eq(EmpPhysicalExam::getEmpStatus, empPhysicalexam.getEmpStatus()); |
| | | queryWrapper.eq("a.EmpStatus", empPhysicalexam.getEmpStatus()); |
| | | } |
| | | Page<EmpPhysicalExam> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<EmpPhysicalExam> iPage = this.page(page, queryWrapper); |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA)); |
| | | IPage<EmpPhysicalExam> iPage = empPhysicalexamMapper.selectPageVo(page, queryWrapper); |
| | | List<EmpPhysicalExam> list = iPage.getRecords(); |
| | | //设置字典数据 |
| | | List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class); |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpPhysicalExam(List<List<Object>> listObject) { |
| | | public void importEmpPhysicalExam(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpPhysicalExam physicalExam = new EmpPhysicalExam(); |
| | | physicalExam.setPhysicalExamId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | physicalExam.setEmpNumb(list.get(0).toString()); |
| | | physicalExam.setDeptName(list.get(1).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | physicalExam.setDeptId(deptId); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入员工体检信息异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入员工体检信息异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | physicalExam.setDelFlag(2); |
| | | physicalExam.setEmpId(empId); |
| | | physicalExam.setDeptName(list.get(1).toString()); |
| | | physicalExam.setDeptId(dept.getDeptId()); |
| | | physicalExam.setJobName(list.get(2).toString()); |
| | | physicalExam.setEmpName(list.get(3).toString()); |
| | | physicalExam.setCertificateNumb(list.get(4).toString()); |
| | |
| | | this.save(physicalExam); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | import cc.mrbird.febs.server.hr.entity.EmpRemarkInfo; |
| | | import cc.mrbird.febs.server.hr.entity.EmpRemarkInfo; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpRemarkInfoMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpRemarkinfoService; |
| | | import cn.hutool.core.date.DateUtil; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpRemarkInfoMapper empRemarkinfoMapper; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpRemarkInfo(List<List<Object>> listObject) { |
| | | public void importEmpRemarkInfo(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpRemarkInfo empRemarkinfo=new EmpRemarkInfo(); |
| | | empRemarkinfo.setRemarkId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | empRemarkinfo.setEmpNumb(list.get(0).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入员工备注信息服务异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入员工备注信息服务异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | empRemarkinfo.setDelFlag(2); |
| | | empRemarkinfo.setEmpId(empId); |
| | | empRemarkinfo.setDeptName(list.get(1).toString()); |
| | | empRemarkinfo.setDeptId(deptId); |
| | | empRemarkinfo.setDeptId(dept.getDeptId()); |
| | | empRemarkinfo.setJobName(list.get(2).toString()); |
| | | empRemarkinfo.setEmpName(list.get(3).toString()); |
| | | empRemarkinfo.setCertificateNumb(list.get(4).toString()); |
| | |
| | | this.save(empRemarkinfo); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | import cc.mrbird.febs.server.hr.entity.EmpResign; |
| | | import cc.mrbird.febs.server.hr.entity.EmpUnemployment; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpResignMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpResignService; |
| | | import cn.hutool.core.date.DateUtil; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpResignMapper empResignMapper; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpResign(List<List<Object>> listObject) { |
| | | public void importEmpResign(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpResign resign = new EmpResign(); |
| | | resign.setResignId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | resign.setEmpNumb(list.get(0).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入员工辞职申请异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入员工辞职申请异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | resign.setDelFlag(2); |
| | | resign.setEmpId(empId); |
| | | resign.setDeptName(list.get(1).toString()); |
| | | resign.setDeptId(deptId); |
| | | resign.setDeptId(dept.getDeptId()); |
| | | resign.setJobName(list.get(2).toString()); |
| | | resign.setEmpName(list.get(3).toString()); |
| | | resign.setCertificateNumb(list.get(4).toString()); |
| | |
| | | import cc.mrbird.febs.common.core.exception.FebsException; |
| | | import cc.mrbird.febs.server.hr.constant.MyConstant; |
| | | import cc.mrbird.febs.server.hr.entity.EmpLaborTrouble; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | |
| | | |
| | | private final RedisService redisService; |
| | | private final EmpUnemploymentMapper empUnemploymentMapper; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpUnemployment(List<List<Object>> listObject) { |
| | | public void importEmpUnemployment(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | EmpUnemployment empUnemployment=new EmpUnemployment(); |
| | | empUnemployment.setUnemploymentId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | empUnemployment.setEmpNumb(list.get(0).toString()); |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get() |
| | | .getDeptId(); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入失业金领取异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入失业金领取异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | empUnemployment.setDelFlag(2); |
| | | empUnemployment.setEmpId(empId); |
| | | empUnemployment.setDeptName(list.get(1).toString()); |
| | | empUnemployment.setDeptId(deptId); |
| | | empUnemployment.setDeptId(dept.getDeptId()); |
| | | empUnemployment.setJobName(list.get(2).toString()); |
| | | empUnemployment.setEmpName(list.get(3).toString()); |
| | | empUnemployment.setCertificateNumb(list.get(4).toString()); |
| | |
| | | package cc.mrbird.febs.server.hr.service.impl; |
| | | |
| | | import cc.mrbird.febs.common.core.constant.ModuleCode; |
| | | import cc.mrbird.febs.common.core.entity.system.Dept; |
| | | import cc.mrbird.febs.common.core.utils.CastUtil; |
| | | import cc.mrbird.febs.common.core.utils.FebsUtil; |
| | | import cc.mrbird.febs.common.core.utils.SequenceUtil; |
| | | import cc.mrbird.febs.common.redis.service.RedisService; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.entity.EmpWorkExperience; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpWorkExperienceMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpWorkExperienceService; |
| | | import cn.hutool.core.date.DateUtil; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.core.entity.constant.StringConstant; |
| | | |
| | | import java.util.*; |
| | | |
| | |
| | | class EmpWorkExperienceServiceImpl extends ServiceImpl<EmpWorkExperienceMapper, EmpWorkExperience> implements IEmpWorkExperienceService { |
| | | |
| | | private final EmpWorkExperienceMapper empWorkexperienceMapper; |
| | | private final IRemoteDeptService remoteDeptService; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | | private final RedisService redisService; |
| | | |
| | | @Override |
| | | public IPage<EmpWorkExperience> findEmpWorkExperiences(QueryRequest request, EmpWorkExperience empWorkexperience) { |
| | | LambdaQueryWrapper<EmpWorkExperience> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(EmpWorkExperience::getDelFlag,empWorkexperience.getDelFlag()); |
| | | QueryWrapper<EmpWorkExperience> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("a.delFlag",empWorkexperience.getDelFlag()); |
| | | if (StringUtils.isNotBlank(empWorkexperience.getEmpNumb())) { |
| | | queryWrapper.like(EmpWorkExperience::getEmpNumb, empWorkexperience.getEmpNumb()); |
| | | queryWrapper.like("a.empNumb", empWorkexperience.getEmpNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empWorkexperience.getEmpName())) { |
| | | queryWrapper.like(EmpWorkExperience::getEmpName, empWorkexperience.getEmpName()); |
| | | queryWrapper.like("a.EmpName", empWorkexperience.getEmpName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empWorkexperience.getCertificateNumb())) { |
| | | queryWrapper.like(EmpWorkExperience::getCertificateNumb, empWorkexperience.getCertificateNumb()); |
| | | queryWrapper.like("a.certificateNumb", empWorkexperience.getCertificateNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empWorkexperience.getCertificateNumb())) { |
| | | queryWrapper.like(EmpWorkExperience::getCertificateNumb, empWorkexperience.getCertificateNumb()); |
| | | queryWrapper.like("a.certificateNumb", empWorkexperience.getCertificateNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empWorkexperience.getJobContent())) { |
| | | queryWrapper.like(EmpWorkExperience::getJobContent, empWorkexperience.getJobContent()); |
| | | queryWrapper.like("a.jobContent", empWorkexperience.getJobContent()); |
| | | } |
| | | Page<EmpWorkExperience> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | return this.page(page, queryWrapper); |
| | | |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts()); |
| | | return this.empWorkexperienceMapper.selectPageVo(page, queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importEmpWorkExperience(List<List<Object>> listObject) { |
| | | public void importEmpWorkExperience(List<List<Object>> listObject,List<String> returnList) { |
| | | for (List<Object> list : listObject) { |
| | | if (list.size()==0){ |
| | | continue; |
| | | } |
| | | Long empId = empBaseInfoService.getEmpIdByEmpNumb(list.get(0).toString()); |
| | | if (null == empId){ |
| | | returnList.add(StrUtil.format("导入失业金领取表异常: 出现位置第{}行, 原因:{}员工编号不存在",listObject.indexOf(list)+1,list.get(0).toString())); |
| | | continue; |
| | | } |
| | | List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class); |
| | | Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().orElse(null); |
| | | if (null == dept) { |
| | | returnList.add(StrUtil.format("导入失业金领取表异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list)+1,list.get(1).toString())); |
| | | continue; |
| | | } |
| | | EmpWorkExperience workExperience = new EmpWorkExperience(); |
| | | workExperience.setDeptName(list.get(1).toString()); |
| | | workExperience.setDeptId(dept.getDeptId()); |
| | | workExperience.setWorkExperienceId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | workExperience.setEmpNumb(list.get(0).toString()); |
| | | workExperience.setEmpName(list.get(1).toString()); |
| | |
| | | workExperience.setBeginDate(DateUtil.parseDate(list.get(5).toString())); |
| | | } |
| | | if (StringUtils.isNotBlank(list.get(6).toString())) { |
| | | workExperience.setBeginDate(DateUtil.parseDate(list.get(6).toString())); |
| | | workExperience.setEndDate(DateUtil.parseDate(list.get(6).toString())); |
| | | } |
| | | workExperience.setJobContent(list.get(7).toString()); |
| | | workExperience.setCreator(FebsUtil.getUserId()); |
| | | workExperience.setModifier(FebsUtil.getUserId()); |
| | | workExperience.setDelFlag(2); |
| | | this.save(workExperience); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.core.entity.constant.StringConstant; |
| | | import cc.mrbird.febs.common.core.entity.system.Dept; |
| | | import cc.mrbird.febs.common.core.utils.FebsUtil; |
| | | import cc.mrbird.febs.server.system.annotation.ControllerEndpoint; |
| | | import cc.mrbird.febs.server.system.service.IDeptService; |
| | | import cc.mrbird.febs.server.system.service.IUserDataPermissionService; |
| | | |
| | | import com.wuwenze.poi.ExcelKit; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | import javax.validation.constraints.NotBlank; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Optional; |
| | | |
| | | /** |
| | | * @author MrBird |
| | |
| | | public class DeptController { |
| | | |
| | | private final IDeptService deptService; |
| | | private final IUserDataPermissionService userDataPermissionService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | | |
| | | @GetMapping("all") |
| | | public FebsResponse getAllEmpBaseInfos(Dept dept) { |
| | |
| | | public void setDeptToRedis(){ |
| | | deptService.setDeptRedis(); |
| | | } |
| | | |
| | | @GetMapping("userRightDepts") |
| | | public String userRightDepts(){ |
| | | String userRightDepts=userDataPermissionService.findByUserId(FebsUtil.getUserId()); |
| | | log.info("当前用户权限"+userRightDepts); |
| | | return userRightDepts; |
| | | } |
| | | } |
| | |
| | | |
| | | @PostMapping("updateStatus") |
| | | public void updateStatus(@NotBlank(message = "{required}") String certificateNumb) { |
| | | this.userService.updateUserByCertificateNumb(certificateNumb); |
| | | String[] strNumbers = certificateNumb.split(","); |
| | | for (int i = 0,k=strNumbers.length; i < k; i++) { |
| | | this.userService.updateUserByCertificateNumb(strNumbers[i]); |
| | | } |
| | | } |
| | | private static final String XLSX = ".xlsx"; |
| | | @PostMapping("import") |