孔祥富
2021-04-01 63c7e9d7051ed6742eb7334346a53376b0247c29
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java
@@ -1,20 +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.feign.IRemoteDeptService;
import cc.mrbird.febs.server.hr.mapper.EmpDimissionLogMapper;
import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService;
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.*;
@@ -33,16 +39,35 @@
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);
        Page<EmpDimissionLog> page = new Page<>(request.getPageNum(), request.getPageSize());
        return this.page(page, queryWrapper);
    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("a.entryDate", empDimissionlog.getEntryDateStr().split(",")[0],  empDimissionlog.getEntryDateStr().split(",")[1]);
        }
        if (StringUtils.isNotBlank(empDimissionlog.getDimissionDateStr())) {
           queryWrapper.between("a.dimissionDate", empDimissionlog.getDimissionDateStr().split(",")[0],  empDimissionlog.getDimissionDateStr().split(",")[1]);
        }
        if (StringUtils.isNotBlank(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);
    }
    @Override
@@ -97,4 +122,4 @@
        List<String> list = new ArrayList<>(Arrays.asList(str));
        empDimissionlogMapper.logicDeleteByIds(list, operatorId);
    }
}
}