代码提交

This commit is contained in:
2023-12-13 16:16:59 +08:00
parent e5ca1cbd05
commit a61fd925dd
6 changed files with 561 additions and 1 deletions

View File

@@ -0,0 +1,93 @@
package com.njcn.device.pms.pojo.dto;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* pqs
*
* @author cdf
* @date 2023/12/13
*/
@Data
public class MonitorLimitDTO {
private String id;
private Date ocDate;
private String monitorId;
private String voltage;
private Integer ct;
private Integer pt;
private BigDecimal voldelimiteUp;
private BigDecimal voldelimiteLow;
private BigDecimal pltLimit;
private BigDecimal freqLimit;
private BigDecimal ratedeLimiteUp;
private BigDecimal ratedeLimiteDown;
private BigDecimal vthdLimit;
private BigDecimal flucLimit;
private BigDecimal deltaLimit;
private BigDecimal vunbanLimit;
private BigDecimal oddHamVPerate;
private BigDecimal eveHamVPerate;
private BigDecimal i2Limit;
private BigDecimal i3Limit;
private BigDecimal i4Limit;
private BigDecimal i5Limit;
private BigDecimal i6Limit;
private BigDecimal i7Limit;
private BigDecimal i8Limit;
private BigDecimal i9Limit;
private BigDecimal i10Limit;
private BigDecimal i11Limit;
private BigDecimal i12Limit;
private BigDecimal i13Limit;
private BigDecimal i14Limit;
private BigDecimal i15Limit;
private BigDecimal i16Limit;
private BigDecimal i17Limit;
private BigDecimal i18Limit;
private BigDecimal i19Limit;
private BigDecimal i20Limit;
private BigDecimal i21Limit;
private BigDecimal i22Limit;
private BigDecimal i23Limit;
private BigDecimal i25Limit;
private BigDecimal harmonicVoltageLimit2;
private BigDecimal harmonicVoltageLimit3to16;
private BigDecimal shortNegatiVUnbalan_limit;
private BigDecimal normNegatiVUnbalanLimit;
private BigDecimal negatiCUnbalanCp95;
private BigDecimal negatiCUnbalanMax;
private BigDecimal i24Limit;
private BigDecimal i26Limit;
private BigDecimal i27Limit;
private BigDecimal i28Limit;
private BigDecimal i29Limit;
private BigDecimal i30Limit;
private BigDecimal i31Limit;
private BigDecimal i32Limit;
private BigDecimal i33Limit;
private BigDecimal i34Limit;
private BigDecimal i35Limit;
private BigDecimal i36Limit;
private BigDecimal i37Limit;
private BigDecimal i38Limit;
private BigDecimal i39Limit;
private BigDecimal i40Limit;
private BigDecimal i41Limit;
private BigDecimal i42Limit;
private BigDecimal i43Limit;
private BigDecimal i44Limit;
private BigDecimal i45Limit;
private BigDecimal i46Limit;
private BigDecimal i47Limit;
private BigDecimal i48Limit;
private BigDecimal i49Limit;
private BigDecimal i50Limit;
}

View File

@@ -0,0 +1,62 @@
package com.njcn.device.pms.pojo.dto;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* pqs
*
* @author cdf
* @date 2023/12/11
*/
@Data
public class PushMonitorDTO {
private String id;
private String monitorName;
private String monitorId;
private String terminalCode;
private BigDecimal monitorLocal;
private String objectType;
private String voltageLevel;
private BigDecimal minShortCapacity;
private BigDecimal bmShortCapacity;
private BigDecimal supplyEquipCapacity;
private BigDecimal userProtocolCapacity;
private String customName;
private String status;
private Date ctime;
private Date updateTime;
private String lineId;
private String chv;
private String chi;
private String evtType;
private String terminalConnect;
private String neutralGround;
private String isLine;
private String monitorType;
private String breakerName;
private String breakerId;
private String passTime;
private String objTypePre;
private String objTypePrePre;
private String isMajorNet;
private String cityId;
private String maintOrg;
private String statisticalInterval;
private String busId;
private String monitorTag;
private String monitorObjId;
private String transId;
private String nameType;
private String measPointId;
private String convertorStationId;
private String logicalDeviceSeq;
private String substationId;
private String substationName;
private String subVoltageLevel;
private String provinceId;
private String provinceName;
}

View File

