diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsMonitorQueryParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsMonitorQueryParam.java new file mode 100644 index 000000000..897c74fd0 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsMonitorQueryParam.java @@ -0,0 +1,27 @@ +package com.njcn.device.pms.pojo.param; + +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * pqs + * 基础查询,可以扩展 + * @author cdf + * @date 2024/1/3 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class PmsMonitorQueryParam extends BaseParam { + + @ApiModelProperty(value = "监测点状态(字典)") + private String monitorState; + + /** + * 是否是上送国网监测点,0-否 1-是 + */ + @ApiModelProperty(value = "是否是上送国网监测点,0-否 1-是") + private Integer isUpToGrid; +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/gwPush/GwMonitorPushController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/gwPush/GwMonitorPushController.java index 540bc324b..ecdb3b60b 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/gwPush/GwMonitorPushController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/gwPush/GwMonitorPushController.java @@ -11,6 +11,7 @@ import com.njcn.device.pms.pojo.dto.MonitorLimitDTO; import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO; import com.njcn.device.pms.pojo.dto.PushMonitorDTO; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; +import com.njcn.device.pms.pojo.param.PmsMonitorQueryParam; import com.njcn.device.pms.service.gwPush.GwMonitorPushService; import com.njcn.web.controller.BaseController; import com.njcn.web.pojo.param.BaseParam; @@ -88,7 +89,7 @@ public class GwMonitorPushController extends BaseController { @PostMapping("/queryMonitorOverLimit") @ApiOperation("查询主网监测点限值") @ApiImplicitParam(name = "baseParam", value = "请求体", required = true) - public HttpResult> queryMonitorOverLimit(@RequestBody BaseParam baseParam) { + public HttpResult> queryMonitorOverLimit(@RequestBody PmsMonitorQueryParam baseParam) { String methodDescribe = getMethodDescribe("queryMonitorOverLimit"); Page page = gwMonitorPushService.queryMonitorOverLimit(baseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/gwPush/GwMonitorPushService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/gwPush/GwMonitorPushService.java index 27042e472..0baf98df5 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/gwPush/GwMonitorPushService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/gwPush/GwMonitorPushService.java @@ -3,6 +3,7 @@ package com.njcn.device.pms.service.gwPush; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.device.pms.pojo.dto.MonitorLimitDTO; import com.njcn.device.pms.pojo.dto.PushMonitorDTO; +import com.njcn.device.pms.pojo.param.PmsMonitorQueryParam; import com.njcn.web.pojo.param.BaseParam; import java.util.List; @@ -22,5 +23,5 @@ public interface GwMonitorPushService { String pushMonitorOverLimit(List ids); - Page queryMonitorOverLimit(BaseParam baseParam); + Page queryMonitorOverLimit(PmsMonitorQueryParam baseParam); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/gwPush/impl/GwMonitorPushServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/gwPush/impl/GwMonitorPushServiceImpl.java index 19aadbb44..1b2488328 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/gwPush/impl/GwMonitorPushServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/gwPush/impl/GwMonitorPushServiceImpl.java @@ -16,6 +16,7 @@ import com.njcn.device.biz.pojo.po.Overlimit; import com.njcn.device.pms.mapper.majornetwork.*; import com.njcn.device.pms.pojo.dto.MonitorLimitDTO; import com.njcn.device.pms.pojo.dto.PushMonitorDTO; +import com.njcn.device.pms.pojo.param.PmsMonitorQueryParam; import com.njcn.device.pms.pojo.po.GeneratrixWire; import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.pojo.po.PmsTerminal; @@ -111,6 +112,8 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService { throw new BusinessException("未查询到有效监测点!"); } + + List stationIds = monitorList.stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList()); List terminalIds = monitorList.stream().map(Monitor::getTerminalId).distinct().collect(Collectors.toList()); List busIds = monitorList.stream().map(Monitor::getLineId).distinct().collect(Collectors.toList()); @@ -302,6 +305,12 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService { if(CollUtil.isEmpty(monitorList)){ throw new BusinessException("未查询到有效监测点!"); } + + long noCount = monitorList.stream().filter(item-> !Objects.equals(item.getMonitorState(),monitorStateDic.getId()) || item.getIsUpToGrid() == 0).count(); + if(noCount>0){ + throw new BusinessException("当前监测点未投运或非上送国网监测点"); + } + List monitorIds = monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList()); @@ -454,10 +463,12 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService { } @Override - public Page queryMonitorOverLimit(BaseParam baseParam) { + public Page queryMonitorOverLimit(PmsMonitorQueryParam baseParam) { Page pageResult = new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.and(StrUtil.isNotBlank(baseParam.getSearchValue()), i -> i.like(Monitor::getName, baseParam.getSearchValue()) + lambdaQueryWrapper.eq(StrUtil.isNotBlank(baseParam.getMonitorState()),Monitor::getMonitorState,baseParam.getMonitorState()) + .eq(Objects.nonNull(baseParam.getIsUpToGrid()),Monitor::getIsUpToGrid,baseParam.getIsUpToGrid()) + .and(StrUtil.isNotBlank(baseParam.getSearchValue()), i -> i.like(Monitor::getName, baseParam.getSearchValue()) .or() .like(Monitor::getId, baseParam.getSearchValue()) .or() 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 33db1b459..a2006ce73 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 @@ -1031,14 +1031,43 @@ public class MonitorServiceImpl extends ServiceImpl impl monitorPO.setMonitorObjectName(oracleTerminalExcel.getObjName()); - if (objTypeDicMap.containsKey(oracleTerminalExcel.getLoadType())) { - String objTypeId = objTypeDicMap.get(oracleTerminalExcel.getLoadType()).getId(); - monitorPO.setMonitorTag(objTypeId); - } else { - oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测标签不存在,请确认后重试")); - continue; + + if(oracleTerminalExcel.getLoadType().equals("电加热负荷") || oracleTerminalExcel.getLoadType().equals("商业/市政/民用/电子通讯负荷") ||oracleTerminalExcel.getLoadType().equals("其他非线性负荷")){ + if (objTypeDicMap.containsKey(oracleTerminalExcel.getLoadType())) { + String objTypeId = objTypeDicMap.get("冶炼负荷").getId(); + monitorPO.setMonitorTag(objTypeId); + }else { + oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测标签不存在,请确认后重试")); + continue; + } + }else if(oracleTerminalExcel.getLoadType().equals("半导体制造") ||oracleTerminalExcel.getLoadType().equals("精密加工")){ + if (objTypeDicMap.containsKey(oracleTerminalExcel.getLoadType())) { + String objTypeId = objTypeDicMap.get("重要或敏感用户").getId(); + monitorPO.setMonitorTag(objTypeId); + }else { + oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测标签不存在,请确认后重试")); + continue; + } + + }else if(oracleTerminalExcel.getLoadType().equals("二类变电站") ||oracleTerminalExcel.getLoadType().equals("三类变电站") ||oracleTerminalExcel.getLoadType().equals("四类变电站")){ + if (objTypeDicMap.containsKey(oracleTerminalExcel.getLoadType())) { + String objTypeId = objTypeDicMap.get("主变低压侧").getId(); + monitorPO.setMonitorTag(objTypeId); + }else { + oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测标签不存在,请确认后重试")); + continue; + } + }else { + if (objTypeDicMap.containsKey(oracleTerminalExcel.getLoadType())) { + String objTypeId = objTypeDicMap.get(oracleTerminalExcel.getLoadType()).getId(); + monitorPO.setMonitorTag(objTypeId); + } else { + oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测标签不存在,请确认后重试")); + continue; + } } + //监测点对象类型 if (objTypeMap.containsKey(oracleTerminalExcel.getLoadType())) {