Commit 6117b7c3 authored by 刘林's avatar 刘林

fix(大屏):大屏企业统计总数错误,因为officeRegion导致内外不一致问题处理

parent 820360c2
...@@ -528,7 +528,7 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -528,7 +528,7 @@ public class AQZSDPStatisticsServiceImpl {
// tstCommonService.buildExpiryDateQueryBuilder(overdueQuery, "overdue", "licenses", "licenses.expiryDate"); // tstCommonService.buildExpiryDateQueryBuilder(overdueQuery, "overdue", "licenses", "licenses.expiryDate");
Long overNumber = stCommonService.getNestedQueryStatisticCount(overdueQuery, StatisticalAnalysisEnum.person.getKey(), "licenses", "expiryDate", tzsCommonService.overdue); Long overNumber = stCommonService.getNestedQueryStatisticCount(overdueQuery, StatisticalAnalysisEnum.person.getKey(), "licenses", "expiryDate", tzsCommonService.overdue);
BoolQueryBuilder nearQuery = new BoolQueryBuilder(); BoolQueryBuilder nearQuery = new BoolQueryBuilder();
statisticalAnalysisService.personOrgCodeBoolMust(orgCode, nearQuery, StatisticalAnalysisEnum.person.getCode()); statisticalAnalysisService.personOrgCodeBoolMust(orgCode, nearQuery, StatisticalAnalysisEnum.inspectionPerson.getCode(), true);
Long nearNumber = stCommonService.getNestedQueryStatisticCount(nearQuery, StatisticalAnalysisEnum.person.getKey(), "licenses", "expiryDate", tzsCommonService.near); Long nearNumber = stCommonService.getNestedQueryStatisticCount(nearQuery, StatisticalAnalysisEnum.person.getKey(), "licenses", "expiryDate", tzsCommonService.near);
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);
......
...@@ -328,7 +328,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -328,7 +328,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
// 组装人员过滤条件 // 组装人员过滤条件
String orgCode = filter.getString("orgCode"); String orgCode = filter.getString("orgCode");
personOrgCodeBoolMust(orgCode, boolMust, StatisticalAnalysisEnum.person.getCode()); personOrgCodeBoolMust(orgCode, boolMust, StatisticalAnalysisEnum.person.getCode(), true);
this.getPersonBoolQueryBuilder(filterParams, boolMust, filterType); this.getPersonBoolQueryBuilder(filterParams, boolMust, filterType);
if ("custom".equals(filterType)) { if ("custom".equals(filterType)) {
JSONArray leftGroup = filterParams.getJSONArray("group1"); JSONArray leftGroup = filterParams.getJSONArray("group1");
...@@ -409,17 +409,19 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -409,17 +409,19 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return result; return result;
} }
public void personOrgCodeBoolMust(String orgCode, BoolQueryBuilder boolMust, String type) { public void personOrgCodeBoolMust(String orgCode, BoolQueryBuilder boolMust, String type, Boolean isPage) {
String superviseOrgCodeKey = type.equals(StatisticalAnalysisEnum.person.getCode()) ? "superviseOrgCode" : "superviseOrgCode.keyword"; String superviseOrgCodeKey = type.equals(StatisticalAnalysisEnum.person.getCode()) || type.equals(StatisticalAnalysisEnum.inspectionPerson.getCode()) ? "superviseOrgCode" : "superviseOrgCode.keyword";
String officeRegion = commonMapper.getCompanyCodeByOrgCode(orgCode); String officeRegion = commonMapper.getCompanyCodeByOrgCode(orgCode);
BoolQueryBuilder queryBuilder1 = QueryBuilders.boolQuery(); BoolQueryBuilder queryBuilder1 = QueryBuilders.boolQuery();
BoolQueryBuilder queryBuilder2 = QueryBuilders.boolQuery(); BoolQueryBuilder queryBuilder2 = QueryBuilders.boolQuery();
EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder(); EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
queryBuilder1.must(QueryBuilders.termQuery(superviseOrgCodeKey, "50")) queryBuilder1.must(QueryBuilders.prefixQuery(superviseOrgCodeKey, "50"))
.must(QueryBuilders.wildcardQuery("officeRegion", "*" + officeRegion + "*")); .must(QueryBuilders.wildcardQuery("officeRegion", "*" + officeRegion + "*"));
queryBuilder2.mustNot(QueryBuilders.termQuery(superviseOrgCodeKey, "50")) queryBuilder2.mustNot(QueryBuilders.termQuery(superviseOrgCodeKey, "50"))
.must(QueryBuilders.prefixQuery(superviseOrgCodeKey, orgCode)); .must(QueryBuilders.prefixQuery(superviseOrgCodeKey, orgCode));
enhancedDynamicQueryBuilder.add(queryBuilder1, or); if(type.equals(StatisticalAnalysisEnum.inspectionCompany.getCode()) || type.equals(StatisticalAnalysisEnum.inspectionPerson.getCode()) || isPage){
enhancedDynamicQueryBuilder.add(queryBuilder1, or);
}
enhancedDynamicQueryBuilder.add(queryBuilder2, or); enhancedDynamicQueryBuilder.add(queryBuilder2, or);
boolMust.must(enhancedDynamicQueryBuilder.build()); boolMust.must(enhancedDynamicQueryBuilder.build());
} }
...@@ -581,7 +583,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -581,7 +583,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
String orgCode = filter.getString("orgCode"); String orgCode = filter.getString("orgCode");
personOrgCodeBoolMust(orgCode, boolMust, StatisticalAnalysisEnum.company.getCode()); personOrgCodeBoolMust(orgCode, boolMust, StatisticalAnalysisEnum.company.getCode(), true);
JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams"))); JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = filter.getString("filterType"); String filterType = filter.getString("filterType");
...@@ -3219,16 +3221,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3219,16 +3221,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode)); boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
data = queryDpEquipStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpEquipStatistics(filter, request, builder, boolMust, tabTotalMap);
} else if (StatisticalAnalysisEnum.company.getCode().equals(businessType)) { } else if (StatisticalAnalysisEnum.company.getCode().equals(businessType)) {
personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.company.getCode()); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.company.getCode(),false);
data = queryDpCompanyStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpCompanyStatistics(filter, request, builder, boolMust, tabTotalMap);
} else if (StatisticalAnalysisEnum.person.getCode().equals(businessType)) { } else if (StatisticalAnalysisEnum.person.getCode().equals(businessType)) {
personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.person.getCode()); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.person.getCode(),false);
data = queryDpPersonStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpPersonStatistics(filter, request, builder, boolMust, tabTotalMap);
} else if (StatisticalAnalysisEnum.inspectionCompany.getCode().equals(businessType)) { } else if (StatisticalAnalysisEnum.inspectionCompany.getCode().equals(businessType)) {
personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.company.getCode()); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.inspectionCompany.getCode(),false);
data = queryDpInspectionCompanyStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpInspectionCompanyStatistics(filter, request, builder, boolMust, tabTotalMap);
} else { } else {
personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.person.getCode()); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.inspectionPerson.getCode(),false);
data = queryDpInspectionPersonStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpInspectionPersonStatistics(filter, request, builder, boolMust, tabTotalMap);
} }
...@@ -3315,6 +3317,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3315,6 +3317,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
private void getTypeCount(String businessType, Map<String, Object> tabTotalMap, String orgCode, List<Map<String, Object>> data) { private void getTypeCount(String businessType, Map<String, Object> tabTotalMap, String orgCode, List<Map<String, Object>> data) {
String officeRegion = commonMapper.getCompanyCodeByOrgCode(orgCode);
BoolQueryBuilder equipBoolMust = QueryBuilders.boolQuery(); BoolQueryBuilder equipBoolMust = QueryBuilders.boolQuery();
equipBoolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode)); equipBoolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
equipBoolMust.mustNot(QueryBuilders.termsQuery("STATUS", Arrays.asList("草稿", "已拒领", "待认领"))); equipBoolMust.mustNot(QueryBuilders.termsQuery("STATUS", Arrays.asList("草稿", "已拒领", "待认领")));
...@@ -3333,18 +3336,20 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3333,18 +3336,20 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
companyBoolMust.must(companyUnitTypeBoolMust); companyBoolMust.must(companyUnitTypeBoolMust);
BoolQueryBuilder personBoolMust = QueryBuilders.boolQuery(); BoolQueryBuilder personBoolMust = QueryBuilders.boolQuery();
personOrgCodeBoolMust(orgCode, personBoolMust, StatisticalAnalysisEnum.person.getCode()); personOrgCodeBoolMust(orgCode, personBoolMust, StatisticalAnalysisEnum.person.getCode(), false);
personBoolMust.must(companyUnitTypeBoolMust); personBoolMust.must(companyUnitTypeBoolMust);
BoolQueryBuilder inspectionCompanyBoolMust = QueryBuilders.boolQuery(); BoolQueryBuilder inspectionCompanyBoolMust = QueryBuilders.boolQuery();
inspectionCompanyBoolMust.must(QueryBuilders.prefixQuery("superviseOrgCode.keyword", orgCode)); personOrgCodeBoolMust(orgCode, inspectionCompanyBoolMust, StatisticalAnalysisEnum.inspectionCompany.getCode(), false);
inspectionCompanyBoolMust.must(inspectionUnitTypeBoolMust); inspectionCompanyBoolMust.must(inspectionUnitTypeBoolMust);
// inspectionCompanyBoolMust.must(QueryBuilders.wildcardQuery("officeRegion", "*" + officeRegion + "*"));
inspectionCompanyBoolMust.mustNot(QueryBuilders.wildcardQuery("unitType.keyword", "*检验检测机构*")); inspectionCompanyBoolMust.mustNot(QueryBuilders.wildcardQuery("unitType.keyword", "*检验检测机构*"));
BoolQueryBuilder inspectionPersonBoolMust = QueryBuilders.boolQuery(); BoolQueryBuilder inspectionPersonBoolMust = QueryBuilders.boolQuery();
personOrgCodeBoolMust(orgCode, personBoolMust, StatisticalAnalysisEnum.person.getCode()); personOrgCodeBoolMust(orgCode, inspectionPersonBoolMust, StatisticalAnalysisEnum.inspectionPerson.getCode(), false);
inspectionPersonBoolMust.must(inspectionUnitTypeBoolMust); inspectionPersonBoolMust.must(inspectionUnitTypeBoolMust);
// inspectionPersonBoolMust.must(QueryBuilders.wildcardQuery("officeRegion", "*" + officeRegion + "*"));
inspectionPersonBoolMust.mustNot(QueryBuilders.wildcardQuery("unitType.keyword", "*检验检测机构*")); inspectionPersonBoolMust.mustNot(QueryBuilders.wildcardQuery("unitType.keyword", "*检验检测机构*"));
String equipIndex = StatisticalAnalysisEnum.equip.getKey(); String equipIndex = StatisticalAnalysisEnum.equip.getKey();
...@@ -4111,7 +4116,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -4111,7 +4116,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams"))); JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = "advanced"; String filterType = "advanced";
// 组装人员过滤条件 // 组装人员过滤条件
personOrgCodeBoolMust(orgCode, boolQuery, StatisticalAnalysisEnum.person.getCode()); personOrgCodeBoolMust(orgCode, boolQuery, StatisticalAnalysisEnum.person.getCode(), true);
this.getPersonBoolQueryBuilder(filterParams, boolQuery, filterType); this.getPersonBoolQueryBuilder(filterParams, boolQuery, filterType);
// 查询 // 查询
JSONObject expiryDateStatus = this.getExpiryDateStatusGroupStatistics(boolQuery); JSONObject expiryDateStatus = this.getExpiryDateStatusGroupStatistics(boolQuery);
......
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