Commit 6cec1de7 authored by 麻笑宇's avatar 麻笑宇

Merge remote-tracking branch 'origin/develop_tzs_bugfix' into develop_tzs_bugfix

parents d6549326 269b7af2
......@@ -114,19 +114,26 @@
</select>
<select id="equOnJgServiceOperationRecords" resultType="java.util.Map">
select
sequence_nbr as sequenceNbr,
business_type as businessType,
apply_no as applyNo,
rec_User_Id as recUserId,
rec_user_name as recUserName,
SELECT
t.sequence_nbr AS sequenceNbr,
t.business_type AS businessType,
t.apply_no AS applyNo,
t.rec_user_id AS recUserId,
t.rec_user_name AS recUserName,
DATE_FORMAT(rec_date,'%Y-%m-%d %H:%i:%s') as recDate,
approval_unit as approvalUnit,
status,
route_path as routePath
from tzs_jg_resume_info
where equ_id = #{record}
order by rec_date ASC
t.approval_unit AS approvalUnit,
t.status,
t.route_path AS routePath
FROM
tzs_jg_resume_info t
JOIN (SELECT apply_no, MAX(rec_date) AS max_rec_date
FROM tzs_jg_resume_info
WHERE equ_id = #{record}
GROUP BY apply_no
) AS latest
ON t.apply_no = latest.apply_no AND t.rec_date = latest.max_rec_date
WHERE t.equ_id = #{record}
ORDER BY t.rec_date ASC
</select>
<select id="selectPromoterData" resultType="java.lang.String">
select
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgResumeInfoDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgResumeInfo;
......@@ -19,19 +20,19 @@ import java.util.stream.Collectors;
* @date 2024-05-29
*/
@Service
public class JgResumeInfoServiceImpl extends BaseService<JgResumeInfoDto,JgResumeInfo,JgResumeInfoMapper> implements IJgResumeInfoService {
public class JgResumeInfoServiceImpl extends BaseService<JgResumeInfoDto, JgResumeInfo, JgResumeInfoMapper> implements IJgResumeInfoService {
/**
* 分页查询
*/
public Page<JgResumeInfoDto> queryForJgResumeInfoPage(Page<JgResumeInfoDto> page) {
public Page<JgResumeInfoDto> queryForJgResumeInfoPage(Page<JgResumeInfoDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<JgResumeInfoDto> queryForJgResumeInfoList() {
return this.queryForList("" , false);
public List<JgResumeInfoDto> queryForJgResumeInfoList() {
return this.queryForList("", false);
}
public void saveBatchResume(List<JgResumeInfoDto> jgResumeInfoDtoList) {
......@@ -42,6 +43,14 @@ public class JgResumeInfoServiceImpl extends BaseService<JgResumeInfoDto,JgResum
return info;
})
.collect(Collectors.toList());
this.saveBatch(jgResumeInfoCollection);
this.saveBatch(jgResumeInfoCollection);
}
/**
* 根据业务id进行删除
* @param businessId 业务id
*/
public void deleteByBusinessId(String businessId) {
this.baseMapper.delete(new LambdaQueryWrapper<JgResumeInfo>().eq(JgResumeInfo::getBusinessId, businessId));
}
}
\ No newline at end of file
......@@ -3115,6 +3115,15 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 历史设备 生成证书管理表记录 & 生成安装 维保等操作记录
this.historyEquGenManageRelated(map, jgUseRegistration, registerInfo, idxBizJgFactoryInfo);
jgResumeInfoService.createWithModel(JgResumeInfoDto.builder()
.applyNo(jgUseRegistration.getApplyNo())
.businessType(BusinessTypeEnum.JG_HISTORY_USAGE_REGISTRATION.getName())
.businessId(jgUseRegistration.getSequenceNbr() + "")
.equId(String.valueOf(map.get("equipId")))
.approvalUnit(jgUseRegistration.getReceiveOrgName())
.approvalUnitCode(jgUseRegistration.getReceiveOrgCode())
.status("正常")
.build());
}
return this.baseMapper.getDetailById(jgUseRegistration.getSequenceNbr());
} catch (BadRequest | LocalBadRequest e) {
......
......@@ -17,7 +17,6 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* Mapper 接口
......@@ -65,5 +64,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);
List<JSONObject> getKeyMonitorUseUnitByCityCode(@Param("cityCode")String cityCode);
}
......@@ -449,10 +449,16 @@
</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 id="getKeyMonitorUseUnitByCityCode" resultType="com.alibaba.fastjson.JSONObject">
SELECT
v.region_code,
v.use_unit_code useUnitCode,
(SELECT use_unit FROM tz_base_enterprise_info WHERE use_code = v.use_unit_code) useUnit
FROM
tz_base_enterprise_video v
WHERE
region_code LIKE CONCAT('%', #{cityCode}, '%')
GROUP BY
use_unit_code
</select>
</mapper>
......@@ -3,19 +3,26 @@
<mapper namespace="com.yeejoin.amos.boot.module.statistics.api.mapper.DPSubBizMapper">
<select id="equOnJgServiceOperationRecords" resultType="java.util.Map">
select
sequence_nbr as sequenceNbr,
business_type as businessType,
apply_no as applyNo,
rec_User_Id as recUserId,
rec_user_name as recUserName,
SELECT
t.sequence_nbr AS sequenceNbr,
t.business_type AS businessType,
t.apply_no AS applyNo,
t.rec_user_id AS recUserId,
t.rec_user_name AS recUserName,
DATE_FORMAT(rec_date,'%Y-%m-%d %H:%i:%s') as recDate,
approval_unit as approvalUnit,
status,
route_path as routePath
from tzs_jg_resume_info
where equ_id = #{record}
order by rec_date ASC
t.approval_unit AS approvalUnit,
t.status,
t.route_path AS routePath
FROM
tzs_jg_resume_info t
JOIN (SELECT apply_no, MAX(rec_date) AS max_rec_date
FROM tzs_jg_resume_info
WHERE equ_id = #{record}
GROUP BY apply_no
) AS latest
ON t.apply_no = latest.apply_no AND t.rec_date = latest.max_rec_date
WHERE t.equ_id = #{record}
ORDER BY t.rec_date ASC
</select>
<select id="queryForSafetyProblemTracingList" resultType="java.util.Map">
......
......@@ -6,7 +6,6 @@ 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;
......@@ -16,8 +15,6 @@ import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto;
import com.yeejoin.amos.boot.module.common.api.entity.AlertRescueStatistics;
import com.yeejoin.amos.boot.module.common.api.entity.AlertUseUnitStatistics;
import com.yeejoin.amos.boot.module.common.api.enums.AlertCallEnum;
import com.yeejoin.amos.boot.module.common.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.JYJCTypeEnum;
import com.yeejoin.amos.boot.module.statistics.api.dto.AlertUseUnitStatisticsDto;
import com.yeejoin.amos.boot.module.statistics.api.mapper.AlertRescueStatisticsMapper;
import com.yeejoin.amos.boot.module.statistics.api.mapper.AlertStatisticsMapper;
......@@ -39,12 +36,10 @@ 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;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.DateTimeUtil;
......@@ -775,41 +770,11 @@ public class YJDPStatisticsServiceImpl {
}
public List<JSONObject> getKeyPositionMonitor(DPFilterParamForDetailDto filterParamDto) {
String orgCode = stCommonService.getAndSetOrgCode(filterParamDto.getCityCode());
return getKeyPositionMonitorByES(orgCode, filterParamDto);
return getKeyPositionMonitorByES(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 = null;
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"));
}
if (!ValidationUtil.isEmpty(useUnitCreditCodeSet)) {
list = alertStatisticsMapper.getUseUnitByCreditCode(useUnitCreditCodeSet);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
return list;
private List<JSONObject> getKeyPositionMonitorByES(DPFilterParamForDetailDto filterParamDto) {
return alertStatisticsMapper.getKeyMonitorUseUnitByCityCode(filterParamDto.getCityCode());
}
}
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