luoyb
2021-02-02 ca1bfe0c8a41cce648828b31a25549bbb1c8fa96
feat(系统和人力微服务): 数据字典和缓存

1.cc.mrbird.febs.common.core.entity.system增加了数据字典和字典项实体类定义
2.系统管理微服务增加了对数据字典和字典项的管理
3.系统管理微服务启动时将字典项写入redis缓存
4.人力资源微服务引用缓存,将记录的数据字典代码转换成名称(已完成民族字典项)
2个文件已添加
8个文件已修改
187 ■■■■ 已修改文件
febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/CastUtil.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/pom.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpAccidentCases.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpOccupational.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpLaborTroubleMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-system/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/runner/StartTask.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/runner/StartedUpRunner.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/CastUtil.java
New file
@@ -0,0 +1,61 @@
package cc.mrbird.febs.common.core.utils;
import org.apache.poi.ss.formula.functions.T;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/**
 * name: CastUtil
 * package: cc.mrbird.febs.common.core.utils
 * description: 类型转换处理工具类
 * date: 2021-02-02 14:02
 *
 * @author luoyibo
 * @version 0.1
 * @since JDK 1.8
 */
public class CastUtil {
    /**
     * 将对象转换成List
     * <p>
     * date 2021-01-15 23:59
     *
     * @param obj   待转换对象
     * @param clazz 转换类型
     * @return java.util.List<T>
     * @author: luoyibo
     */
    public static <T> List<T> castList(Object obj, Class<T> clazz) {
        List<T> result = new ArrayList<T>();
        if (obj instanceof List<?>) {
            for (Object o : (List<?>) obj) {
                result.add(clazz.cast(o));
            }
            return result;
        }
        return null;
    }
    /**
     * 将对象转换成LinkedList
     * <p>
     * date 2021-01-23 10:09
     *
     * @param obj   待转换对象
     * @param clazz 转换类型
     * @return java.util.LinkedList<T>
     * @author: luoyibo
     */
    public static <T> LinkedList<T> castLinkedList(Object obj, Class<T> clazz) {
        LinkedList<T> result = new LinkedList<T>();
        if (obj instanceof LinkedList<?>) {
            for (Object o : (LinkedList<?>) obj) {
                result.add(clazz.cast(o));
            }
            return result;
        }
        return null;
    }
}
febs-server/febs-server-hr/pom.xml
@@ -52,7 +52,13 @@
            <groupId>com.codingapi.txlcn</groupId>
            <artifactId>txlcn-txmsg-netty</artifactId>
        </dependency>
    </dependencies>
        <dependency>
            <groupId>cc.mrbird</groupId>
            <artifactId>febs-common-redis-starter</artifactId>
            <version>2.2-RELEASE</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpAccidentCases.java
@@ -74,7 +74,7 @@
    @TableField("jobName")
    private String jobName = "";
    @FieldInfo(name = "injuredTime", type = "datetime", explain = "")
    @FieldInfo(name = "injuredTime", type = "datetime", explain = "受伤时间")
    @TableField("injuredTime")
    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
@@ -89,7 +89,7 @@
    @TableField("injuredPart")
    private String injuredPart = "";
    @FieldInfo(name = "injuredDiacrisis", type = "varchar", explain = "")
    @FieldInfo(name = "injuredDiacrisis", type = "varchar", explain = "意外险诊断")
    @TableField("injuredDiacrisis")
    private String injuredDiacrisis = "";
@@ -120,11 +120,11 @@
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date reprotTime;
    @FieldInfo(name = "submitTime", type = "datetime", explain = "")
    @FieldInfo(name = "submitTime", type = "datetime", explain = "资料提交日期")
    @TableField("submitTime")
    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeSerializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date submitTime;
    @FieldInfo(name = "sbumitBy", type = "varchar", explain = "递交人")
@@ -139,7 +139,7 @@
    @TableField("expenseReport")
    private String expenseReport = "";
    @FieldInfo(name = "innsureFee", type = "decimal", explain = "")
    @FieldInfo(name = "innsureFee", type = "decimal", explain = "保险赔付费用")
    @TableField("innsureFee")
    private BigDecimal innsureFee = BigDecimal.ZERO;
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
@@ -47,7 +47,7 @@
    private Long deptId = 0L;
    @FieldInfo(name = "deptName", type = "varchar", explain = "部门名称")
    @TableField("deptName")
    @TableField(exist = false)
    private String deptName = "";
    @FieldInfo(name = "empNumb", type = "varchar", explain = "员工编号")
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpOccupational.java
@@ -35,7 +35,7 @@
    private static final long serialVersionUID = 5704201515491620531L;
    @FieldInfo(name = "occupationalId", type = "bigint", explain = "案件Id")
    @TableField("occupationalId")
    @TableId("occupationalId")
    private Long occupationalId = 0L;
    @FieldInfo(name = "empId", type = "bigint", explain = "员工Id")
@@ -74,7 +74,7 @@
    @TableField("jobName")
    private String jobName = "";
    @FieldInfo(name = "injuredTime", type = "datetime", explain = "")
    @FieldInfo(name = "injuredTime", type = "datetime", explain = "受伤时间")
    @TableField("injuredTime")
    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
