From d9d47271a8c55353717f4160cfedf13956d89c8f Mon Sep 17 00:00:00 2001 From: wurui Date: Thu, 2 Mar 2023 16:24:44 +0800 Subject: [PATCH] =?UTF-8?q?pm=E9=85=8D=E7=BD=91-=E7=9B=91=E6=B5=8B?= =?UTF-8?q?=E7=82=B9=E6=95=B0=E6=8D=AE=E8=B4=A8=E9=87=8F=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/pms/pojo/po/RStatDevSignalD.java | 2 +- .../device/pms/pojo/vo/RStatDevSignalVO.java | 2 +- .../distribution/PwROperatingIndexMapper.java | 3 +- .../mapping/PwROperatingIndexMapper.xml | 658 +++++++++--------- .../impl/PwDataQualityStatServiceImpl.java | 26 +- .../impl/DataQualityStatServiceImpl.java | 3 +- .../impl/RMpDevSolveDetailServiceImpl.java | 2 +- .../impl/RStatDevSignalDServiceImpl.java | 26 +- 8 files changed, 385 insertions(+), 337 deletions(-) diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatDevSignalD.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatDevSignalD.java index ded4c8ff1..b476949a4 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatDevSignalD.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatDevSignalD.java @@ -34,7 +34,7 @@ public class RStatDevSignalD implements Serializable { /** * 更新时间 */ - private Date updateTime; + private String updateTime; private static final long serialVersionUID = 1L; } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatDevSignalVO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatDevSignalVO.java index 05b4d5000..d11d76694 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatDevSignalVO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatDevSignalVO.java @@ -41,5 +41,5 @@ public class RStatDevSignalVO { private String port; //端口 @ApiModelProperty(name = "updateTime", value = "最后通讯时间") - private Date updateTime; //最后通讯时间 + private String updateTime; //最后通讯时间 } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwROperatingIndexMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwROperatingIndexMapper.java index 6337fa2b0..1a33f28bc 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwROperatingIndexMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwROperatingIndexMapper.java @@ -39,7 +39,8 @@ public interface PwROperatingIndexMapper { * @date 2022/11/7 */ List getSeasonInfo(@Param(("param")) StatisticsBizBaseParam param, - @Param(("deptIdList")) List deptIdList); + @Param(("deptIdList")) List deptIdList, + @Param(("dates")) List dates); /** * 获取配网数据质量-监测指标数据质量统计(月) diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwROperatingIndexMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwROperatingIndexMapper.xml index af1b135c1..ba7b8a371 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwROperatingIndexMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwROperatingIndexMapper.xml @@ -2,357 +2,369 @@ - - z.org_no IN - - #{item} - - - AND DATE_FORMAT(z.data_date, '%Y-%m-%d') >= DATE_FORMAT(#{param.startTime}, '%Y-%m-%d') - - - AND DATE_FORMAT(z.data_date, '%Y-%m-%d') <= DATE_FORMAT(#{param.endTime}, '%Y-%m-%d') - - diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityStatServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityStatServiceImpl.java index af3f058b6..c0736e1f2 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityStatServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityStatServiceImpl.java @@ -1,10 +1,10 @@ package com.njcn.device.pms.service.distribution.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.param.StatisticsBizBaseParam; -import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.mapper.distribution.PwROperatingIndexMapper; import com.njcn.device.pms.mapper.majornetwork.RQualityParameterMapper; import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO; @@ -25,10 +25,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -135,8 +132,23 @@ public class PwDataQualityStatServiceImpl implements PwDataQualityStatService { break; // 季 case BizParamConstant.STAT_BIZ_QUARTER: + //获取时间月 + Date startDate=DateUtil.parse(param.getStartTime(),"yyyy-MM-dd"); + Date endDate=DateUtil.parse(param.getEndTime(),"yyyy-MM-dd"); + // 声明保存日期集合 + List dates = new ArrayList<>(); + Calendar calendar = Calendar.getInstance(); + while (startDate.getTime() <= endDate.getTime()) { + // 设置日期Calendar.YEAR + calendar.setTime(startDate); + dates.add(calendar.get(Calendar.MONTH)+1+""); + //把月数增加 1 + calendar.add(Calendar.MONTH, 1); + // 获取增加后的日期 + startDate = calendar.getTime(); + } result = rOperatingIndexMapper.getSeasonInfo(param, - deptIdList); + deptIdList,dates); break; // 月 case BizParamConstant.STAT_BIZ_MONTH: @@ -225,4 +237,6 @@ public class PwDataQualityStatServiceImpl implements PwDataQualityStatService { .stream() .collect(Collectors.toMap(PmsGeneralDeviceDTO::getIndex, PmsGeneralDeviceDTO -> PmsGeneralDeviceDTO)); } + + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityStatServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityStatServiceImpl.java index a909e669d..6b7f81c47 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityStatServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityStatServiceImpl.java @@ -64,8 +64,7 @@ public class DataQualityStatServiceImpl implements DataQualityStatService { */ @Override public List getLedgerDataQualityStat(StatisticsBizBaseParam param) { -// // 获取当前用户的部门的子部门信息 -// List data = getPmsGeneralDeviceDTOList(param); + // 获取当前用户的部门的子部门信息 /*获取下级子部门信息*/ List deptDTOList = deptFeignClient.getDepSonDetailByDeptId (param.getId ()).getData ( ); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RMpDevSolveDetailServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RMpDevSolveDetailServiceImpl.java index 650e50a85..ddd74c614 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RMpDevSolveDetailServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RMpDevSolveDetailServiceImpl.java @@ -59,7 +59,7 @@ public class RMpDevSolveDetailServiceImpl extends ServiceImpl deptDTOList = deptFeignClient.getDeptDescendantIndexes(id, WebUtil.filterDeptType()).getData(); + List deptDTOList = deptFeignClient.getDepSonDetailByDeptId(id).getData(); /*获取下一级子部门信息*/ // List deptDTOList = deptFeignClient.getDepSonDetailByDeptId (id).getData ( ); if (CollUtil.isEmpty(deptDTOList)) { diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RStatDevSignalDServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RStatDevSignalDServiceImpl.java index 6283ecde9..bd6aaedb8 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RStatDevSignalDServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RStatDevSignalDServiceImpl.java @@ -1,8 +1,10 @@ package com.njcn.device.pms.service.majornetwork.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +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.pms.pojo.param.RStatDevSignalParam; @@ -12,6 +14,7 @@ import com.njcn.device.pms.pojo.vo.RStatDevSignalVO; import com.njcn.device.pms.service.majornetwork.ITerminalService; import com.njcn.device.pms.service.majornetwork.RStatDevSignalDService; import com.njcn.device.pms.mapper.majornetwork.RStatDevSignalDMapper; +import com.njcn.event.pojo.po.RStatEventOrgQ; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.dto.DeptDTO; import com.njcn.web.utils.WebUtil; @@ -64,6 +67,7 @@ public class RStatDevSignalDServiceImpl extends ServiceImpl terminalWrapper = new LambdaQueryWrapper<>(); terminalWrapper.in(PmsTerminal::getOrgId, orgCodeList) + .eq(PmsTerminal::getStatus, DataStateEnum.ENABLE.getCode()) .like(StringUtils.isNotBlank(deviceName), PmsTerminal::getName, deviceName); List terminalList = iTerminalService.list(terminalWrapper); //提取终端id @@ -85,15 +89,33 @@ public class RStatDevSignalDServiceImpl extends ServiceImpl signalMap = list.stream().collect(Collectors.toMap(RStatDevSignalD::getDeviceId, terminal -> terminal)); + + List notList = terminalList.stream().filter(r -> !signalMap.containsKey(r.getId())) + .collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(notList)){ + RStatDevSignalVO rStatDevSignalVO ; + for (PmsTerminal terminal : notList) { + rStatDevSignalVO = new RStatDevSignalVO(); + rStatDevSignalVO.setTerminalId(terminal.getId()); + rStatDevSignalVO.setOrgId(terminal.getOrgId()); + rStatDevSignalVO.setOrgName(terminal.getOrgName()); + rStatDevSignalVO.setTerminalName(terminal.getName()); + rStatDevSignalVO.setDeviceStatus("/"); + rStatDevSignalVO.setRunStatus("/"); + rStatDevSignalVO.setIp(terminal.getIp()); + rStatDevSignalVO.setPort(terminal.getPort()); + rStatDevSignalVO.setUpdateTime("/"); + resultList.add(rStatDevSignalVO); + } + } return resultList; } }