| | |
| | | package cc.mrbird.febs.server.hr.service.impl; |
| | | |
| | | import cc.mrbird.febs.common.core.constant.ModuleCode; |
| | | import cc.mrbird.febs.common.core.entity.constant.FebsConstant; |
| | | import cc.mrbird.febs.common.core.utils.SortUtil; |
| | | 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); |
| | | if (StringUtils.isNotBlank(empDimissionlog.getEmpStatus())) { |
| | | queryWrapper.in("b.EmpStatus", empDimissionlog.getEmpStatus().split(",")); |
| | | } else { |
| | | queryWrapper.in("b.EmpStatus", 0); |
| | | } |
| | | Page<Map<String, Object>> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | SortUtil.handlePageSort(request, page, "createTime", FebsConstant.ORDER_DESC, true); |
| | | 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); |
| | | } |
| | | } |
| | | } |