Commit 030ef710 authored by tianyiming's avatar tianyiming

修改bug

parent 4b1d4a85
...@@ -971,21 +971,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -971,21 +971,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String path = "techParams"; String path = "techParams";
String nestedFieldKey = path + ".paramKey"; String nestedFieldKey = path + ".paramKey";
String tail = "BIG_DECIMAL".equals(fieldType) ? ".doubleValue" : ".strValue"; String tail = "BIG_DECIMAL".equals(fieldType) ? ".doubleValue" : ".strValue";
NestedQueryBuilder keyNestedQuery = QueryBuilders.nestedQuery( TermsQueryBuilder termsQueryBuilder = QueryBuilders.termsQuery(nestedFieldKey, paramKey);
path,
QueryBuilders.boolQuery().must(QueryBuilders.termsQuery(nestedFieldKey, paramKey)),
ScoreMode.Avg
);
if (isCustom) {
builder.add(keyNestedQuery, andOr);
} else {
boolMust.must(keyNestedQuery);
}
switch (condition) { switch (condition) {
case "eq": case "eq":
NestedQueryBuilder eqQuery = QueryBuilders.nestedQuery( NestedQueryBuilder eqQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.termsQuery(path + tail, value)), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, value)),
ScoreMode.Avg ScoreMode.Avg
); );
if (isCustom) { if (isCustom) {
...@@ -995,10 +986,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -995,10 +986,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
break; break;
case "neq": case "neq":
boolMust.must(keyNestedQuery);
NestedQueryBuilder neqQuery = QueryBuilders.nestedQuery( NestedQueryBuilder neqQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().mustNot(QueryBuilders.termsQuery(path + tail, value)), QueryBuilders.boolQuery().must(termsQueryBuilder).mustNot(QueryBuilders.termsQuery(path + tail, value)),
ScoreMode.Avg ScoreMode.Avg
); );
if (isCustom) { if (isCustom) {
...@@ -1010,7 +1000,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1010,7 +1000,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
case "like": case "like":
NestedQueryBuilder likeQuery = QueryBuilders.nestedQuery( NestedQueryBuilder likeQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.wildcardQuery(path + tail, "*" + value + "*")), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.wildcardQuery(path + tail, "*" + value + "*")),
ScoreMode.Avg ScoreMode.Avg
); );
if (isCustom) { if (isCustom) {
...@@ -1022,7 +1012,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1022,7 +1012,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
case "notLike": case "notLike":
NestedQueryBuilder notLikeQuery = QueryBuilders.nestedQuery( NestedQueryBuilder notLikeQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.wildcardQuery(path + tail, "*" + value + "*")), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.wildcardQuery(path + tail, "*" + value + "*")),
ScoreMode.Avg ScoreMode.Avg
); );
if (isCustom) { if (isCustom) {
...@@ -1034,7 +1024,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1034,7 +1024,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
case "gt": case "gt":
NestedQueryBuilder gtQuery = QueryBuilders.nestedQuery( NestedQueryBuilder gtQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.rangeQuery(path + tail).gt(value.toString()), QueryBuilders.boolQuery().must(termsQueryBuilder).filter(QueryBuilders.rangeQuery(path + tail).gt(value.toString())),
ScoreMode.Avg ScoreMode.Avg
); );
if (isCustom) { if (isCustom) {
...@@ -1046,7 +1036,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1046,7 +1036,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
case "gte": case "gte":
NestedQueryBuilder gteQuery = QueryBuilders.nestedQuery( NestedQueryBuilder gteQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(path + tail).gte(value.toString())), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).gte(value.toString())),
ScoreMode.Avg ScoreMode.Avg
); );
if (isCustom) { if (isCustom) {
...@@ -1058,7 +1048,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1058,7 +1048,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
case "lt": case "lt":
NestedQueryBuilder ltQuery = QueryBuilders.nestedQuery( NestedQueryBuilder ltQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(path + tail).lt(value.toString())), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).lt(value.toString())),
ScoreMode.Avg ScoreMode.Avg
); );
if (isCustom) { if (isCustom) {
...@@ -1070,7 +1060,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1070,7 +1060,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
case "lte": case "lte":
NestedQueryBuilder lteQuery = QueryBuilders.nestedQuery( NestedQueryBuilder lteQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(path + tail).lte(value.toString())), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).lte(value.toString())),
ScoreMode.Avg ScoreMode.Avg
); );
if (isCustom) { if (isCustom) {
...@@ -1083,7 +1073,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1083,7 +1073,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONArray btValues = (JSONArray) value; JSONArray btValues = (JSONArray) value;
NestedQueryBuilder betweenQuery = QueryBuilders.nestedQuery( NestedQueryBuilder betweenQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(path + tail).gte(Double.parseDouble(btValues.get(0).toString())).lte(Double.parseDouble(btValues.get(1).toString()))), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).gte(Double.parseDouble(btValues.get(0).toString())).lte(Double.parseDouble(btValues.get(1).toString()))),
ScoreMode.Avg ScoreMode.Avg
); );
if (isCustom) { if (isCustom) {
...@@ -1096,7 +1086,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1096,7 +1086,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONArray inValues = (JSONArray) value; JSONArray inValues = (JSONArray) value;
NestedQueryBuilder inQuery = QueryBuilders.nestedQuery( NestedQueryBuilder inQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.termsQuery(path + tail, inValues)), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, inValues)),
ScoreMode.Avg ScoreMode.Avg
); );
if (isCustom) { if (isCustom) {
...@@ -1109,7 +1099,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1109,7 +1099,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONArray notInValues = (JSONArray) value; JSONArray notInValues = (JSONArray) value;
NestedQueryBuilder notInQuery = QueryBuilders.nestedQuery( NestedQueryBuilder notInQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.termsQuery(path + tail, notInValues)), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, notInValues)),
ScoreMode.Avg ScoreMode.Avg
); );
if (isCustom) { if (isCustom) {
...@@ -1914,7 +1904,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1914,7 +1904,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
// 开始下载提醒 // 开始下载提醒
this.startDownLoadMsg(fileName, uuid); this.startDownLoadMsg(fileName, uuid);
// 查询数据 // 查询数据
JSONArray records = this.exportDataAsyncBatchSerach(filter); JSONArray records = this.exportDataAsyncBatchSearch(filter);
MultipartFile templateExcelFile; MultipartFile templateExcelFile;
// 数据转化 + 附件生成 // 数据转化 + 附件生成
if (StatisticalAnalysisEnum.equip.getCode().equals(businessType)) { if (StatisticalAnalysisEnum.equip.getCode().equals(businessType)) {
...@@ -1935,11 +1925,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1935,11 +1925,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
.fluentPut("time", new Date().getTime())); .fluentPut("time", new Date().getTime()));
} }
public JSONArray exportDataAsyncBatchSerach(JSONObject filter) { public JSONArray exportDataAsyncBatchSearch(JSONObject filter) {
JSONArray result = new JSONArray(); JSONArray result = new JSONArray();
int PAGE_SIZE = 1000; int pageSize = 1000;
// 查询首页数据 // 查询首页数据
filter.fluentPut("size", PAGE_SIZE).fluentPut("current", 1); filter.fluentPut("size", pageSize).fluentPut("current", 1);
JSONObject jsonData1 = this.queryForPage(filter); JSONObject jsonData1 = this.queryForPage(filter);
// 获取 result -> pageData -> records // 获取 result -> pageData -> records
JSONObject pageData1 = jsonData1.getJSONObject("pageData"); JSONObject pageData1 = jsonData1.getJSONObject("pageData");
...@@ -1947,7 +1937,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1947,7 +1937,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
result.addAll(records1); result.addAll(records1);
long total = pageData1.getLong("total"); long total = pageData1.getLong("total");
int totalPage = (int) Math.ceil((double) total / PAGE_SIZE); int totalPage = (int) Math.ceil((double) total / pageSize);
// 用于收集所有分页结果 // 用于收集所有分页结果
List<CompletableFuture<JSONArray>> futures = new ArrayList<>(); List<CompletableFuture<JSONArray>> futures = new ArrayList<>();
...@@ -1959,7 +1949,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1959,7 +1949,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
CompletableFuture<JSONArray> future = CompletableFuture.supplyAsync(() -> { CompletableFuture<JSONArray> future = CompletableFuture.supplyAsync(() -> {
// 恢复上下文到子线程 // 恢复上下文到子线程
contextWrapper.apply(); contextWrapper.apply();
filter.fluentPut("size", PAGE_SIZE).fluentPut("current", pageIndex); filter.fluentPut("size", pageSize).fluentPut("current", pageIndex);
JSONObject jsonData2 = this.queryForPage(filter); JSONObject jsonData2 = this.queryForPage(filter);
// 获取 result -> pageData -> records // 获取 result -> pageData -> records
JSONObject pageData2 = jsonData2.getJSONObject("pageData"); JSONObject pageData2 = jsonData2.getJSONObject("pageData");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment