zbj//1.暂态报告 暂升/暂降次数统计 代码修改

This commit is contained in:
zhangbaojian
2023-04-28 10:35:26 +08:00
parent 4944488562
commit d887dc4c62
3 changed files with 93 additions and 15 deletions

View File

@@ -16,5 +16,10 @@ import java.util.List;
*/ */
@Mapper @Mapper
public interface ReportMapper { public interface ReportMapper {
List<DetailVO> getBreakTimes(Page<DetailVO> page, @Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime); List<DetailVO> getBreakTimes(Page<DetailVO> page, @Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<DetailVO> getUpTimes(Page<DetailVO> page, @Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<DetailVO> getSagTimes(Page<DetailVO> page, @Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
} }

View File

@@ -7,7 +7,7 @@
rmed.measurement_point_id lineId, rmed.measurement_point_id lineId,
count(*) times count(*) times
FROM r_mp_event_detail rmed FROM r_mp_event_detail rmed
left join sys_dict_data sdd on sdd.id = rmed.event_type and sdd.`Code` = 'Short_Interruptions' left join sys_dict_data sdd on sdd.id = rmed.event_type
WHERE WHERE
rmed.measurement_point_id IN rmed.measurement_point_id IN
<foreach collection="lineIds" item="item" open="(" close=")" separator=","> <foreach collection="lineIds" item="item" open="(" close=")" separator=",">
@@ -19,6 +19,49 @@
<if test="endTime != null and endTime != ''"> <if test="endTime != null and endTime != ''">
and date_format(rmed.start_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d') and date_format(rmed.start_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
</if> </if>
and sdd.`Code` = 'Short_Interruptions'
GROUP BY rmed.measurement_point_id
</select>
<select id="getUpTimes" resultType="com.njcn.event.pojo.vo.DetailVO">
SELECT
rmed.measurement_point_id lineId,
count(*) times
FROM r_mp_event_detail rmed
left join sys_dict_data sdd on sdd.id = rmed.event_type
WHERE
rmed.measurement_point_id IN
<foreach collection="lineIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="startTime != null and startTime != ''">
and date_format(rmed.start_time,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')
</if>
<if test="endTime != null and endTime != ''">
and date_format(rmed.start_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
</if>
and sdd.`Code` = 'Voltage_Rise'
GROUP BY rmed.measurement_point_id
</select>
<select id="getSagTimes" resultType="com.njcn.event.pojo.vo.DetailVO">
SELECT
rmed.measurement_point_id lineId,
count(*) times
FROM r_mp_event_detail rmed
left join sys_dict_data sdd on sdd.id = rmed.event_type
WHERE
rmed.measurement_point_id IN
<foreach collection="lineIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="startTime != null and startTime != ''">
and date_format(rmed.start_time,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')
</if>
<if test="endTime != null and endTime != ''">
and date_format(rmed.start_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
</if>
and sdd.`Code` = 'Voltage_Dip'
GROUP BY rmed.measurement_point_id GROUP BY rmed.measurement_point_id
</select> </select>

View File

@@ -493,16 +493,19 @@ public class ReportServiceImpl implements ReportService {
*/ */
@Override @Override
public Page<DetailVO> getSagTimes(WaveTypeParam waveTypeParam) { public Page<DetailVO> getSagTimes(WaveTypeParam waveTypeParam) {
List<DetailVO> result = new ArrayList<>(); //List<DetailVO> result = new ArrayList<>();
//获取暂降字典信息 //获取暂降字典信息
DictData dictdata = dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_DIP.getCode()).getData(); //DictData dictdata = dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_DIP.getCode()).getData();
List<GeneralDeviceDTO> deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(waveTypeParam).getData(); List<GeneralDeviceDTO> deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(waveTypeParam).getData();
List<String> lineIds = deviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList()); List<String> lineIds = deviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList());
if (CollectionUtil.isEmpty(lineIds)) { if (CollectionUtil.isEmpty(lineIds)) {
throw new BusinessException(DeviceResponseEnum.DEPT_LINE_EMPTY); throw new BusinessException(DeviceResponseEnum.DEPT_LINE_EMPTY);
} }
Page<RmpEventDetailPO> pageInfo = eventDetailService.page(new Page<>(waveTypeParam.getPageNum(), waveTypeParam.getPageSize()), new LambdaQueryWrapper<RmpEventDetailPO>()
List<DetailVO> detailVO = reportMapper.getSagTimes(new Page<>(waveTypeParam.getPageNum(), waveTypeParam.getPageSize()),lineIds,waveTypeParam.getSearchBeginTime(),waveTypeParam.getSearchEndTime());
/*Page<RmpEventDetailPO> pageInfo = eventDetailService.page(new Page<>(waveTypeParam.getPageNum(), waveTypeParam.getPageSize()), new LambdaQueryWrapper<RmpEventDetailPO>()
.in(RmpEventDetailPO::getMeasurementPointId, lineIds) .in(RmpEventDetailPO::getMeasurementPointId, lineIds)
.ge(StringUtils.isNotBlank(waveTypeParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime,DateUtil.beginOfDay(DateUtil.parse(waveTypeParam.getSearchBeginTime()))) .ge(StringUtils.isNotBlank(waveTypeParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime,DateUtil.beginOfDay(DateUtil.parse(waveTypeParam.getSearchBeginTime())))
.le(StringUtils.isNotBlank(waveTypeParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(waveTypeParam.getSearchEndTime()))) .le(StringUtils.isNotBlank(waveTypeParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(waveTypeParam.getSearchEndTime())))
@@ -525,10 +528,14 @@ public class ReportServiceImpl implements ReportService {
BeanUtils.copyProperties(eventDetail, vo); BeanUtils.copyProperties(eventDetail, vo);
result.add(vo); result.add(vo);
idlist.add(eventDetail.getLineId()); idlist.add(eventDetail.getLineId());
}*/
ArrayList<String> idlist = new ArrayList<>();
for (DetailVO vo : detailVO) {
idlist.add(vo.getLineId());
} }
HttpResult<List<AreaLineInfoVO>> AreaInfo = lineFeignClient.getBaseLineAreaInfo(idlist); HttpResult<List<AreaLineInfoVO>> AreaInfo = lineFeignClient.getBaseLineAreaInfo(idlist);
List<AreaLineInfoVO> data = AreaInfo.getData(); List<AreaLineInfoVO> data = AreaInfo.getData();
for (DetailVO detailVO : result) { /*for (DetailVO detailVO : result) {
for (AreaLineInfoVO vo : data) { for (AreaLineInfoVO vo : data) {
if (vo.getLineId().equals(detailVO.getLineId())) { if (vo.getLineId().equals(detailVO.getLineId())) {
BeanUtils.copyProperties(vo, detailVO); BeanUtils.copyProperties(vo, detailVO);
@@ -539,9 +546,16 @@ public class ReportServiceImpl implements ReportService {
detailVO.setTimes(countMap.get(s)); detailVO.setTimes(countMap.get(s));
} }
} }
}*/
for (DetailVO v : detailVO) {
for (AreaLineInfoVO vo : data) {
if (vo.getLineId().equals(v.getLineId())) {
BeanUtils.copyProperties(vo, v);
}
}
} }
Page<DetailVO> page = BeanUtil.copyProperties(pageInfo,Page.class); Page<DetailVO> page = BeanUtil.copyProperties(detailVO,Page.class);
page.setRecords(result); page.setRecords(detailVO);
return page; return page;
@@ -555,16 +569,19 @@ public class ReportServiceImpl implements ReportService {
*/ */
@Override @Override
public Page<DetailVO> getUpTimes(WaveTypeParam waveTypeParam) { public Page<DetailVO> getUpTimes(WaveTypeParam waveTypeParam) {
List<DetailVO> result = new ArrayList<>(); //List<DetailVO> result = new ArrayList<>();
//获取暂升字典信息 //获取暂升字典信息
DictData dictdata = dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_RISE.getCode()).getData(); //DictData dictdata = dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_RISE.getCode()).getData();
List<GeneralDeviceDTO> deviceDTOList = generalDeviceInfoClient.getPracticalRunDeviceInfo(waveTypeParam).getData(); List<GeneralDeviceDTO> deviceDTOList = generalDeviceInfoClient.getPracticalRunDeviceInfo(waveTypeParam).getData();
List<String> lineIds = deviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList()); List<String> lineIds = deviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList());
if (CollectionUtil.isEmpty(lineIds)) { if (CollectionUtil.isEmpty(lineIds)) {
throw new BusinessException(DeviceResponseEnum.DEPT_LINE_EMPTY); throw new BusinessException(DeviceResponseEnum.DEPT_LINE_EMPTY);
} }
Page<RmpEventDetailPO> pageInfo = eventDetailService.page(
List<DetailVO> detailVO = reportMapper.getUpTimes(new Page<>(waveTypeParam.getPageNum(), waveTypeParam.getPageSize()),lineIds,waveTypeParam.getSearchBeginTime(),waveTypeParam.getSearchEndTime());
/*Page<RmpEventDetailPO> pageInfo = eventDetailService.page(
new Page<>(waveTypeParam.getPageNum(), waveTypeParam.getPageSize()), new Page<>(waveTypeParam.getPageNum(), waveTypeParam.getPageSize()),
new LambdaQueryWrapper<RmpEventDetailPO>() new LambdaQueryWrapper<RmpEventDetailPO>()
.in(RmpEventDetailPO::getMeasurementPointId, lineIds) .in(RmpEventDetailPO::getMeasurementPointId, lineIds)
@@ -590,10 +607,16 @@ public class ReportServiceImpl implements ReportService {
BeanUtils.copyProperties(eventDetail, vo); BeanUtils.copyProperties(eventDetail, vo);
result.add(vo); result.add(vo);
idlist.add(eventDetail.getLineId()); idlist.add(eventDetail.getLineId());
}*/
//id集合
ArrayList<String> idlist = new ArrayList<>();
for (DetailVO vo : detailVO) {
idlist.add(vo.getLineId());
} }
HttpResult<List<AreaLineInfoVO>> AreaInfo = lineFeignClient.getBaseLineAreaInfo(idlist); HttpResult<List<AreaLineInfoVO>> AreaInfo = lineFeignClient.getBaseLineAreaInfo(idlist);
List<AreaLineInfoVO> data = AreaInfo.getData(); List<AreaLineInfoVO> data = AreaInfo.getData();
for (DetailVO detailVO : result) { /*for (DetailVO detailVO : result) {
for (AreaLineInfoVO vo : data) { for (AreaLineInfoVO vo : data) {
if (vo.getLineId().equals(detailVO.getLineId())) { if (vo.getLineId().equals(detailVO.getLineId())) {
BeanUtils.copyProperties(vo, detailVO); BeanUtils.copyProperties(vo, detailVO);
@@ -604,9 +627,16 @@ public class ReportServiceImpl implements ReportService {
detailVO.setTimes(countMap.get(s)); detailVO.setTimes(countMap.get(s));
} }
} }
}*/
for (DetailVO v : detailVO) {
for (AreaLineInfoVO vo : data) {
if (vo.getLineId().equals(v.getLineId())) {
BeanUtils.copyProperties(vo, v);
}
}
} }
Page<DetailVO> page = BeanUtil.copyProperties(pageInfo,Page.class); Page<DetailVO> page = BeanUtil.copyProperties(detailVO,Page.class);
page.setRecords(result); page.setRecords(detailVO);
return page; return page;
@@ -620,10 +650,10 @@ public class ReportServiceImpl implements ReportService {
*/ */
@Override @Override
public Page<DetailVO> getBreakTimes(WaveTypeParam waveTypeParam) { public Page<DetailVO> getBreakTimes(WaveTypeParam waveTypeParam) {
List<DetailVO> result = new ArrayList<>(); //List<DetailVO> result = new ArrayList<>();
//获取中断字典信息 //获取中断字典信息
DictData dictdata = dicDataFeignClient.getDicDataByCode(DicDataEnum.SHORT_INTERRUPTIONS.getCode()).getData(); //DictData dictdata = dicDataFeignClient.getDicDataByCode(DicDataEnum.SHORT_INTERRUPTIONS.getCode()).getData();
List<GeneralDeviceDTO> deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(waveTypeParam).getData(); List<GeneralDeviceDTO> deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(waveTypeParam).getData();
List<String> lineIds = deviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList()); List<String> lineIds = deviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList());