Commit 09b2e629 authored by tianyiming's avatar tianyiming

bug修改

parent cd0c4552
...@@ -366,17 +366,15 @@ ...@@ -366,17 +366,15 @@
WHERE WHERE
T.status = '已完成' T.status = '已完成'
AND T.is_delete = 0 AND T.is_delete = 0
AND T.receive_company_org_code LIKE CONCAT ( #{orgCode}, '%' ) UNION ALL AND T.supervision_org_code LIKE CONCAT ( #{orgCode}, '%' ) UNION ALL
SELECT COUNT SELECT COUNT
( 1 ) ( 1 )
FROM FROM
tzs_jg_vehicle_information T, tzs_jg_vehicle_information T,
privilege_company pc
WHERE WHERE
T.status = '已完成' T.status = '已完成'
AND T.is_delete = 0 AND T.is_delete = 0
AND T.receive_company_code = pc.company_code AND T.org_branch_code LIKE concat ( #{orgCode}, '%' )
AND pc.org_code LIKE concat ( #{orgCode}, '%' )
) )
</select> </select>
<select id="over15yearsCount" resultType="java.lang.Long"> <select id="over15yearsCount" resultType="java.lang.Long">
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
((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}, '%')))
AND (b.unit_type LIKE '%检验机构%' OR b.unit_type LIKE '%检测机构%') AND (b.unit_type LIKE '%检验机构%' OR b.unit_type LIKE '%检测机构%')
AND b.unit_type NOT LIKE '%检验检测机构%'
</select> </select>
<select id="countAllRegThirdInspectCompany" resultType="java.lang.Long"> <select id="countAllRegThirdInspectCompany" resultType="java.lang.Long">
SELECT SELECT
...@@ -25,6 +26,7 @@ ...@@ -25,6 +26,7 @@
#{code} #{code}
</foreach> </foreach>
AND (b.unit_type LIKE '%检验机构%' OR b.unit_type LIKE '%检测机构%') AND (b.unit_type LIKE '%检验机构%' OR b.unit_type LIKE '%检测机构%')
AND b.unit_type NOT LIKE '%检验检测机构%'
</select> </select>
<select id="countAllOpenBizInspectCompany" resultType="java.lang.Long"> <select id="countAllOpenBizInspectCompany" resultType="java.lang.Long">
SELECT SELECT
......
...@@ -15,6 +15,7 @@ import com.yeejoin.amos.boot.module.common.api.enums.IssueMainBodyEnum; ...@@ -15,6 +15,7 @@ import com.yeejoin.amos.boot.module.common.api.enums.IssueMainBodyEnum;
import com.yeejoin.amos.boot.module.common.api.enums.IssueProblemLevelEnum; import com.yeejoin.amos.boot.module.common.api.enums.IssueProblemLevelEnum;
import com.yeejoin.amos.boot.module.common.api.enums.IssueTypeEnum; import com.yeejoin.amos.boot.module.common.api.enums.IssueTypeEnum;
import com.yeejoin.amos.boot.module.common.api.enums.StatisticalAnalysisEnum; import com.yeejoin.amos.boot.module.common.api.enums.StatisticalAnalysisEnum;
import com.yeejoin.amos.boot.module.common.biz.service.impl.TZSCommonServiceImpl;
import com.yeejoin.amos.boot.module.jg.api.enums.DPMapStatisticsItemEnum; import com.yeejoin.amos.boot.module.jg.api.enums.DPMapStatisticsItemEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemStatusEnum;
import com.yeejoin.amos.boot.module.statistics.api.dto.EquipQuestionNumCountDto; import com.yeejoin.amos.boot.module.statistics.api.dto.EquipQuestionNumCountDto;
...@@ -101,6 +102,8 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -101,6 +102,8 @@ public class AQZSDPStatisticsServiceImpl {
private StCommonServiceImpl stCommonService; private StCommonServiceImpl stCommonService;
private TZSCommonServiceImpl tstCommonService;
private JGDPStatisticsServiceImpl jgDPStatisticsService; private JGDPStatisticsServiceImpl jgDPStatisticsService;
private DataDictionaryMapper dataDictionaryMapper; private DataDictionaryMapper dataDictionaryMapper;
...@@ -109,7 +112,15 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -109,7 +112,15 @@ public class AQZSDPStatisticsServiceImpl {
private ComprehensiveStatisticalAnalysisServiceImpl statisticalAnalysisService; private ComprehensiveStatisticalAnalysisServiceImpl statisticalAnalysisService;
public AQZSDPStatisticsServiceImpl(RestHighLevelClient restHighLevelClient, AQZSDPStatisticsMapper statisticsMapper, TzBaseEnterpriseInfoMapper enterpriseInfoMapper, TzsUserInfoMapper userInfoMapper, CylinderStatisticsMapper cylinderStatisticsMapper, StCommonServiceImpl stCommonService, DataDictionaryMapper dataDictionaryMapper, JGDPStatisticsServiceImpl jgDPStatisticsService) { public AQZSDPStatisticsServiceImpl(RestHighLevelClient restHighLevelClient,
AQZSDPStatisticsMapper statisticsMapper,
TzBaseEnterpriseInfoMapper enterpriseInfoMapper,
TzsUserInfoMapper userInfoMapper,
CylinderStatisticsMapper cylinderStatisticsMapper,
StCommonServiceImpl stCommonService,
DataDictionaryMapper dataDictionaryMapper,
JGDPStatisticsServiceImpl jgDPStatisticsService,
TZSCommonServiceImpl tstCommonService) {
this.restHighLevelClient = restHighLevelClient; this.restHighLevelClient = restHighLevelClient;
this.statisticsMapper = statisticsMapper; this.statisticsMapper = statisticsMapper;
this.enterpriseInfoMapper = enterpriseInfoMapper; this.enterpriseInfoMapper = enterpriseInfoMapper;
...@@ -118,6 +129,7 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -118,6 +129,7 @@ public class AQZSDPStatisticsServiceImpl {
this.stCommonService = stCommonService; this.stCommonService = stCommonService;
this.dataDictionaryMapper = dataDictionaryMapper; this.dataDictionaryMapper = dataDictionaryMapper;
this.jgDPStatisticsService = jgDPStatisticsService; this.jgDPStatisticsService = jgDPStatisticsService;
this.tstCommonService = tstCommonService;
} }
...@@ -501,8 +513,16 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -501,8 +513,16 @@ public class AQZSDPStatisticsServiceImpl {
List<String> enumNameList = IssueTypeEnum.getEnumNameListByMainBody("1"); List<String> enumNameList = IssueTypeEnum.getEnumNameListByMainBody("1");
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if (orgCode != null) { if (orgCode != null) {
List<CountDto> countDtos = statisticsMapper.selectByOrgAndProblemType(orgCode, enumNameList, dpFilterParamDto, IssueMainBodyEnum.PERSON.getCode(), null); BoolQueryBuilder overdueQuery = new BoolQueryBuilder();
countDtos.forEach(t -> dataMap.put(t.getKeyStr(), t.getLongValue())); overdueQuery.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
tstCommonService.buildExpiryDateQueryBuilder(overdueQuery, "overdue", "licenses", "licenses.expiryDate");
Long overNumber = stCommonService.getStatisticCount(overdueQuery, StatisticalAnalysisEnum.person.getKey());
BoolQueryBuilder nearQuery = new BoolQueryBuilder();
nearQuery.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
tstCommonService.buildExpiryDateQueryBuilder(overdueQuery, "near", "licenses", "licenses.expiryDate");
Long nearNumber = stCommonService.getStatisticCount(overdueQuery, StatisticalAnalysisEnum.person.getKey());
dataMap.put(IssueTypeEnum.LICENSE_OVERDUE_PERSON.getName(), overNumber);
dataMap.put(IssueTypeEnum.LICENSE_EXPIRY_PERSON.getName(), nearNumber);
} }
for (int i = 0; i < enumNameList.size(); i++) { for (int i = 0; i < enumNameList.size(); i++) {
xdata.add(enumNameList.get(i)); xdata.add(enumNameList.get(i));
......
...@@ -3358,7 +3358,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3358,7 +3358,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
.minimumShouldMatch(1); .minimumShouldMatch(1);
} else if (UnitCategoryEnum.filling.getCode().equals(type)) { } else if (UnitCategoryEnum.filling.getCode().equals(type)) {
boolMust.must(QueryBuilders.wildcardQuery("unitType.keyword", "*" + UnitTypeEnum.czdw.getName() + "*")); boolMust.must(QueryBuilders.wildcardQuery("unitType.keyword", "*" + UnitTypeEnum.czdw.getName() + "*"));
} else if ("inspection".equals(type)) { } else if (UnitCategoryEnum.inspection.getCode().equals(type)) {
boolMust.should(QueryBuilders.wildcardQuery("unitType.keyword", "*" + UnitTypeEnum.jyjg.getName() + "*")) boolMust.should(QueryBuilders.wildcardQuery("unitType.keyword", "*" + UnitTypeEnum.jyjg.getName() + "*"))
.should(QueryBuilders.wildcardQuery("unitType.keyword", "*" + UnitTypeEnum.jcjg.getName() + "*")) .should(QueryBuilders.wildcardQuery("unitType.keyword", "*" + UnitTypeEnum.jcjg.getName() + "*"))
.minimumShouldMatch(1); .minimumShouldMatch(1);
......
...@@ -109,6 +109,8 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -109,6 +109,8 @@ public class JYJCDPStatisticsServiceImpl {
private JGDPStatisticsServiceImpl jgDPStatisticsService; private JGDPStatisticsServiceImpl jgDPStatisticsService;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
/** /**
* 法定检验机构名单 * 法定检验机构名单
*/ */
...@@ -566,6 +568,12 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -566,6 +568,12 @@ public class JYJCDPStatisticsServiceImpl {
private void countAllRegInspectCompany(Map<String, Object> result, String orgCode, String regionCode) { private void countAllRegInspectCompany(Map<String, Object> result, String orgCode, String regionCode) {
Long num = jyjcStatisticsMapper.countAllRegInspectCompany(orgCode,regionCode); Long num = jyjcStatisticsMapper.countAllRegInspectCompany(orgCode,regionCode);
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
// Long num = stCommonService.getStatisticCount();
result.put("inspectionAgencyCount", num); result.put("inspectionAgencyCount", num);
} }
...@@ -591,7 +599,7 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -591,7 +599,7 @@ public class JYJCDPStatisticsServiceImpl {
private void staticsCenterMapCountDataTemporary(Map<String, Object> result, DPFilterParamDto dpFilterParamDto) { private void staticsCenterMapCountDataTemporary(Map<String, Object> result, DPFilterParamDto dpFilterParamDto) {
long num = 0; long num = 0;
CountRequest request = new CountRequest(); CountRequest request = new CountRequest();
request.indices("idx_biz_view_jg_all"); request.indices(StatisticalAnalysisEnum.equip.getKey());
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
// 按照管辖机构区域信息模糊查询 // 按照管辖机构区域信息模糊查询
...@@ -826,17 +834,17 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -826,17 +834,17 @@ public class JYJCDPStatisticsServiceImpl {
// 1.检验检测临期设备数数量统计 // 1.检验检测临期设备数数量统计
result.put("approach", staticsCenterMapCountDataForJyTimeTemporary(dpFilterParamDto, equipmentCategoryDtos)); result.put("approach", staticsCenterMapCountDataForJyTimeTemporary(dpFilterParamDto, equipmentCategoryDtos));
// 2.检验检测超期设备数数量统计 // 2.检验检测超期设备数数量统计
result.put("overdue", staticsCenterMapCountDataForJyTimeOverdueNew(dpFilterParamDto, equipmentCategoryDtos)); result.put("overdue", staticsCenterMapCountDataForJyTimeOverdue(dpFilterParamDto, equipmentCategoryDtos));
} }
private List<Long> staticsCenterMapCountDataForJyTimeTemporary(DPFilterParamDto dpFilterParamDto, List<EquipmentCategoryDto> equipmentCategoryDtos) { private List<Long> staticsCenterMapCountDataForJyTimeTemporary(DPFilterParamDto dpFilterParamDto, List<EquipmentCategoryDto> equipmentCategoryDtos) {
List<Long> seresData = new ArrayList<>(); List<Long> seresData = new ArrayList<>();
SearchRequest request = new SearchRequest(); SearchRequest request = new SearchRequest();
request.indices("idx_biz_view_jg_all"); request.indices(StatisticalAnalysisEnum.equip.getKey());
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
// 按照管辖机构区域信息模糊查询 // 按照管辖机构区域信息模糊查询
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*")); boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
//已赋码 //已赋码
boolMust.must(QueryBuilders.existsQuery("SUPERVISORY_CODE")); boolMust.must(QueryBuilders.existsQuery("SUPERVISORY_CODE"));
boolMust.mustNot(QueryBuilders.termQuery("SUPERVISORY_CODE","null")); boolMust.mustNot(QueryBuilders.termQuery("SUPERVISORY_CODE","null"));
...@@ -844,9 +852,7 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -844,9 +852,7 @@ public class JYJCDPStatisticsServiceImpl {
String[] status = {"草稿","已拒领","待认领"}; String[] status = {"草稿","已拒领","待认领"};
boolMust.mustNot(QueryBuilders.termsQuery("STATUS",Arrays.asList(status))); boolMust.mustNot(QueryBuilders.termsQuery("STATUS",Arrays.asList(status)));
// 且下次检验日期大于等于当天 且查询 下次检验日期 <= 当前天+30天 即为临期 // 且下次检验日期大于等于当天 且查询 下次检验日期 <= 当前天+30天 即为临期
long currentDayTime = DateUtil.parse(DateUtil.today(), "yyy-MM-dd").getTime(); boolMust.filter(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").gte(LocalDate.now().format(formatter)).lte(LocalDate.now().plusDays(30).format(formatter)));
long currentDayAfter30DayTime = DateUtil.offsetDay(DateUtil.parse(DateUtil.today(), "yyy-MM-dd"), 30).getTime();
boolMust.must(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").gte(currentDayTime).lte(currentDayAfter30DayTime));
// 且8大类,目的去掉脏数据 // 且8大类,目的去掉脏数据
boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE",StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList()))); boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE",StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList())));
SearchSourceBuilder builder = new SearchSourceBuilder(); SearchSourceBuilder builder = new SearchSourceBuilder();
...@@ -894,23 +900,22 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -894,23 +900,22 @@ public class JYJCDPStatisticsServiceImpl {
private List<Long> staticsCenterMapCountDataForJyTimeOverdue(DPFilterParamDto dpFilterParamDto, List<EquipmentCategoryDto> equipmentCategoryDtos) { private List<Long> staticsCenterMapCountDataForJyTimeOverdue(DPFilterParamDto dpFilterParamDto, List<EquipmentCategoryDto> equipmentCategoryDtos) {
List<Long> seresData = new ArrayList<>(); List<Long> seresData = new ArrayList<>();
SearchRequest request = new SearchRequest(); SearchRequest request = new SearchRequest();
request.indices("idx_biz_view_jg_all"); request.indices(StatisticalAnalysisEnum.equip.getKey());
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
// 区域信息模糊查询 // 区域信息模糊查询
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
// 按照管辖机构区域信息模糊查询 // 按照管辖机构区域信息模糊查询
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*")); boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
//已赋码 //已赋码
boolMust.must(QueryBuilders.existsQuery("SUPERVISORY_CODE")); boolMust.must(QueryBuilders.existsQuery("SUPERVISORY_CODE"));
boolMust.mustNot(QueryBuilders.termQuery("SUPERVISORY_CODE","null")); boolMust.mustNot(QueryBuilders.termQuery("SUPERVISORY_CODE", "null"));
//状态为已认领 //状态为已认领
String[] status = {"草稿","已拒领","待认领"}; String[] status = {"草稿", "已拒领", "待认领"};
boolMust.mustNot(QueryBuilders.termsQuery("STATUS",Arrays.asList(status))); boolMust.mustNot(QueryBuilders.termsQuery("STATUS", Arrays.asList(status)));
// 查询下次检验日期小于当前天的设备,即为超期检验超期设备 // 查询下次检验日期小于当前天的设备,即为超期检验超期设备
long currentDayTime = DateUtil.parse(DateUtil.now(), "yyy-MM-dd").getTime(); boolMust.filter(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").lt(LocalDate.now().format(formatter)));
boolMust.must(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").lt(currentDayTime));
// 且8大类,目的去掉脏数据 // 且8大类,目的去掉脏数据
boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE",StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList()))); boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE", StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList())));
SearchSourceBuilder builder = new SearchSourceBuilder(); SearchSourceBuilder builder = new SearchSourceBuilder();
builder.query(boolMust); builder.query(boolMust);
TermsAggregationBuilder aggregationBuilder = AggregationBuilders.terms("count_by_equ_list_code").field("EQU_LIST_CODE"); TermsAggregationBuilder aggregationBuilder = AggregationBuilders.terms("count_by_equ_list_code").field("EQU_LIST_CODE");
......
...@@ -36,6 +36,7 @@ import org.elasticsearch.search.aggregations.bucket.terms.Terms; ...@@ -36,6 +36,7 @@ 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;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -315,6 +316,20 @@ public class StCommonServiceImpl { ...@@ -315,6 +316,20 @@ public class StCommonServiceImpl {
return (long)result.getOrDefault(DPMapStatisticsItemEnum.TOTAL.getCode(), 0L); return (long)result.getOrDefault(DPMapStatisticsItemEnum.TOTAL.getCode(), 0L);
} }
public Long getStatisticCount(BoolQueryBuilder builder, String index) {
CountRequest countRequest = new CountRequest();
countRequest.indices(index);
CountResponse response = null;
countRequest.query(builder);
try {
response = restHighLevelClient.count(countRequest, RequestOptions.DEFAULT);
} catch (IOException e) {
throw new RuntimeException(e);
}
return ObjectUtils.isEmpty(response) ? 0 : response.getCount();
}
/** /**
* 统计已赋码设备数量 * 统计已赋码设备数量
* @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