Browse Source

义乌妇保:病案首页年龄‘+’解析、进修医师'-'、联系人关系转换问题处理

zhangzw 4 years ago
parent
commit
d8779679a9

+ 1 - 0
src/main/java/com/diagbot/enums/data/RelationshipEnum.java

@@ -4,6 +4,7 @@ import lombok.Setter;
 
 public enum RelationshipEnum implements AKeyedNamed{
     BR_OR_HZ("01","本人或户主"),
+    MORTHER("52","母亲"),
     SPOUSE("10","配偶"),
     SON("20","子"),
     GIRLFRIENDS_AND_GIRLFRIENDS("99","男女朋友"),

+ 102 - 43
src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java

@@ -7,12 +7,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.dto.AnalyzeRunDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.data.AHomeOperationDTO;
 import com.diagbot.dto.data.AMedicalRecordDTO;
 import com.diagbot.dto.data.AMrContentDTO;
 import com.diagbot.entity.*;
+import com.diagbot.enums.data.BehospitalWayXmlEnum;
 import com.diagbot.enums.IsDeleteEnum;
-import com.diagbot.enums.data.*;
+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.facade.*;
 import com.diagbot.service.impl.MedicalRecordServiceImpl;
 import com.diagbot.service.impl.QcAbnormalServiceImpl;
@@ -277,18 +280,55 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
         if (StringUtil.isNotEmpty(paramsObj.getString("出生日期").replaceAll("[\u4e00-\u9fa5]", "").trim())) {
             aHomePageVO.setBirthday(paramsObj.getString("出生日期").replaceAll("[\u4e00-\u9fa5]", "-"));
         }
-
-        aHomePageVO.setAge(paramsObj.getString("新生儿年龄").replaceAll("[\u4e00-\u9fa5]", ""));
-        if (paramsObj.getString("新生儿年龄").contains("天")) {
-            aHomePageVO.setAgeUnit("天");
-        } else if (paramsObj.getString("新生儿年龄").contains("月")) {
-            aHomePageVO.setAgeUnit("月");
-        } else {
-            aHomePageVO.setAgeUnit("岁");
+        String ageMap = "";
+        if(StringUtil.isNotEmpty(paramsObj.getString("年龄新")) && Pattern.compile(".*\\d+.*").matcher(paramsObj.getString("年龄新")).matches()){
+            ageMap = paramsObj.getString("年龄新");
+        }
+        if(StringUtil.isNotEmpty(paramsObj.getString("新生儿年龄")) && Pattern.compile(".*\\d+.*").matcher(paramsObj.getString("新生儿年龄")).matches()){
+            ageMap = paramsObj.getString("新生儿年龄");
+        }
+        if(StringUtil.isNotEmpty(paramsObj.getString("婴儿年龄")) && Pattern.compile(".*\\d+.*").matcher(paramsObj.getString("婴儿年龄")).matches()){
+            ageMap = paramsObj.getString("婴儿年龄");
+        }
+        if(!"".equals(ageMap) && Pattern.compile("^[-\\+]?[\\d]*$").matcher(ageMap.trim().replaceAll("[\u4e00-\u9fa5+-~:、,,./`]", "")).matches()){
+            String tempAgeMap = ageMap.replaceAll("[\u4e00-\u9fa5]", "");
+            aHomePageVO.setAge(tempAgeMap);
+            if(ageMap.contains("天")){
+                aHomePageVO.setAgeUnit("天");
+                aHomePageVO.setNewbornDay(tempAgeMap);
+            }else if(ageMap.contains("月")){
+                aHomePageVO.setAgeUnit("月");
+                aHomePageVO.setNewbornMonth(tempAgeMap);
+            }else if(ageMap.contains("岁")){
+                aHomePageVO.setAgeUnit("岁");
+            }else if(ageMap.contains("分")){
+                aHomePageVO.setAgeUnit("分钟");
+            }else if(ageMap.contains("时")){
+                aHomePageVO.setAgeUnit("小时");
+            }else if(ageMap.contains("周")){
+                aHomePageVO.setAgeUnit("周");
+            }else {
+                aHomePageVO.setAgeUnit("月");
+            }
+        }
+        if(StringUtil.isNotEmpty(paramsObj.getString("新生儿出生月数"))){
+            aHomePageVO.setNewbornMonth(paramsObj.getString("新生儿出生月数"));
         }
+        if(StringUtil.isNotEmpty(paramsObj.getString("新生儿出生天数"))){
+            aHomePageVO.setNewbornDay(paramsObj.getString("新生儿出生天数"));
+        }
+//        if(StringUtil.isNotEmpty(paramsObj.getString("婴儿年龄")) && StringUtil.isNotEmpty(paramsObj.getString("婴儿年龄单位"))){
+//            if(!Pattern.compile("^[-\\+]?[\\d]*$").matcher(paramsObj.getString("婴儿年龄")).matches() && paramsObj.getString("婴儿年龄").split(",").length > 1){
+//                aHomePageVO.setNewbornMonth(paramsObj.getString("婴儿年龄").split(",")[0].split("=")[1]);
+//                aHomePageVO.setNewbornDay(paramsObj.getString("婴儿年龄").split(",")[1].split("=")[1]);
+//                aHomePageVO.setAgeUnit("");
+//            }else {
+//                aHomePageVO.setAge(paramsObj.getString("婴儿年龄"));
+//            }
+//            aHomePageVO.setAgeUnit(paramsObj.getString("婴儿年龄单位"));
+//        }
         aHomePageVO.setNationality(coverValue(paramsObj.getString("国籍"),"GJ"));
         aHomePageVO.setNewbornWeight(paramsObj.getString("新生儿出生体重"));
-        //aHomePageVO.setNewbornBehospitalWeight("");
         String[] provinceList = paramsObj.getString("省").split(" ");
         String[] cityList = paramsObj.getString("市").split(" ");
         String[] areaList = paramsObj.getString("县").split(" ");
@@ -330,16 +370,15 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
         aHomePageVO.setWorkPhone(paramsObj.getString("工作单位电话"));
         aHomePageVO.setWorkPostCode(paramsObj.getString("工作单位邮编"));
         aHomePageVO.setContactName(paramsObj.getString("联系人姓名"));
-        aHomePageVO.setContactRelation(RelationshipEnum.getName(paramsObj.getString("联系人关系")));
+        aHomePageVO.setContactRelation(coverValue(paramsObj.getString("联系人关系"),"GX"));
         aHomePageVO.setContactAddress(paramsObj.getString("联系人地址"));
         aHomePageVO.setContactPhone(paramsObj.getString("联系人电话"));
-        if (StringUtil.isNotBlank(paramsObj.getString("入院途径"))) { //待定
+        if (StringUtil.isNotBlank(paramsObj.getString("入院途径"))) {
             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));
         }
-
         aHomePageVO.setBehospitalDept(coverValue(paramsObj.getString("入院科别"),"KS"));
         aHomePageVO.setBehospitalWard(paramsObj.getString("入院病房"));
         //aHomePageVO.setBehospitalBedId();
@@ -378,6 +417,8 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
         aHomePageVO.setQcNurse(coverValue(paramsObj.getString("质控护士"),"ZG"));
         if (YWDateUtils.isDate(paramsObj.getString("质控日期"), "yyyy-MM-dd HH:mm:ss")) {
             aHomePageVO.setQcDate(DateUtil.format(YWDateUtils.parseDateTime(paramsObj.getString("质控日期")), DateUtil.DATE_TIME_FORMAT));
+        } else if(YWDateUtils.isDate(paramsObj.getString("质控日期"), "yyyy年MM月dd日")){
+            aHomePageVO.setQcDate(paramsObj.getString("质控日期").replaceAll("[\u4e00-\u9fa5]", "-"));
         }
         aHomePageVO.setLeaveHospitalType(paramsObj.getString("离院方式"));
         aHomePageVO.setAcceptOrgCode(paramsObj.getString("接收机构名称"));
@@ -419,8 +460,18 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
         aHomePageVO.setTreatMaterialFee(paramsObj.getString("治疗用一次性医用材料费"));
         aHomePageVO.setOperationMaterialFee(paramsObj.getString("手术用一次性医用材料费"));
         aHomePageVO.setOtherTypeFee(paramsObj.getString("其他类其他费"));
-        aHomePageVO.setSingleDiagManage(paramsObj.getString("单病种管理").trim());
-        aHomePageVO.setClinicPathwayManage(paramsObj.getString("临床路径管理").trim());
+        if(StringUtil.isNotEmpty(paramsObj.getString("单病种管理"))){
+            aHomePageVO.setSingleDiagManage(paramsObj.getString("单病种管理").trim());
+        }
+        if(StringUtil.isNotEmpty(paramsObj.getString("单病种管理_"))){
+            aHomePageVO.setSingleDiagManage(paramsObj.getString("单病种管理_").trim());
+        }
+        if(StringUtil.isNotEmpty(paramsObj.getString("临床路径管理"))){
+            aHomePageVO.setClinicPathwayManage(paramsObj.getString("临床路径管理").trim());
+        }
+        if(StringUtil.isNotEmpty(paramsObj.getString("临床路径管理_"))){
+            aHomePageVO.setClinicPathwayManage(paramsObj.getString("临床路径管理_").trim());
+        }
         aHomePageVO.setIsOutpatientBehospital(paramsObj.getString("门诊与住院"));
         aHomePageVO.setIsLeaveBehospital(paramsObj.getString("入院与出院"));
         aHomePageVO.setIsOperationBeforeAfter(paramsObj.getString("术前与术后"));
@@ -429,8 +480,12 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
         //aHomePageVO.setRescueNum();
         //aHomePageVO.setRescueSuccessNum();
         //aHomePageVO.setIsAutoLeavehospital();
-        aHomePageVO.setReturnToType(paramsObj.getString("转归情况").trim());
-
+        if(StringUtil.isNotEmpty(paramsObj.getString("转归情况"))){
+            aHomePageVO.setReturnToType(paramsObj.getString("转归情况").trim());
+        }
+        if(StringUtil.isNotEmpty(paramsObj.getString("转归情况_"))){
+            aHomePageVO.setReturnToType(paramsObj.getString("转归情况_").trim());
+        }
         List<Object> operationList = paramsObj.getJSONArray("手术信息");
 //        if(operationList.size() > 0){
 //            List<AHomeOperationVO> operationInfo = Lists.newLinkedList();
@@ -455,27 +510,29 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
 //            }
 //            aHomePageVO.setOperations(operationInfo);
 //        }
-        String sql = "SELECT * FROM AI_V_SENDHOMEPAGEING_SSQK t where t.homepageid = '" + behospitalCode + "'";
-        aHomePageVO.setOperations(tzDBConn.getHomePageOperation(sql));
-        List<Object> diagnoseList = paramsObj.getJSONArray("出院诊断");
-        if (diagnoseList.size() > 0) {
-            List<AHomeDiagnoseVO> leaveDiags = Lists.newLinkedList();
-            for (int i = 0; i < operationList.size(); i++) {
-                AHomeDiagnoseVO aHomeDiagnoseVO = new AHomeDiagnoseVO();
-                aHomeDiagnoseVO.setHomePageId(behospitalCode);
-                aHomeDiagnoseVO.setHospitalId(hospitalId);
-                aHomeDiagnoseVO.setDiagnoseOrderNo(String.valueOf(i));//非空字段
-                aHomeDiagnoseVO.setDiagnoseType(i == 0 ? "主要诊断" : "其他诊断");
-                //aHomeDiagnoseVO.setDiagnoseTypeShort();
-                aHomeDiagnoseVO.setDiagnoseName(((JSONArray) operationList).getJSONObject(i).getString("诊断名称"));
-                aHomeDiagnoseVO.setBehospitalType(((JSONArray) operationList).getJSONObject(i).getString("入院情况"));
-                aHomeDiagnoseVO.setLeaveHospitalType(((JSONArray) operationList).getJSONObject(i).getString("出院情况"));
-                //aHomeDiagnoseVO.setPathologyDiagnose();
-                aHomeDiagnoseVO.setIcdCode(((JSONArray) operationList).getJSONObject(i).getString("诊断编码"));
-                leaveDiags.add(aHomeDiagnoseVO);
-            }
-            aHomePageVO.setLeaveDiags(leaveDiags);
-        }
+        String ssqkSql = "SELECT * FROM AI_V_SENDHOMEPAGEING_SSQK t where t.homepageid = '" + behospitalCode + "'";
+        String cyzdSql = "SELECT * FROM AI_V_SENDHOMEPAGEING_CYZD t where t.homepageid = '" + behospitalCode + "'";
+        aHomePageVO.setOperations(tzDBConn.getHomePageOperation(ssqkSql));
+        aHomePageVO.setLeaveDiags(tzDBConn.getHomePageDiagnose(cyzdSql));
+//        List<Object> diagnoseList = paramsObj.getJSONArray("出院诊断");
+//        if (diagnoseList.size() > 0) {
+//            List<AHomeDiagnoseVO> leaveDiags = Lists.newLinkedList();
+//            for (int i = 0; i < operationList.size(); i++) {
+//                AHomeDiagnoseVO aHomeDiagnoseVO = new AHomeDiagnoseVO();
+//                aHomeDiagnoseVO.setHomePageId(behospitalCode);
+//                aHomeDiagnoseVO.setHospitalId(hospitalId);
+//                aHomeDiagnoseVO.setDiagnoseOrderNo(String.valueOf(i));//非空字段
+//                aHomeDiagnoseVO.setDiagnoseType(i == 0 ? "主要诊断" : "其他诊断");
+//                //aHomeDiagnoseVO.setDiagnoseTypeShort();
+//                aHomeDiagnoseVO.setDiagnoseName(((JSONArray) diagnoseList).getJSONObject(i).getString("诊断名称"));
+//                aHomeDiagnoseVO.setBehospitalType(((JSONArray) diagnoseList).getJSONObject(i).getString("入院情况"));
+//                aHomeDiagnoseVO.setLeaveHospitalType(((JSONArray) diagnoseList).getJSONObject(i).getString("出院情况"));
+//                //aHomeDiagnoseVO.setPathologyDiagnose();
+//                aHomeDiagnoseVO.setIcdCode(((JSONArray) diagnoseList).getJSONObject(i).getString("诊断编码"));
+//                leaveDiags.add(aHomeDiagnoseVO);
+//            }
+//            aHomePageVO.setLeaveDiags(leaveDiags);
+//        }
         aHomePageVOList.add(aHomePageVO);
         return aHomePageVOList;
     }
