孔祥富
2021-03-07 14c2d7fc17595c86e7fe70f2d25f93a7d2c0a635
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -74,9 +74,7 @@
    private final EmpContractInfoMapper empContractInfoMapper;
    private final FebsServerHrProperties properties;
    private final IRemoteDeptService remoteDeptService;
    private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
            .map(u -> u.getUserId().toString())
            .orElse("1");
    private final String operatorId = Optional.of(FebsUtil.getUserId()).orElse("1");
    @Override
    public IPage<EmpBaseInfo> findEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo) {
@@ -106,7 +104,7 @@
                    .filter(k -> DicCode.EMPTYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getEmpType()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("汉族"));
                    .orElse("正式工"));
            // 设置民族
            p.setNationName(dicItems.stream()
                    .filter(k -> DicCode.NATION.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getNation()))
@@ -847,6 +845,12 @@
        } else {
            queryWrapper.in("a.EmpStatus", 0);
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEmpCardStatus())) {
            queryWrapper.in("a.empCardStatus", empBaseInfo.getEmpCardStatus().split(","));
        }
        if (StringUtils.isNotBlank(empBaseInfo.getHandbookStatus())) {
            queryWrapper.in("a.handBookStatus", empBaseInfo.getHandbookStatus().split(","));
        }
        // 下面的条件就是人员的属性条件,条件之间是或的关系
        if (this.checkQueryCondition(empBaseInfo)) {
            queryWrapper.and(p -> {
@@ -863,10 +867,10 @@
                    p.or().like("a.CertificateNumb", empBaseInfo.getCertificateNumb());
                }
                if (StringUtils.isNotBlank(empBaseInfo.getEntryDateStr())) {
                    p.or().between("a.EntryDate", empBaseInfo.getEntryDateStr().split(",")[0], empBaseInfo.getEntryDateStr().split(",")[1]);
                    p.between("a.EntryDate", empBaseInfo.getEntryDateStr().split(",")[0], empBaseInfo.getEntryDateStr().split(",")[1]);
                }
                if (StringUtils.isNotBlank(empBaseInfo.getDimissionDateStr())) {
                    p.or().between("a.DimissionDate", empBaseInfo.getDimissionDateStr().split(",")[0], empBaseInfo.getDimissionDateStr().split(",")[1]);
                    p.between("a.DimissionDate", empBaseInfo.getDimissionDateStr().split(",")[0], empBaseInfo.getDimissionDateStr().split(",")[1]);
                }
                if (StringUtils.isNotBlank(empBaseInfo.getSex())) {
                    p.or().in("a.Sex", empBaseInfo.getSex().split(","));
@@ -901,6 +905,9 @@
                if (StringUtils.isNotBlank(empBaseInfo.getEmpCardStatus())) {
                    p.or().in("a.EmpCardStatus", empBaseInfo.getEmpCardStatus().split(","));
                }
                if (StringUtils.isNotBlank(empBaseInfo.getEmpType())) {
                    p.or().in("a.empType", empBaseInfo.getEmpType().split(","));
                }
            });
        }
        queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA));