luoyb
2021-02-26 a72d1a009bc4068e1ba2890a9730223b9528c2f2
Merge branch 'lybfixbug'
7个文件已修改
400 ■■■■ 已修改文件
febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/constant/DicCode.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpLaborTrouble.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpLeaveInfo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java 284 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLaborTroubleServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLeaveInfoServiceImpl.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/constant/DicCode.java
@@ -57,4 +57,14 @@
     * 保险类型
     */
    public final static String INSURANCETYPE = "INSURANCETYPE";
    /**
     * 请假类型
     */
    public final static String LEAVETYPE = "LEAVETYPE";
    /**
     * 仲裁类型
     */
    public final static String ARBITRATIONTYPE = "ARBITRATIONTYPE";
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpLaborTrouble.java
@@ -101,6 +101,10 @@
    @ExcelField(value = "仲裁类型", writeConverterExp = "01=未报告,02=民事纠纷,03=合同纠纷")
    private String arbitrationType = "";
    @FieldInfo(name = "arbitrationTypeName", type = "varchar", explain = "仲裁类型")
    @TableField(exist = false)
    private String arbitrationTypeName = "";
    @FieldInfo(name = "arbitrationReason", type = "varchar", explain = "仲裁事由")
    @TableField("arbitrationReason")
    @ExcelField(value = "仲裁事由")
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpLeaveInfo.java
@@ -110,6 +110,11 @@
    @ExcelField(value = "请假类型", writeConverterExp = "1=事假,2=病假")
    private String leaveType = "";
    @FieldInfo(name = "leaveTypeName", type = "varchar", explain = "请假类型")
    @TableField(exist = false)
    private String leaveTypeName = "";
    @FieldInfo(name = "leaveDay", type = "decimal", explain = "请假天数")
    @TableField("leaveDay")
    @ExcelField(value = "请假天数")
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -72,156 +72,13 @@
    @Override
    public IPage<EmpBaseInfo> findEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo) {
        LambdaQueryWrapper<EmpBaseInfo> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EmpBaseInfo::getDelFlag, empBaseInfo.getDelFlag());
        if (StringUtils.isNotBlank(empBaseInfo.getEmpNumb())) {
            queryWrapper.like(EmpBaseInfo::getEmpNumb, empBaseInfo.getEmpNumb());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEmpName())) {
            queryWrapper.like(EmpBaseInfo::getEmpName, empBaseInfo.getEmpName());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getCertificateNumb())) {
            queryWrapper.like(EmpBaseInfo::getCertificateNumb, empBaseInfo.getCertificateNumb());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getDeptName())) {
            queryWrapper.like(EmpBaseInfo::getDeptName, empBaseInfo.getDeptName());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEntryDateStr())) {
            queryWrapper.between(EmpBaseInfo::getEntryDate, empBaseInfo.getEntryDateStr().split(",")[0],  empBaseInfo.getEntryDateStr().split(",")[1]);
        }
        if (StringUtils.isNotBlank(empBaseInfo.getDimissionDateStr())) {
            queryWrapper.between(EmpBaseInfo::getDimissionDate, empBaseInfo.getDimissionDateStr().split(",")[0],  empBaseInfo.getDimissionDateStr().split(",")[1]);
        }
        if (StringUtils.isNotBlank(empBaseInfo.getSex())) {
            queryWrapper.eq(EmpBaseInfo::getSex, empBaseInfo.getSex());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEducation())) {
            queryWrapper.like(EmpBaseInfo::getEducation, empBaseInfo.getEducation());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getPolitics())) {
            queryWrapper.like(EmpBaseInfo::getPolitics, empBaseInfo.getPolitics());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEmpStatus())) {
            queryWrapper.in(EmpBaseInfo::getEmpStatus, empBaseInfo.getEmpStatus());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getAgeStr())) {
            queryWrapper.between(EmpBaseInfo::getAge, empBaseInfo.getAgeStr().split(",")[0],  empBaseInfo.getAgeStr().split(",")[1]);
        }
        if (StringUtils.isNotBlank(empBaseInfo.getArchivesStatus())) {
            queryWrapper.eq(EmpBaseInfo::getArchivesStatus, empBaseInfo.getArchivesStatus());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getInsuranceType())) {
            queryWrapper.eq(EmpBaseInfo::getInsuranceType, empBaseInfo.getInsuranceType());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEmpStatus())) {
            queryWrapper.eq(EmpBaseInfo::getEmpStatus, empBaseInfo.getEmpStatus());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getHandbookStatus())) {
            queryWrapper.eq(EmpBaseInfo::getHandbookStatus, empBaseInfo.getHandbookStatus());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEmpCardStatus())) {
            queryWrapper.eq(EmpBaseInfo::getEmpCardStatus, empBaseInfo.getEmpCardStatus());
        }
        Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<EmpBaseInfo> iPage = this.page(page, queryWrapper);
        //设置部门
        List<EmpBaseInfo> list = setDeptName(iPage.getRecords());
        List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
        list.forEach(p -> {
            p.setSexName("1".equals(p.getSex()) ? "男" : "女");
            p.setEmpTypeName("1".equals(p.getEmpType()) ? "正式工" : "临时工");
            p.setInsuranceTypeName("1".equals(p.getInsuranceType()) ? "(深户)五险一档" : "(非深户)五险一档");
            p.setArchivesStatusName("0".equals(p.getArchivesStatus()) ? "未移交" : "已移交");
            // 设置民族
            p.setNationName(dicItems.stream()
                    .filter(k -> DicCode.NATION.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getNation()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("汉族"));
            // 设置政治面貌
            p.setPoliticsName(dicItems.stream()
                    .filter(k -> DicCode.PLITICAL.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getPolitics()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("群众"));
            // 设置婚姻状况
            p.setMarriageName(dicItems.stream()
                    .filter(k -> DicCode.MARRIAGE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getMarriage()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("未婚"));
            // 设置学历
            p.setEducationName(dicItems.stream()
                    .filter(k -> DicCode.EDUCATION.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getEducation()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("无学历"));
            // 设置籍贯
            p.setNativePlaceName(dicItems.stream()
                    .filter(k -> DicCode.NATIVEPLACE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getNativePlace()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("未知"));
        });
        iPage.setRecords(list);
        return iPage;
        return this.findZsEmpBaseInfos(request, empBaseInfo);
    }
    @Override
    public IPage<EmpBaseInfo> findZsEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo) {
        LambdaQueryWrapper<EmpBaseInfo> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EmpBaseInfo::getDelFlag, empBaseInfo.getDelFlag());
        if (StringUtils.isNotBlank(empBaseInfo.getEmpNumb())) {
            queryWrapper.like(EmpBaseInfo::getEmpNumb, empBaseInfo.getEmpNumb());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEmpName())) {
            queryWrapper.like(EmpBaseInfo::getEmpName, empBaseInfo.getEmpName());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getCertificateNumb())) {
            queryWrapper.like(EmpBaseInfo::getCertificateNumb, empBaseInfo.getCertificateNumb());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getDeptName())) {
            queryWrapper.like(EmpBaseInfo::getDeptName, empBaseInfo.getDeptName());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEntryDateStr())) {
            queryWrapper.between(EmpBaseInfo::getEntryDate, empBaseInfo.getEntryDateStr().split(",")[0],  empBaseInfo.getEntryDateStr().split(",")[1]);
        }
        if (StringUtils.isNotBlank(empBaseInfo.getDimissionDateStr())) {
            queryWrapper.between(EmpBaseInfo::getDimissionDate, empBaseInfo.getDimissionDateStr().split(",")[0],  empBaseInfo.getDimissionDateStr().split(",")[1]);
        }
        if (StringUtils.isNotBlank(empBaseInfo.getSex())) {
            queryWrapper.in(EmpBaseInfo::getSex, empBaseInfo.getSex().split(","));
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEducation())) {
            queryWrapper.in(EmpBaseInfo::getEducation, empBaseInfo.getEducation().split(","));
        }
        if (StringUtils.isNotBlank(empBaseInfo.getPolitics())) {
            queryWrapper.in(EmpBaseInfo::getPolitics, empBaseInfo.getPolitics().split(","));
        }
        if (StringUtils.isNotBlank(empBaseInfo.getAgeStr())) {
            String[] ages = empBaseInfo.getAgeStr().split(",");
            Consumer<LambdaQueryWrapper<EmpBaseInfo>> consumer = new Consumer<LambdaQueryWrapper<EmpBaseInfo>>() {
                @Override
                public void accept(LambdaQueryWrapper<EmpBaseInfo> wrapper) {
                    for (int i = 0; i < ages.length; i++) {
                        String ageBtn = ages[i];
                        wrapper.or().between(EmpBaseInfo::getAge, ageBtn.split("-")[0], ageBtn.split("-")[1]);
                    }
                }
            };
            queryWrapper.and(consumer);
        }
        if (StringUtils.isNotBlank(empBaseInfo.getArchivesStatus())) {
            queryWrapper.in(EmpBaseInfo::getArchivesStatus, empBaseInfo.getArchivesStatus().split(","));
        }
        if (StringUtils.isNotBlank(empBaseInfo.getInsuranceType())) {
            queryWrapper.in(EmpBaseInfo::getInsuranceType, empBaseInfo.getInsuranceType().split(","));
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEmpStatus())) {
            queryWrapper.in(EmpBaseInfo::getEmpStatus, empBaseInfo.getEmpStatus().split(","));
        }
        Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<EmpBaseInfo> iPage = this.page(page, queryWrapper);
        IPage<EmpBaseInfo> iPage = this.page(page, createQueryWrapper(empBaseInfo));
        //设置部门
        List<EmpBaseInfo> list = setDeptName(iPage.getRecords());
        List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