@@ -546,7 +603,6 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
         }
     }
 
-
     /**
      * 初始化质控类型ID
      *
@@ -642,7 +698,7 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
                     modeId = 4L;
                     modelHospital.setStandModelId(4L);
                     modelHospital.setStandModelName("查房记录");
-                } else if (recTitle.contains("手术知情同意书")) {
+                } else if (recTitle.contains("手术") && recTitle.contains("同意")) {
                     modeId = 16L;
                     modelHospital.setStandModelId(16L);
                     modelHospital.setStandModelName("知情同意书");
@@ -701,7 +757,7 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
     }
 
     public String coverValue(String field, String type) {
-        if(StringUtil.isNotEmpty(field)){
+        if(StringUtil.isNotEmpty(field) && !field.equals("-")){
             Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
             Matcher m = p.matcher(field);
             if (type.equals("ZG")) {
@@ -719,8 +775,11 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
             } else if(type.equals("GJ")){
                 /**国籍*/
                 return m.find() ? field : NationalityEnum.getName(field);
+            } else if (type.equals("GX")){
+                /**联系人关系*/
+                return m.find() ? field : RelationshipEnum.getName(field);
             }
         }
-        return "";
+        return field;
     }
 }

+ 190 - 163
src/main/java/com/diagbot/util/TZDBConn.java

