yijiusmile
2021-03-17 925e4fede2cfd37fa5526bf942f9264bde6d7bcb
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java
@@ -1,23 +1,26 @@
package cc.mrbird.febs.server.hr.service.impl;
import cc.mrbird.febs.common.core.constant.ModuleCode;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import cc.mrbird.febs.common.core.entity.constant.FebsConstant;
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.common.core.utils.SortUtil;
import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
import cc.mrbird.febs.server.hr.feign.IRemoteDeptService;
import cc.mrbird.febs.server.hr.mapper.EmpDimissionLogMapper;
import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService;
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.utils.FebsUtil;
import cc.mrbird.febs.common.core.utils.SequenceUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
@@ -36,26 +39,34 @@
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<Map<String, Object>> findEmpDimissionLogs(QueryRequest request, EmpDimissionLog empDimissionlog) {
        LambdaQueryWrapper<EmpDimissionLog> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EmpDimissionLog::getDelFlag, 0);
        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());
        }
        if (null!=empDimissionlog.getEmpId()&&!empDimissionlog.getEmpId().equals(0L)) {
            queryWrapper.eq("a.empId", empDimissionlog.getEmpId());
        }
        if (StringUtils.isNotBlank(empDimissionlog.getEmpStatus())) {
            queryWrapper.in("b.EmpStatus", empDimissionlog.getEmpStatus().split(","));
        }
        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);
    }