liusheng
21 小时以前 3d1344ca6f0613bf3726d2c40d35f3928f82a910
代码提交
已添加1个文件
已修改4个文件
106 ■■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/appointment/AppointmentDO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/HisCheckCodeEnum.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/HisCheckNameEnum.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-server/src/main/resources/application-stage.yaml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/appointment/AppointmentDO.java
@@ -45,7 +45,7 @@
     */
    private String episodeId;
    /**
     * æ‚£è€…来源类型  01问诊 02急诊 03体检 04住院
     * æ‚£è€…来源类型  01问诊 02急诊 03住院 04体检
     */
    private Integer patSrc;
    /**
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/HisCheckCodeEnum.java
@@ -9,7 +9,21 @@
@Getter
@AllArgsConstructor
public enum HisCheckCodeEnum {
    Y691133607("691133607", "100"), Y201605("201605", "200"), Y200327("200327", "300"), Y201652("201652", "400"), Y502490914("502490914", "500"), Y419562119("419562119", "600"), Y201604("201604", "700"), Y1202042("1202042", "800"), Y1202058("1202058", "900"), Y1202065("1202065", "1000"), Y559542128("559542128", "1100"), Y590244511("590244511", "1200"), Y666454217("666454217", "1300"), Y720791490("720791490", "1400"), Y720792077("720792077", "1500");
    Y691133607("691133607", "100"),
    Y201605("201605", "200"),
    Y200327("200327", "300"),
    Y201652("201652", "400"),
    Y502490914("502490914", "500"),
    Y419562119("419562119", "600"),
    Y201604("201604", "700"),
    Y1202042("1202042", "800"),
    Y1202058("1202058", "900"),
    Y1202065("1202065", "1000"),
    Y559542128("559542128", "1100"),
    Y590244511("590244511", "1200"),
    Y666454217("666454217", "1300"),
    Y720791490("720791490", "1400"),
    Y720792077("720792077", "1500");
    /**
     * ç±»åž‹
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/HisCheckNameEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package cn.lihu.jh.module.ecg.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
 * His的Check_type类型枚举
 */
