From 0d652b9f4da83c2d13b7269ac69b6fb37364db7b Mon Sep 17 00:00:00 2001 From: cdf <857448963@qq.com> Date: Tue, 23 Dec 2025 17:09:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E5=91=8A=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 | 30 +++++++++------- .../service/impl/CsLinePOServiceImpl.java | 13 +++++-- .../controller/WordExportModelController.java | 3 ++ .../service/impl/CustomReportServiceImpl.java | 35 +++++++++++-------- 4 files changed, 50 insertions(+), 31 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 75a89ad..0a7f97a 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 @@ -674,7 +674,7 @@ public class CsLedgerServiceImpl extends ServiceImpl i @Override public List objTree() { List result = new ArrayList<>(); - String userId = RequestUtil.getUserIndex(); + String userId = "fa37b93cc90d4c1784ca8f6debddee1a"; UserVO userVO = userFeignClient.getUserById(userId).getData(); List devIds; if (userVO.getType().equals(UserType.SUPER_ADMINISTRATOR) || userVO.getType().equals(UserType.ADMINISTRATOR)) { @@ -690,8 +690,8 @@ public class CsLedgerServiceImpl extends ServiceImpl i if (CollUtil.isEmpty(devIds)) { return result; } - List poList = csLinePOService.lambdaQuery().select(CsLinePO::getLineId).in(CsLinePO::getDeviceId, devIds) - .eq(CsLinePO::getStatus, DataStateEnum.ENABLE.getCode()).list(); + List poList = csLinePOService.lambdaQuery().in(CsLinePO::getDeviceId, devIds) + .eq(CsLinePO::getStatus, DataStateEnum.ENABLE.getCode()).ne(CsLinePO::getMonitorUser,"").isNotNull(CsLinePO::getMonitorUser).list(); if (CollUtil.isEmpty(poList)) { return result; } @@ -702,9 +702,9 @@ public class CsLedgerServiceImpl extends ServiceImpl i Map objMap = pqSensitiveUserList.stream().collect(Collectors.toMap(PqSensitiveUser::getId, PqSensitiveUser::getName)); List csLineList = this.baseMapper.selectList(new LambdaQueryWrapper().in(CsLedger::getId, lineIds)); - Map> lineMap = csLineList.stream().collect(Collectors.groupingBy(it->it.getPids().split(StrUtil.COMMA)[LineBaseEnum.PROJECT_LEVEL.getCode()],Collectors.mapping(CsLedger::getId,Collectors.toList()))); + Map> lineMap = csLineList.stream().collect(Collectors.groupingBy(it->it.getPids().split(StrUtil.COMMA)[LineBaseEnum.PROJECT_LEVEL.getCode()+1],Collectors.mapping(CsLedger::getId,Collectors.toList()))); - List projectIds = csLineList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.PROJECT_LEVEL.getCode()]).collect(Collectors.toList()); + List projectIds = csLineList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.PROJECT_LEVEL.getCode()+1]).distinct().collect(Collectors.toList()); List projectList = this.baseMapper.selectList(new LambdaQueryWrapper().in(CsLedger::getId, projectIds)); List realProjectList = new ArrayList<>(); @@ -713,24 +713,27 @@ public class CsLedgerServiceImpl extends ServiceImpl i csLedgerVO.setId(pro.getId()); csLedgerVO.setPid(pro.getPid()); csLedgerVO.setLevel(pro.getLevel()); + csLedgerVO.setName(pro.getName()); List temObjList = new ArrayList<>(); if(lineMap.containsKey(pro.getId())){ List ids = lineMap.get(pro.getId()); List objTemIds = poList.stream().filter(it->ids.contains(it.getLineId())).map(CsLinePO::getMonitorUser).distinct().collect(Collectors.toList()); - objTemIds.forEach(it->{ - CsLedgerVO inner = new CsLedgerVO(); - inner.setName(objMap.getOrDefault(it,"未知异常用户")); - inner.setId(it); - inner.setLevel(2); - temObjList.add(inner); - }); + if(CollUtil.isNotEmpty(objTemIds)){ + objTemIds.forEach(it->{ + CsLedgerVO inner = new CsLedgerVO(); + inner.setName(objMap.getOrDefault(it,"未知异常用户")); + inner.setId(it); + inner.setLevel(2); + temObjList.add(inner); + }); + } } csLedgerVO.setChildren(temObjList); realProjectList.add(csLedgerVO); }); - List gcIds = projectList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.ENGINEERING_LEVEL.getCode()]).collect(Collectors.toList()); + List gcIds = projectList.stream().map(CsLedger::getPid).collect(Collectors.toList()); List gcList = this.baseMapper.selectList(new LambdaQueryWrapper().in(CsLedger::getId, gcIds)); List realGcList = new ArrayList<>(); @@ -739,6 +742,7 @@ public class CsLedgerServiceImpl extends ServiceImpl i csLedgerVO.setId(gc.getId()); csLedgerVO.setPid(gc.getPid()); csLedgerVO.setLevel(gc.getLevel()); + csLedgerVO.setName(gc.getName()); List proList = realProjectList.stream().filter(it->gc.getId().equals(it.getPid())).collect(Collectors.toList()); csLedgerVO.setChildren(proList); diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java index 7b264c9..6f560f4 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java @@ -15,6 +15,7 @@ import com.njcn.access.pojo.po.CsLineLatestData; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.utils.PubUtils; +import com.njcn.csdevice.enums.LineBaseEnum; import com.njcn.csdevice.mapper.*; import com.njcn.csdevice.pojo.param.CsLineParam; import com.njcn.csdevice.pojo.po.*; @@ -399,9 +400,15 @@ public class CsLinePOServiceImpl extends ServiceImpl i return new LineDetailDataVO(); } else { CsLinePO csLinePO = this.baseMapper.selectOne(new LambdaQueryWrapper().eq(CsLinePO::getLineId,id)); + + CsLedger csLedger = csLedgerMapper.selectById(csLinePO.getLineId()); + LineDetailDataVO lineDetailDataVO = new LineDetailDataVO(); - //lineDetailDataVO.setScale(dicDataFeignClient.getDicDataById(voltageMapper.selectById(voId).getScale()).getData().getName()); + lineDetailDataVO.setScale(csLinePO.getVolGrade()+"kV"); + lineDetailDataVO.setAreaName(csLedgerMapper.selectById(csLedger.getPids().split(StrUtil.COMMA)[LineBaseEnum.ENGINEERING_LEVEL.getCode()+1]).getName()); + lineDetailDataVO.setBdName(csLedgerMapper.selectById(csLedger.getPids().split(StrUtil.COMMA)[LineBaseEnum.PROJECT_LEVEL.getCode()+1]).getName()); + //Device device = deviceMapper.selectById(devId); //lineDetailDataVO.setComFlag(PubUtils.comFlag(device.getComFlag())); //lineDetailDataVO.setRunFlag(PubUtils.lineRunFlag(lineDetail.getRunFlag())); @@ -413,8 +420,8 @@ public class CsLinePOServiceImpl extends ServiceImpl i lineDetailDataVO.setObjName(csLinePO.getMonitorUser()); lineDetailDataVO.setLineId(csLinePO.getLineId()); lineDetailDataVO.setPtType(PubUtils.ptType(csLinePO.getConType())); - //lineDetailDataVO.setPt(lineDetail.getPt1() + "/" + lineDetail.getPt2()); - //lineDetailDataVO.setCt(lineDetail.getCt1() + "/" + lineDetail.getCt2()); + lineDetailDataVO.setPt(csLinePO.getPtRatio() + "/" + csLinePO.getPt2Ratio()); + lineDetailDataVO.setCt(csLinePO.getCtRatio() + "/" + csLinePO.getCt2Ratio()); lineDetailDataVO.setDealCapacity(csLinePO.getProtocolCapacity().floatValue()); lineDetailDataVO.setDevCapacity(csLinePO.getDevCapacity().floatValue()); lineDetailDataVO.setShortCapacity(csLinePO.getShortCircuitCapacity().floatValue()); diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java index 19ffe88..284efb4 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java @@ -1523,6 +1523,9 @@ public class WordExportModelController extends BaseController { } this.listPower = new ArrayList<>(); transformData(this.listPower, listPower, list, true, false); + + + System.out.println(5); } /** diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java index 1d2cb03..eaac9b8 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java @@ -1126,6 +1126,7 @@ public class CustomReportServiceImpl implements CustomReportService { Map> classMap = reportTemplateDTOList.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getResourceId)); //定义存放越限指标的map Map assNoPassMap = new HashMap<>(); + classMap.forEach((classKey, templateValue) -> { Map> valueTypeMap = templateValue.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getStatMethod)); //每张表开启一个独立线程查询 @@ -1133,23 +1134,27 @@ public class CustomReportServiceImpl implements CustomReportService { // 子线程中手动指定数据源(关键) DynamicDataSourceContextHolder.push("sjzx"); //avg.max,min,cp95 - valueTypeMap.forEach((valueTypeKey, valueTypeVal) -> { - //相别分组 - Map> phaseMap = valueTypeVal.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getPhase)); - phaseMap.forEach((phaseKey, phaseVal) -> { - StringBuilder sql = new StringBuilder(InfluxDbSqlConstant.SELECT); - if (InfluxDbSqlConstant.MAX.equalsIgnoreCase(valueTypeKey)) { - assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MAX, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap); - } else if (InfluxDbSqlConstant.MIN.equalsIgnoreCase(valueTypeKey)) { - assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MIN, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap); - } else if (InfluxDbSqlConstant.AVG_WEB.equalsIgnoreCase(valueTypeKey)) { - assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.AVG_WEB, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap); - } else if (InfluxDbSqlConstant.CP95.equalsIgnoreCase(valueTypeKey)) { - assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.CP95, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap); - } + try { + valueTypeMap.forEach((valueTypeKey, valueTypeVal) -> { + //相别分组 + Map> phaseMap = valueTypeVal.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getPhase)); + phaseMap.forEach((phaseKey, phaseVal) -> { + StringBuilder sql = new StringBuilder(InfluxDbSqlConstant.SELECT); + if (InfluxDbSqlConstant.MAX.equalsIgnoreCase(valueTypeKey)) { + assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MAX, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap); + } else if (InfluxDbSqlConstant.MIN.equalsIgnoreCase(valueTypeKey)) { + assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MIN, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap); + } else if (InfluxDbSqlConstant.AVG_WEB.equalsIgnoreCase(valueTypeKey)) { + assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.AVG_WEB, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap); + } else if (InfluxDbSqlConstant.CP95.equalsIgnoreCase(valueTypeKey)) { + assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.CP95, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap); + } + }); }); - }); + }finally { + DynamicDataSourceContextHolder.poll(); + } })); });