@@ -295,7 +152,8 @@
            String path = properties.getEmpBaseInfoPath()+empBaseInfo.getEmpId()+".png";
            if (  MyUtil.generateImage(empBaseInfo.getImagePath(),path)) {
                empBaseInfo.setImagePath(empBaseInfo.getEmpId()+".png");
            };
            }
            ;
        }
        empBaseInfo.setCreator(operatorId);
        empBaseInfo.setModifier(operatorId);
@@ -394,14 +252,15 @@
        }
        return this.getOne(queryWrapper);
    }
    /**
     *
     * 关闭员工档案
     *
     * <p>
     * date 2021-02-18 12:54
     * @author: luoyibo
     *
     * @param empDimissionLog
     * @return boolean
     * @author: luoyibo
     */
    @Override
    public boolean closeEmpArchives(EmpDimissionLog empDimissionLog) {
@@ -426,14 +285,15 @@
        }
        return empBaseInfoMapper.closeEmpArchives(list, empDimissionLog.getDimissionType(), empDimissionLog.getDimissionDate(), empDimissionLog.getRemark(), operatorId)>0;
    }
    /**
     *
     * 员工岗位变更
     *
     * <p>
     * date 2021-02-18 20:32
     * @author: luoyibo
     *
     * @param empJobChange 1
     * @return boolean
     * @author: luoyibo
     */
    @Override
    public boolean changeEmpJob(EmpJobChange empJobChange) {
@@ -475,6 +335,7 @@
    /**
     * 导入员工
     *
     * @param listObject
     */
    @Override
@@ -550,7 +411,6 @@
            out.write(buff);
        }
    }
    @Override
    public IPage<EmpBaseInfo> baseInfoList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
