소스 검색

1、数据导入程序修改
2、修改出院小结规则
3、修改测试程序

louhr 5 년 전
부모
커밋
e74a16d531
21개의 변경된 파일212개의 추가작업 그리고 76개의 파일을 삭제
  1. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0147.java
  2. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0148.java
  3. 12 12
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0149.java
  4. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0150.java
  5. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0151.java
  6. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0152.java
  7. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0153.java
  8. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0154.java
  9. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0155.java
  10. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0156.java
  11. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0396.java
  12. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0507.java
  13. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0509.java
  14. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0514.java
  15. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0515.java
  16. 3 2
      kernel/src/main/java/com/lantone/qc/kernel/web/controller/QCTestController.java
  17. 124 22
      kernel/src/test/java/com/lantone/qc/kernel/DataTest.java
  18. 42 20
      kernel/src/test/java/com/lantone/qc/kernel/TaizDataImportApiTest.java
  19. 10 0
      kernel/src/test/java/com/lantone/qc/kernel/model/ImportDiag.java
  20. 5 5
      trans/src/main/java/com/lantone/qc/trans/changx/ChangxFirstPageRecordDocTrans.java
  21. 2 1
      trans/src/main/java/com/lantone/qc/trans/changx/util/CxXmlUtilTemp.java

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0147.java