@@ -89,7 +89,7 @@
    @TableField("injuredPart")
    private String injuredPart = "";
    @FieldInfo(name = "injuredDiacrisis", type = "varchar", explain = "")
    @FieldInfo(name = "injuredDiacrisis", type = "varchar", explain = "受伤诊断")
    @TableField("injuredDiacrisis")
    private String injuredDiacrisis = "";
@@ -113,18 +113,18 @@
    @TableField("bedNumb")
    private Integer bedNumb = 0;
    @FieldInfo(name = "reprotTime", type = "date", explain = "报案时间")
    @TableField("reprotTime")
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeSerializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date reprotTime;
    @FieldInfo(name = "submitTime", type = "datetime", explain = "")
    @TableField("submitTime")
    @FieldInfo(name = "reportTime", type = "datetime", explain = "报案时间")
    @TableField("reportTime")
    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reportTime;
    @FieldInfo(name = "submitTime", type = "datetime", explain = "资料递交日期")
    @TableField("submitTime")
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeSerializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date submitTime;
    @FieldInfo(name = "sbumitBy", type = "varchar", explain = "递交人")
@@ -170,7 +170,7 @@
    @TableField("otherCompensated")
    private BigDecimal otherCompensated = BigDecimal.ZERO;
    @FieldInfo(name = "companylDisability", type = "decimal", explain = "")
    @FieldInfo(name = "companylDisability", type = "decimal", explain = "公司一次性伤残补助金")
    @TableField("companylDisability")
    private BigDecimal companylDisability = BigDecimal.ZERO;
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpLaborTroubleMapper.java
@@ -35,7 +35,7 @@
    " version = version+1 \n" +
    " WHERE arbitrationId IN \n" +
    "        <foreach item=\"delId\" collection=\"list\" open=\"(\" close=\")\" separator=\",\">\n" +
    "            \n" +
    "            #{delId} \n" +
    "        </foreach>\n" +
    "</script>")
void logicDeleteByIds(@Param("list") List<String> list,@Param("operatorId") String operatorId);
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -1,20 +1,24 @@
package cc.mrbird.febs.server.hr.service.impl;
import cc.mrbird.febs.common.core.constant.GlobalStatic;
import cc.mrbird.febs.common.core.constant.ModuleCode;
import cc.mrbird.febs.common.core.entity.QueryRequest;
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.EmpBaseInfo;
import cc.mrbird.febs.server.hr.mapper.EmpBaseInfoMapper;
import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService;
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.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.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
@@ -31,7 +35,7 @@
@RequiredArgsConstructor
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
class EmpBaseInfoServiceImpl extends ServiceImpl<EmpBaseInfoMapper, EmpBaseInfo> implements IEmpBaseInfoService {
    private final RedisService redisService;
    private final EmpBaseInfoMapper empBaseInfoMapper;
    private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
            .map(u -> u.getUserId().toString())
@@ -42,7 +46,21 @@
        LambdaQueryWrapper<EmpBaseInfo> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EmpBaseInfo::getDelFlag, 0);
        Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
        return this.page(page, queryWrapper);
        IPage<EmpBaseInfo> iPage = this.page(page, queryWrapper);;
        List<EmpBaseInfo> list = iPage.getRecords();
        List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"),DicItem.class);
        list.forEach(p -> {
            p.setJobName("测试岗位");
            p.setMarriage("未婚");
            // 设置民族
            p.setNation(dicItems.stream()
                    .filter(k -> "nation".equals(k.getDicCode()) && k.getDicItemCode().equals(p.getNation()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("汉族"));
        });
        iPage.setRecords(list);
        return iPage;
    }
    @Override
febs-server/febs-server-system/pom.xml
@@ -52,6 +52,12 @@
            <groupId>com.codingapi.txlcn</groupId>
            <artifactId>txlcn-txmsg-netty</artifactId>
        </dependency>
        <dependency>
            <groupId>cc.mrbird</groupId>
            <artifactId>febs-common-redis-starter</artifactId>
            <version>2.2-RELEASE</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <build>
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/runner/StartTask.java
New file
@@ -0,0 +1,31 @@
package cc.mrbird.febs.server.system.runner;
import cc.mrbird.febs.server.system.service.IDicItemService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
/**
 * name: StartTask
 * package: cc.mrbird.febs.server.system.runner
 * description: 启动初始化任务
 * date: 2021-02-02 13:48
 *
 * @author luoyibo
 * @version 0.1
 * @since JDK 1.8
 */
@Component
@Slf4j
public class StartTask implements CommandLineRunner {
    private final IDicItemService dicItemService;
    public StartTask(IDicItemService dicItemService) {
        this.dicItemService = dicItemService;
    }
    @Override
    public void run(String... args) throws Exception {
        dicItemService.setDicItemRedis();
    }
}
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/runner/StartedUpRunner.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.server.system.runner;
import cc.mrbird.febs.common.core.utils.FebsUtil;
import cc.mrbird.febs.server.system.service.IDicItemService;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;