@@ -136,7 +136,7 @@ public class Monitor extends BaseEntity {
private Integer isSpecialSupplyElectricity; private Integer isSpecialSupplyElectricity;
/** /**
* 监测对象类型 * 监测点标签
*/ */
private String monitorTag; private String monitorTag;

View File

@@ -0,0 +1,74 @@
package com.njcn.device.pms.controller.gwPush;
import cn.hutool.core.collection.CollectionUtil;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
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.pms.pojo.dto.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
import com.njcn.device.pms.service.gwPush.GwMonitorPushService;
import com.njcn.web.controller.BaseController;
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;
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;
/**
* pqs
* 台账国网推送
*
* @author cdf
* @date 2023/12/11
*/
@Slf4j
@Api(tags = "台账国网推送")
@RestController
@RequestMapping("/gwTerminalPush")
@RequiredArgsConstructor
public class GwMonitorPushController extends BaseController {
private final GwMonitorPushService gwMonitorPushService;
/**
* 推送主网监测点
*
* @author cdf
* @date 2023/12/11
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/pushMonitor")
@ApiOperation("推送主网监测点")
@ApiImplicitParam(name = "ids", value = "主网监测点id集合", required = true)
public HttpResult<Object> pushMonitor(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("pushMonitor");
String msg = gwMonitorPushService.pushMonitor(ids);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, msg, methodDescribe);
}
/**
* 推送监测点限值台账数据接口
* @author cdf
* @date 2023/12/13
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/pushMonitorOverLimit")
@ApiOperation("推送主网监测点")
@ApiImplicitParam(name = "ids", value = "主网监测点id集合", required = true)
public HttpResult<Object> pushMonitorOverLimit(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("pushMonitorOverLimit");
String msg = gwMonitorPushService.pushMonitor(ids);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, msg, methodDescribe);
}
}

View File

@@ -0,0 +1,18 @@
package com.njcn.device.pms.service.gwPush;
import java.util.List;
/**
* pqs
*
* @author cdf
* @date 2023/12/11
*/
public interface GwMonitorPushService {
String pushMonitor(List<String> ids);
String pushMonitorOverLimit(List<String> ids);
}

View File

@@ -0,0 +1,313 @@
package com.njcn.device.pms.service.gwPush.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.UUID;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.pms.mapper.majornetwork.MonitorMapper;
import com.njcn.device.pms.mapper.majornetwork.OverlimitMapper;
import com.njcn.device.pms.pojo.dto.MonitorLimitDTO;
import com.njcn.device.pms.pojo.dto.PushMonitorDTO;
import com.njcn.device.pms.pojo.po.Monitor;
import com.njcn.device.pms.service.gwPush.GwMonitorPushService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.web.enums.GWSendEnum;
import com.njcn.web.pojo.param.SendParam;
import com.njcn.web.utils.GwSendUtil;
import lombok.Data;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* pqs
*
* @author cdf
* @date 2023/12/11
*/
@Service
@RequiredArgsConstructor
public class GwMonitorPushServiceImpl implements GwMonitorPushService {
private final MonitorMapper monitorMapper;
private final OverlimitMapper overlimitMapper;
private DicDataFeignClient dicDataFeignClient;
@Override
public String pushMonitor(List<String> ids) {
List<PushMonitorDTO> pushResult = new ArrayList<>();
//电压等级
List<DictData> voltageDicList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
Map<String, DictData> voltageMap = voltageDicList.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
//监测点对象
List<DictData> objTagDicList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData();
Map<String, DictData> objTagMap = objTagDicList.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
//监测点状态
List<DictData> statusDicList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData();
Map<String, DictData> statusMap = statusDicList.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
//电压互感类型
List<DictData> tranDicList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.VOLTAGE_TRANSFORMER.getCode()).getData();
Map<String, DictData> tranMap = tranDicList.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(Monitor::getId, ids).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
List<Monitor> monitorList = monitorMapper.selectList(lambdaQueryWrapper);
for (Monitor item : monitorList) {
PushMonitorDTO pushMonitorDTO = new PushMonitorDTO();
pushMonitorDTO.setId(IdUtil.simpleUUID());
pushMonitorDTO.setMonitorId(item.getId());
pushMonitorDTO.setMonitorName(item.getName());
pushMonitorDTO.setTerminalCode(item.getTerminalId());
// pushMonitorDTO.setObjectType();
if(Objects.nonNull(item.getMinShortCircuitCapacity())){
pushMonitorDTO.setMinShortCapacity(BigDecimal.valueOf(item.getMinShortCircuitCapacity()));
}
if(Objects.nonNull(item.getStandShortCapacity())){
pushMonitorDTO.setBmShortCapacity(BigDecimal.valueOf(item.getStandShortCapacity()));
}
if(Objects.nonNull(item.getPowerSupplyEqCapacity())){
pushMonitorDTO.setSupplyEquipCapacity(BigDecimal.valueOf(item.getPowerSupplyEqCapacity()));
}
if(Objects.nonNull(item.getUserAgreementCapacity())){
pushMonitorDTO.setUserProtocolCapacity(BigDecimal.valueOf(item.getUserAgreementCapacity()));
}
if(Objects.nonNull(item.getMonitorObjectName())){
pushMonitorDTO.setCustomName(item.getMonitorObjectName());
}
if(statusMap.containsKey(item.getMonitorState())){
pushMonitorDTO.setStatus(statusMap.get(item.getMonitorState()).getValue());
}
if(tranMap.containsKey(item.getPotentialTransFormerType())) {
pushMonitorDTO.setEvtType(tranMap.get(item.getPotentialTransFormerType()).getValue());
}
if (voltageMap.containsKey(item.getVoltageLevel())) {
pushMonitorDTO.setVoltageLevel(String.format("%02d", voltageMap.get(item.getVoltageLevel()).getAlgoDescribe()));
}
if(tranMap.containsKey(item.getPotentialTransFormerType())) {
pushMonitorDTO.setEvtType(tranMap.get(item.getPotentialTransFormerType()).getValue());
}
if(objTagMap.containsKey(item.getMonitorTag())){
pushMonitorDTO.setObjTypePre(objTagMap.get(item.getMonitorTag()).getValue());
pushMonitorDTO.setObjTypePrePre(objTagMap.get(item.getMonitorTag()).getValue());
}
pushMonitorDTO.setIsMajorNet("1");
pushMonitorDTO.setCityId(item.getOrgId());
if(StrUtil.isNotBlank(item.getOperationId())){
pushMonitorDTO.setMaintOrg(item.getOperationId());
}
if(Objects.nonNull(item.getStatisticalInterval())){
pushMonitorDTO.setStatisticalInterval(item.getStatisticalInterval().toString());
}
pushMonitorDTO.setBusId(item.getLineId());
pushMonitorDTO.setMonitorTag(objTagMap.get(item.getMonitorTag()).getValue());
if(StrUtil.isNotBlank(item.getMonitorObjectId())){
pushMonitorDTO.setMonitorObjId(item.getMonitorObjectId());
}
pushResult.add(pushMonitorDTO);
}
SendParam sendParam = new SendParam();
sendParam.setStats(pushResult);
Map<String,String> sendRes = GwSendUtil.send(sendParam, GWSendEnum.MONITOR);
if (sendRes.containsKey("succeed")) {
String succeed = sendRes.get("succeed");
if (succeed.contains("\\\"")) {
succeed = succeed.replace("\\\"", "\"");
}
Map mapRes = JSON.parseObject(succeed, Map.class);
String status = mapRes.get("status").toString();
if ("000000".equals(status)) {
/* for (SupvReportM supvReportM : supvReportMList) {
supvReportMMapper.updateId(1, supvReportM.getMonthReportId());
}*/
String result = mapRes.get("result").toString();
Map mapCount = JSON.parseObject(result, Map.class);
String count = mapCount.get("count").toString();
return "操作成功:成功数据" + count + "";
} else {
String errors = mapRes.get("errors").toString();
throw new BusinessException("操作失败:" + status + "_" + errors);
}
} else {
throw new BusinessException("当前时间段国网上送请求过多,请稍后再试");
}
return "推送成功";
}
@Override
public String pushMonitorOverLimit(List<String> ids) {
List<MonitorLimitDTO> pushResult = new ArrayList<>();
//电压等级
List<DictData> voltageDicList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
Map<String, DictData> voltageMap = voltageDicList.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(Monitor::getId, ids).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
List<Monitor> monitorList = monitorMapper.selectList(lambdaQueryWrapper);
LambdaQueryWrapper<Overlimit> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(Overlimit::getId, ids);
List<Overlimit> overlimitList = overlimitMapper.selectList(queryWrapper);
Map<String,Overlimit> map = overlimitList.stream().collect(Collectors.toMap(Overlimit::getId,Function.identity()));
if(CollUtil.isNotEmpty(monitorList)){
for(Monitor monitor : monitorList){
MonitorLimitDTO monitorLimitDTO = new MonitorLimitDTO();
monitorLimitDTO.setId(monitor.getId());
monitorLimitDTO.setOcDate(new Date());
monitorLimitDTO.setMonitorId(monitor.getId());
if (voltageMap.containsKey(monitor.getVoltageLevel())) {
monitorLimitDTO.setVoltage(String.format("%02d", voltageMap.get(monitor.getVoltageLevel()).getAlgoDescribe()));
}
monitorLimitDTO.setVoldelimiteUp(BigDecimal.valueOf(monitor.getVoltageDeviationUpperLimit()));
monitorLimitDTO.setVoldelimiteLow(BigDecimal.valueOf(monitor.getVoltageDeviationLowerLimit()));
Overlimit overlimit = map.get(monitor.getId());
monitorLimitDTO.setPltLimit(BigDecimal.valueOf(overlimit.getFlicker()));
monitorLimitDTO.setRatedeLimiteUp(BigDecimal.valueOf(overlimit.getFreqDev()));
monitorLimitDTO.setRatedeLimiteDown(BigDecimal.valueOf(-overlimit.getFreqDev()));
monitorLimitDTO.setVthdLimit(BigDecimal.valueOf(overlimit.getUaberrance()));
monitorLimitDTO.setFlucLimit(BigDecimal.valueOf(overlimit.getVoltageFluctuation()));
monitorLimitDTO.setDeltaLimit(BigDecimal.valueOf(overlimit.getVoltageDev()));
monitorLimitDTO.setVunbanLimit(BigDecimal.valueOf(overlimit.getUbalance()));
monitorLimitDTO.setOddHamVPerate(BigDecimal.valueOf(overlimit.getUharm3()));
monitorLimitDTO.setEveHamVPerate(BigDecimal.valueOf(overlimit.getUharm2()));
monitorLimitDTO.setI2Limit(BigDecimal.valueOf(overlimit.getIharm2()));
monitorLimitDTO.setI3Limit(BigDecimal.valueOf(overlimit.getIharm3()));
monitorLimitDTO.setI4Limit(BigDecimal.valueOf(overlimit.getIharm4()));
monitorLimitDTO.setI5Limit(BigDecimal.valueOf(overlimit.getIharm5()));
monitorLimitDTO.setI6Limit(BigDecimal.valueOf(overlimit.getIharm6()));
monitorLimitDTO.setI7Limit(BigDecimal.valueOf(overlimit.getIharm7()));
monitorLimitDTO.setI8Limit(BigDecimal.valueOf(overlimit.getIharm8()));
monitorLimitDTO.setI9Limit(BigDecimal.valueOf(overlimit.getIharm9()));
monitorLimitDTO.setI10Limit(BigDecimal.valueOf(overlimit.getIharm10()));
monitorLimitDTO.setI11Limit(BigDecimal.valueOf(overlimit.getIharm11()));
monitorLimitDTO.setI12Limit(BigDecimal.valueOf(overlimit.getIharm12()));
monitorLimitDTO.setI13Limit(BigDecimal.valueOf(overlimit.getIharm13()));
monitorLimitDTO.setI14Limit(BigDecimal.valueOf(overlimit.getIharm14()));
monitorLimitDTO.setI15Limit(BigDecimal.valueOf(overlimit.getIharm15()));
monitorLimitDTO.setI16Limit(BigDecimal.valueOf(overlimit.getIharm16()));
monitorLimitDTO.setI17Limit(BigDecimal.valueOf(overlimit.getIharm17()));
monitorLimitDTO.setI18Limit(BigDecimal.valueOf(overlimit.getIharm18()));
monitorLimitDTO.setI19Limit(BigDecimal.valueOf(overlimit.getIharm19()));
monitorLimitDTO.setI20Limit(BigDecimal.valueOf(overlimit.getIharm20()));
monitorLimitDTO.setI21Limit(BigDecimal.valueOf(overlimit.getIharm21()));
monitorLimitDTO.setI22Limit(BigDecimal.valueOf(overlimit.getIharm22()));
monitorLimitDTO.setI23Limit(BigDecimal.valueOf(overlimit.getIharm23()));
monitorLimitDTO.setI24Limit(BigDecimal.valueOf(overlimit.getIharm24()));
monitorLimitDTO.setI25Limit(BigDecimal.valueOf(overlimit.getIharm25()));
monitorLimitDTO.setI26Limit(BigDecimal.valueOf(overlimit.getIharm26()));
monitorLimitDTO.setI27Limit(BigDecimal.valueOf(overlimit.getIharm27()));
monitorLimitDTO.setI28Limit(BigDecimal.valueOf(overlimit.getIharm28()));
monitorLimitDTO.setI29Limit(BigDecimal.valueOf(overlimit.getIharm29()));
monitorLimitDTO.setI30Limit(BigDecimal.valueOf(overlimit.getIharm30()));
monitorLimitDTO.setI31Limit(BigDecimal.valueOf(overlimit.getIharm31()));
monitorLimitDTO.setI32Limit(BigDecimal.valueOf(overlimit.getIharm32()));
monitorLimitDTO.setI33Limit(BigDecimal.valueOf(overlimit.getIharm33()));
monitorLimitDTO.setI34Limit(BigDecimal.valueOf(overlimit.getIharm34()));
monitorLimitDTO.setI35Limit(BigDecimal.valueOf(overlimit.getIharm35()));
monitorLimitDTO.setI36Limit(BigDecimal.valueOf(overlimit.getIharm36()));
monitorLimitDTO.setI37Limit(BigDecimal.valueOf(overlimit.getIharm37()));
monitorLimitDTO.setI38Limit(BigDecimal.valueOf(overlimit.getIharm38()));
monitorLimitDTO.setI39Limit(BigDecimal.valueOf(overlimit.getIharm39()));
monitorLimitDTO.setI40Limit(BigDecimal.valueOf(overlimit.getIharm40()));
monitorLimitDTO.setI41Limit(BigDecimal.valueOf(overlimit.getIharm41()));
monitorLimitDTO.setI42Limit(BigDecimal.valueOf(overlimit.getIharm42()));
monitorLimitDTO.setI43Limit(BigDecimal.valueOf(overlimit.getIharm43()));
monitorLimitDTO.setI44Limit(BigDecimal.valueOf(overlimit.getIharm44()));
monitorLimitDTO.setI45Limit(BigDecimal.valueOf(overlimit.getIharm45()));
monitorLimitDTO.setI46Limit(BigDecimal.valueOf(overlimit.getIharm46()));
monitorLimitDTO.setI47Limit(BigDecimal.valueOf(overlimit.getIharm47()));
monitorLimitDTO.setI48Limit(BigDecimal.valueOf(overlimit.getIharm48()));
monitorLimitDTO.setI49Limit(BigDecimal.valueOf(overlimit.getIharm49()));
monitorLimitDTO.setI50Limit(BigDecimal.valueOf(overlimit.getIharm50()));
monitorLimitDTO.setHarmonicVoltageLimit2(BigDecimal.valueOf(overlimit.getInuharm1()));
monitorLimitDTO.setHarmonicVoltageLimit3to16(BigDecimal.valueOf(overlimit.getInuharm3()));
pushResult.add(monitorLimitDTO);
}
SendParam sendParam = new SendParam();
sendParam.setStats(pushResult);
Map<String,String> sendRes = GwSendUtil.send(sendParam, GWSendEnum.MONITOR);
if (sendRes.containsKey("succeed")) {
String succeed = sendRes.get("succeed");
if (succeed.contains("\\\"")) {
succeed = succeed.replace("\\\"", "\"");
}
Map mapRes = JSON.parseObject(succeed, Map.class);
String status = mapRes.get("status").toString();
if ("000000".equals(status)) {
/* for (SupvReportM supvReportM : supvReportMList) {
supvReportMMapper.updateId(1, supvReportM.getMonthReportId());
}*/
String result = mapRes.get("result").toString();
Map mapCount = JSON.parseObject(result, Map.class);
String count = mapCount.get("count").toString();
return "操作成功:成功数据" + count + "";
} else {
String errors = mapRes.get("errors").toString();
throw new BusinessException("操作失败:" + status + "_" + errors);
}
} else {
throw new BusinessException("当前时间段国网上送请求过多,请稍后再试");
}
}else {
throw new BusinessException("暂无监测点信息");
}
}
}