zbj//1.大屏中间所有数据稳态符合性
This commit is contained in:
@@ -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<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);
|
||||
|
||||
}
|
||||
|
||||
@@ -195,5 +195,23 @@
|
||||
left join pq_line pl3 on pl2.Pid = pl3.Id
|
||||
</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') >= date_format(#{startTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
and date_format(rshom.data_date,'%y%m%d') <= date_format(#{endTime},'%y%m%d')
|
||||
</if>
|
||||
group by rshom.org_no
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.njcn.system.pojo.enums.StatisticsEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.map.HashedMap;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.njcn.device.pq.api.GeneralDeviceInfoClient;
|
||||
|
||||
@@ -19,10 +20,7 @@ import java.math.RoundingMode;
|
||||
import java.text.NumberFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -274,6 +272,8 @@ public class LargeScreenServiceImpl implements LargeScreenService {
|
||||
if (generalDeviceDTO.getDeviceIndexes().size() > 0) {
|
||||
AllDataVO allDataVO = largeScreenMapper.getFlagCount(generalDeviceDTO.getDeviceIndexes());
|
||||
allDataVO.setAreaName(generalDeviceDTO.getName());
|
||||
allDataVO.setIndex(generalDeviceDTO.getIndex());
|
||||
allDataVO.setSteadyLoad("0.0");
|
||||
if (generalDeviceDTO.getLineIndexes().size() > 0) {
|
||||
Map<String, Object> map = largeScreenMapper.getDownCount(generalDeviceDTO.getLineIndexes(), largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
|
||||
allDataVO.setEventCounts(map.get("count").toString());
|
||||
@@ -284,11 +284,13 @@ public class LargeScreenServiceImpl implements LargeScreenService {
|
||||
} else {
|
||||
AllDataVO allDataVO = new AllDataVO();
|
||||
allDataVO.setAreaName(generalDeviceDTO.getName());
|
||||
allDataVO.setIndex(generalDeviceDTO.getIndex());
|
||||
allDataVO.setRunning("0");
|
||||
allDataVO.setHotSpare("0");
|
||||
allDataVO.setShutdown("0");
|
||||
allDataVO.setNormal("0");
|
||||
allDataVO.setBreakdown("0");
|
||||
allDataVO.setSteadyLoad("0.0");
|
||||
if (generalDeviceDTO.getLineIndexes().size() > 0) {
|
||||
Map<String, Object> map = largeScreenMapper.getDownCount(generalDeviceDTO.getLineIndexes(), largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
|
||||
allDataVO.setEventCounts(map.get("count").toString());
|
||||
@@ -298,7 +300,20 @@ public class LargeScreenServiceImpl implements LargeScreenService {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user