浏览代码

Merge branch 'dev/neo2mysql20210120' into test

wangfeng 4 年之前
父节点
当前提交
2ad726dd66

+ 1 - 1
cdssman-service/src/main/java/com/diagbot/aggregate/RuleTestAggregate.java

@@ -89,7 +89,7 @@ public class RuleTestAggregate {
      * @param ruleTestVO
      */
     @DataProvider("billRuleTest")
-    public Boolean billRuleTest(@InvokeParameter("ruleTestVO") RuleTestVO ruleTestVO) {
+    public Boolean billRuleTest(@InvokeParameter("billRuleVO") RuleTestVO ruleTestVO) {
         billTestExe(ruleTestVO);
         return true;
     }

+ 2 - 0
cdssman-service/src/main/java/com/diagbot/dto/DiseasePageDTO.java

@@ -32,6 +32,8 @@ public class DiseasePageDTO  {
      */
     private String modifier;
 
+    private String modifierName;
+
     /**
      * 诊断名称
      */

+ 13 - 1
cdssman-service/src/main/java/com/diagbot/facade/KlDiseaseFacade.java

@@ -2,6 +2,7 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.*;
 import com.diagbot.entity.KlConcept;
 import com.diagbot.entity.KlLexiconRelationship;
@@ -13,6 +14,7 @@ import com.diagbot.service.KlLexiconRelationshipService;
 import com.diagbot.service.impl.KlDiseaseServiceImpl;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
+import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.DiseaseDeleteVO;
 import com.diagbot.vo.DiseasePageVO;
@@ -37,6 +39,8 @@ public class KlDiseaseFacade extends KlDiseaseServiceImpl {
     KlLexiconRelationshipFacade klLexiconRelationshipFacade;
     @Autowired
     KlConceptFacade klConceptFacade;
+    @Autowired
+    UserServiceClient userServiceClient;
 
     /**
      * 诊断依据分页查询
@@ -45,7 +49,15 @@ public class KlDiseaseFacade extends KlDiseaseServiceImpl {
      * @return
      */
     public IPage<DiseasePageDTO> getDiseasePageAll(DiseasePageVO klConceptInfoVO) {
-        return this.getDiseasePage(klConceptInfoVO);
+        IPage<DiseasePageDTO> diseasePage = this.getDiseasePage(klConceptInfoVO);
+        List<String> userIds = diseasePage.getRecords().stream()
+                .map(i -> i.getModifier()).distinct().collect(Collectors.toList());
+        RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(userIds);
+        RespDTOUtil.respNGDealCover(respDTO, "获取用户信息失败");
+        diseasePage.getRecords().forEach(i -> {
+            i.setModifierName(respDTO.data.get(i.getModifier()));
+        });
+        return diseasePage;
     }
 
     public List<KlConcept> getDiseaseAll(DiseaseDeleteVO diseaseDeleteVO) {

+ 13 - 10
cdssman-service/src/main/java/com/diagbot/facade/MedRuleConvertFacade.java

@@ -137,12 +137,6 @@ public class MedRuleConvertFacade {
             list = highrisk_operation_distinct(list);
         }
 
-        list.forEach(result->{
-            if(result==null){
-                System.out.println();
-            }
-        });
-
         Map<String, List<RuleDTO>> map = list
                 .stream()
                 .collect(Collectors.groupingBy(k -> k.getRuleId() + "_" + k.getGroupType()));
@@ -196,7 +190,8 @@ public class MedRuleConvertFacade {
                     //年龄转换数值
                     switch (result.getRuleBaseLibName()) {
                         case "新生儿":
-                            result.setRuleBaseInputValue(random(BigDecimal.ZERO, BigDecimal.ONE, false, true).toString());
+                            result.setRuleBaseInputValue(random_int(1, 12, true, true).toString());
+                            result.setRuleBaseUnit("月");
                             break;
                         case "幼儿":
                             result.setRuleBaseInputValue(random_int(1, 6, true, false).toString());
@@ -1308,7 +1303,7 @@ public class MedRuleConvertFacade {
                     billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(), content, lisResult.getRuleMsg(), ConEnum.disease.getName(), null);
                 } else if (ListUtil.isNotEmpty(operationResults)) {
                     ResultRule operationResult = operationResults.get(0);
-                    content +=  ",已开" + operationResult.getRuleBaseHisName();
+                    content += ",已开" + operationResult.getRuleBaseHisName();
                     billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(), content, lisResult.getRuleMsg(), ConEnum.operations.getName(), null);
                 } else {
                     billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(), content, lisResult.getRuleMsg(), ConEnum.lis.getName(), null);
@@ -1705,8 +1700,16 @@ public class MedRuleConvertFacade {
         Integer random_int = random.nextInt(max - min) + min;
 
         //是否包含边界值
-        if (!minBoundary || maxBoundary) {
-            random_int++;
+        if (!minBoundary) {
+            if (maxBoundary) {
+                //左开右闭
+                random_int++;
+            } else {
+                //左开右开
+                if (random_int + 1 < max) {
+                    random_int++;
+                }
+            }
         }
         return random_int;
     }

+ 20 - 10
cdssman-service/src/main/java/com/diagbot/facade/MedSearchDataFacade.java

@@ -152,6 +152,8 @@ public class MedSearchDataFacade {
                     indicationPushVO.getLis().add(lis);
                 } else if (result.getRuleLibType().equals(LexiconEnum.PacsResult.getKey())) {
                     Pacs pacs = new Pacs();
+                    pacs.setName("胸部CT");
+                    pacs.setUniqueName("胸部CT");
                     pacs.setDesc(result.getRuleLibName());
                     pacs.setResult(result.getRuleLibName());
                     indicationPushVO.getPacs().add(pacs);
@@ -163,6 +165,8 @@ public class MedSearchDataFacade {
                 }
                 if (result.getRuleLibType().equals(LexiconEnum.PacsResult.getKey())) {
                     Pacs pacs = new Pacs();
+                    pacs.setName("胸部CT");
+                    pacs.setUniqueName("胸部CT");
                     String pacsResult = result.getRuleLibName();
                     /*if (result.getHasSubCond().equals(1)
                             && result.getRuleBaseLibType().equals(LexiconEnum.PacsResult.getKey())
@@ -210,20 +214,20 @@ public class MedSearchDataFacade {
                 } else if (result.getRuleBaseLibType().equals(LexiconEnum.Medicine.getKey())) {
                     if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
                         if (hospitalId < 0) {
-                            indicationPushVO.setSymptom(indicationPushVO.getSymptom() + "一直服用" + result.getRuleBaseLibName() + ",");
+                            indicationPushVO.setSymptom(indicationPushVO.getSymptom() + "一直服用" + result.getRuleBaseLibName() + ",");
                         } else {
                             indicationPushVO.setSymptom(indicationPushVO.getSymptom() +
                                     (StringUtil.isNotBlank(result.getRuleBaseHisName())
-                                            ? ("一直服用" + result.getRuleBaseHisName() + ",")
+                                            ? ("一直服用" + result.getRuleBaseHisName() + ",")
                                             : ""));
                         }
                     } else if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Allergen.getKey())) {
                         if (hospitalId < 0) {
-                            indicationPushVO.setPasts(indicationPushVO.getPasts() + "对" + result.getRuleBaseLibName() + "过敏,");
+                            indicationPushVO.setPasts(indicationPushVO.getPasts() + "对" + result.getRuleBaseLibName() + "过敏,");
                         } else {
                             indicationPushVO.setPasts(indicationPushVO.getPasts() +
                                     (StringUtil.isNotBlank(result.getRuleBaseHisName())
-                                            ? ("对" + result.getRuleBaseHisName() + "过敏,")
+                                            ? ("对" + result.getRuleBaseHisName() + "过敏,")
                                             : ""));
                         }
                     }
@@ -308,6 +312,8 @@ public class MedSearchDataFacade {
                 } else if (result.getRuleBaseLibType().equals(LexiconEnum.PacsResult.getKey())) {
                     if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
                         Pacs pacs = new Pacs();
+                        pacs.setName("胸部CT");
+                        pacs.setUniqueName("胸部CT");
                         pacs.setDesc(result.getRuleBaseLibName());
                         pacs.setResult(result.getRuleBaseLibName());
                         indicationPushVO.getPacs().add(pacs);
@@ -327,16 +333,20 @@ public class MedSearchDataFacade {
                     if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
                         switch (result.getRuleBaseLibName()) {
                             case "新生儿":
-                                indicationPushVO.setAge(result.getRuleBaseInputValue());
+                                indicationPushVO.setAge(result.getRuleBaseInputValue()
+                                        + (StringUtil.isNotBlank(result.getRuleBaseUnit()) ? result.getRuleBaseUnit() : ""));
                                 break;
                             case "幼儿":
-                                indicationPushVO.setAge(result.getRuleBaseInputValue());
+                                indicationPushVO.setAge(result.getRuleBaseInputValue()
+                                        + (StringUtil.isNotBlank(result.getRuleBaseUnit()) ? result.getRuleBaseUnit() : ""));
                                 break;
                             case "儿童":
-                                indicationPushVO.setAge(result.getRuleBaseInputValue());
+                                indicationPushVO.setAge(result.getRuleBaseInputValue()
+                                        + (StringUtil.isNotBlank(result.getRuleBaseUnit()) ? result.getRuleBaseUnit() : ""));
                                 break;
                             case "成人":
-                                indicationPushVO.setAge(result.getRuleBaseInputValue());
+                                indicationPushVO.setAge(result.getRuleBaseInputValue()
+                                        + (StringUtil.isNotBlank(result.getRuleBaseUnit()) ? result.getRuleBaseUnit() : ""));
                                 break;
                             case "月经期":
                                 indicationPushVO.setSymptom(indicationPushVO.getSymptom() +
@@ -353,11 +363,11 @@ public class MedSearchDataFacade {
                     }
                 } else if (result.getRuleBaseLibType().equals(LexiconEnum.Allergen.getKey())) {
                     if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Allergen.getKey())) {
-                        indicationPushVO.setPasts(indicationPushVO.getPasts() + "对" + result.getRuleBaseLibName() + "过敏,");
+                        indicationPushVO.setPasts(indicationPushVO.getPasts() + "对" + result.getRuleBaseLibName() + "过敏,");
                     }
                 } else if (result.getRuleBaseLibType().equals(LexiconEnum.Device.getKey())) {
                     if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
-                        indicationPushVO.setPasts(indicationPushVO.getPasts() + "有" + result.getRuleBaseLibName() + ",");
+                        indicationPushVO.setPasts(indicationPushVO.getPasts() + "有" + result.getRuleBaseLibName() + ",");
                     }
                 } else if (result.getRuleBaseLibType().equals(LexiconEnum.Age.getKey())) {
                     if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Compare.getKey())) {