Commit 015d2ae8 authored by tianbo's avatar tianbo

add:客运索道关键位置视频卡片

parent bbcf950e
package com.yeejoin.amos.boot.module.statistics.api.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -16,6 +17,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* Mapper 接口
......@@ -63,4 +65,5 @@ public interface AlertStatisticsMapper extends BaseMapper<AlertStatistics> {
List<AlertPaperInfoDto> getAlertPaperInfoList(@Param("regionCodes") List<String> regionCodes, @Param("isHistory") Boolean isHistory);
List<JSONObject> getUseUnitByCreditCode(@Param("useUnitCreditCode")Set<String> useUnitCreditCode);
}
......@@ -448,4 +448,11 @@
order by a.call_time desc
</select>
<select id="getUseUnitByCreditCode" resultType="com.alibaba.fastjson.JSONObject">
select sequence_nbr sequenceNbr, use_unit_code useUnitCode, use_unit useUnit from tz_base_enterprise_info where use_unit_code in
<foreach collection="useUnitCreditCode" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper>
package com.yeejoin.amos.boot.module.statistcs.biz.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -11,6 +10,7 @@ import com.yeejoin.amos.boot.module.statistcs.biz.service.impl.YJDPStatisticsSer
import com.yeejoin.amos.boot.module.statistics.api.dto.AlertUseUnitStatisticsDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.AlertPaperInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.BindingResult;
......@@ -23,8 +23,9 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*;
import java.util.stream.Collectors;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* 大屏统计controller
......@@ -254,4 +255,13 @@ public class YJDPStatisticsController {
detailDto.setSize(size);
return statisticsService.alertUseUnitTableForDP(detailDto);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "客运索道关键位置监控-列表",
notes = "客运索道关键位置监控-列表")
@PostMapping("/keyPositionMonitor/dp")
public ResponseModel<List<JSONObject>> getKeyPositionMonitor(@Validated @RequestBody DPFilterParamForDetailDto detailDto) {
detailDto.setEquListCode(EquipmentClassifityEnum.KYSD.getCode());
return ResponseHelper.buildResponse(statisticsService.getKeyPositionMonitor(detailDto));
}
}
......@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Sets;
import com.yeejoin.amos.boot.biz.common.dto.CountDto;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
......@@ -35,6 +36,7 @@ import org.elasticsearch.client.core.CountRequest;
import org.elasticsearch.client.core.CountResponse;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.aggregations.AggregationBuilders;
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder;
......@@ -613,4 +615,38 @@ public class YJDPStatisticsServiceImpl {
IPage<AlertUseUnitStatistics> alertUseUnitStatistics = alertUseUnitStatisticsMapper.selectPage(page, lambda);
return ResponseHelper.buildResponse(alertUseUnitStatistics);
}
public List<JSONObject> getKeyPositionMonitor(DPFilterParamForDetailDto filterParamDto) {
String orgCode = stCommonService.getAndSetOrgCode(filterParamDto.getCityCode());
return getKeyPositionMonitorByES(orgCode, filterParamDto);
}
private List<JSONObject> getKeyPositionMonitorByES(String orgCode, DPFilterParamForDetailDto filterParamDto) {
SearchRequest request = new SearchRequest();
request.indices("idx_biz_view_jg_all");
BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
// 按照管辖机构区域信息模糊查询
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*"));
// 只统计已纳管设备
boolMust.must(QueryBuilders.termQuery("IS_INTO_MANAGEMENT", Boolean.TRUE));
// 根据设备种类查询重点监控单位
boolMust.must(QueryBuilders.termQuery("EQU_LIST_CODE", filterParamDto.getEquListCode()));
SearchSourceBuilder builder = new SearchSourceBuilder();
builder.query(boolMust);
request.source(builder);
List<JSONObject> list;
Set<String> useUnitCreditCodeSet = Sets.newHashSet();
try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (SearchHit hit : response.getHits().getHits()) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
JSONObject source = jsonObject.getJSONObject("sourceAsMap");
useUnitCreditCodeSet.add(source.getString("USE_UNIT_CREDIT_CODE"));
}
list = alertStatisticsMapper.getUseUnitByCreditCode(useUnitCreditCodeSet);
} catch (IOException e) {
throw new RuntimeException(e);
}
return list;
}
}
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