Jelajahi Sumber

其他值提醒输血

gaodm 4 tahun lalu
induk
melakukan
92dbb60e65

+ 62 - 7
src/main/java/com/diagbot/facade/ExportFacade.java

@@ -482,11 +482,11 @@ public class ExportFacade {
         //危急值辅检
         //pacsCriticalValues(mapPath, map);
         //其他值提醒_化验
-        lisOtherValues(mapPath, map);
+        //lisOtherValues(mapPath, map);
         //其他值提醒_辅检
         //pacsOtherValues(mapPath, map);
         //其他值提醒_输血
-        //transfusionOtherValues(mapPath, map);
+        transfusionOtherValues(mapPath, map);
         return null;
     }
 
@@ -839,7 +839,7 @@ public class ExportFacade {
                         }
                     }
                     klRuleBase.setDescription(importDataVO.getLisGBName() + importDataVO.getSymbol()
-                            + importDataVO.getValue() + importDataVO.getUnit());
+                            + importDataVO.getValue() + " " + importDataVO.getUnit());
                     klRuleBaseService.save(klRuleBase);
                     KlRuleCondition klRuleCondition = new KlRuleCondition();
                     klRuleCondition.setGroupType(1);
@@ -860,7 +860,6 @@ public class ExportFacade {
                     } else {
 
                     }
-                    klRuleBase.setDescription(importDataVO.getOtherTipNodeType() + "_" + importDataVO.getOtherTipNodeName());
                     klRuleBaseService.save(klRuleBase);
                     KlRuleCondition klRuleCondition = new KlRuleCondition();
                     klRuleCondition.setGroupType(1);
@@ -868,7 +867,6 @@ public class ExportFacade {
                     klRuleCondition.setRuleBaseId(klRuleBase.getId());
                     klRuleConditionService.save(klRuleCondition);
                 }
-
             }
         }
     }
@@ -977,9 +975,66 @@ public class ExportFacade {
         MultipartFile file = null;
         file = testFacade.getMulFileByPath(mapPath.get("【其他值提醒_输血】"));
         List<ImportDataVO> data = ExcelUtils.importExcel(file, 0, 1, ImportDataVO.class);
-        List<String> lis = new ArrayList<>();
         for (ImportDataVO importDataVO : data) {
-
+            if (null != map.get(importDataVO.getItemName() + "_108")) {
+                KlRule klRule = new KlRule();
+                klRule.setConceptId(map.get(importDataVO.getItemName() + "_108").getId());
+                klRule.setDescription("其他值提醒_输血_" + importDataVO.getItemName().trim());
+                klRule.setRuleType(5);
+                klRule.setHasSubCond(1);
+                if (StringUtil.isNotBlank(importDataVO.getTransfusionType())) {
+                    klRule.setMsg(importDataVO.getTransfusionType().replace("建议输注", ""));
+                }
+                klRuleService.save(klRule);
+                if (StringUtil.isNotBlank(importDataVO.getItemName())
+                        && StringUtil.isNotBlank(importDataVO.getSymbol())) {
+                    KlRuleBase klRuleBase = new KlRuleBase();
+                    klRuleBase.setConceptId(map.get(importDataVO.getItemName() + "_108").getId());
+                    if (operator_lt.contains(importDataVO.getSymbol())) {
+                        klRuleBase.setType(2);
+                        klRuleBase.setMinOperator("<");
+                        klRuleBase.setMinValue(importDataVO.getValue().toString());
+                        if (StringUtil.isNotBlank(importDataVO.getUnit())) {
+                            klRuleBase.setMinUnit(importDataVO.getUnit().trim());
+                        }
+                    }
+                    if (operator_gt.contains(importDataVO.getSymbol())) {
+                        klRuleBase.setType(2);
+                        klRuleBase.setMaxOperator(">");
+                        klRuleBase.setMaxValue(importDataVO.getValue().toString());
+                        if (StringUtil.isNotBlank(importDataVO.getUnit())) {
+                            klRuleBase.setMaxUnit(importDataVO.getUnit().trim());
+                        }
+                    }
+                    klRuleBase.setDescription(importDataVO.getItemName() + importDataVO.getSymbol()
+                            + importDataVO.getValue() + " " + importDataVO.getUnit());
+                    klRuleBaseService.save(klRuleBase);
+                    KlRuleCondition klRuleCondition = new KlRuleCondition();
+                    klRuleCondition.setGroupType(1);
+                    klRuleCondition.setRuleId(klRule.getId());
+                    klRuleCondition.setRuleBaseId(klRuleBase.getId());
+                    klRuleConditionService.save(klRuleCondition);
+                }
+                if (StringUtil.isNotBlank(importDataVO.getDisName())
+                        || StringUtil.isNotBlank(importDataVO.getOperationName())) {
+                    KlRuleBase klRuleBase = new KlRuleBase();
+                    klRuleBase.setType(1);
+                    if (StringUtil.isNotBlank(importDataVO.getDisName())) {
+                        klRuleBase.setConceptId(map.get(importDataVO.getDisName() + "_100").getId());
+                        klRuleBase.setDescription("疾病_" + importDataVO.getDisName());
+                    }
+                    if (StringUtil.isNotBlank(importDataVO.getOperationName())) {
+                        klRuleBase.setConceptId(map.get(importDataVO.getOperationName() + "_106").getId());
+                        klRuleBase.setDescription("操作和手术_" + importDataVO.getOperationName());
+                    }
+                    klRuleBaseService.save(klRuleBase);
+                    KlRuleCondition klRuleCondition = new KlRuleCondition();
+                    klRuleCondition.setGroupType(1);
+                    klRuleCondition.setRuleId(klRule.getId());
+                    klRuleCondition.setRuleBaseId(klRuleBase.getId());
+                    klRuleConditionService.save(klRuleCondition);
+                }
+            }
         }
     }
 

+ 2 - 0
src/main/java/com/diagbot/vo/ImportDataVO.java

@@ -82,6 +82,8 @@ public class ImportDataVO {
     private String sexStr;
     @Excel(name="单位")
     private String unit;
+    @Excel(name="输注类型")
+    private String transfusionType;
 
     @Excel(name="生命体征及查体")
     private String physique;