@@ -30,7 +30,7 @@ public class LEA0147 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc.getText()==null){
+        if(deathRecordDoc == null || deathRecordDoc.getText()==null){
             List<Diag> diags = inputInfo.getLeaveHospitalDoc().getLeaveDiagLabel().getDiags();
             Map<String, Map<String, String>> hospitalDiagMap = redisUtil.getJsonStringValue(KernelConstants.HOSPITAL_DIAG_MAP);
             if (ListUtil.isNotEmpty(diags) && hospitalDiagMap != null) {

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0148.java

@@ -19,7 +19,7 @@ public class LEA0148 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc.getText() !=null){
+        if(deathRecordDoc == null || deathRecordDoc.getText() !=null){
             status.set("0");
         }else {
             String timeQm = inputInfo.getLeaveHospitalDoc().getStructureMap().get("签名时间");

+ 12 - 12
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0149.java

@@ -30,20 +30,20 @@ public class LEA0149 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc.getText()==null){
-        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-        BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
-        if(leaveHospitalDoc != null && beHospitalizedDoc != null) {
-            Map<String, String> lhStructureMap = leaveHospitalDoc.getStructureMap();
-            ChiefLabel chiefLabel = beHospitalizedDoc.getChiefLabel();
-            if (lhStructureMap != null && chiefLabel != null) {
-                String bhChief = chiefLabel.getText();
-                String bhThings = lhStructureMap.get("入院情况");
-                if (bhThings.indexOf(bhChief) < 0) {
-                    status.set("-1");
+        if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
+            LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+            BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
+            if (leaveHospitalDoc != null && beHospitalizedDoc != null) {
+                Map<String, String> lhStructureMap = leaveHospitalDoc.getStructureMap();
+                ChiefLabel chiefLabel = beHospitalizedDoc.getChiefLabel();
+                if (lhStructureMap != null && chiefLabel != null) {
+                    String bhChief = chiefLabel.getText();
+                    String bhThings = lhStructureMap.get("入院情况");
+                    if (bhThings.indexOf(bhChief) < 0) {
+                        status.set("-1");
+                    }
                 }
             }
         }
-        }
     }
 }

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0150.java

@@ -18,7 +18,7 @@ public class LEA0150 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc.getText() != null){
+        if(deathRecordDoc == null || deathRecordDoc.getText() != null){
             status.set("0");
         }else {
             String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("入院情况");

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0151.java

@@ -23,7 +23,7 @@ public class LEA0151 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if (deathRecordDoc.getText() != null) {
+        if (deathRecordDoc == null || deathRecordDoc.getText() != null) {
             status.set("0");
         } else {
             String text = inputInfo.getLeaveHospitalDoc().getBeHospitalizedLabel().getText();

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0152.java

@@ -18,7 +18,7 @@ public class LEA0152 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if (deathRecordDoc.getText() != null) {
+        if (deathRecordDoc == null || deathRecordDoc.getText() != null) {
             status.set("0");
         } else {
             String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("诊治经过");

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0153.java

@@ -18,7 +18,7 @@ public class LEA0153 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if (deathRecordDoc.getText() != null) {
+        if (deathRecordDoc == null || deathRecordDoc.getText() != null) {
             status.set("0");
         } else {
             String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("出院情况");

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0154.java

@@ -27,7 +27,7 @@ public class LEA0154 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc.getText() == null){
+        if(deathRecordDoc == null || deathRecordDoc.getText() == null){
             LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
             if(leaveHospitalDoc != null){
                 DiagLabel leaveDiagLabel = leaveHospitalDoc.getLeaveDiagLabel();

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0155.java

@@ -28,7 +28,7 @@ public class LEA0155 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if (deathRecordDoc.getText() == null) {
+        if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
             LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
             if (leaveHospitalDoc != null) {
                 Map<String, String> structureMap = leaveHospitalDoc.getStructureMap();

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0156.java

@@ -27,7 +27,7 @@ public class LEA0156 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc.getText() == null) {
+        if(deathRecordDoc == null || deathRecordDoc.getText() == null) {
             LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
             if (leaveHospitalDoc != null) {
                 Map<String, String> structureMap = leaveHospitalDoc.getStructureMap();

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0396.java

@@ -18,7 +18,7 @@ public class LEA0396 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc.getText() == null){
+        if(deathRecordDoc == null || deathRecordDoc.getText() == null){
             status.set("0");
         }else {
             String time = inputInfo.getLeaveHospitalDoc().getStructureMap().get("出院时间");

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0507.java

@@ -18,7 +18,7 @@ public class LEA0507 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if (deathRecordDoc.getText() == null) {
+        if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
             if (inputInfo.getLeaveHospitalDoc() == null) {
                 status.set("-1");
             }

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0509.java

@@ -23,7 +23,7 @@ public class LEA0509 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc.getText() == null) {
+        if(deathRecordDoc == null || deathRecordDoc.getText() == null) {
             if (inputInfo.getLeaveHospitalDoc() != null || inputInfo.getFirstCourseRecordDoc() != null) {
                 DiagLabel beHospitalizedLabel = inputInfo.getLeaveHospitalDoc().getBeHospitalizedLabel();
                 DiagLabel initialDiagLabel = inputInfo.getFirstCourseRecordDoc().getInitialDiagLabel();

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0514.java

@@ -26,7 +26,7 @@ public class LEA0514 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if (deathRecordDoc.getText() == null) {
+        if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
             if (inputInfo.getLeaveHospitalDoc() != null || inputInfo.getFirstPageRecordDoc() != null) {
                 DiagLabel leaveDiagLabel = inputInfo.getLeaveHospitalDoc().getLeaveDiagLabel();
                 Map<String, Object> firstPageRecordStructureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0515.java

@@ -20,7 +20,7 @@ public class LEA0515 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if (deathRecordDoc.getText() == null) {
+        if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
             if (inputInfo.getLeaveHospitalDoc() != null && inputInfo.getLeaveHospitalDoc().getStructureMap() != null) {
                 Map<String, String> leaveHospitalStructureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
                 if (CatalogueUtil.isEmpty(leaveHospitalStructureMap.get("健康教育(包括饮食指导)"))) {

+ 3 - 2
kernel/src/main/java/com/lantone/qc/kernel/web/controller/QCTestController.java

@@ -150,7 +150,7 @@ public class QCTestController {
                 modeIds.add(r1);
             }
 
-            sql = "select code, name from qc_cases_entry q1, qc_cases_entry_hospital q2 where q1.id = q2.cases_entry_id ";   //查询所有条目
+            sql = "select code, name, precond from qc_cases_entry q1, qc_cases_entry_hospital q2 where q1.id = q2.cases_entry_id ";   //查询所有条目
             if (StringUtils.isNotEmpty(hospitalId)) {
                 sql = sql + " and q2.hospital_id = " + hospitalId;
             }
@@ -159,8 +159,9 @@ public class QCTestController {
             while (rs.next()) {
                 r1 = rs.getString(1);
                 r2 = rs.getString(2);
+                r3 = rs.getString(3);
                 Map<String, String> m = new HashMap<>();
-                m.put("precond", "");
+                m.put("precond", r3);
                 m.put("name", r2);
                 m.put("code", r1);
                 inputCatalogueMap.put(r1, m);

+ 124 - 22
kernel/src/test/java/com/lantone/qc/kernel/DataTest.java

@@ -3,6 +3,8 @@ package com.lantone.qc.kernel;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONException;
 import com.alibaba.fastjson.JSONObject;
+import com.lantone.qc.kernel.model.ImportDiag;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.pub.util.PropertiesUtil;
 
 import java.sql.*;
@@ -19,27 +21,13 @@ public class DataTest {
 
     }
 
-    public static List<Map<String, String>> loadHomePage(String tableName, String patientId) {
+    public static List<Map<String, Object>> loadHomePage(String tableName, String patientId) {
         Connection conn = null;
         Statement stmt = null;
         ResultSet rs = null;
-        List<Map<String, String>> resultList = null;
+        List<Map<String, Object>> resultList = null;
         try {
-            PropertiesUtil propertiesUtil = new PropertiesUtil("kernel.properties");
-            Class.forName(propertiesUtil.getProperty("oracle.test.driver"));
-
-            Properties props = new Properties();
-            String url = propertiesUtil.getProperty("oracle.test.url");
-            // 127.0.0.1是本机地址,1521是Oracle默认连接端口,DATABASE_NAME为实例名(SID)
-            String user = propertiesUtil.getProperty("oracle.test.user");// 用户系统默认的账户名
-            String password = propertiesUtil.getProperty("oracle.test.password");// 你安装时选设置的密码
-            props.put("user", user);
-            props.put("password", password);
-            props.put("defaultRowPrefetch", "15");
-            props.put("remarksReporting", "true");
-            //默认情况下不允许用dba身份连接数据库,通过property设置以实现dba连接
-            conn = DriverManager.getConnection(url, props);
-            System.out.println("connection succeed!");
+            conn = getConnection();
             stmt = conn.createStatement();
 
             DatabaseMetaData dmd = conn.getMetaData();
@@ -53,8 +41,6 @@ public class DataTest {
 
             rs = stmt.executeQuery("select * from " + tableName + " where brzyid = '" + patientId + "'");
             resultList = resultSetToJson(rs, colMap);
-        } catch (SQLException ex) {
-            ex.printStackTrace();
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
@@ -78,14 +64,112 @@ public class DataTest {
         return resultList;
     }
 
-    public static List<Map<String, String>> resultSetToJson(ResultSet rs, Map<String, String> map) throws SQLException, JSONException {
+    public static List<Map<String, String>> loadHomePageDiagnose(String tableName, String zdlbdm, String patientId) {
+        Connection conn = null;
+        Statement stmt = null;
+        ResultSet rs = null;
+        List<Map<String, String>> resultList = new ArrayList<>();
+        try {
+            conn = getConnection();
+            stmt = conn.createStatement();
+            if (zdlbdm.equals("1")) {
+                zdlbdm = "'门诊诊断'";
+            } else if (zdlbdm.equals("2")) {
+                zdlbdm = "'主要诊断','其他诊断'";
+            } else if (zdlbdm.equals("3")) {
+                zdlbdm = "'损伤中毒诊断'";
+            } else if (zdlbdm.equals("4")) {
+                zdlbdm = "'病理诊断'";
+            }
+            rs = stmt.executeQuery("select zdjbmc, icdm from " + tableName + " where zdlbdm in (" + zdlbdm + ") and basyid = '" + patientId + "' order by zdlbdm desc");
+            while (rs.next()) {
+                Map<String, String> map = new LinkedHashMap<>();
+                map.put("诊断名称", rs.getString(1));
+                map.put("诊断编码", rs.getString(2));
+                resultList.add(map);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                if (rs != null) {
+                    rs.close();
+                    rs = null;
+                }
+                if (stmt != null) {
+                    stmt.close();
+                    stmt = null;
+                }
+                if (conn != null) {
+                    conn.close();
+                    conn = null;
+                }
+            } catch (SQLException e) {
+                e.printStackTrace();
+            }
+        }
+        return resultList;
+    }
+
+    public static List<Map<String, String>> loadHomePageOperation(String tableNameOperation, String tableNameUser, String patientId) {
+        Connection conn = null;
+        Statement stmt = null;
+        ResultSet rs = null;
+        List<Map<String, String>> resultList = new ArrayList<>();
+        try {
+            conn = getConnection();
+            stmt = conn.createStatement();
+            rs = stmt.executeQuery("SELECT r.BASYID, r.brssxh, r.BRSSRQ, r.BRSSMC, SSDMID, r.QKDJDM, r.YHDJDM, SSYSID, \n" +
+                    "U1.YHRYMC, r.YZHSID, u3.yhrymc, r.MZYSID, u2.yhrymc, r.MZFFMC  FROM " + tableNameOperation + " r\n" +
+                    "left join " + tableNameUser + " u1 on r.SSYSID = u1.YHRYDM\n" +
+                    "left join " + tableNameUser + " u2 on r.mzysid = u2.YHRYDM\n" +
+                    "left join " + tableNameUser + " u3 on r.yzhsid = u3.YHRYDM\n" +
+                    "where r.BASYID = '" + patientId + "' " +
+                    "order by r.BASYID, r.brssxh");
+            while (rs.next()) {
+                Map<String, String> map = new LinkedHashMap<>();
+                map.put("手术日期", rs.getString(3));
+                map.put("手术名称", rs.getString(4));
+                map.put("手术编码", rs.getString(5));
+                map.put("切口等级", rs.getString(6));
+                map.put("愈合等级", rs.getString(7));
+                map.put("术者", rs.getString(9));
+                map.put("一助", rs.getString(11));
+                map.put("麻醉医师", rs.getString(13));
+                map.put("麻醉方式", rs.getString(14));
+                resultList.add(map);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                if (rs != null) {
+                    rs.close();
+                    rs = null;
+                }
+                if (stmt != null) {
+                    stmt.close();
+                    stmt = null;
+                }
+                if (conn != null) {
+                    conn.close();
+                    conn = null;
+                }
+            } catch (SQLException e) {
+                e.printStackTrace();
+            }
+        }
+        return resultList;
+    }
+
+    public static List<Map<String, Object>> resultSetToJson(ResultSet rs, Map<String, String> map) throws SQLException, JSONException {
         // 获取列数
         ResultSetMetaData metaData = (ResultSetMetaData) rs.getMetaData();
         int columnCount = metaData.getColumnCount();
-        List<Map<String, String>> resultList = new ArrayList<>();
+        List<Map<String, Object>> resultList = new ArrayList<>();
         while (rs.next()) {
             // 遍历ResultSet中的每条数据
-            Map<String, String> result = new LinkedHashMap<>();
+            Map<String, Object> result = new LinkedHashMap<>();
             // 遍历每一列
             for (int i = 1; i <= columnCount; i++) {
                 String columnName = metaData.getColumnLabel(i);
@@ -97,4 +181,22 @@ public class DataTest {
         return resultList;
     }
 
+    private static Connection getConnection() throws Exception {
+        PropertiesUtil propertiesUtil = new PropertiesUtil("kernel.properties");
+        Class.forName(propertiesUtil.getProperty("oracle.test.driver"));
+
+        Properties props = new Properties();
+        String url = propertiesUtil.getProperty("oracle.test.url");
+        // 127.0.0.1是本机地址,1521是Oracle默认连接端口,DATABASE_NAME为实例名(SID)
+        String user = propertiesUtil.getProperty("oracle.test.user");// 用户系统默认的账户名
+        String password = propertiesUtil.getProperty("oracle.test.password");// 你安装时选设置的密码
+        props.put("user", user);
+        props.put("password", password);
+        props.put("defaultRowPrefetch", "15");
+        props.put("remarksReporting", "true");
+        //默认情况下不允许用dba身份连接数据库,通过property设置以实现dba连接
+        Connection conn = DriverManager.getConnection(url, props);
+        return conn;
+    }
+
 }

+ 42 - 20
kernel/src/test/java/com/lantone/qc/kernel/TaizDataImportApiTest.java

@@ -31,23 +31,39 @@ public class TaizDataImportApiTest {
     private static String cid = "changx";
 
     private Map<String,String> caseMap = new HashMap<>();
-
     private List<String> deletePatient = new ArrayList<>();
 
+    private static Map<String, String> tableMap = new HashMap<>();
+
+    private static void initTableMap() {
+        if (cid.equals("changx")) {
+            tableMap.put("BR_INPATIENTINFO", "BR_INPATIENTINFO_CX");//患者信息
+            tableMap.put("GI_USERINFO", "GI_USERINFO_CX"); //医生
+            tableMap.put("HI_DEPTINFO", "HI_DEPTINFO_CX");//科室
+            tableMap.put("BR_RECHOME", "BR_RECHOME_CX");//病案首页
+            tableMap.put("BR_RECDIAGNOSE", "BR_RECDIAGNOSE_CX");//病案首页--出院诊断 门急诊诊断
+            tableMap.put("BR_DOCTADVICE", "BR_DOCTADVICE_CX");//医嘱
+            tableMap.put("BR_RECOPERATION", "BR_RECOPERATION_CX");//病案首页--手术
+        } else if (cid.equals("taizhou")) {
+            tableMap.put("BR_INPATIENTINFO", "BR_INPATIENTINFO_TZ");
+            tableMap.put("GI_USERINFO", "GI_USERINFO_TZ");
+            tableMap.put("HI_DEPTINFO", "HI_DEPTINFO_TZ");
+            tableMap.put("BR_RECHOME", "BR_RECHOME_TZ");
+            tableMap.put("BR_RECDIAGNOSE", "BR_RECDIAGNOSE_TZ");
+            tableMap.put("BR_DOCTADVICE", "BR_DOCTADVICE_TZ");
+            tableMap.put("BR_RECOPERATION", "BR_RECOPERATION_CX");
+        }
+    }
+
     public static void main(String[] args) {
         TaizDataImportApiTest test = new TaizDataImportApiTest();
+        initTableMap();
         //模块映射
         test.loadModelHospital();
-        //长兴患者信息
-        if (cid.equals("changx")) {
-            test.insertPatient(test.loadOraclePatients("BR_INPATIENTINFO_CX"));
-            test.insertDoctor(test.loadOracleDoctorInfos("GI_USERINFO", "HI_DEPTINFO"));
-        }
-        //台州患者信息
-        if (cid.equals("taizhou")) {
-            test.insertPatient(test.loadOraclePatients("BR_INPATIENTINFO_TZ20200330"));
-            test.insertDoctor(test.loadOracleDoctorInfos("GI_USERINFO", "HI_DEPTINFO"));
-        }
+        //患者信息
+        test.insertPatient(test.loadOraclePatients(tableMap.get("BR_INPATIENTINFO")));
+        test.insertDoctor(test.loadOracleDoctorInfos(tableMap.get("GI_USERINFO"), tableMap.get("HI_DEPTINFO")));
+
         //病人流水号获取    病历号--->id
         Map<String, String> patientMap = test.loadPatients(hospitalId);
         //model-->id
@@ -82,24 +98,30 @@ public class TaizDataImportApiTest {
 
     private void insertPatientText(Map<String, String> patientMap, Map<String, String> modelMap) {
         List<Map<String, Object>> list = new ArrayList<>();
-
         for (Map.Entry<String, String> entry : patientMap.entrySet()) {
             List<PatientText> patientTexts = new ArrayList<>();
             //病人的病案首页内容
-            List<Map<String, String>> homePageMap = DataTest.loadHomePage("BR_RECHOME_CX", entry.getKey());
-            if (homePageMap == null || homePageMap.isEmpty()) { //没病案首页直接不导入
+            List<Map<String, Object>> homePageList = DataTest.loadHomePage(tableMap.get("BR_RECHOME"), entry.getKey());
+            if (homePageList == null || homePageList.isEmpty()) { //没病案首页直接不导入
                 deletePatient.add(entry.getKey()); //没病案首页的患者也要删除
                 continue;
             }
+            Map<String, Object> homePageMap = homePageList.get(0);
+            homePageMap.put("门急诊诊断", FastJsonUtils.getBeanToJson(DataTest.loadHomePageDiagnose(tableMap.get("BR_RECDIAGNOSE"), "1", entry.getKey())).replaceAll("\"", "'"));
+            homePageMap.put("出院诊断", FastJsonUtils.getBeanToJson(DataTest.loadHomePageDiagnose(tableMap.get("BR_RECDIAGNOSE"),"2", entry.getKey())).replaceAll("\"", "'"));
+            homePageMap.put("损伤、中毒外部原因", FastJsonUtils.getBeanToJson(DataTest.loadHomePageDiagnose(tableMap.get("BR_RECDIAGNOSE"),"3", entry.getKey())).replaceAll("\"", "'"));
+            homePageMap.put("病理诊断", FastJsonUtils.getBeanToJson(DataTest.loadHomePageDiagnose(tableMap.get("BR_RECDIAGNOSE"), "4", entry.getKey())).replaceAll("\"", "'"));
+            homePageMap.put("手术信息", FastJsonUtils.getBeanToJson(DataTest.loadHomePageOperation(tableMap.get("BR_RECOPERATION"), tableMap.get("GI_USERINFO"), entry.getKey())).replaceAll("\"", "'"));
+
             Map<String, Object> firstPageTextMap = new HashMap<>();
             firstPageTextMap.put("case_number", entry.getKey());
             firstPageTextMap.put("case_number_id", patientMap.get(entry.getKey()));
             firstPageTextMap.put("hospital_id", hospitalId);
             firstPageTextMap.put("mode_id", 6);
             firstPageTextMap.put("origin_mode", "病案首页");
-            firstPageTextMap.put("origin_text", FastJsonUtils.getBeanToJson(homePageMap.get(0)));
+            firstPageTextMap.put("origin_text", FastJsonUtils.getBeanToJson(homePageMap));
             String pagetext = "";
-            for (Map.Entry<String, String> e : homePageMap.get(0).entrySet()) {
+            for (Map.Entry<String, Object> e : homePageMap.entrySet()) {
                 pagetext = pagetext + "【" + e.getKey() + "】:" + e.getValue().toString() + "\n";
             }
             firstPageTextMap.put("text", pagetext);
@@ -116,8 +138,8 @@ public class TaizDataImportApiTest {
             list.add(firstPageTextMap);
 
             //病人医嘱信息
-            List<Map<String, String>> docAdviceMap = DataTest.loadHomePage("BR_DOCTADVICE_CX", entry.getKey());
-            for (Map<String, String> docMap : docAdviceMap) {
+            List<Map<String, Object>> docAdviceMap = DataTest.loadHomePage(tableMap.get("BR_DOCTADVICE"), entry.getKey());
+            for (Map<String, Object> docMap : docAdviceMap) {
                 Map<String, Object> docAdviceTextMap = new HashMap<>();
                 docAdviceTextMap.put("case_number", entry.getKey());
                 docAdviceTextMap.put("case_number_id", patientMap.get(entry.getKey()));
@@ -126,7 +148,7 @@ public class TaizDataImportApiTest {
                 docAdviceTextMap.put("origin_mode", "医嘱信息");
                 docAdviceTextMap.put("origin_text", FastJsonUtils.getBeanToJson(docMap));
                 pagetext = "";
-                for (Map.Entry<String, String> e : docMap.entrySet()) {
+                for (Map.Entry<String, Object> e : docMap.entrySet()) {
                     pagetext = pagetext + "【" + e.getKey() + "】:" + e.getValue().toString() + "\n";
                 }
                 docAdviceTextMap.put("text", pagetext);
@@ -184,7 +206,7 @@ public class TaizDataImportApiTest {
             }
             m.put(modelId, modelId);
         }
-        if (m.get("1") != null && m.get("2") != null && m.get("4") != null && m.get("5") != null) {
+        if (m.get("1") != null && m.get("2") != null && m.get("4") != null && (m.get("5") != null || m.get("24") != null)) {
             return true;
         } else {
             deletePatient.add(patientTexts.get(0).getBrzyid());

+ 10 - 0
kernel/src/test/java/com/lantone/qc/kernel/model/ImportDiag.java

@@ -0,0 +1,10 @@
+package com.lantone.qc.kernel.model;
+
+/**
+ * @ClassName : ImportDiag
+ * @Description :
+ * @Author : 楼辉荣
+ * @Date: 2020-04-05 11:28
+ */
+public class ImportDiag {
+}

+ 5 - 5
trans/src/main/java/com/lantone/qc/trans/changx/ChangxFirstPageRecordDocTrans.java

@@ -23,11 +23,11 @@ public class ChangxFirstPageRecordDocTrans extends ModelDocTrans {
         firstPageRecordDoc.setStructureMap(content);
 
         Map<String, Object> structureExtMap = Maps.newHashMap();
-//        structureExtMap.put(Content.diagnose_cts, FastJsonUtils.getJsonToBean(content.get(Content.diagnose_cts), Object.class));
-//        structureExtMap.put(Content.outpatientEmergencyDiag, FastJsonUtils.getJsonToBean(content.get(Content.outpatientEmergencyDiag), Object.class));
-//        structureExtMap.put(Content.operative_information, FastJsonUtils.getJsonToBean(content.get(Content.operative_information), Object.class));
-//        structureExtMap.put(Content.dischargeDiag, FastJsonUtils.getJsonToBean(content.get(Content.dischargeDiag), Object.class));
-//        structureExtMap.put(Content.pathologyDiagnose, FastJsonUtils.getJsonToBean(content.get(Content.pathologyDiagnose), Object.class));
+        structureExtMap.put(Content.diagnose_cts, FastJsonUtils.getJsonToBean(content.get(Content.diagnose_cts), Object.class));
+        structureExtMap.put(Content.outpatientEmergencyDiag, FastJsonUtils.getJsonToBean(content.get(Content.outpatientEmergencyDiag), Object.class));
+        structureExtMap.put(Content.operative_information, FastJsonUtils.getJsonToBean(content.get(Content.operative_information), Object.class));
+        structureExtMap.put(Content.dischargeDiag, FastJsonUtils.getJsonToBean(content.get(Content.dischargeDiag), Object.class));
+        structureExtMap.put(Content.pathologyDiagnose, FastJsonUtils.getJsonToBean(content.get(Content.pathologyDiagnose), Object.class));
         firstPageRecordDoc.setStructureExtMap(structureExtMap);
         firstPageRecordDoc.setPageData(medrecVo.getContent());
 

+ 2 - 1
trans/src/main/java/com/lantone/qc/trans/changx/util/CxXmlUtilTemp.java

@@ -43,7 +43,8 @@ public class CxXmlUtilTemp {
 
             if (modelName.equals("首次病程录") || modelName.equals("查房记录") || modelName.equals("会诊记录") || modelName.equals("输血记录")
                     || modelName.equals("术前讨论小结") || modelName.equals("阶段小结") || modelName.equals("术后首次谈话及病程录")
-                    || modelName.equals("转出记录") || modelName.equals("输血后效果评价") || modelName.equals("输血后效果评价") || modelName.equals("危急值记录")) {
+                    || modelName.equals("转出记录") || modelName.equals("输血后效果评价") || modelName.equals("输血后效果评价") || modelName.equals("危急值记录")
+                    || modelName.equals("抢救记录") || modelName.equals("死亡病例讨论记录")) {
                 if (rootElement.element("Region") != null && rootElement.element("Region").element("Content_Text") != null) {
                     retMap.put("内容", rootElement.element("Region").element("Content_Text").getText());
                     return retMap;