Browse Source

Merge remote-tracking branch 'origin/beilun/dev' into beilun/dev

wangsy 4 years ago
parent
commit
62f25cfdcc

+ 16 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/consultation/CON0528.java

@@ -1,13 +1,17 @@
 package com.lantone.qc.kernel.catalogue.beilun.consultation;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.util.DateUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.text.ParseException;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 
 /**
@@ -25,6 +29,18 @@ public class CON0528 extends QCCatalogue {
         if (consultationDocs.size() == 0) {
             return;
         }
+        for (ConsultationDoc con : consultationDocs) {
+            if (con.getConsultationResultsDoc() != null) {
+                Map<String, String> structureMap = con.getConsultationResultsDoc().getStructureMap();
+                String applyDate = structureMap.get("申请日期");
+                if (StringUtil.isNotBlank(applyDate) && !"申请日期".equals(applyDate)) {
+                    if (!CatalogueUtil.compareTime(StringUtil.parseDateTime(applyDate), StringUtil.parseDateTime(DateUtil.nowString()),
+                            Long.valueOf(24 * 60))) {//如果接收未超过24小时,规则不判断
+                        return;
+                    }
+                }
+            }
+        }
         long consultationRecordCount = consultationDocs
                 .stream().map(ConsultationDoc::getConsultationRecordDoc).filter(Objects::nonNull).count();
 

+ 11 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR03077.java

@@ -276,6 +276,8 @@ public class THR03077 extends QCCatalogue {
         }
     }
 
+    List<String> usageWords = Lists.newArrayList("WB", "wb");
+
     /**
      * 收集各模块药品信息
      *
@@ -314,6 +316,7 @@ public class THR03077 extends QCCatalogue {
                 }
             }
             wardDrug = removeBracket(wardDrug);
+            String drugUsageWard = wardDrug;
             String drugStandardWord = similarityUtil.getDrugStandardWord(wardDrug);
             if (StringUtil.isNotBlank(drugStandardWord)) {
                 wardDrug = drugStandardWord;
@@ -321,8 +324,14 @@ public class THR03077 extends QCCatalogue {
             if (drug.getConsumption() == null) {
                 concatInfo(dateStr, sb, "用量");
             }
-            if (drug.getUsageWardRound() == null && !content.contains("WB") && !content.contains("wb")) {
-                concatInfo(dateStr, sb, "用法");
+            int index = content.indexOf(drugUsageWard);
+            String drugContent = content.substring(Math.max(0, index));
+            if (drug.getUsageWardRound() == null) {
+                for (String word : usageWords) {
+                    if (!drugContent.contains(word)) {
+                        concatInfo(dateStr, sb, "用法");
+                    }
+                }
             }
             if (drug.getFrequency() == null) {
                 concatInfo(dateStr, sb, "频率");