zbj//1.大屏接口 代码调整

This commit is contained in:
zhangbaojian
2023-05-22 15:13:31 +08:00
parent 373fe16ee1
commit ded7f0f447
6 changed files with 30 additions and 28 deletions

View File

@@ -26,6 +26,6 @@ public class MiddleTerminalListVO implements Serializable {
* 总次数
*/
@ApiModelProperty("总次数")
private Integer size;
private Long size;
}

View File

@@ -1,5 +1,6 @@
package com.njcn.event.controller.majornetwork;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
@@ -135,9 +136,9 @@ public class LargeScreenController extends BaseController {
@PostMapping("/getMiddleLimitRate")
@ApiOperation("大屏中间稳态越线信息")
@ApiImplicitParam(name = "largeScreenParam", value = "大屏中间稳态越线信息", required = true)
public HttpResult<MiddleLimitRateListVO> getMiddleLimitRate(@RequestBody @Validated LargeScreenParam largeScreenParam) {
public HttpResult<Page<MiddleLimitRateVO>> getMiddleLimitRate(@RequestBody @Validated LargeScreenParam largeScreenParam) {
String methodDescribe = getMethodDescribe("getMiddleLimitRate");
MiddleLimitRateListVO result = largeScreenService.getMiddleLimitRate(largeScreenParam);
Page<MiddleLimitRateVO> result = largeScreenService.getMiddleLimitRate(largeScreenParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -26,7 +26,7 @@ public interface LargeScreenMapper {
List<Map<String, Object>> getTimeCount(@Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<EventVO> eventLists(@Param("startTime") String startTime, @Param("endTime") String endTime);
List<EventVO> eventLists(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("typeId") String typeId);
AllDataVO getFlagCount(@Param("lineIds") List<String> lineIds);
@@ -36,11 +36,11 @@ public interface LargeScreenMapper {
List<EventVO> getMiddleDownChind (@Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleChildVO> getMiddleTerminal (Page<MiddleChildVO> page,@Param("deviceIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
Page<MiddleChildVO> getMiddleTerminal (Page<MiddleChildVO> page,@Param("deviceIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleChildVO> getMiddleTerminalChild (@Param("deviceIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleLimitRateVO> getMiddleLimitRate (Page<MiddleLimitRateVO> page,@Param("lineIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
Page<MiddleLimitRateVO> getMiddleLimitRate (Page<MiddleLimitRateVO> page,@Param("lineIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleLimitRateVO> getMiddleLimitRateChild (@Param("lineIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);

View File

@@ -126,7 +126,7 @@
AND cfm.flag = 1
)) base,
IFNULL( cfm2.flow, 0 ) ream,
IFNULL( cmf.Statis_Value, 0 ) statusValue,
IFNULL( cmf.Actual_Value, 0 ) statusValue,
pl1.`Name` "name",
pd.IP ip,
pd.`Port` "port",
@@ -153,6 +153,7 @@
<if test="endTime != null and endTime != ''">
and date_format(cmf.Time_Id,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
</if>
and pd.Com_Flag = '0'
</select>
<select id="getMiddleLimitRate" resultType="com.njcn.device.pq.pojo.vo.MiddleLimitRateVO">
@@ -178,6 +179,7 @@
left join pq_line pl1 on pl.Pid = pl1.Id
left join pq_line pl2 on pl1.Pid = pl2.Id
left join pq_line pl3 on pl2.Pid = pl3.Id
where t.count != 0
</select>
<select id="getHomeostasisArea" resultType="java.util.Map">
@@ -316,7 +318,7 @@
AND cfm.flag = 1
)) base,
IFNULL( cfm2.flow, 0 ) ream,
IFNULL( cmf.Statis_Value, 0 ) statusValue,
IFNULL( cmf.Actual_Value, 0 ) statusValue,
pl1.`Name` "name",
pd.IP ip,
pd.`Port` "port",
@@ -357,6 +359,7 @@
<if test="endTime != null and endTime != ''">
and date_format(ed.start_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
</if>
and ed.event_type = #{typeId}
</where>
order by time desc
limit 50

View File

@@ -16,7 +16,10 @@ import com.njcn.event.service.majornetwork.LargeScreenService;
import com.njcn.harmonic.pojo.dto.ComAssessDTO;
import com.njcn.harmonic.pojo.po.PQSComAssesPO;
import com.njcn.harmonic.utils.HarmonicComAssesUtil;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.enums.StatisticsEnum;
import com.njcn.system.pojo.po.DictData;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.map.HashedMap;
@@ -47,6 +50,7 @@ public class LargeScreenServiceImpl implements LargeScreenService {
private final HarmonicComAssesUtil comAssesUtil;
private final DicDataFeignClient dicDataFeignClient;
/**
* 暂降事件区域
*/
@@ -248,7 +252,8 @@ public class LargeScreenServiceImpl implements LargeScreenService {
*/
@Override
public List<EventVO> eventLists(LargeScreenParam largeScreenParam) {
return largeScreenMapper.eventLists(largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_DIP.getCode()).getData();
return largeScreenMapper.eventLists(largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime(), dictData.getId());
}
/**
@@ -394,49 +399,46 @@ public class LargeScreenServiceImpl implements LargeScreenService {
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
//获取所有监测点集合
List<String> deviceIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getDeviceIndexes().stream()).collect(Collectors.toList());
List<MiddleChildVO> map = largeScreenMapper.getMiddleTerminal(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()), deviceIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
//获取没分页前的总数据
List<MiddleChildVO> child = largeScreenMapper.getMiddleTerminalChild(deviceIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
Page<MiddleChildVO> map = largeScreenMapper.getMiddleTerminal(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()), deviceIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
float base = 0.0f;
float ream = 0.0f;
float statusValue = 0.0f;
float v = 0.0f;
String s = "";
for (MiddleChildVO middleChildVO : map) {
for (MiddleChildVO middleChildVO : map.getRecords()) {
MiddleTerminalVO vo = new MiddleTerminalVO();
base = middleChildVO.getBase();
ream = middleChildVO.getReam();
statusValue = middleChildVO.getStatusValue();
statusValue = statusValue / 1024.0f / 1024.0f;
v = statusValue / (base + ream);
s = formatFloat(v);
vo.setName(middleChildVO.getName());
vo.setIp(middleChildVO.getIp());
vo.setPort(middleChildVO.getPort());
vo.setComFlag(middleChildVO.getComFlag());
vo.setProportion(s);
vo.setProportion(formatFloat(v));
result.add(vo);
}
MiddleTerminalListVO listVO = new MiddleTerminalListVO();
listVO.setList(result);
listVO.setSize(child.size());
listVO.setSize(map.getTotal());
return listVO;
}
public static String formatFloat(Float value) {
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);//保留位小数,即四舍五入到小数点后
nf.setMaximumFractionDigits(2);//保留位小数,即四舍五入到小数点后
nf.setRoundingMode(RoundingMode.HALF_UP);//设置四舍五入模式为四舍五入
float v = Float.parseFloat(nf.format(value));
return String.valueOf(v * 100);
return String.format("%.1f", Double.parseDouble(String.valueOf(v * 100)));
}
/**
* 大屏中间稳态越线信息
*/
@Override
public MiddleLimitRateListVO getMiddleLimitRate(LargeScreenParam largeScreenParam) {
public Page<MiddleLimitRateVO> getMiddleLimitRate(LargeScreenParam largeScreenParam) {
DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam();
//部门索引
deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex());
@@ -452,13 +454,8 @@ public class LargeScreenServiceImpl implements LargeScreenService {
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
//获取所有监测点集合
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
List<MiddleLimitRateVO> middleLimitRate = largeScreenMapper.getMiddleLimitRate(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()), lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
//获取没分页前的总数据
List<MiddleLimitRateVO> child = largeScreenMapper.getMiddleLimitRateChild(lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
MiddleLimitRateListVO listVO = new MiddleLimitRateListVO();
listVO.setList(middleLimitRate);
listVO.setSize(child.size());
return listVO;
Page<MiddleLimitRateVO> middleLimitRate = largeScreenMapper.getMiddleLimitRate(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()), lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
return middleLimitRate;
}

View File

@@ -1,5 +1,6 @@
package com.njcn.event.service.majornetwork;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.device.pq.pojo.param.LargeScreenParam;
import com.njcn.device.pq.pojo.vo.*;
import com.njcn.harmonic.pojo.dto.ComAssessDTO;
@@ -29,7 +30,7 @@ public interface LargeScreenService {
MiddleTerminalListVO getMiddleTerminal(LargeScreenParam largeScreenParam);
MiddleLimitRateListVO getMiddleLimitRate(LargeScreenParam largeScreenParam);
Page<MiddleLimitRateVO> getMiddleLimitRate(LargeScreenParam largeScreenParam);
List<PQSComAssesPO> getComAccessData(List<String> lineIndexes, String searchBeginTime, String searchEndTime);