1.运行管理追加分页;
2.新增终端在线率统计接口; 3.移植运行状态接口
This commit is contained in:
@@ -5,7 +5,7 @@ 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.harmonic.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.device.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.harmonic.pojo.vo.AssesVO;
|
||||
import com.njcn.harmonic.service.AssesService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
package com.njcn.harmonic.controller;
|
||||
|
||||
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.pojo.vo.CommunicateVO;
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeParam;
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.harmonic.pojo.vo.CommunicateStatisticsVO;
|
||||
import com.njcn.harmonic.service.CommunicateService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author denghuajun
|
||||
* @date 2022/2/28
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/communicate")
|
||||
@Api(tags = "运行状态管理")
|
||||
@AllArgsConstructor
|
||||
public class CommunicateController extends BaseController {
|
||||
|
||||
private final CommunicateService communicateService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getComFlagInfoData")
|
||||
@ApiOperation("终端通讯信息")
|
||||
@ApiImplicitParam(name = "pulicTimeParam", value = "终端通讯信息", required = true)
|
||||
public HttpResult<CommunicateVO> getComFlagInfoData(@RequestBody @Validated PulicTimeParam pulicTimeParam) {
|
||||
String methodDescribe = getMethodDescribe("getComFlagInfoData");
|
||||
CommunicateVO list = communicateService.getComFlagInfoData(pulicTimeParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getRunInfoData")
|
||||
@ApiOperation("终端运行状态统计")
|
||||
@ApiImplicitParam(name = "pulicTimeStatisParam", value = "终端运行状态统计", required = true)
|
||||
public HttpResult<CommunicateStatisticsVO> getRunInfoData(@RequestBody @Validated PulicTimeStatisParam pulicTimeStatisParam) {
|
||||
String methodDescribe = getMethodDescribe("getRunInfoData");
|
||||
CommunicateStatisticsVO list = communicateService.getRunInfoData(pulicTimeStatisParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
}
|
||||
@@ -16,11 +16,9 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
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 org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,7 +5,7 @@ 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.harmonic.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.device.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.harmonic.pojo.vo.SteadyInfoData;
|
||||
import com.njcn.harmonic.service.SteadyDataService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.njcn.harmonic.service;
|
||||
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.device.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.harmonic.pojo.vo.AssesVO;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
package com.njcn.harmonic.service;
|
||||
|
||||
import com.njcn.device.pojo.vo.CommunicateVO;
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeParam;
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.harmonic.pojo.vo.CommunicateStatisticsVO;
|
||||
|
||||
/**
|
||||
* @author denghuajun
|
||||
* @date 2022/2/28
|
||||
*
|
||||
*/
|
||||
public interface CommunicateService {
|
||||
|
||||
CommunicateVO getComFlagInfoData(PulicTimeParam pulicTimeParam);
|
||||
|
||||
CommunicateStatisticsVO getRunInfoData(PulicTimeStatisParam pulicTimeStatisParam);
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.njcn.harmonic.service;
|
||||
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.device.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.harmonic.pojo.vo.SteadyInfoData;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package com.njcn.harmonic.service.impl;
|
||||
|
||||
import com.njcn.device.pojo.po.Communicate;
|
||||
import com.njcn.harmonic.constant.Param;
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.device.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.harmonic.pojo.vo.AssesVO;
|
||||
import com.njcn.harmonic.service.AssesService;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
@@ -16,7 +14,6 @@ import org.influxdb.impl.InfluxDBResultMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -1,96 +0,0 @@
|
||||
package com.njcn.harmonic.service.impl;
|
||||
|
||||
import com.njcn.device.api.LineFeignClient;
|
||||
import com.njcn.device.pojo.vo.CommunicateVO;
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeParam;
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.harmonic.pojo.vo.CommunicateStatisticsVO;
|
||||
import com.njcn.harmonic.service.CommunicateService;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.njcn.influxdb.param.InfluxDBPublicParam.*;
|
||||
|
||||
/**
|
||||
* @author denghuajun
|
||||
* @date 2022/2/28
|
||||
*
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class CommunicateServiceImpl implements CommunicateService {
|
||||
|
||||
private final LineFeignClient lineFeignClient;
|
||||
|
||||
private final InfluxDbUtils influxDbUtils;
|
||||
|
||||
@Override
|
||||
public CommunicateVO getComFlagInfoData(PulicTimeParam pulicTimeParam) {
|
||||
//根据监测点id获取终端状态信息
|
||||
return lineFeignClient.getComFlagInfoData(pulicTimeParam.getId(), pulicTimeParam.getSearchBeginTime(), pulicTimeParam.getSearchEndTime()).getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommunicateStatisticsVO getRunInfoData(PulicTimeStatisParam pulicTimeStatisParam) {
|
||||
CommunicateStatisticsVO communicateStatisticsVO = new CommunicateStatisticsVO();
|
||||
//根据监测点id获取终端id
|
||||
String devId = lineFeignClient.getLineIdByDevId(pulicTimeStatisParam.getId()).getData();
|
||||
List<Float> floatList = new ArrayList<>();
|
||||
List<Float> floats = new ArrayList<>();
|
||||
floatList.add(getCondition(pulicTimeStatisParam.getId(), pulicTimeStatisParam.getSearchBeginTime(), pulicTimeStatisParam.getSearchEndTime(),0) * 100);
|
||||
floats.add(getCondition(devId, pulicTimeStatisParam.getSearchBeginTime(), pulicTimeStatisParam.getSearchEndTime(),1) * 100);
|
||||
if (StringUtils.isNotBlank(pulicTimeStatisParam.getPeriodBeginTime())&& StringUtils.isNotBlank(pulicTimeStatisParam.getPeriodEndTime())){
|
||||
floatList.add(getCondition(pulicTimeStatisParam.getId(), pulicTimeStatisParam.getPeriodBeginTime(), pulicTimeStatisParam.getPeriodEndTime(),0)*100);
|
||||
floats.add(getCondition(devId, pulicTimeStatisParam.getPeriodBeginTime(), pulicTimeStatisParam.getPeriodEndTime(),1)*100);
|
||||
}
|
||||
communicateStatisticsVO.setOnlineRateData(floats);
|
||||
communicateStatisticsVO.setIntegrityData(floatList);
|
||||
return communicateStatisticsVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* influxDB相关操作
|
||||
* 查询监测点的数据完整性
|
||||
*/
|
||||
private Float getCondition(String lineList, String startTime, String endTime,Integer state) {
|
||||
final Float[] resultList = {0.0f};
|
||||
//组装sql语句
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append(TIME + " >= '").append(startTime).append(START_TIME).append("' and ").append(TIME).append(" <= '").append(endTime).append(END_TIME).append("' and (");
|
||||
//sql语句
|
||||
String sql = "";
|
||||
if (state == 0) {
|
||||
stringBuilder.append(LINE_ID + "='").append(lineList).append("')");
|
||||
sql = "SELECT SUM(" + REAL+ ")/SUM(" + DUE + ") AS integrity FROM pqs_integrity WHERE " + stringBuilder.toString() + " group by " + LINE_ID;
|
||||
} else {
|
||||
stringBuilder.append(DEV_INDEX + "='").append(lineList).append("')");
|
||||
sql = "SELECT SUM(" + ONLINE_MIN + ")/(SUM(" + OFFLINE_MIN + ")+SUM(" + ONLINE_MIN + ")) AS onlineRate FROM pqs_onlinerate WHERE " + stringBuilder.toString() + " group by " + DEV_INDEX;
|
||||
}
|
||||
stringBuilder.append(TIME_ZONE);
|
||||
//结果集
|
||||
QueryResult result = influxDbUtils.query(sql);
|
||||
//处理结果集
|
||||
List<QueryResult.Series> list = result.getResults().get(0).getSeries();
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
list.forEach(po -> {
|
||||
List<List<Object>> valueList = po.getValues();
|
||||
if (!CollectionUtils.isEmpty(valueList)) {
|
||||
for (List<Object> value : valueList) {
|
||||
//数据完整性 保留四位小数
|
||||
resultList[0] = value.get(1) == null ? null : BigDecimal.valueOf(Float.parseFloat(value.get(1).toString())).setScale(4, BigDecimal.ROUND_HALF_UP).floatValue();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return resultList[0];
|
||||
}
|
||||
}
|
||||
@@ -202,10 +202,10 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
valueTypeName = "AVG";
|
||||
break;
|
||||
case 2:
|
||||
valueTypeName = "MAX";
|
||||
valueTypeName = "MIN";
|
||||
break;
|
||||
case 3:
|
||||
valueTypeName = "MIN";
|
||||
valueTypeName = "MAX";
|
||||
break;
|
||||
case 4:
|
||||
valueTypeName = "CP95";
|
||||
@@ -271,7 +271,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
case 14:
|
||||
//电压不平衡
|
||||
sql = "SELECT time as time, v_zero as aValue FROM data_v WHERE " + stringBuilder.toString() +
|
||||
" and (phasic_type ='A' or phasic_type ='B' or phasic_type ='C') group by phasic_type order by time asc tz('Asia/Shanghai');";
|
||||
" and (phasic_type ='T') group by phasic_type order by time asc tz('Asia/Shanghai');";
|
||||
phasicType.add("零序电压");
|
||||
phasicType.add("正序电压");
|
||||
phasicType.add("负序电压");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.njcn.harmonic.service.impl;
|
||||
|
||||
import com.njcn.harmonic.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.device.pojo.param.PulicTimeStatisParam;
|
||||
import com.njcn.harmonic.pojo.vo.SteadyInfoData;
|
||||
import com.njcn.harmonic.service.SteadyDataService;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
|
||||
Reference in New Issue
Block a user