冀北终端评价列表信息增加

This commit is contained in:
wr
2025-11-28 10:47:50 +08:00
parent e4e04fc5db
commit 404d11526a
4 changed files with 91 additions and 36 deletions

View File

@@ -11,6 +11,15 @@ import lombok.Data;
@Data @Data
public class DevDetailVO { public class DevDetailVO {
@ApiModelProperty("地市")
private String cit;
@ApiModelProperty("供电公司")
private String company;
@ApiModelProperty("终端厂家")
private String manufacturer;
@ApiModelProperty(name = "lineId",value = "监测点索引") @ApiModelProperty(name = "lineId",value = "监测点索引")
private String lineId; private String lineId;
@@ -32,4 +41,6 @@ public class DevDetailVO {
@ApiModelProperty(name = "subName",value = "对象id(新能源用户)") @ApiModelProperty(name = "subName",value = "对象id(新能源用户)")
private String ObjId; private String ObjId;
@ApiModelProperty("终端运行状态0运行1检修2停运3调试4退运")
private Integer runFlag;
} }

View File

@@ -29,6 +29,18 @@ public class DeviceRunEvaluateVO {
@ApiModelProperty("评价") @ApiModelProperty("评价")
private BigDecimal evaluate; private BigDecimal evaluate;
@ApiModelProperty("地市")
private String cit;
@ApiModelProperty("供电公司")
private String company;
@ApiModelProperty("终端厂家")
private String manufacturer;
@ApiModelProperty("终端运行状态0运行1检修2停运3调试4退运")
private String runFlag;
@ApiModelProperty("完整率") @ApiModelProperty("完整率")
private BigDecimal integrityRate; private BigDecimal integrityRate;

View File

@@ -36,6 +36,11 @@ import com.njcn.harmonic.pojo.param.RStatLimitQueryParam;
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
import com.njcn.supervision.api.UserLedgerFeignClient; import com.njcn.supervision.api.UserLedgerFeignClient;
import com.njcn.supervision.pojo.vo.user.NewUserReportVO; import com.njcn.supervision.pojo.vo.user.NewUserReportVO;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -66,7 +71,8 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
private final DeptLineService deptLineService; private final DeptLineService deptLineService;
private final GeneralDeviceService deviceService; private final GeneralDeviceService deviceService;
private final OnLineRateMapper onLineRateMapper; private final OnLineRateMapper onLineRateMapper;
private final LineService lineService; private final DicDataFeignClient dicDataFeignClient;
private final DeptFeignClient deptFeignClient;
/** /**
* 数据完整性:50% * 数据完整性:50%
*/ */
@@ -340,6 +346,11 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
@Override @Override
public List<DeviceRunEvaluateVO.Detail> getRunEvaluate(DeviceInfoParam.BusinessParam param) { public List<DeviceRunEvaluateVO.Detail> getRunEvaluate(DeviceInfoParam.BusinessParam param) {
List<DictData> manufacturerList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_MANUFACTURER.getCode()).getData();
Map<String, String> manufacturerMap = manufacturerList.stream().collect(Collectors.toMap(DictData::getId, DictData::getName));
List<Dept> deptList = deptFeignClient.getAllDept().getData();
Map<String, String> deptMap = deptList.stream().collect(Collectors.toMap(Dept::getId, Dept::getName));
List<DeviceRunEvaluateVO.Detail> info = new ArrayList<>(); List<DeviceRunEvaluateVO.Detail> info = new ArrayList<>();
//获取终端台账类信息 //获取终端台账类信息
List<GeneralDeviceDTO> deviceInfo = deviceService.getDeviceInfo(param, ObjectUtil.isNull(param.getLineRunFlag()) ? null : Arrays.asList(param.getLineRunFlag()), Arrays.asList(1)); List<GeneralDeviceDTO> deviceInfo = deviceService.getDeviceInfo(param, ObjectUtil.isNull(param.getLineRunFlag()) ? null : Arrays.asList(param.getLineRunFlag()), Arrays.asList(1));
@@ -395,6 +406,14 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
evaluateVO.setName(value.get(0).getDevName()); evaluateVO.setName(value.get(0).getDevName());
evaluateVO.setSubName(value.get(0).getSubName()); evaluateVO.setSubName(value.get(0).getSubName());
evaluateVO.setIp(value.get(0).getIp()); evaluateVO.setIp(value.get(0).getIp());
//部门
if (deptMap.containsKey(value.get(0).getCit())) {
evaluateVO.setCit(deptMap.get(value.get(0).getCit()));
}
//终端厂商
if (manufacturerMap.containsKey(value.get(0).getManufacturer())) {
evaluateVO.setManufacturer(manufacturerMap.get(value.get(0).getManufacturer()));
}
evaluateVO.setOnLineRate(onLineRate(onlineRateByDev, Arrays.asList(key))); evaluateVO.setOnLineRate(onLineRate(onlineRateByDev, Arrays.asList(key)));
evaluateVO.setIntegrityRate(integrity(integrityList, ids)); evaluateVO.setIntegrityRate(integrity(integrityList, ids));
evaluateVO.setPassRate(limitRate(limitRatePOList, ids)); evaluateVO.setPassRate(limitRate(limitRatePOList, ids));

View File

@@ -1851,42 +1851,55 @@
where t1.state = 1 where t1.state = 1
</select> </select>
<select id="getLineDeviceByDevIds" resultType="com.njcn.device.pq.pojo.vo.DevDetailVO"> <select id="getLineDeviceByDevIds" resultType="com.njcn.device.pq.pojo.vo.DevDetailVO">
SELECT distinct SELECT DISTINCT
t.id lineId, line.id as lineId,
t.NAME lineName, line.name as lineName,
dev.id devId, device.id as devId,
dev.NAME devName, pd.Id as cit,
sub.NAME subName, gd.NAME as company,
td.Obj_Id objId, substation.NAME as subName,
device.ip device.NAME as devName,
lineDetail.Line_Grade AS lineGrade,
deviceDetail.Update_Time AS timeID,
deviceDetail.ip as ip,
deviceDetail.Com_Flag as comFlag,
deviceDetail.run_Flag as runFlag,
deviceDetail.Manufacturer as manufacturer,
deviceDetail.Next_Time_Check as nextTimeCheck,
lineDetail.Obj_Id objId
FROM FROM
pq_line t, pq_line line,
pq_line_detail td, pq_dept_line pd,
pq_line subv, pq_line voltage,
pq_line dev, pq_line device,
pq_device device, pq_line substation,
pq_line sub pq_line gd,
WHERE pq_device deviceDetail,
t.id = td.id pq_line_detail lineDetail
AND subv.id = t.pid <where>
AND dev.id = subv.pid line.pid = voltage.id
AND dev.id = device.id AND line.id = pd.Line_Id
AND sub.id = dev.pid AND voltage.pid = device.id
AND device.pid = substation.id
AND substation.pid = gd.id
AND device.id = deviceDetail.id
AND line.id = lineDetail.id
<if test="powerFlag!=null and powerFlag!=2"> <if test="powerFlag!=null and powerFlag!=2">
AND td.Power_Flag =#{powerFlag} AND lineDetail.Power_Flag =#{powerFlag}
</if> </if>
<if test="lineIds!=null and lineIds.size()!=0"> <if test="lineIds!=null and lineIds.size()!=0">
AND t.id in AND line.id in
<foreach item="item" collection="lineIds" separator="," open="(" close=")"> <foreach item="item" collection="lineIds" separator="," open="(" close=")">
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="devIds!=null and devIds.size()!=0"> <if test="devIds!=null and devIds.size()!=0">
AND dev.id in AND device.id in
<foreach item="item" collection="devIds" separator="," open="(" close=")"> <foreach item="item" collection="devIds" separator="," open="(" close=")">
#{item} #{item}
</foreach> </foreach>
</if> </if>
</where>
</select> </select>
<select id="getSubIdByPid" resultType="String"> <select id="getSubIdByPid" resultType="String">