luoyb
2021-02-20 d0295276c2161f6e4d0b43c5f55e256952116992
feat(信息录入): 体检信息

1.增加了体检类型和心电图状态字典项
2.返回数据增加了体检类型名称和心电图状态名称
3个文件已修改
252 ■■■■■ 已修改文件
febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/constant/DicCode.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpPhysicalExam.java 212 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpPhysicalExamServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/constant/DicCode.java
@@ -33,4 +33,15 @@
     * 籍贯
     */
    public final static String NATIVEPLACE = "NATIVEPLACE";
    /**
     * 体检类型
     */
    public final static String PHYSICALEXAMTYPE = "PHYSICALEXAMTYPE";
    /**
     * 心电图结果
     */
    public final static String ECG = "ECG";
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpPhysicalExam.java
@@ -2,6 +2,7 @@
import java.io.Serializable;
import java.util.Date;
import cc.mrbird.febs.common.core.annotation.FieldInfo;
import cc.mrbird.febs.common.core.utils.DateDeSerializer;
import cc.mrbird.febs.common.core.utils.DateSerializer;
@@ -17,134 +18,141 @@
import org.springframework.format.annotation.DateTimeFormat;
/**
*
* name:EmpPhysicalExam
* package:cc.mrbird.febs.server.hr.controller
* description:员工体检信息数据表映射实体
*
* @author luoyibo
* @date 2021-01-31 09:11:00
* @since JDK1.8
*/
 * name:EmpPhysicalExam
 * package:cc.mrbird.febs.server.hr.controller
 * description:员工体检信息数据表映射实体
 *
 * @author luoyibo
 * @date 2021-01-31 09:11:00
 * @since JDK1.8
 */
