|
@@ -173,7 +173,7 @@ public class LisConfigFacade{
|
|
|
// 验证数据是否已存在,已存在的先删除
|
|
|
// 没id的删除重新插入,有id的更新
|
|
|
List<Long> deleteIds = Lists.newLinkedList();
|
|
|
- Map<String, Map<String, Map<String, Long>>> configMap
|
|
|
+ Map<String, Map<String, Map<String, List<Long>>>> configMap
|
|
|
= getConfigMap(hosptialId, null, null);
|
|
|
lisConfigList.forEach(lisConfig -> {
|
|
|
lisConfig.setModifier(userId);
|
|
@@ -182,12 +182,12 @@ public class LisConfigFacade{
|
|
|
if (configMap.containsKey(lisConfig.getHisName())) {
|
|
|
if (lisConfig.getHisDetailName() == null
|
|
|
&& configMap.get(lisConfig.getHisName()).containsKey("")) {
|
|
|
- if (configMap.get(lisConfig.getHisName()).get("").containsKey(lisConfig.getUniqueName())) {
|
|
|
- deleteIds.add(configMap.get(lisConfig.getHisName()).get("").get(lisConfig.getUniqueName()));
|
|
|
+ if (ListUtil.isNotEmpty(configMap.get(lisConfig.getHisName()).get("").get(lisConfig.getUniqueName()))) {
|
|
|
+ deleteIds.addAll(configMap.get(lisConfig.getHisName()).get("").get(lisConfig.getUniqueName()));
|
|
|
}
|
|
|
} else if (configMap.get(lisConfig.getHisName()).containsKey(lisConfig.getHisDetailName())) {
|
|
|
- if (configMap.get(lisConfig.getHisName()).get(lisConfig.getHisDetailName()).containsKey(lisConfig.getUniqueName())) {
|
|
|
- deleteIds.add(configMap
|
|
|
+ if (ListUtil.isNotEmpty(configMap.get(lisConfig.getHisName()).get(lisConfig.getHisDetailName()).get(lisConfig.getUniqueName()))) {
|
|
|
+ deleteIds.addAll(configMap
|
|
|
.get(lisConfig.getHisName())
|
|
|
.get(lisConfig.getHisDetailName())
|
|
|
.get(lisConfig.getUniqueName()));
|
|
@@ -330,7 +330,7 @@ public class LisConfigFacade{
|
|
|
// 验证数据是否已存在,已存在的先删除
|
|
|
// 没id的删除重新插入,有id的更新
|
|
|
List<Long> deleteIds = Lists.newLinkedList();
|
|
|
- Map<String, Map<String, Map<String, Long>>> configMap
|
|
|
+ Map<String, Map<String, Map<String, List<Long>>>> configMap
|
|
|
= getConfigMap(Long.valueOf(hospitalId), hisNames, uniqueNames);
|
|
|
lisConfigList.forEach(lisConfig -> {
|
|
|
lisConfig.setHospitalId(Long.valueOf(hospitalId));
|
|
@@ -340,12 +340,12 @@ public class LisConfigFacade{
|
|
|
if (configMap.containsKey(lisConfig.getHisName())) {
|
|
|
if (lisConfig.getHisDetailName() == null
|
|
|
&& configMap.get(lisConfig.getHisName()).containsKey("")) {
|
|
|
- if (configMap.get(lisConfig.getHisName()).get("").containsKey(lisConfig.getUniqueName())) {
|
|
|
- deleteIds.add(configMap.get(lisConfig.getHisName()).get("").get(lisConfig.getUniqueName()));
|
|
|
+ if (ListUtil.isNotEmpty(configMap.get(lisConfig.getHisName()).get("").get(lisConfig.getUniqueName()))) {
|
|
|
+ deleteIds.addAll(configMap.get(lisConfig.getHisName()).get("").get(lisConfig.getUniqueName()));
|
|
|
}
|
|
|
} else if (configMap.get(lisConfig.getHisName()).containsKey(lisConfig.getHisDetailName())) {
|
|
|
- if (configMap.get(lisConfig.getHisName()).get(lisConfig.getHisDetailName()).containsKey(lisConfig.getUniqueName())) {
|
|
|
- deleteIds.add(configMap
|
|
|
+ if (ListUtil.isNotEmpty(configMap.get(lisConfig.getHisName()).get(lisConfig.getHisDetailName()).get(lisConfig.getUniqueName()))) {
|
|
|
+ deleteIds.addAll(configMap
|
|
|
.get(lisConfig.getHisName())
|
|
|
.get(lisConfig.getHisDetailName())
|
|
|
.get(lisConfig.getUniqueName()));
|
|
@@ -408,8 +408,8 @@ public class LisConfigFacade{
|
|
|
* @param uniqueNames
|
|
|
* @return
|
|
|
*/
|
|
|
- public Map<String, Map<String, Map<String, Long>>> getConfigMap(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
|
|
|
- Map<String, Map<String, Map<String, Long>>> retMap = new HashMap<>();
|
|
|
+ public Map<String, Map<String, Map<String, List<Long>>>> getConfigMap(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
|
|
|
+ Map<String, Map<String, Map<String, List<Long>>>> retMap = new HashMap<>();
|
|
|
QueryWrapper<LisConfig> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
.eq("hospital_id", hospitalId);
|
|
@@ -433,14 +433,18 @@ public class LisConfigFacade{
|
|
|
Map<String, List<LisConfig>> hisNameMap = EntityUtil.makeEntityListMap(records, "hisName");
|
|
|
for (Map.Entry<String, List<LisConfig>> entry : hisNameMap.entrySet()) {
|
|
|
if (ListUtil.isNotEmpty(entry.getValue())) {
|
|
|
- Map<String, Map<String, Long>> detailNameMap = new HashMap<>();
|
|
|
+ Map<String, Map<String, List<Long>>> detailNameMap = new HashMap<>();
|
|
|
//his名称映射到标准词,1:n
|
|
|
Map<String, List<LisConfig>> hisDetailNameMap
|
|
|
= EntityUtil.makeEntityListMap(entry.getValue(), "hisDetailName");
|
|
|
for (Map.Entry<String, List<LisConfig>> detailEntry : hisDetailNameMap.entrySet()) {
|
|
|
if (ListUtil.isNotEmpty(detailEntry.getValue())) {
|
|
|
- detailNameMap.put(detailEntry.getKey(),
|
|
|
- EntityUtil.makeMapWithKeyValue(detailEntry.getValue(), "uniqueName", "id"));
|
|
|
+ Map<String, List<LisConfig>> thirdMap = EntityUtil.makeEntityListMap(detailEntry.getValue(), "uniqueName");
|
|
|
+ Map<String, List<Long>> idMap = new HashMap<>();
|
|
|
+ for (Map.Entry<String, List<LisConfig>> thirdEntry : thirdMap.entrySet()) {
|
|
|
+ idMap.put(thirdEntry.getKey(), thirdEntry.getValue().stream().map(i -> i.getId()).distinct().collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ detailNameMap.put(entry.getKey(), idMap);
|
|
|
}
|
|
|
}
|
|
|
retMap.put(entry.getKey(), detailNameMap);
|