@Getter
@AllArgsConstructor
public enum HisCheckNameEnum {
    Y691133607("常规心电图", "100"),
    Y201605("24小时动态心电图", "200"),
    Y201606("24小时动态心电监测", "200"),
    Y200327("动态血压", "300"),
    Y201652("平板运动心电", "400"),
    Y502490914("动脉硬化检测", "500"),
    Y419562119("食道电生理", "600"),
    Y201604("心电图药物负荷试验", "700"),
    Y1202042("频谱心电图", "800"),
    Y1202058("心室晚电位", "900"),
    Y1202065("床边心电图(常规+频谱)", "1000"),
    Y559542128("常规心电图-心电向量图", "1100");
    /**
     * ç±»åž‹
     */
    private final String name;
    /**
     * æè¿°
     */
    private final String value;
    /**
     * æ ¹æ®ç±»åž‹èŽ·å–æžšä¸¾
     *
     * @param type ç±»åž‹
     * @return æžšä¸¾
     */
    public static String getByName(String name) {
        for (HisCheckNameEnum value : values()) {
            if (value.getName().equals(name)) {
                return value.getValue();
            }
        }
        return null;
    }
    /**
     * æ ¹æ®ç±»åž‹èŽ·å–æžšä¸¾
     *
     * @param val å€¼ç±»åž‹
     * @return æžšä¸¾
     */
    public static String getByValue(String val) {
        for (HisCheckNameEnum value : values()) {
            if (value.getValue().equals(val)) {
                return value.getName();
            }
        }
        return null;
    }
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java
@@ -13,6 +13,7 @@
import cn.lihu.jh.module.ecg.dal.mysql.appointment.AppointmentMapper;
import cn.lihu.jh.module.ecg.enums.AppointmentTypeEnum;
import cn.lihu.jh.module.ecg.enums.HisCheckCodeEnum;
import cn.lihu.jh.module.ecg.enums.HisCheckNameEnum;
import cn.lihu.jh.module.ecg.feign.RemoteDataService;
import cn.lihu.jh.module.ecg.service.config.EcgConfigService;
import cn.lihu.jh.module.ecg.service.devrent.ApplicationTemplate;
@@ -466,8 +467,17 @@
            //设置检查类型
//            String checkType = Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("component2")).map(component2 -> (Map<String, Object>) component2.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("code")).map(code -> (String) code.get("code")).orElseThrow(() -> exception(APPOINTMENT_CREATE_FAIL));
            String checkType = Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("component2")).map(component2 -> (Map<String, Object>) component2.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("code")).map(code -> (String) code.get("code")).orElseThrow(() -> exception(APPOINTMENT_CREATE_FAIL));
            if (checkType != null || checkType != "")
                appointment.setBookCheckType(Integer.valueOf(HisCheckCodeEnum.getByCode(checkType.substring(1))));
            String checkName = Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("component2")).map(component2 -> (Map<String, Object>) component2.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("code")).map(code -> (Map<String, Object>) code.get("displayName")).map(displayName -> (String) displayName.get("value")).orElseThrow(() -> exception(APPOINTMENT_CREATE_FAIL));
            if (appointment.getPatSrc() != null && appointment.getPatSrc() != 4) {
                if (checkType != null || checkType != "")
                    appointment.setBookCheckType(Integer.valueOf(HisCheckCodeEnum.getByCode(checkType.substring(1))));
            } else if (appointment.getPatSrc() != null && appointment.getPatSrc() == 4) {
                if (StringUtils.isNotEmpty(checkName)) {
                    checkName = checkName.replaceAll("\\s+", "");
                    appointment.setBookCheckType(Integer.valueOf(HisCheckNameEnum.getByName(checkName)));
                }
            }
            // å°†AppointmentDO转换为AppointmentSaveReqVO并保存
            AppointmentSaveReqVO saveReqVO = BeanUtils.toBean(appointment, AppointmentSaveReqVO.class);
@@ -618,7 +628,12 @@
     * ä»ŽdataMap中提取encounter数据
     */
    private Map<String, Object> extractEncounter(Map<String, Object> dataMap) {
        return Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("componentOf1")).map(componentOf1 -> (Map<String, Object>) componentOf1.get("encounter")).orElse(null);
        return Optional.ofNullable(dataMap.get("controlActProcess"))
                .map(controlActProcess -> (Map<String, Object>) controlActProcess)
                .map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject"))
                .map(subject -> (Map<String, Object>) subject.get("observationRequest"))
                .map(observationRequest -> (Map<String, Object>) observationRequest.get("componentOf1"))
                .map(componentOf1 -> (Map<String, Object>) componentOf1.get("encounter")).orElse(null);
    }
    @Override
jh-server/src/main/resources/application-stage.yaml
@@ -60,7 +60,7 @@
          #          url: jdbc:kingbase8://127.0.0.1:54321/test  # äººå¤§é‡‘仓 KingbaseES è¿žæŽ¥çš„示例
          #          url: jdbc:postgresql://127.0.0.1:5432/postgres # OpenGauss è¿žæŽ¥çš„示例
          username: hxsoft
          password: Hxerp2000
          password: Smartor.2023
          #          username: sa # SQL Server è¿žæŽ¥çš„示例
          #          password: Jh@2024 # SQL Server è¿žæŽ¥çš„示例
          #          username: SYSDBA # DM è¿žæŽ¥çš„示例
@@ -71,7 +71,7 @@
          lazy: true # å¼€å¯æ‡’加载,保证启动速度
          url: jdbc:mysql://116.62.18.175:6002/lihu?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X è¿žæŽ¥çš„示例
          username: hxsoft
          password: Hxerp2000
          password: Smartor.2023
  # Redis é…ç½®ã€‚Redisson é»˜è®¤çš„配置足够使用,一般不需要进行调优
  redis: