zhangzw 4 gadi atpakaļ
vecāks
revīzija
ff786f51d1

+ 45 - 0
src/main/java/com/diagbot/enums/data/BehospitalWayXmlEnum.java

@@ -0,0 +1,45 @@
+package com.diagbot.enums.data;
+
+import lombok.Setter;
+
+public enum BehospitalWayXmlEnum implements AKeyedNamed {
+    EMERGENCY_TREATMENT("1", "急诊"),
+    OUTPATIENT("2", "门诊"),
+    OTHER_HOSPITAL("3", "其他医疗机构转入"),
+    OTHER("9", "其他");
+
+    @Setter
+    private String key;
+
+    @Setter
+    private String name;
+
+    BehospitalWayXmlEnum(String key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static BehospitalWayXmlEnum getEnum(String key) {
+        for (BehospitalWayXmlEnum item : BehospitalWayXmlEnum.values()) {
+            if (key.equals(item.getKey())) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(String key) {
+        BehospitalWayXmlEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public String getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}

+ 1 - 1
src/main/java/com/diagbot/facade/data/AHomePageFacade.java

@@ -154,7 +154,7 @@ public class AHomePageFacade extends HomePageServiceImpl{
                     //过敏史,1:无,2:有
                     homePage.setIsMedAllergy(IsMedAllergyEnum.getName(s.getIsMedAllergy()));
                 }
-                if(StringUtil.isNotEmpty(s.getBehospitalWay())){
+                if(StringUtil.isNotEmpty(s.getBehospitalWay()) && Pattern.compile("^[-\\+]?[\\d]*$").matcher(s.getBehospitalWay()).matches()){
                     //入院途径,1:急诊,2:门诊,3:其他医疗机构,9:其他
                     homePage.setBehospitalWay(BehospitalWayEnum.getName(s.getBehospitalWay()));
                 }

+ 23 - 18
src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java

@@ -12,10 +12,7 @@ import com.diagbot.dto.data.AMedicalRecordDTO;
 import com.diagbot.dto.data.AMrContentDTO;
 import com.diagbot.entity.*;
 import com.diagbot.enums.IsDeleteEnum;
-import com.diagbot.enums.data.FamousFamilyEnum;
-import com.diagbot.enums.data.NationalityEnum;
-import com.diagbot.enums.data.OccupationEnum;
-import com.diagbot.enums.data.RelationshipEnum;
+import com.diagbot.enums.data.*;
 import com.diagbot.facade.*;
 import com.diagbot.service.impl.MedicalRecordServiceImpl;
 import com.diagbot.service.impl.QcAbnormalServiceImpl;
@@ -289,7 +286,7 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
         } else {
             aHomePageVO.setAgeUnit("岁");
         }
-        aHomePageVO.setNationality(NationalityEnum.getName(paramsObj.getString("国籍")));
+        aHomePageVO.setNationality(coverValue(paramsObj.getString("国籍"),"GJ"));
         aHomePageVO.setNewbornWeight(paramsObj.getString("新生儿出生体重"));
         //aHomePageVO.setNewbornBehospitalWeight("");
         String[] provinceList = paramsObj.getString("省").split(" ");
@@ -323,7 +320,7 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
         aHomePageVO.setBornPlace(CITY_MAP.get(paramsObj.getString("籍贯_省")) + CITY_MAP.get(paramsObj.getString("籍贯_市")));
         aHomePageVO.setNation(coverValue(paramsObj.getString("民族"),"MZ"));
         aHomePageVO.setIdentityCardNo(paramsObj.getString("身份证号"));
-        aHomePageVO.setJobType(OccupationEnum.getName(paramsObj.getString("职业")));
+        aHomePageVO.setJobType(coverValue(paramsObj.getString("职业"),"ZY"));
         aHomePageVO.setMarriage(paramsObj.getString("婚姻"));
         aHomePageVO.setCurAddress(CITY_MAP.get(paramsObj.getString("现住址_省")) + CITY_MAP.get(paramsObj.getString("现住址_市")) + CITY_MAP.get(paramsObj.getString("现住址_县")) + paramsObj.getString("现住址其它"));
         aHomePageVO.setCurPhone(paramsObj.getString("现住址电话"));
@@ -337,7 +334,7 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
         aHomePageVO.setContactAddress(paramsObj.getString("联系人地址"));
         aHomePageVO.setContactPhone(paramsObj.getString("联系人电话"));
         if (StringUtil.isNotBlank(paramsObj.getString("入院途径"))) { //待定
-            aHomePageVO.setBehospitalWay(paramsObj.getString("入院途径").split(" ")[0]);
+            aHomePageVO.setBehospitalWay(BehospitalWayXmlEnum.getName(paramsObj.getString("入院途径").split(" ")[0]));
         }
         if (YWDateUtils.isDate(paramsObj.getString("入院时间"), "yyyy年MM月dd日 HH时mm分") || YWDateUtils.isDate(paramsObj.getString("入院时间"), "yyyy-MM-dd HH:mm:ss")) {
             aHomePageVO.setBehospitalDate(DateUtil.format(YWDateUtils.parseDateTime(paramsObj.getString("入院时间")), DateUtil.DATE_TIME_FORMAT));
@@ -704,17 +701,25 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
     }
 
     public String coverValue(String field, String type) {
-        Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
-        Matcher m = p.matcher(field);
-        if (type.equals("ZG")) {
-            /**职工*/
-            return m.find() ? field : tzDBConn.getDoctorName(field);
-        } else if (type.equals("KS")) {
-            /**科室*/
-            return m.find() ? field : tzDBConn.getDeptName(field);
-        } else if (type.equals("MZ")) {
-            /**民族*/
-            return m.find() ? field : FamousFamilyEnum.getName(field);
+        if(StringUtil.isNotEmpty(field)){
+            Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
+            Matcher m = p.matcher(field);
+            if (type.equals("ZG")) {
+                /**职工*/
+                return m.find() ? field : tzDBConn.getDoctorName(field);
+            } else if (type.equals("KS")) {
+                /**科室*/
+                return m.find() ? field : tzDBConn.getDeptName(field);
+            } else if (type.equals("MZ")) {
+                /**民族*/
+                return m.find() ? field : FamousFamilyEnum.getName(field);
+            } else if(type.equals("ZY")){
+                /**职业*/
+                return m.find() ? field : OccupationEnum.getName(field);
+            } else if(type.equals("GJ")){
+                /**国籍*/
+                return m.find() ? field : NationalityEnum.getName(field);
+            }
         }
         return "";
     }