This commit is contained in:
wr
2024-09-29 16:23:39 +08:00
parent 20d3631efe
commit bc3a6f2fa2
10 changed files with 122 additions and 13 deletions

View File

@@ -101,4 +101,15 @@ public class LineDevGetDTO {
* 接线方式 0.星型 1.星三角 2.三角
*/
private String wiringMethod;
/**
* 监测点统计间隔(解决MySQL关键字问题)
*/
private Integer timeInterval;
public void setTimeInterval(Integer timeInterval) {
this.interval = timeInterval;
this.timeInterval = timeInterval;
}
}

View File

@@ -24,7 +24,7 @@
<if test="type == 1">
pq_dept_line.id unitId,
point.id pointId,
lineDetail.Time_Interval as interval,
lineDetail.Time_Interval as timeInterval,
lineDetail.load_type lineTag,
dic.id voltageLevel,
dev.id devId,

View File

@@ -56,7 +56,7 @@
<select id="getMonitorDetail" resultType="com.njcn.device.biz.pojo.dto.LineDevGetDTO">
select a.id pointId,a.name pointName,b.Time_Interval interval
select a.id pointId,a.name pointName,b.Time_Interval timeInterval
from pq_line a
inner join pq_line_detail b on a.id=b.id
where a.id = #{monitorId}

View File

@@ -1156,7 +1156,7 @@
<select id="getLineBySubStation" resultType="com.njcn.device.biz.pojo.dto.LineDevGetDTO">
SELECT
pq_line.id pointId,
lineDetail.Time_Interval interval,
lineDetail.Time_Interval timeInterval,
dev.id devId,
device.com_flag
FROM
@@ -1177,7 +1177,7 @@
</select>
<select id="getMonitorListDetail" resultType="com.njcn.device.biz.pojo.dto.LineDevGetDTO">
select line.id pointId,dev.id devId,0 type,1 lineType,lineDetail.Time_Interval as interval
select line.id pointId,dev.id devId,0 type,1 lineType,lineDetail.Time_Interval as timeInterval
from pq_line line
inner join pq_line_detail lineDetail on line.id = lineDetail.id
inner join pq_line subv on line.pid = subv.id

View File

@@ -188,6 +188,7 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
@Override
public CommunicateVO getComFlagInfoData(String id, String searchBeginTime, String searchEndTime) {
String devId = lineMapper.getDevIndex(id);
Device device = deviceMapper.selectById(devId);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<PqsCommunicate> communicateList = getCommunicate(devId, searchBeginTime, searchEndTime);
CommunicateVO communicateVOList = new CommunicateVO();
@@ -208,6 +209,7 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
Long time = instant.toEpochMilli();
String timeText = df.format(time);
updateTime.add(timeText);
//取反(正常来时,有变动才会有数据)
if(CollUtil.isNotEmpty(communicateList)){
if(communicateList.get(0).getType()==0){
comType.add(1);
@@ -215,7 +217,7 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
comType.add(0);
}
}else{
comType.add(1);
comType.add(device.getComFlag());
}
}
@@ -248,7 +250,7 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
if(CollUtil.isNotEmpty(communicateList)){
comType.add(communicateList.get(communicateList.size()-1).getType());
}else{
comType.add(1);
comType.add(device.getComFlag());
}
}
communicateVOList.setUpdateTime(updateTime);

View File

