diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/DeptGetChildrenDTO.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/DeptGetChildrenDTO.java index 62f728467..6126d8e06 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/DeptGetChildrenDTO.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/DeptGetChildrenDTO.java @@ -1,5 +1,6 @@ package com.njcn.device.biz.pojo.dto; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @@ -13,12 +14,18 @@ import java.util.List; @Data public class DeptGetChildrenDTO { + @ApiModelProperty(name = "deptId",value = "部门id") private String deptId; + @ApiModelProperty(name = "deptId",value = "部门名称") private String deptName; + @ApiModelProperty(name = "deptChildren",value = "子集部门code集合") private List deptChildren; + @ApiModelProperty(name = "lineIds",value = "监测点信息") private List lineIds; + @ApiModelProperty(name = "pwMonitorIds",value = "配网监测点信息") + private List pwMonitorIds; } diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/param/DeptGetLineParam.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/param/DeptGetLineParam.java index d92bae4fe..e9a3d75b5 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/param/DeptGetLineParam.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/param/DeptGetLineParam.java @@ -20,7 +20,6 @@ public class DeptGetLineParam { @ApiModelProperty(name = "deptId",value = "部门id") private String deptId; - @NotBlank(message = "系统类型不可为空") @ApiModelProperty(name = "serverName",value = "系统类型 0.event-boot 1.harmonic-boot") private String serverName; diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/DeptMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/DeptMonitorController.java new file mode 100644 index 000000000..94154c611 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/DeptMonitorController.java @@ -0,0 +1,50 @@ +package com.njcn.device.pms.controller.ledgerManger; + +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.device.biz.pojo.param.DeptGetLineParam; +import com.njcn.device.pms.service.majornetwork.IMonitorService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author wr + * @description + * @date 2023/4/26 10:00 + */ +@RestController +@RequestMapping("/commTerminal") +@RequiredArgsConstructor +@Slf4j +@Api(tags = "通用台账-所有子孙部门以及监测点") +public class DeptMonitorController extends BaseController { + + private final IMonitorService monitorService; + + /** + * 通过部门获取所有子集部门所拥有的监测点 + * + * @author wr + * @date 2023/4/26 + */ + @PostMapping("/deptGetLineIds") + @ApiImplicitParam(name = "param", value = "请求参数", required = true) + public HttpResult> deptGetLineList(@RequestBody @Validated DeptGetLineParam param) { + String methodDescribe = getMethodDescribe("deptGetLineList"); + List monitor = monitorService.deptMonitor(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe); + } + +} 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 fa5671017..ee7685a74 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 @@ -3,6 +3,8 @@ package com.njcn.device.pms.service.majornetwork; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.common.pojo.dto.SimpleDTO; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; @@ -133,4 +135,11 @@ public interface IMonitorService extends IService { * @return MonitorVO */ MonitorVO monitorTerminal(MonitorTerminalParam param); + + + /** + * 根据部门id获取监测点信息 + * @return + */ + List deptMonitor(DeptGetLineParam param); } 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 0bea99c69..e7934193d 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 @@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.enums.common.DataStateEnum; 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; import com.njcn.device.pms.enums.PmsDeviceResponseEnum; import com.njcn.device.pms.mapper.majornetwork.*; @@ -28,6 +30,7 @@ import com.njcn.device.pq.pojo.po.Overlimit; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.SystemResponseEnum; import com.njcn.system.pojo.po.DictData; +import com.njcn.user.pojo.dto.DeptDTO; import com.njcn.user.pojo.po.Dept; import com.njcn.web.factory.PageFactory; import lombok.RequiredArgsConstructor; @@ -37,12 +40,10 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; +import java.util.stream.Stream; /** *

@@ -321,6 +322,67 @@ public class MonitorServiceImpl extends ServiceImpl impl return monitorTerminal; } + @Override + public List deptMonitor(DeptGetLineParam param) { + //返回主网和配网监测信息 + List deviceInfos = new ArrayList<>(); + List deptInfos = deptFeignClient.getDeptDescendantIndexes(param.getDeptId(), Stream.of(0,1).collect(Collectors.toList())).getData(); + List directDeptInfos = deptInfos.stream() + .filter(deptDTO -> deptDTO.getPid().equals(param.getDeptId())) + .collect(Collectors.toList()); + if (CollUtil.isEmpty(directDeptInfos)) { + //没有直接子部门,获取当前部门所有信息 + List dept = deptInfos.stream() + .filter(deptDTO -> deptDTO.getId().equals(param.getDeptId())) + .collect(Collectors.toList()); + deviceInfos.add(getPmsMonitor(dept.get(0), Collections.singletonList(dept.get(0).getCode()))); + }else{ + for (DeptDTO deptDTO : directDeptInfos) { + //筛选上级部门pids包含该id的所有部门 + List descendantDeptDTO = deptInfos.stream() + .filter(d -> d.getPids().contains(deptDTO.getId())) + .collect(Collectors.toList()); + //形成需要查询监测点的部门索引 + List deptIdList = descendantDeptDTO.stream() + .map(DeptDTO::getCode) + .distinct() + .collect(Collectors.toList()); + deptIdList.add(deptDTO.getCode()); + deviceInfos.add(getPmsMonitor(deptDTO, deptIdList)); + } + } + return deviceInfos; + } + + /** + * 获取主配网监测点id集合 + * @param deptDTO + * @param deptIdList + * @return + */ + private DeptGetChildrenDTO getPmsMonitor(DeptDTO deptDTO, List deptIdList) { + DeptGetChildrenDTO pmsDeptGetChildrenDTO = new DeptGetChildrenDTO(); + pmsDeptGetChildrenDTO.setDeptId(deptDTO.getCode()); + if (deptDTO.getType() == 0) { + pmsDeptGetChildrenDTO.setDeptName(deptDTO.getArea()); + } else { + pmsDeptGetChildrenDTO.setDeptName(deptDTO.getName()); + } + pmsDeptGetChildrenDTO.setDeptChildren(deptIdList); + if(CollUtil.isNotEmpty(deptIdList)){ + //主网监测点 + List monitorList = this.list(new LambdaQueryWrapper().in(CollUtil.isNotEmpty(deptIdList),Monitor::getOrgId, deptIdList)); + //配网监测点 + List pwMonitorList = iDistributionMonitorService.getMonitorByCondition(deptIdList,null); + + pmsDeptGetChildrenDTO.setLineIds(monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList())); + pmsDeptGetChildrenDTO.setPwMonitorIds(pwMonitorList.stream().map(PmsMonitorBaseDTO::getMonitorId).distinct().collect(Collectors.toList())); + }else{ + pmsDeptGetChildrenDTO.setLineIds(new ArrayList<>()); + pmsDeptGetChildrenDTO.setPwMonitorIds(new ArrayList<>()); + } + return pmsDeptGetChildrenDTO; + } private void checkParam(MonitorParam monitorParam, boolean update) { diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/EventPushLogs.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/EventPushLogs.java index aebce0cae..ffba6966c 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/EventPushLogs.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/EventPushLogs.java @@ -1,10 +1,11 @@ package com.njcn.device.pq.pojo.po; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import org.influxdb.annotation.Column; -import org.influxdb.annotation.Measurement; -import java.time.Instant; +import java.time.LocalDateTime; /** * @version 1.0.0 @@ -12,27 +13,25 @@ import java.time.Instant; * @date: 2022/06/09 11:00 */ @Data -@Measurement(name = "pqs_event_push_logs") +@TableName("cld_event_push_log") public class EventPushLogs { - @Column(name = "time") - private Instant timeId; + @TableId("Time_Id") + private LocalDateTime timeId; - @Column(name = "line_id") + @TableField("Line_Id") private String lineId; - @Column(name = "create_time") - private String createTime; + @TableField("Create_Time") + private LocalDateTime createTime; - @Column(name = "update_time") - private String updateTime; + @TableField("Update_Time") + private LocalDateTime updateTime; - @Column(name = "push_failed") + @TableField("Push_Failed") private Integer pushFailed; - @Column(name = "result") + @TableField("Result") private Integer result; - - } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalDaliyFlowVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalDaliyFlowVO.java index 9f7b2f3b0..d234eaba4 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalDaliyFlowVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalDaliyFlowVO.java @@ -1,5 +1,6 @@ package com.njcn.device.pq.pojo.vo; +import com.njcn.device.pq.pojo.po.DevFuction; import com.njcn.device.pq.pojo.po.influxdb.DeviceDayFlow; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -32,6 +33,8 @@ public class TerminalDaliyFlowVO { private Float flowMeal; @ApiModelProperty(name = "deviceDayFlowsList",value = "装置日流量统计集合") private List deviceDayFlowsList; + @ApiModelProperty(name = "functions",value = "装置功能码集合") + private List functions; } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GeneralDeviceInfoController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GeneralDeviceInfoController.java index 0b0db98ae..ee52b01a2 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GeneralDeviceInfoController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GeneralDeviceInfoController.java @@ -149,7 +149,6 @@ public class GeneralDeviceInfoController extends BaseController { @ApiImplicitParams({ @ApiImplicitParam(name = "deviceInfoParam", value = "查询终端条件", required = true) }) - @Deprecated public HttpResult> getPracticalRunDeviceInfo(@RequestBody @Validated DeviceInfoParam deviceInfoParam) { String methodDescribe = getMethodDescribe("getPracticalRunDeviceInfo"); List deptDeviceInfos = generalDeviceService.getDeviceInfo(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList())); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/OperationContrController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/OperationContrController.java index 447480e3e..edaf1d204 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/OperationContrController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/OperationContrController.java @@ -104,7 +104,7 @@ public class OperationContrController extends BaseController { @PostMapping("/getNewDeviceRunStatistics") @ApiOperation("获取终端运行统计_新") @ApiImplicitParam(name = "deviceInfoParam", value = "实体", required = true) - public HttpResult> getNewDeviceRunStatistics(@RequestBody PqsParam deviceInfoParam){ + public HttpResult> getNewDeviceRunStatistics(@RequestBody PqsParam deviceInfoParam) { String methodDescribe = getMethodDescribe("getDeviceRunStatistics"); if (deviceInfoParam.getDeptIndex() == null) { DeviceInfoParam param = new DeviceInfoParam(RequestUtil.getDeptIndex(),null); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java index 3c61a3904..8cedbe032 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java @@ -306,6 +306,18 @@ public class TerminalBaseController extends BaseController { terminalBaseService.downTerminalTemplate(response); } + /** + * 导出台账生成的excel(离线装置) + * + * @author zbj + * @date 2023/4/26 + */ + @ApiOperation("导出台账模板(离线装置)") + @GetMapping(value = "downTerminalAutonomeTemplate") + public void downTerminalAutonomeTemplate(HttpServletResponse response) { + terminalBaseService.downTerminalAutonomeTemplate(response); + } + /** * 导入excel台账模板 * diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/EventPushLogsMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/EventPushLogsMapper.java new file mode 100644 index 000000000..7dfd60b7c --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/EventPushLogsMapper.java @@ -0,0 +1,8 @@ +package com.njcn.device.pq.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pq.pojo.po.EventPushLogs; + + +public interface EventPushLogsMapper extends BaseMapper { +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/EventPushLogsMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/EventPushLogsMapper.xml new file mode 100644 index 000000000..fd2b0d162 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/EventPushLogsMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/RateOfFlowMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/RateOfFlowMapper.xml index 06ede2cc5..d8dda671f 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/RateOfFlowMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/RateOfFlowMapper.xml @@ -38,7 +38,7 @@ `Update_Time` updateTime FROM cld_flow_meal - WHERE Type =0 OR Type =1 AND Flag =1 + WHERE Type =0 AND Flag =1 diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TerminalMaintainMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TerminalMaintainMapper.xml index aa88ddc0c..47df006e1 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TerminalMaintainMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TerminalMaintainMapper.xml @@ -3,39 +3,39 @@ + SELECT + r.line_id AS id, + MAX(r.value) AS data + FROM r_mp_pollution_d r + WHERE r.line_id IN + + #{item} + + AND r.pollution_type = #{pollutionType} + AND r.data_date between #{start} and #{end} + GROUP BY r.line_id + ORDER BY data DESC + LIMIT 0,10 + + + insert into r_mp_pollution_d diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/PollutionSubstationService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/PollutionSubstationService.java index 6e68a1a20..8130557d2 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/PollutionSubstationService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/PollutionSubstationService.java @@ -65,4 +65,7 @@ public interface PollutionSubstationService extends IService getLineRank(HarmonicPublicParam param); + + List getLineRankTop10(HarmonicPublicParam param); + } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java index 0694ee746..db5867cc9 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.harmonic.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -570,7 +571,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl lineList = new ArrayList<>(); PollutionParamDTO paramDTO = new PollutionParamDTO(); @@ -646,6 +647,88 @@ public class PollutionSubstationServiceImpl extends ServiceImpl getLineRankTop10 (HarmonicPublicParam param) { + List list= new ArrayList<>(); + String pollutionType = param.getStatisticalType ( ).getId (); + if(param.getType()==0) { + param.setServerName(generalInfo.getMicroServiceName()); + List lineList = new ArrayList<>(); + PollutionParamDTO paramDTO = new PollutionParamDTO(); + if (StringUtils.isBlank(RequestUtil.getDeptIndex())) { + return list; + } + List deviceList = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData(); + deviceList.forEach(item -> { + if (!CollectionUtils.isEmpty(item.getLineIndexes())) { + lineList.addAll(item.getLineIndexes()); + } + }); + if (!CollectionUtils.isEmpty(lineList)) { + paramDTO.setLineList(lineList); + list = lineFeignClient.getLineInfo(paramDTO).getData(); + List result =rMpPollutionDPOMapper.getTop10Line(lineList,DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())), param.getStatisticalType().getId()); + if (!CollectionUtils.isEmpty(result)) { + list.stream().map(list1 -> result.stream().filter(list2 -> Objects.equals(list1.getId(), list2.getId())).findAny().map(m -> { + list1.setData(m.getData()); + return list1; + })).collect(Collectors.toList()); + } + } + list.sort((item1, item2) -> item2.getData().compareTo(item1.getData())); + if (list.size() > Param.UP_LIMIT) { + return list.subList(Param.DOWN_LIMIT, Param.UP_LIMIT); + } + return list; + } + PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam(); + pmsDeviceInfoParam.setDeptIndex(param.getDeptIndex()); + //获取统计类型 + pmsDeviceInfoParam.setStatisticalType(param.getStatisticalType()); + //获取主网台账信息 + List deviceList = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam).getData(); + List monitorIdList=new ArrayList<>(); + deviceList.forEach(dept -> { + monitorIdList.addAll(dept.getMonitorIdList()); + }); + + if(CollectionUtil.isNotEmpty(monitorIdList)){ + //获取监测点数据 + List lineData = rMpPollutionDPOMapper.selectMaxList ( monitorIdList,pollutionType,param.getSearchBeginTime()); + + if(CollectionUtil.isEmpty(lineData)){ + return list; + } + + //获取主网监测点信息 + List data = monitorClient.getMonitorList(monitorIdList).getData(); + Map monitorMap = data.stream().collect(Collectors.toMap(Monitor::getId, Function.identity(), (key1, kye2) -> key1)); + lineData.sort((item1, item2) -> item2.getValue().compareTo(item1.getValue())); + if (lineData.size() > Param.UP_LIMIT) { + lineData = lineData.subList(Param.DOWN_LIMIT, Param.UP_LIMIT); + } + + PollutionLineDTO dto; + for (RMpPollutionDPO lineDatum : lineData) { + if(monitorMap.containsKey(lineDatum.getLineId())){ + Monitor monitor = monitorMap.get(lineDatum.getLineId()); + dto=new PollutionLineDTO(); + dto.setId(monitor.getId()); + dto.setName(monitor.getName()); + dto.setPowerCompany(monitor.getOrgName()); + dto.setSubstation(monitor.getPowerrId()); + dto.setSubstationId(monitor.getPowerrName()); + dto.setBusBar(monitor.getLineName()); + dto.setData(lineDatum.getValue()); + list.add(dto); + } + } + } + return list; + } + /** * 功能描述:根据监测点id查询influxDB污染指数 * diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java index 1cda20b07..4a11a849b 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java @@ -320,9 +320,6 @@ public class PollutionServiceImpl implements PollutionService { if (!CollUtil.isEmpty(processDataList)){ map.put("pollutionType",dictData.getId()); map.put("value",processDataList.stream().max(Comparator.comparing(RMpPollutionDPO::getValue)).get().getValue()); - }else { - map.put("pollutionType",dictData.getId()); - map.put("value",0); } } diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/DicDataFeignClient.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/DicDataFeignClient.java index 5675e9773..21c42f76c 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/api/DicDataFeignClient.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/DicDataFeignClient.java @@ -31,6 +31,9 @@ public interface DicDataFeignClient { @GetMapping("/getDicDataByName") HttpResult getDicDataByName(@RequestParam("dicName") String dicName); + @GetMapping("/getDicDataByNameAndType") + HttpResult getDicDataByNameAndType(@RequestParam("dicName") String dicName ,@RequestParam("typeName") String typeName); + @GetMapping("/getDicDataByCode") HttpResult getDicDataByCode(@RequestParam("code") String code); diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/DicDataFeignClientFallbackFactory.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/DicDataFeignClientFallbackFactory.java index c1e75389e..a3a2a459c 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/DicDataFeignClientFallbackFactory.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/DicDataFeignClientFallbackFactory.java @@ -55,6 +55,12 @@ public class DicDataFeignClientFallbackFactory implements FallbackFactory getDicDataByNameAndType(String dicName, String typeName) { + log.error("{}异常,降级处理,异常为:{}","根据字典名称获取字典数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + @Override public HttpResult getDicDataByCode(String code) { log.error("{}异常,降级处理,异常为:{}","根据字典code获取字典数据",cause.toString()); diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/DictDataController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/DictDataController.java index fd9e4b0da..50a1df8bc 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/DictDataController.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/DictDataController.java @@ -17,6 +17,7 @@ import com.njcn.system.pojo.vo.DictDataVO; import com.njcn.system.service.IDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -162,6 +163,19 @@ public class DictDataController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @GetMapping("/getDicDataByNameAndType") + @ApiOperation("根据字典名称查询字典数据") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dicName", value = "查询参数", required = true), + @ApiImplicitParam(name = "typeName", value = "查询参数", required = true) + }) + public HttpResult getDicDataByNameAndType(@RequestParam("dicName") String dicName,@RequestParam("typeName") String typeName) { + String methodDescribe = getMethodDescribe("getDicDataByNameAndType"); + DictData result = dictDataService.getDicDataByNameAndType(dicName,typeName); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @GetMapping("/getDicDataByCode") @ApiOperation("根据字典code查询字典数据") diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/DictDataMapper.java b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/DictDataMapper.java index 83ef3743e..cab143d49 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/DictDataMapper.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/DictDataMapper.java @@ -12,7 +12,7 @@ import java.util.List; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author hongawen @@ -22,21 +22,25 @@ public interface DictDataMapper extends BaseMapper { /** * 分页查询字典数据 - * @param page 分页数据 + * + * @param page 分页数据 * @param queryWrapper 查询条件 * @return 字典数据 */ - Page page(@Param("page")Page page, @Param("ew")QueryWrapper queryWrapper); + Page page(@Param("page") Page page, @Param("ew") QueryWrapper queryWrapper); /** * @param dictypeName 字典类型名称 * @return 根据字典类型名称查询字典数据 */ - List getDicDataByTypeName(@Param("dictypeName")String dictypeName); + List getDicDataByTypeName(@Param("dictypeName") String dictypeName); - DictData getDicDataByName(@Param("dicName")String dicName); + DictData getDicDataByName(@Param("dicName") String dicName); + + DictData getDicDataByNameAndType(@Param("dicName") String dicName, @Param("typeName") String typeName); + + DictData getDicDataByCode(@Param("code") String code); - DictData getDicDataByCode(@Param("code")String code); /** * 根据字典类型名称&数据名称获取字典数据 * @@ -44,12 +48,12 @@ public interface DictDataMapper extends BaseMapper { * @param dicDataName 字典数据名称 * @return 字典数据 */ - DictData getDicDataByNameAndTypeName(@Param("dicTypeName")String dicTypeName, @Param("dicDataName")String dicDataName); + DictData getDicDataByNameAndTypeName(@Param("dicTypeName") String dicTypeName, @Param("dicDataName") String dicDataName); /** * @param dictTypeCode 字典类型名称 * @return 根据字典类型名称查询字典数据 */ - List getDicDataByTypeCode(@Param("dictTypeCode")String dictTypeCode); + List getDicDataByTypeCode(@Param("dictTypeCode") String dictTypeCode); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/DictDataMapper.xml b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/DictDataMapper.xml index 050842b6c..392cb0710 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/DictDataMapper.xml +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/DictDataMapper.xml @@ -32,6 +32,16 @@ order by sys_dict_data.sort + +