From d4b2f09ca9e9caeaf439cb1b3b8a2e9e0d32eb62 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Wed, 15 Nov 2023 18:36:08 +0800 Subject: [PATCH] =?UTF-8?q?bug:=20=E6=90=9C=E7=B4=A2=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=8E=92=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SearchCenterServiceImpl.java | 34 +++++++++++-------- .../java/com/adc/da/mq/SendBussMQService.java | 11 ++++-- .../com/adc/da/mq/SendStandMQService.java | 28 ++++++++++++--- 3 files changed, 51 insertions(+), 22 deletions(-) diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index 61597413..f11eb9d5 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -246,15 +246,15 @@ public class SearchCenterServiceImpl implements SearchCenterService { sortField2 = "lawsYear"; sortField3 = "lawsType.keyword"; } else if("bussstand".equals(searchInfoEO.getSelectIndex())) { - sortField1 = "put_time_data"; - sortField2 = "standNumber"; - sortField3 = "standYear"; - sortField4 = "standSort.keyword"; +// sortField1 = "put_time_data"; + sortField1 = "standNumber"; + sortField2 = "standYear"; + sortField3 = "standSort.keyword"; } else if ("stand".equals(searchInfoEO.getSelectIndex())) { sortField1 = "SSRQName"; - sortField2 = "standNumber"; - sortField3 = "standYear"; - sortField4 = "standSort.keyword"; +// sortField2 = "standNumber"; +// sortField3 = "standYear"; +// sortField4 = "standSort.keyword"; } else { sortField1 = "standNumber"; sortField2 = "standYear"; @@ -305,15 +305,19 @@ public class SearchCenterServiceImpl implements SearchCenterService { } searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex()) - .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) - .addSort(new ScoreSortBuilder().order(SortOrder.DESC)) - .addSort(sortField1, SortOrder.DESC) + .setSearchType(SearchType.DFS_QUERY_THEN_FETCH); + if ("stand".equals(searchInfoEO.getSelectIndex())) { + searchRequestBuilder.addSort(sortField1,SortOrder.DESC); + } else { + searchRequestBuilder.addSort(new ScoreSortBuilder().order(SortOrder.DESC)) .addSort("standSortOrder", SortOrder.ASC) - .addSort(sortField2, SortOrder.ASC) - .addSort(sortField3, SortOrder.DESC) - .addSort(sortField4, SortOrder.ASC) - .addSort("issue_time_data", SortOrder.DESC) - .setFrom((searchInfoEO.getPage()-1) * searchInfoEO.getPageSize()) + .addSort(sortField1, SortOrder.ASC) + .addSort(sortField2, SortOrder.DESC) + .addSort(sortField3, SortOrder.ASC) + .addSort("issue_time_data", SortOrder.DESC); + } + + searchRequestBuilder.setFrom((searchInfoEO.getPage()-1) * searchInfoEO.getPageSize()) .setSize(searchInfoEO.getPageSize()); if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){ 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 f8f7b47a..851df083 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 @@ -115,7 +115,7 @@ public class SendBussMQService { if (issue_time_data != null) { saveMap.put("issue_time_data",issue_time_data.getTime()); }else{ - saveMap.put("issue_time_data",-1000000000000000000L); + saveMap.put("issue_time_data",-100000000L); } //实施日期 高级查询 @@ -134,17 +134,22 @@ public class SendBussMQService { try { putTime = sdf.parse(infoEO.getPutTime()); String putTimeStr = String.valueOf(putTime.getTime()); + saveMap.put("putDate",sdf.format(putTime)); if (putTimeStr.length() > 12) { saveMap.put("put_time_data",putTimeStr); } else { saveMap.put("put_time_data","0" + putTimeStr); + logger.info("前面加零的put_time_data:"+saveMap.get("put_time_data")); } } catch (ParseException e) { - saveMap.put("put_time_data",-1000000000L); + saveMap.put("put_time_data",-100000000L); + saveMap.put("putDate",null); } }else{ - saveMap.put("put_time_data",-1000000000L); + saveMap.put("put_time_data",-100000000L); + saveMap.put("putDate",null); } + logger.info("saveMap实施日期:"+saveMap.get("put_time_data")); saveMap.put("warehousingTime",sdf.format(infoEO.getCreationTime())); // 入库时间 if (infoEO.getCreationTime().getTime() > 12) { saveMap.put("warehousingTimeStamp",infoEO.getCreationTime().getTime()); // 入库时间戳 diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java index dda3b84e..57c2ee7f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java @@ -168,7 +168,7 @@ public class SendStandMQService { if (issue_time_data != null) { saveMap.put("issue_time_data",issue_time_data.getTime()); }else{ - saveMap.put("issue_time_data",-1000000000000000000L); + saveMap.put("issue_time_data",-100000000L); } String standNatureName = ""; if(infoEO.getStandNature() != null && StringUtils.isNotBlank(infoEO.getStandNature())){ @@ -354,10 +354,30 @@ public class SendStandMQService { } } } - if (saveMap.get("SSRQName") != null) { - - saveMap.put("SSRQName", saveMap.get("SSRQName").toString().replace(" ", "")); + // 确保SSRQ字段加入ES中 + Map attrInfoCaseMap = infoEO.getAttrInfoCaseMap(); + logger.info("saveMap.get(SSRQ) = " + saveMap.get("SSRQ")); + if (attrInfoCaseMap.get("SSRQ") != null && StringUtils.isNotBlank(attrInfoCaseMap.get("SSRQ").toString())) { + String ssrqName = ""; + try { + Date parse = sdf.parse(attrInfoCaseMap.get("SSRQ").toString()); + ssrqName = String.valueOf(parse.getTime()); + saveMap.put("putDate", sdf.format(parse)); + // ES中的排序问题,时间戳需要补0 + if (ssrqName.length() <= 12) { + ssrqName = "0" + ssrqName; + } + } catch (ParseException e) { + saveMap.put("putDate", null); + ssrqName = ""; + } + logger.info("SSRQName="+ ssrqName); + saveMap.put("SSRQName", ssrqName); + }else { + saveMap.put("putDate", null); } + logger.info("attrInfoCaseMap:"+ attrInfoCaseMap); + logger.info("SSRQName转换结束"); if("add".equals(addOrUpdate)){ sarStandardsInfoService.insertIntoIndexForMap(saveMap); } else {