河北超高压算法调整
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
package com.njcn.prepare.harmonic.controller.line;
|
package com.njcn.prepare.harmonic.controller.line;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
|
||||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
@@ -8,17 +7,14 @@ import com.njcn.common.pojo.response.HttpResult;
|
|||||||
import com.njcn.common.utils.HttpResultUtil;
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
import com.njcn.common.utils.NjcnDateUtils;
|
import com.njcn.common.utils.NjcnDateUtils;
|
||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
|
||||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.line.IntegrityService;
|
import com.njcn.prepare.harmonic.service.mysql.line.IntegrityService;
|
||||||
import com.njcn.prepare.harmonic.utils.PublicUtil;
|
|
||||||
import com.njcn.web.controller.BaseController;
|
import com.njcn.web.controller.BaseController;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.util.CollectionUtils;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
@@ -53,14 +49,18 @@ public class IntegrityController extends BaseController {
|
|||||||
public HttpResult<String> dataIntegrity(@RequestBody @Validated LineParam lineParam){
|
public HttpResult<String> dataIntegrity(@RequestBody @Validated LineParam lineParam){
|
||||||
log.info(LocalDateTime.now()+"dataIntegrity开始执行");
|
log.info(LocalDateTime.now()+"dataIntegrity开始执行");
|
||||||
String methodDescribe = getMethodDescribe("dataIntegrity");
|
String methodDescribe = getMethodDescribe("dataIntegrity");
|
||||||
CalculatedParam calculatedParam = new CalculatedParam();
|
String startTime,endTime;
|
||||||
calculatedParam.setDataDate(lineParam.getDataDate());
|
if (Objects.nonNull(lineParam.getRepairFlag()) && lineParam.getRepairFlag()){
|
||||||
if (CollectionUtil.isNotEmpty(lineParam.getLineIds())){
|
List<String> timeRange = NjcnDateUtils.findEveryDay(lineParam.getBeginTime(),lineParam.getEndTime());
|
||||||
calculatedParam.setIdList(lineParam.getLineIds());
|
for (String item : timeRange) {
|
||||||
|
log.info(item+"-->开始执行");
|
||||||
|
startTime = item+" "+"00:00:00";
|
||||||
|
endTime = item+" "+"23:59:59";
|
||||||
|
integrityService.dataIntegrity(lineParam,startTime,endTime);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
calculatedParam.setIdList(commTerminalGeneralClient.getRunMonitorIds().getData());
|
integrityService.dataIntegrity(lineParam,lineParam.getBeginTime(),lineParam.getEndTime());
|
||||||
}
|
}
|
||||||
integrityService.dataIntegrity(calculatedParam);
|
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, CommonResponseEnum.SUCCESS.getMessage(), methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, CommonResponseEnum.SUCCESS.getMessage(), methodDescribe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,17 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.common.pojo.enums.common.ServerEnum;
|
||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
|
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||||
import com.njcn.device.pq.api.LineFeignClient;
|
import com.njcn.device.pq.api.LineFeignClient;
|
||||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||||
|
import com.njcn.influx.deprecated.InfluxDBPublicParam;
|
||||||
import com.njcn.influx.imapper.DataVMapper;
|
import com.njcn.influx.imapper.DataVMapper;
|
||||||
import com.njcn.influx.pojo.bo.MeasurementCount;
|
import com.njcn.influx.pojo.bo.MeasurementCount;
|
||||||
import com.njcn.influx.pojo.constant.InfluxDBTableConstant;
|
import com.njcn.influx.pojo.constant.InfluxDBTableConstant;
|
||||||
@@ -16,15 +20,21 @@ import com.njcn.influx.query.InfluxQueryWrapper;
|
|||||||
import com.njcn.influx.utils.InfluxDbUtils;
|
import com.njcn.influx.utils.InfluxDbUtils;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.line.IntegrityService;
|
import com.njcn.prepare.harmonic.service.mysql.line.IntegrityService;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
|
import com.njcn.user.pojo.po.Dept;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.ListUtils;
|
import org.apache.commons.collections4.ListUtils;
|
||||||
|
import org.influxdb.dto.QueryResult;
|
||||||
|
import org.influxdb.impl.InfluxDBResultMapper;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -54,37 +64,35 @@ public class IntegrityServiceImpl extends MppServiceImpl<RStatIntegrityDMapper,
|
|||||||
|
|
||||||
private final DataVMapper dataVMapper;
|
private final DataVMapper dataVMapper;
|
||||||
|
|
||||||
// @Override
|
@Override
|
||||||
// @Async("asyncExecutor")
|
@Async("asyncExecutor")
|
||||||
// @Deprecated
|
@Deprecated
|
||||||
// public void dataIntegrity(LineParam lineParam,String startTime,String endTime) {
|
public void dataIntegrity(LineParam lineParam, String startTime, String endTime) {
|
||||||
// DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
LocalDate dateTime = LocalDate.parse(startTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||||
// LocalDateTime dateTime = LocalDateTime.parse(startTime,df);
|
List<LineDevGetDTO> lineDevGetDTOList;
|
||||||
//
|
if (CollUtil.isEmpty(lineParam.getLineIds())){
|
||||||
// List<LineDevGetDTO> lineDevGetDTOList = new ArrayList<>();
|
Dept dept = deptFeignClient.getRootDept().getData();
|
||||||
// if (CollUtil.isEmpty(lineParam.getLineIds())){
|
|
||||||
// Dept dept = deptFeignClient.getRootDept().getData();
|
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||||
//
|
deptGetLineParam.setDeptId(dept.getId());
|
||||||
// DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
deptGetLineParam.setServerName(ServerEnum.HARMONIC.getName());
|
||||||
// deptGetLineParam.setDeptId(dept.getId());
|
List<String> monitorIds = commTerminalGeneralClient.getRunMonitorIds().getData();
|
||||||
// deptGetLineParam.setServerName(ServerEnum.HARMONIC.getName());
|
lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(monitorIds).getData();
|
||||||
// List<String> monitorIds = commTerminalGeneralClient.getRunMonitorIds().getData();
|
}else {
|
||||||
// lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(monitorIds).getData();
|
lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(lineParam.getLineIds()).getData();
|
||||||
// }else {
|
}
|
||||||
// lineDevGetDTOList = commTerminalGeneralClient.getMonitorDetailList(lineParam.getLineIds()).getData();
|
List<RStatIntegrityD> list = new ArrayList<>();
|
||||||
// }
|
for (LineDevGetDTO lineDetail :lineDevGetDTOList){
|
||||||
// List<RStatIntegrityD> list = new ArrayList<>();
|
int dataCount = getDataCount(lineDetail.getPointId(),startTime,endTime);
|
||||||
// for (LineDevGetDTO lineDetail :lineDevGetDTOList){
|
RStatIntegrityD integrityDpo = new RStatIntegrityD();
|
||||||
// int dataCount = getDataCount(lineDetail.getPointId(),startTime,endTime);
|
integrityDpo.setTimeId(dateTime);
|
||||||
// RStatIntegrityD integrityDpo = new RStatIntegrityD();
|
integrityDpo.setLineIndex(lineDetail.getPointId());
|
||||||
// integrityDpo.setTimeId(dateTime);
|
integrityDpo.setDueTime(InfluxDBPublicParam.DAY_MINUTE/lineDetail.getInterval());
|
||||||
// integrityDpo.setLineIndex(lineDetail.getPointId());
|
integrityDpo.setRealTime(dataCount);
|
||||||
// integrityDpo.setDueTime(InfluxDBPublicParam.DAY_MINUTE/lineDetail.getInterval());
|
list.add(integrityDpo);
|
||||||
// integrityDpo.setRealTime(dataCount);
|
}
|
||||||
// list.add(integrityDpo);
|
this.saveOrUpdateBatchByMultiId(list,500);
|
||||||
// }
|
}
|
||||||
// this.saveOrUpdateBatchByMultiId(list,500);
|
|
||||||
// }
|
|
||||||
|
|
||||||
/********************************新算法************************************************/
|
/********************************新算法************************************************/
|
||||||
@Override
|
@Override
|
||||||
@@ -144,16 +152,16 @@ public class IntegrityServiceImpl extends MppServiceImpl<RStatIntegrityDMapper,
|
|||||||
|
|
||||||
/********************************新算法结束************************************************/
|
/********************************新算法结束************************************************/
|
||||||
|
|
||||||
// private int getDataCount(String lineId,String startTime,String endTime){
|
private int getDataCount(String lineId,String startTime,String endTime){
|
||||||
// QueryResult sqlResult = influxDbUtils.query("SELECT * FROM data_v WHERE time >= '" + startTime + "' and time <= '" + endTime + "' and line_id = '" + lineId + "' and phasic_type = 'T' and value_type = 'MAX' tz('Asia/Shanghai')");
|
QueryResult sqlResult = influxDbUtils.query("SELECT * FROM data_v WHERE time >= '" + startTime + "' and time <= '" + endTime + "' and line_id = '" + lineId + "' and phasic_type = 'A' and value_type = 'MAX' tz('Asia/Shanghai')");
|
||||||
// InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
|
InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
|
||||||
// List<DataV> list = resultMapper.toPOJO(sqlResult, DataV.class);
|
List<DataV> list = resultMapper.toPOJO(sqlResult, DataV.class);
|
||||||
// if (CollectionUtils.isEmpty(list)){
|
if (CollectionUtils.isEmpty(list)){
|
||||||
// return 0;
|
return 0;
|
||||||
// } else {
|
} else {
|
||||||
// return list.size();
|
return list.size();
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.line;
|
package com.njcn.prepare.harmonic.service.mysql.line;
|
||||||
|
|
||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xiaoyao
|
* @author xiaoyao
|
||||||
@@ -9,7 +10,8 @@ import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
|||||||
*/
|
*/
|
||||||
public interface IntegrityService {
|
public interface IntegrityService {
|
||||||
|
|
||||||
// void dataIntegrity(LineParam lineParam,String startTime,String endTime);
|
@Deprecated
|
||||||
|
void dataIntegrity(LineParam lineParam, String startTime, String endTime);
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* 监测点数据完整性_日表
|
* 监测点数据完整性_日表
|
||||||
|
|||||||
Reference in New Issue
Block a user