From 5c08e3d1f6e4bac6a2929b3a378e196ce43ce974 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sat, 30 Apr 2022 23:35:01 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96ES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/search/bean/SearchCenter.java | 4 +- .../server/ResetSearchCenterService.java | 453 +++++++++--------- 2 files changed, 229 insertions(+), 228 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/search/bean/SearchCenter.java b/adc-da-slrs/src/main/java/com/adc/da/search/bean/SearchCenter.java index bcfece35..b9c68e96 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/search/bean/SearchCenter.java +++ b/adc-da-slrs/src/main/java/com/adc/da/search/bean/SearchCenter.java @@ -15,8 +15,8 @@ import java.util.List; @Data public class SearchCenter { - @ApiModelProperty(value = "分页查询总数 可不填 自动带入总数") - private Integer countStand; +// @ApiModelProperty(value = "分页查询总数 可不填 自动带入总数") +// private Integer countStand; @NotNull @ApiModelProperty(value = "执行参数 ALL 存在更新 不存在新增 ,UPD 只 更新存在 es 里的标准 ,ADD 只新增不存在 es 的标准, DEL 只删除不存在标准库的数据(删除只能用DEL 减少自动错删)") 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 b48f4b7f..6f9138d5 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 @@ -70,11 +70,7 @@ public class ResetSearchCenterService { public ResponseMessage resetALLSearchCenter(SearchCenter searchCenter) throws Exception{ Boolean getFulltextserchIndex = elasticsearchService.isIndexExist("fulltextserch"); SearchCenter standSearch = new SearchCenter(); - QueryWrapper qw = new QueryWrapper(); - qw.eq("VALID_FLAG","0"); - int count = iSarStandardsInfoService.count(qw); standSearch.setExecType(searchCenter.getExecType()); - standSearch.setCountStand(count); if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){ standSearch.setIdList(searchCenter.getIdList()); } @@ -86,11 +82,7 @@ public class ResetSearchCenterService { } SearchCenter lawsSearch = new SearchCenter(); - QueryWrapper qw2 = new QueryWrapper(); - qw2.eq("VALID_FLAG","0"); - int count2 = iSarLawsStandInfoService.count(qw2); lawsSearch.setExecType(searchCenter.getExecType()); - lawsSearch.setCountStand(count2); if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){ lawsSearch.setIdList(searchCenter.getIdList()); } @@ -101,11 +93,7 @@ public class ResetSearchCenterService { } SearchCenter bussSearch = new SearchCenter(); - QueryWrapper qw3 = new QueryWrapper(); - qw3.eq("VALID_FLAG","0"); - int count3 = iSarBussionessStandService.count(qw3); bussSearch.setExecType(searchCenter.getExecType()); - bussSearch.setCountStand(count3); if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){ bussSearch.setIdList(searchCenter.getIdList()); } @@ -125,11 +113,7 @@ public class ResetSearchCenterService { public ResponseMessage syncResetALLSearchCenter(SearchCenter searchCenter) throws Exception{ Boolean getFulltextserchIndex = elasticsearchService.isIndexExist("fulltextserch"); SearchCenter standSearch = new SearchCenter(); - QueryWrapper qw = new QueryWrapper(); - qw.eq("VALID_FLAG","0"); - int count = iSarStandardsInfoService.count(qw); standSearch.setExecType(searchCenter.getExecType()); - standSearch.setCountStand(count); SarStandardsInfoEOPage page = new SarStandardsInfoEOPage(); page.setSyncParam("sync"); ResponseMessage stand = resetStandSearchCenter(page,standSearch); @@ -139,11 +123,7 @@ public class ResetSearchCenterService { } SearchCenter lawsSearch = new SearchCenter(); - QueryWrapper qw2 = new QueryWrapper(); - qw2.eq("VALID_FLAG","0"); - int count2 = iSarLawsStandInfoService.count(qw2); lawsSearch.setExecType(searchCenter.getExecType()); - lawsSearch.setCountStand(count2); SarLawsStandInfoPage lawsPage = new SarLawsStandInfoPage(); page.setSyncParam("sync"); ResponseMessage laws = resetLawsSearchCenter(lawsPage,lawsSearch); @@ -152,11 +132,7 @@ public class ResetSearchCenterService { } SearchCenter bussSearch = new SearchCenter(); - QueryWrapper qw3 = new QueryWrapper(); - qw3.eq("VALID_FLAG","0"); - int count3 = iSarBussionessStandService.count(qw3); bussSearch.setExecType(searchCenter.getExecType()); - bussSearch.setCountStand(count3); SarBussionessStandEOPage bussPage = new SarBussionessStandEOPage(); page.setSyncParam("sync"); ResponseMessage buss = resetBussStandSearchCenter(bussPage,bussSearch); @@ -193,85 +169,92 @@ public class ResetSearchCenterService { String[] result = searchCenter.getIdList().toArray(new String[0]); page.setIdlist(result); } + QueryWrapper qw = new QueryWrapper(); + qw.eq("VALID_FLAG","0"); + int count = iSarStandardsInfoService.count(qw); + if(count > 0){ + page.setPageSize(count); + page.setMenuId("nomenu"); + page.setStandType("ALL"); + List rowsStand = iSarStandardsInfoService.getSarStandardsInfoPage(page); + List insList = new ArrayList<>(); + List updList = new ArrayList<>(); + List delList = new ArrayList<>(); + List standIdList = rowsStand.stream().map(SarStandardsInfo::getId).collect(Collectors.toList()); + if(!esIdList.isEmpty()){ - page.setPageSize(searchCenter.getCountStand()); - page.setMenuId("nomenu"); - page.setStandType("ALL"); - List rowsStand = iSarStandardsInfoService.getSarStandardsInfoPage(page); - List insList = new ArrayList<>(); - List updList = new ArrayList<>(); - List delList = new ArrayList<>(); - List standIdList = rowsStand.stream().map(SarStandardsInfo::getId).collect(Collectors.toList()); - if(!esIdList.isEmpty()){ + // 差集 (list1 - list2) 新增 + List distinctByUniqueList = rowsStand.stream() + .filter(item -> !new ArrayList<>(esIdList) + .contains(item.getId())) + .collect(Collectors.toList()); + if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){ + List collect = distinctByUniqueList.stream() + .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); + insList.addAll(collect); + }else{ + insList.addAll(distinctByUniqueList); + } - // 差集 (list1 - list2) 新增 - List distinctByUniqueList = rowsStand.stream() - .filter(item -> !new ArrayList<>(esIdList) - .contains(item.getId())) - .collect(Collectors.toList()); - if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){ - List collect = distinctByUniqueList.stream() - .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); - insList.addAll(collect); - }else{ - insList.addAll(distinctByUniqueList); + // 交集 更新 + List intersection = rowsStand.stream() + .filter(item -> new ArrayList<>(esIdList) + .contains(item.getId())) + .collect(Collectors.toList()); + if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){ + List collect = intersection.stream() + .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); + updList.addAll(collect); + }else{ + updList.addAll(intersection); + } + + // 差集 (list2 - list1) 删除 + List delDataList = esIdList.stream().filter(num -> !standIdList.contains(num)) + .collect(Collectors.toList()); + // 可以更新IDLIST 删除 ES + if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){ + delList.addAll(searchCenter.getIdList()); + }else{ + delList.addAll(delDataList); + } + + }else { + // 新增 + insList.addAll(rowsStand); } - // 交集 更新 - List intersection = rowsStand.stream() - .filter(item -> new ArrayList<>(esIdList) - .contains(item.getId())) - .collect(Collectors.toList()); - if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){ - List collect = intersection.stream() - .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); - updList.addAll(collect); - }else{ - updList.addAll(intersection); + if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ + for(SarStandardsInfo sarStandardsInfoEO : updList){ + countUpdateSuccess++; + if (sarStandardsInfoEO.getAttrInfoMap() != null) { + sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap())); + } + createStandMQService.sendStandMQ(sarStandardsInfoEO,"update"); + } } - // 差集 (list2 - list1) 删除 - List delDataList = esIdList.stream().filter(num -> !standIdList.contains(num)) - .collect(Collectors.toList()); - // 可以更新IDLIST 删除 ES - if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){ - delList.addAll(searchCenter.getIdList()); - }else{ - delList.addAll(delDataList); + if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){ + for(SarStandardsInfo sarStandardsInfoEO : insList){ + countAddSuccess++; + if (sarStandardsInfoEO.getAttrInfoMap() != null) { + sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap())); + } + createStandMQService.sendStandMQ(sarStandardsInfoEO,"add"); + } } + if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){ + elasticsearchService.deleteBatchId(delList,"stand"); + elasticsearchService.deleteBatchId(delList,"fulltextserch"); + logger.info("重置国内外标准:删除-共"+delList.size()+"条数据"); + } + logger.info("重置国内外标准:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外标准共:"+0+"条)删除-共"+delList.size()+"条数据"); + return Result.success("重置国内外标准:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外标准共:"+0+"条)删除-共"+delList.size()+"条数据"); }else { - // 新增 - insList.addAll(rowsStand); + return Result.error("未查询到标准数据"); } - if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ - for(SarStandardsInfo sarStandardsInfoEO : updList){ - countUpdateSuccess++; - if (sarStandardsInfoEO.getAttrInfoMap() != null) { - sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap())); - } - createStandMQService.sendStandMQ(sarStandardsInfoEO,"update"); - } - } - - if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){ - for(SarStandardsInfo sarStandardsInfoEO : insList){ - countAddSuccess++; - if (sarStandardsInfoEO.getAttrInfoMap() != null) { - sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap())); - } - createStandMQService.sendStandMQ(sarStandardsInfoEO,"add"); - } - } - - if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){ - elasticsearchService.deleteBatchId(delList,"stand"); - elasticsearchService.deleteBatchId(delList,"fulltextserch"); - logger.info("重置国内外标准:删除-共"+delList.size()+"条数据"); - } - logger.info("重置国内外标准:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外标准共:"+0+"条)删除-共"+delList.size()+"条数据"); - return Result.success("重置国内外标准:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外标准共:"+0+"条)删除-共"+delList.size()+"条数据"); } @Async @@ -294,83 +277,91 @@ public class ResetSearchCenterService { int countUpdateSuccess = 0; int countAddSuccess = 0; - sarLawsInfoEOPage.setPageSize(searchCenter.getCountStand()); - List rowsStand = iSarLawsStandInfoService.getSarStandardsInfoPage(sarLawsInfoEOPage); - List insList = new ArrayList<>(); - List updList = new ArrayList<>(); - List delList = new ArrayList<>(); - List standIdList = rowsStand.stream().map(SarLawsStandInfo::getId).collect(Collectors.toList()); + QueryWrapper qw2 = new QueryWrapper(); + qw2.eq("VALID_FLAG","0"); + int count2 = iSarLawsStandInfoService.count(qw2); + if(count2 > 0){ + sarLawsInfoEOPage.setPageSize(count2); + List rowsStand = iSarLawsStandInfoService.getSarStandardsInfoPage(sarLawsInfoEOPage); + List insList = new ArrayList<>(); + List updList = new ArrayList<>(); + List delList = new ArrayList<>(); + List standIdList = rowsStand.stream().map(SarLawsStandInfo::getId).collect(Collectors.toList()); - if(!esIdList.isEmpty()){ + if(!esIdList.isEmpty()){ - // 差集 (list1 - list2) 新增 - List distinctByUniqueList = rowsStand.stream() - .filter(item -> !new ArrayList<>(esIdList) - .contains(item.getId())) - .collect(Collectors.toList()); - if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){ - List collect = distinctByUniqueList.stream() - .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); - insList.addAll(collect); - }else{ - insList.addAll(distinctByUniqueList); - } - // 交集 更新 - List intersection = rowsStand.stream() - .filter(item -> new ArrayList<>(esIdList) - .contains(item.getId())) - .collect(Collectors.toList()); - if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){ - List collect = intersection.stream() - .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); - updList.addAll(collect); - }else{ - updList.addAll(intersection); + // 差集 (list1 - list2) 新增 + List distinctByUniqueList = rowsStand.stream() + .filter(item -> !new ArrayList<>(esIdList) + .contains(item.getId())) + .collect(Collectors.toList()); + if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){ + List collect = distinctByUniqueList.stream() + .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); + insList.addAll(collect); + }else{ + insList.addAll(distinctByUniqueList); + } + // 交集 更新 + List intersection = rowsStand.stream() + .filter(item -> new ArrayList<>(esIdList) + .contains(item.getId())) + .collect(Collectors.toList()); + if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){ + List collect = intersection.stream() + .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); + updList.addAll(collect); + }else{ + updList.addAll(intersection); + } + + // 差集 (list2 - list1) 删除 + List delDataList = esIdList.stream().filter(num -> !standIdList.contains(num)) + .collect(Collectors.toList()); + // 可以更新IDLIST 删除 ES + if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){ + delList.addAll(searchCenter.getIdList()); + }else{ + delList.addAll(delDataList); + } + + }else { + // 新增 + insList.addAll(rowsStand); } - // 差集 (list2 - list1) 删除 - List delDataList = esIdList.stream().filter(num -> !standIdList.contains(num)) - .collect(Collectors.toList()); - // 可以更新IDLIST 删除 ES - if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){ - delList.addAll(searchCenter.getIdList()); - }else{ - delList.addAll(delDataList); + if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ + for(SarLawsStandInfo sarLawsInfoEO : updList){ + countUpdateSuccess++; + if (sarLawsInfoEO.getAttrInfoMap() != null) { + sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap())); + } + createStandMQService.sendLawsMQ(sarLawsInfoEO,"update"); + } } + if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){ + for(SarLawsStandInfo sarLawsInfoEO : insList){ + countAddSuccess++; + if (sarLawsInfoEO.getAttrInfoMap() != null) { + sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap())); + } + createStandMQService.sendLawsMQ(sarLawsInfoEO,"add"); + } + } + + if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){ + elasticsearchService.deleteBatchId(delList,"laws"); + elasticsearchService.deleteBatchId(delList,"fulltextserch"); + logger.info("重置国内外政策:删除-共"+delList.size()+"条数据"); + } + + logger.info("重置国内外政策:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外政策共:"+rowsStand.size()+"条)数据"); + return Result.success(""); }else { - // 新增 - insList.addAll(rowsStand); + return Result.error("未查询到国内外政策数据"); } - if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ - for(SarLawsStandInfo sarLawsInfoEO : updList){ - countUpdateSuccess++; - if (sarLawsInfoEO.getAttrInfoMap() != null) { - sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap())); - } - createStandMQService.sendLawsMQ(sarLawsInfoEO,"update"); - } - } - - if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){ - for(SarLawsStandInfo sarLawsInfoEO : insList){ - countAddSuccess++; - if (sarLawsInfoEO.getAttrInfoMap() != null) { - sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap())); - } - createStandMQService.sendLawsMQ(sarLawsInfoEO,"add"); - } - } - - if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){ - elasticsearchService.deleteBatchId(delList,"laws"); - elasticsearchService.deleteBatchId(delList,"fulltextserch"); - logger.info("重置国内外政策:删除-共"+delList.size()+"条数据"); - } - - logger.info("重置国内外政策:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外政策共:"+rowsStand.size()+"条)数据"); - return Result.success(""); } private void idListFunc(SarLawsStandInfoPage sarLawsInfoEOPage, SearchCenter searchCenter) { @@ -404,83 +395,93 @@ public class ResetSearchCenterService { int countUpdateSuccess = 0; int countAddSuccess = 0; sarBussionessStandEOPage.setMenuId("0"); - sarBussionessStandEOPage.setPageSize(searchCenter.getCountStand()); - List rowsStand = iSarBussionessStandService.getSarBussionStandPage(sarBussionessStandEOPage); - List insList = new ArrayList<>(); - List updList = new ArrayList<>(); - List delList = new ArrayList<>(); - List standIdList = rowsStand.stream().map(SarBussionessStand::getId).collect(Collectors.toList()); + QueryWrapper qw3 = new QueryWrapper(); + qw3.eq("VALID_FLAG","0"); + int count3 = iSarBussionessStandService.count(qw3); - if(!esIdList.isEmpty()){ + if(count3 > 0){ + sarBussionessStandEOPage.setPageSize(count3); - // 差集 (list1 - list2) 新增 - List distinctByUniqueList = rowsStand.stream() - .filter(item -> !new ArrayList<>(esIdList) - .contains(item.getId())) - .collect(Collectors.toList()); - if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){ - List collect = distinctByUniqueList.stream() - .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); - insList.addAll(collect); - }else{ - insList.addAll(distinctByUniqueList); + List rowsStand = iSarBussionessStandService.getSarBussionStandPage(sarBussionessStandEOPage); + List insList = new ArrayList<>(); + List updList = new ArrayList<>(); + List delList = new ArrayList<>(); + List standIdList = rowsStand.stream().map(SarBussionessStand::getId).collect(Collectors.toList()); + + if(!esIdList.isEmpty()){ + + // 差集 (list1 - list2) 新增 + List distinctByUniqueList = rowsStand.stream() + .filter(item -> !new ArrayList<>(esIdList) + .contains(item.getId())) + .collect(Collectors.toList()); + if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){ + List collect = distinctByUniqueList.stream() + .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); + insList.addAll(collect); + }else{ + insList.addAll(distinctByUniqueList); + } + + // 交集 更新 + List intersection = rowsStand.stream() + .filter(item -> new ArrayList<>(esIdList) + .contains(item.getId())) + .collect(Collectors.toList()); + if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){ + List collect = intersection.stream() + .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); + updList.addAll(collect); + }else{ + updList.addAll(intersection); + } + + // 差集 (list2 - list1) 删除 + List delDataList = esIdList.stream().filter(num -> !standIdList.contains(num)) + .collect(Collectors.toList()); + // 可以更新IDLIST 删除 ES + if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){ + delList.addAll(searchCenter.getIdList()); + }else{ + delList.addAll(delDataList); + } + }else { + // 新增 + insList.addAll(rowsStand); } - // 交集 更新 - List intersection = rowsStand.stream() - .filter(item -> new ArrayList<>(esIdList) - .contains(item.getId())) - .collect(Collectors.toList()); - if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){ - List collect = intersection.stream() - .filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList()); - updList.addAll(collect); - }else{ - updList.addAll(intersection); + if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ + for(SarBussionessStand sarBussionessStandEO : updList){ + countUpdateSuccess++; + if (sarBussionessStandEO.getAttrInfoMap() != null) { + sarBussionessStandEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarBussionessStandEO.getAttrInfoMap())); + } + createStandMQService.sendBussStandMQ(sarBussionessStandEO,"update"); + } } - // 差集 (list2 - list1) 删除 - List delDataList = esIdList.stream().filter(num -> !standIdList.contains(num)) - .collect(Collectors.toList()); - // 可以更新IDLIST 删除 ES - if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){ - delList.addAll(searchCenter.getIdList()); - }else{ - delList.addAll(delDataList); + if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){ + for(SarBussionessStand sarBussionessStandEO : insList){ + countAddSuccess++; + if (sarBussionessStandEO.getAttrInfoMap() != null) { + sarBussionessStandEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarBussionessStandEO.getAttrInfoMap())); + } + createStandMQService.sendBussStandMQ(sarBussionessStandEO,"add"); + } } + + if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){ + elasticsearchService.deleteBatchId(delList,"bussstand"); + elasticsearchService.deleteBatchId(delList,"fulltextserch"); + logger.info("重置企标:删除-共"+delList.size()+"条数据"); + } + logger.info("重置企标:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(企标共:"+rowsStand.size()+"条)数据"); + return Result.success(""); }else { - // 新增 - insList.addAll(rowsStand); + return Result.error("未查询到企标数据"); } - if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ - for(SarBussionessStand sarBussionessStandEO : updList){ - countUpdateSuccess++; - if (sarBussionessStandEO.getAttrInfoMap() != null) { - sarBussionessStandEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarBussionessStandEO.getAttrInfoMap())); - } - createStandMQService.sendBussStandMQ(sarBussionessStandEO,"update"); - } - } - - if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){ - for(SarBussionessStand sarBussionessStandEO : insList){ - countAddSuccess++; - if (sarBussionessStandEO.getAttrInfoMap() != null) { - sarBussionessStandEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarBussionessStandEO.getAttrInfoMap())); - } - createStandMQService.sendBussStandMQ(sarBussionessStandEO,"add"); - } - } - - if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){ - elasticsearchService.deleteBatchId(delList,"bussstand"); - elasticsearchService.deleteBatchId(delList,"fulltextserch"); - logger.info("重置企标:删除-共"+delList.size()+"条数据"); - } - logger.info("重置企标:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(企标共:"+rowsStand.size()+"条)数据"); - return Result.success(""); } /** From 74366a29c302436c165c6d8899be17cd78aa17ff Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sun, 1 May 2022 00:05:11 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96ES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/adc/da/mq/SendBussMQService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java index f89e3e59..5ca1d5ef 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java @@ -131,7 +131,12 @@ public class SendBussMQService { } saveMap.put("standYear",infoEO.getStandYear()); saveMap.put("stand_year",infoEO.getStandYear()); - saveMap.put("standNumber",infoEO.getStandNumber()); + if(jsonobject.get("standNumber") != null){ + saveMap.put("standNumber",jsonobject.get("standNumber")); + }else { + saveMap.put("standNumber",""); + } + saveMap.put("stand_code",infoEO.getStandCode()); saveMap = dealNumberMsg(saveMap,infoEO,infoEO.getStandSort()); saveMap.put("nameshow",infoEO.getStandName()); From e5e1a5aab8316a06a20b7507116838803dca4503 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sun, 1 May 2022 00:15:39 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96ES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/search/server/ResetSearchCenterService.java | 3 +++ 1 file changed, 3 insertions(+) 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 6f9138d5..b60c00a5 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 @@ -252,6 +252,7 @@ public class ResetSearchCenterService { logger.info("重置国内外标准:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外标准共:"+0+"条)删除-共"+delList.size()+"条数据"); return Result.success("重置国内外标准:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外标准共:"+0+"条)删除-共"+delList.size()+"条数据"); }else { + logger.info("未查询到标准数据"); return Result.error("未查询到标准数据"); } @@ -359,6 +360,7 @@ public class ResetSearchCenterService { logger.info("重置国内外政策:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外政策共:"+rowsStand.size()+"条)数据"); return Result.success(""); }else { + logger.info("未查询到国内外政策数据"); return Result.error("未查询到国内外政策数据"); } @@ -479,6 +481,7 @@ public class ResetSearchCenterService { logger.info("重置企标:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(企标共:"+rowsStand.size()+"条)数据"); return Result.success(""); }else { + logger.info("未查询到企标数据"); return Result.error("未查询到企标数据"); } From 1be6fa65799ba7ed42c200e53865185d9f53ee67 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sun, 1 May 2022 02:24:31 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96ES=20=E5=9D=91aaaaa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/ResetSearchCenterService.java | 262 +++++++++++++++++- .../impl/SarBussionessStandServiceImpl.java | 4 +- .../impl/SarStandardsInfoServiceImpl.java | 14 +- 3 files changed, 269 insertions(+), 11 deletions(-) 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 b60c00a5..92863c62 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 @@ -1,27 +1,42 @@ package com.adc.da.search.server; +import com.adc.da.att.entity.AttFileEO; +import com.adc.da.att.service.IAttFileEOService; import com.adc.da.mq.CreateStandMQService; +import com.adc.da.person.service.IPersonCollectEOService; import com.adc.da.search.bean.SearchCenter; import com.adc.da.search.service.ElasticsearchService; +import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService; +import com.adc.da.slrs.sarLawsAttrInfo.dao.SarLawsAttrInfoDao; import com.adc.da.slrs.sarLawsInfo.entity.SarLawsInfo; import com.adc.da.slrs.sarLawsInfo.page.SarLawsInfoEOPage; +import com.adc.da.slrs.sarLawsItems.dao.SarLawsItemsDao; +import com.adc.da.slrs.sarLawsItems.entity.SarLawsItems; import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage; import com.adc.da.slrs.sarLawsStandInfo.service.ISarLawsStandInfoService; +import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; +import com.adc.da.slrs.sarStandItems.dao.SarStandItemsDao; +import com.adc.da.slrs.sarStandItems.entity.FindSarItemsPageReqDTO; +import com.adc.da.slrs.sarStandItems.entity.SarStandItems; import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfoEOPage; import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; +import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.util.http.ResponseMessage; import com.adc.da.util.http.Result; import com.adc.da.utils.util.DateUtil; +import com.adc.da.utils.util.FieldConvertUtil; +import com.adc.da.utils.util.InitStandAttrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.gson.JsonObject; import org.apache.commons.lang3.StringUtils; import org.elasticsearch.client.transport.TransportClient; +import org.json.JSONTokener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -31,6 +46,7 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.PostConstruct; +import java.sql.Clob; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +64,21 @@ public class ResetSearchCenterService { @Autowired private TransportClient client; + @Autowired + private DicTypeEODao dicTypeEODao; + + @Autowired + private SarStandItemsDao standItemsDao; + + @Autowired + private SarLawsItemsDao sarLawsItemsDao; + + @Autowired + private IAttFileEOService attFileEOService; + + @Autowired + private SarLawsAttrInfoDao sarLawsAttrInfoDao; + @Autowired private ISarStandardsInfoService iSarStandardsInfoService; @@ -60,6 +91,15 @@ public class ResetSearchCenterService { @Autowired private CreateStandMQService createStandMQService; + @Autowired + private IPersonCollectEOService personCollectEOService; + + @Autowired + private SarStandAttrInfoDao sarStandAttrInfoEODao; + + @Autowired + private SarBussStandAttrInfoDao sarBussStandAttrInfoEODao; + @PostConstruct public void init() { @@ -227,9 +267,7 @@ public class ResetSearchCenterService { if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ for(SarStandardsInfo sarStandardsInfoEO : updList){ countUpdateSuccess++; - if (sarStandardsInfoEO.getAttrInfoMap() != null) { - sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap())); - } + standFunc(sarStandardsInfoEO); createStandMQService.sendStandMQ(sarStandardsInfoEO,"update"); } } @@ -237,6 +275,7 @@ public class ResetSearchCenterService { if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){ for(SarStandardsInfo sarStandardsInfoEO : insList){ countAddSuccess++; + standFunc(sarStandardsInfoEO); if (sarStandardsInfoEO.getAttrInfoMap() != null) { sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap())); } @@ -258,6 +297,75 @@ public class ResetSearchCenterService { } + private void standFunc(SarStandardsInfo sarStandardsInfoEO) throws Exception { + attrInfoSearchDetails(sarStandardsInfoEO); + FindSarItemsPageReqDTO pageInfo = new FindSarItemsPageReqDTO(); + pageInfo.setStandId(sarStandardsInfoEO.getId()); + pageInfo.setFileType("FBGBJBD"); + + /** + * SarItemVO换为sarItemVOS + * List sarItemVOS = standItemsDao.querySarItemAndInterpretation(pageInfo); + * .collect(Collectors.toMap(SarItemVO::getItemsNum, SarItemVO::getItemsName)); + */ + + List sarItemVOS = standItemsDao.querySarItemAndInterpretation(pageInfo); + if (!sarItemVOS.isEmpty()) { + Map collectMap = sarItemVOS.stream().filter((e) -> e.getItemsNum() != null && e.getItemsName() != null) + .collect(Collectors.toMap(SarStandItems::getItemsNum, SarStandItems::getTermsConditions)); + sarStandardsInfoEO.setMapItems(collectMap); + } + if (sarStandardsInfoEO.getAttrInfoMap() != null) { + sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap())); + } + } + + public void attrInfoSearchDetails(SarStandardsInfo row) throws Exception { + if (row != null) { + String fieldInfo = InitStandAttrUtil.queryField; + String collectId = personCollectEOService.queryCollectByUserAndId(row.getId()); + row.setCollectId(collectId); + // 查询属性表数据 + if (StringUtils.isNotBlank(fieldInfo)) { + Map getAttrMap = sarStandAttrInfoEODao.selectStandFieldAndData(fieldInfo, row.getId()); + if (InitStandAttrUtil.clobFieldList != null && !InitStandAttrUtil.clobFieldList.isEmpty()) { + // 遍历修改所有clob类型的值 + for (String clobField : InitStandAttrUtil.clobFieldList) { + Clob clobValue = (Clob) getAttrMap.get(clobField); + String fieldValue = FieldConvertUtil.ClobToString(clobValue); + getAttrMap.put(clobField, fieldValue); + } + } + + row.setAttrInfoMap(getAttrMap); + } + + Map getAttrMap = row.getAttrInfoMap(); + if (getAttrMap != null && getAttrMap.size() > 0) { + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + String value = ""; + List valArr = new ArrayList<>(); + if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { + if (StringUtils.isNotBlank(entry.getValue().toString())) { + Object json = new JSONTokener(entry.getValue().toString()).nextValue(); + if (json instanceof org.json.JSONArray) { + valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(), String.class); + } else { + value = entry.getValue().toString(); + valArr = Arrays.asList(value.split(",")); + } + if (!valArr.isEmpty()) { + value = dicTypeEODao.getDicNamesByCodes(valArr, ""); + } + } + entry.setValue(value); + } + } + } + } + } + @Async public ResponseMessage resetLawsSearchCenter(SarLawsStandInfoPage sarLawsInfoEOPage,SearchCenter searchCenter) throws Exception{ Boolean getLawsIndex = elasticsearchService.isIndexExist("laws"); @@ -334,9 +442,7 @@ public class ResetSearchCenterService { if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ for(SarLawsStandInfo sarLawsInfoEO : updList){ countUpdateSuccess++; - if (sarLawsInfoEO.getAttrInfoMap() != null) { - sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap())); - } + lawsAttrInfoShowSearchDetails(sarLawsInfoEO); createStandMQService.sendLawsMQ(sarLawsInfoEO,"update"); } } @@ -344,6 +450,26 @@ public class ResetSearchCenterService { if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){ for(SarLawsStandInfo sarLawsInfoEO : insList){ countAddSuccess++; + lawsAttrInfoShowSearchDetails(sarLawsInfoEO); + FindSarItemsPageReqDTO pageInfo = new FindSarItemsPageReqDTO(); + pageInfo.setStandId(sarLawsInfoEO.getId()); + pageInfo.setFileType("FBGBJBD"); + + /** + * SarItemVO换为sarItemVOS + * List sarItemVOS = standItemsDao.querySarItemAndInterpretation(pageInfo); + * .collect(Collectors.toMap(SarItemVO::getItemsNum, SarItemVO::getItemsName)); + */ + + List sarItemVOS = sarLawsItemsDao.querySarItemAndInterpretation(pageInfo); + if(!sarItemVOS.isEmpty()){ + Map collectMap = sarItemVOS.stream().filter((e) -> e.getItemsNum() != null && e.getItemsName() != null) + .collect(Collectors.toMap(SarLawsItems::getItemsNum, SarLawsItems::getTermsConditions)); + sarLawsInfoEO.setMapItems(collectMap); + } + if (sarLawsInfoEO.getAttrInfoMap() != null) { + sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap())); + } if (sarLawsInfoEO.getAttrInfoMap() != null) { sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap())); } @@ -366,6 +492,79 @@ public class ResetSearchCenterService { } + public void lawsAttrInfoSearchDetails(SarLawsStandInfo row) throws Exception { + String fieldInfo = InitStandAttrUtil.queryFieldLaws; + String collectId = personCollectEOService.queryCollectByUserAndId(row.getId()); + row.setCollectId(collectId); + // 查询属性表数据 + if (org.apache.commons.lang.StringUtils.isNotBlank(fieldInfo)) { + Map getAttrMap = sarLawsAttrInfoDao.selectLawsFieldAndData(fieldInfo, row.getId()); + if (InitStandAttrUtil.clobFieldList != null && !InitStandAttrUtil.clobFieldList.isEmpty()) { + // 遍历修改所有clob类型的值 + for (String clobField : InitStandAttrUtil.clobFieldList) { + Clob clobValue = (Clob) getAttrMap.get(clobField); + String fieldValue = FieldConvertUtil.ClobToString(clobValue); + getAttrMap.put(clobField, fieldValue); + } + } + + if (getAttrMap != null && !getAttrMap.isEmpty()) { + row.setAttrInfoCaseMap(transformUpperCase(getAttrMap)); + } + +// row.setAttrInfoMap(getAttrMap); + } + } + + private Map transformUpperCase(Map orgMap) { + Map resultMap = new HashMap<>(); + + for (Map.Entry entry : orgMap.entrySet()) { + String newKey = entry.getKey().toLowerCase(); + resultMap.put(newKey, orgMap.get(entry.getKey())); + if (entry.getValue() != null && InitStandAttrUtil.fileFieldListLaws != null && !InitStandAttrUtil.fileFieldListLaws.isEmpty() && InitStandAttrUtil.fileFieldListLaws.contains(entry.getKey())) { + String value = entry.getValue().toString(); + if (org.apache.commons.lang.StringUtils.isNotBlank(value)) { + List fileObj = attFileEOService.getMultiFileInfos(value); + if(!fileObj.isEmpty()){ + resultMap.put(newKey + "Name", fileObj.get(0).getOldFileName()); + } + } + } + } + + return resultMap; + } + + public void lawsAttrInfoShowSearchDetails(SarLawsStandInfo row) throws Exception { + if (row != null) { + lawsAttrInfoSearchDetails(row); + Map getAttrMap = row.getAttrInfoCaseMap(); + if (getAttrMap != null && getAttrMap.size() > 0) { + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey().toUpperCase(); + String value = ""; + List valArr = new ArrayList<>(); + if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { + if(org.apache.commons.lang.StringUtils.isNotBlank(entry.getValue().toString())){ + Object json= new JSONTokener(entry.getValue().toString()).nextValue(); + if(json instanceof org.json.JSONArray){ + valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(),String.class); + }else { + value = entry.getValue().toString(); + valArr = Arrays.asList(value.split(",")); + } + if(!valArr.isEmpty()){ + value = dicTypeEODao.getDicNamesByCodes(valArr,""); + } + } + entry.setValue(value); + } + } + } + } + } + private void idListFunc(SarLawsStandInfoPage sarLawsInfoEOPage, SearchCenter searchCenter) { if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){ String[] result = searchCenter.getIdList().toArray(new String[0]); @@ -456,6 +655,7 @@ public class ResetSearchCenterService { if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ for(SarBussionessStand sarBussionessStandEO : updList){ countUpdateSuccess++; + bussAttrInfoShowSearchDetails(sarBussionessStandEO); if (sarBussionessStandEO.getAttrInfoMap() != null) { sarBussionessStandEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarBussionessStandEO.getAttrInfoMap())); } @@ -466,6 +666,7 @@ public class ResetSearchCenterService { if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){ for(SarBussionessStand sarBussionessStandEO : insList){ countAddSuccess++; + bussAttrInfoShowSearchDetails(sarBussionessStandEO); if (sarBussionessStandEO.getAttrInfoMap() != null) { sarBussionessStandEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarBussionessStandEO.getAttrInfoMap())); } @@ -487,6 +688,55 @@ public class ResetSearchCenterService { } + public void bussAttrInfoShowSearchDetails(SarBussionessStand row) throws Exception { + if (row != null) { + bussAttrInfoSearchDetails(row); + Map getAttrMap = row.getAttrInfoCaseMap(); + if (getAttrMap != null && getAttrMap.size() > 0) { + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey().toUpperCase(); + String value = ""; + List valArr = new ArrayList<>(); + if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { + if(org.apache.commons.lang.StringUtils.isNotBlank(entry.getValue().toString())){ + Object json= new JSONTokener(entry.getValue().toString()).nextValue(); + if(json instanceof org.json.JSONArray){ + valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(),String.class); + }else { + value = entry.getValue().toString(); + valArr = Arrays.asList(value.split(",")); + } + if(!valArr.isEmpty()){ + value = dicTypeEODao.getDicNamesByCodes(valArr,""); + } + } + entry.setValue(value); + } + } + } + } + } + + public void bussAttrInfoSearchDetails(SarBussionessStand row) throws Exception { + String fieldInfo = InitStandAttrUtil.queryFieldBuss; + String collectId = personCollectEOService.queryCollectByUserAndId(row.getId()); + row.setCollectId(collectId); + // 查询属性表数据 + if (org.apache.commons.lang.StringUtils.isNotBlank(fieldInfo)) { + Map getAttrMap = sarBussStandAttrInfoEODao.selectStandFieldAndData(fieldInfo, row.getId()); + if (InitStandAttrUtil.clobFieldList != null && !InitStandAttrUtil.clobFieldList.isEmpty()) { + // 遍历修改所有clob类型的值 + for (String clobField : InitStandAttrUtil.clobFieldList) { + Clob clobValue = (Clob) getAttrMap.get(clobField); + String fieldValue = FieldConvertUtil.ClobToString(clobValue); + getAttrMap.put(clobField, fieldValue); + } + } + + row.setAttrInfoMap(getAttrMap); + } + } + /** * 同步添加标准搜索中心数据内容 * @param standId diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index 204645aa..63a74ddf 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -1404,7 +1404,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl