日表算法
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
package com.njcn.dataProcess.controller;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.OperateType;
|
||||
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.dataProcess.annotation.InsertBean;
|
||||
import com.njcn.dataProcess.annotation.QueryBean;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmRateIDto;
|
||||
import com.njcn.dataProcess.service.IDataHarmRateI;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Controller;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
* @version 1.0
|
||||
* @data 2025/3/3 10:00
|
||||
*/
|
||||
@Validated
|
||||
@Slf4j
|
||||
@Controller
|
||||
@RestController
|
||||
@RequestMapping("/dataHarmRateI")
|
||||
@Api(tags = "谐波电流含有率")
|
||||
public class DataHarmRateIController extends BaseController {
|
||||
|
||||
@QueryBean
|
||||
private IDataHarmRateI dataHarmRateIQuery;
|
||||
|
||||
@InsertBean
|
||||
private IDataHarmRateI dataHarmRateIInsert;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY)
|
||||
@PostMapping("/getBaseData")
|
||||
@ApiOperation("获取算法基础数据")
|
||||
public HttpResult<List<CommonMinuteDto>> getBaseData(@RequestBody LineCountEvaluateParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("getBaseData");
|
||||
List<CommonMinuteDto> data = dataHarmRateIQuery.getBaseData(lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/addList")
|
||||
@ApiOperation("关系型数据库插入数据")
|
||||
public HttpResult<String> addList(@RequestBody List<DataHarmRateIDto> list) {
|
||||
String methodDescribe = getMethodDescribe("addList");
|
||||
dataHarmRateIInsert.addList(list);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,7 +10,9 @@ import com.njcn.dataProcess.annotation.InsertBean;
|
||||
import com.njcn.dataProcess.annotation.QueryBean;
|
||||
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto;
|
||||
import com.njcn.dataProcess.service.IDataHarmRateV;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -63,4 +65,22 @@ public class DataHarmRateVController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY)
|
||||
@PostMapping("/getBaseData")
|
||||
@ApiOperation("获取算法基础数据")
|
||||
public HttpResult<List<CommonMinuteDto>> getBaseData(@RequestBody LineCountEvaluateParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("getBaseData");
|
||||
List<CommonMinuteDto> data = dataHarmRateVQuery.getBaseData(lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/addList")
|
||||
@ApiOperation("关系型数据库插入数据")
|
||||
public HttpResult<String> addList(@RequestBody List<DataHarmRateVDto> list) {
|
||||
String methodDescribe = getMethodDescribe("addList");
|
||||
dataHarmRateVInsert.addList(list);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,10 @@ import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.dataProcess.dto.DataHarmpowerSDTO;
|
||||
import com.njcn.dataProcess.annotation.InsertBean;
|
||||
import com.njcn.dataProcess.annotation.QueryBean;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmPowerQDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto;
|
||||
import com.njcn.dataProcess.service.IDataHarmpowerS;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -52,9 +56,22 @@ public class DataHarmpowerSController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY)
|
||||
@PostMapping("/getBaseData")
|
||||
@ApiOperation("获取算法基础数据")
|
||||
public HttpResult<List<CommonMinuteDto>> getBaseData(@RequestBody LineCountEvaluateParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("getBaseData");
|
||||
List<CommonMinuteDto> data = dataHarmpowerSQuery.getBaseData(lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/addList")
|
||||
@ApiOperation("关系型数据库插入数据")
|
||||
public HttpResult<String> addList(@RequestBody List<DataHarmPowerSDto> list) {
|
||||
String methodDescribe = getMethodDescribe("addList");
|
||||
dataHarmpowerSInsert.addList(list);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,9 +6,12 @@ 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.dataProcess.dto.DataInharmIDTO;
|
||||
import com.njcn.dataProcess.annotation.InsertBean;
|
||||
import com.njcn.dataProcess.annotation.QueryBean;
|
||||
import com.njcn.dataProcess.dto.DataInharmIDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataInHarmIDto;
|
||||
import com.njcn.dataProcess.service.IDataInharmI;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -53,9 +56,22 @@ public class DataInharmIController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY)
|
||||
@PostMapping("/getBaseData")
|
||||
@ApiOperation("获取算法基础数据")
|
||||
public HttpResult<List<CommonMinuteDto>> getBaseData(@RequestBody LineCountEvaluateParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("getBaseData");
|
||||
List<CommonMinuteDto> data = dataInharmIQuery.getBaseData(lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/addList")
|
||||
@ApiOperation("关系型数据库插入数据")
|
||||
public HttpResult<String> addList(@RequestBody List<DataInHarmIDto> list) {
|
||||
String methodDescribe = getMethodDescribe("addList");
|
||||
dataInharmIInsert.addList(list);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,11 +6,13 @@ 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.dataProcess.dto.DataInharmVDTO;
|
||||
import com.njcn.dataProcess.annotation.InsertBean;
|
||||
import com.njcn.dataProcess.annotation.QueryBean;
|
||||
import com.njcn.dataProcess.dto.DataInharmVDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataInHarmVDto;
|
||||
import com.njcn.dataProcess.service.IDataInharmV;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -64,5 +66,23 @@ public class DataInharmVController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY)
|
||||
@PostMapping("/getBaseData")
|
||||
@ApiOperation("获取算法基础数据")
|
||||
public HttpResult<List<CommonMinuteDto>> getBaseData(@RequestBody LineCountEvaluateParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("getBaseData");
|
||||
List<CommonMinuteDto> data = dataInharmVQuery.getBaseData(lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/addList")
|
||||
@ApiOperation("关系型数据库插入数据")
|
||||
public HttpResult<String> addList(@RequestBody List<DataInHarmVDto> list) {
|
||||
String methodDescribe = getMethodDescribe("addList");
|
||||
dataInharmVInsert.addList(list);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.njcn.dataProcess.annotation.InsertBean;
|
||||
import com.njcn.dataProcess.annotation.QueryBean;
|
||||
import com.njcn.dataProcess.dto.DataPltDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataPltDto;
|
||||
import com.njcn.dataProcess.service.IDataPlt;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -64,5 +65,22 @@ public class DataPltController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY)
|
||||
@PostMapping("/getBaseData")
|
||||
@ApiOperation("获取算法基础数据")
|
||||
public HttpResult<List<CommonMinuteDto>> getBaseData(@RequestBody LineCountEvaluateParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("getBaseData");
|
||||
List<CommonMinuteDto> data = dataPltQuery.getBaseData(lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/addList")
|
||||
@ApiOperation("关系型数据库插入数据")
|
||||
public HttpResult<String> addList(@RequestBody List<DataPltDto> list) {
|
||||
String methodDescribe = getMethodDescribe("addList");
|
||||
dataPltInsert.addList(list);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.njcn.dataProcess.dao.imapper;
|
||||
|
||||
import com.njcn.dataProcess.po.influx.DataHarmrateI;
|
||||
import com.njcn.influx.base.InfluxDbBaseMapper;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
*/
|
||||
public interface DataHarmRateIMapper extends InfluxDbBaseMapper<DataHarmrateI> {
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package com.njcn.dataProcess.dao.imapper;
|
||||
|
||||
import com.njcn.dataProcess.po.influx.DataHarmrateV;
|
||||
import com.njcn.influx.base.InfluxDbBaseMapper;
|
||||
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
*/
|
||||
public interface DataHarmRateVMapper extends InfluxDbBaseMapper<DataHarmrateV> {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -3,12 +3,9 @@ package com.njcn.dataProcess.dao.imapper;
|
||||
import com.njcn.dataProcess.po.influx.DataHarmrateV;
|
||||
import com.njcn.influx.base.InfluxDbBaseMapper;
|
||||
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
*/
|
||||
public interface DataHarmRateVMapper extends InfluxDbBaseMapper<DataHarmrateV> {
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmRateIDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataHarmRateID;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
*/
|
||||
public interface IDataHarmRateI extends IMppService<RStatDataHarmRateID> {
|
||||
|
||||
/**
|
||||
* 获取预处理数据
|
||||
* @param lineParam 监测点参数
|
||||
*/
|
||||
List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam);
|
||||
|
||||
/**
|
||||
* 批量插入数据
|
||||
*/
|
||||
void addList(List<DataHarmRateIDto> list);
|
||||
|
||||
}
|
||||
@@ -1,8 +1,12 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataHarmRateVD;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -10,7 +14,7 @@ import java.util.List;
|
||||
* @author xy
|
||||
*/
|
||||
public interface
|
||||
IDataHarmRateV {
|
||||
IDataHarmRateV extends IMppService<RStatDataHarmRateVD> {
|
||||
|
||||
/**
|
||||
* 获取原始数据
|
||||
@@ -20,4 +24,15 @@ IDataHarmRateV {
|
||||
List<DataHarmDto> getRawData(LineCountEvaluateParam lineParam);
|
||||
|
||||
void batchInsertion (List<DataHarmrateVDTO> dataHarmrateVDTOList);
|
||||
|
||||
/**
|
||||
* 获取预处理数据
|
||||
* @param lineParam 监测点参数
|
||||
*/
|
||||
List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam);
|
||||
|
||||
/**
|
||||
* 批量插入数据
|
||||
*/
|
||||
void addList(List<DataHarmRateVDto> list);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.dto.DataHarmpowerSDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataHarmPowerSD;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -11,6 +16,17 @@ import java.util.List;
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface IDataHarmpowerS {
|
||||
public interface IDataHarmpowerS extends IMppService<RStatDataHarmPowerSD> {
|
||||
void batchInsertion(List<DataHarmpowerSDTO> dataIDTOList);
|
||||
|
||||
/**
|
||||
* 获取预处理数据
|
||||
* @param lineParam 监测点参数
|
||||
*/
|
||||
List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam);
|
||||
|
||||
/**
|
||||
* 批量插入数据
|
||||
*/
|
||||
void addList(List<DataHarmPowerSDto> list);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.dto.DataInharmIDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataInHarmIDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataInHarmID;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -11,7 +16,18 @@ import java.util.List;
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface IDataInharmI {
|
||||
public interface IDataInharmI extends IMppService<RStatDataInHarmID> {
|
||||
|
||||
void batchInsertion(List<DataInharmIDTO> dataIDTOList);
|
||||
|
||||
/**
|
||||
* 获取预处理数据
|
||||
* @param lineParam 监测点参数
|
||||
*/
|
||||
List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam);
|
||||
|
||||
/**
|
||||
* 批量插入数据
|
||||
*/
|
||||
void addList(List<DataInHarmIDto> list);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.dto.DataInharmVDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataInHarmVDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataInHarmVD;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -13,7 +17,7 @@ import java.util.List;
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface IDataInharmV {
|
||||
public interface IDataInharmV extends IMppService<RStatDataInHarmVD> {
|
||||
|
||||
void batchInsertion(List<DataInharmVDTO> dataIDTOList);
|
||||
|
||||
@@ -23,4 +27,16 @@ public interface IDataInharmV {
|
||||
* @return
|
||||
*/
|
||||
List<DataHarmDto> getRawData(LineCountEvaluateParam lineParam);
|
||||
|
||||
/**
|
||||
* 获取预处理数据
|
||||
* @param lineParam 监测点参数
|
||||
*/
|
||||
List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam);
|
||||
|
||||
/**
|
||||
* 批量插入数据
|
||||
*/
|
||||
void addList(List<DataInHarmVDto> list);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.dto.DataPltDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIDto;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataPltDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataPltD;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -14,7 +16,7 @@ import java.util.List;
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface IDataPlt {
|
||||
public interface IDataPlt extends IMppService<RStatDataPltD> {
|
||||
void batchInsertion(List<DataPltDTO> dataPltDTOList);
|
||||
|
||||
/**
|
||||
@@ -23,4 +25,15 @@ public interface IDataPlt {
|
||||
* @return
|
||||
*/
|
||||
List<DataPltDto> getRawData(LineCountEvaluateParam lineParam);
|
||||
|
||||
/**
|
||||
* 获取预处理数据
|
||||
* @param lineParam 监测点参数
|
||||
*/
|
||||
List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam);
|
||||
|
||||
/**
|
||||
* 批量插入数据
|
||||
*/
|
||||
void addList(List<DataPltDto> list);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,190 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.utils.HarmonicTimesUtil;
|
||||
import com.njcn.dataProcess.dao.imapper.DataHarmRateIMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmRateIRelationMapper;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.influx.DataHarmrateI;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmRateIDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataHarmRateID;
|
||||
import com.njcn.dataProcess.service.IDataHarmRateI;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
*/
|
||||
@Service("InfluxdbDataHarmRateIImpl")
|
||||
public class InfluxdbDataHarmRateIImpl extends MppServiceImpl<RStatDataHarmRateIRelationMapper, RStatDataHarmRateID> implements IDataHarmRateI {
|
||||
|
||||
private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault());
|
||||
@Resource
|
||||
private DataHarmRateIMapper dataHarmRateIMapper;
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
List<CommonMinuteDto> result = new ArrayList<>();
|
||||
List<DataHarmrateI> data = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime());
|
||||
if (CollectionUtil.isNotEmpty(data)) {
|
||||
String time = TimeUtils.StringTimeToString(lineParam.getStartTime());
|
||||
//以监测点分组
|
||||
Map<String,List<DataHarmrateI>> lineMap = data.stream().collect(Collectors.groupingBy(DataHarmrateI::getLineId));
|
||||
lineMap.forEach((line,lineList)->{
|
||||
CommonMinuteDto dto = new CommonMinuteDto();
|
||||
dto.setLineId(line);
|
||||
dto.setTime(time);
|
||||
dto.setQualityFlag(lineList.get(0).getQualityFlag());
|
||||
//以相别分组
|
||||
Map<String,List<DataHarmrateI>> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataHarmrateI::getPhasicType));
|
||||
List<CommonMinuteDto.PhasicType> phasicTypes = new ArrayList<>();
|
||||
phasicTypeMap.forEach((phasicType,phasicTypeList)->{
|
||||
CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType();
|
||||
type.setPhasicType(phasicType);
|
||||
//以数据类型分组
|
||||
Map<String,List<DataHarmrateI>> valueTypeMap = phasicTypeList.stream().collect(Collectors.groupingBy(DataHarmrateI::getValueType));
|
||||
List<CommonMinuteDto.ValueType> valueTypes = new ArrayList<>();
|
||||
valueTypeMap.forEach((valueType,valueTypeList)->{
|
||||
CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType();
|
||||
value.setValueType(valueType);
|
||||
//规定好集合指标参数
|
||||
List<Double> data12 = valueTypeList.stream().map(DataHarmrateI::getI1).collect(Collectors.toList());
|
||||
List<Double> data13 = valueTypeList.stream().map(DataHarmrateI::getI2).collect(Collectors.toList());
|
||||
List<Double> data14 = valueTypeList.stream().map(DataHarmrateI::getI3).collect(Collectors.toList());
|
||||
List<Double> data15 = valueTypeList.stream().map(DataHarmrateI::getI4).collect(Collectors.toList());
|
||||
List<Double> data16 = valueTypeList.stream().map(DataHarmrateI::getI5).collect(Collectors.toList());
|
||||
List<Double> data17 = valueTypeList.stream().map(DataHarmrateI::getI6).collect(Collectors.toList());
|
||||
List<Double> data18 = valueTypeList.stream().map(DataHarmrateI::getI7).collect(Collectors.toList());
|
||||
List<Double> data19 = valueTypeList.stream().map(DataHarmrateI::getI8).collect(Collectors.toList());
|
||||
List<Double> data20 = valueTypeList.stream().map(DataHarmrateI::getI9).collect(Collectors.toList());
|
||||
List<Double> data21 = valueTypeList.stream().map(DataHarmrateI::getI10).collect(Collectors.toList());
|
||||
List<Double> data22 = valueTypeList.stream().map(DataHarmrateI::getI11).collect(Collectors.toList());
|
||||
List<Double> data23 = valueTypeList.stream().map(DataHarmrateI::getI12).collect(Collectors.toList());
|
||||
List<Double> data24 = valueTypeList.stream().map(DataHarmrateI::getI13).collect(Collectors.toList());
|
||||
List<Double> data25 = valueTypeList.stream().map(DataHarmrateI::getI14).collect(Collectors.toList());
|
||||
List<Double> data26 = valueTypeList.stream().map(DataHarmrateI::getI15).collect(Collectors.toList());
|
||||
List<Double> data27 = valueTypeList.stream().map(DataHarmrateI::getI16).collect(Collectors.toList());
|
||||
List<Double> data28 = valueTypeList.stream().map(DataHarmrateI::getI17).collect(Collectors.toList());
|
||||
List<Double> data29 = valueTypeList.stream().map(DataHarmrateI::getI18).collect(Collectors.toList());
|
||||
List<Double> data30 = valueTypeList.stream().map(DataHarmrateI::getI19).collect(Collectors.toList());
|
||||
List<Double> data31 = valueTypeList.stream().map(DataHarmrateI::getI20).collect(Collectors.toList());
|
||||
List<Double> data32 = valueTypeList.stream().map(DataHarmrateI::getI21).collect(Collectors.toList());
|
||||
List<Double> data33 = valueTypeList.stream().map(DataHarmrateI::getI22).collect(Collectors.toList());
|
||||
List<Double> data34 = valueTypeList.stream().map(DataHarmrateI::getI23).collect(Collectors.toList());
|
||||
List<Double> data35 = valueTypeList.stream().map(DataHarmrateI::getI24).collect(Collectors.toList());
|
||||
List<Double> data36 = valueTypeList.stream().map(DataHarmrateI::getI25).collect(Collectors.toList());
|
||||
List<Double> data37 = valueTypeList.stream().map(DataHarmrateI::getI26).collect(Collectors.toList());
|
||||
List<Double> data38 = valueTypeList.stream().map(DataHarmrateI::getI27).collect(Collectors.toList());
|
||||
List<Double> data39 = valueTypeList.stream().map(DataHarmrateI::getI28).collect(Collectors.toList());
|
||||
List<Double> data40 = valueTypeList.stream().map(DataHarmrateI::getI29).collect(Collectors.toList());
|
||||
List<Double> data41 = valueTypeList.stream().map(DataHarmrateI::getI30).collect(Collectors.toList());
|
||||
List<Double> data42 = valueTypeList.stream().map(DataHarmrateI::getI31).collect(Collectors.toList());
|
||||
List<Double> data43 = valueTypeList.stream().map(DataHarmrateI::getI32).collect(Collectors.toList());
|
||||
List<Double> data44 = valueTypeList.stream().map(DataHarmrateI::getI33).collect(Collectors.toList());
|
||||
List<Double> data45 = valueTypeList.stream().map(DataHarmrateI::getI34).collect(Collectors.toList());
|
||||
List<Double> data46 = valueTypeList.stream().map(DataHarmrateI::getI35).collect(Collectors.toList());
|
||||
List<Double> data47 = valueTypeList.stream().map(DataHarmrateI::getI36).collect(Collectors.toList());
|
||||
List<Double> data48 = valueTypeList.stream().map(DataHarmrateI::getI37).collect(Collectors.toList());
|
||||
List<Double> data49 = valueTypeList.stream().map(DataHarmrateI::getI38).collect(Collectors.toList());
|
||||
List<Double> data50 = valueTypeList.stream().map(DataHarmrateI::getI39).collect(Collectors.toList());
|
||||
List<Double> data51 = valueTypeList.stream().map(DataHarmrateI::getI40).collect(Collectors.toList());
|
||||
List<Double> data52 = valueTypeList.stream().map(DataHarmrateI::getI41).collect(Collectors.toList());
|
||||
List<Double> data53 = valueTypeList.stream().map(DataHarmrateI::getI42).collect(Collectors.toList());
|
||||
List<Double> data54 = valueTypeList.stream().map(DataHarmrateI::getI43).collect(Collectors.toList());
|
||||
List<Double> data55 = valueTypeList.stream().map(DataHarmrateI::getI44).collect(Collectors.toList());
|
||||
List<Double> data56 = valueTypeList.stream().map(DataHarmrateI::getI45).collect(Collectors.toList());
|
||||
List<Double> data57 = valueTypeList.stream().map(DataHarmrateI::getI46).collect(Collectors.toList());
|
||||
List<Double> data58 = valueTypeList.stream().map(DataHarmrateI::getI47).collect(Collectors.toList());
|
||||
List<Double> data59 = valueTypeList.stream().map(DataHarmrateI::getI48).collect(Collectors.toList());
|
||||
List<Double> data60 = valueTypeList.stream().map(DataHarmrateI::getI49).collect(Collectors.toList());
|
||||
List<Double> data61 = valueTypeList.stream().map(DataHarmrateI::getI50).collect(Collectors.toList());
|
||||
|
||||
List<List<Double>> lists = Arrays.asList(data12,data13,data14
|
||||
,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24
|
||||
,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34
|
||||
,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44
|
||||
,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54
|
||||
,data55,data56,data57,data58,data59,data60,data61);
|
||||
value.setValueList(lists);
|
||||
valueTypes.add(value);
|
||||
});
|
||||
type.setValueTypeList(valueTypes);
|
||||
phasicTypes.add(type);
|
||||
});
|
||||
dto.setPhasicTypeList(phasicTypes);
|
||||
result.add(dto);
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataHarmRateIDto> list) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 按监测点集合、时间条件获取分钟数据
|
||||
* timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理
|
||||
* 需要进行剔除异常数据时,这里会有三种情况判断
|
||||
* 1.无异常数据,则直接返回集合;
|
||||
* 2.异常数据和无异常数据参杂,剔除异常数据,只计算正常数据;
|
||||
* 3.全是异常数据,则使用异常数据进行计算,但是日表中需要标记出来,此数据有异常
|
||||
*/
|
||||
public List<DataHarmrateI> getMinuteData(List<String> lineList, String startTime, String endTime, Map<String,List<String>> timeMap) {
|
||||
List<DataHarmrateI> result = new ArrayList<>();
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmrateI.class);
|
||||
influxQueryWrapper.samePrefixAndSuffix(InfluxDbSqlConstant.I, "", HarmonicTimesUtil.harmonicTimesList(1, 50, 1));
|
||||
influxQueryWrapper.regular(DataHarmrateI::getLineId, lineList)
|
||||
.select(DataHarmrateI::getLineId)
|
||||
.select(DataHarmrateI::getPhasicType)
|
||||
.select(DataHarmrateI::getValueType)
|
||||
.select(DataHarmrateI::getQualityFlag)
|
||||
.between(DataHarmrateI::getTime, startTime, endTime)
|
||||
.eq(DataHarmrateI::getQualityFlag,"0");
|
||||
List<DataHarmrateI> list = dataHarmRateIMapper.selectByQueryWrapper(influxQueryWrapper);
|
||||
Map<String,List<DataHarmrateI>> lineMap = list.stream().collect(Collectors.groupingBy(DataHarmrateI::getLineId));
|
||||
//有异常数据
|
||||
if (CollectionUtil.isNotEmpty(timeMap)) {
|
||||
lineMap.forEach((k,v)->{
|
||||
List<String> timeList = timeMap.get(k);
|
||||
//有异常数据,当前监测点自身的异常数据
|
||||
if (CollectionUtil.isNotEmpty(timeList)) {
|
||||
List<DataHarmrateI> filterList = v.stream().filter(item -> !timeList.contains(DATE_TIME_FORMATTER.format(item.getTime()))).collect(Collectors.toList());
|
||||
//1.过滤掉异常数据后还有正常数据,则用正常数据计算
|
||||
if (CollectionUtil.isNotEmpty(filterList)) {
|
||||
result.addAll(filterList);
|
||||
}
|
||||
//2.过滤掉异常数据后没有正常数据,则用所有异常数据计算,但是需要标记数据为异常的
|
||||
else {
|
||||
v.parallelStream().forEach(item -> item.setQualityFlag("1"));
|
||||
result.addAll(v);
|
||||
}
|
||||
}
|
||||
//没有异常数据,则使用原数据
|
||||
else {
|
||||
result.addAll(v);
|
||||
}
|
||||
});
|
||||
}
|
||||
//没有异常数据,则使用原数据
|
||||
else {
|
||||
result.addAll(list);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +1,19 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.utils.HarmonicTimesUtil;
|
||||
import com.njcn.dataProcess.dao.imapper.DataHarmRateVMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmRateVRelationMapper;
|
||||
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.influx.DataHarmrateV;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataHarmRateVD;
|
||||
import com.njcn.dataProcess.service.IDataHarmRateV;
|
||||
import com.njcn.dataProcess.util.BeanFeildUtils;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -19,6 +24,7 @@ import org.springframework.stereotype.Service;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -28,7 +34,7 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service("InfluxdbDataHarmRateVImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataHarmRateVImpl implements IDataHarmRateV {
|
||||
public class InfluxdbDataHarmRateVImpl extends MppServiceImpl<RStatDataHarmRateVRelationMapper, RStatDataHarmRateVD> implements IDataHarmRateV {
|
||||
|
||||
private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault());
|
||||
|
||||
@@ -37,7 +43,7 @@ public class InfluxdbDataHarmRateVImpl implements IDataHarmRateV {
|
||||
@Override
|
||||
public List<DataHarmDto> getRawData(LineCountEvaluateParam lineParam) {
|
||||
List<DataHarmDto> result = new ArrayList<>();
|
||||
List<DataHarmrateV> list = getMinuteDataI(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(), lineParam.getAbnormalTime());
|
||||
List<DataHarmrateV> list = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(), lineParam.getAbnormalTime());
|
||||
list.forEach(item->{
|
||||
DataHarmDto dto = new DataHarmDto();
|
||||
BeanUtils.copyProperties(item,dto);
|
||||
@@ -47,18 +53,138 @@ public class InfluxdbDataHarmRateVImpl implements IDataHarmRateV {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataHarmrateVDTO> dataHarmrateVDTOList) {
|
||||
int totalCount = dataHarmrateVDTOList.size();
|
||||
if(totalCount<=0){
|
||||
return;
|
||||
}
|
||||
|
||||
List<DataHarmrateV> collect = dataHarmrateVDTOList.stream().flatMap(temp -> DataHarmrateV.relationToInfluxDB(temp).stream()).collect(Collectors.toList());
|
||||
int minSize = Math.min(1200000, collect.size());
|
||||
|
||||
List<List<DataHarmrateV>> partition = ListUtils.partition(collect, minSize);
|
||||
for (List<DataHarmrateV> dataHarmrateVList : partition) {
|
||||
List<DataHarmrateV> sublistAsOriginalListType = new ArrayList<>(dataHarmrateVList);
|
||||
|
||||
dataHarmRateVMapper.insertBatch(sublistAsOriginalListType);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
List<CommonMinuteDto> result = new ArrayList<>();
|
||||
List<DataHarmrateV> data = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime());
|
||||
if (CollectionUtil.isNotEmpty(data)) {
|
||||
String time = TimeUtils.StringTimeToString(lineParam.getStartTime());
|
||||
//以监测点分组
|
||||
Map<String,List<DataHarmrateV>> lineMap = data.stream().collect(Collectors.groupingBy(DataHarmrateV::getLineId));
|
||||
lineMap.forEach((line,lineList)->{
|
||||
CommonMinuteDto dto = new CommonMinuteDto();
|
||||
dto.setLineId(line);
|
||||
dto.setTime(time);
|
||||
dto.setQualityFlag(lineList.get(0).getQualityFlag());
|
||||
//以相别分组
|
||||
Map<String,List<DataHarmrateV>> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataHarmrateV::getPhasicType));
|
||||
List<CommonMinuteDto.PhasicType> phasicTypes = new ArrayList<>();
|
||||
phasicTypeMap.forEach((phasicType,phasicTypeList)->{
|
||||
CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType();
|
||||
type.setPhasicType(phasicType);
|
||||
//以数据类型分组
|
||||
Map<String,List<DataHarmrateV>> valueTypeMap = phasicTypeList.stream().collect(Collectors.groupingBy(DataHarmrateV::getValueType));
|
||||
List<CommonMinuteDto.ValueType> valueTypes = new ArrayList<>();
|
||||
valueTypeMap.forEach((valueType,valueTypeList)->{
|
||||
CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType();
|
||||
value.setValueType(valueType);
|
||||
//规定好集合指标参数
|
||||
List<Double> data12 = valueTypeList.stream().map(DataHarmrateV::getV1).collect(Collectors.toList());
|
||||
List<Double> data13 = valueTypeList.stream().map(DataHarmrateV::getV2).collect(Collectors.toList());
|
||||
List<Double> data14 = valueTypeList.stream().map(DataHarmrateV::getV3).collect(Collectors.toList());
|
||||
List<Double> data15 = valueTypeList.stream().map(DataHarmrateV::getV4).collect(Collectors.toList());
|
||||
List<Double> data16 = valueTypeList.stream().map(DataHarmrateV::getV5).collect(Collectors.toList());
|
||||
List<Double> data17 = valueTypeList.stream().map(DataHarmrateV::getV6).collect(Collectors.toList());
|
||||
List<Double> data18 = valueTypeList.stream().map(DataHarmrateV::getV7).collect(Collectors.toList());
|
||||
List<Double> data19 = valueTypeList.stream().map(DataHarmrateV::getV8).collect(Collectors.toList());
|
||||
List<Double> data20 = valueTypeList.stream().map(DataHarmrateV::getV9).collect(Collectors.toList());
|
||||
List<Double> data21 = valueTypeList.stream().map(DataHarmrateV::getV10).collect(Collectors.toList());
|
||||
List<Double> data22 = valueTypeList.stream().map(DataHarmrateV::getV11).collect(Collectors.toList());
|
||||
List<Double> data23 = valueTypeList.stream().map(DataHarmrateV::getV12).collect(Collectors.toList());
|
||||
List<Double> data24 = valueTypeList.stream().map(DataHarmrateV::getV13).collect(Collectors.toList());
|
||||
List<Double> data25 = valueTypeList.stream().map(DataHarmrateV::getV14).collect(Collectors.toList());
|
||||
List<Double> data26 = valueTypeList.stream().map(DataHarmrateV::getV15).collect(Collectors.toList());
|
||||
List<Double> data27 = valueTypeList.stream().map(DataHarmrateV::getV16).collect(Collectors.toList());
|
||||
List<Double> data28 = valueTypeList.stream().map(DataHarmrateV::getV17).collect(Collectors.toList());
|
||||
List<Double> data29 = valueTypeList.stream().map(DataHarmrateV::getV18).collect(Collectors.toList());
|
||||
List<Double> data30 = valueTypeList.stream().map(DataHarmrateV::getV19).collect(Collectors.toList());
|
||||
List<Double> data31 = valueTypeList.stream().map(DataHarmrateV::getV20).collect(Collectors.toList());
|
||||
List<Double> data32 = valueTypeList.stream().map(DataHarmrateV::getV21).collect(Collectors.toList());
|
||||
List<Double> data33 = valueTypeList.stream().map(DataHarmrateV::getV22).collect(Collectors.toList());
|
||||
List<Double> data34 = valueTypeList.stream().map(DataHarmrateV::getV23).collect(Collectors.toList());
|
||||
List<Double> data35 = valueTypeList.stream().map(DataHarmrateV::getV24).collect(Collectors.toList());
|
||||
List<Double> data36 = valueTypeList.stream().map(DataHarmrateV::getV25).collect(Collectors.toList());
|
||||
List<Double> data37 = valueTypeList.stream().map(DataHarmrateV::getV26).collect(Collectors.toList());
|
||||
List<Double> data38 = valueTypeList.stream().map(DataHarmrateV::getV27).collect(Collectors.toList());
|
||||
List<Double> data39 = valueTypeList.stream().map(DataHarmrateV::getV28).collect(Collectors.toList());
|
||||
List<Double> data40 = valueTypeList.stream().map(DataHarmrateV::getV29).collect(Collectors.toList());
|
||||
List<Double> data41 = valueTypeList.stream().map(DataHarmrateV::getV30).collect(Collectors.toList());
|
||||
List<Double> data42 = valueTypeList.stream().map(DataHarmrateV::getV31).collect(Collectors.toList());
|
||||
List<Double> data43 = valueTypeList.stream().map(DataHarmrateV::getV32).collect(Collectors.toList());
|
||||
List<Double> data44 = valueTypeList.stream().map(DataHarmrateV::getV33).collect(Collectors.toList());
|
||||
List<Double> data45 = valueTypeList.stream().map(DataHarmrateV::getV34).collect(Collectors.toList());
|
||||
List<Double> data46 = valueTypeList.stream().map(DataHarmrateV::getV35).collect(Collectors.toList());
|
||||
List<Double> data47 = valueTypeList.stream().map(DataHarmrateV::getV36).collect(Collectors.toList());
|
||||
List<Double> data48 = valueTypeList.stream().map(DataHarmrateV::getV37).collect(Collectors.toList());
|
||||
List<Double> data49 = valueTypeList.stream().map(DataHarmrateV::getV38).collect(Collectors.toList());
|
||||
List<Double> data50 = valueTypeList.stream().map(DataHarmrateV::getV39).collect(Collectors.toList());
|
||||
List<Double> data51 = valueTypeList.stream().map(DataHarmrateV::getV40).collect(Collectors.toList());
|
||||
List<Double> data52 = valueTypeList.stream().map(DataHarmrateV::getV41).collect(Collectors.toList());
|
||||
List<Double> data53 = valueTypeList.stream().map(DataHarmrateV::getV42).collect(Collectors.toList());
|
||||
List<Double> data54 = valueTypeList.stream().map(DataHarmrateV::getV43).collect(Collectors.toList());
|
||||
List<Double> data55 = valueTypeList.stream().map(DataHarmrateV::getV44).collect(Collectors.toList());
|
||||
List<Double> data56 = valueTypeList.stream().map(DataHarmrateV::getV45).collect(Collectors.toList());
|
||||
List<Double> data57 = valueTypeList.stream().map(DataHarmrateV::getV46).collect(Collectors.toList());
|
||||
List<Double> data58 = valueTypeList.stream().map(DataHarmrateV::getV47).collect(Collectors.toList());
|
||||
List<Double> data59 = valueTypeList.stream().map(DataHarmrateV::getV48).collect(Collectors.toList());
|
||||
List<Double> data60 = valueTypeList.stream().map(DataHarmrateV::getV49).collect(Collectors.toList());
|
||||
List<Double> data61 = valueTypeList.stream().map(DataHarmrateV::getV50).collect(Collectors.toList());
|
||||
|
||||
List<List<Double>> lists = Arrays.asList(data12,data13,data14
|
||||
,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24
|
||||
,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34
|
||||
,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44
|
||||
,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54
|
||||
,data55,data56,data57,data58,data59,data60,data61);
|
||||
value.setValueList(lists);
|
||||
valueTypes.add(value);
|
||||
});
|
||||
type.setValueTypeList(valueTypes);
|
||||
phasicTypes.add(type);
|
||||
});
|
||||
dto.setPhasicTypeList(phasicTypes);
|
||||
result.add(dto);
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataHarmRateVDto> list) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 按监测点集合、时间条件获取dataI分钟数据
|
||||
* 按监测点集合、时间条件获取分钟数据
|
||||
* timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理
|
||||
* 需要进行剔除异常数据时,这里会有三种情况判断
|
||||
* 1.无异常数据,则直接返回集合;
|
||||
* 2.异常数据和无异常数据参杂,剔除异常数据,只计算正常数据;
|
||||
* 3.全是异常数据,则使用异常数据进行计算,但是日表中需要标记出来,此数据有异常
|
||||
*/
|
||||
public List<DataHarmrateV> getMinuteDataI(List<String> lineList, String startTime, String endTime, Map<String,List<String>> timeMap) {
|
||||
public List<DataHarmrateV> getMinuteData(List<String> lineList, String startTime, String endTime, Map<String,List<String>> timeMap) {
|
||||
List<DataHarmrateV> result = new ArrayList<>();
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmrateV.class);
|
||||
influxQueryWrapper.samePrefixAndSuffix(InfluxDbSqlConstant.V, "", HarmonicTimesUtil.harmonicTimesList(2, 50, 1));
|
||||
influxQueryWrapper.samePrefixAndSuffix(InfluxDbSqlConstant.V, "", HarmonicTimesUtil.harmonicTimesList(1, 50, 1));
|
||||
influxQueryWrapper.regular(DataHarmrateV::getLineId, lineList)
|
||||
.select(DataHarmrateV::getLineId)
|
||||
.select(DataHarmrateV::getPhasicType)
|
||||
@@ -98,27 +224,4 @@ public class InfluxdbDataHarmRateVImpl implements IDataHarmRateV {
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataHarmrateVDTO> dataHarmrateVDTOList) {
|
||||
int totalCount = dataHarmrateVDTOList.size();
|
||||
if(totalCount<=0){
|
||||
return;
|
||||
}
|
||||
|
||||
List<DataHarmrateV> collect = dataHarmrateVDTOList.stream().flatMap(temp -> DataHarmrateV.relationToInfluxDB(temp).stream()).collect(Collectors.toList());
|
||||
int minSize = Math.min(1200000, collect.size());
|
||||
|
||||
List<List<DataHarmrateV>> partition = ListUtils.partition(collect, minSize);
|
||||
for (List<DataHarmrateV> dataHarmrateVList : partition) {
|
||||
List<DataHarmrateV> sublistAsOriginalListType = new ArrayList<>(dataHarmrateVList);
|
||||
|
||||
dataHarmRateVMapper.insertBatch(sublistAsOriginalListType);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,15 +1,30 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.njcn.dataProcess.dto.DataHarmpowerSDTO;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.utils.HarmonicTimesUtil;
|
||||
import com.njcn.dataProcess.dao.imapper.DataHarmpowerSMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmPowerSRelationMapper;
|
||||
import com.njcn.dataProcess.dto.DataHarmpowerSDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.influx.DataHarmpowerS;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataHarmPowerSD;
|
||||
import com.njcn.dataProcess.service.IDataHarmpowerS;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -21,8 +36,9 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service("InfluxdbDataHarmpowerSImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataHarmpowerSImpl implements IDataHarmpowerS {
|
||||
public class InfluxdbDataHarmpowerSImpl extends MppServiceImpl<RStatDataHarmPowerSRelationMapper, RStatDataHarmPowerSD> implements IDataHarmpowerS {
|
||||
|
||||
private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault());
|
||||
private final DataHarmpowerSMapper dataHarmpowerSMapper;
|
||||
|
||||
|
||||
@@ -43,4 +59,160 @@ public class InfluxdbDataHarmpowerSImpl implements IDataHarmpowerS {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
List<CommonMinuteDto> result = new ArrayList<>();
|
||||
List<DataHarmpowerS> data = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime());
|
||||
if (CollectionUtil.isNotEmpty(data)) {
|
||||
String time = TimeUtils.StringTimeToString(lineParam.getStartTime());
|
||||
//以监测点分组
|
||||
Map<String,List<DataHarmpowerS>> lineMap = data.stream().collect(Collectors.groupingBy(DataHarmpowerS::getLineId));
|
||||
lineMap.forEach((line,lineList)->{
|
||||
CommonMinuteDto dto = new CommonMinuteDto();
|
||||
dto.setLineId(line);
|
||||
dto.setTime(time);
|
||||
dto.setQualityFlag(lineList.get(0).getQualityFlag());
|
||||
//以相别分组
|
||||
Map<String,List<DataHarmpowerS>> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataHarmpowerS::getPhasicType));
|
||||
List<CommonMinuteDto.PhasicType> phasicTypes = new ArrayList<>();
|
||||
phasicTypeMap.forEach((phasicType,phasicTypeList)->{
|
||||
CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType();
|
||||
type.setPhasicType(phasicType);
|
||||
//以数据类型分组
|
||||
Map<String,List<DataHarmpowerS>> valueTypeMap = phasicTypeList.stream().collect(Collectors.groupingBy(DataHarmpowerS::getValueType));
|
||||
List<CommonMinuteDto.ValueType> valueTypes = new ArrayList<>();
|
||||
valueTypeMap.forEach((valueType,valueTypeList)->{
|
||||
CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType();
|
||||
value.setValueType(valueType);
|
||||
//规定好集合指标参数
|
||||
List<Double> data1 = valueTypeList.stream().map(DataHarmpowerS::getS).collect(Collectors.toList());
|
||||
|
||||
List<Double> data12 = valueTypeList.stream().map(DataHarmpowerS::getS1).collect(Collectors.toList());
|
||||
List<Double> data13 = valueTypeList.stream().map(DataHarmpowerS::getS2).collect(Collectors.toList());
|
||||
List<Double> data14 = valueTypeList.stream().map(DataHarmpowerS::getS3).collect(Collectors.toList());
|
||||
List<Double> data15 = valueTypeList.stream().map(DataHarmpowerS::getS4).collect(Collectors.toList());
|
||||
List<Double> data16 = valueTypeList.stream().map(DataHarmpowerS::getS5).collect(Collectors.toList());
|
||||
List<Double> data17 = valueTypeList.stream().map(DataHarmpowerS::getS6).collect(Collectors.toList());
|
||||
List<Double> data18 = valueTypeList.stream().map(DataHarmpowerS::getS7).collect(Collectors.toList());
|
||||
List<Double> data19 = valueTypeList.stream().map(DataHarmpowerS::getS8).collect(Collectors.toList());
|
||||
List<Double> data20 = valueTypeList.stream().map(DataHarmpowerS::getS9).collect(Collectors.toList());
|
||||
List<Double> data21 = valueTypeList.stream().map(DataHarmpowerS::getS10).collect(Collectors.toList());
|
||||
List<Double> data22 = valueTypeList.stream().map(DataHarmpowerS::getS11).collect(Collectors.toList());
|
||||
List<Double> data23 = valueTypeList.stream().map(DataHarmpowerS::getS12).collect(Collectors.toList());
|
||||
List<Double> data24 = valueTypeList.stream().map(DataHarmpowerS::getS13).collect(Collectors.toList());
|
||||
List<Double> data25 = valueTypeList.stream().map(DataHarmpowerS::getS14).collect(Collectors.toList());
|
||||
List<Double> data26 = valueTypeList.stream().map(DataHarmpowerS::getS15).collect(Collectors.toList());
|
||||
List<Double> data27 = valueTypeList.stream().map(DataHarmpowerS::getS16).collect(Collectors.toList());
|
||||
List<Double> data28 = valueTypeList.stream().map(DataHarmpowerS::getS17).collect(Collectors.toList());
|
||||
List<Double> data29 = valueTypeList.stream().map(DataHarmpowerS::getS18).collect(Collectors.toList());
|
||||
List<Double> data30 = valueTypeList.stream().map(DataHarmpowerS::getS19).collect(Collectors.toList());
|
||||
List<Double> data31 = valueTypeList.stream().map(DataHarmpowerS::getS20).collect(Collectors.toList());
|
||||
List<Double> data32 = valueTypeList.stream().map(DataHarmpowerS::getS21).collect(Collectors.toList());
|
||||
List<Double> data33 = valueTypeList.stream().map(DataHarmpowerS::getS22).collect(Collectors.toList());
|
||||
List<Double> data34 = valueTypeList.stream().map(DataHarmpowerS::getS23).collect(Collectors.toList());
|
||||
List<Double> data35 = valueTypeList.stream().map(DataHarmpowerS::getS24).collect(Collectors.toList());
|
||||
List<Double> data36 = valueTypeList.stream().map(DataHarmpowerS::getS25).collect(Collectors.toList());
|
||||
List<Double> data37 = valueTypeList.stream().map(DataHarmpowerS::getS26).collect(Collectors.toList());
|
||||
List<Double> data38 = valueTypeList.stream().map(DataHarmpowerS::getS27).collect(Collectors.toList());
|
||||
List<Double> data39 = valueTypeList.stream().map(DataHarmpowerS::getS28).collect(Collectors.toList());
|
||||
List<Double> data40 = valueTypeList.stream().map(DataHarmpowerS::getS29).collect(Collectors.toList());
|
||||
List<Double> data41 = valueTypeList.stream().map(DataHarmpowerS::getS30).collect(Collectors.toList());
|
||||
List<Double> data42 = valueTypeList.stream().map(DataHarmpowerS::getS31).collect(Collectors.toList());
|
||||
List<Double> data43 = valueTypeList.stream().map(DataHarmpowerS::getS32).collect(Collectors.toList());
|
||||
List<Double> data44 = valueTypeList.stream().map(DataHarmpowerS::getS33).collect(Collectors.toList());
|
||||
List<Double> data45 = valueTypeList.stream().map(DataHarmpowerS::getS34).collect(Collectors.toList());
|
||||
List<Double> data46 = valueTypeList.stream().map(DataHarmpowerS::getS35).collect(Collectors.toList());
|
||||
List<Double> data47 = valueTypeList.stream().map(DataHarmpowerS::getS36).collect(Collectors.toList());
|
||||
List<Double> data48 = valueTypeList.stream().map(DataHarmpowerS::getS37).collect(Collectors.toList());
|
||||
List<Double> data49 = valueTypeList.stream().map(DataHarmpowerS::getS38).collect(Collectors.toList());
|
||||
List<Double> data50 = valueTypeList.stream().map(DataHarmpowerS::getS39).collect(Collectors.toList());
|
||||
List<Double> data51 = valueTypeList.stream().map(DataHarmpowerS::getS40).collect(Collectors.toList());
|
||||
List<Double> data52 = valueTypeList.stream().map(DataHarmpowerS::getS41).collect(Collectors.toList());
|
||||
List<Double> data53 = valueTypeList.stream().map(DataHarmpowerS::getS42).collect(Collectors.toList());
|
||||
List<Double> data54 = valueTypeList.stream().map(DataHarmpowerS::getS43).collect(Collectors.toList());
|
||||
List<Double> data55 = valueTypeList.stream().map(DataHarmpowerS::getS44).collect(Collectors.toList());
|
||||
List<Double> data56 = valueTypeList.stream().map(DataHarmpowerS::getS45).collect(Collectors.toList());
|
||||
List<Double> data57 = valueTypeList.stream().map(DataHarmpowerS::getS46).collect(Collectors.toList());
|
||||
List<Double> data58 = valueTypeList.stream().map(DataHarmpowerS::getS47).collect(Collectors.toList());
|
||||
List<Double> data59 = valueTypeList.stream().map(DataHarmpowerS::getS48).collect(Collectors.toList());
|
||||
List<Double> data60 = valueTypeList.stream().map(DataHarmpowerS::getS49).collect(Collectors.toList());
|
||||
List<Double> data61 = valueTypeList.stream().map(DataHarmpowerS::getS50).collect(Collectors.toList());
|
||||
|
||||
List<List<Double>> lists = Arrays.asList(data1,data12,data13,data14
|
||||
,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24
|
||||
,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34
|
||||
,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44
|
||||
,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54
|
||||
,data55,data56,data57,data58,data59,data60,data61);
|
||||
value.setValueList(lists);
|
||||
valueTypes.add(value);
|
||||
});
|
||||
type.setValueTypeList(valueTypes);
|
||||
phasicTypes.add(type);
|
||||
});
|
||||
dto.setPhasicTypeList(phasicTypes);
|
||||
result.add(dto);
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataHarmPowerSDto> list) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 按监测点集合、时间条件获取分钟数据
|
||||
* timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理
|
||||
* 需要进行剔除异常数据时,这里会有三种情况判断
|
||||
* 1.无异常数据,则直接返回集合;
|
||||
* 2.异常数据和无异常数据参杂,剔除异常数据,只计算正常数据;
|
||||
* 3.全是异常数据,则使用异常数据进行计算,但是日表中需要标记出来,此数据有异常
|
||||
*/
|
||||
public List<DataHarmpowerS> getMinuteData(List<String> lineList, String startTime, String endTime, Map<String,List<String>> timeMap) {
|
||||
List<DataHarmpowerS> result = new ArrayList<>();
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmpowerS.class);
|
||||
influxQueryWrapper.samePrefixAndSuffix(InfluxDbSqlConstant.S, "", HarmonicTimesUtil.harmonicTimesList(1, 50, 1));
|
||||
influxQueryWrapper.regular(DataHarmpowerS::getLineId, lineList)
|
||||
.select(DataHarmpowerS::getLineId)
|
||||
.select(DataHarmpowerS::getPhasicType)
|
||||
.select(DataHarmpowerS::getValueType)
|
||||
.select(DataHarmpowerS::getS)
|
||||
.select(DataHarmpowerS::getQualityFlag)
|
||||
.between(DataHarmpowerS::getTime, startTime, endTime)
|
||||
.eq(DataHarmpowerS::getQualityFlag,"0");
|
||||
List<DataHarmpowerS> list = dataHarmpowerSMapper.selectByQueryWrapper(influxQueryWrapper);
|
||||
Map<String,List<DataHarmpowerS>> lineMap = list.stream().collect(Collectors.groupingBy(DataHarmpowerS::getLineId));
|
||||
//有异常数据
|
||||
if (CollectionUtil.isNotEmpty(timeMap)) {
|
||||
lineMap.forEach((k,v)->{
|
||||
List<String> timeList = timeMap.get(k);
|
||||
//有异常数据,当前监测点自身的异常数据
|
||||
if (CollectionUtil.isNotEmpty(timeList)) {
|
||||
List<DataHarmpowerS> filterList = v.stream().filter(item -> !timeList.contains(DATE_TIME_FORMATTER.format(item.getTime()))).collect(Collectors.toList());
|
||||
//1.过滤掉异常数据后还有正常数据,则用正常数据计算
|
||||
if (CollectionUtil.isNotEmpty(filterList)) {
|
||||
result.addAll(filterList);
|
||||
}
|
||||
//2.过滤掉异常数据后没有正常数据,则用所有异常数据计算,但是需要标记数据为异常的
|
||||
else {
|
||||
v.parallelStream().forEach(item -> item.setQualityFlag("1"));
|
||||
result.addAll(v);
|
||||
}
|
||||
}
|
||||
//没有异常数据,则使用原数据
|
||||
else {
|
||||
result.addAll(v);
|
||||
}
|
||||
});
|
||||
}
|
||||
//没有异常数据,则使用原数据
|
||||
else {
|
||||
result.addAll(list);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,15 +1,30 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.njcn.dataProcess.dto.DataInharmIDTO;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.utils.HarmonicTimesUtil;
|
||||
import com.njcn.dataProcess.dao.imapper.DataInharmIMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataInHarmIRelationMapper;
|
||||
import com.njcn.dataProcess.dto.DataInharmIDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.influx.DataInharmI;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataInHarmIDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataInHarmID;
|
||||
import com.njcn.dataProcess.service.IDataInharmI;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -21,9 +36,10 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service("InfluxdbDataInharmIImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataInharmIImpl implements IDataInharmI {
|
||||
public class InfluxdbDataInharmIImpl extends MppServiceImpl<RStatDataInHarmIRelationMapper, RStatDataInHarmID> implements IDataInharmI {
|
||||
|
||||
private final DataInharmIMapper dataInharmIMapper;
|
||||
private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault());
|
||||
|
||||
|
||||
@Override
|
||||
@@ -43,4 +59,157 @@ public class InfluxdbDataInharmIImpl implements IDataInharmI {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
List<CommonMinuteDto> result = new ArrayList<>();
|
||||
List<DataInharmI> data = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime());
|
||||
if (CollectionUtil.isNotEmpty(data)) {
|
||||
String time = TimeUtils.StringTimeToString(lineParam.getStartTime());
|
||||
//以监测点分组
|
||||
Map<String,List<DataInharmI>> lineMap = data.stream().collect(Collectors.groupingBy(DataInharmI::getLineId));
|
||||
lineMap.forEach((line,lineList)->{
|
||||
CommonMinuteDto dto = new CommonMinuteDto();
|
||||
dto.setLineId(line);
|
||||
dto.setTime(time);
|
||||
dto.setQualityFlag(lineList.get(0).getQualityFlag());
|
||||
//以相别分组
|
||||
Map<String,List<DataInharmI>> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataInharmI::getPhasicType));
|
||||
List<CommonMinuteDto.PhasicType> phasicTypes = new ArrayList<>();
|
||||
phasicTypeMap.forEach((phasicType,phasicTypeList)->{
|
||||
CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType();
|
||||
type.setPhasicType(phasicType);
|
||||
//以数据类型分组
|
||||
Map<String,List<DataInharmI>> valueTypeMap = phasicTypeList.stream().collect(Collectors.groupingBy(DataInharmI::getValueType));
|
||||
List<CommonMinuteDto.ValueType> valueTypes = new ArrayList<>();
|
||||
valueTypeMap.forEach((valueType,valueTypeList)->{
|
||||
CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType();
|
||||
value.setValueType(valueType);
|
||||
//规定好集合指标参数
|
||||
List<Double> data12 = valueTypeList.stream().map(DataInharmI::getI1).collect(Collectors.toList());
|
||||
List<Double> data13 = valueTypeList.stream().map(DataInharmI::getI2).collect(Collectors.toList());
|
||||
List<Double> data14 = valueTypeList.stream().map(DataInharmI::getI3).collect(Collectors.toList());
|
||||
List<Double> data15 = valueTypeList.stream().map(DataInharmI::getI4).collect(Collectors.toList());
|
||||
List<Double> data16 = valueTypeList.stream().map(DataInharmI::getI5).collect(Collectors.toList());
|
||||
List<Double> data17 = valueTypeList.stream().map(DataInharmI::getI6).collect(Collectors.toList());
|
||||
List<Double> data18 = valueTypeList.stream().map(DataInharmI::getI7).collect(Collectors.toList());
|
||||
List<Double> data19 = valueTypeList.stream().map(DataInharmI::getI8).collect(Collectors.toList());
|
||||
List<Double> data20 = valueTypeList.stream().map(DataInharmI::getI9).collect(Collectors.toList());
|
||||
List<Double> data21 = valueTypeList.stream().map(DataInharmI::getI10).collect(Collectors.toList());
|
||||
List<Double> data22 = valueTypeList.stream().map(DataInharmI::getI11).collect(Collectors.toList());
|
||||
List<Double> data23 = valueTypeList.stream().map(DataInharmI::getI12).collect(Collectors.toList());
|
||||
List<Double> data24 = valueTypeList.stream().map(DataInharmI::getI13).collect(Collectors.toList());
|
||||
List<Double> data25 = valueTypeList.stream().map(DataInharmI::getI14).collect(Collectors.toList());
|
||||
List<Double> data26 = valueTypeList.stream().map(DataInharmI::getI15).collect(Collectors.toList());
|
||||
List<Double> data27 = valueTypeList.stream().map(DataInharmI::getI16).collect(Collectors.toList());
|
||||
List<Double> data28 = valueTypeList.stream().map(DataInharmI::getI17).collect(Collectors.toList());
|
||||
List<Double> data29 = valueTypeList.stream().map(DataInharmI::getI18).collect(Collectors.toList());
|
||||
List<Double> data30 = valueTypeList.stream().map(DataInharmI::getI19).collect(Collectors.toList());
|
||||
List<Double> data31 = valueTypeList.stream().map(DataInharmI::getI20).collect(Collectors.toList());
|
||||
List<Double> data32 = valueTypeList.stream().map(DataInharmI::getI21).collect(Collectors.toList());
|
||||
List<Double> data33 = valueTypeList.stream().map(DataInharmI::getI22).collect(Collectors.toList());
|
||||
List<Double> data34 = valueTypeList.stream().map(DataInharmI::getI23).collect(Collectors.toList());
|
||||
List<Double> data35 = valueTypeList.stream().map(DataInharmI::getI24).collect(Collectors.toList());
|
||||
List<Double> data36 = valueTypeList.stream().map(DataInharmI::getI25).collect(Collectors.toList());
|
||||
List<Double> data37 = valueTypeList.stream().map(DataInharmI::getI26).collect(Collectors.toList());
|
||||
List<Double> data38 = valueTypeList.stream().map(DataInharmI::getI27).collect(Collectors.toList());
|
||||
List<Double> data39 = valueTypeList.stream().map(DataInharmI::getI28).collect(Collectors.toList());
|
||||
List<Double> data40 = valueTypeList.stream().map(DataInharmI::getI29).collect(Collectors.toList());
|
||||
List<Double> data41 = valueTypeList.stream().map(DataInharmI::getI30).collect(Collectors.toList());
|
||||
List<Double> data42 = valueTypeList.stream().map(DataInharmI::getI31).collect(Collectors.toList());
|
||||
List<Double> data43 = valueTypeList.stream().map(DataInharmI::getI32).collect(Collectors.toList());
|
||||
List<Double> data44 = valueTypeList.stream().map(DataInharmI::getI33).collect(Collectors.toList());
|
||||
List<Double> data45 = valueTypeList.stream().map(DataInharmI::getI34).collect(Collectors.toList());
|
||||
List<Double> data46 = valueTypeList.stream().map(DataInharmI::getI35).collect(Collectors.toList());
|
||||
List<Double> data47 = valueTypeList.stream().map(DataInharmI::getI36).collect(Collectors.toList());
|
||||
List<Double> data48 = valueTypeList.stream().map(DataInharmI::getI37).collect(Collectors.toList());
|
||||
List<Double> data49 = valueTypeList.stream().map(DataInharmI::getI38).collect(Collectors.toList());
|
||||
List<Double> data50 = valueTypeList.stream().map(DataInharmI::getI39).collect(Collectors.toList());
|
||||
List<Double> data51 = valueTypeList.stream().map(DataInharmI::getI40).collect(Collectors.toList());
|
||||
List<Double> data52 = valueTypeList.stream().map(DataInharmI::getI41).collect(Collectors.toList());
|
||||
List<Double> data53 = valueTypeList.stream().map(DataInharmI::getI42).collect(Collectors.toList());
|
||||
List<Double> data54 = valueTypeList.stream().map(DataInharmI::getI43).collect(Collectors.toList());
|
||||
List<Double> data55 = valueTypeList.stream().map(DataInharmI::getI44).collect(Collectors.toList());
|
||||
List<Double> data56 = valueTypeList.stream().map(DataInharmI::getI45).collect(Collectors.toList());
|
||||
List<Double> data57 = valueTypeList.stream().map(DataInharmI::getI46).collect(Collectors.toList());
|
||||
List<Double> data58 = valueTypeList.stream().map(DataInharmI::getI47).collect(Collectors.toList());
|
||||
List<Double> data59 = valueTypeList.stream().map(DataInharmI::getI48).collect(Collectors.toList());
|
||||
List<Double> data60 = valueTypeList.stream().map(DataInharmI::getI49).collect(Collectors.toList());
|
||||
List<Double> data61 = valueTypeList.stream().map(DataInharmI::getI50).collect(Collectors.toList());
|
||||
|
||||
List<List<Double>> lists = Arrays.asList(data12,data13,data14
|
||||
,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24
|
||||
,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34
|
||||
,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44
|
||||
,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54
|
||||
,data55,data56,data57,data58,data59,data60,data61);
|
||||
value.setValueList(lists);
|
||||
valueTypes.add(value);
|
||||
});
|
||||
type.setValueTypeList(valueTypes);
|
||||
phasicTypes.add(type);
|
||||
});
|
||||
dto.setPhasicTypeList(phasicTypes);
|
||||
result.add(dto);
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataInHarmIDto> list) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 按监测点集合、时间条件获取分钟数据
|
||||
* timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理
|
||||
* 需要进行剔除异常数据时,这里会有三种情况判断
|
||||
* 1.无异常数据,则直接返回集合;
|
||||
* 2.异常数据和无异常数据参杂,剔除异常数据,只计算正常数据;
|
||||
* 3.全是异常数据,则使用异常数据进行计算,但是日表中需要标记出来,此数据有异常
|
||||
*/
|
||||
public List<DataInharmI> getMinuteData(List<String> lineList, String startTime, String endTime, Map<String,List<String>> timeMap) {
|
||||
List<DataInharmI> result = new ArrayList<>();
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataInharmI.class);
|
||||
influxQueryWrapper.samePrefixAndSuffix(InfluxDbSqlConstant.I, "", HarmonicTimesUtil.harmonicTimesList(1, 50, 1));
|
||||
influxQueryWrapper.regular(DataInharmI::getLineId, lineList)
|
||||
.select(DataInharmI::getLineId)
|
||||
.select(DataInharmI::getPhasicType)
|
||||
.select(DataInharmI::getValueType)
|
||||
.select(DataInharmI::getQualityFlag)
|
||||
.between(DataInharmI::getTime, startTime, endTime)
|
||||
.eq(DataInharmI::getQualityFlag,"0");
|
||||
List<DataInharmI> list = dataInharmIMapper.selectByQueryWrapper(influxQueryWrapper);
|
||||
Map<String,List<DataInharmI>> lineMap = list.stream().collect(Collectors.groupingBy(DataInharmI::getLineId));
|
||||
//有异常数据
|
||||
if (CollectionUtil.isNotEmpty(timeMap)) {
|
||||
lineMap.forEach((k,v)->{
|
||||
List<String> timeList = timeMap.get(k);
|
||||
//有异常数据,当前监测点自身的异常数据
|
||||
if (CollectionUtil.isNotEmpty(timeList)) {
|
||||
List<DataInharmI> filterList = v.stream().filter(item -> !timeList.contains(DATE_TIME_FORMATTER.format(item.getTime()))).collect(Collectors.toList());
|
||||
//1.过滤掉异常数据后还有正常数据,则用正常数据计算
|
||||
if (CollectionUtil.isNotEmpty(filterList)) {
|
||||
result.addAll(filterList);
|
||||
}
|
||||
//2.过滤掉异常数据后没有正常数据,则用所有异常数据计算,但是需要标记数据为异常的
|
||||
else {
|
||||
v.parallelStream().forEach(item -> item.setQualityFlag("1"));
|
||||
result.addAll(v);
|
||||
}
|
||||
}
|
||||
//没有异常数据,则使用原数据
|
||||
else {
|
||||
result.addAll(v);
|
||||
}
|
||||
});
|
||||
}
|
||||
//没有异常数据,则使用原数据
|
||||
else {
|
||||
result.addAll(list);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,14 +1,20 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.utils.HarmonicTimesUtil;
|
||||
import com.njcn.dataProcess.dao.imapper.DataInharmVMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataInHarmVRelationMapper;
|
||||
import com.njcn.dataProcess.dto.DataInharmVDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.influx.DataI;
|
||||
import com.njcn.dataProcess.po.influx.DataInharmV;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataInHarmVDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataInHarmVD;
|
||||
import com.njcn.dataProcess.service.IDataInharmV;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -19,6 +25,7 @@ import org.springframework.stereotype.Service;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -33,7 +40,7 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service("InfluxdbDataInharmVImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataInharmVImpl implements IDataInharmV {
|
||||
public class InfluxdbDataInharmVImpl extends MppServiceImpl<RStatDataInHarmVRelationMapper, RStatDataInHarmVD> implements IDataInharmV {
|
||||
|
||||
private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault());
|
||||
|
||||
@@ -71,6 +78,107 @@ public class InfluxdbDataInharmVImpl implements IDataInharmV {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
List<CommonMinuteDto> result = new ArrayList<>();
|
||||
List<DataInharmV> data = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime());
|
||||
if (CollectionUtil.isNotEmpty(data)) {
|
||||
String time = TimeUtils.StringTimeToString(lineParam.getStartTime());
|
||||
//以监测点分组
|
||||
Map<String,List<DataInharmV>> lineMap = data.stream().collect(Collectors.groupingBy(DataInharmV::getLineId));
|
||||
lineMap.forEach((line,lineList)->{
|
||||
CommonMinuteDto dto = new CommonMinuteDto();
|
||||
dto.setLineId(line);
|
||||
dto.setTime(time);
|
||||
dto.setQualityFlag(lineList.get(0).getQualityFlag());
|
||||
//以相别分组
|
||||
Map<String,List<DataInharmV>> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataInharmV::getPhasicType));
|
||||
List<CommonMinuteDto.PhasicType> phasicTypes = new ArrayList<>();
|
||||
phasicTypeMap.forEach((phasicType,phasicTypeList)->{
|
||||
CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType();
|
||||
type.setPhasicType(phasicType);
|
||||
//以数据类型分组
|
||||
Map<String,List<DataInharmV>> valueTypeMap = phasicTypeList.stream().collect(Collectors.groupingBy(DataInharmV::getValueType));
|
||||
List<CommonMinuteDto.ValueType> valueTypes = new ArrayList<>();
|
||||
valueTypeMap.forEach((valueType,valueTypeList)->{
|
||||
CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType();
|
||||
value.setValueType(valueType);
|
||||
//规定好集合指标参数
|
||||
List<Double> data12 = valueTypeList.stream().map(DataInharmV::getV1).collect(Collectors.toList());
|
||||
List<Double> data13 = valueTypeList.stream().map(DataInharmV::getV2).collect(Collectors.toList());
|
||||
List<Double> data14 = valueTypeList.stream().map(DataInharmV::getV3).collect(Collectors.toList());
|
||||
List<Double> data15 = valueTypeList.stream().map(DataInharmV::getV4).collect(Collectors.toList());
|
||||
List<Double> data16 = valueTypeList.stream().map(DataInharmV::getV5).collect(Collectors.toList());
|
||||
List<Double> data17 = valueTypeList.stream().map(DataInharmV::getV6).collect(Collectors.toList());
|
||||
List<Double> data18 = valueTypeList.stream().map(DataInharmV::getV7).collect(Collectors.toList());
|
||||
List<Double> data19 = valueTypeList.stream().map(DataInharmV::getV8).collect(Collectors.toList());
|
||||
List<Double> data20 = valueTypeList.stream().map(DataInharmV::getV9).collect(Collectors.toList());
|
||||
List<Double> data21 = valueTypeList.stream().map(DataInharmV::getV10).collect(Collectors.toList());
|
||||
List<Double> data22 = valueTypeList.stream().map(DataInharmV::getV11).collect(Collectors.toList());
|
||||
List<Double> data23 = valueTypeList.stream().map(DataInharmV::getV12).collect(Collectors.toList());
|
||||
List<Double> data24 = valueTypeList.stream().map(DataInharmV::getV13).collect(Collectors.toList());
|
||||
List<Double> data25 = valueTypeList.stream().map(DataInharmV::getV14).collect(Collectors.toList());
|
||||
List<Double> data26 = valueTypeList.stream().map(DataInharmV::getV15).collect(Collectors.toList());
|
||||
List<Double> data27 = valueTypeList.stream().map(DataInharmV::getV16).collect(Collectors.toList());
|
||||
List<Double> data28 = valueTypeList.stream().map(DataInharmV::getV17).collect(Collectors.toList());
|
||||
List<Double> data29 = valueTypeList.stream().map(DataInharmV::getV18).collect(Collectors.toList());
|
||||
List<Double> data30 = valueTypeList.stream().map(DataInharmV::getV19).collect(Collectors.toList());
|
||||
List<Double> data31 = valueTypeList.stream().map(DataInharmV::getV20).collect(Collectors.toList());
|
||||
List<Double> data32 = valueTypeList.stream().map(DataInharmV::getV21).collect(Collectors.toList());
|
||||
List<Double> data33 = valueTypeList.stream().map(DataInharmV::getV22).collect(Collectors.toList());
|
||||
List<Double> data34 = valueTypeList.stream().map(DataInharmV::getV23).collect(Collectors.toList());
|
||||
List<Double> data35 = valueTypeList.stream().map(DataInharmV::getV24).collect(Collectors.toList());
|
||||
List<Double> data36 = valueTypeList.stream().map(DataInharmV::getV25).collect(Collectors.toList());
|
||||
List<Double> data37 = valueTypeList.stream().map(DataInharmV::getV26).collect(Collectors.toList());
|
||||
List<Double> data38 = valueTypeList.stream().map(DataInharmV::getV27).collect(Collectors.toList());
|
||||
List<Double> data39 = valueTypeList.stream().map(DataInharmV::getV28).collect(Collectors.toList());
|
||||
List<Double> data40 = valueTypeList.stream().map(DataInharmV::getV29).collect(Collectors.toList());
|
||||
List<Double> data41 = valueTypeList.stream().map(DataInharmV::getV30).collect(Collectors.toList());
|
||||
List<Double> data42 = valueTypeList.stream().map(DataInharmV::getV31).collect(Collectors.toList());
|
||||
List<Double> data43 = valueTypeList.stream().map(DataInharmV::getV32).collect(Collectors.toList());
|
||||
List<Double> data44 = valueTypeList.stream().map(DataInharmV::getV33).collect(Collectors.toList());
|
||||
List<Double> data45 = valueTypeList.stream().map(DataInharmV::getV34).collect(Collectors.toList());
|
||||
List<Double> data46 = valueTypeList.stream().map(DataInharmV::getV35).collect(Collectors.toList());
|
||||
List<Double> data47 = valueTypeList.stream().map(DataInharmV::getV36).collect(Collectors.toList());
|
||||
List<Double> data48 = valueTypeList.stream().map(DataInharmV::getV37).collect(Collectors.toList());
|
||||
List<Double> data49 = valueTypeList.stream().map(DataInharmV::getV38).collect(Collectors.toList());
|
||||
List<Double> data50 = valueTypeList.stream().map(DataInharmV::getV39).collect(Collectors.toList());
|
||||
List<Double> data51 = valueTypeList.stream().map(DataInharmV::getV40).collect(Collectors.toList());
|
||||
List<Double> data52 = valueTypeList.stream().map(DataInharmV::getV41).collect(Collectors.toList());
|
||||
List<Double> data53 = valueTypeList.stream().map(DataInharmV::getV42).collect(Collectors.toList());
|
||||
List<Double> data54 = valueTypeList.stream().map(DataInharmV::getV43).collect(Collectors.toList());
|
||||
List<Double> data55 = valueTypeList.stream().map(DataInharmV::getV44).collect(Collectors.toList());
|
||||
List<Double> data56 = valueTypeList.stream().map(DataInharmV::getV45).collect(Collectors.toList());
|
||||
List<Double> data57 = valueTypeList.stream().map(DataInharmV::getV46).collect(Collectors.toList());
|
||||
List<Double> data58 = valueTypeList.stream().map(DataInharmV::getV47).collect(Collectors.toList());
|
||||
List<Double> data59 = valueTypeList.stream().map(DataInharmV::getV48).collect(Collectors.toList());
|
||||
List<Double> data60 = valueTypeList.stream().map(DataInharmV::getV49).collect(Collectors.toList());
|
||||
List<Double> data61 = valueTypeList.stream().map(DataInharmV::getV50).collect(Collectors.toList());
|
||||
|
||||
List<List<Double>> lists = Arrays.asList(data12,data13,data14
|
||||
,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24
|
||||
,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34
|
||||
,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44
|
||||
,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54
|
||||
,data55,data56,data57,data58,data59,data60,data61);
|
||||
value.setValueList(lists);
|
||||
valueTypes.add(value);
|
||||
});
|
||||
type.setValueTypeList(valueTypes);
|
||||
phasicTypes.add(type);
|
||||
});
|
||||
dto.setPhasicTypeList(phasicTypes);
|
||||
result.add(dto);
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataInHarmVDto> list) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 按监测点集合、时间条件获取dataI分钟数据
|
||||
* timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.njcn.common.utils.HarmonicTimesUtil;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.imapper.DataPltMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataPltRelationMapper;
|
||||
import com.njcn.dataProcess.dto.DataPltDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.influx.DataI;
|
||||
import com.njcn.dataProcess.po.influx.DataPlt;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataPltDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataPltD;
|
||||
import com.njcn.dataProcess.service.IDataPlt;
|
||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
@@ -18,9 +20,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -32,7 +32,7 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service("InfluxdbDataPltImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataPltImpl implements IDataPlt {
|
||||
public class InfluxdbDataPltImpl extends MppServiceImpl<RStatDataPltRelationMapper, RStatDataPltD> implements IDataPlt {
|
||||
|
||||
private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault());
|
||||
|
||||
@@ -70,6 +70,52 @@ public class InfluxdbDataPltImpl implements IDataPlt {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
List<CommonMinuteDto> result = new ArrayList<>();
|
||||
List<DataPlt> data = getMinuteDataPlt(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime());
|
||||
if (CollectionUtil.isNotEmpty(data)) {
|
||||
String time = TimeUtils.StringTimeToString(lineParam.getStartTime());
|
||||
//以监测点分组
|
||||
Map<String,List<DataPlt>> lineMap = data.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
||||
lineMap.forEach((line,lineList)->{
|
||||
CommonMinuteDto dto = new CommonMinuteDto();
|
||||
dto.setLineId(line);
|
||||
dto.setTime(time);
|
||||
dto.setQualityFlag(lineList.get(0).getQualityFlag());
|
||||
//以相别分组
|
||||
Map<String,List<DataPlt>> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataPlt::getPhasicType));
|
||||
List<CommonMinuteDto.PhasicType> phasicTypes = new ArrayList<>();
|
||||
phasicTypeMap.forEach((phasicType,phasicTypeList)->{
|
||||
CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType();
|
||||
type.setPhasicType(phasicType);
|
||||
|
||||
List<CommonMinuteDto.ValueType> valueTypes = new ArrayList<>();
|
||||
CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType();
|
||||
value.setValueType(null);
|
||||
|
||||
//规定好集合指标参数
|
||||
List<Double> data1 = phasicTypeList.stream().map(DataPlt::getPlt).collect(Collectors.toList());
|
||||
|
||||
List<List<Double>> lists = Collections.singletonList(data1);
|
||||
value.setValueList(lists);
|
||||
valueTypes.add(value);
|
||||
|
||||
type.setValueTypeList(valueTypes);
|
||||
phasicTypes.add(type);
|
||||
});
|
||||
dto.setPhasicTypeList(phasicTypes);
|
||||
result.add(dto);
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataPltDto> list) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 按监测点集合、时间条件获取dataI分钟数据
|
||||
* timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmRateIRelationMapper;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmRateIDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataHarmRateID;
|
||||
import com.njcn.dataProcess.service.IDataHarmRateI;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
*/
|
||||
@Service("RelationDataHarmRateIImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataHarmRateIImpl extends MppServiceImpl<RStatDataHarmRateIRelationMapper, RStatDataHarmRateID> implements IDataHarmRateI {
|
||||
|
||||
@Resource
|
||||
private IDataHarmRateI dataHarmRateI;
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataHarmRateIDto> list) {
|
||||
List<RStatDataHarmRateID> result = new ArrayList<>();
|
||||
list.forEach(item->{
|
||||
RStatDataHarmRateID data = new RStatDataHarmRateID();
|
||||
data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime()));
|
||||
data.setPhasicType(item.getPhasicType());
|
||||
data.setQualityFlag(Integer.valueOf(item.getQualityFlag()));
|
||||
BeanUtils.copyProperties(item, data);
|
||||
result.add(data);
|
||||
});
|
||||
dataHarmRateI.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,19 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.DataHarmrateVRelationMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.DataIRelationMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmRateVRelationMapper;
|
||||
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.relation.DataHarmrateV;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataHarmRateVD;
|
||||
import com.njcn.dataProcess.service.IDataHarmRateV;
|
||||
import com.njcn.dataProcess.util.BeanFeildUtils;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -24,11 +30,13 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service("RelationDataHarmRateVImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataHarmRateVImpl implements IDataHarmRateV {
|
||||
public class RelationDataHarmRateVImpl extends MppServiceImpl<RStatDataHarmRateVRelationMapper, RStatDataHarmRateVD> implements IDataHarmRateV {
|
||||
|
||||
@Resource
|
||||
private DataIRelationMapper dataIRelationMapper;
|
||||
private final DataHarmrateVRelationMapper dataHarmrateVRelationMapper;
|
||||
@Resource
|
||||
private IDataHarmRateV dataHarmRateV;
|
||||
|
||||
@Override
|
||||
public List<DataHarmDto> getRawData(LineCountEvaluateParam lineParam) {
|
||||
@@ -62,4 +70,23 @@ public class RelationDataHarmRateVImpl implements IDataHarmRateV {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataHarmRateVDto> list) {
|
||||
List<RStatDataHarmRateVD> result = new ArrayList<>();
|
||||
list.forEach(item->{
|
||||
RStatDataHarmRateVD data = new RStatDataHarmRateVD();
|
||||
data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime()));
|
||||
data.setPhasicType(item.getPhasicType());
|
||||
data.setQualityFlag(Integer.valueOf(item.getQualityFlag()));
|
||||
BeanUtils.copyProperties(item, data);
|
||||
result.add(data);
|
||||
});
|
||||
dataHarmRateV.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,25 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.njcn.dataProcess.dto.DataHarmpowerSDTO;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.DataHarmpowerSRelationMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmPowerSRelationMapper;
|
||||
import com.njcn.dataProcess.dto.DataHarmpowerSDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.relation.DataHarmpowerS;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataHarmPowerSD;
|
||||
import com.njcn.dataProcess.service.IDataHarmpowerS;
|
||||
import com.njcn.dataProcess.util.BeanFeildUtils;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -22,8 +32,12 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service("RelationDataHarmpowerSImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataHarmpowerSImpl implements IDataHarmpowerS {
|
||||
public class RelationDataHarmpowerSImpl extends MppServiceImpl<RStatDataHarmPowerSRelationMapper, RStatDataHarmPowerSD> implements IDataHarmpowerS {
|
||||
|
||||
private final DataHarmpowerSRelationMapper dataHarmpowerSRelationMapper;
|
||||
@Resource
|
||||
private IDataHarmpowerS dataHarmPowerS;
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataHarmpowerSDTO> dataHarmpowerSDTOList) {
|
||||
int totalCount = dataHarmpowerSDTOList.size();
|
||||
@@ -49,4 +63,23 @@ public class RelationDataHarmpowerSImpl implements IDataHarmpowerS {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataHarmPowerSDto> list) {
|
||||
List<RStatDataHarmPowerSD> result = new ArrayList<>();
|
||||
list.forEach(item->{
|
||||
RStatDataHarmPowerSD data = new RStatDataHarmPowerSD();
|
||||
data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime()));
|
||||
data.setPhasicType(item.getPhasicType());
|
||||
data.setQualityFlag(Integer.valueOf(item.getQualityFlag()));
|
||||
BeanUtils.copyProperties(item, data);
|
||||
result.add(data);
|
||||
});
|
||||
dataHarmPowerS.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,25 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.njcn.dataProcess.dto.DataInharmIDTO;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.DataInharmIRelationMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataInHarmIRelationMapper;
|
||||
import com.njcn.dataProcess.dto.DataInharmIDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.relation.DataInharmI;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataInHarmIDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataInHarmID;
|
||||
import com.njcn.dataProcess.service.IDataInharmI;
|
||||
import com.njcn.dataProcess.util.BeanFeildUtils;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -21,9 +30,11 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service("RelationDataInharmIImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataInharmIImpl implements IDataInharmI {
|
||||
private final DataInharmIRelationMapper dataVInharmIMapper;
|
||||
public class RelationDataInharmIImpl extends MppServiceImpl<RStatDataInHarmIRelationMapper, RStatDataInHarmID> implements IDataInharmI {
|
||||
|
||||
private final DataInharmIRelationMapper dataVInharmIMapper;
|
||||
@Resource
|
||||
private IDataInharmI dataInharmI;
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataInharmIDTO> dataInharmIDTOList) {
|
||||
@@ -50,4 +61,23 @@ public class RelationDataInharmIImpl implements IDataInharmI {
|
||||
dataVInharmIMapper.insertBatchSomeColumn(dataInharmIList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataInHarmIDto> list) {
|
||||
List<RStatDataInHarmID> result = new ArrayList<>();
|
||||
list.forEach(item->{
|
||||
RStatDataInHarmID data = new RStatDataInHarmID();
|
||||
data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime()));
|
||||
data.setPhasicType(item.getPhasicType());
|
||||
data.setQualityFlag(Integer.valueOf(item.getQualityFlag()));
|
||||
BeanUtils.copyProperties(item, data);
|
||||
result.add(data);
|
||||
});
|
||||
dataInharmI.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,25 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.njcn.dataProcess.dto.DataInharmVDTO;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.DataVInharmVRelationMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataInHarmVRelationMapper;
|
||||
import com.njcn.dataProcess.dto.DataInharmVDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.relation.DataInharmV;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataInHarmVDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataInHarmVD;
|
||||
import com.njcn.dataProcess.service.IDataInharmV;
|
||||
import com.njcn.dataProcess.util.BeanFeildUtils;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -24,8 +31,11 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service("RelationDataInharmVImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataInharmVImpl implements IDataInharmV {
|
||||
public class RelationDataInharmVImpl extends MppServiceImpl<RStatDataInHarmVRelationMapper, RStatDataInHarmVD> implements IDataInharmV {
|
||||
|
||||
private final DataVInharmVRelationMapper dataVInharmVRelationMapper;
|
||||
@Resource
|
||||
private IDataInharmV dataInHarmV;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -59,4 +69,23 @@ public class RelationDataInharmVImpl implements IDataInharmV {
|
||||
public List<DataHarmDto> getRawData(LineCountEvaluateParam lineParam) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataInHarmVDto> list) {
|
||||
List<RStatDataInHarmVD> result = new ArrayList<>();
|
||||
list.forEach(item->{
|
||||
RStatDataInHarmVD data = new RStatDataInHarmVD();
|
||||
data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime()));
|
||||
data.setPhasicType(item.getPhasicType());
|
||||
data.setQualityFlag(Integer.valueOf(item.getQualityFlag()));
|
||||
BeanUtils.copyProperties(item, data);
|
||||
result.add(data);
|
||||
});
|
||||
dataInHarmV.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import com.njcn.dataProcess.dto.DataPltDTO;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.DataPltRelationMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatDataPltRelationMapper;
|
||||
import com.njcn.dataProcess.dto.DataPltDTO;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.po.relation.DataPlt;
|
||||
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataPltDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataPltD;
|
||||
import com.njcn.dataProcess.service.IDataPlt;
|
||||
import com.njcn.dataProcess.util.BeanFeildUtils;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -26,9 +31,11 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service("RelationDataPltImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataPltImpl implements IDataPlt {
|
||||
public class RelationDataPltImpl extends MppServiceImpl<RStatDataPltRelationMapper, RStatDataPltD> implements IDataPlt {
|
||||
|
||||
private final DataPltRelationMapper dataPltRelationMapper;
|
||||
private final IDataPlt dataPlt;
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataPltDTO> dataPltDTOList) {
|
||||
int totalCount = dataPltDTOList.size();
|
||||
@@ -59,4 +66,23 @@ public class RelationDataPltImpl implements IDataPlt {
|
||||
public List<DataPltDto> getRawData(LineCountEvaluateParam lineParam) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommonMinuteDto> getBaseData(LineCountEvaluateParam lineParam) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<DataPltDto> list) {
|
||||
List<RStatDataPltD> result = new ArrayList<>();
|
||||
list.forEach(item->{
|
||||
RStatDataPltD data = new RStatDataPltD();
|
||||
data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime()));
|
||||
data.setPhasicType(item.getPhasicType());
|
||||
data.setQualityFlag(Integer.valueOf(item.getQualityFlag()));
|
||||
BeanUtils.copyProperties(item, data);
|
||||
result.add(data);
|
||||
});
|
||||
dataPlt.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user