kongwz 5 lat temu
rodzic
commit
a95b56fb13

+ 40 - 5
kernel/src/main/java/com/lantone/qc/kernel/web/controller/QCTestController.java

@@ -6,6 +6,7 @@ import com.lantone.qc.kernel.util.CacheFileManager;
 import com.lantone.qc.kernel.util.KernelConstants;
 import com.lantone.qc.pub.jdbc.MysqlJdbc;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.entity.Lis;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.QueryVo;
 import com.lantone.qc.pub.res.Response;
@@ -136,7 +137,7 @@ public class QCTestController {
                 inputCatalogueMap.put(r1, m);
             }
 
-            sql = "SELECT h.code, n.case_number, q.name, qmm.origin_text " +
+            sql = "SELECT h.code, n.case_number, q.name, qmm.text " +
                     "FROM qc_model_mapping qmm, qc_mode q, qc_cases_number n, qc_hospital_info h " +
                     "where qmm.case_number_id = n.id and qmm.mode_id = q.id and n.hospital_id = h.id and n.is_deleted = 'N' ";
             if (StringUtils.isNotEmpty(caseNumber)) {
@@ -150,11 +151,13 @@ public class QCTestController {
             rs = st.executeQuery(sql);
             String tempCaseNumber = "", label = "";
             List<String> details = new ArrayList<>();
+            List<String> labels = new ArrayList<>();
             while (rs.next()) {
                 r1 = rs.getString(1);
                 r2 = rs.getString(2);
                 r3 = rs.getString(3);
                 r4 = rs.getString(4);
+                labels.add(r3);
                 if (!tempCaseNumber.equals(String.valueOf(r2)) && StringUtils.isNotEmpty(tempCaseNumber)) {
                     queryVo.setCid(cid);
                     queryVo.setMedrec(medrec);
@@ -178,7 +181,7 @@ public class QCTestController {
                         || r3.equals("术前讨论、术前小结") || r3.equals("麻醉记录") || r3.equals("麻醉知情同意书") || r3.equals("麻醉术前访视记录")
                         || r3.equals("麻醉术后访视记录") || r3.equals("手术知情同意书") || r3.equals("手术记录") || r3.equals("术后首次病程及谈话记录")
                         || r3.equals("手术风险评估表") || r3.equals("手术安全核查表") || r3.equals("转科记录(转入)") || r3.equals("转科记录(转出)")) {
-                    if (!label.equals(String.valueOf(r3)) && StringUtils.isNotEmpty(label)) {
+                    /*if (!label.equals(String.valueOf(r3)) && StringUtils.isNotEmpty(label)) {
                         MedrecVo medrecVo = new MedrecVo();
                         medrecVo.setTitle(label);
                         Map<String, Object> m = new HashMap<>();
@@ -187,9 +190,31 @@ public class QCTestController {
                         medrec.add(medrecVo);
                         details = new ArrayList<>();
                     }
-                    details.add(r4);
+                    details.add(r4);*/
+                    int number = number(labels, r3);
+                    if(number > 1){
+                        for (MedrecVo mev:medrec) {
+                            String title = mev.getTitle();
+                            if(r3.equals(title)){
+                                Map<String, Object> content = mev.getContent();
+                                List contentList = (ArrayList)content.get("content");
+                                contentList.add(r4);
+                                content.put("content",contentList);
+                                mev.setContent(content);
+                            }
+                        }
+                    }else {
+                        MedrecVo medrecVo = new MedrecVo();
+                        medrecVo.setTitle(r3);
+                        Map<String, Object> m = new HashMap<>();
+                        List contentList = new ArrayList();
+                        contentList.add(r4);
+                        m.put("content", contentList);
+                        medrecVo.setContent(m);
+                        medrec.add(medrecVo);
+                    }
                 }
-                label = r3;
+//                label = r3;
                 tempCaseNumber = r2;
             }
 
@@ -207,7 +232,17 @@ public class QCTestController {
         }
         return queryVoMap;
     }
-
+    public int number(List<String> labels,String lab){
+        int initNume = 0;
+        if(labels != null && labels.size()>0){
+            for (String label:labels) {
+                if(label.equals(lab)){
+                    initNume++;
+                }
+            }
+        }
+        return initNume;
+    }
     public Map<String, Map<String, String>> createInputCaseMapping(String hospitalId, String caseNumber) {
         Map<String, Map<String, String>> result = new HashMap<>();
         PropertiesUtil propertiesUtil = new PropertiesUtil("kernel.properties");