1.解决pmsBug

This commit is contained in:
wr
2023-10-07 16:37:50 +08:00
parent d38557765c
commit e21dc1965a
7 changed files with 90 additions and 27 deletions

View File

@@ -33,16 +33,6 @@ public class PmsMonitorInfoDTO implements Serializable {
*/
private String powerName;
/**
* 母线id
*/
private String generatrixId;
/**
* 母线名称
*/
private String generatrixName;
/**
* 监测点id
*/

View File

@@ -1,5 +1,6 @@
package com.njcn.device.pms.pojo.vo;
import cn.hutool.core.util.StrUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -42,4 +43,28 @@ public class RStatDevSignalVO {
@ApiModelProperty(name = "updateTime", value = "最后通讯时间")
private String updateTime; //最后通讯时间
public void setDeviceStatus(String deviceStatus) {
if(StrUtil.isNotBlank(deviceStatus)){
this.deviceStatus = deviceStatus;
}else{
this.deviceStatus = "/";
}
}
public void setRunStatus(String runStatus) {
if(StrUtil.isNotBlank(runStatus)){
this.runStatus = runStatus;
}else{
this.runStatus = "/";
}
}
public void setUpdateTime(String updateTime) {
if(StrUtil.isNotBlank(updateTime)){
this.updateTime = updateTime;
}else{
this.updateTime = "/";
}
}
}

View File

@@ -3,10 +3,14 @@ package com.njcn.device.pms.mapper.majornetwork;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.device.pms.pojo.param.RStatDevSignalParam;
import com.njcn.device.pms.pojo.po.PmsTerminal;
import com.njcn.device.pms.pojo.vo.PmsTerminalVO;
import com.njcn.device.pms.pojo.vo.RStatDevSignalVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* Mapper 接口
@@ -18,4 +22,6 @@ import org.apache.ibatis.annotations.Param;
public interface TerminalMapper extends BaseMapper<PmsTerminal> {
Page<PmsTerminalVO> page(@Param("page")Page<PmsTerminalVO> page, @Param("ew") QueryWrapper<PmsTerminalVO> queryWrapper);
List<RStatDevSignalVO> selectTerminalList(@Param("ids") List<String> ids,@Param("param") RStatDevSignalParam rStatDevSignalParam);
}

View File

@@ -91,12 +91,8 @@
pm.Org_Name AS orgName,
pm.Powerr_Id AS powerId,
pm.Powerr_Name AS powerName,
pm.Generatrix_Id AS generatrixId,
pm.Generatrix_Name AS generatrixName,
pm.Id AS monitorId,
pm.`Name` AS monitorName,
pm.Generatrix_Id AS generatrixId,
pm.Generatrix_Name AS generatrixName,
pm.Voltage_Level AS monitorVoltageLevel,
pm.Monitor_Type AS monitorType,
pm.Monitor_State AS monitorState

View File

@@ -7,4 +7,36 @@
FROM pms_terminal pms_terminal
WHERE ${ew.sqlSegment}
</select>
<select id="selectTerminalList" resultType="com.njcn.device.pms.pojo.vo.RStatDevSignalVO">
SELECT
Id as terminalId,
NAME as terminalName,
Org_Name as orgName,
Org_Id as orgId,
ip as ip,
PORT as port,
Terminal_State as deviceStatus,
Com_Flag as runStatus,
Update_Time as updateTime
FROM
pms_terminal
<where>
<if test="ids != null and ids.size > 0">
AND Org_Id IN
<foreach collection='ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param.deviceName != null and param.deviceName !=''">
and pms_terminal.id like concat('%',#{param.deviceName},'%')
</if>
<if test="param.deviceStatus != null and param.deviceStatus !='' ">
and pms_terminal.Terminal_State = #{param.deviceStatus}
</if>
<if test="param.runStatus != null and param.runStatus !='' ">
and pms_terminal.Com_Flag = #{param.runStatus}
</if>
</where>
</select>
</mapper>

View File

@@ -152,11 +152,16 @@ public class DataQualityStatServiceImpl implements DataQualityStatService {
// 计算有效接入率【有效接入监测点数量/在运监测点数】
return result.stream().peek(vo -> {
vo.setOrgName(deptDTOMap.get(vo.getOrgNo()).getName());
vo.setEffectiveAccessRate(
Double.parseDouble(
df.format((vo.getEffectiveAccessMeasurementCount() * 1.0)
/ (vo.getMeasurementCount() * 1.0))
) * 100);
if(vo.getMeasurementCount()!=0&&vo.getMeasurementCount()!=null){
vo.setEffectiveAccessRate(
Double.parseDouble(
df.format((vo.getEffectiveAccessMeasurementCount() * 1.0)
/ (vo.getMeasurementCount() * 1.0))
) * 100);
}else{
vo.setEffectiveAccessRate(0.0);
}
}).collect(Collectors.toList());
}
@@ -196,11 +201,16 @@ public class DataQualityStatServiceImpl implements DataQualityStatService {
BeanUtils.copyProperties(po, vo);
vo.setOrgId(po.getOrgNo());
vo.setOrgName(deptDTOMap.get(vo.getOrgId()).getName());
vo.setProblemProportion(
Double.parseDouble(
df.format((po.getProblem() * 1.0)
/ (po.getEffectiveAccessMeasurementCount() * 1.0))
) * 100);
if(po.getEffectiveAccessMeasurementCount()!=0&&po.getEffectiveAccessMeasurementCount()!=null){
vo.setProblemProportion(
Double.parseDouble(
df.format((po.getProblem() * 1.0)
/ (po.getEffectiveAccessMeasurementCount() * 1.0))
) * 100);
}else{
vo.setProblemProportion(0.0);
}
if (po.getProblemYearOnYear() == null) {
vo.setProblemYearOnYear("3.14159");
} else {

View File

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pms.mapper.majornetwork.TerminalMapper;
import com.njcn.device.pms.pojo.param.RStatDevSignalParam;
import com.njcn.device.pms.pojo.po.RStatDevSignalD;
import com.njcn.device.pms.pojo.po.PmsTerminal;
@@ -26,6 +27,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -38,7 +40,7 @@ import java.util.stream.Collectors;
public class RStatDevSignalDServiceImpl extends ServiceImpl<RStatDevSignalDMapper, RStatDevSignalD>
implements RStatDevSignalDService{
private final ITerminalService iTerminalService;
private final TerminalMapper terminalMapper;
private final DeptFeignClient deptFeignClient;
@@ -63,7 +65,8 @@ public class RStatDevSignalDServiceImpl extends ServiceImpl<RStatDevSignalDMappe
}
//单位id集合
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
return terminalMapper.selectTerminalList(orgCodeList, rStatDevSignalParam);
/*
//查询终端数据
LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>();
terminalWrapper.in(PmsTerminal::getOrgId, orgCodeList)
@@ -96,7 +99,7 @@ public class RStatDevSignalDServiceImpl extends ServiceImpl<RStatDevSignalDMappe
rStatDevSignalVO.setPort(terminalMap.get(item.getDeviceId()).getPort()); //端口
return rStatDevSignalVO;
}).collect(Collectors.toList());
Map<String, RStatDevSignalD> signalMap = list.stream().collect(Collectors.toMap(RStatDevSignalD::getDeviceId, terminal -> terminal));
Map<String, RStatDevSignalD> signalMap = list.stream().collect(Collectors.toMap(RStatDevSignalD::getDeviceId, Function.identity(),(key1, key2)->key1));
List<PmsTerminal> notList = terminalList.stream().filter(r -> !signalMap.containsKey(r.getId()))
.collect(Collectors.toList());
@@ -117,6 +120,7 @@ public class RStatDevSignalDServiceImpl extends ServiceImpl<RStatDevSignalDMappe
}
}
return resultList;
*/
}
}