@@ -12,6 +12,7 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.GridDiagramParam;
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.vo.RStatLimitTargetCountVO;
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
import com.njcn.harmonic.service.IRMpTargetWarnDService;
import com.njcn.harmonic.service.IRStatLimitTargetDService;
@@ -111,9 +112,9 @@ public class GridDiagramHarmController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getGridDiagramTargetData")
@ApiOperation("监测点告警越线天数详细信息")
public HttpResult<RStatLimitTargetVO> getGridDiagramTargetData(@RequestBody StatisticsBizBaseParam param) {
public HttpResult<RStatLimitTargetCountVO> getGridDiagramTargetData(@RequestBody StatisticsBizBaseParam param) {
String methodDescribe = getMethodDescribe("getGridDiagramTargetData");
RStatLimitTargetVO gridDiagramDevData = targetDService.getGridDiagramTargetData(param);
RStatLimitTargetCountVO gridDiagramDevData = targetDService.getGridDiagramTargetData(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
}

View File

@@ -2,6 +2,7 @@ package com.njcn.harmonic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
import com.njcn.harmonic.pojo.vo.RStatLimitTargetCountVO;
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
import org.apache.ibatis.annotations.Param;
@@ -64,4 +65,8 @@ public interface RStatLimitTargetDMapper extends BaseMapper<RStatLimitTargetDPO>
List<RStatLimitTargetVO> getSumTargetDetails(@Param("ids") List<String> ids,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
List<RStatLimitTargetCountVO> getSumTargetCountDayes(@Param("ids") List<String> ids,
@Param("startTime") String startTime,
@Param("endTime") String endTime);
}

View File

@@ -484,4 +484,93 @@
GROUP BY time_id,my_index) A
GROUP BY A.lineId
</select>
<select id="getSumTargetCountDayes" resultType="com.njcn.harmonic.pojo.vo.RStatLimitTargetCountVO">
SELECT
A.lineId,
SUM( CASE WHEN A.freqDevOvertime > 0 THEN 1 ELSE 0 END ) freqDevOvertime,
SUM( CASE
WHEN A.flickerOvertime is NULL THEN NULL
WHEN A.flickerOvertime > 0 THEN 1 ELSE 0 END ) flickerOvertime,
SUM( CASE WHEN A.voltageDevOvertime > 0 THEN 1 ELSE 0 END ) voltageDevOvertime,
SUM( CASE WHEN A.ubalanceOvertime > 0 THEN 1 ELSE 0 END ) ubalanceOvertime,
SUM( CASE WHEN A.uaberranceOvertime > 0 THEN 1 ELSE 0 END ) uaberranceOvertime,
SUM( CASE WHEN A.iNegOvertime > 0 THEN 1 ELSE 0 END ) iNegOvertime,
SUM( CASE WHEN A.uharmOvertime > 0 THEN 1 ELSE 0 END ) uharmOvertime,
SUM( CASE WHEN A.iharmOvertime > 0 THEN 1 ELSE 0 END ) iharmOvertime,
SUM( CASE WHEN A.inuharmOvertime > 0 THEN 1 ELSE 0 END ) inuharmOvertime,
SUM( CASE WHEN A.allOvertime > 0 THEN 1 ELSE 0 END ) allOvertime
FROM
(
SELECT
time_id,
my_index AS lineId,
SUM( freq_dev_overtime ) AS freqDevOvertime,
SUM(
CASE WHEN flicker_all_time > 0 AND flicker_overtime > 0 THEN 1
WHEN flicker_all_time > 0 AND flicker_overtime = 0 THEN 0
ELSE null END
) AS flickerOvertime,
SUM( voltage_dev_overtime ) AS voltageDevOvertime,
SUM( ubalance_overtime ) AS ubalanceOvertime,
SUM( uaberrance_overtime ) AS uaberranceOvertime,
SUM( i_neg_overtime ) AS iNegOvertime,
SUM(
IF
(
(
uaberrance_overtime + uharm_2_overtime + uharm_3_overtime + uharm_4_overtime + uharm_5_overtime + uharm_6_overtime + uharm_7_overtime + uharm_8_overtime + uharm_9_overtime + uharm_10_overtime + uharm_11_overtime + uharm_12_overtime + uharm_13_overtime + uharm_14_overtime + uharm_15_overtime + uharm_16_overtime + uharm_17_overtime + uharm_18_overtime + uharm_19_overtime + uharm_20_overtime + uharm_21_overtime + uharm_22_overtime + uharm_23_overtime + uharm_24_overtime + uharm_25_overtime
) > 0,
1,
0
)
) AS uharmOvertime,
SUM(
IF
(
(
iharm_2_overtime + iharm_3_overtime + iharm_4_overtime + iharm_5_overtime + iharm_6_overtime + iharm_7_overtime + iharm_8_overtime + iharm_9_overtime + iharm_10_overtime + iharm_11_overtime + iharm_12_overtime + iharm_13_overtime + iharm_14_overtime + iharm_15_overtime + iharm_16_overtime + iharm_17_overtime + iharm_18_overtime + iharm_19_overtime + iharm_20_overtime + iharm_21_overtime + iharm_22_overtime + iharm_23_overtime + iharm_24_overtime + iharm_25_overtime
) > 0,
1,
0
)
) AS iharmOvertime,
SUM(
IF
(
(
inuharm_1_overtime + inuharm_2_overtime + inuharm_3_overtime + inuharm_4_overtime + inuharm_5_overtime + inuharm_6_overtime + inuharm_7_overtime + inuharm_8_overtime + inuharm_9_overtime + inuharm_10_overtime + inuharm_11_overtime + inuharm_12_overtime + inuharm_13_overtime + inuharm_14_overtime + inuharm_15_overtime + inuharm_16_overtime
) > 0,
1,
0
)
) AS inuharmOvertime,
SUM(
IF
(
(
freq_dev_overtime + flicker_overtime + voltage_dev_overtime + ubalance_overtime + uaberrance_overtime + i_neg_overtime + uharm_2_overtime + uharm_3_overtime + uharm_4_overtime + uharm_5_overtime + uharm_6_overtime + uharm_7_overtime + uharm_8_overtime + uharm_9_overtime + uharm_10_overtime + uharm_11_overtime + uharm_12_overtime + uharm_13_overtime + uharm_14_overtime + uharm_15_overtime + uharm_16_overtime + uharm_17_overtime + uharm_18_overtime + uharm_19_overtime + uharm_20_overtime + uharm_21_overtime + uharm_22_overtime + uharm_23_overtime + uharm_24_overtime + uharm_25_overtime + iharm_2_overtime + iharm_3_overtime + iharm_4_overtime + iharm_5_overtime + iharm_6_overtime + iharm_7_overtime + iharm_8_overtime + iharm_9_overtime + iharm_10_overtime + iharm_11_overtime + iharm_12_overtime + iharm_13_overtime + iharm_14_overtime + iharm_15_overtime + iharm_16_overtime + iharm_17_overtime + iharm_18_overtime + iharm_19_overtime + iharm_20_overtime + iharm_21_overtime + iharm_22_overtime + iharm_23_overtime + iharm_24_overtime + iharm_25_overtime + inuharm_1_overtime + inuharm_2_overtime + inuharm_3_overtime + inuharm_4_overtime + inuharm_5_overtime + inuharm_6_overtime + inuharm_7_overtime + inuharm_8_overtime + inuharm_9_overtime + inuharm_10_overtime + inuharm_11_overtime + inuharm_12_overtime + inuharm_13_overtime + inuharm_14_overtime + inuharm_15_overtime + inuharm_16_overtime
) > 0,
1,
0
)
) AS allOvertime
FROM
r_stat_limit_rate_d
<where>
and time_id between #{startTime} and #{endTime}
<if test=" ids != null and ids.size > 0">
AND my_index IN
<foreach collection='ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
</where>
GROUP BY
time_id,
my_index
) A
GROUP BY
A.lineId;
</select>
</mapper>

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
import com.njcn.harmonic.pojo.vo.RStatLimitTargetCountVO;
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
import java.util.List;
@@ -31,5 +32,5 @@ public interface IRStatLimitTargetDService extends IService<RStatLimitTargetDPO>
* @param param
* @return
*/
RStatLimitTargetVO getGridDiagramTargetData(StatisticsBizBaseParam param);
RStatLimitTargetCountVO getGridDiagramTargetData(StatisticsBizBaseParam param);
}

View File

@@ -7,7 +7,7 @@ import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.mapper.RStatLimitTargetDMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
import com.njcn.harmonic.pojo.vo.RStatLimitTargetCountVO;
import com.njcn.harmonic.service.IRStatLimitTargetDService;
import org.springframework.stereotype.Service;
@@ -31,13 +31,13 @@ public class RStatLimitTargetDServiceImpl extends ServiceImpl<RStatLimitTargetDM
}
@Override
public RStatLimitTargetVO getGridDiagramTargetData(StatisticsBizBaseParam param) {
List<RStatLimitTargetVO> sumTargetDetails = this.baseMapper.getSumTargetDetails(Arrays.asList(param.getId()),
public RStatLimitTargetCountVO getGridDiagramTargetData(StatisticsBizBaseParam param) {
List<RStatLimitTargetCountVO> sumTargetDetails = this.baseMapper.getSumTargetCountDayes(Arrays.asList(param.getId()),
DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())).toString(),
DateUtil.endOfDay(DateUtil.parse(param.getEndTime())).toString());
if(CollUtil.isNotEmpty(sumTargetDetails)){
return sumTargetDetails.get(0);
}
return new RStatLimitTargetVO() ;
return new RStatLimitTargetCountVO() ;
}
}