@Data
@TableName("t_emp_physicalexam")
public class EmpPhysicalExam implements Serializable{
public class EmpPhysicalExam implements Serializable {
            @FieldInfo(name = "physicalExamId",type = "bigint",explain = "体检Id")
            @TableId(value = "physicalExamId")
            private Long physicalExamId=0L;
    @FieldInfo(name = "physicalExamId", type = "bigint", explain = "体检Id")
    @TableId(value = "physicalExamId")
    private Long physicalExamId = 0L;
            @FieldInfo(name = "empId",type = "bigint",explain = "员工Id")
            @TableField("empId")
            private Long empId=0L;
    @FieldInfo(name = "empId", type = "bigint", explain = "员工Id")
    @TableField("empId")
    private Long empId = 0L;
            @FieldInfo(name = "empNumb",type = "varchar",explain = "员工编号")
            @TableField("empNumb")
            private String empNumb="";
    @FieldInfo(name = "empNumb", type = "varchar", explain = "员工编号")
    @TableField("empNumb")
    private String empNumb = "";
            @FieldInfo(name = "empName",type = "varchar",explain = "员工姓名")
            @TableField("empName")
            private String empName="";
            @FieldInfo(name = "empStatus", type = "varchar", explain = "员工状态")
            @TableField("empStatus")
            private String empStatus = "";
    @FieldInfo(name = "empName", type = "varchar", explain = "员工姓名")
    @TableField("empName")
    private String empName = "";
            @FieldInfo(name = "certificateNumb",type = "varchar",explain = "证件号码")
            @TableField("certificateNumb")
            private String certificateNumb="";
    @FieldInfo(name = "empStatus", type = "varchar", explain = "员工状态")
    @TableField("empStatus")
    private String empStatus = "";
            @FieldInfo(name = "sex",type = "varchar",explain = "性别码")
            @TableField("sex")
            private String sex="";
    @FieldInfo(name = "certificateNumb", type = "varchar", explain = "证件号码")
    @TableField("certificateNumb")
    private String certificateNumb = "";
            @FieldInfo(name = "deptId",type = "bigint",explain = "部门Id")
            @TableField("deptId")
            private Long deptId=0L;
    @FieldInfo(name = "sex", type = "varchar", explain = "性别码")
    @TableField("sex")
    private String sex = "";
            @FieldInfo(name = "deptName",type = "varchar",explain = "部门名称")
            @TableField("deptName")
            private String deptName="";
    @FieldInfo(name = "deptId", type = "bigint", explain = "部门Id")
    @TableField("deptId")
    private Long deptId = 0L;
            @FieldInfo(name = "JobId",type = "bigint",explain = "岗位Id")
            @TableField("JobId")
            private Long jobId=0L;
    @FieldInfo(name = "deptName", type = "varchar", explain = "部门名称")
    @TableField("deptName")
    private String deptName = "";
            @FieldInfo(name = "jobName",type = "varchar",explain = "岗位名称")
            @TableField("jobName")
            private String jobName="";
    @FieldInfo(name = "JobId", type = "bigint", explain = "岗位Id")
    @TableField("JobId")
    private Long jobId = 0L;
            @FieldInfo(name = "hospital",type = "varchar",explain = "体检医院")
            @TableField("hospital")
            private String hospital="";
    @FieldInfo(name = "jobName", type = "varchar", explain = "岗位名称")
    @TableField("jobName")
    private String jobName = "";
            @FieldInfo(name = "physicalExamDate",type = "date",explain = "体检日期")
            @TableField("physicalExamDate")
            @JsonSerialize(using = DateSerializer.class)
            @JsonDeserialize(using = DateDeSerializer.class)
            @DateTimeFormat(pattern="yyyy-MM-dd")
            private Date physicalExamDate;
    @FieldInfo(name = "hospital", type = "varchar", explain = "体检医院")
    @TableField("hospital")
    private String hospital = "";
            @FieldInfo(name = "physicalExamType",type = "varchar",explain = "体检类型")
            @TableField("physicalExamType")
            private String physicalExamType="";
    @FieldInfo(name = "physicalExamDate", type = "date", explain = "体检日期")
    @TableField("physicalExamDate")
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeSerializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date physicalExamDate;
            @FieldInfo(name = "bloodPressure",type = "varchar",explain = "血压")
            @TableField("bloodPressure")
            private String bloodPressure="";
    @FieldInfo(name = "physicalExamType", type = "varchar", explain = "体检类型")
    @TableField("physicalExamType")
    private String physicalExamType = "";
            @FieldInfo(name = "transaminase",type = "varchar",explain = "转氨酶")
            @TableField("transaminase")
            private String transaminase="";
    @FieldInfo(name = "bloodPressure", type = "varchar", explain = "血压")
    @TableField("bloodPressure")
    private String bloodPressure = "";
            @FieldInfo(name = "ecg",type = "varchar",explain = "心电图")
            @TableField("ecg")
            private String ecg="";
    @FieldInfo(name = "transaminase", type = "varchar", explain = "转氨酶")
    @TableField("transaminase")
    private String transaminase = "";
            @FieldInfo(name = "conclusion",type = "varchar",explain = "体检结论")
            @TableField("conclusion")
            private String conclusion="";
    @FieldInfo(name = "ecg", type = "varchar", explain = "心电图")
    @TableField("ecg")
    private String ecg = "";
            @FieldInfo(name = "reviewRecord",type = "varchar",explain = "复查记录")
            @TableField("reviewRecord")
            private String reviewRecord="";
    @FieldInfo(name = "conclusion", type = "varchar", explain = "体检结论")
    @TableField("conclusion")
    private String conclusion = "";
            @FieldInfo(name = "remark",type = "varchar",explain = "备注")
            @TableField("remark")
            private String remark="";
    @FieldInfo(name = "reviewRecord", type = "varchar", explain = "复查记录")
    @TableField("reviewRecord")
    private String reviewRecord = "";
            @FieldInfo(name = "createTime",type = "datetime",explain = "记录创建时间")
            @TableField("createTime")
            @JsonSerialize(using = DateTimeSerializer.class)
            @JsonDeserialize(using = DateTimeDeserializer.class)
            @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
            private Date createTime;
    @FieldInfo(name = "remark", type = "varchar", explain = "备注")
    @TableField("remark")
    private String remark = "";
            @FieldInfo(name = "creator",type = "varchar",explain = "记录创建人")
            @TableField("creator")
            private String creator="";
    @FieldInfo(name = "createTime", type = "datetime", explain = "记录创建时间")
    @TableField("createTime")
    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
            @FieldInfo(name = "modifyTime",type = "datetime",explain = "记录最后更新时间")
            @TableField("modifyTime")
            @JsonSerialize(using = DateTimeSerializer.class)
            @JsonDeserialize(using = DateTimeDeserializer.class)
            @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
            private Date modifyTime;
    @FieldInfo(name = "creator", type = "varchar", explain = "记录创建人")
    @TableField("creator")
    private String creator = "";
            @FieldInfo(name = "modifier",type = "varchar",explain = "记录最后更新人")
            @TableField("modifier")
            private String modifier="";
    @FieldInfo(name = "modifyTime", type = "datetime", explain = "记录最后更新时间")
    @TableField("modifyTime")
    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;
            @FieldInfo(name = "delFlag",type = "bit",explain = "记录删除标志。0-未删除 1-已删除,默认0")
            @TableField("delFlag")
            private Integer delFlag=0;
    @FieldInfo(name = "modifier", type = "varchar", explain = "记录最后更新人")
    @TableField("modifier")
    private String modifier = "";
            @FieldInfo(name = "version",type = "int",explain = "记录版本号,用来进行乐观锁控制")
            @TableField("version")
            @Version
            private Integer version=0;
            @TableField(exist = false)
            private String physicalExamDateStr= "";
    @FieldInfo(name = "delFlag", type = "bit", explain = "记录删除标志。0-未删除 1-已删除,默认0")
    @TableField("delFlag")
    private Integer delFlag = 0;
    @FieldInfo(name = "version", type = "int", explain = "记录版本号,用来进行乐观锁控制")
    @TableField("version")
    @Version
    private Integer version = 0;
    @TableField(exist = false)
    private String physicalExamDateStr = "";
    @FieldInfo(name = "physicalExamTypeName", type = "varchar", explain = "体检类型")
    @TableField(exist = false)
    private String physicalExamTypeName = "";
    @FieldInfo(name = "ecgName", type = "varchar", explain = "心电图")
    @TableField(exist = false)
    private String ecgName = "";
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpPhysicalExamServiceImpl.java
@@ -6,6 +6,11 @@
import java.util.List;
import java.util.Optional;
import cc.mrbird.febs.common.core.constant.DicCode;
import cc.mrbird.febs.common.core.entity.system.DicItem;
import cc.mrbird.febs.common.core.utils.CastUtil;
import cc.mrbird.febs.common.redis.service.RedisService;
import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@@ -39,6 +44,7 @@
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
class EmpPhysicalExamServiceImpl extends ServiceImpl<EmpPhysicalExamMapper, EmpPhysicalExam> implements IEmpPhysicalExamService {
    private final RedisService redisService;
    private final EmpPhysicalExamMapper empPhysicalexamMapper;
    private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
            .map(u -> u.getUserId().toString())
@@ -61,7 +67,7 @@
            queryWrapper.like(EmpPhysicalExam::getDeptName, empPhysicalexam.getDeptName());
        }
        if (StringUtils.isNotBlank(empPhysicalexam.getPhysicalExamDateStr())) {
            queryWrapper.between(EmpPhysicalExam::getPhysicalExamDate, empPhysicalexam.getPhysicalExamDateStr().split(",")[0],  empPhysicalexam.getPhysicalExamDateStr().split(",")[1]);
            queryWrapper.between(EmpPhysicalExam::getPhysicalExamDate, empPhysicalexam.getPhysicalExamDateStr().split(",")[0], empPhysicalexam.getPhysicalExamDateStr().split(",")[1]);
        }
        if (StringUtils.isNotBlank(empPhysicalexam.getPhysicalExamType())) {
            queryWrapper.eq(EmpPhysicalExam::getPhysicalExamType, empPhysicalexam.getPhysicalExamType());
@@ -76,7 +82,24 @@
            queryWrapper.eq(EmpPhysicalExam::getEmpStatus, empPhysicalexam.getEmpStatus());
        }
        Page<EmpPhysicalExam> page = new Page<>(request.getPageNum(), request.getPageSize());
        return this.page(page, queryWrapper);
        IPage<EmpPhysicalExam> iPage = this.page(page, queryWrapper);
        List<EmpPhysicalExam> list = iPage.getRecords();
        //设置字典数据
        List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
        list.forEach(p -> {
            p.setPhysicalExamTypeName(dicItems.stream()
                    .filter(k -> DicCode.PHYSICALEXAMTYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getPhysicalExamType()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("普通体检"));
            p.setEcgName(dicItems.stream()
                    .filter(k -> DicCode.ECG.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getPhysicalExamType()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("正常"));
        });
        iPage.setRecords(list);
        return iPage;
    }
    @Override
@@ -136,6 +159,6 @@
    public boolean momentToNormal(String ids) {
        String[] str = ids.split(",");
        List<String> list = new ArrayList<>(Arrays.asList(str));
        return empPhysicalexamMapper.momentToNormal(list, operatorId)>0;
        return empPhysicalexamMapper.momentToNormal(list, operatorId) > 0;
    }
}