zbj//1.大屏中间所有数据稳态符合性

This commit is contained in:
zhangbaojian
2023-04-07 09:51:02 +08:00
parent 50d2e2637a
commit 779fa3faa3
5 changed files with 48 additions and 9 deletions

View File

@@ -21,6 +21,12 @@ public class AllDataVO implements Serializable {
@ApiModelProperty("部门名称") @ApiModelProperty("部门名称")
private String areaName; private String areaName;
/**
* 部门id
*/
@ApiModelProperty("部门id")
private String index;
/** /**
* 暂降事件次数 * 暂降事件次数
*/ */

View File

@@ -32,4 +32,7 @@ public interface LargeScreenMapper {
List<Map<String, Object>> getMiddleTerminal (@Param("deviceIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime); List<Map<String, Object>> getMiddleTerminal (@Param("deviceIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleLimitRateVO> getMiddleLimitRate (@Param("lineIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime); List<MiddleLimitRateVO> getMiddleLimitRate (@Param("lineIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<Map<String,Object>> getHomeostasisArea (@Param("indexIds") List<String> indexIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
} }

View File

@@ -195,5 +195,23 @@
left join pq_line pl3 on pl2.Pid = pl3.Id left join pq_line pl3 on pl2.Pid = pl3.Id
</select> </select>
<select id="getHomeostasisArea" resultType="java.util.Map">
select
rshom.org_no "id",
round(avg(rshom.over_limit_measurement_ratio_accrued),2) avg
from r_stat_harmonic_org_m rshom
left join sys_dict_data sdd on rshom.data_type = sdd.Id and sdd.`Code` = 'Mainnet_Point'
WHERE
rshom.org_no IN
<foreach collection="indexIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="startTime != null and startTime != ''">
and date_format(rshom.data_date,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')
</if>
<if test="endTime != null and endTime != ''">
and date_format(rshom.data_date,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
</if>
group by rshom.org_no
</select>
</mapper> </mapper>

View File

@@ -12,6 +12,7 @@ import com.njcn.system.pojo.enums.StatisticsEnum;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.map.HashedMap; import org.apache.commons.collections.map.HashedMap;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.njcn.device.pq.api.GeneralDeviceInfoClient; import com.njcn.device.pq.api.GeneralDeviceInfoClient;
@@ -19,10 +20,7 @@ import java.math.RoundingMode;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -274,6 +272,8 @@ public class LargeScreenServiceImpl implements LargeScreenService {
if (generalDeviceDTO.getDeviceIndexes().size() > 0) { if (generalDeviceDTO.getDeviceIndexes().size() > 0) {
AllDataVO allDataVO = largeScreenMapper.getFlagCount(generalDeviceDTO.getDeviceIndexes()); AllDataVO allDataVO = largeScreenMapper.getFlagCount(generalDeviceDTO.getDeviceIndexes());
allDataVO.setAreaName(generalDeviceDTO.getName()); allDataVO.setAreaName(generalDeviceDTO.getName());
allDataVO.setIndex(generalDeviceDTO.getIndex());
allDataVO.setSteadyLoad("0.0");
if (generalDeviceDTO.getLineIndexes().size() > 0) { if (generalDeviceDTO.getLineIndexes().size() > 0) {
Map<String, Object> map = largeScreenMapper.getDownCount(generalDeviceDTO.getLineIndexes(), largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); Map<String, Object> map = largeScreenMapper.getDownCount(generalDeviceDTO.getLineIndexes(), largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
allDataVO.setEventCounts(map.get("count").toString()); allDataVO.setEventCounts(map.get("count").toString());
@@ -284,11 +284,13 @@ public class LargeScreenServiceImpl implements LargeScreenService {
} else { } else {
AllDataVO allDataVO = new AllDataVO(); AllDataVO allDataVO = new AllDataVO();
allDataVO.setAreaName(generalDeviceDTO.getName()); allDataVO.setAreaName(generalDeviceDTO.getName());
allDataVO.setIndex(generalDeviceDTO.getIndex());
allDataVO.setRunning("0"); allDataVO.setRunning("0");
allDataVO.setHotSpare("0"); allDataVO.setHotSpare("0");
allDataVO.setShutdown("0"); allDataVO.setShutdown("0");
allDataVO.setNormal("0"); allDataVO.setNormal("0");
allDataVO.setBreakdown("0"); allDataVO.setBreakdown("0");
allDataVO.setSteadyLoad("0.0");
if (generalDeviceDTO.getLineIndexes().size() > 0) { if (generalDeviceDTO.getLineIndexes().size() > 0) {
Map<String, Object> map = largeScreenMapper.getDownCount(generalDeviceDTO.getLineIndexes(), largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); Map<String, Object> map = largeScreenMapper.getDownCount(generalDeviceDTO.getLineIndexes(), largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
allDataVO.setEventCounts(map.get("count").toString()); allDataVO.setEventCounts(map.get("count").toString());
@@ -298,7 +300,20 @@ public class LargeScreenServiceImpl implements LargeScreenService {
result.add(allDataVO); result.add(allDataVO);
} }
} }
//todo 该接口部分功能未完成 1.稳态符合性 2.综合评估 //部门id集合
List<String> indexIds = generalDeviceDTOList.stream().map(GeneralDeviceDTO::getIndex).collect(Collectors.toList());
List<Map<String, Object>> homeostasisArea = largeScreenMapper.getHomeostasisArea(indexIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
float f = 0.0f;
for (AllDataVO allDataVO : result) {
for (Map<String, Object> map : homeostasisArea) {
if (Objects.equals(map.get("id"),allDataVO.getIndex())){
f=Float.parseFloat(map.get("avg").toString());
allDataVO.setSteadyLoad(String.valueOf((1-f)*100));
}
}
}
//todo 该接口部分功能未完成 1.综合评估
return result; return result;
} }

View File

@@ -1,8 +1,5 @@
package com.njcn.harmonic.mapper.majornetwork; package com.njcn.harmonic.mapper.majornetwork;
import com.njcn.device.pq.pojo.vo.AllDataVO;
import com.njcn.device.pq.pojo.vo.EventVO;
import com.njcn.device.pq.pojo.vo.MiddleLimitRateVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;