| | |
| | | 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.EmpBaseInfoMapper; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpContractInfoMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpContractInfoService; |
| | | import cn.hutool.core.date.DateUnit; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | |
| | | private final EmpContractInfoMapper empContractinfoMapper; |
| | | private final IRemoteDeptService remoteDeptService; |
| | | private final IEmpBaseInfoService empBaseInfoService; |
| | | private final EmpBaseInfoMapper empBaseInfoMapper; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | |
| | | empContractinfo.setBeginDate(empContractinfo.getSigningDate()); |
| | | } |
| | | if(StrUtil.isEmpty(empContractinfo.getSex())){ |
| | | EmpBaseInfo empBaseInfo = empBaseInfoService.getById(empContractinfo.getEmpId()); |
| | | QueryWrapper<EmpBaseInfo> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("empNumb", empContractinfo.getEmpNumb()); |
| | | EmpBaseInfo empBaseInfo = empBaseInfoService.getOne(queryWrapper); |
| | | if(ObjectUtil.isNotEmpty(empBaseInfo)){ |
| | | empContractinfo.setSex(empBaseInfo.getSex()); |
| | | } |
| | |
| | | queryWrapper.eq("a.DelFlag", empContractinfo.getDelFlag()); |
| | | queryWrapper.eq("a.remindFlag", 0); |
| | | queryWrapper.in("a.contractStatus", contractStatus); |
| | | queryWrapper.between("a.diffDay", 0, diffDay); |
| | | queryWrapper.le("a.diffDay", diffDay); |
| | | queryWrapper.ge("a.endDate", DateUtil.formatDate(new Date())); |
| | | |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA)); |
| | |
| | | //设置不再提醒 |
| | | empContractinfoMapper.updateEmpContractRemind(contractId); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void retireRehireEmpContract(EmpContractInfo empContractinfo) { |
| | | // 1.将原来合同状态为解除 |
| | | empContractinfoMapper.terminateContract(Collections.singletonList(String.valueOf(empContractinfo.getEmpId())), operatorId); |
| | | // 2.创建一份新合同信息 |
| | | empContractinfo.setDelFlag(0); |
| | | this.createEmpContractinfo(empContractinfo); |
| | | // 不再提醒 |
| | | empBaseInfoMapper.updateRetirementReminded(empContractinfo.getEmpId().toString(), "1", operatorId); |
| | | } |
| | | } |