| | |
| | | package cc.mrbird.febs.server.hr.service.impl; |
| | | |
| | | import cc.mrbird.febs.common.core.constant.DicCode; |
| | | import cc.mrbird.febs.common.core.constant.ModuleCode; |
| | | import cc.mrbird.febs.common.core.entity.constant.FebsConstant; |
| | | import cc.mrbird.febs.common.core.entity.system.DicItem; |
| | | import cc.mrbird.febs.common.core.utils.CastUtil; |
| | | import cc.mrbird.febs.common.core.utils.SortUtil; |
| | | import cc.mrbird.febs.common.redis.service.RedisService; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.entity.EmpJobChange; |
| | | 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.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 EmpJobChangeServiceImpl extends ServiceImpl<EmpJobChangeMapper, EmpJobChange> implements IEmpJobChangeService { |
| | | |
| | | private final EmpJobChangeMapper empJobchangeMapper; |
| | | private final IRemoteDeptService remoteDeptService; |
| | | private final RedisService redisService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | | |
| | | @Override |
| | | public IPage<EmpJobChange> findEmpJobChanges(QueryRequest request, EmpJobChange empJobchange) { |
| | | LambdaQueryWrapper<EmpJobChange> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(EmpJobChange::getDelFlag, 0); |
| | | // if (StringUtils.isNotBlank(empJobchange.getEmpNumb())) { |
| | | // queryWrapper.like(EmpJobChange::getEmpNumb, empJobchange.getEmpNumb()); |
| | | // } |
| | | if (StringUtils.isNotBlank(empJobchange.getEmpName())) { |
| | | queryWrapper.like(EmpJobChange::getEmpName, empJobchange.getEmpName()); |
| | | public IPage<Map<String,Object>> findEmpJobChanges(QueryRequest request, EmpJobChange empJobchange) { |
| | | QueryWrapper<EmpJobChange> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("a.delFlag", 0); |
| | | if (StringUtils.isNotBlank(empJobchange.getEmpNumb())) { |
| | | queryWrapper.like("b.empNumb", empJobchange.getEmpNumb()); |
| | | } |
| | | // if (StringUtils.isNotBlank(empJobchange.getCertificateNumb())) { |
| | | // queryWrapper.like(EmpJobChange::getCertificateNumb, empJobchange.getCertificateNumb()); |
| | | // } |
| | | // if (StringUtils.isNotBlank(empJobchange.getDeptName())) { |
| | | // queryWrapper.like(EmpJobChange::getDeptName, empJobchange.getDeptName()); |
| | | // } |
| | | if (StringUtils.isNotBlank(empJobchange.getEmpName())) { |
| | | queryWrapper.like("a.empName", empJobchange.getEmpName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empJobchange.getCertificateNumb())) { |
| | | queryWrapper.like("b.certificateNumb", empJobchange.getCertificateNumb()); |
| | | } |
| | | if (StringUtils.isNotBlank(empJobchange.getDeptName())) { |
| | | queryWrapper.like("a.newDeptName", empJobchange.getDeptName()); |
| | | } |
| | | if (StringUtils.isNotBlank(empJobchange.getChangeDateStr())) { |
| | | queryWrapper.between(EmpJobChange::getChangeDate, empJobchange.getChangeDateStr().split(",")[0], empJobchange.getChangeDateStr().split(",")[1]); |
| | | queryWrapper.between("a.changeDate", empJobchange.getChangeDateStr().split(",")[0], empJobchange.getChangeDateStr().split(",")[1]); |
| | | } |
| | | if (StringUtils.isNotBlank(empJobchange.getChangeType())) { |
| | | queryWrapper.eq(EmpJobChange::getChangeType, empJobchange.getChangeType()); |
| | | queryWrapper.eq("a.changeType", empJobchange.getChangeType()); |
| | | } |
| | | if (StringUtils.isNotBlank(empJobchange.getEmpStatus())) { |
| | | queryWrapper.in("b.EmpStatus", empJobchange.getEmpStatus().split(",")); |
| | | } |
| | | Page<EmpJobChange> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | return this.page(page, queryWrapper); |
| | | SortUtil.handlePageSort(request, page, "changeDate", FebsConstant.ORDER_ASC, true); |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA)); |
| | | IPage<Map<String,Object>> iPage = this.baseMapper.selectPageVo(page, queryWrapper); |
| | | List<Map<String,Object>> list =iPage.getRecords(); |
| | | List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class); |
| | | list.forEach(p->{ |
| | | String jobChangeTypeName = dicItems.stream() |
| | | .filter(k -> DicCode.JOB_CHANGE_TYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.get("changeType"))) |
| | | .findFirst() |
| | | .map(DicItem::getDicItemName) |
| | | .orElse("未知"); |
| | | p.put("changeTypeName", jobChangeTypeName); |
| | | }); |
| | | iPage.setRecords(list); |
| | | return iPage; |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | List<String> list = new ArrayList<>(Arrays.asList(str)); |
| | | empJobchangeMapper.logicDeleteByIds(list, operatorId); |
| | | } |
| | | } |
| | | } |