diff --git a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java b/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java index 53dfce64b..c4b6a6224 100644 --- a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java +++ b/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java @@ -75,9 +75,9 @@ public interface PatternRegex { String ROLE_REGEX = "^[a-zA-Z][a-zA-Z0-9]{2,50}$"; /** - * 部门名称由汉字组成,长度为0-20 + * 部门名称由汉字组成,长度为0-32 (前端统一32了这边改下长度) */ - String DEPT_NAME_REGEX = "^[\\u4e00-\\u9fa5]{1,20}$"; + String DEPT_NAME_REGEX = "^[\\u4e00-\\u9fa5]{1,32}$"; /** * 字典名称包括中文、数字、字母、罗马数字、括号以及点号 diff --git a/pqs-common/common-web/src/main/java/com/njcn/web/constant/ValidMessage.java b/pqs-common/common-web/src/main/java/com/njcn/web/constant/ValidMessage.java index 65f811f8c..2df600d08 100644 --- a/pqs-common/common-web/src/main/java/com/njcn/web/constant/ValidMessage.java +++ b/pqs-common/common-web/src/main/java/com/njcn/web/constant/ValidMessage.java @@ -19,7 +19,7 @@ public interface ValidMessage { String NAME_NOT_BLANK = "名称不能为空,请检查name参数"; - String NAME_FORMAT_ERROR = "名称格式错误,存在特殊符号或超过20字符,请检查name参数"; + String NAME_FORMAT_ERROR = "名称格式错误,存在特殊符号或超过32字符,请检查name参数"; String INDUSTRY_NOT_BLANK = "行业不能为空,请检查industry参数"; String INDUSTRY_FORMAT_ERROR = "行业格式错误,请检查industry参数"; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/AreaLineInfoVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/AreaLineInfoVO.java index 5c5253d96..13cea0870 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/AreaLineInfoVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/AreaLineInfoVO.java @@ -136,6 +136,9 @@ public class AreaLineInfoVO implements Serializable { @ApiModelProperty(name = "objId",value = "对象id") private String objId; + @ApiModelProperty(name = "powerSubstationName", value = "电网侧变电站") + private String powerSubstationName; + @ApiModelProperty(name = "vHarmonicValue",value = "污染值") private Double vHarmonicValue; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/DataVerifyExcel.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/DataVerifyExcel.java new file mode 100644 index 000000000..5cf984ec2 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/DataVerifyExcel.java @@ -0,0 +1,194 @@ +package com.njcn.device.pq.pojo.vo.dataClean; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + * @version 1.0.0 + * @author: chenchao + * @date: 2022/07/18 11:04 + */ +@Getter +@Setter +@EqualsAndHashCode +public class DataVerifyExcel implements Serializable { + + private String lineId; + + @ColumnWidth(20) + @ExcelProperty(value = "供电公司") + @Excel(name = "供电公司") + private String city; + + @ColumnWidth(20) + @ExcelProperty(value = "所属变电站") + @Excel(name = "所属变电站") + private String stationName; + + + @ColumnWidth(20) + @ExcelProperty(value = "终端名称") + @Excel(name = "终端名称") + private String devName; + + @ColumnWidth(20) + @ExcelProperty(value = "监测点名称") + @Excel(name = "监测点名称") + private String lineName; + + + @ColumnWidth(20) + @ExcelProperty(value = "IP") + @Excel(name = "IP") + private String ip; + + @ColumnWidth(20) + @ExcelProperty(value = "干扰源类型") + @Excel(name = "干扰源类型") + private String loadType; + + + @ColumnWidth(20) + @ExcelProperty(value = "监测对象名称") + @Excel(name = "监测对象名称") + private String objName; + + + @ColumnWidth(20) + @ExcelProperty(value = "电网侧变电站") + @Excel(name = "电网侧变电站") + private String powerSubstationName; + + @ColumnWidth(20) + @ExcelProperty(value = "厂商") + @Excel(name = "厂商") + private String manufacturer; + + @ColumnWidth(20) + @ExcelProperty(value = "总指标异常时间") + @Excel(name = "总") + private Integer allTime; + + @ColumnWidth(20) + @ExcelProperty(value = "频率") + @Excel(name = "频率") + private Integer freqTime; + + @ColumnWidth(20) + @ExcelProperty(value = "频率偏差") + @Excel(name = "频率偏差") + private Integer freqDevTime; + + @ColumnWidth(20) + @ExcelProperty(value = "相电压有效值") + @Excel(name = "相电压有效值") + private Integer vRmsTime; + + @ColumnWidth(20) + @ExcelProperty(value = "正序电压") + @Excel(name = "正序电压") + private Integer vPosTime; + + @ColumnWidth(20) + @ExcelProperty(value = "负序电压") + @Excel(name = "负序电压") + private Integer vNegTime; + + @ColumnWidth(20) + @ExcelProperty(value = "零序电压") + @Excel(name = "零序电压") + private Integer vZeroTime; + + @ColumnWidth(20) + @ExcelProperty(value = "电压不平衡度") + @Excel(name = "电压不平衡度") + private Integer vUnbalanceTime; + + @ColumnWidth(20) + @ExcelProperty(value = "线电压有效值") + @Excel(name = "线电压有效值") + private Integer rmsLvrTime; + + @ColumnWidth(20) + @ExcelProperty(value = "电压正偏差") + @Excel(name = "电压正偏差") + private Integer vuDevTime; + + @ColumnWidth(20) + @ExcelProperty(value = "电压负偏差") + @Excel(name = "电压负偏差") + private Integer vlDevTime; + + @ColumnWidth(25) + @ExcelProperty(value = "电压总谐波畸变率") + @Excel(name = "电压总谐波畸变率") + private Integer vThdTime; + + @ColumnWidth(25) + @ExcelProperty(value = "相电压基波有效值") + @Excel(name = "相电压基波有效值") + private Integer vTime; + + @ColumnWidth(20) + @ExcelProperty(value = "电流有效值") + @Excel(name = "电流有效值") + private Integer iRmsTime; + + @ColumnWidth(20) + @ExcelProperty(value = "长时闪变") + @Excel(name = "长时闪变") + private Integer pltTime; + + @ColumnWidth(25) + @ExcelProperty(value = "间谐波电压含有率") + @Excel(name = "间谐波电压含有率") + private Integer vInharmTime; + + @ColumnWidth(25) + @ExcelProperty(value = "谐波电压含有率") + @Excel(name = "谐波电压含有率") + private Integer vHarmTime; + + @ColumnWidth(20) + @ExcelProperty(value = "功率因数") + @Excel(name = "功率因数") + private Integer pfTime; + + @ColumnWidth(20) + @ExcelProperty(value = "谐波电压相角") + @Excel(name = "谐波电压相角") + private Integer vPhasicTime; + + @ColumnWidth(20) + @ExcelProperty(value = "谐波电压基波相角") + @Excel(name = "谐波电压基波相角") + private Integer v1PhasicTime; + + @ColumnWidth(20) + @ExcelProperty(value = "电压波动") + @Excel(name = "电压波动") + private Integer flucTime; + + @ColumnWidth(20) + @ExcelProperty(value = "短时闪变") + @Excel(name = "短时闪变") + private Integer pstTime; + + @ColumnWidth(20) + @ExcelProperty(value = "电压暂降") + @Excel(name = "电压暂降") + private Integer dipTime; + + @ColumnWidth(20) + @ExcelProperty(value = "电压暂升") + @Excel(name = "电压暂升") + private Integer riseTime; + + +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java index c2f0ff775..e48088520 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataVerifyController.java @@ -16,18 +16,18 @@ import com.njcn.device.pq.service.IPqDataVerifyBakService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; import com.njcn.web.controller.BaseController; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; /** *

- * 异常数据功能 + * 异常数据功能 *

* * @author cdf @@ -50,7 +50,7 @@ public class DataVerifyController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getMonitorVerifyData") @ApiOperation("异常-获取异常数据主页面") - public HttpResult getMonitorVerifyData(@RequestBody MonitorBaseParam monitorBaseParam){ + public HttpResult getMonitorVerifyData(@RequestBody MonitorBaseParam monitorBaseParam) { String methodDescribe = getMethodDescribe("getMonitorVerifyData"); VerifyMonitorVO verifyMonitorVO = iPqDataVerifyBakService.getMonitorVerifyData(monitorBaseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, verifyMonitorVO, methodDescribe); @@ -59,7 +59,7 @@ public class DataVerifyController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getMonitorVerifyDay") @ApiOperation("异常-更新按钮-获取异常数据列表") - public HttpResult> getMonitorVerifyDay(@RequestBody MonitorBaseParam monitorBaseParam){ + public HttpResult> getMonitorVerifyDay(@RequestBody MonitorBaseParam monitorBaseParam) { String methodDescribe = getMethodDescribe("getMonitorVerifyDay"); List list = iPqDataVerifyBakService.getMonitorVerifyDay(monitorBaseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); @@ -72,14 +72,13 @@ public class DataVerifyController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/monitorAbnormalTable") @ApiOperation("异常-弹框-获取异常监测点列表") - public HttpResult> monitorAbnormalTable(@RequestBody MonitorBaseParam monitorBaseParam){ + public HttpResult> monitorAbnormalTable(@RequestBody MonitorBaseParam monitorBaseParam) { String methodDescribe = getMethodDescribe("monitorAbnormalDetail"); List page = iPqDataVerifyBakService.monitorAbnormalTable(monitorBaseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); } - /** * 获取稳态告警监测点相关信息 */ @@ -93,14 +92,13 @@ public class DataVerifyController extends BaseController { } - /** * 获取稳态告警数据 */ @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getMonitorLimitData") @ApiOperation("获取稳态告警数据") - public HttpResult getMonitorLimitData(@RequestBody MonitorBaseParam monitorBaseParam){ + public HttpResult getMonitorLimitData(@RequestBody MonitorBaseParam monitorBaseParam) { String methodDescribe = getMethodDescribe("getMonitorLimitData"); VerifyMonitorVO verifyMonitorVO = iDataVerifyService.getMonitorLimitData(monitorBaseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, verifyMonitorVO, methodDescribe); @@ -109,7 +107,7 @@ public class DataVerifyController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getMonitorLimitDataDay") @ApiOperation("更新按钮-获取稳态告警数据") - public HttpResult> getMonitorLimitDataDay(@RequestBody MonitorBaseParam monitorBaseParam){ + public HttpResult> getMonitorLimitDataDay(@RequestBody MonitorBaseParam monitorBaseParam) { String methodDescribe = getMethodDescribe("getMonitorLimitDataDay"); List verifyMonitorVO = iDataVerifyService.getMonitorLimitDataDay(monitorBaseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, verifyMonitorVO, methodDescribe); @@ -121,7 +119,7 @@ public class DataVerifyController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/monitorLimitTable") @ApiOperation("弹框-获取稳态告警监测点列表") - public HttpResult> monitorLimitTable(@RequestBody MonitorBaseParam monitorBaseParam){ + public HttpResult> monitorLimitTable(@RequestBody MonitorBaseParam monitorBaseParam) { String methodDescribe = getMethodDescribe("monitorLimitTable"); List list = iDataVerifyService.monitorLimitTable(monitorBaseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); @@ -134,7 +132,7 @@ public class DataVerifyController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/monitorLimitTableDetail") @ApiOperation("弹框-获取稳态告警监测点列表详情") - public HttpResult monitorLimitTableDetail(@RequestBody MonitorBaseParam monitorBaseParam){ + public HttpResult monitorLimitTableDetail(@RequestBody MonitorBaseParam monitorBaseParam) { String methodDescribe = getMethodDescribe("monitorLimitTableDetail"); DetailAbnormalVO.DetailLimitCountVO list = iDataVerifyService.monitorLimitTableDetail(monitorBaseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); @@ -150,5 +148,16 @@ public class DataVerifyController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @GetMapping("/dataVerifyExcel") + @ApiOperation(value = "导出异常监测点列表", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) + public void dataVerifyExcel(HttpServletResponse response, MonitorBaseParam monitorBaseParam) throws IOException { + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + iPqDataVerifyBakService.dataVerifyExcel(response, monitorBaseParam); + + } + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PqDataVerifyBakMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PqDataVerifyBakMapper.java index 0d5a37c85..7af24c543 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PqDataVerifyBakMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PqDataVerifyBakMapper.java @@ -1,7 +1,12 @@ package com.njcn.device.pq.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; import com.njcn.device.pq.pojo.po.PqDataVerifyBak; +import com.njcn.device.pq.pojo.vo.dataClean.DataVerifyExcel; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +18,5 @@ import com.njcn.device.pq.pojo.po.PqDataVerifyBak; */ public interface PqDataVerifyBakMapper extends BaseMapper { + List selectDataVerifySum(@Param("param") MonitorBaseParam monitorBaseParam); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqDataVerifyBakMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqDataVerifyBakMapper.xml new file mode 100644 index 000000000..6fca4d1dd --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqDataVerifyBakMapper.xml @@ -0,0 +1,83 @@ + + + + + + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IPqDataVerifyBakService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IPqDataVerifyBakService.java index 84ba58c83..c3e5d762b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IPqDataVerifyBakService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IPqDataVerifyBakService.java @@ -7,6 +7,8 @@ import com.njcn.device.pq.pojo.vo.dataClean.DetailAbnormalVO; import com.njcn.device.pq.pojo.vo.dataClean.PowerQualityIndicatorsVO; import com.njcn.device.pq.pojo.vo.dataClean.VerifyMonitorVO; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; /** @@ -30,6 +32,6 @@ public interface IPqDataVerifyBakService extends IService { DetailAbnormalVO.DetailAbnormalCountVO monitorAbnormalTableDetail(MonitorBaseParam monitorBaseParam); - + void dataVerifyExcel(HttpServletResponse response, MonitorBaseParam monitorBaseParam) throws IOException; } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqDataVerifyBakServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqDataVerifyBakServiceImpl.java index 41bb3c476..e42d89164 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqDataVerifyBakServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqDataVerifyBakServiceImpl.java @@ -10,6 +10,7 @@ import cn.hutool.json.JSONArray; import cn.hutool.json.JSONConfig; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONTokener; +import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -28,19 +29,19 @@ import com.njcn.device.pq.pojo.po.DeptLine; import com.njcn.device.pq.pojo.po.PqDataVerifyBak; import com.njcn.device.pq.pojo.vo.AreaLineInfoVO; import com.njcn.device.pq.pojo.vo.LineDetailDataVO; -import com.njcn.device.pq.pojo.vo.dataClean.DetailAbnormalVO; -import com.njcn.device.pq.pojo.vo.dataClean.PowerQualityIndicatorsVO; -import com.njcn.device.pq.pojo.vo.dataClean.VerifyMonitorVO; -import com.njcn.device.pq.pojo.vo.dataClean.VerifyTargetVO; +import com.njcn.device.pq.pojo.vo.dataClean.*; import com.njcn.device.pq.service.CommTerminalService; import com.njcn.device.pq.service.IPqDataVerifyBakService; import com.njcn.oss.utils.FileStorageUtil; +import com.njcn.poi.excel.ExcelUtil; import com.njcn.supervision.api.UserLedgerFeignClient; import com.njcn.system.api.DictTreeFeignClient; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.io.InputStream; import java.time.LocalDate; import java.time.format.DateTimeFormatter; @@ -75,7 +76,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl monitorIds = commTerminalService.getRunMonitorByDept(monitorBaseParam); @@ -86,13 +87,13 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl dataSumVerifyList = baseDataSumVerifyQuery(monitorIds, monitorBaseParam); verifyMonitorVO.setMapList(getRangeAbnormalMonitor(monitorBaseParam, dataVerifyList)); - verifyMonitorVO.setTargetList(getAbnormalTarget(dataVerifyList,monitorBaseParam.getErrorTimeCount())); + verifyMonitorVO.setTargetList(getAbnormalTarget(dataVerifyList, monitorBaseParam.getErrorTimeCount())); verifyMonitorVO.setMonitorAlarmInfo(getAbnormalTable(dataVerifyList, monitorBaseParam)); } else { verifyMonitorVO.setRunNum(0); verifyMonitorVO.setAbnormalNum(0); verifyMonitorVO.setMapList(getRangeAbnormalMonitor(monitorBaseParam, new ArrayList<>())); - verifyMonitorVO.setTargetList(getAbnormalTarget(new ArrayList<>(),monitorBaseParam.getErrorTimeCount())); + verifyMonitorVO.setTargetList(getAbnormalTarget(new ArrayList<>(), monitorBaseParam.getErrorTimeCount())); verifyMonitorVO.setMonitorAlarmInfo(getAbnormalTable(new ArrayList<>(), monitorBaseParam)); } @@ -152,7 +153,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl monitorAbnormalTable(MonitorBaseParam monitorBaseParam) { - if(Objects.isNull(monitorBaseParam.getErrorTimeCount())){ + if (Objects.isNull(monitorBaseParam.getErrorTimeCount())) { monitorBaseParam.setErrorTimeCount(720); } List result = new ArrayList<>(); @@ -297,7 +298,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImplx.getIds().size()>0).collect(Collectors.toList())); + targetKey.setTargetKeys(getAbnormalTarget(Arrays.asList(pqDataVerifyBak), monitorBaseParam.getErrorTimeCount()).stream().filter(x -> x.getIds().size() > 0).collect(Collectors.toList())); targetKeyList.add(targetKey); } detailAbnormalVO.setDateTargetList(targetKeyList); @@ -331,11 +332,11 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl{ + jsonArray.forEach(it -> { JSONObject targetJson = (JSONObject) it; if (targetJson.containsKey("lineErrorTimes")) { errorTimeCount[0] += Integer.valueOf(targetJson.get("lineErrorTimes").toString()); - }else{ + } else { if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) { if (targetJson.containsKey(monitorBaseParam.getTargetKey())) { resultDeal(dtoMap, monitorBaseParam.getTargetKey(), targetJson, result, dataVerifyBak.getTimeId().toString(), errorTimeCount, errAllCount); @@ -367,6 +368,40 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl monitorIds = commTerminalService.getRunMonitorByDept(monitorBaseParam); + monitorBaseParam.setMonitorIds(monitorIds); + } + List dataVerifyExcels = this.baseMapper.selectDataVerifySum(monitorBaseParam); + List ids = dataVerifyExcels.stream().map(DataVerifyExcel::getLineId).collect(Collectors.toList()); + List areaLineInfoVOList = lineMapper.getBaseLineAreaInfo(ids, null, null); + Map map = areaLineInfoVOList.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity())); + for (DataVerifyExcel dataVerifyExcel : dataVerifyExcels) { + if (map.containsKey(dataVerifyExcel.getLineId())) { + AreaLineInfoVO areaLineInfoVO = map.get(dataVerifyExcel.getLineId()); + dataVerifyExcel.setCity(areaLineInfoVO.getGdName()); + dataVerifyExcel.setLineName(areaLineInfoVO.getLineName()); + dataVerifyExcel.setLoadType(areaLineInfoVO.getLoadType()); + dataVerifyExcel.setObjName(areaLineInfoVO.getObjName()); + dataVerifyExcel.setStationName(areaLineInfoVO.getSubName()); + dataVerifyExcel.setPowerSubstationName(areaLineInfoVO.getPowerSubstationName()); + dataVerifyExcel.setDevName(areaLineInfoVO.getDeviceName()); + dataVerifyExcel.setIp(areaLineInfoVO.getIp()); + dataVerifyExcel.setManufacturer(areaLineInfoVO.getManufacturer()); + } + } + Set excludeColumnFiledNames = new HashSet<>(1); + excludeColumnFiledNames.add("lineId"); + dataVerifyExcels.sort(Comparator.comparing((DataVerifyExcel item) -> item.getCity() + "_" + item.getStationName()+"_"+item.getDevName()) + .thenComparing(DataVerifyExcel::getAllTime, Comparator.reverseOrder()) + ); + EasyExcel.write(response.getOutputStream(), DataVerifyExcel.class) + .excludeColumnFiledNames(excludeColumnFiledNames).sheet("sheet") + .doWrite(dataVerifyExcels); + } + private static final Pattern HARMONIC_PATTERN = Pattern.compile("(\\d+)次谐波"); @@ -441,7 +476,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl { switch (ites.getType()) { @@ -471,7 +506,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl baseDataVerifyQuery(List monitorIds, MonitorBaseParam monitorBaseParam) { - if(Objects.isNull(monitorBaseParam.getErrorTimeCount())){ + if (Objects.isNull(monitorBaseParam.getErrorTimeCount())) { monitorBaseParam.setErrorTimeCount(720); } LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -623,102 +658,102 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl getAbnormalTarget(List dataVerifyList,Integer errorTimeCount) { + public List getAbnormalTarget(List dataVerifyList, Integer errorTimeCount) { List result = new ArrayList<>(); Map rangeMap = getStandRange(); rangeMap.forEach((key, dto) -> { Set ids; switch (key) { case Param.freq: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getFreqTime())).filter(it -> it.getFreqTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getFreqTime())).filter(it -> it.getFreqTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.freq_dev: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getFreqDevTime())).filter(it -> it.getFreqDevTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getFreqDevTime())).filter(it -> it.getFreqDevTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.rms_v: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVRmsTime())).filter(it -> it.getVRmsTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVRmsTime())).filter(it -> it.getVRmsTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.rms_lvr: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getRmsLvrTime())).filter(it -> it.getRmsLvrTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getRmsLvrTime())).filter(it -> it.getRmsLvrTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.vu_dev: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVuDevTime())).filter(it -> it.getVuDevTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVuDevTime())).filter(it -> it.getVuDevTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.vl_dev: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVlDevTime())).filter(it -> it.getVlDevTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVlDevTime())).filter(it -> it.getVlDevTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.rms_i: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getIRmsTime())).filter(it -> it.getIRmsTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getIRmsTime())).filter(it -> it.getIRmsTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.v_thd: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVThdTime())).filter(it -> it.getVThdTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVThdTime())).filter(it -> it.getVThdTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.v_1_v: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVTime())).filter(it -> it.getVTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVTime())).filter(it -> it.getVTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.phasic_v_1: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getV1PhasicTime())).filter(it -> it.getV1PhasicTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getV1PhasicTime())).filter(it -> it.getV1PhasicTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.phasic_rate_x: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVPhasicTime())).filter(it -> it.getVPhasicTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVPhasicTime())).filter(it -> it.getVPhasicTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.v_rate: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVHarmTime())).filter(it -> it.getVHarmTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVHarmTime())).filter(it -> it.getVHarmTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.in_v_rate: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVInharmTime())).filter(it -> it.getVInharmTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVInharmTime())).filter(it -> it.getVInharmTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.v_zero: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVZeroTime())).filter(it -> it.getVZeroTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVZeroTime())).filter(it -> it.getVZeroTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.v_neg: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVNegTime())).filter(it -> it.getVNegTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVNegTime())).filter(it -> it.getVNegTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.v_pos: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVPosTime())).filter(it -> it.getVPosTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVPosTime())).filter(it -> it.getVPosTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.v_unbalance: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getVUnbalanceTime())).filter(it -> it.getVUnbalanceTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getVUnbalanceTime())).filter(it -> it.getVUnbalanceTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.fluc: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getFlucTime())).filter(it -> it.getFlucTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getFlucTime())).filter(it -> it.getFlucTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.pst: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getPstTime())).filter(it -> it.getPstTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getPstTime())).filter(it -> it.getPstTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.plt: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getPltTime())).filter(it -> it.getPltTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getPltTime())).filter(it -> it.getPltTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.pf: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getPfTime())).filter(it -> it.getPfTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getPfTime())).filter(it -> it.getPfTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.Voltage_Dip: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getDipTime())).filter(it -> it.getDipTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getDipTime())).filter(it -> it.getDipTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; case Param.Voltage_Rise: - ids = dataVerifyList.stream().filter(x-> ObjUtil.isNotNull(x.getRiseTime())).filter(it -> it.getRiseTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); + ids = dataVerifyList.stream().filter(x -> ObjUtil.isNotNull(x.getRiseTime())).filter(it -> it.getRiseTime() > errorTimeCount).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; default: @@ -747,7 +782,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl list.getLineIndexes().stream()).collect(Collectors.toList()); } if (!CollectionUtils.isEmpty(lineIndexes)) { - resultList = deviceMapper.getRunManageList(lineIndexes, runManageParam.getComFlag(),runManageParam.getRunFlag(), Objects.isNull(runManageParam.getSearchValue())?null:runManageParam.getSearchValue()); + resultList = deviceMapper.getRunManageList(lineIndexes, runManageParam.getComFlag(),Objects.isNull(runManageParam.getRunFlag())?new ArrayList<>():runManageParam.getRunFlag(), Objects.isNull(runManageParam.getSearchValue())?null:runManageParam.getSearchValue()); if(CollUtil.isNotEmpty(resultList)){ List objIds = resultList.stream().map(RunManageVO::getObjId).collect(Collectors.toList()); Map runManageVOMap = userLedgerFeignClient.getUserReportByIds(objIds).getData().stream().collect(Collectors.toMap(NewUserReportVO::getId,Function.identity())); diff --git a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/LineMapper.xml b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/LineMapper.xml index 02a79adac..3831aff44 100644 --- a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/LineMapper.xml +++ b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/LineMapper.xml @@ -562,7 +562,7 @@ detail.Short_Capacity, detail.Standard_Capacity, detail.Deal_Capacity, - detail.Business_Type, + detail.Business_Type businessType, detail.Calssification_Grade, detail.Superiors_Substation, detail.Hang_Line, @@ -571,7 +571,8 @@ detail.obj_id, detail.big_obj_type, detail.small_obj_type, - detail.Power_Flag powerFlag + detail.Power_Flag powerFlag, + detail.Power_Substation_Name powerSubstationName FROM pq_line line, pq_line_detail detail, diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml index c21cdd918..b138f6ac5 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml @@ -5,8 +5,10 @@