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 ba470e9..91d0cc7 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 @@ -333,28 +333,60 @@ public class CsGroupServiceImpl extends ServiceImpl impl vo.setStatMethod(temp.getValueType()); vo.setStatisticalData(Double.valueOf(df.format(temp.getValue()))); if(temp.getValue()!=null) { - double re; + double re = 0; if (Objects.equals("Primary",commonStatisticalQueryParam.getDataLevel())) { if (Objects.equals("Primary",csDataSet.getDataLevel())) { vo.setStatisticalData(Double.valueOf(df.format(temp.getValue()))); unit = epdPqd.getUnit(); } else { - if (HarmonicConstant.POWER_LIST.contains(epdPqd.getShowName())) { - re = DataChangeUtil.secondaryToPrimary(epdPqd.getPrimaryFormula(), temp.getValue(), pt, ct) / 1000; + if(Objects.nonNull(epdPqd.getPrimaryFormula())){ + switch (epdPqd.getPrimaryFormula()) { + case "*PT": + re = temp.getValue() * pt / 1000; + unit = "k" + epdPqd.getUnit(); + break; + case "*CT": + re = temp.getValue() * ct; + unit = epdPqd.getUnit(); + break; + case "*PT*CT": + re = temp.getValue() * pt * ct / 1000; + unit = "k" + epdPqd.getUnit(); + break; + default: + re = temp.getValue(); + unit = epdPqd.getUnit(); + break; + } vo.setStatisticalData(Double.valueOf(df.format(re))); - unit = "k" + epdPqd.getUnit(); - } else { - vo.setStatisticalData(Double.valueOf(df.format(temp.getValue()))); + }else { + re = temp.getValue(); unit = epdPqd.getUnit(); + vo.setStatisticalData(Double.valueOf(df.format(re))); } + } } else { if (Objects.equals("Primary",csDataSet.getDataLevel())) { - if (HarmonicConstant.POWER_LIST.contains(epdPqd.getShowName())) { - re = DataChangeUtil.primaryToSecondary(epdPqd.getPrimaryFormula(), temp.getValue(), pt, ct); + if(Objects.nonNull(epdPqd.getPrimaryFormula())){ + switch (epdPqd.getPrimaryFormula()) { + case "*PT": + re = temp.getValue() / pt; + break; + case "*CT": + re = temp.getValue() / ct; + break; + case "*PT*CT": + re = temp.getValue() / pt / ct; + break; + default: + re = temp.getValue(); + break; + } + vo.setStatisticalData(Double.valueOf(df.format(re))); + }else { + re = temp.getValue(); vo.setStatisticalData(Double.valueOf(df.format(re))); - } else { - vo.setStatisticalData(Double.valueOf(df.format(temp.getValue()))); } } else { vo.setStatisticalData(Double.valueOf(df.format(temp.getValue()))); @@ -367,9 +399,22 @@ public class CsGroupServiceImpl extends ServiceImpl impl if (Objects.equals("Primary",csDataSet.getDataLevel())) { unit = epdPqd.getUnit(); } else { - if (HarmonicConstant.POWER_LIST.contains(epdPqd.getShowName())) { - unit = "k" + epdPqd.getUnit(); - } else { + if(Objects.nonNull(epdPqd.getPrimaryFormula())){ + switch (epdPqd.getPrimaryFormula()) { + case "*PT": + unit = "k" + epdPqd.getUnit(); + break; + case "*CT": + unit = epdPqd.getUnit(); + break; + case "*PT*CT": + unit = "k" + epdPqd.getUnit(); + break; + default: + unit = epdPqd.getUnit(); + break; + } + }else { unit = epdPqd.getUnit(); } } 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 f08b353..22df2f8 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 @@ -125,16 +125,28 @@ public class CsLedgerServiceImpl extends ServiceImpl i portable.setName(DataParam.portableDev); portable.setPid("0"); portable.setId(IdUtil.simpleUUID()); - List portables = allList.stream().filter(item->Objects.equals(item.getLevel(),2) && Objects.equals(item.getPid(),"0")).collect(Collectors.toList()); - for(CsLedgerVO c : portables){ - c.setPid(portable.getId()); - CsEquipmentDeliveryPO po = csEquipmentDeliveryMapper.selectById(c.getId()); - c.setComFlag(po.getRunStatus()); - c.setNDId(po.getNdid()); - c.setType("device"); - c.setName(po.getName()); - c.setSort(po.getSort()); - } + //针对未启用的装置判断 + List ledger = allList.stream() + .filter(item -> Objects.equals(item.getLevel(), 2) && Objects.equals(item.getPid(), "0")) + .collect(Collectors.toList()); + Map poMap2 = ledger.stream() + .collect(Collectors.toMap( + CsLedgerVO::getId, + csEquipmentDeliveryMapper::selectById, + (existing, replacement) -> existing + )); + List portables = ledger.stream() + .peek(c -> { + CsEquipmentDeliveryPO po = poMap2.get(c.getId()); + c.setPid(portable.getId()); + c.setComFlag(po.getRunStatus()); + c.setNDId(po.getNdid()); + c.setType("device"); + c.setName(po.getName()); + c.setSort(po.getSort()); + }) + .filter(c -> poMap2.get(c.getId()).getUsageStatus() == 1) + .collect(Collectors.toList()); portables = portables.stream().sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); portables.forEach(dev -> dev.setChildren(getChildren(dev, finalLineList))); checkDevSetData(portables); @@ -225,17 +237,30 @@ public class CsLedgerServiceImpl extends ServiceImpl i portable.setName(DataParam.portableDev); portable.setPid("0"); portable.setId(IdUtil.simpleUUID()); - List portables = allList.stream().filter(item->Objects.equals(item.getLevel(),2) && Objects.equals(item.getPid(),"0")).collect(Collectors.toList()); - checkDevSetData(portables); - for(CsLedgerVO c : portables){ - c.setPid(portable.getId()); - CsEquipmentDeliveryPO po = csEquipmentDeliveryMapper.selectById(c.getId()); - c.setComFlag(po.getRunStatus()); - c.setNDId(po.getNdid()); - c.setType("device"); - c.setName(po.getName()); - c.setSort(po.getSort()); - } + + //针对未启用的装置判断 + List ledger = allList.stream() + .filter(item -> Objects.equals(item.getLevel(), 2) && Objects.equals(item.getPid(), "0")) + .collect(Collectors.toList()); + Map poMap2 = ledger.stream() + .collect(Collectors.toMap( + CsLedgerVO::getId, + csEquipmentDeliveryMapper::selectById, + (existing, replacement) -> existing + )); + List portables = ledger.stream() + .peek(c -> { + CsEquipmentDeliveryPO po = poMap2.get(c.getId()); + c.setPid(portable.getId()); + c.setComFlag(po.getRunStatus()); + c.setNDId(po.getNdid()); + c.setType("device"); + c.setName(po.getName()); + c.setSort(po.getSort()); + }) + .filter(c -> poMap2.get(c.getId()).getUsageStatus() == 1) + .collect(Collectors.toList()); + portables = portables.stream().sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); portable.setChildren(portables); diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DataServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DataServiceImpl.java index 91d87c5..4967409 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DataServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DataServiceImpl.java @@ -205,30 +205,53 @@ public class DataServiceImpl implements IDataService { vo.setAvgValue(Objects.isNull(statisticalDataDTO) ? 3.14159 : Double.parseDouble(df.format(statisticalDataDTO.getValue()))); unit = item2.getUnit(); } else { - if (HarmonicConstant.POWER_LIST.contains(item2.getShowName())) { - if (Objects.isNull(statisticalDataDTO)) { - vo.setAvgValue(3.14159); - } else { - re = DataChangeUtil.secondaryToPrimary(item2.getPrimaryFormula(), statisticalDataDTO.getValue(), pt, ct) / 1000; - vo.setAvgValue(Double.valueOf(df.format(re))); + if(Objects.nonNull(item2.getPrimaryFormula())){ + switch (item2.getPrimaryFormula()) { + case "*PT": + re = Objects.isNull(statisticalDataDTO) ? 3.14159 : statisticalDataDTO.getValue() * pt / 1000; + unit = "k" + item2.getUnit(); + break; + case "*CT": + re = Objects.isNull(statisticalDataDTO) ? 3.14159 : statisticalDataDTO.getValue() * ct; + unit = item2.getUnit(); + break; + case "*PT*CT": + re = Objects.isNull(statisticalDataDTO) ? 3.14159 : statisticalDataDTO.getValue() * pt * ct / 1000; + unit = "k" + item2.getUnit(); + break; + default: + re = statisticalDataDTO.getValue(); + unit = item2.getUnit(); + break; } - unit = "k" + item2.getUnit(); - } else { - vo.setAvgValue(Objects.isNull(statisticalDataDTO) ? 3.14159 : Double.parseDouble(df.format(statisticalDataDTO.getValue()))); + vo.setAvgValue(Double.valueOf(df.format(re))); + }else { + re = statisticalDataDTO.getValue(); unit = item2.getUnit(); + vo.setAvgValue(Double.valueOf(df.format(re))); } } } else { if (Objects.equals("Primary",csDataSetLevel)) { - if (HarmonicConstant.POWER_LIST.contains(item2.getShowName())) { - if (Objects.isNull(statisticalDataDTO)) { - vo.setAvgValue(3.14159); - } else { - re = DataChangeUtil.primaryToSecondary(item2.getPrimaryFormula(), statisticalDataDTO.getValue(), pt, ct); - vo.setAvgValue(Double.valueOf(df.format(re))); + if(Objects.nonNull(item2.getPrimaryFormula())) { + switch (item2.getPrimaryFormula()) { + case "*PT": + re = Objects.isNull(statisticalDataDTO) ? 3.14159 : statisticalDataDTO.getValue() / pt; + break; + case "*CT": + re = Objects.isNull(statisticalDataDTO) ? 3.14159 : statisticalDataDTO.getValue() / ct; + break; + case "*PT*CT": + re = Objects.isNull(statisticalDataDTO) ? 3.14159 : statisticalDataDTO.getValue() / pt / ct / 1000; + break; + default: + re = statisticalDataDTO.getValue(); + break; } - } else { - vo.setAvgValue(Objects.isNull(statisticalDataDTO) ? 3.14159 : Double.parseDouble(df.format(statisticalDataDTO.getValue()))); + vo.setAvgValue(Double.valueOf(df.format(re))); + }else { + re = statisticalDataDTO.getValue(); + vo.setAvgValue(Double.valueOf(df.format(re))); } } else { vo.setAvgValue(Objects.isNull(statisticalDataDTO) ? 3.14159 : Double.parseDouble(df.format(statisticalDataDTO.getValue())));