From 703a145bb3697fc6f99b5c2ba85ef87a6a6fa486 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Tue, 13 Aug 2024 10:53:37 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=AE=9E=E4=BD=93=E7=B1=BB=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java | 2 +- .../service/impl/CsEquipmentDeliveryServiceImpl.java | 8 ++++---- .../njcn/csdevice/service/impl/CsLedgerServiceImpl.java | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java index a5b25da..8af5634 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java @@ -76,7 +76,7 @@ public class CsEquipmentDeliveryPO extends BaseEntity { * 接入状态(1:未注册 2:注册 3:接入) */ @TableField(value = "status") - private String status; + private Integer status; /** * 设备状态(0:删除 1:离线 2:在线) diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java index f6698a3..5689bf8 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java @@ -107,7 +107,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl list = csEquipmentProcessPOService.lambdaQuery().eq(CsEquipmentProcessPO::getDevId, one.getNdid()). diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java index 13bc0b0..f4f50bd 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java @@ -126,7 +126,7 @@ public class CsLedgerServiceImpl extends ServiceImpl i for(CsLedgerVO c : portables){ c.setPid(portable.getId()); CsEquipmentDeliveryPO csEquipmentDeliveryPO = csEquipmentDeliveryMapper.selectById(c.getId()); - c.setComFlag(Integer.parseInt(csEquipmentDeliveryPO.getStatus())); + c.setComFlag(csEquipmentDeliveryPO.getStatus()); c.setChildren(wlRecordMapper.getAllLine(c.getId())); for(CsLedgerVO cs : c.getChildren()){ cs.setPid(c.getId()); @@ -208,7 +208,7 @@ public class CsLedgerServiceImpl extends ServiceImpl i for(CsLedgerVO c : portables){ c.setPid(portable.getId()); CsEquipmentDeliveryPO csEquipmentDeliveryPO = csEquipmentDeliveryMapper.selectById(c.getId()); - c.setComFlag(Integer.parseInt(csEquipmentDeliveryPO.getStatus())); + c.setComFlag(csEquipmentDeliveryPO.getStatus()); } portable.setChildren(portables); From 2f1e899be7d95b96de54a68c8359807e12fd8c45 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Wed, 14 Aug 2024 14:04:41 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BA=8C=E6=AC=A1=E5=80=BC=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E4=B8=BA=E4=B8=80=E6=AC=A1=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../csdevice/pojo/vo/DeviceManagerVO.java | 3 + .../equipment/CsGroupController.java | 5 +- .../csdevice/service/ICsGroupService.java | 2 +- .../impl/CsEquipmentDeliveryServiceImpl.java | 2 + .../service/impl/CsGroupServiceImpl.java | 94 +++++++++++++++++-- .../param/DevicDataTrendQueryParam.java | 3 + .../handler/MqttMessageHandler.java | 8 ++ .../impl/DeviceDataTrendServiceImpl.java | 56 ++++++++--- 8 files changed, 152 insertions(+), 21 deletions(-) diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DeviceManagerVO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DeviceManagerVO.java index 51ba627..ac26632 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DeviceManagerVO.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DeviceManagerVO.java @@ -39,6 +39,9 @@ public class DeviceManagerVO { @ApiModelProperty(value = "装置数据集集合") private List dataSetList; + @ApiModelProperty(value = "装置数据标识") + private String dataLevel; + @Data public static class DataSetVO { @ApiModelProperty(value = "数据集Id") diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsGroupController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsGroupController.java index be015ee..2b9c546 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsGroupController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsGroupController.java @@ -61,10 +61,11 @@ public class CsGroupController extends BaseController { @ApiImplicitParam(name = "pageSize", value = "页面尺寸", required = true), @ApiImplicitParam(name = "lineId", value = "监测点id", required = true), @ApiImplicitParam(name = "searchValue", value = "搜索值", required = true), + @ApiImplicitParam(name = "dataLevel", value = "数据标志", required = true) }) - public HttpResult> getDeviceRtData(@RequestParam("id") String id, @RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, @RequestParam(value = "lineId")String lineId, @RequestParam(value = "searchValue") String searchValue){ + public HttpResult> getDeviceRtData(@RequestParam("id") String id, @RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, @RequestParam(value = "lineId")String lineId, @RequestParam(value = "searchValue") String searchValue, @RequestParam(value = "dataLevel",required = false) String dataLevel){ String methodDescribe = getMethodDescribe("getDeviceRtData"); - IPage list = csGroupService.getDeviceRtData(id, pageNum, pageSize,lineId,searchValue); + IPage list = csGroupService.getDeviceRtData(id, pageNum, pageSize,lineId,searchValue,dataLevel); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsGroupService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsGroupService.java index 17089a2..90b06b7 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsGroupService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsGroupService.java @@ -34,7 +34,7 @@ public interface ICsGroupService extends IService { * 获取装置分组后的实时数据 * @return */ - IPage getDeviceRtData(String id, Integer pageNum, Integer pageSize, String lineId, String searchValue); + IPage getDeviceRtData(String id, Integer pageNum, Integer pageSize, String lineId, String searchValue, String dataLevel); /** * 获取装置时间范围内的历史数据 diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java index 5689bf8..216cdd9 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java @@ -349,6 +349,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl impl } @Override - public IPage getDeviceRtData(String id, Integer pageNum, Integer pageSize, String lineId, String searchValue) { + public IPage getDeviceRtData(String id, Integer pageNum, Integer pageSize, String lineId, String searchValue, String dataLevel) { IPage pageTurn = new Page<>(); List arrayList = new ArrayList<>(); IPage pageRes = csGroupMapper.getGroupDataList(new Page<>(pageNum, pageSize),id,searchValue); @@ -143,19 +145,76 @@ public class CsGroupServiceImpl extends ServiceImpl impl List group = groupList.stream().map(DataGroupTemplateVO::getId).collect(Collectors.toList()); //获取当前组的所有指标项 List list = csDataArrayMapper.getArrayByGroup(group); + //获取所有字典指标 + List epdPqdList = epdFeignClient.selectByIds(list.stream().map(EnergyTemplateVO::getDataId).distinct().collect(Collectors.toList())).getData(); + Map eventTypeMap = epdPqdList.stream().collect(Collectors.toMap(EleEpdPqd::getId, Function.identity())); + //根据lineId获取监测点pt、ct变比 + CsLinePO csLinePO = csLineFeignClient.queryLineById(Collections.singletonList(lineId)).getData().get(0); for (EnergyTemplateVO item : list) { EnergyTemplateVO vo = new EnergyTemplateVO(); BeanUtils.copyProperties(item,vo); - EleEpdPqd eleEpdPqd = epdFeignClient.selectById(item.getDataId()).getData(); + EleEpdPqd eleEpdPqd = eventTypeMap.get(item.getDataId()); vo.setClassId(eleEpdPqd.getClassId()); vo.setUnit(eleEpdPqd.getUnit()); StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(eleEpdPqd.getClassId()),item.getName(),item.getPhase(),item.getStatMethod(),influxDbParamUtil.getClDidByLineId(lineId)); - if (!Objects.isNull(statisticalDataDTO)){ + if (Objects.nonNull(statisticalDataDTO)) { vo.setTime(statisticalDataDTO.getTime()); - vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); - } else { - vo.setDataValue(3.1415926); } + if (Objects.isNull(dataLevel)) { + if (Objects.nonNull(statisticalDataDTO)) { + vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); + } else { + vo.setDataValue(3.1415926); + } + } else { + if ("Primary".equals(dataLevel)) { + if (Objects.nonNull(statisticalDataDTO)) { + vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); + } else { + vo.setDataValue(3.1415926); + } + } else { + if (Objects.nonNull(statisticalDataDTO)) { + if (ObjectUtil.isNotNull(eleEpdPqd.getPrimaryFormula())) { + double secondaryData = secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getValue(), csLinePO.getPtRatio(), csLinePO.getCtRatio()); + vo.setDataValue(BigDecimal.valueOf(secondaryData).setScale(4, RoundingMode.UP).doubleValue()); + } else { + vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); + } + } else { + vo.setDataValue(3.1415926); + } + } + } +// if (Objects.isNull(dataLevel)){ +// if (!Objects.isNull(statisticalDataDTO)){ +// vo.setTime(statisticalDataDTO.getTime()); +// vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); +// } else { +// vo.setDataValue(3.1415926); +// } +// } else { +// if (Objects.equals(dataLevel,"Primary")) { +// if (!Objects.isNull(statisticalDataDTO)){ +// vo.setTime(statisticalDataDTO.getTime()); +// vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); +// } else { +// vo.setDataValue(3.1415926); +// } +// } else { +// if (!Objects.isNull(statisticalDataDTO)){ +// vo.setTime(statisticalDataDTO.getTime()); +// if (ObjectUtil.isNotNull(eleEpdPqd.getPrimaryFormula())) { +// double secondaryData = secondaryToPrimary(eleEpdPqd.getPrimaryFormula(),statisticalDataDTO.getValue(),csLinePO.getPtRatio(),csLinePO.getCtRatio()); +// vo.setDataValue(BigDecimal.valueOf(secondaryData).setScale(4, RoundingMode.UP).doubleValue()); +// } else { +// vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); +// } +// } else { +// vo.setDataValue(3.1415926); +// } +// } +// } arrayList.add(vo); } if (CollectionUtil.isNotEmpty(arrayList)){ @@ -663,6 +722,27 @@ public class CsGroupServiceImpl extends ServiceImpl impl return result; } - + /** + * 二次值换算成一次值 + */ + public double secondaryToPrimary(String formula, Double data,Double pt, Double ct) { + switch (formula) { + case "*PT": + data = data * pt; + break; + case "*CT": + data = data * ct; + break; + case "*PT*CT/1000": + data = data * pt * ct / 1000; + break; + case "*PT/1000": + data = data * pt / 1000; + break; + default: + break; + } + return data; + } } diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/DevicDataTrendQueryParam.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/DevicDataTrendQueryParam.java index 8ea0195..e4204fa 100644 --- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/DevicDataTrendQueryParam.java +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/DevicDataTrendQueryParam.java @@ -37,6 +37,9 @@ public class DevicDataTrendQueryParam { @NotNull(message="结束时间不能为空!") private String endTime; + @ApiModelProperty(value = "数据类型") + private String dataLevel; + private String devId; @Data public static class StatisticalParam{ diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java index 96146a6..cff1cd1 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java @@ -390,6 +390,14 @@ public class MqttMessageHandler { return "APF模块 5"; case "6": return "APF模块 6"; + case "7": + return "APF模块 7"; + case "8": + return "APF模块 8"; + case "9": + return "APF模块 9"; + case "10": + return "APF模块 10"; default: break; } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java index 9675c88..e51ad18 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java @@ -9,6 +9,8 @@ import com.njcn.csdevice.enums.AlgorithmResponseEnum; import com.njcn.csdevice.pojo.dto.CsEquipmentDeliveryDTO; import com.njcn.csdevice.pojo.dto.LineParamDTO; import com.njcn.csdevice.pojo.po.CsLedger; +import com.njcn.csdevice.pojo.po.CsLinePO; +import com.njcn.csdevice.pojo.vo.EnergyTemplateVO; import com.njcn.csharmonic.param.DevicDataTrendQueryParam; import com.njcn.csharmonic.pojo.vo.ThdDataVO; import com.njcn.csharmonic.service.DeviceDataTrendService; @@ -20,6 +22,7 @@ import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.api.EpdFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.pojo.po.DictData; +import com.njcn.system.pojo.po.EleEpdPqd; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -27,9 +30,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.ZoneId; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -49,6 +50,7 @@ public class DeviceDataTrendServiceImpl implements DeviceDataTrendService { private final DicDataFeignClient dicDataFeignClient; private final EquipmentFeignClient equipmentFeignClient; private final InfluxDbParamUtil influxDbParamUtil; + private final EpdFeignClient epdFeignClient; @Override public List> queryDataTrend(DevicDataTrendQueryParam devicDataTrendQueryParam) { List> result = new ArrayList<>(); @@ -60,29 +62,41 @@ public class DeviceDataTrendServiceImpl implements DeviceDataTrendService { lineParamDTO.setLineId(devicDataTrendQueryParam.getLineId()); List data = csLedgerFeignClient.queryLine(lineParamDTO).getData(); List data1 = equipmentFeignClient.queryDeviceById(Stream.of((data == null || data.isEmpty()) ? devicDataTrendQueryParam.getDevId() : data.get(0).getPid()).collect(Collectors.toList())).getData(); + //根据lineId获取监测点pt、ct变比 + CsLinePO csLinePO = csLineFeignClient.queryLineById(Collections.singletonList(devicDataTrendQueryParam.getLineId())).getData().get(0); + devicDataTrendQueryParam.getStatisticalParams().forEach(temp->{ CommonQueryParam commonQueryParam = new CommonQueryParam(); commonQueryParam.setLineId(devicDataTrendQueryParam.getLineId()); commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(temp.getClassId())); commonQueryParam.setColumnName(temp.getName()); commonQueryParam.setPhasic(temp.getPhase()); - commonQueryParam.setStartTime( devicDataTrendQueryParam.getStartTime()); - commonQueryParam.setEndTime(devicDataTrendQueryParam.getEndTime()); + commonQueryParam.setStartTime( devicDataTrendQueryParam.getStartTime() + " 00:00:00"); + commonQueryParam.setEndTime(devicDataTrendQueryParam.getEndTime() + " 23:59:59"); commonQueryParam.setDataType( temp.getStatMethod()); commonQueryParam.setProcess(data1.get(0).getProcess()+""); commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(devicDataTrendQueryParam.getLineId())); - + EleEpdPqd epdPqd = epdFeignClient.selectByIds(Collections.singletonList(temp.getDataId())).getData().get(0); List deviceRtData = commonService.getDeviceRtDataByTime(Stream.of(commonQueryParam).collect(Collectors.toList())); List collect1 = deviceRtData.stream().map(statisticalDataDTO -> { ThdDataVO vo = new ThdDataVO(); vo.setLineId(statisticalDataDTO.getLineId()); vo.setPhase(statisticalDataDTO.getPhaseType()); - vo.setTime(statisticalDataDTO.getTime()); vo.setStatMethod(statisticalDataDTO.getValueType()); - vo.setStatisticalData(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); + //对二次值做转换 + if (Objects.equals(devicDataTrendQueryParam.getDataLevel(),"Secondary")) { + if (!Objects.isNull(epdPqd.getPrimaryFormula())) { + double secondaryData = secondaryToPrimary(epdPqd.getPrimaryFormula(), statisticalDataDTO.getValue(), csLinePO.getPtRatio(), csLinePO.getCtRatio()); + vo.setStatisticalData(BigDecimal.valueOf(secondaryData).setScale(4, RoundingMode.UP).doubleValue()); + } else { + vo.setStatisticalData(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); + } + } else { + vo.setStatisticalData(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); + } vo.setStatisticalIndex(temp.getDataId()); vo.setStatisticalName(temp.getName()); vo.setUnit(temp.getUnit()); @@ -91,9 +105,29 @@ public class DeviceDataTrendServiceImpl implements DeviceDataTrendService { }).collect(Collectors.toList()); result.add(collect1); }); - - - return result; } + + /** + * 二次值换算成一次值 + */ + public double secondaryToPrimary(String formula, Double data,Double pt, Double ct) { + switch (formula) { + case "*PT": + data = data * pt; + break; + case "*CT": + data = data * ct; + break; + case "*PT*CT/1000": + data = data * pt * ct / 1000; + break; + case "*PT/1000": + data = data * pt / 1000; + break; + default: + break; + } + return data; + } } From 3b0525143b2e8a8485cfd33fcbfa7b3e3cc50b3e Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Wed, 14 Aug 2024 21:08:49 +0800 Subject: [PATCH 3/6] =?UTF-8?q?1.=E7=95=8C=E9=9D=A2=E4=BA=8C=E6=AC=A1?= =?UTF-8?q?=E5=80=BC=E8=BD=AC=E6=8D=A2=E4=B8=BA=E4=B8=80=E6=AC=A1=E5=80=BC?= =?UTF-8?q?=202.bug=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../csdevice/pojo/param/EnergyBaseParam.java | 3 +- .../service/impl/CsGroupServiceImpl.java | 95 ++++++------------- .../impl/DeviceDataTrendServiceImpl.java | 31 ++---- 3 files changed, 40 insertions(+), 89 deletions(-) diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/EnergyBaseParam.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/EnergyBaseParam.java index a815f63..45bd058 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/EnergyBaseParam.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/EnergyBaseParam.java @@ -44,5 +44,6 @@ public class EnergyBaseParam implements Serializable { @ApiModelProperty("searchValue") private String searchValue; - + @ApiModelProperty("dataLevel") + private String dataLevel; } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsGroupServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsGroupServiceImpl.java index 8aa3006..97caddb 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsGroupServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsGroupServiceImpl.java @@ -1,7 +1,6 @@ package com.njcn.csdevice.service.impl; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -49,14 +48,11 @@ import com.njcn.system.api.CsStatisticalSetFeignClient; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.api.EleEvtFeignClient; import com.njcn.system.api.EpdFeignClient; -import com.njcn.system.enums.DicDataEnum; -import com.njcn.system.pojo.po.DictData; import com.njcn.system.pojo.po.EleEpdPqd; import com.njcn.system.pojo.po.EleEvtParm; import com.njcn.system.pojo.vo.CsStatisticalSetVO; import com.njcn.system.pojo.vo.EleEpdPqdListVO; import lombok.AllArgsConstructor; -import lombok.Data; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -65,15 +61,12 @@ import java.lang.reflect.Field; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; -import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; -import static com.njcn.csdevice.constant.DataParam.overlimitsGroup; - /** *

* 数据分组表 服务实现类 @@ -159,62 +152,16 @@ public class CsGroupServiceImpl extends ServiceImpl impl StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(eleEpdPqd.getClassId()),item.getName(),item.getPhase(),item.getStatMethod(),influxDbParamUtil.getClDidByLineId(lineId)); if (Objects.nonNull(statisticalDataDTO)) { vo.setTime(statisticalDataDTO.getTime()); - } - if (Objects.isNull(dataLevel)) { - if (Objects.nonNull(statisticalDataDTO)) { - vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); + //判断监测点类型 针对治理设备 模块数据是一次值、电能质量设备是二次值 + if (csLinePO.getClDid() != 0 && Objects.equals("Primary",dataLevel) && ObjectUtil.isNotNull(eleEpdPqd.getPrimaryFormula())) { + double secondaryData = secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getValue(), csLinePO.getPtRatio(), csLinePO.getCtRatio()); + vo.setDataValue(BigDecimal.valueOf(secondaryData).setScale(4, RoundingMode.UP).doubleValue()); } else { - vo.setDataValue(3.1415926); + vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); } } else { - if ("Primary".equals(dataLevel)) { - if (Objects.nonNull(statisticalDataDTO)) { - vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); - } else { - vo.setDataValue(3.1415926); - } - } else { - if (Objects.nonNull(statisticalDataDTO)) { - if (ObjectUtil.isNotNull(eleEpdPqd.getPrimaryFormula())) { - double secondaryData = secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getValue(), csLinePO.getPtRatio(), csLinePO.getCtRatio()); - vo.setDataValue(BigDecimal.valueOf(secondaryData).setScale(4, RoundingMode.UP).doubleValue()); - } else { - vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); - } - } else { - vo.setDataValue(3.1415926); - } - } + vo.setDataValue(3.1415926); } -// if (Objects.isNull(dataLevel)){ -// if (!Objects.isNull(statisticalDataDTO)){ -// vo.setTime(statisticalDataDTO.getTime()); -// vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); -// } else { -// vo.setDataValue(3.1415926); -// } -// } else { -// if (Objects.equals(dataLevel,"Primary")) { -// if (!Objects.isNull(statisticalDataDTO)){ -// vo.setTime(statisticalDataDTO.getTime()); -// vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); -// } else { -// vo.setDataValue(3.1415926); -// } -// } else { -// if (!Objects.isNull(statisticalDataDTO)){ -// vo.setTime(statisticalDataDTO.getTime()); -// if (ObjectUtil.isNotNull(eleEpdPqd.getPrimaryFormula())) { -// double secondaryData = secondaryToPrimary(eleEpdPqd.getPrimaryFormula(),statisticalDataDTO.getValue(),csLinePO.getPtRatio(),csLinePO.getCtRatio()); -// vo.setDataValue(BigDecimal.valueOf(secondaryData).setScale(4, RoundingMode.UP).doubleValue()); -// } else { -// vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); -// } -// } else { -// vo.setDataValue(3.1415926); -// } -// } -// } arrayList.add(vo); } if (CollectionUtil.isNotEmpty(arrayList)){ @@ -245,23 +192,37 @@ public class CsGroupServiceImpl extends ServiceImpl impl List group = groupList.stream().map(DataGroupTemplateVO::getId).collect(Collectors.toList()); //获取当前组的所有指标项 List list = csDataArrayMapper.getArrayByGroup(group); + //获取所有字典指标 + List epdPqdList = epdFeignClient.selectByIds(list.stream().map(EnergyTemplateVO::getDataId).distinct().collect(Collectors.toList())).getData(); + Map eventTypeMap = epdPqdList.stream().collect(Collectors.toMap(EleEpdPqd::getId, Function.identity())); + //根据lineId获取监测点pt、ct变比 + CsLinePO po = csLineFeignClient.queryLineById(Collections.singletonList(energyBaseParam.getLineId())).getData().get(0); for (EnergyTemplateVO item : list) { EnergyTemplateVO vo = new EnergyTemplateVO(); BeanUtils.copyProperties(item,vo); - EleEpdPqd eleEpdPqd = epdFeignClient.selectById(item.getDataId()).getData(); + EleEpdPqd eleEpdPqd = eventTypeMap.get(item.getDataId()); vo.setClassId(eleEpdPqd.getClassId()); vo.setUnit(eleEpdPqd.getUnit()); - StatisticalDataDTO statisticalDataDTO = commonService.getLineHistoryData(energyBaseParam.getLineId(),influxDbParamUtil.getTableNameByClassId(eleEpdPqd.getClassId()),item.getName(),energyBaseParam.getStartTime(),energyBaseParam.getEndTime(),influxDbParamUtil.getClDidByLineId(energyBaseParam.getLineId())); - if (!Objects.isNull(statisticalDataDTO)){ - vo.setMaxValue(BigDecimal.valueOf(statisticalDataDTO.getMaxValue()).setScale(4, RoundingMode.UP).doubleValue()); - vo.setMinValue(BigDecimal.valueOf(statisticalDataDTO.getMinValue()).setScale(4, RoundingMode.UP).doubleValue()); - vo.setAvgValue(BigDecimal.valueOf(statisticalDataDTO.getAvgValue()).setScale(4, RoundingMode.UP).doubleValue()); - + StatisticalDataDTO statisticalDataDTO = commonService.getLineHistoryData(energyBaseParam.getLineId(),influxDbParamUtil.getTableNameByClassId(eleEpdPqd.getClassId()),item.getName(),energyBaseParam.getStartTime() + " 00:00:00",energyBaseParam.getEndTime() + " 23:59:59",influxDbParamUtil.getClDidByLineId(energyBaseParam.getLineId())); + if (Objects.nonNull(statisticalDataDTO)) { + vo.setTime(statisticalDataDTO.getTime()); + //判断监测点类型 针对治理设备 模块数据是一次值、电能质量设备是二次值 + if (po.getClDid() != 0 && Objects.equals("Primary",energyBaseParam.getDataLevel()) && ObjectUtil.isNotNull(eleEpdPqd.getPrimaryFormula())) { + double secondaryData1 = secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getMaxValue(), po.getPtRatio(), po.getCtRatio()); + double secondaryData2 = secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getMinValue(), po.getPtRatio(), po.getCtRatio()); + double secondaryData3 = secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), statisticalDataDTO.getAvgValue(), po.getPtRatio(), po.getCtRatio()); + vo.setMaxValue(BigDecimal.valueOf(secondaryData1).setScale(4, RoundingMode.UP).doubleValue()); + vo.setMinValue(BigDecimal.valueOf(secondaryData2).setScale(4, RoundingMode.UP).doubleValue()); + vo.setAvgValue(BigDecimal.valueOf(secondaryData3).setScale(4, RoundingMode.UP).doubleValue()); + } else { + vo.setMaxValue(BigDecimal.valueOf(statisticalDataDTO.getMaxValue()).setScale(4, RoundingMode.UP).doubleValue()); + vo.setMinValue(BigDecimal.valueOf(statisticalDataDTO.getMinValue()).setScale(4, RoundingMode.UP).doubleValue()); + vo.setAvgValue(BigDecimal.valueOf(statisticalDataDTO.getAvgValue()).setScale(4, RoundingMode.UP).doubleValue()); + } } else { vo.setMaxValue(3.1415956); vo.setMinValue(3.1415956); vo.setAvgValue(3.1415956); - } arrayList.add(vo); } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java index e51ad18..e03284d 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java @@ -1,16 +1,13 @@ package com.njcn.csharmonic.service.impl; -import com.njcn.common.pojo.exception.BusinessException; +import cn.hutool.core.util.ObjectUtil; import com.njcn.csdevice.api.CsLedgerFeignClient; import com.njcn.csdevice.api.CsLineFeignClient; -import com.njcn.csdevice.api.DataArrayFeignClient; import com.njcn.csdevice.api.EquipmentFeignClient; -import com.njcn.csdevice.enums.AlgorithmResponseEnum; import com.njcn.csdevice.pojo.dto.CsEquipmentDeliveryDTO; import com.njcn.csdevice.pojo.dto.LineParamDTO; import com.njcn.csdevice.pojo.po.CsLedger; import com.njcn.csdevice.pojo.po.CsLinePO; -import com.njcn.csdevice.pojo.vo.EnergyTemplateVO; import com.njcn.csharmonic.param.DevicDataTrendQueryParam; import com.njcn.csharmonic.pojo.vo.ThdDataVO; import com.njcn.csharmonic.service.DeviceDataTrendService; @@ -18,10 +15,7 @@ import com.njcn.csharmonic.util.InfluxDbParamUtil; import com.njcn.influx.pojo.bo.CommonQueryParam; import com.njcn.influx.pojo.dto.StatisticalDataDTO; import com.njcn.influx.service.CommonService; -import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.api.EpdFeignClient; -import com.njcn.system.enums.DicDataEnum; -import com.njcn.system.pojo.po.DictData; import com.njcn.system.pojo.po.EleEpdPqd; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -29,8 +23,10 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.math.RoundingMode; -import java.time.ZoneId; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -47,7 +43,6 @@ public class DeviceDataTrendServiceImpl implements DeviceDataTrendService { private final CommonService commonService; private final CsLedgerFeignClient csLedgerFeignClient; private final CsLineFeignClient csLineFeignClient; - private final DicDataFeignClient dicDataFeignClient; private final EquipmentFeignClient equipmentFeignClient; private final InfluxDbParamUtil influxDbParamUtil; private final EpdFeignClient epdFeignClient; @@ -63,7 +58,7 @@ public class DeviceDataTrendServiceImpl implements DeviceDataTrendService { List data = csLedgerFeignClient.queryLine(lineParamDTO).getData(); List data1 = equipmentFeignClient.queryDeviceById(Stream.of((data == null || data.isEmpty()) ? devicDataTrendQueryParam.getDevId() : data.get(0).getPid()).collect(Collectors.toList())).getData(); //根据lineId获取监测点pt、ct变比 - CsLinePO csLinePO = csLineFeignClient.queryLineById(Collections.singletonList(devicDataTrendQueryParam.getLineId())).getData().get(0); + CsLinePO linePo = csLineFeignClient.queryLineById(Collections.singletonList(devicDataTrendQueryParam.getLineId())).getData().get(0); devicDataTrendQueryParam.getStatisticalParams().forEach(temp->{ CommonQueryParam commonQueryParam = new CommonQueryParam(); @@ -76,9 +71,7 @@ public class DeviceDataTrendServiceImpl implements DeviceDataTrendService { commonQueryParam.setDataType( temp.getStatMethod()); commonQueryParam.setProcess(data1.get(0).getProcess()+""); commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(devicDataTrendQueryParam.getLineId())); - EleEpdPqd epdPqd = epdFeignClient.selectByIds(Collections.singletonList(temp.getDataId())).getData().get(0); - List deviceRtData = commonService.getDeviceRtDataByTime(Stream.of(commonQueryParam).collect(Collectors.toList())); List collect1 = deviceRtData.stream().map(statisticalDataDTO -> { ThdDataVO vo = new ThdDataVO(); @@ -86,14 +79,10 @@ public class DeviceDataTrendServiceImpl implements DeviceDataTrendService { vo.setPhase(statisticalDataDTO.getPhaseType()); vo.setTime(statisticalDataDTO.getTime()); vo.setStatMethod(statisticalDataDTO.getValueType()); - //对二次值做转换 - if (Objects.equals(devicDataTrendQueryParam.getDataLevel(),"Secondary")) { - if (!Objects.isNull(epdPqd.getPrimaryFormula())) { - double secondaryData = secondaryToPrimary(epdPqd.getPrimaryFormula(), statisticalDataDTO.getValue(), csLinePO.getPtRatio(), csLinePO.getCtRatio()); - vo.setStatisticalData(BigDecimal.valueOf(secondaryData).setScale(4, RoundingMode.UP).doubleValue()); - } else { - vo.setStatisticalData(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); - } + //判断监测点类型 针对治理设备 模块数据是一次值、电能质量设备是二次值 + if (linePo.getClDid() != 0 && Objects.equals(devicDataTrendQueryParam.getDataLevel(),"Primary") && ObjectUtil.isNotNull(epdPqd.getPrimaryFormula())) { + double secondaryData = secondaryToPrimary(epdPqd.getPrimaryFormula(), statisticalDataDTO.getValue(), linePo.getPtRatio(), linePo.getCtRatio()); + vo.setStatisticalData(BigDecimal.valueOf(secondaryData).setScale(4, RoundingMode.UP).doubleValue()); } else { vo.setStatisticalData(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue()); } From 3a05f30128f7f68987b58bcca786595345ff8634 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Thu, 15 Aug 2024 09:16:50 +0800 Subject: [PATCH 4/6] =?UTF-8?q?bug=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/csharmonic/service/impl/StableDataServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StableDataServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StableDataServiceImpl.java index 4d54c60..a2f7ee5 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StableDataServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StableDataServiceImpl.java @@ -281,8 +281,8 @@ public class StableDataServiceImpl implements StableDataService { commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(epdPqd.getClassId())); commonQueryParam.setColumnName(epdPqd.getName()+ finalFrequency1); commonQueryParam.setPhasic(epdPqd.getPhase()); - commonQueryParam.setStartTime(commonStatisticalQueryParam.getStartTime()); - commonQueryParam.setEndTime(commonStatisticalQueryParam.getEndTime()); + commonQueryParam.setStartTime(commonStatisticalQueryParam.getStartTime() + " 00:00:00"); + commonQueryParam.setEndTime(commonStatisticalQueryParam.getEndTime() + " 23:59:59"); commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType()); commonQueryParam.setProcess(data1.get(0).getProcess()+""); commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(temp.getLineId())); From d808355704807ea726a5eaa4b532995d86af0f3b Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Thu, 15 Aug 2024 13:25:56 +0800 Subject: [PATCH 5/6] =?UTF-8?q?bug=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/njcn/csdevice/pojo/vo/ProjectEquipmentVO.java | 2 ++ .../njcn/csdevice/mapper/mapping/CsEquipmentDeliveryMapper.xml | 1 + .../csharmonic/service/impl/DeviceDataTrendServiceImpl.java | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/ProjectEquipmentVO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/ProjectEquipmentVO.java index 18a0359..bbfe538 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/ProjectEquipmentVO.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/ProjectEquipmentVO.java @@ -51,5 +51,7 @@ public class ProjectEquipmentVO { private String isPrimaryUser; private Integer runStatus; private String mac; + @ApiModelProperty(value = "设备nDid") + private String nDid; } \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsEquipmentDeliveryMapper.xml b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsEquipmentDeliveryMapper.xml index 6dd30e3..285c13e 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsEquipmentDeliveryMapper.xml +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsEquipmentDeliveryMapper.xml @@ -36,6 +36,7 @@ b.id projectId, b.name projectName, c.id equipmentId, + c.ndid nDid, c.name equipmentName, c.create_time createTime, c.run_status, diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java index e03284d..9c73a4e 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DeviceDataTrendServiceImpl.java @@ -68,7 +68,7 @@ public class DeviceDataTrendServiceImpl implements DeviceDataTrendService { commonQueryParam.setPhasic(temp.getPhase()); commonQueryParam.setStartTime( devicDataTrendQueryParam.getStartTime() + " 00:00:00"); commonQueryParam.setEndTime(devicDataTrendQueryParam.getEndTime() + " 23:59:59"); - commonQueryParam.setDataType( temp.getStatMethod()); + commonQueryParam.setDataType(temp.getStatMethod()); commonQueryParam.setProcess(data1.get(0).getProcess()+""); commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(devicDataTrendQueryParam.getLineId())); EleEpdPqd epdPqd = epdFeignClient.selectByIds(Collections.singletonList(temp.getDataId())).getData().get(0); From cfcde37231009ca18b67296bd0bbe60f4ff379ec Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Thu, 15 Aug 2024 14:59:13 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CsLedgerServiceImpl.java | 27 +++++-------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java index f4f50bd..7b86278 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java @@ -84,33 +84,16 @@ public class CsLedgerServiceImpl extends ServiceImpl i List device = roleEngineerDevService.getDevice(); engineeringList = allList.stream().filter(item->roleengineer.contains(item.getId())).collect(Collectors.toList()); -// if (Objects.equals(RequestUtil.getUsername(),"root") || Objects.equals(RequestUtil.getUsername(),"njcnser")){ -// engineeringList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.ENGINEERING_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); -// } else { -// List engineering = csEngineeringUserService.getEngineeringByUser(); -// engineeringList = allList.stream().filter(item->engineering.stream().map(CsEngineeringPO::getId).collect(Collectors.toList()).contains(item.getId())).collect(Collectors.toList()); -// } List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); -// List deviceList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.DEVICE_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); List deviceList = allList.stream().filter(item -> device.contains(item.getId())). - map( + peek( temp->{ CsEquipmentDeliveryPO csEquipmentDeliveryPO = csEquipmentDeliveryMapper.selectById(temp.getId()); temp.setComFlag(csEquipmentDeliveryPO.getRunStatus()); - return temp; } ). sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); - - List lineList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.LINE_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); -// List collect = lineList.stream().map(CsLedgerVO::getId).collect(Collectors.toList()); -// List csLinePOS = csLinePOService.listByIds(collect); -// List collect1 = csLinePOS.stream().filter(temp -> Objects.equals(temp.getPosition(), areaId)).collect(Collectors.toList()); -// List collect2 = collect1.stream().map(CsLinePO::getLineId).collect(Collectors.toList()); -// lineList = lineList.stream().filter(temp -> collect2.contains(temp.getId())).collect(Collectors.toList()); - - - List finalLineList = lineList; + List finalLineList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.LINE_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); checkDevSetData(deviceList); deviceList.forEach(dev -> dev.setChildren(getChildren(dev, finalLineList))); projectList.forEach(pro -> pro.setChildren(getChildren(pro, deviceList))); @@ -341,8 +324,12 @@ public class CsLedgerServiceImpl extends ServiceImpl i * 获取子节点 */ public List getChildren(CsLedgerVO item, List all) { - return all.stream().filter(allItem -> allItem.getPid().equals(item.getId())).collect(Collectors.toList()); + return all.stream() + .filter(allItem -> allItem.getPid().equals(item.getId())) + .peek(child -> child.setComFlag(item.getComFlag())) + .collect(Collectors.toList()); } + public String getAreaById(String id){ String areaName =redisUtil.getStringByKey (id);