diff --git a/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java b/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java index 934cd0b0..e1aeeefc 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java @@ -314,7 +314,8 @@ public class ResetSearchCenterService { } - if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ + if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()) + || "UPDATENONEXISTENT".equals(searchCenter.getExecType().toUpperCase()))){ for(SarStandardsInfo sarStandardsInfoEO : updList){ countUpdateSuccess++; standFunc(sarStandardsInfoEO); @@ -534,7 +535,19 @@ public class ResetSearchCenterService { List> searchListData = elasticsearchService.searchAll("fulltextserch",search); - List esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + List esIdList = new ArrayList<>(); + if("UPDATENONEXISTENT".equals(searchCenter.getExecType().toUpperCase())){ + List> filterList = searchListData.stream().filter(stringObjectMap -> { + if(stringObjectMap.get("standTypeOrder") == null){ + return true; + }else { + return false; + } + }).collect(Collectors.toList()); + esIdList = filterList.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + }else { + esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + } sarLawsInfoEOPage.setLawsType("FOREIGN"); @@ -557,8 +570,9 @@ public class ResetSearchCenterService { if(!esIdList.isEmpty()){ // 交集 更新 + List finalEsIdList = esIdList; List intersection = rowsStand.stream() - .filter(item -> new ArrayList<>(esIdList) + .filter(item -> new ArrayList<>(finalEsIdList) .contains(item.getId())) .collect(Collectors.toList()); if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){ @@ -572,7 +586,8 @@ public class ResetSearchCenterService { } - if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ + if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()) + || "UPDATENONEXISTENT".equals(searchCenter.getExecType().toUpperCase()))){ for(SarLawsStandInfo sarLawsInfoEO : updList){ countUpdateSuccess++; lawsAttrInfoShowSearchDetails(sarLawsInfoEO); @@ -852,7 +867,19 @@ public class ResetSearchCenterService { List> searchListData = elasticsearchService.searchAll("fulltextserch",search); - List esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + List esIdList = new ArrayList<>(); + if("UPDATENONEXISTENT".equals(searchCenter.getExecType().toUpperCase())){ + List> filterList = searchListData.stream().filter(stringObjectMap -> { + if(stringObjectMap.get("standTypeOrder") == null){ + return true; + }else { + return false; + } + }).collect(Collectors.toList()); + esIdList = filterList.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + }else { + esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + } sarBussionessStandEOPage.setValidFlag("0"); sarBussionessStandEOPage.setOrderBy("SAR_BUSSIONESS_STAND.issue_time is null,SAR_BUSSIONESS_STAND.issue_time desc,SAR_BUSSIONESS_STAND.id"); @@ -881,8 +908,9 @@ public class ResetSearchCenterService { if(!esIdList.isEmpty()){ // 交集 更新 + List finalEsIdList = esIdList; List intersection = rowsStand.stream() - .filter(item -> new ArrayList<>(esIdList) + .filter(item -> new ArrayList<>(finalEsIdList) .contains(item.getId())) .collect(Collectors.toList()); if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){ @@ -894,7 +922,8 @@ public class ResetSearchCenterService { } } - if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ + if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()) + || "UPDATENONEXISTENT".equals(searchCenter.getExecType().toUpperCase()))){ for(SarBussionessStand sarBussionessStandEO : updList){ countUpdateSuccess++; bussAttrInfoShowSearchDetails(sarBussionessStandEO);