zhaops 3 anni fa
parent
commit
2adc861aa8
1 ha cambiato i file con 174 aggiunte e 12 eliminazioni
  1. 174 12
      src/main/java/com/diagbot/aggregate/AssembleAggregate.java

+ 174 - 12
src/main/java/com/diagbot/aggregate/AssembleAggregate.java

@@ -59,6 +59,31 @@ public class AssembleAggregate {
                 List<Lis> convertLis = addUniqueName(searchData.getLisOrder(), lisConfigMap, ConceptTypeEnum.LisPack.getKey());
                 searchData.setLisOrder(convertLis);
             }
+        } else {
+            if (ListUtil.isNotEmpty(searchData.getLis())) {
+                searchData.getLis().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        if (StringUtil.isBlank(item.getDetailName())) {
+                            item.setUniqueName(item.getName());
+                        } else {
+                            item.setUniqueName(item.getDetailName());
+                        }
+                    }
+                });
+            }
+            if (ListUtil.isNotEmpty(searchData.getLisOrder())) {
+                searchData.getLisOrder().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        if (StringUtil.isBlank(item.getDetailName())) {
+                            item.setUniqueName(item.getName());
+                        } else {
+                            item.setUniqueName(item.getDetailName());
+                        }
+                    }
+                });
+            }
         }
         //检查
         if (MapUtils.isNotEmpty(pacsConfigMap)) {
@@ -70,6 +95,23 @@ public class AssembleAggregate {
                 List<Pacs> convertPacs = addUniqueName(searchData.getPacsOrder(), pacsConfigMap, ConceptTypeEnum.Pacs.getKey());
                 searchData.setPacsOrder(convertPacs);
             }
+        } else {
+            if (ListUtil.isNotEmpty(searchData.getPacs())) {
+                searchData.getPacs().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        item.setUniqueName(item.getName());
+                    }
+                });
+            }
+            if (ListUtil.isNotEmpty(searchData.getPacsOrder())) {
+                searchData.getPacsOrder().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        item.setUniqueName(item.getName());
+                    }
+                });
+            }
         }
         //诊断
         if (MapUtils.isNotEmpty(diagConfigMap)) {
@@ -86,6 +128,28 @@ public class AssembleAggregate {
                 List<Item> convertItem = addUniqueName(Lists.newArrayList(searchData.getDiseaseName()), diagConfigMap, ConceptTypeEnum.Disease.getKey());
                 searchData.setDiseaseName(convertItem.get(0));
             }
+        } else {
+            if (ListUtil.isNotEmpty(searchData.getDiag())) {
+                searchData.getDiag().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        item.setUniqueName(item.getName());
+                    }
+                });
+            }
+            if (ListUtil.isNotEmpty(searchData.getDiagOrder())) {
+                searchData.getDiagOrder().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        item.setUniqueName(item.getName());
+                    }
+                });
+            }
+            if (searchData.getDiseaseName() != null
+                    && StringUtil.isNotBlank(searchData.getDiseaseName().getName())
+                    && StringUtil.isBlank(searchData.getDiseaseName().getUniqueName())) {
+                searchData.getDiseaseName().setUniqueName(searchData.getDiseaseName().getName());
+            }
         }
         //药品
         if (MapUtils.isNotEmpty(drugConfigMap)) {
@@ -97,6 +161,23 @@ public class AssembleAggregate {
                 List<Drug> convertItem = addUniqueName(searchData.getDrugOrder(), drugConfigMap, ConceptTypeEnum.Drug.getKey());
                 searchData.setDrugOrder(convertItem);
             }
+        } else {
+            if (ListUtil.isNotEmpty(searchData.getDrug())) {
+                searchData.getDrug().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        item.setUniqueName(item.getName());
+                    }
+                });
+            }
+            if (ListUtil.isNotEmpty(searchData.getDrugOrder())) {
+                searchData.getDrugOrder().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        item.setUniqueName(item.getName());
+                    }
+                });
+            }
         }
         //给药途径,没有映射的数据标准术语名称赋值成医院术语名称
         //if (MapUtils.isNotEmpty(routeConfigMap)) {
@@ -125,6 +206,28 @@ public class AssembleAggregate {
                 List<Item> convertItem = addUniqueName(Lists.newArrayList(searchData.getOperationName()), operationConfigMap, ConceptTypeEnum.Operation.getKey());
                 searchData.setOperationName(convertItem.get(0));
             }
