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

@@ -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() ;
}
}