Commit 82a43ad5 authored by tianyiming's avatar tianyiming

bug修改

parent b99069a8
...@@ -1603,7 +1603,7 @@ ...@@ -1603,7 +1603,7 @@
A.audit_status LIKE'%已完成%' A.audit_status LIKE'%已完成%'
AND b.supervise_org_code LIKE concat ( #{orgCode}, '%' ) AND b.supervise_org_code LIKE concat ( #{orgCode}, '%' )
AND A.apply_type = 'SB_TY' AND A.apply_type = 'SB_TY'
AND A.rec_date > CURDATE ( ) - 30 AND A.auditPassDate > CURDATE ( ) - 30
) )
) )
GROUP BY GROUP BY
...@@ -1632,7 +1632,7 @@ ...@@ -1632,7 +1632,7 @@
A.audit_status LIKE'%已完成%' A.audit_status LIKE'%已完成%'
AND b.supervise_org_code LIKE concat ( #{orgCode}, '%' ) AND b.supervise_org_code LIKE concat ( #{orgCode}, '%' )
AND A.cancel_type = #{cancelType} AND A.cancel_type = #{cancelType}
AND A.rec_date > CURDATE ( ) - 30 AND A.auditPassDate > CURDATE ( ) - 30
) )
) )
GROUP BY GROUP BY
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
tz_base_enterprise_info b tz_base_enterprise_info b
WHERE WHERE
a.unit_code = b.use_unit_code a.unit_code = b.use_unit_code
AND a.status = 6616 AND a.status = '已完成'
and and
(( b.supervise_org_code != '50' AND b.supervise_org_code LIKE CONCAT ( #{orgCode}, '%' ) ) (( b.supervise_org_code != '50' AND b.supervise_org_code LIKE CONCAT ( #{orgCode}, '%' ) )
OR ( b.supervise_org_code = '50' AND b.office_region LIKE CONCAT ( '%', #{regionCode}, '%' ))) OR ( b.supervise_org_code = '50' AND b.office_region LIKE CONCAT ( '%', #{regionCode}, '%' )))
......
package com.yeejoin.amos.boot.module.statistcs.biz.service.impl; package com.yeejoin.amos.boot.module.statistcs.biz.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -516,11 +515,11 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -516,11 +515,11 @@ public class AQZSDPStatisticsServiceImpl {
BoolQueryBuilder overdueQuery = new BoolQueryBuilder(); BoolQueryBuilder overdueQuery = new BoolQueryBuilder();
overdueQuery.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode)); overdueQuery.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
tstCommonService.buildExpiryDateQueryBuilder(overdueQuery, "overdue", "licenses", "licenses.expiryDate"); tstCommonService.buildExpiryDateQueryBuilder(overdueQuery, "overdue", "licenses", "licenses.expiryDate");
Long overNumber = stCommonService.getStatisticCount(overdueQuery, StatisticalAnalysisEnum.person.getKey()); Long overNumber = stCommonService.getNestedQueryStatisticCount(overdueQuery, StatisticalAnalysisEnum.person.getKey(), "licenses", "expiryDate");
BoolQueryBuilder nearQuery = new BoolQueryBuilder(); BoolQueryBuilder nearQuery = new BoolQueryBuilder();
nearQuery.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode)); nearQuery.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
tstCommonService.buildExpiryDateQueryBuilder(overdueQuery, "near", "licenses", "licenses.expiryDate"); tstCommonService.buildExpiryDateQueryBuilder(nearQuery, "near", "licenses", "licenses.expiryDate");
Long nearNumber = stCommonService.getStatisticCount(overdueQuery, StatisticalAnalysisEnum.person.getKey()); Long nearNumber = stCommonService.getNestedQueryStatisticCount(nearQuery, StatisticalAnalysisEnum.person.getKey(), "licenses", "expiryDate");
dataMap.put(IssueTypeEnum.LICENSE_OVERDUE_PERSON.getName(), overNumber); dataMap.put(IssueTypeEnum.LICENSE_OVERDUE_PERSON.getName(), overNumber);
dataMap.put(IssueTypeEnum.LICENSE_EXPIRY_PERSON.getName(), nearNumber); dataMap.put(IssueTypeEnum.LICENSE_EXPIRY_PERSON.getName(), nearNumber);
} }
...@@ -911,7 +910,7 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -911,7 +910,7 @@ public class AQZSDPStatisticsServiceImpl {
dpFilterParamDto.setBeginDate(cn.hutool.core.date.DateUtil.offsetDay(new Date(), -30).toDateStr()); dpFilterParamDto.setBeginDate(cn.hutool.core.date.DateUtil.offsetDay(new Date(), -30).toDateStr());
} }
if (StringUtils.isEmpty(dpFilterParamDto.getEndDate())) { if (StringUtils.isEmpty(dpFilterParamDto.getEndDate())) {
dpFilterParamDto.setEndDate(DateUtil.today()); dpFilterParamDto.setEndDate(cn.hutool.core.date.DateUtil.offsetDay(new Date(), -1).toDateStr());
} }
} }
......
...@@ -504,10 +504,9 @@ public class JGDPStatisticsServiceImpl { ...@@ -504,10 +504,9 @@ public class JGDPStatisticsServiceImpl {
BoolQueryBuilder pipeLengthQuery = new BoolQueryBuilder(); BoolQueryBuilder pipeLengthQuery = new BoolQueryBuilder();
pipeLengthQuery.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode)); pipeLengthQuery.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
pipeLengthQuery.must(QueryBuilders.existsQuery("pipeLength")); pipeLengthQuery.must(QueryBuilders.existsQuery("pipeLength"));
pipeLengthQuery.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
if (isOrgBranchCodeExactMatch) { if (isOrgBranchCodeExactMatch) {
// 按照管辖机构区域信息精确查询 // 按照管辖机构区域信息精确查询
pipeLengthQuery.must(QueryBuilders.termQuery("ORG_BRANCH_CODE", QueryParser.escape(orgCode))); pipeLengthQuery.must(QueryBuilders.termQuery("ORG_BRANCH_CODE", orgCode));
} else { } else {
// 按照管辖机构区域信息模糊查询 // 按照管辖机构区域信息模糊查询
pipeLengthQuery.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode)); pipeLengthQuery.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
......
...@@ -32,6 +32,9 @@ import org.elasticsearch.client.core.CountResponse; ...@@ -32,6 +32,9 @@ import org.elasticsearch.client.core.CountResponse;
import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.aggregations.AggregationBuilders; import org.elasticsearch.search.aggregations.AggregationBuilders;
import org.elasticsearch.search.aggregations.bucket.filter.Filter;
import org.elasticsearch.search.aggregations.bucket.nested.Nested;
import org.elasticsearch.search.aggregations.bucket.nested.NestedAggregationBuilder;
import org.elasticsearch.search.aggregations.bucket.terms.Terms; import org.elasticsearch.search.aggregations.bucket.terms.Terms;
import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder; import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder;
import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.builder.SearchSourceBuilder;
...@@ -330,6 +333,31 @@ public class StCommonServiceImpl { ...@@ -330,6 +333,31 @@ public class StCommonServiceImpl {
return ObjectUtils.isEmpty(response) ? 0 : response.getCount(); return ObjectUtils.isEmpty(response) ? 0 : response.getCount();
} }
public Long getNestedQueryStatisticCount(BoolQueryBuilder builder, String index, String nestedFiled, String filterFiled) {
SearchRequest searchRequest = new SearchRequest(index);
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
// 构建嵌套聚合
NestedAggregationBuilder nestedAgg = AggregationBuilders.nested(nestedFiled, nestedFiled)
.subAggregation(
AggregationBuilders.filter(filterFiled + "_count", builder)
);
sourceBuilder.aggregation(nestedAgg);
sourceBuilder.size(0); // 只要聚合结果,不要文档
searchRequest.source(sourceBuilder);
long count = 0;
try {
SearchResponse response = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
// 解析结果
Nested nestedAggResult = response.getAggregations().get(nestedFiled);
Filter dateRangeFilter = nestedAggResult.getAggregations().get(filterFiled + "_count");
count = dateRangeFilter.getDocCount();
} catch (IOException e) {
throw new RuntimeException(e);
}
return count;
}
/** /**
* 统计已赋码设备数量 * 统计已赋码设备数量
* @param orgCode * @param orgCode
......
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