@@ -874,4 +734,122 @@
        }
        return stringObjectMap;
    }
    /**
     *
     * 检查是否是带条件查询
     *
     * date 2021-02-26 13:49
     * @author: luoyibo
     * @param empBaseInfo 人员参数
     * @return boolean
     */
    private  boolean checkQueryCondition(EmpBaseInfo empBaseInfo){
        int hasCondition = 0;
        if (StringUtils.isNotBlank(empBaseInfo.getEmpNumb())) {
            hasCondition = hasCondition|1;
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEmpName())) {
            hasCondition = hasCondition|1;
        }
        if (StringUtils.isNotBlank(empBaseInfo.getDeptName())) {
            hasCondition = hasCondition|1;
        }
        if (StringUtils.isNotBlank(empBaseInfo.getCertificateNumb())) {
            hasCondition = hasCondition|1;
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEntryDateStr())) {
            hasCondition = hasCondition|1;
        }
        if (StringUtils.isNotBlank(empBaseInfo.getDimissionDateStr())) {
            hasCondition = hasCondition|1;
        }
        if (StringUtils.isNotBlank(empBaseInfo.getSex())) {
            hasCondition = hasCondition|1;
        }
        if (StringUtils.isNotBlank(empBaseInfo.getEducation())) {
            hasCondition = hasCondition|1;
        }
        if (StringUtils.isNotBlank(empBaseInfo.getPolitics())) {
            hasCondition = hasCondition|1;
        }
        if (StringUtils.isNotBlank(empBaseInfo.getAgeStr())) {
            hasCondition = hasCondition|1;
        }
        if (StringUtils.isNotBlank(empBaseInfo.getArchivesStatus())) {
            hasCondition = hasCondition|1;
        }
        if (StringUtils.isNotBlank(empBaseInfo.getInsuranceType())) {
            hasCondition = hasCondition|1;
        }
        return hasCondition==1;
    }
    private LambdaQueryWrapper<EmpBaseInfo> createQueryWrapper(EmpBaseInfo empBaseInfo){
        LambdaQueryWrapper<EmpBaseInfo> queryWrapper = new LambdaQueryWrapper<>();
        //记录的状态,0-正常 1-删除 2-暂存
        if(StringUtils.isNotBlank(empBaseInfo.getDelFlag().toString())) {
            queryWrapper.eq(EmpBaseInfo::getDelFlag, empBaseInfo.getDelFlag());
        } else{
            queryWrapper.eq(EmpBaseInfo::getDelFlag, 0);
        }
        //人员的状态,0-在职 1-离职 2-退休
        if (StringUtils.isNotBlank(empBaseInfo.getEmpStatus())) {
            queryWrapper.in(EmpBaseInfo::getEmpStatus, empBaseInfo.getEmpStatus().split(","));
        } else{
            queryWrapper.in(EmpBaseInfo::getEmpStatus, 0);
        }
        // 下面的条件就是人员的属性条件,条件之间是或的关系
        if(this.checkQueryCondition(empBaseInfo)){
            queryWrapper.and(p -> {
                if (StringUtils.isNotBlank(empBaseInfo.getEmpNumb())) {
                    p.like(EmpBaseInfo::getEmpNumb, empBaseInfo.getEmpNumb());
                }
                if (StringUtils.isNotBlank(empBaseInfo.getEmpName())) {
                    p.or().like(EmpBaseInfo::getEmpName, empBaseInfo.getEmpName());
                }
                if (StringUtils.isNotBlank(empBaseInfo.getDeptName())) {
                    p.or().like(EmpBaseInfo::getDeptName, empBaseInfo.getDeptName());
                }
                if (StringUtils.isNotBlank(empBaseInfo.getCertificateNumb())) {
                    p.or().like(EmpBaseInfo::getCertificateNumb, empBaseInfo.getCertificateNumb());
                }
                if (StringUtils.isNotBlank(empBaseInfo.getEntryDateStr())) {
                    p.or().between(EmpBaseInfo::getEntryDate, empBaseInfo.getEntryDateStr().split(",")[0], empBaseInfo.getEntryDateStr().split(",")[1]);
                }
                if (StringUtils.isNotBlank(empBaseInfo.getDimissionDateStr())) {
                    p.or().between(EmpBaseInfo::getDimissionDate, empBaseInfo.getDimissionDateStr().split(",")[0], empBaseInfo.getDimissionDateStr().split(",")[1]);
                }
                if (StringUtils.isNotBlank(empBaseInfo.getSex())) {
                    p.or().in(EmpBaseInfo::getSex, empBaseInfo.getSex().split(","));
                }
                if (StringUtils.isNotBlank(empBaseInfo.getEducation())) {
                    p.or().in(EmpBaseInfo::getEducation, empBaseInfo.getEducation().split(","));
                }
                if (StringUtils.isNotBlank(empBaseInfo.getPolitics())) {
                    p.or().in(EmpBaseInfo::getPolitics, empBaseInfo.getPolitics().split(","));
                }
                if (StringUtils.isNotBlank(empBaseInfo.getAgeStr())) {
                    String[] ages = empBaseInfo.getAgeStr().split(",");
                    Consumer<LambdaQueryWrapper<EmpBaseInfo>> consumer = new Consumer<LambdaQueryWrapper<EmpBaseInfo>>() {
                        @Override
                        public void accept(LambdaQueryWrapper<EmpBaseInfo> wrapper) {
                            for (int i = 0; i < ages.length; i++) {
                                String ageBtn = ages[i];
                                wrapper.or().between(EmpBaseInfo::getAge, ageBtn.split("-")[0], ageBtn.split("-")[1]);
                            }
                        }
                    };
                    p.or().and(consumer);
                }
                if (StringUtils.isNotBlank(empBaseInfo.getArchivesStatus())) {
                    p.or().in(EmpBaseInfo::getArchivesStatus, empBaseInfo.getArchivesStatus().split(","));
                }
                if (StringUtils.isNotBlank(empBaseInfo.getInsuranceType())) {
                    p.or().in(EmpBaseInfo::getInsuranceType, empBaseInfo.getInsuranceType().split(","));
                }
            });
        }
        return queryWrapper;
    }
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLaborTroubleServiceImpl.java
@@ -1,7 +1,10 @@
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.system.DicItem;
import cc.mrbird.febs.server.hr.entity.EmpLaborTrouble;
import cc.mrbird.febs.server.hr.entity.EmpLeaveInfo;
import cc.mrbird.febs.server.hr.entity.EmpOccupational;
import cc.mrbird.febs.server.hr.entity.EmpLaborTrouble;
import cc.mrbird.febs.server.hr.mapper.EmpLaborTroubleMapper;
@@ -84,14 +87,16 @@
            queryWrapper.like(EmpLaborTrouble::getArbitrationReason, empLabortrouble.getArbitrationReason());
        }
        Page<EmpLaborTrouble> page = new Page<>(request.getPageNum(), request.getPageSize());
        return this.page(page, queryWrapper);
        IPage<EmpLaborTrouble> iPage = this.page(page, queryWrapper);
        iPage.setRecords(this.convertDicItemName(iPage.getRecords()));
        return iPage;
    }
    @Override
    public List<EmpLaborTrouble> findEmpLabortroubles(EmpLaborTrouble empLabortrouble) {
        LambdaQueryWrapper<EmpLaborTrouble> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EmpLaborTrouble::getDelFlag, empLabortrouble.getDelFlag());
        return this.baseMapper.selectList(queryWrapper);
        return this.convertDicItemName(this.baseMapper.selectList(queryWrapper));
    }
    @Override
