diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/GeneralDeviceInfoClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/GeneralDeviceInfoClient.java index 2faa09422..fd2180bbb 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/GeneralDeviceInfoClient.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/GeneralDeviceInfoClient.java @@ -7,6 +7,8 @@ import com.njcn.device.pq.pojo.bo.BaseLineInfo; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.OnlineRateParam; +import com.njcn.device.pq.pojo.po.TopMsgPO; +import com.njcn.device.pq.pojo.vo.DevDetail; import com.njcn.device.pq.pojo.vo.RStatOnlinerateVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -127,4 +129,28 @@ public interface GeneralDeviceInfoClient { */ @GetMapping("/deptGetRunLineEvent") HttpResult> deptGetRunLineEvent(@RequestParam("deptId")String deptId); + + /** + * 根据单位获取终端集合 + * @param deptId + * @return + */ + @PostMapping("/deptGetRunDev") + HttpResult> deptGetRunDev(@RequestParam("deptId")String deptId); + + /** + * 根据终端id集合获取终端信息 + * @param devIds + * @return + */ + @PostMapping("/getDevInfoByIds") + HttpResult> getDevInfoByIds(@RequestBody List devIds); + + /** + * @Description: 根据topIds集合获取终端信息 + * @Author: wr + * @Date: 2023/11/9 13:55 + */ + @PostMapping("/getTopMsgInfoByIds") + HttpResult> getTopMsgInfoByIds(@RequestBody List topIds); } 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 2c2b0e7bd..fc8c3ab87 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 @@ -10,6 +10,8 @@ import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.pq.pojo.po.LineDetail; import com.njcn.device.biz.pojo.po.Overlimit; import com.njcn.device.pq.pojo.vo.*; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -311,4 +313,17 @@ public interface LineFeignClient { @PostMapping("getOnIntegrityByIdsAndTime") HttpResult> getOnIntegrityByIdsAndTime(@RequestBody LineBaseQueryParam param); + + + /** + * @Description: 根据监测点id获取监测点集合 + * @param ids + * @Author: wr + * @Date: 2023/11/8 15:55 + */ + @PostMapping("/getLineDetailByIds") + HttpResult> getLineDetailByIds(@RequestBody List ids); + + + } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/GeneralDeviceInfoClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/GeneralDeviceInfoClientFallbackFactory.java index b8a9c401a..af071e28c 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/GeneralDeviceInfoClientFallbackFactory.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/GeneralDeviceInfoClientFallbackFactory.java @@ -8,6 +8,8 @@ import com.njcn.device.pq.pojo.bo.BaseLineInfo; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.OnlineRateParam; +import com.njcn.device.pq.pojo.po.TopMsgPO; +import com.njcn.device.pq.pojo.vo.DevDetail; import com.njcn.device.pq.pojo.vo.RStatOnlinerateVO; import com.njcn.device.biz.utils.DeviceEnumUtil; import feign.hystrix.FallbackFactory; @@ -98,6 +100,24 @@ public class GeneralDeviceInfoClientFallbackFactory implements FallbackFactory> deptGetRunDev(String deptId) { + log.error("{}异常,降级处理,异常为:{}", "根据单位获取终端集合", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getDevInfoByIds(List devIds) { + log.error("{}异常,降级处理,异常为:{}", "根据终端id集合获取终端信息", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getTopMsgInfoByIds(List topIds) { + log.error("{}异常,降级处理,异常为:{}", "根据topIds集合获取终端信息", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; 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 223878114..a92fe69c8 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 @@ -231,6 +231,12 @@ public class LineFeignClientFallbackFactory implements FallbackFactory> getLineDetailByIds(List ids) { + log.error("{}异常,降级处理,异常为:{}", "根据监测点id获取监测点集合: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/TopMsgPO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/TopMsgPO.java index 595b0d588..7f6a1a8ec 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/TopMsgPO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/TopMsgPO.java @@ -1,5 +1,6 @@ package com.njcn.device.pq.pojo.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.njcn.db.bo.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -8,6 +9,14 @@ import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = true) public class TopMsgPO extends BaseEntity { + + + @TableField(exist = false) + private String topId; + + @TableField(exist = false) + private String ip; + private String cityName; private String subName; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DevDetail.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DevDetail.java new file mode 100644 index 000000000..bc5e590fe --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DevDetail.java @@ -0,0 +1,42 @@ +package com.njcn.device.pq.pojo.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @Description: 终端信息 + * @Author: wr + * @Date: 2023/11/7 15:34 + */ +@Data +public class DevDetail { + + @ApiModelProperty("终端id") + private String devIndex; + + @ApiModelProperty("终端名称") + private String devName; + + @ApiModelProperty("ip") + private String ip; + + @ApiModelProperty("供电公司") + private String gdName; + + @ApiModelProperty("变电站名称") + private String bdzName; + + @ApiModelProperty("数据更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime timeID; + + @ApiModelProperty("终端等级") + private String lineGrade; + + @ApiModelProperty("通讯状态(0:中断;1:正常)") + private Integer comFlag; + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailVO.java index 644301113..57a566bee 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailVO.java @@ -1,9 +1,11 @@ package com.njcn.device.pq.pojo.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.time.LocalDateTime; /** * @author denghuajun @@ -26,4 +28,53 @@ public class LineDetailVO implements Serializable { @ApiModelProperty("监测点名称") private String lineName; + @Data + public static class Detail extends LineDetailVO implements Serializable{ + + @ApiModelProperty("区域id") + private String areaId; + + @ApiModelProperty("区域名称") + private String areaName; + + @ApiModelProperty("终端id") + private String devId; + + @ApiModelProperty("监测点Id") + private String lineId; + + @ApiModelProperty("监测点名称") + private String lineName; + + @ApiModelProperty("测量间隔(1-10分钟)") + private Integer timeInterval; + + @ApiModelProperty("接线类型") + private Integer ptType; + + @ApiModelProperty("电压等级") + private String voltageLevel; + + @ApiModelProperty("数据更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime timeID; + + @ApiModelProperty("终端等级") + private String lineGrade; + + @ApiModelProperty("通讯状态(0:中断;1:正常)") + private Integer comFlag; + + @ApiModelProperty("PT一次变比") + private Double PT1; + + @ApiModelProperty("PT二次变比") + private Double PT2; + + @ApiModelProperty("CT一次变比") + private Double CT1; + + @ApiModelProperty("CT二次变比") + private Double CT2; + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java index a56134d67..c83ed44b9 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java @@ -125,4 +125,14 @@ public class DeptLineController extends BaseController { DeptLine lineByLineIds = deptLineService.getLineByLineIds(ids); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, lineByLineIds, methodDescribe); } + + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @PostMapping("/getLineNodeByDeptId") + @ApiOperation("部门Id获取所有子集部门绑定监测点") + @ApiImplicitParam(name = "id", value = "部门id", required = true) + public HttpResult> getLineNodeByDeptId(@RequestParam("id") String id) { + String methodDescribe = getMethodDescribe("getLineNodeByDeptId"); + List list = deptLineService.getLineNodeByDeptId(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } } 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 127a44140..4a1e5fdef 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 @@ -11,10 +11,8 @@ import com.njcn.device.pq.pojo.bo.BaseLineInfo; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.OnlineRateParam; -import com.njcn.device.pq.pojo.vo.DeptDeviceDetailVO; -import com.njcn.device.pq.pojo.vo.DeptSubstationDetailVO; -import com.njcn.device.pq.pojo.vo.ExceptionDeviceInfoVO; -import com.njcn.device.pq.pojo.vo.RStatOnlinerateVO; +import com.njcn.device.pq.pojo.po.TopMsgPO; +import com.njcn.device.pq.pojo.vo.*; import com.njcn.device.pq.service.TerminalBaseService; import com.njcn.device.pq.service.impl.GeneralDeviceService; import com.njcn.web.controller.BaseController; @@ -301,7 +299,34 @@ public class GeneralDeviceInfoController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,runLineIds,methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/deptGetRunDev") + @ApiOperation("根据单位获取终端id") + @ApiImplicitParam(name = "deptId", value = "单位部门索引", required = true) + public HttpResult> deptGetRunDev(@RequestParam("deptId")String deptId) { + String methodDescribe = getMethodDescribe("deptGetRunDev"); + List runLineIds = generalDeviceService.deptGetRunDev(deptId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,runLineIds,methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDevInfoByIds") + @ApiOperation("根据终端id集合获取终端信息") + @ApiImplicitParam(name = "deptId", value = "单位部门索引", required = true) + public HttpResult> getDevInfoByIds(@RequestBody List devIds) { + String methodDescribe = getMethodDescribe("getDevInfoByIds"); + List runLineIds = generalDeviceService.getDevInfoByIds(devIds); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,runLineIds,methodDescribe); + } - + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getTopMsgInfoByIds") + @ApiOperation("根据终端id集合获取终端信息") + @ApiImplicitParam(name = "deptId", value = "单位部门索引", required = true) + public HttpResult> getTopMsgInfoByIds(@RequestBody List topIds) { + String methodDescribe = getMethodDescribe("getTopMsgInfoByIds"); + List runLineIds = generalDeviceService.getTopMsgInfoByIds(topIds); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,runLineIds,methodDescribe); + } } 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 77913dfdf..c727f6a3d 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 @@ -433,4 +433,13 @@ public class LineController extends BaseController { Page halfReportVOS = lineService.halfReport(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,halfReportVOS,methodDescribe); } + + @PostMapping("/getLineDetailByIds") + @ApiOperation("根据监测点id获取监测点集合") + @ApiImplicitParam(name = "param", value = "参数实体", required = true) + public HttpResult> getLineDetailByIds(@RequestBody List ids) { + String methodDescribe = getMethodDescribe("getLineDetailByIds"); + List line = lineService.getLineDetailByIds(ids); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,line,methodDescribe); + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java index fae5c7785..c25481cff 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java @@ -3,6 +3,7 @@ package com.njcn.device.pq.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njcn.device.pq.pojo.po.Device; +import com.njcn.device.pq.pojo.vo.DevDetail; import com.njcn.device.pq.pojo.vo.LineInfluxDbOnlineVO; import com.njcn.device.pq.pojo.vo.RunManageVO; import com.njcn.device.pq.pojo.vo.RunTimeVO; @@ -63,4 +64,13 @@ public interface DeviceMapper extends BaseMapper { List getOnlineEvaluate(@Param("list") List devIndexes, @Param("begin") String searchBeginTime, @Param("end") String searchEndTime); + + /** + * @Description: 获取终端集合信息 + * @param ids + * @return: java.util.List + * @Author: wr + * @Date: 2023/11/7 15:40 + */ + List selectDevByIds(@Param("ids") List ids); } 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 41ddd3ae4..6a56884c0 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 @@ -532,4 +532,13 @@ public interface LineMapper extends BaseMapper { Map getCustomDetailByLineId(@Param("lineId")String lineId); + + + /** + * @Description: 获取监测点集合信息 + * @Author: wr + * @Date: 2023/11/3 14:37 + */ + List selectByIds(@Param("ids") List ids); + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/TopMsgMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/TopMsgMapper.java index 977274d58..e8904303b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/TopMsgMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/TopMsgMapper.java @@ -13,7 +13,5 @@ public interface TopMsgMapper { Page dailyDeviceAbnormalStatistics(Page page,@Param("lineGrade") String lineGrade, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime); List dailyDeviceAbnormal(@Param("lineGrade") String lineGrade,@Param("startTime") DateTime startTime); - - - + List selectByIds(@Param("ids") List ids); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml index 528b4b5a8..a1d10dbb2 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml @@ -214,4 +214,37 @@ GROUP BY r.dev_index + 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 de49da1ef..42827af22 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 @@ -1424,5 +1424,51 @@ and sub.id = dev.pid AND line.id = #{lineId} + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TopMagMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TopMagMapper.xml index b79cdc13a..9913d8a56 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TopMagMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TopMagMapper.xml @@ -52,4 +52,40 @@ AND pld.Line_Grade=#{lineGrade} + \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java index ddee3e50c..425f45569 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java @@ -63,6 +63,18 @@ public interface DeptLineService extends IService { * @date 2022/1/25 9:28 */ List getLineByDeptId(String id); + + + + /** + * @Description: 根据部门id获取所有子集部门所包含的部门信息 + * @param id + * @return: java.util.List + * @Author: wr + * @Date: 2023/11/8 14:54 + */ + List getLineNodeByDeptId(String id); + /** * @Description: 获取部门和监测点的关系(分稳态暂态) * @Param: [devDataType] 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 8cf7f4804..ea3ebf138 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 @@ -196,4 +196,13 @@ public interface LineService { * 根据监测点批量获取监测点信息 */ List getLineDetailBatch(List ids); + + /** + * @Description: 获取监测点集合(APP) + * @param ids + * @return: java.util.List + * @Author: wr + * @Date: 2023/11/8 15:46 + */ + List getLineDetailByIds(List ids); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java index 88ce54751..1c45842d2 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java @@ -8,7 +8,10 @@ import com.njcn.device.pq.mapper.DeptLineMapper; import com.njcn.device.biz.pojo.dto.LineDevGetDTO; import com.njcn.device.pq.pojo.po.DeptLine; import com.njcn.device.pq.service.DeptLineService; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.dto.DeptDTO; import com.njcn.web.pojo.param.DeptLineParam; +import com.njcn.web.utils.WebUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -30,6 +33,8 @@ public class DeptLineServiceImpl extends ServiceImpl i private final DeptLineMapper deptLineMapper; + private final DeptFeignClient deptFeignClient; + @Override @Transactional(rollbackFor = Exception.class) public void deptBindLine(DeptLineParam deptLineParam) { @@ -78,6 +83,16 @@ public class DeptLineServiceImpl extends ServiceImpl i return this.lambdaQuery().in(DeptLine::getId, id).list().stream().map(DeptLine::getLineId).distinct().collect(Collectors.toList()); } + @Override + public List getLineNodeByDeptId(String id) { + List deptInfos = deptFeignClient.getDeptDescendantIndexes(id, WebUtil.filterDeptType()).getData(); + List deptIds = deptInfos.stream().map(DeptDTO::getId).distinct().collect(Collectors.toList()); + List userLine = this.list(new LambdaQueryWrapper() + .in(DeptLine::getId, deptIds) + ); + return userLine.stream().map(DeptLine::getLineId).distinct().collect(Collectors.toList()); + } + /** * @param devDataType * @Description: 获取部门和监测点的关系(分稳态暂态) 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 0e965efd7..73cafe59c 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 @@ -3,6 +3,7 @@ package com.njcn.device.pq.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.enums.common.ServerEnum; @@ -10,16 +11,15 @@ import com.njcn.common.utils.EnumUtils; import com.njcn.device.pq.enums.LineBaseEnum; import com.njcn.device.pq.mapper.DeviceMapper; import com.njcn.device.pq.mapper.LineMapper; +import com.njcn.device.pq.mapper.TopMsgMapper; import com.njcn.device.pq.pojo.bo.BaseLineInfo; import com.njcn.device.pq.pojo.bo.DeviceType; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.param.DeviceInfoParam; -import com.njcn.device.pq.pojo.po.DeptLine; -import com.njcn.device.pq.pojo.po.Device; -import com.njcn.device.pq.pojo.po.Line; -import com.njcn.device.pq.pojo.po.Substation; +import com.njcn.device.pq.pojo.po.*; import com.njcn.device.pq.pojo.vo.DeptDeviceDetailVO; import com.njcn.device.pq.pojo.vo.DeptSubstationDetailVO; +import com.njcn.device.pq.pojo.vo.DevDetail; import com.njcn.device.pq.pojo.vo.ExceptionDeviceInfoVO; import com.njcn.device.pq.service.DeptLineService; import com.njcn.device.pq.service.TerminalBaseService; @@ -68,6 +68,7 @@ public class GeneralDeviceService { private final DeviceMapper deviceMapper; private final LineMapper lineMapper; + private final TopMsgMapper topMsgMapper; /** @@ -743,4 +744,43 @@ public class GeneralDeviceService { } return new ArrayList<>(); } + + + /** + * @param deptId 部门id + * @author cdf + * @date 2023/7/20 + */ + public List deptGetRunDev(String deptId) { + List runLineIds = this.deptGetRunLine(deptId,Stream.of(0).collect(Collectors.toList()),Stream.of(0,2).collect(Collectors.toList())); + List lines = lineMapper.selectList(new LambdaQueryWrapper() + .select(Line::getPids) + .in(Line::getId,runLineIds) + ); + if(CollUtil.isNotEmpty(lines)){ + return lines.stream().map(line -> { + String[] idsArray = line.getPids().split(","); + return idsArray[4]; + }).distinct().collect(Collectors.toList()); + } + return new ArrayList<>(); + } + + public List getDevInfoByIds(List devIds) { + List gradeType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_GRADE.getCode()).getData(); + Map gradeMap = gradeType.stream().collect(Collectors.toMap(DictData::getId, DictData::getAlgoDescribe)); + + List devDetails = deviceMapper.selectDevByIds(devIds); + for (DevDetail devDetail : devDetails) { + //终端等级 + if(gradeMap.containsKey(devDetail.getLineGrade())){ + devDetail.setLineGrade(String.valueOf(gradeMap.get(devDetail.getLineGrade()))); + } + } + return devDetails; + } + + public List getTopMsgInfoByIds(List topIds) { + return topMsgMapper.selectByIds(topIds); + } } 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 9421e6e7c..35d7936b6 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 @@ -37,6 +37,7 @@ import com.njcn.influx.query.InfluxQueryWrapper; import com.njcn.system.api.AreaFeignClient; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.Area; import com.njcn.system.pojo.po.DictData; import com.njcn.web.pojo.vo.LineDataVO; import com.njcn.web.utils.GeneralUtil; @@ -504,6 +505,37 @@ public class LineServiceImpl extends ServiceImpl implements Li return lineDTOS; } + @Override + public List getLineDetailByIds(List ids) { + List details = this.baseMapper.selectByIds(ids); + //获取行政区域 + List areaIds = details.stream().map(LineDetailVO.Detail::getAreaId).distinct().collect(Collectors.toList()); + List data = areaFeignClient.areaNameByList(areaIds).getData(); + Map areaMap = data.stream().collect(Collectors.toMap(Area::getId, Area::getName)); + //获取电压字典 + List dictType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData(); + Map dictMap = dictType.stream().collect(Collectors.toMap(DictData::getId, DictData::getName)); + //获取终端等级 + List gradeType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_GRADE.getCode()).getData(); + Map gradeMap = gradeType.stream().collect(Collectors.toMap(DictData::getId, DictData::getAlgoDescribe)); + + for (LineDetailVO.Detail detail : details) { + //获取行政区域名称 + if(areaMap.containsKey(detail.getAreaId())){ + detail.setAreaName(areaMap.get(detail.getAreaId())); + } + //电压 + if(dictMap.containsKey(detail.getVoltageLevel())){ + detail.setVoltageLevel(dictMap.get(detail.getVoltageLevel())); + } + //终端等级 + if(gradeMap.containsKey(detail.getLineGrade())){ + detail.setLineGrade(String.valueOf(gradeMap.get(detail.getLineGrade()))); + } + } + return details; + } + @Override public List getOverLimitByList(PollutionParamDTO pollutionParamDTO) { return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList()); diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/api/EventDetailFeignClient.java b/pqs-event/event-api/src/main/java/com/njcn/event/api/EventDetailFeignClient.java index a40b8c1b3..f0110ad36 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/api/EventDetailFeignClient.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/api/EventDetailFeignClient.java @@ -4,8 +4,8 @@ import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.event.api.fallback.EventDetailFeignClientFallbackFactory; import com.njcn.event.pojo.po.EventDetail; +import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.vo.GeneralVO; -import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -51,4 +51,9 @@ public interface EventDetailFeignClient { @PostMapping("/getEventDetailCount") HttpResult> getEventDetailCount(@RequestBody Map condMap); + /** + * 根据暂态id集合获取暂降列表 + */ + @PostMapping("/getEventDetailByIdsList") + HttpResult> getEventDetailByIdsList(@RequestBody List ids); } diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/api/fallback/EventDetailFeignClientFallbackFactory.java b/pqs-event/event-api/src/main/java/com/njcn/event/api/fallback/EventDetailFeignClientFallbackFactory.java index 23f1a994c..33770a2ce 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/api/fallback/EventDetailFeignClientFallbackFactory.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/api/fallback/EventDetailFeignClientFallbackFactory.java @@ -5,6 +5,7 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.event.api.EventDetailFeignClient; import com.njcn.event.pojo.po.EventDetail; +import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.vo.GeneralVO; import com.njcn.event.utils.EventlEnumUtil; import feign.hystrix.FallbackFactory; @@ -56,6 +57,12 @@ public class EventDetailFeignClientFallbackFactory implements FallbackFactory> getEventDetailByIdsList(List ids) { + log.error("{}异常,降级处理,异常为:{}", "根据暂态id集合获取暂降列表", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; } } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventDetailController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventDetailController.java index 8e1671e0e..0be9e252f 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventDetailController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventDetailController.java @@ -8,6 +8,7 @@ import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; import com.njcn.event.mapper.majornetwork.EventDetailMapper; import com.njcn.event.pojo.po.EventDetail; +import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.vo.GeneralVO; import com.njcn.event.service.majornetwork.EventDetailService; import com.njcn.web.controller.BaseController; @@ -141,4 +142,16 @@ public class EventDetailController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, generalVOS, methodDescribe); } + /** + * 根据监测点集合获取短时终端,电压暂升,电压暂降 + * @return + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getEventDetailByIdsList") + @ApiOperation("根据暂态id集合获取暂降列表") + public HttpResult> getEventDetailByIdsList(@RequestBody List ids) { + String methodDescribe = getMethodDescribe("getEventDetailByIdsList"); + List eventDetailPOS = eventDetailService.listByIds(ids); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventDetailPOS, methodDescribe); + } } diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/api/DeptFeignClient.java b/pqs-user/user-api/src/main/java/com/njcn/user/api/DeptFeignClient.java index 9e0e2a13c..aaac82be4 100644 --- a/pqs-user/user-api/src/main/java/com/njcn/user/api/DeptFeignClient.java +++ b/pqs-user/user-api/src/main/java/com/njcn/user/api/DeptFeignClient.java @@ -125,4 +125,12 @@ public interface DeptFeignClient { */ @GetMapping("/getDepSonDetailIdByDeptId") HttpResult> getDepSonDetailByDeptId(@RequestParam("deptId") String deptId); + + /** + * 根据部门id查询当前部门所有父级部门id + * @param deptId + * @return + */ + @GetMapping("/getUpByDeptIds") + HttpResult> getUpByDeptIds(@RequestParam("deptId") String deptId); } diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/api/UserFeignClient.java b/pqs-user/user-api/src/main/java/com/njcn/user/api/UserFeignClient.java index 7aaecc852..abc264d28 100644 --- a/pqs-user/user-api/src/main/java/com/njcn/user/api/UserFeignClient.java +++ b/pqs-user/user-api/src/main/java/com/njcn/user/api/UserFeignClient.java @@ -64,4 +64,12 @@ public interface UserFeignClient { */ @PostMapping("/userByIdList") HttpResult> getUserByIdList(@RequestBody List ids); + + /** + * 根据部门ids查询用户信息 + * @param deptId + * @return + */ + @GetMapping("/getUserByDeptIds") + HttpResult> getUserByDeptIds(@RequestBody List deptId); } diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/DeptFeignClientFallbackFactory.java b/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/DeptFeignClientFallbackFactory.java index 2f3ac6e5e..7a6c88df1 100644 --- a/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/DeptFeignClientFallbackFactory.java +++ b/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/DeptFeignClientFallbackFactory.java @@ -122,6 +122,12 @@ public class DeptFeignClientFallbackFactory implements FallbackFactory> getUpByDeptIds(String deptId) { + log.error("{}异常,降级处理,异常为:{}","根据部门id查询当前部门所有父级部门id",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/UserFeignClientFallbackFactory.java b/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/UserFeignClientFallbackFactory.java index 8136c088f..98a7abb0a 100644 --- a/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/UserFeignClientFallbackFactory.java +++ b/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/UserFeignClientFallbackFactory.java @@ -66,6 +66,12 @@ public class UserFeignClientFallbackFactory implements FallbackFactory> getUserByDeptIds(List deptId) { + log.error("{}异常,降级处理,异常为:{}","根据部门ids查询用户信息",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java index 1784aafc1..059e58fff 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java @@ -447,7 +447,20 @@ public class DeptController extends BaseController { } - + /** + * 根据部门id查询当前部门所有父级部门id + * @param deptId + * @return + */ + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @GetMapping("/getUpByDeptIds") + @ApiOperation("根据部门id查询当前部门所有父级部门id") + @ApiImplicitParam(name = "deptId", value = "用户部门id", required = true) + public HttpResult> getUpByDeptIds(@RequestParam("deptId") String deptId) { + String methodDescribe = getMethodDescribe("getUpByDeptIds"); + List users = deptService.getUpByDeptIds(deptId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, users, methodDescribe); + } /*++++++++++++++++++++++++++++++++pms专用+++++++++++++++++++++++++++++++begin*/ diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/UserController.java b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/UserController.java index 4f933b32b..a4de16b96 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/UserController.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/UserController.java @@ -2,6 +2,7 @@ package com.njcn.user.controller; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.LogInfo; @@ -444,5 +445,25 @@ public class UserController extends BaseController { List users = userService.getUserListByDeptId(deptId); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, users, methodDescribe); } + + + /** + * 根据部门ids查询用户信息 + * @param deptId + * @return + */ + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @GetMapping("/getUserByDeptIds") + @ApiOperation("根据部门ids查询用户信息") + @ApiImplicitParam(name = "deptId", value = "用户部门id", required = true) + public HttpResult> getUserByDeptIds(@RequestBody List deptId) { + String methodDescribe = getMethodDescribe("getUpByDeptIds"); + List users = userService.list(new LambdaQueryWrapper() + .in(User::getDeptId,deptId) + .eq(User::getSmsNotice,1) + .eq(User::getState,1) + ); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, users, methodDescribe); + } } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/DeptMapper.java b/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/DeptMapper.java index 04a8d34cf..7bd875940 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/DeptMapper.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/DeptMapper.java @@ -116,4 +116,13 @@ public interface DeptMapper extends BaseMapper { * @date 2022/10/09 */ List getDeptSonId(@Param("deptId") String deptId); + + /** + * @Description: 查询所有父级部门 + * @param deptId + * @return: java.util.List + * @Author: wr + * @Date: 2023/11/9 15:59 + */ + List selectUpByDeptIds(@Param("deptId") String deptId); } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/DeptMapper.xml b/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/DeptMapper.xml index 94c6eb561..8cb856b02 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/DeptMapper.xml +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/DeptMapper.xml @@ -184,4 +184,23 @@ select id from sys_dept where sys_dept.Pid=#{deptId} and state = 1 + diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/UserMapper.xml b/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/UserMapper.xml index bddd144d8..85ea5ac65 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/UserMapper.xml +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/UserMapper.xml @@ -65,4 +65,5 @@ + diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/IDeptService.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/IDeptService.java index 8d1e7e9ac..e5db5305a 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/IDeptService.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/IDeptService.java @@ -218,4 +218,12 @@ public interface IDeptService extends IService { * @Date: 2023/1/10 */ List getDepSonDetailByDeptId(String deptId); + + /** + * @Description: 向上查询部门信息 + * @param deptId 部门id + * @Author: wr + * @Date: 2023/11/9 15:57 + */ + List getUpByDeptIds(String deptId); } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java index 04e1724bc..eb8c2b762 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java @@ -458,4 +458,11 @@ public class DeptServiceImpl extends ServiceImpl implements ID }).collect (Collectors.toList ( )); return collect; } + + @Override + public List getUpByDeptIds(String deptId) { + List list = this.baseMapper.selectUpByDeptIds(deptId); + list.add(deptId); + return list; + } }