@@ -2,6 +2,7 @@ package com.diagbot.util;
 
 import com.alibaba.druid.pool.DruidDataSource;
 import com.diagbot.entity.*;
+import com.diagbot.vo.data.AHomeDiagnoseVO;
 import com.diagbot.vo.data.AHomeOperationVO;
 import com.google.common.collect.Lists;
 
@@ -12,30 +13,30 @@ import java.util.ResourceBundle;
 
 public class TZDBConn {
 	private static final String DRIVER = getValue("jdbc.driverClassName");
-    private static final String URL = getValue("jdbc.url");
-    private static final String USERNAME = getValue("jdbc.username");
-    private static final String PASSWORD = getValue("jdbc.password");
+	private static final String URL = getValue("jdbc.url");
+	private static final String USERNAME = getValue("jdbc.username");
+	private static final String PASSWORD = getValue("jdbc.password");
 
 	public static final Long HOSPITAL_ID=Long.valueOf("5");//1:长兴,2:邵逸夫,3:台州市立医院
-    
-    private static Connection connection = null;
-    private static PreparedStatement sta = null;
+
+	private static Connection connection = null;
+	private static PreparedStatement sta = null;
 	private static ResultSet rs = null;
 	private static DruidDataSource druidDataSource;
 
 	/**
-     * 读取属性文件中的信息
-     *
-     * @param key
-     * @return
-     */
-    private static String getValue(String key) {
-        // 资源包绑定
-        ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
-        return bundle.getString(key);
-    }
-    
-    /**
+	 * 读取属性文件中的信息
+	 *
+	 * @param key
+	 * @return
+	 */
+	private static String getValue(String key) {
+		// 资源包绑定
+		ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
+		return bundle.getString(key);
+	}
+
+	/**
 	 * 加载驱动程序
 	 */
 	static {
@@ -45,7 +46,7 @@ public class TZDBConn {
 			e.printStackTrace();
 		}
 	}
-	
+
 	/**
 	 * @return 连接对象
 	 */
@@ -57,7 +58,7 @@ public class TZDBConn {
 		}
 		return connection;
 	}
-	
+
 	/**
 	 * @param sql sql语句
 	 * @param obj 参数
@@ -78,7 +79,7 @@ public class TZDBConn {
 		}
 		return rs;
 	}
-	
+
 	/**
 	 * 关闭资源
 	 */
@@ -107,7 +108,7 @@ public class TZDBConn {
 			}
 		}
 	}
