Commit f3fb7805 authored by 麻笑宇's avatar 麻笑宇

22479 大屏数据,监管管理大屏右屏中使用办理设备数情况统计(近30天)数据统计修改es查询为mysql

parent 62f45d61
......@@ -94,4 +94,8 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> {
List<Map<String, Object>> getElevatorModeList(@Param("equIds") List<String> equIds);
List<Map<String, Object>> getCylinderInfoList(@Param("records") List<String> records);
List<Map> stopStateCount(@Param("orgCode") String orgCode);
List<Map> cancelStateCount(@Param("orgCode") String orgCode, @Param("cancelType") int cancelType);
}
......@@ -777,6 +777,65 @@
</foreach>
ORDER BY ui.REC_DATE DESC
</select>
<select id="stopStateCount" resultType="java.util.Map">
SELECT COUNT
( * ),
EQU_LIST as equList,
EQU_CATEGORY as equCategory
FROM
idx_biz_jg_register_info
WHERE
"RECORD" IN (
SELECT
equ_id
FROM
tzs_jg_enable_disable_eq
WHERE
"enable_disable_apply_id" IN (
SELECT A
.sequence_nbr
FROM
tzs_jg_enable_disable
A LEFT JOIN tz_base_enterprise_info b ON A.use_unit_credit_code = b.use_unit_code
WHERE
A.audit_status LIKE'%已完成%'
AND b.supervise_org_code LIKE concat ( #{orgCode}, '%' )
AND A.apply_type = 'SB_TY'
AND A.rec_date > CURDATE ( ) - 30
)
)
GROUP BY
"EQU_CATEGORY"
</select>
<select id="cancelStateCount" resultType="java.util.Map">
SELECT COUNT( * ),
EQU_LIST as equList,
EQU_CATEGORY as equCategory
FROM
idx_biz_jg_register_info
WHERE
RECORD IN (
SELECT
equ_id
FROM
tzs_jg_scrap_cancel_eq
WHERE
equip_transfer_id IN (
SELECT A.sequence_nbr
FROM
tzs_jg_scrap_cancel A
LEFT JOIN tz_base_enterprise_info b ON A.use_unit_code = b.use_unit_code
WHERE
A.audit_status LIKE'%已完成%'
AND b.supervise_org_code LIKE concat ( #{orgCode}, '%' )
AND A.cancel_type = #{cancelType}
AND A.rec_date > CURDATE ( ) - 30
)
)
GROUP BY
EQU_CATEGORY
</select>
<sql id="list-cylinder">
SELECT
......
......@@ -951,44 +951,42 @@ public class JGDPStatisticsServiceImpl {
}
public Map<String, Object> equStopStateCount(DPFilterParamDto dpFilterParamDto) {
SearchRequest request = new SearchRequest();
request.indices("idx_biz_view_jg_all");
BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
Map<String, Long> dataMap = new HashMap<>();
if (orgCode != null) {
// 按照管辖机构区域信息模糊查询
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*"));
// 只统计已纳管设备
boolMust.must(QueryBuilders.termQuery("IS_INTO_MANAGEMENT", Boolean.TRUE));
// 且8大类,目的去掉脏数据
boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE", StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList())));
SearchSourceBuilder builder = new SearchSourceBuilder();
builder.query(boolMust);
// 设备状态
TermsAggregationBuilder aggregationBuilder = AggregationBuilders.terms("EQU_STATE_COUNT").field("EQU_STATE")
//设备类型
.subAggregation(AggregationBuilders.terms("EQU_LIST_CODE_COUNT").field("EQU_LIST_CODE"));
builder.aggregation(aggregationBuilder);
request.source(builder);
try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
Terms terms = response.getAggregations().get("EQU_STATE_COUNT");
for (Terms.Bucket bucket : terms.getBuckets()) {
// 或者使用 bucket.getKey() 对于非字符串类型
String category = bucket.getKeyAsString();
Terms subTerms = bucket.getAggregations().get("EQU_LIST_CODE_COUNT");
for (Terms.Bucket subBucket : subTerms.getBuckets()) {
String subCategory = subBucket.getKeyAsString();
long docCount = subBucket.getDocCount();
dataMap.put(category + "#" + subCategory, docCount);
}
}
} catch (Exception e) {
throw new RuntimeException(e);
//停用
List<Map> stopList = useRegistrationMapper.stopStateCount(orgCode);
//注销
List<Map> cancelList = useRegistrationMapper.cancelStateCount(orgCode,1);
//报废
List<Map> scrapList = useRegistrationMapper.cancelStateCount(orgCode,2);
Map<String, Long> stopMap = new HashMap<>();
Map<String, Long> cancelMap = new HashMap<>();
Map<String, Long> scrapMap = new HashMap<>();
for(int i = 0; i < stopList.size(); i++){
if("2000".equals(stopList.get(i).get("equList")) && "2300".equals(stopList.get(i).get("equCategory"))){
stopMap.put(stopList.get(i).get("equCategory")+"",stopMap.getOrDefault("equCategory",0L)+(Long) stopList.get(i).get("count"));
}else {
stopMap.put(stopList.get(i).get("equList")+"",stopMap.getOrDefault("equList",0L)+(Long) stopList.get(i).get("count"));
}
}
for(int i = 0; i < cancelList.size(); i++){
if("2000".equals(cancelList.get(i).get("equList")) && "2300".equals(cancelList.get(i).get("equCategory"))){
cancelMap.put(cancelList.get(i).get("equCategory")+"",cancelMap.getOrDefault("equCategory",0L)+(Long) cancelList.get(i).get("count"));
}else {
cancelMap.put(cancelList.get(i).get("equList")+"",cancelMap.getOrDefault("equCategory",0L)+(Long) cancelList.get(i).get("count"));
}
}
for(int i = 0; i < scrapList.size(); i++){
if("2000".equals(scrapList.get(i).get("equList")) && "2300".equals(scrapList.get(i).get("equCategory"))){
scrapMap.put(scrapList.get(i).get("equCategory")+"",scrapMap.getOrDefault("equCategory",0L)+(Long) scrapList.get(i).get("count"));
}else {
scrapMap.put(scrapList.get(i).get("equList")+"",scrapMap.getOrDefault("equCategory",0L)+(Long) scrapList.get(i).get("count"));
}
}
List<Map<String, Object>> legendDataList = new ArrayList<>();
for (int i = 0; i < 3; i++) {
Map<String, Object> map = new HashMap();
......@@ -1010,41 +1008,41 @@ public class JGDPStatisticsServiceImpl {
List<Object> scrap = new ArrayList<>();
for (int i = 0; i < 9; i++) {
if (i == 0) {
stop.add(dataMap.getOrDefault("2#2300", 0L));
logout.add(dataMap.getOrDefault("4#2300", 0L));
scrap.add(dataMap.getOrDefault("3#2300", 0L));
stop.add(stopMap.getOrDefault("2300", 0L));
logout.add(cancelMap.getOrDefault("2300", 0L));
scrap.add(scrapMap.getOrDefault("2300", 0L));
} else if (i == 1) {
stop.add(dataMap.getOrDefault("2#3000", 0L));
logout.add(dataMap.getOrDefault("4#3000", 0L));
scrap.add(dataMap.getOrDefault("3#3000", 0L));
stop.add(stopMap.getOrDefault("3000", 0L));
logout.add(cancelMap.getOrDefault("3000", 0L));
scrap.add(scrapMap.getOrDefault("3000", 0L));
} else if (i == 2) {
stop.add(dataMap.getOrDefault("2#2000", 0L) - dataMap.getOrDefault("2#2300", 0L));
logout.add(dataMap.getOrDefault("4#2000", 0L) - dataMap.getOrDefault("4#2300", 0L));
scrap.add(dataMap.getOrDefault("3#2000", 0L) - dataMap.getOrDefault("3#2300", 0L));
stop.add(stopMap.getOrDefault("2000", 0L));
logout.add(cancelMap.getOrDefault("2000", 0L));
scrap.add(scrapMap.getOrDefault("2000", 0L));
} else if (i == 3) {
stop.add(dataMap.getOrDefault("2#1000", 0L));
logout.add(dataMap.getOrDefault("4#1000", 0L));
scrap.add(dataMap.getOrDefault("3#1000", 0L));
stop.add(stopMap.getOrDefault("1000", 0L));
logout.add(cancelMap.getOrDefault("1000", 0L));
scrap.add(scrapMap.getOrDefault("1000", 0L));
} else if (i == 4) {
stop.add(dataMap.getOrDefault("2#4000", 0L));
logout.add(dataMap.getOrDefault("4#4000", 0L));
scrap.add(dataMap.getOrDefault("3#4000", 0L));
stop.add(stopMap.getOrDefault("4000", 0L));
logout.add(cancelMap.getOrDefault("4000", 0L));
scrap.add(scrapMap.getOrDefault("4000", 0L));
} else if (i == 5) {
stop.add(dataMap.getOrDefault("2#5000", 0L));
logout.add(dataMap.getOrDefault("4#5000", 0L));
scrap.add(dataMap.getOrDefault("3#5000", 0L));
stop.add(stopMap.getOrDefault("5000", 0L));
logout.add(cancelMap.getOrDefault("5000", 0L));
scrap.add(scrapMap.getOrDefault("5000", 0L));
} else if (i == 6) {
stop.add(dataMap.getOrDefault("2#6000", 0L));
logout.add(dataMap.getOrDefault("4#6000", 0L));
scrap.add(dataMap.getOrDefault("3#6000", 0L));
stop.add(stopMap.getOrDefault("6000", 0L));
logout.add(cancelMap.getOrDefault("6000", 0L));
scrap.add(scrapMap.getOrDefault("6000", 0L));
} else if (i == 7) {
stop.add(dataMap.getOrDefault("2#8000", 0L));
logout.add(dataMap.getOrDefault("4#8000", 0L));
scrap.add(dataMap.getOrDefault("3#8000", 0L));
stop.add(stopMap.getOrDefault("8000", 0L));
logout.add(cancelMap.getOrDefault("8000", 0L));
scrap.add(scrapMap.getOrDefault("8000", 0L));
} else {
stop.add(dataMap.getOrDefault("2#9000", 0L));
logout.add(dataMap.getOrDefault("4#9000", 0L));
scrap.add(dataMap.getOrDefault("3#9000", 0L));
stop.add(stopMap.getOrDefault("9000", 0L));
logout.add(cancelMap.getOrDefault("9000", 0L));
scrap.add(scrapMap.getOrDefault("9000", 0L));
}
}
Map<String, Object> returnMap = new HashMap<>();
......
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