| | |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | import cc.mrbird.febs.common.core.exception.FebsException; |
| | | import cc.mrbird.febs.server.hr.constant.MyConstant; |
| | | import cc.mrbird.febs.server.hr.entity.EmpAccidentCases; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cn.hutool.core.util.StrUtil; |
| | |
| | | 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.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.EmpOccupational; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; |
| | | import cc.mrbird.febs.server.hr.mapper.EmpOccupationalMapper; |
| | | import cc.mrbird.febs.server.hr.service.IEmpOccupationalService; |
| | | import cn.hutool.core.date.DateUtil; |
| | |
| | | private final RedisService redisService; |
| | | private final EmpOccupationalMapper empOccupationalMapper; |
| | | 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<EmpOccupational> findEmpOccupationals(QueryRequest request, EmpOccupational empOccupational) { |
| | | LambdaQueryWrapper<EmpOccupational> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(EmpOccupational::getDelFlag, empOccupational.getDelFlag()); |
| | | QueryWrapper<EmpOccupational> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("a.DelFlag", empOccupational.getDelFlag()); |
| | | if (StringUtils.isNotBlank(empOccupational.getEmpNumb())) { |
| | | queryWrapper.like(EmpOccupational::getEmpNumb, empOccupational.getEmpNumb()); |
| | | queryWrapper.like("a.EmpNumb", empOccupational.getEmpNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empOccupational.getEmpName())) { |
| | | queryWrapper.like(EmpOccupational::getEmpName, empOccupational.getEmpName()); |
| | | queryWrapper.like("a.EmpName", empOccupational.getEmpName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empOccupational.getCertificateNumb())) { |
| | | queryWrapper.like(EmpOccupational::getCertificateNumb, empOccupational.getCertificateNumb()); |
| | | queryWrapper.like("a.CertificateNumb", empOccupational.getCertificateNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empOccupational.getDeptName())) { |
| | | queryWrapper.like(EmpOccupational::getDeptName, empOccupational.getDeptName()); |
| | | queryWrapper.like("a.DeptName", empOccupational.getDeptName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empOccupational.getInjuredTimeStr())) { |
| | | queryWrapper.between(EmpOccupational::getInjuredTime, empOccupational.getInjuredTimeStr().split(",")[0], |
| | | queryWrapper.between("a.InjuredTime", empOccupational.getInjuredTimeStr().split(",")[0], |
| | | empOccupational.getInjuredTimeStr().split(",")[1]); |
| | | } |
| | | if (StringUtils.isNotBlank(empOccupational.getHrDoDateStr())) { |
| | | queryWrapper.between(EmpOccupational::getHrDoDate, empOccupational.getHrDoDateStr().split(",")[0], |
| | | queryWrapper.between("a.HrDoDate", empOccupational.getHrDoDateStr().split(",")[0], |
| | | empOccupational.getHrDoDateStr().split(",")[1]); |
| | | } |
| | | if (empOccupational.getHospitalizatioFlag() != null && empOccupational.getHospitalizatioFlag() != 0) { |
| | | queryWrapper.eq(EmpOccupational::getHospitalizatioFlag, empOccupational.getHospitalizatioFlag()); |
| | | queryWrapper.eq("a.HospitalizatioFlag", empOccupational.getHospitalizatioFlag()); |
| | | } |
| | | if (empOccupational.getSettleStatus() != null && empOccupational.getSettleStatus() != 0) { |
| | | queryWrapper.eq(EmpOccupational::getSettleStatus, empOccupational.getSettleStatus()); |
| | | queryWrapper.eq("a.SettleStatus", empOccupational.getSettleStatus()); |
| | | } |
| | | if (StringUtils.isNotBlank(empOccupational.getEmpStatus())) { |
| | | queryWrapper.eq(EmpOccupational::getEmpStatus, empOccupational.getEmpStatus()); |
| | | queryWrapper.eq("a.EmpStatus", empOccupational.getEmpStatus()); |
| | | } |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA)); |
| | | Page<EmpOccupational> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | return this.page(page, queryWrapper); |
| | | return empOccupationalMapper.selectPageVo(page, queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void createEmpOccupational(EmpOccupational empOccupational) { |
| | | public void createEmpOccupational(EmpOccupational empOccupational) throws FebsException { |
| | | LambdaQueryWrapper<EmpOccupational> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | lambdaQueryWrapper.eq(EmpOccupational::getEmpId, empOccupational.getEmpId()); |
| | | lambdaQueryWrapper.eq(EmpOccupational::getInjuredTime, empOccupational.getInjuredTime()); |
| | | lambdaQueryWrapper.ne(EmpOccupational::getDelFlag,1); |
| | | if (this.count(lambdaQueryWrapper) > 0) { |
| | | throw new FebsException(MyConstant.MESSAGE); |
| | | } |
| | | |
| | | empOccupational.setOccupationalId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | if(empOccupational.getSubmitTime()==null){ |
| | | empOccupational.setSubmitTime(empOccupational.getInjuredTime()); |