-	
+
 	/**
 	 * 医生信息
 	 * @return
@@ -132,10 +133,10 @@ public class TZDBConn {
 		}finally {
 			close();
 		}
-		
+
 		return basDoctorInfoList;
 	}
-	
+
 	/**
 	 * 从视图中获取医院科室数据,根据修改时间同步数据
 	 * @return
@@ -163,7 +164,7 @@ public class TZDBConn {
 		}
 		return basDeptInfoList;
 	}
-	
+
 	/**
 	 * 病案诊断
 	 * @return
@@ -193,10 +194,10 @@ public class TZDBConn {
 		}finally {
 			close();
 		}
-		
+
 		return homeDiagnoseVOList;
 	}
-	
+
 	/**
 	 * 病案手术
 	 * @return
@@ -233,7 +234,7 @@ public class TZDBConn {
 		List<HomeOperationInfo> homeOperationList=BeanUtil.listCopyTo(homeOperationVOList, HomeOperationInfo.class);
 		return homeOperationList;
 	}
-	
+
 	/**
 	 * 从视图获取病案首页信息
 	 * 获取近几个月的数据
@@ -244,136 +245,136 @@ public class TZDBConn {
 			TZDBConn dbconn=new TZDBConn();
 			ResultSet rs =dbconn.Query(sql, null);
 			while(rs.next()){
-                HomePage homePageVO=new HomePage();
-                homePageVO.setHomePageId(rs.getString("HOMEPAGEID"));//病案首页ID
-                homePageVO.setHospitalId(HOSPITAL_ID);//医院ID
-                homePageVO.setBehospitalCode(rs.getString("BEHOSPITALCODE"));//病人住院序号
-                homePageVO.setHospitalCode(rs.getString("HOSPITALCODE"));//组织机构id
-                homePageVO.setHospitalName(rs.getString("HOSPITALNAME"));//医疗机构名称
-                homePageVO.setOrgCode(rs.getString("ORGCODE"));//医疗机构代码
-                homePageVO.setPayType(rs.getString("PAYTYPE"));//医疗付费方式
-                homePageVO.setHealthCard(rs.getString("HEALTHCARD"));//健康卡号
-                homePageVO.setBehospitalNum(rs.getString("BEHOSPITALNUM"));//住院次数
-                homePageVO.setFileCode(rs.getString("FILECODE"));//病案号
-                homePageVO.setName(rs.getString("NAME"));//姓名
-                homePageVO.setSex(rs.getString("SEX"));//性别
-                homePageVO.setBirthday(rs.getDate("BIRTHDAY"));//出生日期
+				HomePage homePageVO=new HomePage();
+				homePageVO.setHomePageId(rs.getString("HOMEPAGEID"));//病案首页ID
+				homePageVO.setHospitalId(HOSPITAL_ID);//医院ID
+				homePageVO.setBehospitalCode(rs.getString("BEHOSPITALCODE"));//病人住院序号
+				homePageVO.setHospitalCode(rs.getString("HOSPITALCODE"));//组织机构id
+				homePageVO.setHospitalName(rs.getString("HOSPITALNAME"));//医疗机构名称
+				homePageVO.setOrgCode(rs.getString("ORGCODE"));//医疗机构代码
+				homePageVO.setPayType(rs.getString("PAYTYPE"));//医疗付费方式
+				homePageVO.setHealthCard(rs.getString("HEALTHCARD"));//健康卡号
+				homePageVO.setBehospitalNum(rs.getString("BEHOSPITALNUM"));//住院次数
+				homePageVO.setFileCode(rs.getString("FILECODE"));//病案号
+				homePageVO.setName(rs.getString("NAME"));//姓名
+				homePageVO.setSex(rs.getString("SEX"));//性别
+				homePageVO.setBirthday(rs.getDate("BIRTHDAY"));//出生日期
 				homePageVO.setAge(rs.getString("AGE"));//病人年龄
-                homePageVO.setAgeUnit(rs.getString("AGEUNIT"));//年龄单位
-                homePageVO.setNationality(rs.getString("NATIONALITY"));//国籍
-                homePageVO.setNewbornMonth(rs.getString("NEWBORNMONTH"));//新生儿出生月数
-                homePageVO.setNewbornDay(rs.getString("NEWBORNDAY"));//新生儿出生天数
-                homePageVO.setNewbornWeight(rs.getString("NEWBORNWEIGHT"));//新生儿出生体重
-                homePageVO.setNewbornBehospitalWeight(rs.getString("NEWBORNBEHOSPITALWEIGHT"));//新生儿入院体重
-                homePageVO.setBornAddress(rs.getString("BORNADDRESS"));//出生地
-                homePageVO.setBornPlace(rs.getString("BORNPLACE"));//籍贯
-                homePageVO.setNation(rs.getString("NATION"));//民族
-                homePageVO.setIdentityCardNo(rs.getString("IDENTITYCARDNO"));//身份证号
-                homePageVO.setJobType(rs.getString("JOBTYPE"));//职业
-                homePageVO.setMarriage(rs.getString("MARRIAGE"));//婚姻
-                homePageVO.setCurAddress(rs.getString("CURADDRESS"));//现住址
-                homePageVO.setCurPhone(rs.getString("CURPHONE"));//现住址电话
-                homePageVO.setCurPostCode(rs.getString("CURPOSTCODE"));//现住址邮编
-                homePageVO.setResidenceAddress(rs.getString("RESIDENCEADDRESS"));//户口地址
-                homePageVO.setResidencePostCode(rs.getString("RESIDENCEPOSTCODE"));//户口地址邮编
-                homePageVO.setWorkAddress(rs.getString("WORKADDRESS"));//工作单位
-                homePageVO.setWorkPhone(rs.getString("WORKPHONE"));//工作单位电话
-                homePageVO.setWorkPostCode(rs.getString("WORKPOSTCODE"));//工作单位邮编
-                homePageVO.setContactName(rs.getString("CONTACTNAME"));//联系人姓名
-                homePageVO.setContactRelation(rs.getString("CONTACTRELATION"));//联系人关系
-                homePageVO.setContactAddress(rs.getString("CONTACTADDRESS"));//联系人地址
-                homePageVO.setContactPhone(rs.getString("CONTACTPHONE"));//联系人电话
-                homePageVO.setBehospitalWay(rs.getString("BEHOSPITALWAY"));//入院途径
-                homePageVO.setBehospitalDate(rs.getDate("BEHOSPITALDATE"));//入院时间
-                homePageVO.setBehospitalDept(rs.getString("BEHOSPITALDEPT"));//入院科室
-                homePageVO.setBehospitalWard(rs.getString("BEHOSPITALWARD"));//入院病房
-                homePageVO.setBehospitalBedId(rs.getString("BEHOSPITALBEDID"));//入院床位序号
-                homePageVO.setBehospitalBedCode(rs.getString("BEHOSPITALBEDCODE"));//入院床位号码
-                homePageVO.setChangeDept(rs.getString("CHANGEDEPT"));//转科科别
-                homePageVO.setLeaveHospitalDate(rs.getDate("LEAVEHOSPITALDATE"));//出院时间
-                homePageVO.setLeaveHospitalDept(rs.getString("LEAVEHOSPITALDEPT"));//出院科别
-                homePageVO.setLeaveHospitalWard(rs.getString("LEAVEHOSPITALWARD"));//出院病房
-                homePageVO.setLeaveHospitalBedId(rs.getString("LEAVEHOSPITALBEDID"));//出院床位序号
-                homePageVO.setLeaveHospitalBedCode(rs.getString("LEAVEHOSPITALBEDCODE"));//出院床位号码
-                homePageVO.setBehospitalDayNum(rs.getString("BEHOSPITALDAYNUM"));//实际住院天数
-                homePageVO.setOutpatientEmrDiagnose(rs.getString("OUTPATIENTEMRDIAGNOSE"));//门急诊诊断
-                homePageVO.setOutpatientEmrDiagnoseCode(rs.getString("OUTPATIENTEMRDIAGNOSECODE"));//门急诊诊断编码
-                homePageVO.setPoisonFactor(rs.getString("POISONFACTOR"));//损伤中毒因素
-                homePageVO.setPoisonFactorCode(rs.getString("POISONFACTORCODE"));//损伤中毒因素编码
-                homePageVO.setPathologyDiagnose(rs.getString("PATHOLOGYDIAGNOSE"));//病理诊断
-                homePageVO.setPathologyDiagnoseCode(rs.getString("PATHOLOGYDIAGNOSECODE"));//病理诊断编码
-                homePageVO.setPathologyDiagnoseId(rs.getString("PATHOLOGYDIAGNOSEID"));//病理诊断编号
-                homePageVO.setIsMedAllergy(rs.getString("ISMEDALLERGY"));//药物过敏
-                homePageVO.setMedAllergyName(rs.getString("MEDALLERGYNAME"));//过敏药物
-                homePageVO.setAutopsy(rs.getString("AUTOPSY"));//死亡患者尸检
-                homePageVO.setBloodType(rs.getString("BLOODTYPE"));//血型
-                homePageVO.setRh(rs.getString("RH"));//Rh
-                homePageVO.setDeptDirector(rs.getString("DEPTDIRECTOR"));//科主任
-                homePageVO.setDirectorDoctor(rs.getString("DIRECTORDOCTOR"));//主任医师
-                homePageVO.setAttendingDoctor(rs.getString("ATTENDINGDOCTOR"));//主治医师
-                homePageVO.setBehospitalDoctor(rs.getString("BEHOSPITALDOCTOR"));//住院医师
-                homePageVO.setResponseNurse(rs.getString("RESPONSENURSE"));//责任护士
-                homePageVO.setStudyDoctor(rs.getString("STUDYDOCTOR"));//进修医师
-                homePageVO.setPracticeDoctor(rs.getString("PRACTICEDOCTOR"));//实习医师
-                homePageVO.setEncodeMan(rs.getString("ENCODEMAN"));//编码员
-                homePageVO.setHomePageQuality(rs.getString("HOMEPAGEQUALITY"));//病案质量
-                homePageVO.setQcDoctor(rs.getString("QCDOCTOR"));//质控医师
-                homePageVO.setQcNurse(rs.getString("QCNURSE"));//质控护士
-                if(!"".equals(rs.getString("QCDATE"))){
-                    homePageVO.setQcDate(DateUtil.parseDate(rs.getString("QCDATE"),DateUtil.DATE_TIME_FORMAT));//质控日期
-                }
-                homePageVO.setLeaveHospitalType(rs.getString("LEAVEHOSPITALTYPE"));//离院方式
-                homePageVO.setAcceptOrgCode(rs.getString("ACCEPTORGCODE"));//接收机构名称
-                homePageVO.setAgainBehospitalPlan(rs.getString("AGAINBEHOSPITALPLAN"));//31天内再住院计划
-                homePageVO.setAgainBehospitalGoal(rs.getString("AGAINBEHOSPITALGOAL"));//再住院目的
-                homePageVO.setTbiBeforeDay(rs.getString("TBIBEFOREDAY"));//颅脑损伤患者昏迷前天数
-                homePageVO.setTbiBeforeHour(rs.getString("TBIBEFOREHOUR"));//颅脑损伤患者昏迷前小时
-                homePageVO.setTbiBeforeMinute(rs.getString("TBIBEFOREMINUTE"));//颅脑损伤患者昏迷前分钟
-                homePageVO.setTbiAfterDay(rs.getString("TBIAFTERDAY"));//颅脑损伤患者昏迷后天数
-                homePageVO.setTbiAfterHour(rs.getString("TBIAFTERHOUR"));//颅脑损伤患者昏迷后小时
-                homePageVO.setTbiAfterMinute(rs.getString("TBIAFTERMINUTE"));//颅脑损伤患者昏迷后分钟
-                homePageVO.setTotalFee(rs.getString("TOTALFEE"));//总费用
-                homePageVO.setOwnFee(rs.getString("OWNFEE"));//自付金额
-                homePageVO.setGeneralFee(rs.getString("GENERALFEE"));//一般医疗服务费
-                homePageVO.setServiceFee(rs.getString("SERVICEFEE"));//一般治疗服务费
-                homePageVO.setNurseFee(rs.getString("NURSEFEE"));//护理费
-                homePageVO.setOtherFee(rs.getString("OTHERFEE"));//其他费用
-                homePageVO.setPathologyFee(rs.getString("PATHOLOGYFEE"));//病理诊断费
-                homePageVO.setLabFee(rs.getString("LABFEE"));//实验室诊断费
-                homePageVO.setPacsFee(rs.getString("PACSFEE"));//影像学诊断费
-                homePageVO.setClinicDiagnoseFee(rs.getString("CLINICDIAGNOSEFEE"));//临床诊断项目费
-                homePageVO.setNotOperationFee(rs.getString("NOTOPERATIONFEE"));//非手术治疗项目费
-                homePageVO.setClinicPhysicFee(rs.getString("CLINICPHYSICFEE"));//临床物理治疗费
-                homePageVO.setOperationTreatFee(rs.getString("OPERATIONTREATFEE"));//手术治疗费
-                homePageVO.setAnaesthesiaFee(rs.getString("ANAESTHESIAFEE"));//麻醉费
-                homePageVO.setOperationFee(rs.getString("OPERATIONFEE"));//手术费
-                homePageVO.setHealthTypeFee(rs.getString("HEALTHTYPEFEE"));//康复类
-                homePageVO.setChnTreatFee(rs.getString("CHNTREATFEE"));//中医治疗费
-                homePageVO.setWesternMedFee(rs.getString("WESTERNMEDFEE"));//西药费
-                homePageVO.setAntibiosisFee(rs.getString("ANTIBIOSISFEE"));//抗菌药物费用
-                homePageVO.setChnMedFee(rs.getString("CHNMEDFEE"));//中成药费
-                homePageVO.setChnHerbFee(rs.getString("CHNHERBFEE"));//中草药费
-                homePageVO.setBloodFee(rs.getString("BLOODFEE"));//血费
-                homePageVO.setAlbumenFee(rs.getString("ALBUMENFEE"));//白蛋白类制品费
-                homePageVO.setGlobulinFee(rs.getString("GLOBULINFEE"));//球蛋白类制品费
-                homePageVO.setBloodFactorFee(rs.getString("BLOODFACTORFEE"));//凝血因子类制品费
-                homePageVO.setCellFactorFee(rs.getString("CELLFACTORFEE"));//细胞因子类制品费
-                homePageVO.setCheckMaterialFee(rs.getString("CHECKMATERIALFEE"));//检查用一次性医用材料费
-                homePageVO.setTreatMaterialFee(rs.getString("TREATMATERIALFEE"));//治疗用一次性医用材料费
-                homePageVO.setOperationMaterialFee(rs.getString("OPERATIONMATERIALFEE"));//手术用一次性医用材料费
-                homePageVO.setOtherTypeFee(rs.getString("OTHERTYPEFEE"));//其他类其他费
-                homePageVO.setSingleDiagManage(rs.getString("SINGLEDIAGMANAGE"));//单病种管理
-                homePageVO.setClinicPathwayManage(rs.getString("CLINICPATHWAYMANAGE"));//临床路径管理
-                homePageVO.setIsOutpatientBehospital(rs.getString("ISOUTPATIENTBEHOSPITAL"));//门诊与住院
-                homePageVO.setIsLeaveBehospital(rs.getString("ISLEAVEBEHOSPITAL"));//入院与出院
-                homePageVO.setIsOperationBeforeAfter(rs.getString("ISOPERATIONBEFOREAFTER"));//术前与术后
-                homePageVO.setIsClinicPathology(rs.getString("ISCLINICPATHOLOGY"));//临床与病理
-                homePageVO.setIsRadiatePathology(rs.getString("ISRADIATEPATHOLOGY"));//放射与病理
-                homePageVO.setRescueNum(rs.getString("RESCUENUM"));//病人抢救次数
-                homePageVO.setRescueSuccessNum(rs.getString("RESCUESUCCESSNUM"));//病人抢救成功次数
-                homePageVO.setIsAutoLeavehospital(rs.getString("ISAUTOLEAVEHOSPITAL"));//是否为自动出院
-                homePageVO.setReturnToType(rs.getString("RETURNTOTYPE"));//转归情况HomePage homePageVO=new HomePage();
-                homePageList.add(homePageVO);
+				homePageVO.setAgeUnit(rs.getString("AGEUNIT"));//年龄单位
+				homePageVO.setNationality(rs.getString("NATIONALITY"));//国籍
+				homePageVO.setNewbornMonth(rs.getString("NEWBORNMONTH"));//新生儿出生月数
+				homePageVO.setNewbornDay(rs.getString("NEWBORNDAY"));//新生儿出生天数
+				homePageVO.setNewbornWeight(rs.getString("NEWBORNWEIGHT"));//新生儿出生体重
+				homePageVO.setNewbornBehospitalWeight(rs.getString("NEWBORNBEHOSPITALWEIGHT"));//新生儿入院体重
+				homePageVO.setBornAddress(rs.getString("BORNADDRESS"));//出生地
+				homePageVO.setBornPlace(rs.getString("BORNPLACE"));//籍贯
+				homePageVO.setNation(rs.getString("NATION"));//民族
+				homePageVO.setIdentityCardNo(rs.getString("IDENTITYCARDNO"));//身份证号
+				homePageVO.setJobType(rs.getString("JOBTYPE"));//职业
+				homePageVO.setMarriage(rs.getString("MARRIAGE"));//婚姻
+				homePageVO.setCurAddress(rs.getString("CURADDRESS"));//现住址
+				homePageVO.setCurPhone(rs.getString("CURPHONE"));//现住址电话
+				homePageVO.setCurPostCode(rs.getString("CURPOSTCODE"));//现住址邮编
+				homePageVO.setResidenceAddress(rs.getString("RESIDENCEADDRESS"));//户口地址
+				homePageVO.setResidencePostCode(rs.getString("RESIDENCEPOSTCODE"));//户口地址邮编
+				homePageVO.setWorkAddress(rs.getString("WORKADDRESS"));//工作单位
+				homePageVO.setWorkPhone(rs.getString("WORKPHONE"));//工作单位电话
+				homePageVO.setWorkPostCode(rs.getString("WORKPOSTCODE"));//工作单位邮编
+				homePageVO.setContactName(rs.getString("CONTACTNAME"));//联系人姓名
+				homePageVO.setContactRelation(rs.getString("CONTACTRELATION"));//联系人关系
+				homePageVO.setContactAddress(rs.getString("CONTACTADDRESS"));//联系人地址
+				homePageVO.setContactPhone(rs.getString("CONTACTPHONE"));//联系人电话
+				homePageVO.setBehospitalWay(rs.getString("BEHOSPITALWAY"));//入院途径
+				homePageVO.setBehospitalDate(rs.getDate("BEHOSPITALDATE"));//入院时间
+				homePageVO.setBehospitalDept(rs.getString("BEHOSPITALDEPT"));//入院科室
+				homePageVO.setBehospitalWard(rs.getString("BEHOSPITALWARD"));//入院病房
+				homePageVO.setBehospitalBedId(rs.getString("BEHOSPITALBEDID"));//入院床位序号
+				homePageVO.setBehospitalBedCode(rs.getString("BEHOSPITALBEDCODE"));//入院床位号码
+				homePageVO.setChangeDept(rs.getString("CHANGEDEPT"));//转科科别
+				homePageVO.setLeaveHospitalDate(rs.getDate("LEAVEHOSPITALDATE"));//出院时间
+				homePageVO.setLeaveHospitalDept(rs.getString("LEAVEHOSPITALDEPT"));//出院科别
+				homePageVO.setLeaveHospitalWard(rs.getString("LEAVEHOSPITALWARD"));//出院病房
+				homePageVO.setLeaveHospitalBedId(rs.getString("LEAVEHOSPITALBEDID"));//出院床位序号
+				homePageVO.setLeaveHospitalBedCode(rs.getString("LEAVEHOSPITALBEDCODE"));//出院床位号码
+				homePageVO.setBehospitalDayNum(rs.getString("BEHOSPITALDAYNUM"));//实际住院天数
+				homePageVO.setOutpatientEmrDiagnose(rs.getString("OUTPATIENTEMRDIAGNOSE"));//门急诊诊断
+				homePageVO.setOutpatientEmrDiagnoseCode(rs.getString("OUTPATIENTEMRDIAGNOSECODE"));//门急诊诊断编码
+				homePageVO.setPoisonFactor(rs.getString("POISONFACTOR"));//损伤中毒因素
+				homePageVO.setPoisonFactorCode(rs.getString("POISONFACTORCODE"));//损伤中毒因素编码
+				homePageVO.setPathologyDiagnose(rs.getString("PATHOLOGYDIAGNOSE"));//病理诊断
+				homePageVO.setPathologyDiagnoseCode(rs.getString("PATHOLOGYDIAGNOSECODE"));//病理诊断编码
+				homePageVO.setPathologyDiagnoseId(rs.getString("PATHOLOGYDIAGNOSEID"));//病理诊断编号
+				homePageVO.setIsMedAllergy(rs.getString("ISMEDALLERGY"));//药物过敏
+				homePageVO.setMedAllergyName(rs.getString("MEDALLERGYNAME"));//过敏药物
+				homePageVO.setAutopsy(rs.getString("AUTOPSY"));//死亡患者尸检
+				homePageVO.setBloodType(rs.getString("BLOODTYPE"));//血型
+				homePageVO.setRh(rs.getString("RH"));//Rh
+				homePageVO.setDeptDirector(rs.getString("DEPTDIRECTOR"));//科主任
+				homePageVO.setDirectorDoctor(rs.getString("DIRECTORDOCTOR"));//主任医师
+				homePageVO.setAttendingDoctor(rs.getString("ATTENDINGDOCTOR"));//主治医师
+				homePageVO.setBehospitalDoctor(rs.getString("BEHOSPITALDOCTOR"));//住院医师
+				homePageVO.setResponseNurse(rs.getString("RESPONSENURSE"));//责任护士
+				homePageVO.setStudyDoctor(rs.getString("STUDYDOCTOR"));//进修医师
+				homePageVO.setPracticeDoctor(rs.getString("PRACTICEDOCTOR"));//实习医师
+				homePageVO.setEncodeMan(rs.getString("ENCODEMAN"));//编码员
+				homePageVO.setHomePageQuality(rs.getString("HOMEPAGEQUALITY"));//病案质量
+				homePageVO.setQcDoctor(rs.getString("QCDOCTOR"));//质控医师
+				homePageVO.setQcNurse(rs.getString("QCNURSE"));//质控护士
+				if(!"".equals(rs.getString("QCDATE"))){
+					homePageVO.setQcDate(DateUtil.parseDate(rs.getString("QCDATE"),DateUtil.DATE_TIME_FORMAT));//质控日期
+				}
+				homePageVO.setLeaveHospitalType(rs.getString("LEAVEHOSPITALTYPE"));//离院方式
+				homePageVO.setAcceptOrgCode(rs.getString("ACCEPTORGCODE"));//接收机构名称
+				homePageVO.setAgainBehospitalPlan(rs.getString("AGAINBEHOSPITALPLAN"));//31天内再住院计划
+				homePageVO.setAgainBehospitalGoal(rs.getString("AGAINBEHOSPITALGOAL"));//再住院目的
+				homePageVO.setTbiBeforeDay(rs.getString("TBIBEFOREDAY"));//颅脑损伤患者昏迷前天数
+				homePageVO.setTbiBeforeHour(rs.getString("TBIBEFOREHOUR"));//颅脑损伤患者昏迷前小时
+				homePageVO.setTbiBeforeMinute(rs.getString("TBIBEFOREMINUTE"));//颅脑损伤患者昏迷前分钟
+				homePageVO.setTbiAfterDay(rs.getString("TBIAFTERDAY"));//颅脑损伤患者昏迷后天数
+				homePageVO.setTbiAfterHour(rs.getString("TBIAFTERHOUR"));//颅脑损伤患者昏迷后小时
+				homePageVO.setTbiAfterMinute(rs.getString("TBIAFTERMINUTE"));//颅脑损伤患者昏迷后分钟
+				homePageVO.setTotalFee(rs.getString("TOTALFEE"));//总费用
+				homePageVO.setOwnFee(rs.getString("OWNFEE"));//自付金额
+				homePageVO.setGeneralFee(rs.getString("GENERALFEE"));//一般医疗服务费
+				homePageVO.setServiceFee(rs.getString("SERVICEFEE"));//一般治疗服务费
+				homePageVO.setNurseFee(rs.getString("NURSEFEE"));//护理费
+				homePageVO.setOtherFee(rs.getString("OTHERFEE"));//其他费用
+				homePageVO.setPathologyFee(rs.getString("PATHOLOGYFEE"));//病理诊断费
+				homePageVO.setLabFee(rs.getString("LABFEE"));//实验室诊断费
+				homePageVO.setPacsFee(rs.getString("PACSFEE"));//影像学诊断费
+				homePageVO.setClinicDiagnoseFee(rs.getString("CLINICDIAGNOSEFEE"));//临床诊断项目费
+				homePageVO.setNotOperationFee(rs.getString("NOTOPERATIONFEE"));//非手术治疗项目费
+				homePageVO.setClinicPhysicFee(rs.getString("CLINICPHYSICFEE"));//临床物理治疗费
+				homePageVO.setOperationTreatFee(rs.getString("OPERATIONTREATFEE"));//手术治疗费
+				homePageVO.setAnaesthesiaFee(rs.getString("ANAESTHESIAFEE"));//麻醉费
+				homePageVO.setOperationFee(rs.getString("OPERATIONFEE"));//手术费
+				homePageVO.setHealthTypeFee(rs.getString("HEALTHTYPEFEE"));//康复类
+				homePageVO.setChnTreatFee(rs.getString("CHNTREATFEE"));//中医治疗费
+				homePageVO.setWesternMedFee(rs.getString("WESTERNMEDFEE"));//西药费
+				homePageVO.setAntibiosisFee(rs.getString("ANTIBIOSISFEE"));//抗菌药物费用
+				homePageVO.setChnMedFee(rs.getString("CHNMEDFEE"));//中成药费
+				homePageVO.setChnHerbFee(rs.getString("CHNHERBFEE"));//中草药费
+				homePageVO.setBloodFee(rs.getString("BLOODFEE"));//血费
+				homePageVO.setAlbumenFee(rs.getString("ALBUMENFEE"));//白蛋白类制品费
+				homePageVO.setGlobulinFee(rs.getString("GLOBULINFEE"));//球蛋白类制品费
+				homePageVO.setBloodFactorFee(rs.getString("BLOODFACTORFEE"));//凝血因子类制品费
+				homePageVO.setCellFactorFee(rs.getString("CELLFACTORFEE"));//细胞因子类制品费
+				homePageVO.setCheckMaterialFee(rs.getString("CHECKMATERIALFEE"));//检查用一次性医用材料费
+				homePageVO.setTreatMaterialFee(rs.getString("TREATMATERIALFEE"));//治疗用一次性医用材料费
+				homePageVO.setOperationMaterialFee(rs.getString("OPERATIONMATERIALFEE"));//手术用一次性医用材料费
+				homePageVO.setOtherTypeFee(rs.getString("OTHERTYPEFEE"));//其他类其他费
+				homePageVO.setSingleDiagManage(rs.getString("SINGLEDIAGMANAGE"));//单病种管理
+				homePageVO.setClinicPathwayManage(rs.getString("CLINICPATHWAYMANAGE"));//临床路径管理
+				homePageVO.setIsOutpatientBehospital(rs.getString("ISOUTPATIENTBEHOSPITAL"));//门诊与住院
+				homePageVO.setIsLeaveBehospital(rs.getString("ISLEAVEBEHOSPITAL"));//入院与出院
+				homePageVO.setIsOperationBeforeAfter(rs.getString("ISOPERATIONBEFOREAFTER"));//术前与术后
+				homePageVO.setIsClinicPathology(rs.getString("ISCLINICPATHOLOGY"));//临床与病理
+				homePageVO.setIsRadiatePathology(rs.getString("ISRADIATEPATHOLOGY"));//放射与病理
+				homePageVO.setRescueNum(rs.getString("RESCUENUM"));//病人抢救次数
+				homePageVO.setRescueSuccessNum(rs.getString("RESCUESUCCESSNUM"));//病人抢救成功次数
+				homePageVO.setIsAutoLeavehospital(rs.getString("ISAUTOLEAVEHOSPITAL"));//是否为自动出院
+				homePageVO.setReturnToType(rs.getString("RETURNTOTYPE"));//转归情况HomePage homePageVO=new HomePage();
+				homePageList.add(homePageVO);
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -382,7 +383,7 @@ public class TZDBConn {
 		}
 		return homePageList;
 	}
-	
+
 	/**
 	 * 获取病历信息
 	 * @return
@@ -429,10 +430,10 @@ public class TZDBConn {
 		}finally {
 			close();
 		}
-		
+
 		return behospitalInfoList;
 	}
-	
+
 	/**
 	 * 从视图中获取医嘱信息
 	 * @return
@@ -514,7 +515,7 @@ public class TZDBConn {
 		}
 		return medicalRecordList;
 	}
-	
+
 	/**
 	 * 从视图中获取文书内容
 	 * @return
@@ -539,7 +540,7 @@ public class TZDBConn {
 		}
 		return mrContentList;
 	}
-	
+
 	/**
 	 * 从视图中获取文书类型
 	 * @return
@@ -819,4 +820,30 @@ public class TZDBConn {
 		}
 		return homeOperationVOList;
 	}
-}
+	public List<AHomeDiagnoseVO> getHomePageDiagnose(String sql){
+		List<AHomeDiagnoseVO> homeDiagnoseVOList=Lists.newLinkedList();
+		try {
+			TZDBConn dbconn=new TZDBConn();
+			ResultSet rs =dbconn.Query(sql, null);
+			while(rs.next()){
+				AHomeDiagnoseVO aHomeDiagnoseVO=new AHomeDiagnoseVO();
+				aHomeDiagnoseVO.setHomePageId(rs.getString("HOMEPAGEID"));//病案首页ID
+				aHomeDiagnoseVO.setHospitalId(HOSPITAL_ID);//医院ID
+				aHomeDiagnoseVO.setDiagnoseOrderNo(rs.getString("DIAGNOSEORDERNO"));//诊断序号
+				aHomeDiagnoseVO.setDiagnoseName(rs.getString("DIAGNOSENAME"));//诊断名称
+				aHomeDiagnoseVO.setDiagnoseType(rs.getString("DIAGNOSETYPE"));//诊断类别
+				aHomeDiagnoseVO.setDiagnoseTypeShort(rs.getString("DIAGNOSETYPESHORT"));//诊断判别
+				aHomeDiagnoseVO.setBehospitalType(rs.getString("BEHOSPITALTYPE"));//入院情况
+				aHomeDiagnoseVO.setLeaveHospitalType(rs.getString("LEAVEHOSPITALTYPE"));//出院情况
+				aHomeDiagnoseVO.setPathologyDiagnose(rs.getString("PATHOLOGYDIAGNOSE"));//病理号
+				aHomeDiagnoseVO.setIcdCode(rs.getString("ICDCODE"));//诊断编码
+				homeDiagnoseVOList.add(aHomeDiagnoseVO);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}finally {
+			close();
+		}
+		return homeDiagnoseVOList;
+	}
+}

+ 34 - 1
src/main/java/com/diagbot/util/YiWuFirstPageRecordXmlUtil.java

@@ -47,6 +47,7 @@ public class YiWuFirstPageRecordXmlUtil {
     public static Map<String, Object> process(String xml) {
         Map<String, String> sourceMap = xmlToMap(xml);
         Map<String, String> structureMap = mapKeyContrast(sourceMap, keyContrasts);
+        newbornAge(structureMap);
         Map<String, Object> structureExtMap = Maps.newHashMap();
         structureExtMap.putAll(structureMap);
         JSONArray leaveDiags = new JSONArray();
@@ -60,6 +61,37 @@ public class YiWuFirstPageRecordXmlUtil {
         return structureExtMap;
     }
 
+    //新生儿年龄处理
+    public static void newbornAge(Map<String, String> structureMap) {
+        if (structureMap != null && structureMap.size() > 0) {
+            String text = structureMap.get("原始文本");
+            boolean containsAgeText = text.contains("年龄 Value1") ? true : text.contains("年龄Value1");
+            boolean containsWeightText = text.contains("新生儿出生体重");
+            if (StringUtil.isNotBlank(text) && containsAgeText && containsWeightText) {
+                String substring = "";
+                if(containsAgeText && containsWeightText){
+                    String tempText = "";
+                    if(text.contains("年龄 Value1")){
+                        tempText = text.substring(text.indexOf("年龄 Value1"), text.indexOf("新生儿出生体重"));
+                    }
+                    if(text.contains("年龄Value1")){
+                        tempText = text.substring(text.indexOf("年龄Value1"), text.indexOf("新生儿出生体重"));
+                    }
+                    substring = tempText;
+                }
+                String[] split = substring.split(",");
+                if (split.length > 1) {
+                    if (split[0].contains("=") && split[0].indexOf("=") + 1 <= split[0].length()) {
+                        structureMap.put("新生儿出生月数", split[0].substring(split[0].indexOf("=") + 1));
+                    }
+                    if (split[1].contains("=") && split[1].indexOf("=") + 1 <= split[1].length()) {
+                        structureMap.put("新生儿出生天数", split[1].substring(split[1].indexOf("=") + 1));
+                    }
+                }
+            }
+        }
+    }
+
     public static Map<String, String> xmlToMap(String xml) {
         Map<String, String> map = Maps.newHashMap();
         try {
@@ -429,7 +461,8 @@ public class YiWuFirstPageRecordXmlUtil {
             "科主任222=科主任",
             "实习医师=实习医师",
             "国籍=国籍",
-            "工作单位邮政编码=工作单位邮编"
+            "工作单位邮政编码=工作单位邮编",
+            "(副)主任=主任医师"
     );
 
     public static Map<String, Object> processToValue(Map<String, Object> map) {