1.pms微调

This commit is contained in:
2024-01-03 16:15:43 +08:00
parent 5a498b81c3
commit 9e1b97cae5
5 changed files with 79 additions and 10 deletions

View File

@@ -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;
}

View File

@@ -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.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PushMonitorDTO; import com.njcn.device.pms.pojo.dto.PushMonitorDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; 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.device.pms.service.gwPush.GwMonitorPushService;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
import com.njcn.web.pojo.param.BaseParam; import com.njcn.web.pojo.param.BaseParam;
@@ -88,7 +89,7 @@ public class GwMonitorPushController extends BaseController {
@PostMapping("/queryMonitorOverLimit") @PostMapping("/queryMonitorOverLimit")
@ApiOperation("查询主网监测点限值") @ApiOperation("查询主网监测点限值")
@ApiImplicitParam(name = "baseParam", value = "请求体", required = true) @ApiImplicitParam(name = "baseParam", value = "请求体", required = true)
public HttpResult<Page<MonitorLimitDTO>> queryMonitorOverLimit(@RequestBody BaseParam baseParam) { public HttpResult<Page<MonitorLimitDTO>> queryMonitorOverLimit(@RequestBody PmsMonitorQueryParam baseParam) {
String methodDescribe = getMethodDescribe("queryMonitorOverLimit"); String methodDescribe = getMethodDescribe("queryMonitorOverLimit");
Page<MonitorLimitDTO> page = gwMonitorPushService.queryMonitorOverLimit(baseParam); Page<MonitorLimitDTO> page = gwMonitorPushService.queryMonitorOverLimit(baseParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);

View File

@@ -3,6 +3,7 @@ package com.njcn.device.pms.service.gwPush;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.device.pms.pojo.dto.MonitorLimitDTO; import com.njcn.device.pms.pojo.dto.MonitorLimitDTO;
import com.njcn.device.pms.pojo.dto.PushMonitorDTO; import com.njcn.device.pms.pojo.dto.PushMonitorDTO;
import com.njcn.device.pms.pojo.param.PmsMonitorQueryParam;
import com.njcn.web.pojo.param.BaseParam; import com.njcn.web.pojo.param.BaseParam;
import java.util.List; import java.util.List;
@@ -22,5 +23,5 @@ public interface GwMonitorPushService {
String pushMonitorOverLimit(List<String> ids); String pushMonitorOverLimit(List<String> ids);
Page<MonitorLimitDTO> queryMonitorOverLimit(BaseParam baseParam); Page<MonitorLimitDTO> queryMonitorOverLimit(PmsMonitorQueryParam baseParam);
} }

View File

@@ -16,6 +16,7 @@ import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.pms.mapper.majornetwork.*; import com.njcn.device.pms.mapper.majornetwork.*;
import com.njcn.device.pms.pojo.dto.MonitorLimitDTO; import com.njcn.device.pms.pojo.dto.MonitorLimitDTO;
import com.njcn.device.pms.pojo.dto.PushMonitorDTO; 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.GeneratrixWire;
import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.pojo.po.Monitor;
import com.njcn.device.pms.pojo.po.PmsTerminal; import com.njcn.device.pms.pojo.po.PmsTerminal;
@@ -111,6 +112,8 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService {
throw new BusinessException("未查询到有效监测点!"); throw new BusinessException("未查询到有效监测点!");
} }
List<String> stationIds = monitorList.stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList()); List<String> stationIds = monitorList.stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList());
List<String> terminalIds = monitorList.stream().map(Monitor::getTerminalId).distinct().collect(Collectors.toList()); List<String> terminalIds = monitorList.stream().map(Monitor::getTerminalId).distinct().collect(Collectors.toList());
List<String> busIds = monitorList.stream().map(Monitor::getLineId).distinct().collect(Collectors.toList()); List<String> busIds = monitorList.stream().map(Monitor::getLineId).distinct().collect(Collectors.toList());
@@ -302,6 +305,12 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService {
if(CollUtil.isEmpty(monitorList)){ if(CollUtil.isEmpty(monitorList)){
throw new BusinessException("未查询到有效监测点!"); 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<String> monitorIds = monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList()); List<String> monitorIds = monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList());
@@ -454,10 +463,12 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService {
} }
@Override @Override
public Page<MonitorLimitDTO> queryMonitorOverLimit(BaseParam baseParam) { public Page<MonitorLimitDTO> queryMonitorOverLimit(PmsMonitorQueryParam baseParam) {
Page<MonitorLimitDTO> pageResult = new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)); Page<MonitorLimitDTO> pageResult = new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam));
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Monitor> 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() .or()
.like(Monitor::getId, baseParam.getSearchValue()) .like(Monitor::getId, baseParam.getSearchValue())
.or() .or()

View File

@@ -1031,14 +1031,43 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
monitorPO.setMonitorObjectName(oracleTerminalExcel.getObjName()); monitorPO.setMonitorObjectName(oracleTerminalExcel.getObjName());
if (objTypeDicMap.containsKey(oracleTerminalExcel.getLoadType())) {
String objTypeId = objTypeDicMap.get(oracleTerminalExcel.getLoadType()).getId(); if(oracleTerminalExcel.getLoadType().equals("电加热负荷") || oracleTerminalExcel.getLoadType().equals("商业/市政/民用/电子通讯负荷") ||oracleTerminalExcel.getLoadType().equals("其他非线性负荷")){
monitorPO.setMonitorTag(objTypeId); if (objTypeDicMap.containsKey(oracleTerminalExcel.getLoadType())) {
} else { String objTypeId = objTypeDicMap.get("冶炼负荷").getId();
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测标签不存在,请确认后重试")); monitorPO.setMonitorTag(objTypeId);
continue; }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())) { if (objTypeMap.containsKey(oracleTerminalExcel.getLoadType())) {