diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java index cf4e80424..e62ec0341 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java @@ -4,6 +4,7 @@ import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pq.api.fallback.LineFeignClientFallbackFactory; import com.njcn.device.pq.pojo.dto.*; +import com.njcn.device.pq.pojo.param.DataParam; import com.njcn.device.pq.pojo.param.LineBaseQueryParam; import com.njcn.device.pq.pojo.param.OnlineRateParam; import com.njcn.device.pq.pojo.po.Line; @@ -339,4 +340,7 @@ public interface LineFeignClient { @PostMapping("/updateLineRunFlag") void updateLineRunFlag(@RequestParam("lineId")String lineId, @RequestParam("status")Integer status); + + @PostMapping("/getDeptDeviceDetailData") + HttpResult> getDeptDeviceDetailData(@RequestBody DataParam param); } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java index 5d414a6f2..2f5b82edf 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java @@ -5,6 +5,7 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.pojo.dto.*; +import com.njcn.device.pq.pojo.param.DataParam; import com.njcn.device.pq.pojo.param.LineBaseQueryParam; import com.njcn.device.pq.pojo.param.OnlineRateParam; import com.njcn.device.pq.pojo.po.Line; @@ -262,6 +263,12 @@ public class LineFeignClientFallbackFactory implements FallbackFactory> getDeptDeviceDetailData(DataParam param) { + log.error("{}异常,降级处理,异常为:{}", "更新监测点运行状态: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/AreaIntegrityDataParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/AreaIntegrityDataParam.java deleted file mode 100644 index be6c0e3bc..000000000 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/AreaIntegrityDataParam.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.njcn.device.pq.pojo.param; - -import io.swagger.annotations.ApiModel; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -/** - * 区域点数据完整性接收前端类 - * - * @author yzh - * @date 2022/9/22 - */ -@Data -@ApiModel -@NoArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class AreaIntegrityDataParam extends DeviceInfoParam.BusinessParam { -} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/DataParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/DataParam.java new file mode 100644 index 000000000..29a2581ff --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/DataParam.java @@ -0,0 +1,21 @@ +package com.njcn.device.pq.pojo.param; + +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 区域点数据完整性接收前端类 + * + * @author yzh + * @date 2022/9/22 + */ +@Data +public class DataParam extends BaseParam { + + @ApiModelProperty(name = "orgId",value = "单位id") + private String orgId; + + @ApiModelProperty(name = "type",value = "设备类型 1:装置;2:监测点") + private Integer type; +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java index 86606c71d..c25ee9798 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java @@ -15,16 +15,14 @@ import com.njcn.device.pq.mapper.LineDetailMapper; import com.njcn.device.pq.mapper.LineMapper; import com.njcn.device.pq.mapper.RStatIntegrityDMapper; import com.njcn.device.pq.pojo.dto.*; -import com.njcn.device.pq.pojo.param.DeviceInfoParam; -import com.njcn.device.pq.pojo.param.LineBaseQueryParam; -import com.njcn.device.pq.pojo.param.OnlineRateParam; -import com.njcn.device.pq.pojo.param.TerminalMainQueryParam; +import com.njcn.device.pq.pojo.param.*; import com.njcn.device.pq.pojo.po.Device; import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.pq.pojo.po.LineDetail; import com.njcn.device.pq.pojo.vo.*; import com.njcn.device.pq.service.LineService; import com.njcn.web.controller.BaseController; +import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -508,4 +506,14 @@ public class LineController extends BaseController { List line = lineService.getLineDetailByIds(ids); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,line,methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("根据装置部门和模糊搜索获取装置详情") + @ApiImplicitParam(name = "id", value = "装置id", required = true) + @PostMapping("/getDeptDeviceDetailData") + HttpResult> getDeptDeviceDetailData(@RequestBody DataParam param){ + String methodDescribe = getMethodDescribe("getDeptDeviceDetailData"); + List deptDeviceDetailData = lineService.getDeptDeviceDetailData(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, deptDeviceDetailData, methodDescribe); + } } 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 607ef9c7d..3a6bbec05 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 @@ -546,5 +546,9 @@ public interface LineMapper extends BaseMapper { DeviceVO getDeviceDetailData(@Param("id")String id); + List getDeptDeviceDetailData(@Param("ids")List ids, + @Param("searchValue")String searchValue, + @Param("type")Integer type); + LineDetailVO getLineInfoVO(@Param("id")String id); } 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 225096c4b..a620b1b15 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 @@ -1515,7 +1515,8 @@ deviceDetail.Update_Time AS timeID, deviceDetail.ip ip, deviceDetail.Com_Flag as comFlag, - vg.Scale as voltageLevel + vg.Scale as voltageLevel, + voltage.name as volName FROM pq_line line, pq_line voltage, @@ -1605,5 +1606,66 @@ AND substation.pid = gd.id AND pq_line.id = #{id} + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java index 10f2d514f..3375786c9 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java @@ -7,6 +7,7 @@ import com.njcn.device.biz.pojo.dto.LineALLInfoDTO; import com.njcn.device.pq.pojo.dto.PollutionLineDTO; import com.njcn.device.pq.pojo.dto.PollutionParamDTO; import com.njcn.device.pq.pojo.dto.PollutionSubstationDTO; +import com.njcn.device.pq.pojo.param.DataParam; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.PqsParam; import com.njcn.device.pq.pojo.param.TerminalMainQueryParam; @@ -14,6 +15,8 @@ import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.biz.pojo.po.Overlimit; import com.njcn.device.pq.pojo.po.TopMsgPO; import com.njcn.device.pq.pojo.vo.*; +import com.njcn.web.pojo.param.BaseParam; + import java.util.List; import java.util.Map; @@ -215,4 +218,6 @@ public interface LineService extends IService { List getSubIndexLineDetail(String id); List getLineAllDetailList(List ids); + + List getDeptDeviceDetailData(DataParam param); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java index 8d46b66ae..54b58330b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java @@ -24,12 +24,14 @@ import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.dto.PollutionLineDTO; import com.njcn.device.pq.pojo.dto.PollutionParamDTO; import com.njcn.device.pq.pojo.dto.PollutionSubstationDTO; +import com.njcn.device.pq.pojo.param.DataParam; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.PqsParam; import com.njcn.device.pq.pojo.param.TerminalMainQueryParam; import com.njcn.device.pq.pojo.po.*; import com.njcn.device.pq.pojo.vo.*; import com.njcn.device.pq.mapper.*; +import com.njcn.device.pq.service.DeptLineService; import com.njcn.device.pq.service.LineService; import com.njcn.influx.constant.InfluxDbSqlConstant; import com.njcn.influx.imapper.PqsCommunicateMapper; @@ -42,6 +44,7 @@ import com.njcn.system.pojo.po.Area; import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.dto.DeptDTO; +import com.njcn.web.pojo.param.BaseParam; import com.njcn.web.pojo.vo.LineDataVO; import com.njcn.web.utils.GeneralUtil; import com.njcn.web.utils.RequestUtil; @@ -94,7 +97,7 @@ public class LineServiceImpl extends ServiceImpl implements Li private final TerminalMaintainMapper terminalMaintainMapper; private final DeptFeignClient deptFeignClient; - + private final DeptLineService deptLineService; @Override public LineDetailDataVO getLineDetailData(String id) { //根据id查询当前信息的pids @@ -662,6 +665,17 @@ public class LineServiceImpl extends ServiceImpl implements Li return collect; } + @Override + public List getDeptDeviceDetailData(DataParam param) { + List ids = deptFeignClient.getDepSonIdtByDeptId(param.getOrgId()).getData(); + List deptLines = deptLineService.selectDeptBindLines(ids); + List lineIDs = deptLines.stream().map(DeptLine::getLineId).collect(Collectors.toList()); + if(CollUtil.isNotEmpty(lineIDs)){ + return this.baseMapper.getDeptDeviceDetailData(lineIDs, param.getSearchValue(),param.getType()); + } + return new ArrayList<>(); + } + @Override public List getOverLimitByList(PollutionParamDTO pollutionParamDTO) { return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList()); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java index c56c0e597..1028dbfe2 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java @@ -1,5 +1,6 @@ package com.njcn.supervision.service.device.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.text.StrPool; @@ -18,8 +19,10 @@ import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.enums.RunFlagEnum; +import com.njcn.device.pq.pojo.param.DataParam; import com.njcn.device.pq.pojo.po.line.LineInfoVO; import com.njcn.device.pq.pojo.vo.DeviceVO; +import com.njcn.device.pq.pojo.vo.LineDetailVO; import com.njcn.supervision.enums.SupervisionKeyEnum; import com.njcn.supervision.enums.SupervisionUserStatusEnum; import com.njcn.supervision.mapper.device.QuitRunningDeviceMapper; @@ -37,10 +40,9 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.HashMap; -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; /** *

@@ -138,6 +140,12 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl getQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceQueryParam quitRunningDeviceQueryParam) { + DataParam param=new DataParam(); + param.setOrgId(RequestUtil.getDeptIndex()); + param.setType(quitRunningDeviceQueryParam.getDeviceType()); + param.setSearchValue(quitRunningDeviceQueryParam.getSearchValue()); + List lineDetail = lineFeignClient.getDeptDeviceDetailData(param).getData(); + Map mapDetail=new HashMap<>(); QueryWrapper quitRunningDeviceVOQueryWrapper = new QueryWrapper<>(); if (Objects.nonNull(quitRunningDeviceQueryParam)) { //判断监测点/设备的选择 @@ -151,10 +159,15 @@ public class QuitRunningDeviceServiceImpl extends ServiceImplkey1))); + } if (Objects.nonNull(quitRunningDeviceQueryParam.getStatus())) { quitRunningDeviceVOQueryWrapper.eq("supervision_quit_running_device.status", quitRunningDeviceQueryParam.getStatus()); } - + quitRunningDeviceVOQueryWrapper.in(CollUtil.isNotEmpty(mapDetail.keySet()),"supervision_quit_running_device.device_id", mapDetail.keySet()); } //获取当前用户部门所有同事的id,查看该部门下所有的数据 @@ -166,19 +179,23 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl deptIds = deptFeignClient.getDepSonIdByDeptId(param.getId()).getData(); return supervisionDetailsAdd(null, deptIds, param); } @@ -90,13 +91,17 @@ public class GridDiagramServiceImpl implements GridDiagramService { */ private GridDiagramVO.Info supervisionDetailsAdd(DeptDTO deptDTO, List ids, StatisticsBizBaseParam baseParam) { GridDiagramVO.Info gridDiagramVO = new GridDiagramVO.Info(); - if(ObjectUtil.isNotNull(deptDTO)){ + if (ObjectUtil.isNotNull(deptDTO)) { gridDiagramVO.setOrgName(deptDTO.getName()); } - //todo 在线监测问题 - int onLineNum = 0; + //在线监测问题 + List lineWarningList = lineWarningService.list(new LambdaQueryWrapper() + .in(LineWarning::getDeptId, ids) + .ge(StrUtil.isNotBlank(baseParam.getStartTime()), LineWarning::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(baseParam.getStartTime()))) + .le(StrUtil.isNotBlank(baseParam.getEndTime()), LineWarning::getCreateTime, DateUtil.endOfDay(DateUtil.parse(baseParam.getEndTime()))) + ); - gridDiagramVO.setOnLineNum(onLineNum); + gridDiagramVO.setOnLineNum(lineWarningList.size()); //用户投诉问题(添加出来就是有问题的) List userComplaintList = userComplaintPOService.list(new LambdaQueryWrapper() .in(SupervisionUserComplaintPO::getDutyOrgId, ids) @@ -115,11 +120,13 @@ public class GridDiagramServiceImpl implements GridDiagramService { ); gridDiagramVO.setSurveyNum(surveyTestList.size()); - - gridDiagramVO.setAbnormalNum(userComplaintList.size() + surveyTestList.size()); + gridDiagramVO.setAbnormalNum(lineWarningList.size() + userComplaintList.size() + surveyTestList.size()); //根据问题单id查询已关联工单 List problemIds = userComplaintList.stream().map(SupervisionUserComplaintPO::getId).collect(Collectors.toList()); problemIds.addAll(surveyTestList.stream().map(SurveyTest::getId).collect(Collectors.toList())); + problemIds.addAll(lineWarningList.stream().map(LineWarning::getId).collect(Collectors.toList())); + + if (CollUtil.isNotEmpty(problemIds)) { List list = warningLeafletService.list(new LambdaQueryWrapper() .in(WarningLeaflet::getProblemId, problemIds)