Browse Source

bug修复

zhoutg 3 years ago
parent
commit
b67006d648
1 changed files with 44 additions and 41 deletions
  1. 44 41
      src/main/java/com/diagbot/process/PushProcess.java

+ 44 - 41
src/main/java/com/diagbot/process/PushProcess.java

@@ -508,47 +508,50 @@ public class PushProcess {
             RuleBaseDTO ruleBaseDTO = new RuleBaseDTO();
             BeanUtil.copyProperties(base, ruleBaseDTO);
             String baseIds = base.getIds();
-            switch (BaseDiagnoseTypeEnum.getEnum(base.getBaseType())) {
-                case equals: // 等于术语本身
-                    switch (LexiconEnum.getEnum(base.getBaseLibType())) {
-                        case Symptom: // 症状
-                            commonRule.compareNameWithPush(clinicals, ruleBaseDTO, baseIdList, baseIds);
-                            break;
-                        case Disease: // 疾病【病史】
-                            commonRule.compareNameWithPush(wordCrfDTO.getPastLabel().getDiags(), ruleBaseDTO, baseIdList, baseIds);
-                            break;
-                        case VitalResult: // 体格检查结果
-                            vitalRule.push(wordCrfDTO.getVitalLabel(), ruleBaseDTO, baseIdList, baseIds);
-                            break;
-                        case Group: // 人群
-                            groupRule.push(wordCrfDTO, ruleBaseDTO, baseIdList, baseIds);
-                            break;
-                        case PacsResult: // 辅助检查结果
-                            commonRule.compareItemWithPush(wordCrfDTO.getPacsLabel().getRes(), ruleBaseDTO, baseIdList, baseIds);
-                            break;
-                    }
-                    break;
-                case compare: // 比较
-                    switch (LexiconEnum.getEnum(base.getBaseLibType())) {
-                        case LisSubName: // 化验
-                            lisRule.push(wordCrfDTO.getLis(), ruleBaseDTO, baseIdList, baseIds);
-                            break;
-                        case Age: // 年龄
-                            ageRule.push(wordCrfDTO, ruleBaseDTO, baseIdList, baseIds);
-                            break;
-                        case Vital: // 体格检查项目
-                            vitalRule.push(wordCrfDTO.getVitalLabel(), ruleBaseDTO, baseIdList, baseIds);
-                            break;
-                    }
-                    break;
-                case regexChiefSymptom: // 主诉现病史正则
-                    commonRule.getRegexResPush(wordCrfDTO.getChief() + wordCrfDTO.getSymptom(),
-                            base.getBaseEqValue(), baseIdList, baseIds);
-                    break;
-                case regexPast: // 既往史正则
-                    commonRule.getRegexResPush(wordCrfDTO.getPasts() + wordCrfDTO.getPersonal() + wordCrfDTO.getMenstrual() + wordCrfDTO.getMarital() + wordCrfDTO.getFamily(),
-                            base.getBaseEqValue(), baseIdList, baseIds);
-                    break;
+            BaseDiagnoseTypeEnum diagnoseTypeEnum = BaseDiagnoseTypeEnum.getEnum(base.getBaseType());
+            if (diagnoseTypeEnum != null) {
+                switch (diagnoseTypeEnum) {
+                    case equals: // 等于术语本身
+                        switch (LexiconEnum.getEnum(base.getBaseLibType())) {
+                            case Symptom: // 症状
+                                commonRule.compareNameWithPush(clinicals, ruleBaseDTO, baseIdList, baseIds);
+                                break;
+                            case Disease: // 疾病【病史】
+                                commonRule.compareNameWithPush(wordCrfDTO.getPastLabel().getDiags(), ruleBaseDTO, baseIdList, baseIds);
+                                break;
+                            case VitalResult: // 体格检查结果
+                                vitalRule.push(wordCrfDTO.getVitalLabel(), ruleBaseDTO, baseIdList, baseIds);
+                                break;
+                            case Group: // 人群
+                                groupRule.push(wordCrfDTO, ruleBaseDTO, baseIdList, baseIds);
+                                break;
+                            case PacsResult: // 辅助检查结果
+                                commonRule.compareItemWithPush(wordCrfDTO.getPacsLabel().getRes(), ruleBaseDTO, baseIdList, baseIds);
+                                break;
+                        }
+                        break;
+                    case compare: // 比较
+                        switch (LexiconEnum.getEnum(base.getBaseLibType())) {
+                            case LisSubName: // 化验
+                                lisRule.push(wordCrfDTO.getLis(), ruleBaseDTO, baseIdList, baseIds);
+                                break;
+                            case Age: // 年龄
+                                ageRule.push(wordCrfDTO, ruleBaseDTO, baseIdList, baseIds);
+                                break;
+                            case Vital: // 体格检查项目
+                                vitalRule.push(wordCrfDTO.getVitalLabel(), ruleBaseDTO, baseIdList, baseIds);
+                                break;
+                        }
+                        break;
+                    case regexChiefSymptom: // 主诉现病史正则
+                        commonRule.getRegexResPush(wordCrfDTO.getChief() + wordCrfDTO.getSymptom(),
+                                base.getBaseEqValue(), baseIdList, baseIds);
+                        break;
+                    case regexPast: // 既往史正则
+                        commonRule.getRegexResPush(wordCrfDTO.getPasts() + wordCrfDTO.getPersonal() + wordCrfDTO.getMenstrual() + wordCrfDTO.getMarital() + wordCrfDTO.getFamily(),
+                                base.getBaseEqValue(), baseIdList, baseIds);
+                        break;
+                }
             }
         }
         // 根据诊断依据推送诊断