diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java index bc19b7658..0f818505b 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java @@ -305,9 +305,12 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService // 3. 发送流程实例的状态事件 // 注意:此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance - HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId()); - processInstanceEventPublisher.sendProcessInstanceResultEvent( - BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance, processInstanceStatus)); + // 在审核不通过时,会触该信息,设置在审核通过时,才发送 + if(BpmProcessInstanceStatusEnum.APPROVE.getStatus()==processInstanceStatus){ + HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId()); + processInstanceEventPublisher.sendProcessInstanceResultEvent( + BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance, processInstanceStatus)); + } } @Override diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java index 0277cc13e..0af9a4550 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java @@ -555,4 +555,6 @@ public interface LineMapper extends BaseMapper { List getNoDataLine(@Param("time")String time); List getReportLineInfo(@Param("ids")List ids); + + List getSubByCondition(@Param("subIds") List subIds, @Param("scale") List scale); } 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 56be71c32..2338fb1f0 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 @@ -268,7 +268,8 @@ pq_line t1 , pq_line_detail t2 where - t1.id = t2.id + t1.state = 1 + and t1.id = t2.id and t1.id in @@ -1723,4 +1724,24 @@ + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java index 2f0ca59f1..c48158ad5 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java @@ -132,6 +132,14 @@ public interface TerminalBaseService { */ List getVoltageByCondition(List voltageIds, List scale); + /** + * 查询变电站信息 + * + * @param subIds 变电站索引 + * @param scale 电压等级 + */ + List getSubByCondition(List subIds, List scale); + /** * 根据指定电压等级查询母线id * diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java index 9a97e455d..db6f784fb 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java @@ -434,8 +434,15 @@ public class GeneralDeviceService { //再根据电压等级筛选合法母线信息 List voltages = terminalBaseService.getVoltageByCondition(voltageIds, deviceInfoParam.getScale()); + //筛选出变电站id,理论上监测点的pids中第四个id为变电站id 联查: pq_line t1 ,pq_substation t2 + List subIds = lines.stream().map(line -> { + String[] idsArray = line.getPids().split(","); + return idsArray[3]; + }).collect(Collectors.toList()); + List sub = terminalBaseService.getSubByCondition(subIds, + deviceInfoParam.getScale()); //筛选最终的数据 - dealDeviceData(generalDeviceDTO, lines, devices, voltages); + dealDeviceData(generalDeviceDTO, lines, devices, voltages, sub); return generalDeviceDTO; } @@ -447,15 +454,18 @@ public class GeneralDeviceService { * @param devices 筛选后的终端信息 * @param voltages 筛选后的母线信息 */ - private void dealDeviceData(GeneralDeviceDTO generalDeviceDTO, List lines, List devices, List voltages) { + private void dealDeviceData(GeneralDeviceDTO generalDeviceDTO, List lines, List devices, List voltages, List sub) { List gdIndexes = new ArrayList<>(), subIndexes = new ArrayList<>(), deviceIndexes = new ArrayList<>(), voltageIndexes = new ArrayList<>(), lineIndexes = new ArrayList<>(); List devIds = devices.stream().map(Line::getId).distinct().collect(Collectors.toList()); List volIds = voltages.stream().map(Line::getId).distinct().collect(Collectors.toList()); + List subIds = sub.stream().map(Line::getId).distinct().collect(Collectors.toList()); for (Line line : lines) { String[] idsArray = line.getPids().split(","); //监测点同时满足条件筛选后的终端、母线信息,才是最终的结果 if (devIds.contains(idsArray[LineBaseEnum.DEVICE_LEVEL.getCode()]) && - volIds.contains(idsArray[LineBaseEnum.SUB_V_LEVEL.getCode()])) { + volIds.contains(idsArray[LineBaseEnum.SUB_V_LEVEL.getCode()])&& + subIds.contains(idsArray[LineBaseEnum.SUB_LEVEL.getCode()]) + ) { gdIndexes.add(idsArray[LineBaseEnum.GD_LEVEL.getCode()]); subIndexes.add(idsArray[LineBaseEnum.SUB_LEVEL.getCode()]); deviceIndexes.add(idsArray[LineBaseEnum.DEVICE_LEVEL.getCode()]); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java index a58abf93f..c05c6cc2b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java @@ -296,12 +296,14 @@ public class GridDiagramServiceImpl implements GridDiagramService { //根据步进单位获取起始日期时间和结束日期时间的时间区间集合 List dateTimes = DateUtil.rangeToList(parse, DateUtil.parse(param.getSearchEndTime()), dateField); List times; + //终端分布趋势 if (4 == type) { List devIDs = generalDeviceDTOList.stream().flatMap(x -> x.getDeviceIndexes().stream()).distinct().collect(Collectors.toList()); List list = deviceService.list(new LambdaQueryWrapper().select(Device::getLoginTime).in(CollUtil.isNotEmpty(devIDs), Device::getId, devIDs).eq(Device::getRunFlag, 0)); times = list.stream().map(x -> Date.from(x.getLoginTime().atStartOfDay(ZoneId.systemDefault()).toInstant())).collect(Collectors.toList()); } else { List ids; + //监测点分布趋势 if (type == 3) { ids = generalDeviceDTOList.stream().flatMap(x -> x.getSubIndexes().stream()).distinct().collect(Collectors.toList()); } else { diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java index 986eae1a8..9d2360c0a 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java @@ -1491,6 +1491,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple return this.baseMapper.getVoltageByCondition(voltageIds, scale); } + @Override + public List getSubByCondition(List subIds, List scale) { + return this.baseMapper.getSubByCondition(subIds, scale); + } + @Override public List getVoltageIdByScale(List voltageIds, String scale) { return this.baseMapper.getVoltageIdByScale(voltageIds, scale); diff --git a/pqs-harmonic/harmonic-boot/src/main/resources/file/reportModel.docx b/pqs-harmonic/harmonic-boot/src/main/resources/file/reportModel.docx index b88c90e8e..f9aed023d 100644 Binary files a/pqs-harmonic/harmonic-boot/src/main/resources/file/reportModel.docx and b/pqs-harmonic/harmonic-boot/src/main/resources/file/reportModel.docx differ diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/UserReportVO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/UserReportVO.java index bcd045f2b..362d65fb6 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/UserReportVO.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/UserReportVO.java @@ -162,6 +162,8 @@ public class UserReportVO { private UserReportSubstationPO userReportSubstationPO; + @ApiModelProperty(value = "true可以点击治理 false不可以点击治理 ") + private Boolean type; @Data diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java index 324a75118..12507e293 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java @@ -1,10 +1,13 @@ package com.njcn.supervision.service.device.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.text.StrPool; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -22,17 +25,24 @@ import com.njcn.device.pq.api.TerminalBaseClient; import com.njcn.device.pq.pojo.param.*; import com.njcn.device.pq.pojo.po.Line; import com.njcn.supervision.enums.SupervisionKeyEnum; +import com.njcn.supervision.enums.UserNatureEnum; import com.njcn.supervision.mapper.device.SupervisionTempLineDebugPOMapper; +import com.njcn.supervision.mapper.user.UserReportNormalMapper; import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam; import com.njcn.supervision.pojo.po.device.SupervisionTempDeviceReport; import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO; import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport; +import com.njcn.supervision.pojo.po.user.UserReportNormalPO; +import com.njcn.supervision.pojo.po.user.UserReportPO; import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO; import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO; -import com.njcn.supervision.service.device.SupervisionDevMainReportPOService; import com.njcn.supervision.service.device.SupervisionTempDeviceReportService; import com.njcn.supervision.service.device.SupervisionTempLineDebugPOService; import com.njcn.supervision.service.device.SupervisionTempLineReportService; +import com.njcn.supervision.service.user.UserReportPOService; +import com.njcn.supervision.service.user.UserReportProjectPOService; +import com.njcn.supervision.service.user.UserReportSensitivePOService; +import com.njcn.supervision.service.user.UserReportSubstationPOService; import com.njcn.supervision.utils.InstanceUtil; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.api.DictTreeFeignClient; @@ -66,20 +76,20 @@ public class SupervisionTempLineDebugPOServiceImpl extends ServiceImpl list = userReportNormalMapper.selectList(new LambdaQueryWrapper() + .eq(UserReportNormalPO::getUserReportId, temp.getId()) + .eq(UserReportNormalPO::getState, DataStateEnum.ENABLE.getCode()) + .ne(UserReportNormalPO::getStatus, BpmTaskStatusEnum.CANCEL.getStatus()) + .orderByDesc(UserReportNormalPO::getCreateTime) + ); + if (CollUtil.isNotEmpty(list)) { + Optional netInReport = list.stream().filter(x -> 0 == x.getType()).findFirst(); + if(netInReport.isPresent()){ + if(netInReport.get().getStatus()!=2){ + throw new BusinessException("最新入网验收方案流程,暂未审核通过!"); + } + }else{ + throw new BusinessException("请填写入网验收方案流程,审核通过后方可操作!"); + } + if (needGovernance == 1) { + Optional governReport = list.stream().filter(x -> 1 == x.getType()).findFirst(); + if(governReport.isPresent()){ + if(governReport.get().getStatus()!=2){ + throw new BusinessException("最新治理工程验收方案流程,暂未审核通过!"); + } + }else{ + throw new BusinessException("请填写治理工程验收方案流程,审核通过后方可操作!"); + } + } + } else { + throw new BusinessException("请上传,入网设计方案或者治理工程验收方案"); + } //获取关联的设备信息 SupervisionTempDeviceReport tempDevice = supervisionTempDeviceReportService.getById(tempLine.getMonitoringTerminalCode()); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java index aa4741eba..e8c551c45 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java @@ -361,7 +361,7 @@ public class WarningLeafletServiceImpl extends ServiceImpl warningLeafletVOPage = this.baseMapper.alarmPageData(new Page<>(PageFactory.getPageNum(warningLeafletQueryParam), PageFactory.getPageSize(warningLeafletQueryParam)), warningLeafletVOQueryWrapper); //目前仅知道现场测试超标会有附件 diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportNormalServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportNormalServiceImpl.java index d9fabedfe..eb4cc28a5 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportNormalServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportNormalServiceImpl.java @@ -14,7 +14,6 @@ import com.njcn.bpm.pojo.dto.BpmInstanceInfo; import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO; import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; import com.njcn.common.pojo.enums.common.DataStateEnum; -import com.njcn.common.pojo.exception.BusinessException; import com.njcn.supervision.enums.SupervisionKeyEnum; import com.njcn.supervision.mapper.user.UserReportNormalMapper; import com.njcn.supervision.pojo.param.user.UserReportNormalParam; @@ -57,26 +56,6 @@ public class UserReportNormalServiceImpl extends ServiceImpl list = this.list(new LambdaQueryWrapper() - .eq(UserReportNormalPO::getUserReportId, userReportNormalParam.getUserReportId()) - .eq(UserReportNormalPO::getState, DataStateEnum.ENABLE.getCode()) - .ne(UserReportNormalPO::getStatus, BpmTaskStatusEnum.CANCEL.getStatus()) - .eq(UserReportNormalPO::getType, 0) - .orderByDesc(UserReportNormalPO::getCreateTime) - ); - if(CollUtil.isNotEmpty(list)){ - List collect = list.stream().filter(x -> Objects.equals(x.getStatus(), BpmTaskStatusEnum.APPROVE.getStatus())) - .map(UserReportNormalPO::getId) - .collect(Collectors.toList()); - if(CollUtil.isNotEmpty(collect)){ - throw new BusinessException("入网方案申请未都通过!"); - } - }else{ - throw new BusinessException("请先进行入网方案申请!"); - } - } UserReportNormalPO userReportNormalPO = new UserReportNormalPO(); BeanUtil.copyProperties(userReportNormalParam, userReportNormalPO); userReportNormalPO.setState(DataStateEnum.ENABLE.getCode()); @@ -143,13 +122,10 @@ public class UserReportNormalServiceImpl extends ServiceImpl userReportGoNetPage(UserReportNormalParam userReportNormalParam) { Page pageResult = new Page<>(); - - List colleaguesIds = userFeignClient.getColleaguesIdByUserId(RequestUtil.getUserIndex()).getData(); if (CollUtil.isEmpty(colleaguesIds)) { return pageResult; } - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.orderByDesc(UserReportNormalPO::getCreateTime) .eq(UserReportNormalPO::getType, userReportNormalParam.getType()) diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java index 390b62ae8..4e8336b8c 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java @@ -110,16 +110,16 @@ public class UserReportPOServiceImpl extends ServiceImpl x.between("supervision_user_report.expected_production_date", - DateUtil.beginOfDay(DateUtil.parse(userReportQueryParam.getSearchBeginTime())), - DateUtil.endOfDay(DateUtil.parse(userReportQueryParam.getSearchEndTime()))) + DateUtil.beginOfDay(DateUtil.parse(userReportQueryParam.getSearchBeginTime())), + DateUtil.endOfDay(DateUtil.parse(userReportQueryParam.getSearchEndTime()))) .or() .isNull("supervision_user_report.expected_production_date")); } @@ -361,8 +361,10 @@ public class UserReportPOServiceImpl extends ServiceImpl 0==x.getType()).map(UserReportNormalPO::getReportUrl).collect(Collectors.toList())); - userReportVO.setGovernReport(list.stream().filter(x -> 1==x.getType()).map(UserReportNormalPO::getReportUrl).collect(Collectors.toList())); + Optional netInReport = list.stream().filter(x -> 0 == x.getType()).map(UserReportNormalPO::getReportUrl).findFirst(); + Optional governReport = list.stream().filter(x -> 1 == x.getType()).map(UserReportNormalPO::getReportUrl).findFirst(); + userReportVO.setNetInReport(Arrays.asList(netInReport.isPresent() ? netInReport.get() : null)); + userReportVO.setGovernReport(Arrays.asList(governReport.isPresent() ? governReport.get() : null)); return userReportVO; } @@ -433,13 +435,13 @@ public class UserReportPOServiceImpl extends ServiceImpl page; - if(!allDataFlag){ - page= this.baseMapper.page(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper); - }else{ + if (!allDataFlag) { + page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper); + } else { page = this.baseMapper.pageUpdate(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper); } - page.getRecords().forEach(temp->{ + page.getRecords().forEach(temp -> { Integer needGovernance = 0; if ( CollectionUtil.newArrayList( @@ -462,8 +464,29 @@ public class UserReportPOServiceImpl extends ServiceImpl list = userReportNormalMapper.selectList(new LambdaQueryWrapper() + .eq(UserReportNormalPO::getUserReportId, temp.getId()) + .eq(UserReportNormalPO::getState, DataStateEnum.ENABLE.getCode()) + .ne(UserReportNormalPO::getStatus, BpmTaskStatusEnum.CANCEL.getStatus()) + .eq(UserReportNormalPO::getType, 0) + .orderByDesc(UserReportNormalPO::getCreateTime) + ); + if (CollUtil.isNotEmpty(list)) { + List collect = list.stream().filter(x -> !Objects.equals(x.getStatus(), BpmTaskStatusEnum.APPROVE.getStatus())) + .map(UserReportNormalPO::getId) + .collect(Collectors.toList()); + if (CollUtil.isNotEmpty(collect)) { + type = false; + } + } else { + type = false; + } + } + temp.setType(type); }); return page; } @@ -659,7 +682,7 @@ public class UserReportPOServiceImpl extends ServiceImpl sensitiveUserExcels=new ArrayList<>(); + List sensitiveUserExcels = new ArrayList<>(); try { ExcelImportResult sensitiveUserExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), SensitiveUserSExcel.class, params); //如果存在非法数据,将不合格的数据导出 @@ -859,7 +882,7 @@ public class UserReportPOServiceImpl extends ServiceImpl sensitiveUserExcels=new ArrayList<>(); + List sensitiveUserExcels = new ArrayList<>(); try { ExcelImportResult sensitiveUserExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), SensitiveReportExcel.class, params); //如果存在非法数据,将不合格的数据导出