@@ -181,4 +186,18 @@
            this.save(empLabortrouble);
        }
    }
    private List<EmpLaborTrouble> convertDicItemName(List<EmpLaborTrouble> list){
        List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
        list.forEach(p -> {
            //仲裁类型
            p.setArbitrationTypeName(dicItems.stream()
                    .filter(k -> DicCode.ARBITRATIONTYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getArbitrationType()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("劳资纠纷"));
        });
        return  list;
    }
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLeaveInfoServiceImpl.java
@@ -1,35 +1,30 @@
package cc.mrbird.febs.server.hr.service.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import cc.mrbird.febs.common.core.constant.DicCode;
import cc.mrbird.febs.common.core.constant.ModuleCode;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import cc.mrbird.febs.common.core.entity.system.Dept;
import cc.mrbird.febs.common.core.entity.system.DicItem;
import cc.mrbird.febs.common.core.utils.CastUtil;
import cc.mrbird.febs.common.core.utils.FebsUtil;
import cc.mrbird.febs.common.core.utils.SequenceUtil;
import cc.mrbird.febs.common.redis.service.RedisService;
import cc.mrbird.febs.server.hr.entity.EmpLeaveInfo;
import cc.mrbird.febs.server.hr.mapper.EmpLeaveInfoMapper;
import cc.mrbird.febs.server.hr.service.IEmpLeaveInfoService;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.constant.ModuleCode;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import cc.mrbird.febs.common.core.entity.system.Dept;
import cc.mrbird.febs.common.core.utils.CastUtil;
import cc.mrbird.febs.common.core.utils.FebsUtil;
import cc.mrbird.febs.common.core.utils.SequenceUtil;
import cc.mrbird.febs.common.redis.service.RedisService;
import cc.mrbird.febs.server.hr.entity.EmpDimissionAttend;
import cc.mrbird.febs.server.hr.entity.EmpLeaveInfo;
import cc.mrbird.febs.server.hr.mapper.EmpLeaveInfoMapper;
import cc.mrbird.febs.server.hr.service.IEmpLeaveInfoService;
import cn.hutool.core.date.DateUtil;
import lombok.RequiredArgsConstructor;
import java.math.BigDecimal;
import java.util.*;
/**
 * name:EmpLeaveinfo
@@ -75,7 +70,9 @@
            queryWrapper.le(EmpLeaveInfo::getEndTime, empLeaveinfo.getLeaveDateStr().split(",")[1]);
        }
        Page<EmpLeaveInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
        return this.page(page, queryWrapper);
        IPage<EmpLeaveInfo> iPage = this.page(page, queryWrapper);
        iPage.setRecords(this.convertDicItemName(iPage.getRecords()));
        return iPage;
    }
    @Override
@@ -171,4 +168,27 @@
            this.save(leaveInfo);
        }
    }
    /**
     *
     * 将列表中的字典项转换成字典名称
     *
     * date 2021-02-26 19:37
     * @author: luoyibo
     * @param list 1
     * @return java.util.List<cc.mrbird.febs.server.hr.entity.EmpLeaveInfo>
     */
    private List<EmpLeaveInfo> convertDicItemName(List<EmpLeaveInfo> list){
        List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
        list.forEach(p -> {
            //请假类型
            p.setLeaveTypeName(dicItems.stream()
                    .filter(k -> DicCode.LEAVETYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getLeaveType()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("事假"));
        });
        return  list;
    }
}
febs-server/febs-server-hr/src/main/resources/bootstrap.yml
@@ -6,7 +6,7 @@
      config:
        server-addr: ${nacos.url}:8848
        group: DEFAULT_GROUP
        prefix: febs-server-hr
        prefix: febs-server-Hr
        file-extension: yaml
      discovery:
        server-addr: ${nacos.url}:8848