From 91df5cb181240949a99f25f8b608b9c255714729 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=A8=E6=9C=A8c?= <857448963@qq.com> Date: Thu, 8 Jun 2023 16:33:53 +0800 Subject: [PATCH] =?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 --- .../njcn/device/biz/utils/COverlimitUtil.java | 7 +- .../ledgerManger/DeptLineController.java | 2 +- .../ledgerManger/PmsMonitorController.java | 24 +++- .../{ => ledgerManger}/DeptLineService.java | 2 +- .../impl/CommTerminalServiceImpl.java | 3 +- .../impl/DeptLineServiceImpl.java | 4 +- .../service/majornetwork/IMonitorService.java | 9 ++ .../majornetwork/impl/MonitorServiceImpl.java | 44 +++++++ .../njcn/device/pq/pojo/param/LineParam.java | 31 ++++- .../njcn/device/pq/pojo/po/LineDetail.java | 42 +++++++ .../device/pq/pojo/vo/LineDetailDataVO.java | 24 ++++ .../device/pq/mapper/mapping/LineMapper.xml | 1 + .../pq/service/impl/LineServiceImpl.java | 4 + .../controller/report/QualifiedReport.java | 5 +- .../mapper/report/QualifiedReportMapper.java | 2 +- .../majornetwork/QualifiedReportService.java | 3 +- .../impl/QualifiedReportServiceImpl.java | 117 +++++++++--------- .../impl/RStatOrgMServiceImpl.java | 6 +- .../mysql/Impl/area/AreaCountServiceImpl.java | 12 +- .../com/njcn/system/enums/DicDataEnum.java | 47 ++++--- 20 files changed, 279 insertions(+), 110 deletions(-) rename pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/{ => ledgerManger}/DeptLineService.java (96%) rename pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/{ => ledgerManger}/impl/DeptLineServiceImpl.java (96%) diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/utils/COverlimitUtil.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/utils/COverlimitUtil.java index 589508fdd..fc0599328 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/utils/COverlimitUtil.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/utils/COverlimitUtil.java @@ -213,11 +213,14 @@ public class COverlimitUtil { private static float iHarmCalculate(int nHarm, Float voltageLevel,float protocolCapacity, float devCapacity,float calCap) { double tag = calCap*getHarmTag(nHarm,voltageLevel); Double limit = getHarmonicLimit(nHarm,tag,new BigDecimal(String.valueOf(devCapacity)).doubleValue(),new BigDecimal(String.valueOf(protocolCapacity)).doubleValue()); - BigDecimal bigDecimal = new BigDecimal(limit).setScale(4,RoundingMode.HALF_UP); + BigDecimal bigDecimal = BigDecimal.valueOf(limit).setScale(4,RoundingMode.HALF_UP); return bigDecimal.floatValue(); } - //电流谐波限值 + + /** + * 电流谐波限值 + */ private static Double getHarmTag(Integer iCount, Float voltageLevel) { int x, y; if (voltageLevel < DicDataEnum.KV6.getValue()) { diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/DeptLineController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/DeptLineController.java index 3d8673e19..cef84d14c 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/DeptLineController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/DeptLineController.java @@ -7,7 +7,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; -import com.njcn.device.pms.service.DeptLineService; +import com.njcn.device.pms.service.ledgerManger.DeptLineService; import com.njcn.web.controller.BaseController; import com.njcn.web.pojo.param.DeptLineParam; import io.swagger.annotations.Api; diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java index 0106f36e3..308ad2fd3 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java @@ -20,17 +20,17 @@ import com.njcn.device.pms.service.majornetwork.IMonitorService; import com.njcn.device.biz.pojo.po.Overlimit; import com.njcn.web.controller.BaseController; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.io.File; import java.util.List; import java.util.Objects; @@ -283,6 +283,22 @@ public class PmsMonitorController extends BaseController { } + /** + * oracle系统监测点转mysql主网监测点 + * @author cdf + * @date 2023/6/8 + */ + @PostMapping("/importOracleLedgerToMysql") + @ApiOperation("获取台账和终端信息(波形专用)") + @ApiImplicitParam(name = "param", value = "主网监测点实体", required = true) + public void importOracleLedgerToMysql(@ApiParam(value = "文件", required = true) @RequestPart("file") MultipartFile file, HttpServletResponse response) { + String methodDescribe = getMethodDescribe("importOracleLedgerToMysql"); + monitorService.importOracleLedgerToMysql(file,response); + + + } + + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/DeptLineService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/DeptLineService.java similarity index 96% rename from pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/DeptLineService.java rename to pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/DeptLineService.java index fc0f1e1dd..2113942fb 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/DeptLineService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/DeptLineService.java @@ -1,4 +1,4 @@ -package com.njcn.device.pms.service; +package com.njcn.device.pms.service.ledgerManger; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.device.pq.pojo.po.DeptLine; diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/CommTerminalServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/CommTerminalServiceImpl.java index a92617fb9..bffc64f93 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/CommTerminalServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/CommTerminalServiceImpl.java @@ -1,6 +1,5 @@ package com.njcn.device.pms.service.ledgerManger.impl; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.common.pojo.enums.common.ServerEnum; @@ -15,7 +14,7 @@ import com.njcn.device.biz.utils.COverlimitUtil; import com.njcn.device.pms.mapper.majornetwork.*; import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; import com.njcn.device.pms.pojo.po.*; -import com.njcn.device.pms.service.DeptLineService; +import com.njcn.device.pms.service.ledgerManger.DeptLineService; import com.njcn.device.pms.service.ledgerManger.CommTerminalService; import com.njcn.redis.utils.RedisUtil; import com.njcn.system.api.DicDataFeignClient; diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/DeptLineServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/DeptLineServiceImpl.java similarity index 96% rename from pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/DeptLineServiceImpl.java rename to pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/DeptLineServiceImpl.java index 77cde2fa9..9bc281d2e 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/DeptLineServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/DeptLineServiceImpl.java @@ -1,10 +1,10 @@ -package com.njcn.device.pms.service.impl; +package com.njcn.device.pms.service.ledgerManger.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.device.pms.mapper.DeptLineMapper; import com.njcn.device.pq.pojo.po.DeptLine; -import com.njcn.device.pms.service.DeptLineService; +import com.njcn.device.pms.service.ledgerManger.DeptLineService; import com.njcn.web.pojo.param.DeptLineParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java index 6736ef211..b41c90fff 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java @@ -13,8 +13,10 @@ import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.pojo.vo.MonitorVO; import com.njcn.device.pms.pojo.vo.PmsMonitorVO; import com.njcn.device.biz.pojo.po.Overlimit; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -144,5 +146,12 @@ public interface IMonitorService extends IService { List deptMonitor(DeptGetLineParam param); + /** + * + * @author cdf + * @date 2023/6/8 + */ + void importOracleLedgerToMysql(MultipartFile file, HttpServletResponse response); + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java index a7077fc14..dd3859dc5 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java @@ -1,5 +1,8 @@ package com.njcn.device.pms.service.majornetwork.impl; +import cn.afterturn.easypoi.excel.ExcelImportUtil; +import cn.afterturn.easypoi.excel.entity.ImportParams; +import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -10,6 +13,7 @@ import com.njcn.common.pojo.dto.SimpleDTO; 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.biz.pojo.dto.DeptGetChildrenDTO; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.biz.utils.COverlimit; @@ -25,9 +29,12 @@ import com.njcn.device.pms.pojo.vo.MonitorVO; import com.njcn.device.pms.pojo.vo.PmsMonitorVO; import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService; import com.njcn.device.pms.service.majornetwork.IMonitorService; +import com.njcn.device.pq.pojo.bo.excel.NodeExcel; +import com.njcn.device.pq.pojo.bo.excel.OverLimitExcel; import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.pq.pojo.po.LineDetail; import com.njcn.device.pq.pojo.po.Voltage; +import com.njcn.poi.util.PoiUtil; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.user.api.DeptFeignClient; @@ -44,7 +51,9 @@ import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -369,6 +378,41 @@ public class MonitorServiceImpl extends ServiceImpl impl return deviceInfos; } + @Override + public void importOracleLedgerToMysql(MultipartFile file, HttpServletResponse response) { + /* ImportParams importParams = new ImportParams(); + importParams.setHeadRows(1); + importParams.setTitleRows(1); + importParams.setNeedVerify(true); + + try { + ExcelImportResult terminalExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), OracleTerminalExcel.class, importParams); + + //如果存在非法数据,将不合格的数据导出 + if (terminalExcelExcelImportResult.isVerifyFail()) { + PoiUtil.exportFileByWorkbook(terminalExcelExcelImportResult.getFailWorkbook(), "非法台账信息.xlsx", response); + } else { + //执行台账信息导入(不考虑,存在监测点却不存在限值信息) + } + } catch (Exception e) { + throw new BusinessException(DeviceResponseEnum.IMPORT_ORACLE_EXCEPTION); + }*/ + } + + + /*private void dealData(List oracleTerminalExcelList){ + List allDept = deptFeignClient.getDeptDescendantIndexes(deptFeignClient.getRootDept().getData().getId(),Stream.of(0,1,2).collect(Collectors.toList())).getData(); + Map mapDept = allDept.stream().collect(Collectors.toMap(DeptDTO::getName,Function.identity())); + for(OracleTerminalExcel oracleTerminalExcel : oracleTerminalExcelList){ + //单位 + if(oracleTerminalExcel.get) + + //电站 + + + } + }*/ + /** * 获取主配网监测点id集合 * @param deptDTO diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LineParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LineParam.java index b8c7caf0f..de2e9f61e 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LineParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LineParam.java @@ -152,9 +152,38 @@ public class LineParam { @NotNull(message = "电压下偏差限值不能为空") private Float uvoltageDev; + @ApiModelProperty(name = "powerSubstationName",value = "电网侧变电站") + private String powerSubstationName; + /** - * 修改标识 + * 分类等级 */ + @ApiModelProperty(name = "calssificationGrade",value = "分类等级") + private String calssificationGrade; + + @ApiModelProperty(name = "superiorsSubstation",value = "上级电站") + private String superiorsSubstation; + + @ApiModelProperty(name = "hangLine",value = "挂接线路") + private String hangLine; + + + @ApiModelProperty(name = "owner",value = "监测点拥有者") + private String owner; + + + @ApiModelProperty(name = "ownerDuty",value = "拥有者职务") + private String ownerDuty; + + + @ApiModelProperty(name = "ownerTel",value = "拥有者联系方式") + private String ownerTel; + + + @ApiModelProperty(name = "wiringDiagram",value = "接线图") + private String wiringDiagram; + + @ApiModelProperty(name = "updateFlag",value = "修改标识") private Integer updateFlag; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/LineDetail.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/LineDetail.java index 1f77c431c..ecb9b7a6b 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/LineDetail.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/LineDetail.java @@ -1,6 +1,7 @@ package com.njcn.device.pq.pojo.po; import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -124,4 +125,45 @@ public class LineDetail{ private String remark; + /** + * 电网侧变电站 + */ + private String powerSubstationName; + /** + * 分类等级 + */ + private String calssificationGrade; + + + /** + * 上级电站 + */ + private String superiorsSubstation; + + /** + * 挂接线路 + */ + private String hangLine; + + /** + * 监测点拥有者 + */ + private String owner; + + /** + * 拥有者职务 + */ + private String ownerDuty; + + /** + * 拥有者联系方式 + */ + private String ownerTel; + + /** + * 接线图 + */ + private String wiringDiagram; + + } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java index fd12a2bee..7dab68b7d 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java @@ -81,4 +81,28 @@ public class LineDetailDataVO { @ApiModelProperty(name = "timeInterval",value = "测量间隔(1-10分钟)") private Integer timeInterval; + /** + * 监测点拥有者 + */ + @ApiModelProperty(name = "owner",value = "监测点拥有者") + private String owner; + + /** + * 拥有者职务 + */ + @ApiModelProperty(name = "ownerDuty",value = "拥有者职务") + private String ownerDuty; + + /** + * 拥有者联系方式 + */ + @ApiModelProperty(name = "ownerTel",value = "拥有者联系方式") + private String ownerTel; + + /** + * 接线图 + */ + @ApiModelProperty(name = "wiringDiagram",value = "接线图") + private String wiringDiagram; + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml index 7b614f9eb..477b31ec0 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml @@ -502,6 +502,7 @@ detail.Short_Capacity, detail.Standard_Capacity, detail.Deal_Capacity, + detail.Business_Type, detail.Calssification_Grade, detail.Superiors_Substation, detail.Hang_Line, diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java index c65701aee..3c89b6fb3 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java @@ -142,6 +142,10 @@ public class LineServiceImpl extends ServiceImpl implements Li lineDetailDataVO.setShortCapacity(lineDetail.getShortCapacity()); lineDetailDataVO.setStandardCapacity(lineDetail.getStandardCapacity()); lineDetailDataVO.setTimeInterval (lineDetail.getTimeInterval ()); + lineDetailDataVO.setOwner(lineDetail.getOwner()); + lineDetailDataVO.setOwnerDuty(lineDetail.getOwnerDuty()); + lineDetailDataVO.setOwnerTel(lineDetail.getOwnerTel()); + lineDetailDataVO.setWiringDiagram(lineDetail.getWiringDiagram()); return lineDetailDataVO; } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/QualifiedReport.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/QualifiedReport.java index 275ebe89a..cc8081491 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/QualifiedReport.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/QualifiedReport.java @@ -1,6 +1,7 @@ package com.njcn.harmonic.controller.report; import cn.hutool.core.date.TimeInterval; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; @@ -50,10 +51,10 @@ public class QualifiedReport extends BaseController { @PostMapping("/pageTable") @ApiOperation("合格率报告_列表") @ApiImplicitParam(name = "qualifiedReportParam", value = "合格率报告参数", required = true) - public HttpResult> pageTable(@RequestBody @Validated QualifiedReportParam qualifiedReportParam) { + public HttpResult> pageTable(@RequestBody @Validated QualifiedReportParam qualifiedReportParam) { TimeInterval timeInterval = new TimeInterval(); String methodDescribe = getMethodDescribe("pageTable"); - List result = qualifiedReportService.pageTable(qualifiedReportParam); + Page result = qualifiedReportService.pageTable(qualifiedReportParam); log.info("合格率报告执行时长:"+timeInterval.interval()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/report/QualifiedReportMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/report/QualifiedReportMapper.java index 0d1bae8fe..e2345b76c 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/report/QualifiedReportMapper.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/report/QualifiedReportMapper.java @@ -20,7 +20,7 @@ public interface QualifiedReportMapper { * @author cdf * @date 2023/6/8 */ - List> getLimitRateData(@Param("page") Page>> page, @Param("lineIds")List lineIds, @Param("startTime")LocalDateTime startTime, @Param("endTime")LocalDateTime endTime); + Page> getLimitRateData(@Param("page") Page>> page, @Param("lineIds")List lineIds, @Param("startTime")LocalDateTime startTime, @Param("endTime")LocalDateTime endTime); /** * diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/QualifiedReportService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/QualifiedReportService.java index 06901e664..1082c0bd9 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/QualifiedReportService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/QualifiedReportService.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.service.majornetwork; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.response.HttpResult; import com.njcn.harmonic.pojo.dto.FpyReportDTO; import com.njcn.harmonic.pojo.param.QualifiedReportParam; @@ -21,5 +22,5 @@ public interface QualifiedReportService { * @author cdf * @date 2023/6/7 */ - List pageTable(QualifiedReportParam qualifiedReportParam); + Page pageTable(QualifiedReportParam qualifiedReportParam); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/QualifiedReportServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/QualifiedReportServiceImpl.java index e7a80bfe4..66f269d17 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/QualifiedReportServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/QualifiedReportServiceImpl.java @@ -56,84 +56,83 @@ public class QualifiedReportServiceImpl implements QualifiedReportService { private final OverLimitClient overLimitClient; - - @Override - public List pageTable(QualifiedReportParam qualifiedReportParam) { + public Page pageTable(QualifiedReportParam qualifiedReportParam) { + Page pageResult = new Page<>(PageFactory.getPageNum(qualifiedReportParam), PageFactory.getPageSize(qualifiedReportParam)); List fpyReportDTOList = new ArrayList<>(); List lineIds = generalDeviceInfoClient.deptGetRunLine(qualifiedReportParam.getDeptId()).getData(); - if(CollUtil.isEmpty(lineIds)){ - return fpyReportDTOList; + if (CollUtil.isEmpty(lineIds)) { + return pageResult; } LineBaseQueryParam lineBaseQueryParam = new LineBaseQueryParam(); lineBaseQueryParam.setLineIds(lineIds); lineBaseQueryParam.setSearchValue(qualifiedReportParam.getSearchValue()); List areaLineInfoVOList = lineFeignClient.getRichLineInfo(lineBaseQueryParam).getData(); - List lineNewIds = areaLineInfoVOList.stream().map(AreaLineInfoVO::getLineId).distinct().collect(Collectors.toList()); - Map lineMap = areaLineInfoVOList.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId,Function.identity())); - - List> limitMap = qualifiedReportMapper.getLimitRateData(new Page<>(PageFactory.getPageNum(qualifiedReportParam),PageFactory.getPageSize(qualifiedReportParam)),lineNewIds, PubUtils.beginTimeToLocalDateTime(qualifiedReportParam.getBeginTime()),PubUtils.endTimeToLocalDateTime(qualifiedReportParam.getEndTime())); - List realLineIds = limitMap.stream().map(item->item.get("my_index").toString()).distinct().collect(Collectors.toList()); - - List> dayIhMapList = qualifiedReportMapper.getLimitRateDataIHarm(lineIds,qualifiedReportParam.getBeginTime(),qualifiedReportParam.getEndTime()); - Map> mapMap = dayIhMapList.stream().collect(Collectors.toMap(it->it.get("MYINDEX").toString(),Function.identity())); - - - if(CollUtil.isNotEmpty(limitMap)){ - + if(CollUtil.isEmpty(areaLineInfoVOList)){ + return pageResult; } - List rStatIntegrityList = lineIntegrityClient.getIntegrityByLineIds(realLineIds,qualifiedReportParam.getBeginTime(),qualifiedReportParam.getEndTime()).getData(); - Map rStatIntegrityMap = rStatIntegrityList.stream().collect(Collectors.toMap(RStatIntegrityD::getLineIndex, Function.identity())); + List lineNewIds = areaLineInfoVOList.stream().map(AreaLineInfoVO::getLineId).distinct().collect(Collectors.toList()); + Map lineMap = areaLineInfoVOList.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity())); + Page> page = qualifiedReportMapper.getLimitRateData(new Page<>(PageFactory.getPageNum(qualifiedReportParam), PageFactory.getPageSize(qualifiedReportParam)), lineNewIds, PubUtils.beginTimeToLocalDateTime(qualifiedReportParam.getBeginTime()), PubUtils.endTimeToLocalDateTime(qualifiedReportParam.getEndTime())); + if (CollUtil.isNotEmpty(page.getRecords())) { + List realLineIds = page.getRecords().stream().map(item -> item.get("my_index").toString()).distinct().collect(Collectors.toList()); - List overLimitList = overLimitClient.getOverLimitByLineIds(realLineIds).getData(); - Map overLimitMap = overLimitList.stream().collect(Collectors.toMap(Overlimit::getId, Function.identity())); + List> dayIhMapList = qualifiedReportMapper.getLimitRateDataIHarm(lineIds, qualifiedReportParam.getBeginTime(), qualifiedReportParam.getEndTime()); + Map> mapMap = dayIhMapList.stream().collect(Collectors.toMap(it -> it.get("MYINDEX").toString(), Function.identity())); - for(Map map:limitMap){ - String lineId = map.get("my_index").toString(); - Map mapOverLimit = new HashMap<>(); - try { - BeanUtils.describe(overLimitMap.get(lineId)).forEach((key, value) -> mapOverLimit.put((String) key, value)); - } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { - e.printStackTrace(); - } + List rStatIntegrityList = lineIntegrityClient.getIntegrityByLineIds(realLineIds, qualifiedReportParam.getBeginTime(), qualifiedReportParam.getEndTime()).getData(); + Map rStatIntegrityMap = rStatIntegrityList.stream().collect(Collectors.toMap(RStatIntegrityD::getLineIndex, Function.identity())); - //获取平均值的最大值 - Map iM = mapMap.get(lineId); + List overLimitList = overLimitClient.getOverLimitByLineIds(realLineIds).getData(); + Map overLimitMap = overLimitList.stream().collect(Collectors.toMap(Overlimit::getId, Function.identity())); - FpyTagContent fpyTagContent = calAllTag(map, mapOverLimit,iM); + for (Map map : page.getRecords()) { + String lineId = map.get("my_index").toString(); + Map mapOverLimit = new HashMap<>(); + try { + BeanUtils.describe(overLimitMap.get(lineId)).forEach((key, value) -> mapOverLimit.put((String) key, value)); + } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { + e.printStackTrace(); + } + //获取平均值的最大值 + Map iM = mapMap.get(lineId); + FpyTagContent fpyTagContent = calAllTag(map, mapOverLimit, iM); - FpyReportDTO fpyReportData = new FpyReportDTO(); - if (lineMap.containsKey(lineId)) { - AreaLineInfoVO areaLineInfoVO = lineMap.get(lineId); + FpyReportDTO fpyReportData = new FpyReportDTO(); + if (lineMap.containsKey(lineId)) { + AreaLineInfoVO areaLineInfoVO = lineMap.get(lineId); + BeanUtil.copyProperties(areaLineInfoVO, fpyReportData); + fpyReportData.setHarmDes(fpyTagContent.getPassFlag()); + fpyReportData.setPowerDes(fpyTagContent.getContent()); - BeanUtil.copyProperties(areaLineInfoVO, fpyReportData); - fpyReportData.setHarmDes(fpyTagContent.getPassFlag()); - fpyReportData.setPowerDes(fpyTagContent.getContent()); + } + + if (rStatIntegrityMap.containsKey(lineId)) { + RStatIntegrityD rStatIntegrityD = rStatIntegrityMap.get(lineId); + fpyReportData.setIntegrityValue(rStatIntegrityD.getIntegrityData()); + } else { + fpyReportData.setIntegrityValue(3.14159f); + } fpyReportDTOList.add(fpyReportData); } - - if(rStatIntegrityMap.containsKey(lineId)) { - RStatIntegrityD rStatIntegrityD = rStatIntegrityMap.get(lineId); - fpyReportData.setIntegrityValue(rStatIntegrityD.getIntegrityData()); - }else { - fpyReportData.setIntegrityValue(3.14159f); - } } - return fpyReportDTOList; + pageResult.setRecords(fpyReportDTOList); + pageResult.setTotal(page.getTotal()); + return pageResult; } /** * 其他指标计算 */ - private FpyTagContent calAllTag(Map map, Map mapOverLimit,Map iMap) { + private FpyTagContent calAllTag(Map map, Map mapOverLimit, Map iMap) { StrBuilder content = new StrBuilder(); BigDecimal alltime = (BigDecimal) map.get("ALLTIME"); - BigDecimal flicketAllTime = (BigDecimal)map.get("FLICKET_ALL_TIME"); + BigDecimal flicketAllTime = (BigDecimal) map.get("FLICKET_ALL_TIME"); FpyTagContent fpyTagContent = new FpyTagContent(); - if(alltime.intValue() > 0) { + if (alltime.intValue() > 0) { //频率偏差 BigDecimal freq = (BigDecimal) map.get("FREQ_DEV_OVERTIME"); if (freq.intValue() > 0) { @@ -159,7 +158,7 @@ public class QualifiedReportServiceImpl implements QualifiedReportService { BigDecimal flickOver = (BigDecimal) map.get("FLICKER_OVERTIME"); if (flickOver.intValue() > 0) { BigDecimal flickOverRate = flicketAllTime.subtract(flickOver).divide(flicketAllTime, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); - content.append("闪变合格率").append(String.valueOf(flickOverRate.floatValue())).append("%;"); + content.append("长时闪变合格率").append(String.valueOf(flickOverRate.floatValue())).append("%;"); } //电压畸变 @@ -187,28 +186,28 @@ public class QualifiedReportServiceImpl implements QualifiedReportService { BigDecimal ih = (BigDecimal) map.get(key); BigDecimal hegeRate = alltime.subtract(ih).divide(alltime, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); if (hegeRate.floatValue() < 95) { - BigDecimal maxI = (BigDecimal)iMap.get(key); + BigDecimal maxI = (BigDecimal) iMap.get(key); BigDecimal overLimit = new BigDecimal(mapOverLimit.get("iharm" + i).toString()); - content.append(String.valueOf(i)).append("次谐波电流合格率").append(String.valueOf(hegeRate.floatValue())).append("%,限值为").append(String.valueOf(overLimit.floatValue())).append("A," + "最大值为").append(String.valueOf(maxI.setScale(2,RoundingMode.HALF_UP))).append("A;"); + content.append(String.valueOf(i)).append("次谐波电流合格率").append(String.valueOf(hegeRate.floatValue())).append("%,限值为").append(String.valueOf(overLimit.floatValue())).append("A," + "最大值为").append(String.valueOf(maxI.setScale(2, RoundingMode.HALF_UP))).append("A;"); flagI++; } } - if(flagV==0 && flagI==0){ + if (flagV == 0 && flagI == 0) { fpyTagContent.setPassFlag(EnumPass.PASS.getDescribe()); - }else if(flagV>0 && flagI==0){ + } else if (flagV > 0 && flagI == 0) { fpyTagContent.setPassFlag("谐波电压"); - }else if(flagV==0 && flagI>0){ + } else if (flagV == 0 && flagI > 0) { fpyTagContent.setPassFlag("谐波电流"); - }else { + } else { fpyTagContent.setPassFlag("谐波电压;谐波电流"); } - if(StrUtil.isBlank(content)){ + if (StrUtil.isBlank(content)) { fpyTagContent.setContent("合格;"); - }else { + } else { fpyTagContent.setContent(content.toString()); } - }else { + } else { fpyTagContent.setPassFlag("暂无数据"); fpyTagContent.setContent("暂无数据;"); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgMServiceImpl.java index 0ed573760..f6844c3ea 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgMServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgMServiceImpl.java @@ -152,15 +152,15 @@ public class RStatOrgMServiceImpl extends ServiceImpl