+        } else {
+            if (ListUtil.isNotEmpty(searchData.getOperation())) {
+                searchData.getOperation().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        item.setUniqueName(item.getName());
+                    }
+                });
+            }
+            if (ListUtil.isNotEmpty(searchData.getOperationOrder())) {
+                searchData.getOperationOrder().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        item.setUniqueName(item.getName());
+                    }
+                });
+            }
+            if (searchData.getOperationName() != null
+                    && StringUtil.isNotBlank(searchData.getOperationName().getName())
+                    && StringUtil.isBlank(searchData.getOperationName().getUniqueName())) {
+                searchData.getOperationName().setUniqueName(searchData.getOperationName().getName());
+            }
         }
         //科室
         if (MapUtils.isNotEmpty(deptConfigMap)) {
@@ -132,6 +235,15 @@ public class AssembleAggregate {
                 List<Item> convertItem = addUniqueName(searchData.getDept(), deptConfigMap, ConceptTypeEnum.Dept.getKey());
                 searchData.setDept(convertItem);
             }
+        } else {
+            if (ListUtil.isNotEmpty(searchData.getDept())) {
+                searchData.getDept().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        item.setUniqueName(item.getName());
+                    }
+                });
+            }
         }
         //输血
         if (MapUtils.isNotEmpty(transfusionConfigMap)) {
@@ -143,6 +255,23 @@ public class AssembleAggregate {
                 List<ItemExt> convertItem = addUniqueName(searchData.getTransfusionOrder(), transfusionConfigMap, ConceptTypeEnum.Transfusion.getKey());
                 searchData.setTransfusionOrder(convertItem);
             }
+        } else {
+            if (ListUtil.isNotEmpty(searchData.getTransfusion())) {
+                searchData.getTransfusion().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        item.setUniqueName(item.getName());
+                    }
+                });
+            }
+            if (ListUtil.isNotEmpty(searchData.getTransfusionOrder())) {
+                searchData.getTransfusionOrder().forEach(item -> {
+                    if (StringUtil.isNotBlank(item.getName())
+                            && StringUtil.isBlank(item.getUniqueName())) {
+                        item.setUniqueName(item.getName());
+                    }
+                });
+            }
         }
         return searchData;
     }
@@ -430,9 +559,9 @@ public class AssembleAggregate {
         if (ListUtil.isEmpty(list)) {
             return list;
         }
-        if (configMap == null || configMap.size() == 0) {
+        /*if (configMap == null || configMap.size() == 0) {
             return list;
-        }
+        }*/
 
         try {
             for (T item : list) {
@@ -479,21 +608,42 @@ public class AssembleAggregate {
                                     retList.add(o);
                                 }
                             }
-
                         } else {
                             List<String> standNames = new ArrayList<>(subMap.get(hisDetailName).keySet());
-                            for (String stdName : standNames) {
-                                T o = (T) item.getClass().newInstance();
-                                BeanUtil.copyProperties(item, o);
-                                Method setUniqueName = o.getClass().getMethod("setUniqueName", String.class);
-                                setUniqueName.invoke(o, stdName);
-                                retList.add(o);
+                            if (ListUtil.isNotEmpty(standNames)) {
+                                for (String stdName : standNames) {
+                                    T o = (T) item.getClass().newInstance();
+                                    BeanUtil.copyProperties(item, o);
+                                    Method setUniqueName = o.getClass().getMethod("setUniqueName", String.class);
+                                    setUniqueName.invoke(o, stdName);
+                                    retList.add(o);
+                                }
+                            } else {
+                                Method setUniqueName = item.getClass().getMethod("setUniqueName", String.class);
+                                if (StringUtil.isBlank(hisDetailName)) {
+                                    setUniqueName.invoke(item, name);
+                                } else {
+                                    setUniqueName.invoke(item, hisDetailName);
+                                }
+                                retList.add(item);
                             }
                         }
                     } else {
+                        Method setUniqueName = item.getClass().getMethod("setUniqueName", String.class);
+                        if (StringUtil.isBlank(hisDetailName)) {
+                            setUniqueName.invoke(item, name);
+                        } else {
+                            setUniqueName.invoke(item, hisDetailName);
+                        }
                         retList.add(item);
                     }
                 } else {
+                    Method setUniqueName = item.getClass().getMethod("setUniqueName", String.class);
+                    if (StringUtil.isBlank(hisDetailName)) {
+                        setUniqueName.invoke(item, name);
+                    } else {
+                        setUniqueName.invoke(item, hisDetailName);
+                    }
                     retList.add(item);
                 }
             }
@@ -551,16 +701,28 @@ public class AssembleAggregate {
                             setUniqueName.invoke(o, name);
                             retList.add(o);
                         } else {
-                            for (String stdName : standNames) {
+                            if (ListUtil.isNotEmpty(standNames)) {
+                                for (String stdName : standNames) {
+                                    T o = (T) item.getClass().newInstance();
+                                    BeanUtil.copyProperties(item, o);
+                                    Method setUniqueName = o.getClass().getMethod("set" + uniqueFieldName.substring(0, 1).toUpperCase() + uniqueFieldName.substring(1), String.class);
+                                    setUniqueName.invoke(o, stdName);
+                                    retList.add(o);
+                                }
+                            } else {
                                 T o = (T) item.getClass().newInstance();
                                 BeanUtil.copyProperties(item, o);
                                 Method setUniqueName = o.getClass().getMethod("set" + uniqueFieldName.substring(0, 1).toUpperCase() + uniqueFieldName.substring(1), String.class);
-                                setUniqueName.invoke(o, stdName);
+                                setUniqueName.invoke(o, name);
                                 retList.add(o);
                             }
                         }
                     } else {
-                        retList.add(item);
+                        T o = (T) item.getClass().newInstance();
+                        BeanUtil.copyProperties(item, o);
+                        Method setUniqueName = o.getClass().getMethod("set" + uniqueFieldName.substring(0, 1).toUpperCase() + uniqueFieldName.substring(1), String.class);
+                        setUniqueName.invoke(o, name);
+                        retList.add(o);
                     }
                 } else {
                     T o = (T) item.getClass().newInstance();