1.地市数据完整性
2.监测点稳态指标合格率
This commit is contained in:
@@ -58,5 +58,6 @@ public class BaseParam implements Serializable {
|
||||
@ApiModelProperty(name = "idList",value = "索引集合")
|
||||
private List<String> idList;
|
||||
|
||||
|
||||
@ApiModelProperty(name = "type",value = "0:通用 1:省级平台 ")
|
||||
private Integer type;
|
||||
}
|
||||
|
||||
@@ -231,45 +231,45 @@ public class ExecutionCenter extends BaseController {
|
||||
dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
||||
}
|
||||
}
|
||||
//
|
||||
// @OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
// @ApiOperation("单位监测点算法执行链")
|
||||
// @PostMapping("/orgPointExecutor")
|
||||
// @Async("asyncExecutor")
|
||||
// public void orgPointExecutor(@RequestBody BaseParam baseParam) {
|
||||
// String methodDescribe = getMethodDescribe("OrgPointExecutor");
|
||||
// //手动判断参数是否合法,
|
||||
// CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = judgeExecuteParam(baseParam);
|
||||
// // 测点索引
|
||||
// DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
//
|
||||
// if (CollectionUtils.isEmpty(calculatedParam.getIdList())) {
|
||||
// Dept data = deptFeignClient.getRootDept().getData();
|
||||
// deptGetLineParam.setDeptId(data.getId());
|
||||
// calculatedParam.setIdList(commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData());
|
||||
// }
|
||||
// LiteflowResponse liteflowResponse;
|
||||
// if (baseParam.isRepair()) {
|
||||
// //补招时,起始日期、截止日期必填
|
||||
// DateTime startDate = DateUtil.parse(baseParam.getBeginTime(), DatePattern.NORM_DATE_FORMAT);
|
||||
// DateTime endDate = DateUtil.parse(baseParam.getEndTime(), DatePattern.NORM_DATE_FORMAT);
|
||||
// long betweenDay = DateUtil.betweenDay(startDate, endDate, true);
|
||||
// //递增日期执行算法链
|
||||
// for (int i = 0; i < betweenDay; i++) {
|
||||
// if (i != 0) {
|
||||
// startDate = DateUtil.offsetDay(startDate, 1);
|
||||
// }
|
||||
// calculatedParam.setDataDate(DateUtil.format(startDate, DatePattern.NORM_DATE_PATTERN));
|
||||
// liteflowResponse = flowExecutor.execute2Resp("org_point", calculatedParam);
|
||||
// dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
||||
// }
|
||||
// } else {
|
||||
// //非补招
|
||||
// liteflowResponse = flowExecutor.execute2Resp("org_point", calculatedParam);
|
||||
// dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("单位监测点算法执行链")
|
||||
@PostMapping("/orgPointExecutor")
|
||||
@Async("asyncExecutor")
|
||||
public void orgPointExecutor(@RequestBody BaseParam baseParam) {
|
||||
String methodDescribe = getMethodDescribe("OrgPointExecutor");
|
||||
//手动判断参数是否合法,
|
||||
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = judgeExecuteParam(baseParam);
|
||||
// 测点索引
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
|
||||
if (CollectionUtils.isEmpty(calculatedParam.getIdList())) {
|
||||
Dept data = deptFeignClient.getRootDept().getData();
|
||||
deptGetLineParam.setDeptId(data.getId());
|
||||
calculatedParam.setIdList(commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData());
|
||||
}
|
||||
LiteflowResponse liteflowResponse;
|
||||
if (baseParam.isRepair()) {
|
||||
//补招时,起始日期、截止日期必填
|
||||
DateTime startDate = DateUtil.parse(baseParam.getBeginTime(), DatePattern.NORM_DATE_FORMAT);
|
||||
DateTime endDate = DateUtil.parse(baseParam.getEndTime(), DatePattern.NORM_DATE_FORMAT);
|
||||
long betweenDay = DateUtil.betweenDay(startDate, endDate, true);
|
||||
//递增日期执行算法链
|
||||
for (int i = 0; i < betweenDay; i++) {
|
||||
if (i != 0) {
|
||||
startDate = DateUtil.offsetDay(startDate, 1);
|
||||
}
|
||||
calculatedParam.setDataDate(DateUtil.format(startDate, DatePattern.NORM_DATE_PATTERN));
|
||||
liteflowResponse = flowExecutor.execute2Resp("org_point", calculatedParam);
|
||||
dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
||||
}
|
||||
} else {
|
||||
//非补招
|
||||
liteflowResponse = flowExecutor.execute2Resp("org_point", calculatedParam);
|
||||
dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
//
|
||||
// @OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
// @ApiOperation("pms国网上送单位层级算法执行链")
|
||||
|
||||
@@ -39,5 +39,13 @@ public class DeviceExecutor extends BaseExecutor {
|
||||
onlineRateService.dataOnlineRate(bindCmp.getRequestData());
|
||||
}
|
||||
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "deviceOnlineRateMonth", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean dataOnlineRateMonthAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "deviceOnlineRateMonth", nodeType = NodeTypeEnum.COMMON)
|
||||
public void deviceOnlineRateMonthProcess(NodeComponent bindCmp) {
|
||||
onlineRateService.dataOnlineRateMonth(bindCmp.getRequestData());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.algorithm.executor;
|
||||
|
||||
import com.njcn.algorithm.service.line.IDataCleanService;
|
||||
import com.njcn.algorithm.service.line.IDataCrossingService;
|
||||
import com.njcn.algorithm.service.line.IDataIntegrityService;
|
||||
import com.njcn.algorithm.service.line.IDayDataService;
|
||||
import com.yomahub.liteflow.annotation.LiteflowComponent;
|
||||
import com.yomahub.liteflow.annotation.LiteflowMethod;
|
||||
@@ -28,9 +29,12 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
private IDayDataService dayDataService;
|
||||
@Resource
|
||||
private IDataCleanService dataCleanService;
|
||||
|
||||
@Resource
|
||||
private IDataCrossingService dataCrossingService;
|
||||
@Resource
|
||||
private IDataIntegrityService dataIntegrityService;
|
||||
|
||||
|
||||
/**
|
||||
* 数据清洗 电压表
|
||||
* dataV表
|
||||
@@ -307,4 +311,16 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
public void dataLimitTargetProcess(NodeComponent bindCmp) {
|
||||
dataCrossingService.limitTargetHandler(bindCmp.getRequestData());
|
||||
}
|
||||
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataIntegrity", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean dataIntegrityAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataIntegrity", nodeType = NodeTypeEnum.COMMON)
|
||||
public void dataIntegrityProcess(NodeComponent bindCmp) {
|
||||
dataIntegrityService.dataIntegrity(bindCmp.getRequestData());
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.njcn.algorithm.executor;
|
||||
|
||||
import com.njcn.algorithm.service.line.IDataIntegrityService;
|
||||
import com.njcn.algorithm.service.line.IDataOrgPointService;
|
||||
import com.yomahub.liteflow.annotation.LiteflowComponent;
|
||||
import com.yomahub.liteflow.annotation.LiteflowMethod;
|
||||
import com.yomahub.liteflow.core.NodeComponent;
|
||||
import com.yomahub.liteflow.enums.LiteFlowMethodEnum;
|
||||
import com.yomahub.liteflow.enums.NodeTypeEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2023/11/10 10:39【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@LiteflowComponent
|
||||
@RequiredArgsConstructor
|
||||
public class OrgPointExecutor extends BaseExecutor{
|
||||
|
||||
|
||||
@Resource
|
||||
private IDataOrgPointService dataOrgPointService;
|
||||
|
||||
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataOrgIntegrity", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean dataOrgIntegrityAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataOrgIntegrity", nodeType = NodeTypeEnum.COMMON)
|
||||
public void dataOrgIntegrityProcess(NodeComponent bindCmp) {
|
||||
dataOrgPointService.dataOrgIntegrity(bindCmp.getRequestData());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -34,4 +34,13 @@ public interface IDataCrossingService {
|
||||
* @Date: 2025/3/12 16:03
|
||||
*/
|
||||
List<QualifiedDetail> limitQualifiedDayHandler(CalculatedParam calculatedParam);
|
||||
|
||||
|
||||
/**
|
||||
* 监测点稳态指标合格率(月)
|
||||
* @param calculatedParam
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/12 16:03
|
||||
*/
|
||||
List<QualifiedDetail> limitQualifiedMonthHandler(CalculatedParam calculatedParam);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,9 @@ package com.njcn.algorithm.service.line;
|
||||
|
||||
|
||||
import com.njcn.algorithm.pojo.bo.CalculatedParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIntegrityDto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author xiaoyao
|
||||
@@ -17,4 +20,13 @@ public interface IDataIntegrityService {
|
||||
* @param calculatedParam 查询条件
|
||||
*/
|
||||
void dataIntegrity(CalculatedParam<String> calculatedParam);
|
||||
|
||||
|
||||
/***
|
||||
* 监测点数据完整性_月表
|
||||
* @author xuyang
|
||||
* @date 2023/11/09 10:08
|
||||
* @param calculatedParam 查询条件
|
||||
*/
|
||||
List<DataIntegrityDto> dataIntegrityMonth(CalculatedParam<String> calculatedParam);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.njcn.algorithm.service.line;
|
||||
|
||||
|
||||
import com.njcn.algorithm.pojo.bo.CalculatedParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataOrgIntegrityDto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author xiaoyao
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/10/24 20:06
|
||||
*/
|
||||
public interface IDataOrgPointService {
|
||||
|
||||
/***
|
||||
* 地区数据完整性_日表
|
||||
* @author xuyang
|
||||
* @date 2023/11/09 10:08
|
||||
* @param calculatedParam 查询条件
|
||||
*/
|
||||
void dataOrgIntegrity(CalculatedParam calculatedParam);
|
||||
|
||||
|
||||
/***
|
||||
* 地区点数据完整性_月表
|
||||
* @author xuyang
|
||||
* @date 2023/11/09 10:08
|
||||
* @param calculatedParam 查询条件
|
||||
*/
|
||||
List<DataOrgIntegrityDto> dataOrgIntegrityMonth(CalculatedParam calculatedParam);
|
||||
}
|
||||
@@ -24,6 +24,7 @@ import com.njcn.influx.pojo.constant.InfluxDBTableConstant;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -260,13 +261,26 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
|
||||
|
||||
@Override
|
||||
public List<QualifiedDetail> limitQualifiedDayHandler(CalculatedParam calculatedParam) {
|
||||
LineCountEvaluateParam lineParam = new LineCountEvaluateParam();
|
||||
lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate()));
|
||||
lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate()));
|
||||
List<String> lineIdList = calculatedParam.getIdList();
|
||||
return getQualifiedDetails(calculatedParam, lineParam, lineIdList);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<QualifiedDetail> limitQualifiedMonthHandler(CalculatedParam calculatedParam) {
|
||||
LineCountEvaluateParam lineParam = new LineCountEvaluateParam();
|
||||
lineParam.setStartTime(TimeUtils.getBeginOfMonth(calculatedParam.getDataDate()));
|
||||
lineParam.setEndTime(TimeUtils.getEndOfMonth(calculatedParam.getDataDate()));
|
||||
List<String> devIdList = calculatedParam.getIdList();
|
||||
List<String> lineIdList = calculatedParam.getIdList();
|
||||
return getQualifiedDetails(calculatedParam, lineParam, lineIdList);
|
||||
}
|
||||
|
||||
private List<QualifiedDetail> getQualifiedDetails(CalculatedParam calculatedParam, LineCountEvaluateParam lineParam, List<String> lineIdList) {
|
||||
List<QualifiedDetail> info = new ArrayList<>();
|
||||
List<List<String>> pendingIds = ListUtils.partition(devIdList, NUM);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIdList, NUM);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
lineParam.setLineId(pendingId);
|
||||
List<DataLimitRateDto> data = dataLimitRateFeignClient.getRawData(lineParam).getData();
|
||||
@@ -277,35 +291,41 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
|
||||
qualified.setTime(calculatedParam.getDataDate());
|
||||
int all = value.stream().mapToInt(DataLimitRateDto::getAllTime).sum();
|
||||
if (all > 0) {
|
||||
qualified.setFreqDevOvertime(PubUtils.doubleRound(2, 100.0 - (value.stream().mapToInt(DataLimitRateDto::getFreqDevOvertime).sum() * 100.0 / all)));
|
||||
qualified.setVoltageDevOvertime(PubUtils.doubleRound(2, 100.0 - (value.stream().mapToInt(DataLimitRateDto::getVoltageDevOvertime).sum() * 100.0 / all)));
|
||||
qualified.setUbalanceOvertime(PubUtils.doubleRound(2, 100.0 - (value.stream().mapToInt(DataLimitRateDto::getUbalanceOvertime).sum() * 100.0 / all)));
|
||||
qualified.setUaberranceOvertime(PubUtils.doubleRound(2, 100.0 - (value.stream().mapToInt(DataLimitRateDto::getUaberranceOvertime).sum() * 100.0 / all)));
|
||||
qualified.setINegOvertime(PubUtils.doubleRound(2, 100.0 - (value.stream().mapToInt(DataLimitRateDto::getINegOvertime).sum() * 100.0 / all)));
|
||||
setOverTime(2,25,"getUharm",value, qualified, all);
|
||||
setOverTime(2,25,"getIharm",value, qualified, all);
|
||||
setOverTime(1,16,"getInuharm",value, qualified, all);
|
||||
qualified.setFreqDevOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getFreqDevOvertime).sum() * 100.0, all)));
|
||||
qualified.setVoltageDevOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getVoltageDevOvertime).sum() * 100.0, all)));
|
||||
qualified.setUbalanceOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getUbalanceOvertime).sum() * 100.0, all)));
|
||||
qualified.setUaberranceOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getUaberranceOvertime).sum() * 100.0, all)));
|
||||
qualified.setINegOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getINegOvertime).sum() * 100.0, all)));
|
||||
setOverTime(2, 25, "uharm", value, qualified, all);
|
||||
setOverTime(2, 25, "iharm", value, qualified, all);
|
||||
setOverTime(1, 16, "inuharm", value, qualified, all);
|
||||
}
|
||||
int flickerAll = value.stream().mapToInt(DataLimitRateDto::getFlickerAllTime).sum();
|
||||
if (flickerAll > 0) {
|
||||
qualified.setFlickerOvertime(PubUtils.doubleRound(2, 100.0 - (value.stream().mapToInt(DataLimitRateDto::getFlickerOvertime).sum() * 100.0 / flickerAll)));
|
||||
qualified.setFlickerOvertime(PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(DataLimitRateDto::getFlickerOvertime).sum() * 100.0, flickerAll)));
|
||||
}
|
||||
info.add(qualified);
|
||||
|
||||
});
|
||||
}
|
||||
if (CollUtil.isNotEmpty(info)) {
|
||||
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
private static void setOverTime(Integer start, Integer end, String targetName,List<DataLimitRateDto> value, QualifiedDetail qualified, int all) {
|
||||
private double getaDouble(double value, int all) {
|
||||
return value * 100.0 / all;
|
||||
}
|
||||
|
||||
private void setOverTime(Integer start, Integer end, String targetName, List<DataLimitRateDto> value, QualifiedDetail qualified, int all) {
|
||||
for (int i = start; i <= end; i++) {
|
||||
// 构造方法名
|
||||
String methodName = targetName + i + "Overtime";
|
||||
try {
|
||||
Field finalField = DataLimitRateDto.class.getDeclaredField(methodName);
|
||||
finalField.setAccessible(true);
|
||||
finalField.set(qualified, PubUtils.doubleRound(2, 100.0 - (value.stream().mapToInt(temp -> {
|
||||
double v = PubUtils.doubleRound(2, 100.0 - getaDouble(value.stream().mapToInt(temp -> {
|
||||
Integer o;
|
||||
try {
|
||||
o = (Integer) finalField.get(temp);
|
||||
@@ -313,7 +333,10 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return o.intValue();
|
||||
}).sum() * 100.0 / all)));
|
||||
}).sum() * 100.0, all));
|
||||
Field declared = QualifiedDetail.class.getDeclaredField(methodName);
|
||||
declared.setAccessible(true);
|
||||
declared.set(qualified, v);
|
||||
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
@@ -8,14 +8,12 @@ import com.njcn.algorithm.service.line.IDataIntegrityService;
|
||||
import com.njcn.dataProcess.api.DataIntegrityFeignClient;
|
||||
import com.njcn.dataProcess.api.DataVFeignClient;
|
||||
import com.njcn.dataProcess.dto.MeasurementCountDTO;
|
||||
import com.njcn.dataProcess.pojo.po.RStatIntegrityD;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIntegrityDto;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||
import com.njcn.influx.pojo.bo.MeasurementCount;
|
||||
import com.njcn.influx.pojo.constant.InfluxDBTableConstant;
|
||||
import com.njcn.influx.pojo.po.DataV;
|
||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -23,6 +21,7 @@ import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -36,15 +35,15 @@ import java.util.stream.Collectors;
|
||||
public class IDataIntegrityServiceImpl implements IDataIntegrityService {
|
||||
@Resource
|
||||
private CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
|
||||
private final DataVFeignClient dataVFeignClient;
|
||||
|
||||
private final DataIntegrityFeignClient dataIntegrityFeignClient;
|
||||
@Resource
|
||||
private DataVFeignClient dataVFeignClient;
|
||||
@Resource
|
||||
private DataIntegrityFeignClient dataIntegrityFeignClient;
|
||||
|
||||
|
||||
@Override
|
||||
public void dataIntegrity(CalculatedParam<String> calculatedParam) {
|
||||
List<RStatIntegrityD> poList = new ArrayList<>();
|
||||
List<DataIntegrityDto> poList = new ArrayList<>();
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
String beginDay = LocalDateTimeUtil.format(
|
||||
LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),
|
||||
@@ -62,8 +61,8 @@ public class IDataIntegrityServiceImpl implements IDataIntegrityService {
|
||||
poList.addAll(
|
||||
lineDevGetDTOList.stream()
|
||||
.map(item -> {
|
||||
RStatIntegrityD integrityDpo = new RStatIntegrityD();
|
||||
integrityDpo.setTimeId(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DataIntegrityDto integrityDpo = new DataIntegrityDto();
|
||||
integrityDpo.setTimeId(calculatedParam.getDataDate());
|
||||
integrityDpo.setLineIndex(item.getPointId());
|
||||
integrityDpo.setDueTime(InfluxDBTableConstant.DAY_MINUTE / item.getInterval());
|
||||
integrityDpo.setRealTime(countList.stream()
|
||||
@@ -82,6 +81,34 @@ public class IDataIntegrityServiceImpl implements IDataIntegrityService {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataIntegrityDto> dataIntegrityMonth(CalculatedParam<String> calculatedParam) {
|
||||
LineCountEvaluateParam lineParam = new LineCountEvaluateParam();
|
||||
lineParam.setStartTime(TimeUtils.getBeginOfMonth(calculatedParam.getDataDate()));
|
||||
lineParam.setEndTime(TimeUtils.getEndOfMonth(calculatedParam.getDataDate()));
|
||||
List<String> devIdList = calculatedParam.getIdList();
|
||||
|
||||
List<DataIntegrityDto> info = new ArrayList<>();
|
||||
List<List<String>> pendingIds = ListUtils.partition(devIdList, 100);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
lineParam.setLineId(pendingId);
|
||||
List<DataIntegrityDto> data = dataIntegrityFeignClient.getRawData(lineParam).getData();
|
||||
Map<String, List<DataIntegrityDto>> collect = data.stream().collect(Collectors.groupingBy(DataIntegrityDto::getLineIndex));
|
||||
collect.forEach((key, value) -> {
|
||||
DataIntegrityDto integrity = new DataIntegrityDto();
|
||||
integrity.setTimeId(calculatedParam.getDataDate());
|
||||
integrity.setLineIndex(key);
|
||||
integrity.setDueTime(value.stream().mapToInt(DataIntegrityDto::getDueTime).sum());
|
||||
integrity.setRealTime(value.stream().mapToInt(DataIntegrityDto::getRealTime).sum());
|
||||
info.add(integrity);
|
||||
});
|
||||
}
|
||||
if (CollUtil.isNotEmpty(info)) {
|
||||
|
||||
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.algorithm.serviceimpl.line;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUnit;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
@@ -22,7 +23,6 @@ import com.njcn.influx.deprecated.InfluxDBPublicParam;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -136,6 +136,10 @@ public class IDataOnlineRateServiceImpl implements IDataOnlineRateService {
|
||||
onlineRateDto.setOfflineMin(value.stream().mapToInt(DataOnlineRateDto.Detail::getOfflineMin).sum());
|
||||
info.add(onlineRateDto);
|
||||
});
|
||||
}
|
||||
if(CollUtil.isNotEmpty(info)){
|
||||
|
||||
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
package com.njcn.algorithm.serviceimpl.line;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.njcn.algorithm.pojo.bo.CalculatedParam;
|
||||
import com.njcn.algorithm.service.line.IDataOrgPointService;
|
||||
import com.njcn.dataProcess.api.DataIntegrityFeignClient;
|
||||
import com.njcn.dataProcess.api.DataOrgIntegrityFeignClient;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataOrgIntegrityDto;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
* @Author: cdf
|
||||
* @CreateTime: 2025-02-28
|
||||
* @Description: 数据完成性
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class IDataOrgPointServiceImpl implements IDataOrgPointService {
|
||||
|
||||
@Resource
|
||||
private DataIntegrityFeignClient dataIntegrityFeignClient;
|
||||
|
||||
@Resource
|
||||
private DataOrgIntegrityFeignClient dataOrgIntegrityFeignClient;
|
||||
@Override
|
||||
public void dataOrgIntegrity(CalculatedParam calculatedParam) {
|
||||
List<DataOrgIntegrityDto> info=new ArrayList<>();
|
||||
LineCountEvaluateParam lineParam = new LineCountEvaluateParam();
|
||||
lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate()));
|
||||
lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate()));
|
||||
List<DeptGetChildrenMoreDTO> deptList = calculatedParam.getIdList();
|
||||
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : deptList) {
|
||||
List<LineDevGetDTO> lineBaseList = deptGetChildrenMoreDTO.getLineBaseList();
|
||||
List<String> lineIds = lineBaseList.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
lineParam.setLineId(lineIds);
|
||||
List<DataIntegrityDto> data = dataIntegrityFeignClient.getRawData(lineParam).getData();
|
||||
DataOrgIntegrityDto integrity = new DataOrgIntegrityDto();
|
||||
integrity.setTimeId(calculatedParam.getDataDate());
|
||||
integrity.setOrgId(deptGetChildrenMoreDTO.getUnitId());
|
||||
integrity.setDueTime(data.stream().mapToInt(DataIntegrityDto::getDueTime).sum());
|
||||
integrity.setRealTime(data.stream().mapToInt(DataIntegrityDto::getRealTime).sum());
|
||||
info.add(integrity);
|
||||
}
|
||||
if(CollUtil.isNotEmpty(info)){
|
||||
dataOrgIntegrityFeignClient.batchInsertion(info);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataOrgIntegrityDto> dataOrgIntegrityMonth(CalculatedParam calculatedParam) {
|
||||
List<DataOrgIntegrityDto> info=new ArrayList<>();
|
||||
LineCountEvaluateParam lineParam = new LineCountEvaluateParam();
|
||||
lineParam.setStartTime(TimeUtils.getBeginOfMonth(calculatedParam.getDataDate()));
|
||||
lineParam.setEndTime(TimeUtils.getEndOfMonth(calculatedParam.getDataDate()));
|
||||
List<DeptGetChildrenMoreDTO> deptList = calculatedParam.getIdList();
|
||||
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : deptList) {
|
||||
lineParam.setLineId(Arrays.asList(deptGetChildrenMoreDTO.getUnitId()));
|
||||
List<DataOrgIntegrityDto> data = dataOrgIntegrityFeignClient.getRawData(lineParam).getData();
|
||||
Map<String, List<DataOrgIntegrityDto>> collect = data.stream().collect(Collectors.groupingBy(DataOrgIntegrityDto::getOrgId));
|
||||
collect.forEach((key, value) -> {
|
||||
DataOrgIntegrityDto integrity = new DataOrgIntegrityDto();
|
||||
integrity.setTimeId(calculatedParam.getDataDate());
|
||||
integrity.setOrgId(deptGetChildrenMoreDTO.getUnitId());
|
||||
integrity.setDueTime(data.stream().mapToInt(DataOrgIntegrityDto::getDueTime).sum());
|
||||
integrity.setRealTime(data.stream().mapToInt(DataOrgIntegrityDto::getRealTime).sum());
|
||||
info.add(integrity);
|
||||
});
|
||||
}
|
||||
if(CollUtil.isNotEmpty(info)){
|
||||
|
||||
}
|
||||
return info;
|
||||
}
|
||||
}
|
||||
@@ -3,10 +3,8 @@ package com.njcn.dataProcess.api;
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.fallback.DataIntegrityFeignClientFallbackFactory;
|
||||
import com.njcn.dataProcess.api.fallback.DataOnlineRateFeignClientFallbackFactory;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataOnlineRateDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatIntegrityD;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@@ -22,6 +20,8 @@ import java.util.List;
|
||||
public interface DataIntegrityFeignClient {
|
||||
|
||||
@PostMapping("/batchInsertion")
|
||||
HttpResult<String> batchInsertion(@RequestBody List<RStatIntegrityD> dataList);
|
||||
HttpResult<String> batchInsertion(@RequestBody List<DataIntegrityDto> dataList);
|
||||
|
||||
@PostMapping("/getRawData")
|
||||
HttpResult<List<DataIntegrityDto>> getRawData(@RequestBody LineCountEvaluateParam lineParam);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.njcn.dataProcess.api;
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.fallback.DataLimitTargetFeignClientFallbackFactory;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -21,4 +22,6 @@ public interface DataLimitTargetFeignClient {
|
||||
@PostMapping("/batchInsertion")
|
||||
HttpResult<String> batchInsertion(@RequestBody List<DataLimitTargetDto> dataIDTOList);
|
||||
|
||||
@PostMapping("/getRawData")
|
||||
HttpResult<List<DataLimitTargetDto>> getRawData(@RequestBody LineCountEvaluateParam lineParam);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.njcn.dataProcess.api;
|
||||
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.fallback.DataOrgIntegrityFeignClientFallbackFactory;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataOrgIntegrityDto;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/7 9:30
|
||||
*/
|
||||
@FeignClient(value = ServerInfo.PLATFORM_DATA_PROCESSING_BOOT, path = "/dataOrgIntegrity", fallbackFactory = DataOrgIntegrityFeignClientFallbackFactory.class, contextId = "dataOrgIntegrity")
|
||||
public interface DataOrgIntegrityFeignClient {
|
||||
|
||||
@PostMapping("/batchInsertion")
|
||||
HttpResult<String> batchInsertion(@RequestBody List<DataOrgIntegrityDto> dataList);
|
||||
|
||||
@PostMapping("/getRawData")
|
||||
HttpResult<List<DataOrgIntegrityDto>> getRawData(@RequestBody LineCountEvaluateParam lineParam);
|
||||
}
|
||||
@@ -2,7 +2,6 @@ package com.njcn.dataProcess.api;
|
||||
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.fallback.DataInharmVFeignClientFallbackFactory;
|
||||
import com.njcn.dataProcess.api.fallback.PqsCommunicateFeignClientFallbackFactory;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.PqsCommunicateDto;
|
||||
|
||||
@@ -4,10 +4,8 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.DataIntegrityFeignClient;
|
||||
import com.njcn.dataProcess.api.DataOnlineRateFeignClient;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataOnlineRateDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatIntegrityD;
|
||||
import com.njcn.dataProcess.util.DataProcessingEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -40,11 +38,17 @@ public class DataIntegrityFeignClientFallbackFactory implements FallbackFactory<
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new DataIntegrityFeignClient() {
|
||||
@Override
|
||||
public HttpResult<String> batchInsertion(List<RStatIntegrityD> dataList) {
|
||||
public HttpResult<String> batchInsertion(List<DataIntegrityDto> dataList) {
|
||||
log.error("{}异常,降级处理,异常为:{}","批量插入数据",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<List<DataIntegrityDto>> getRawData(LineCountEvaluateParam lineParam) {
|
||||
log.error("{}异常,降级处理,异常为:{}","获取原始数据",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.DataLimitTargetFeignClient;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
|
||||
import com.njcn.dataProcess.util.DataProcessingEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
@@ -43,6 +44,12 @@ public class DataLimitTargetFeignClientFallbackFactory implements FallbackFactor
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<List<DataLimitTargetDto>> getRawData(LineCountEvaluateParam lineParam) {
|
||||
log.error("{}异常,降级处理,异常为:{}","获取原始数据",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.njcn.dataProcess.api.fallback;
|
||||
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.DataOrgIntegrityFeignClient;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataOrgIntegrityDto;
|
||||
import com.njcn.dataProcess.util.DataProcessingEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/7 9:30
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class DataOrgIntegrityFeignClientFallbackFactory implements FallbackFactory<DataOrgIntegrityFeignClient> {
|
||||
|
||||
|
||||
/**
|
||||
* 输出远程请求接口异常日志
|
||||
* @param cause RPC请求异常
|
||||
*/
|
||||
@Override
|
||||
public DataOrgIntegrityFeignClient create(Throwable cause) {
|
||||
//判断抛出异常是否为解码器抛出的业务异常
|
||||
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
|
||||
if(cause.getCause() instanceof BusinessException){
|
||||
BusinessException businessException = (BusinessException) cause.getCause();
|
||||
exceptionEnum = DataProcessingEnumUtil.getExceptionEnum(businessException.getResult());
|
||||
}
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new DataOrgIntegrityFeignClient() {
|
||||
@Override
|
||||
public HttpResult<String> batchInsertion(List<DataOrgIntegrityDto> dataList) {
|
||||
log.error("{}异常,降级处理,异常为:{}","批量插入数据",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<List<DataOrgIntegrityDto>> getRawData(LineCountEvaluateParam lineParam) {
|
||||
log.error("{}异常,降级处理,异常为:{}","获取原始数据",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -31,5 +31,4 @@ public class DataIntegrityDto {
|
||||
private Integer realTime;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.njcn.dataProcess.pojo.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据完整性日表
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-03-28
|
||||
*/
|
||||
@Data
|
||||
public class DataOrgIntegrityDto {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String timeId;
|
||||
|
||||
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 应收数量
|
||||
*/
|
||||
private Integer dueTime;
|
||||
|
||||
/**
|
||||
* 实收数量
|
||||
*/
|
||||
private Integer realTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -29,7 +29,7 @@ public class RStatIntegrityD {
|
||||
|
||||
@MppMultiId
|
||||
@TableField(value = "time_id")
|
||||
private LocalDate timeId;
|
||||
private String timeId;
|
||||
|
||||
@MppMultiId
|
||||
@TableField(value = "line_index")
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.njcn.dataProcess.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据完整性日表
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2023-03-28
|
||||
*/
|
||||
@Data
|
||||
@TableName("r_stat_org_integrity_d")
|
||||
public class RStatOrgIntegrityD {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@MppMultiId
|
||||
@TableField(value = "time_id")
|
||||
private String timeId;
|
||||
|
||||
@MppMultiId
|
||||
@TableField(value = "org_id")
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 应收数量
|
||||
*/
|
||||
@TableField(value = "due_time")
|
||||
private Integer dueTime;
|
||||
/**
|
||||
* 实收数量
|
||||
*/
|
||||
@TableField(value = "real_time")
|
||||
private Integer realTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -7,9 +7,9 @@ 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.DataIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatIntegrityD;
|
||||
import com.njcn.dataProcess.service.IDataIntegrity;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -34,15 +34,27 @@ import java.util.List;
|
||||
@RequiredArgsConstructor
|
||||
public class DataIntegrityController extends BaseController {
|
||||
|
||||
@QueryBean
|
||||
private IDataIntegrity iDataIntegrityQuery;
|
||||
|
||||
@InsertBean
|
||||
private IDataIntegrity iDataIntegrity;
|
||||
private IDataIntegrity iDataIntegrityInsert;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/batchInsertion")
|
||||
@ApiOperation("批量插入")
|
||||
public HttpResult<String> batchInsertion(@RequestBody List<RStatIntegrityD> poList) {
|
||||
public HttpResult<String> batchInsertion(@RequestBody List<DataIntegrityDto> poList) {
|
||||
String methodDescribe = getMethodDescribe("batchInsertion");
|
||||
iDataIntegrity.batchInsertion(poList);
|
||||
iDataIntegrityInsert.batchInsertion(poList);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getRawData")
|
||||
@ApiOperation("获取原始数据")
|
||||
public HttpResult<List<DataIntegrityDto>> getRawData(@RequestBody LineCountEvaluateParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("getRawData");
|
||||
List<DataIntegrityDto> rawData = iDataIntegrityInsert.getRawData(lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rawData, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ public class DataLimitRateController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getRawData")
|
||||
@ApiOperation("获取原始数据")
|
||||
public HttpResult<List<DataLimitRateDto>> getRawData(@RequestBody LineCountEvaluateParam lineParam) {
|
||||
|
||||
@@ -8,6 +8,8 @@ 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.DataIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
|
||||
import com.njcn.dataProcess.service.IDataLimitTarget;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -52,4 +54,12 @@ public class DataLimitTargetController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getRawData")
|
||||
@ApiOperation("获取原始数据")
|
||||
public HttpResult<List<DataLimitTargetDto>> getRawData(@RequestBody LineCountEvaluateParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("getRawData");
|
||||
List<DataLimitTargetDto> rawData = limitTargetInsert.getRawData(lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rawData, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ public class DataOnlineRateController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getRawData")
|
||||
@ApiOperation("获取原始数据")
|
||||
public HttpResult<List<DataOnlineRateDto.Detail>> getRawData(@RequestBody LineCountEvaluateParam lineParam) {
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
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.DataOrgIntegrityDto;
|
||||
import com.njcn.dataProcess.service.IDataOrgIntegrity;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
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: cdf
|
||||
* @CreateTime: 2025-03-12
|
||||
* @Description: 数据完整性
|
||||
*/
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/dataOrgIntegrity")
|
||||
@Api(tags = "单位数据完整性")
|
||||
@RequiredArgsConstructor
|
||||
public class DataOrgIntegrityController extends BaseController {
|
||||
|
||||
@QueryBean
|
||||
private IDataOrgIntegrity dataOrgIntegrityQuery;
|
||||
|
||||
@InsertBean
|
||||
private IDataOrgIntegrity dataOrgIntegrityInsert;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/batchInsertion")
|
||||
@ApiOperation("批量插入")
|
||||
public HttpResult<String> batchInsertion(@RequestBody List<DataOrgIntegrityDto> poList) {
|
||||
String methodDescribe = getMethodDescribe("batchInsertion");
|
||||
dataOrgIntegrityInsert.batchInsertion(poList);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getRawData")
|
||||
@ApiOperation("获取原始数据")
|
||||
public HttpResult<List<DataOrgIntegrityDto>> getRawData(@RequestBody LineCountEvaluateParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("getRawData");
|
||||
List<DataOrgIntegrityDto> rawData = dataOrgIntegrityInsert.getRawData(lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rawData, methodDescribe);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
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;
|
||||
@@ -71,7 +72,7 @@ public class PqsCommunicateController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rawData, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/insertion")
|
||||
@ApiOperation("插入数据")
|
||||
public HttpResult<String> insertion(@RequestBody PqsCommunicateDto pqsCommunicateDto) {
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.dataProcess.dao.relation.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.dataProcess.pojo.po.RStatOrgIntegrityD;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/12 9:29
|
||||
*/
|
||||
public interface RStatOrgIntegrityDMapper extends MppBaseMapper<RStatOrgIntegrityD> {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.njcn.dataProcess.service;
|
||||
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatIntegrityD;
|
||||
|
||||
@@ -18,6 +19,13 @@ public interface IDataIntegrity extends IMppService<RStatIntegrityD>{
|
||||
* 批量插入数据
|
||||
* @param onlineRateList
|
||||
*/
|
||||
void batchInsertion(List<RStatIntegrityD> onlineRateList);
|
||||
void batchInsertion(List<DataIntegrityDto> onlineRateList);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取原始数据
|
||||
* @param lineParam
|
||||
*/
|
||||
List<DataIntegrityDto> getRawData(LineCountEvaluateParam lineParam);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatLimitTargetD;
|
||||
|
||||
@@ -20,4 +21,11 @@ public interface IDataLimitTarget extends IMppService<RStatLimitTargetD> {
|
||||
*/
|
||||
void batchInsertion(List<DataLimitTargetDto> limitRateList);
|
||||
|
||||
|
||||
/**
|
||||
* 获取原始数据
|
||||
* @param lineParam
|
||||
* @return
|
||||
*/
|
||||
List<DataLimitTargetDto> getRawData(LineCountEvaluateParam lineParam);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.njcn.dataProcess.service;
|
||||
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataOrgIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatOrgIntegrityD;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/12 9:32
|
||||
*/
|
||||
public interface IDataOrgIntegrity extends IMppService<RStatOrgIntegrityD>{
|
||||
|
||||
/**
|
||||
* 批量插入数据
|
||||
* @param onlineRateList
|
||||
*/
|
||||
void batchInsertion(List<DataOrgIntegrityDto> onlineRateList);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取原始数据
|
||||
* @param lineParam
|
||||
*/
|
||||
List<DataOrgIntegrityDto> getRawData(LineCountEvaluateParam lineParam);
|
||||
}
|
||||
@@ -3,12 +3,14 @@ package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatIntegrityDMapper;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatIntegrityD;
|
||||
import com.njcn.dataProcess.service.IDataIntegrity;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -23,7 +25,12 @@ public class InfluxdbDataIntegrityImpl extends MppServiceImpl<RStatIntegrityDMap
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<RStatIntegrityD> onlineRateList) {
|
||||
public void batchInsertion(List<DataIntegrityDto> onlineRateList) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataIntegrityDto> getRawData(LineCountEvaluateParam lineParam) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,12 +2,14 @@ package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatLimitTargetRelationMapper;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatLimitTargetD;
|
||||
import com.njcn.dataProcess.service.IDataLimitTarget;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -25,4 +27,9 @@ public class InfluxdbDataLimitTargetImpl extends MppServiceImpl<RStatLimitTarget
|
||||
public void batchInsertion(List<DataLimitTargetDto> limitRateList) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataLimitTargetDto> getRawData(LineCountEvaluateParam lineParam) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatOrgIntegrityDMapper;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataOrgIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatOrgIntegrityD;
|
||||
import com.njcn.dataProcess.service.IDataOrgIntegrity;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/6 10:22
|
||||
*/
|
||||
@Service("InfluxdbDataOrgIntegrityImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbDataOrgIntegrityImpl extends MppServiceImpl<RStatOrgIntegrityDMapper, RStatOrgIntegrityD> implements IDataOrgIntegrity {
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataOrgIntegrityDto> onlineRateList) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataOrgIntegrityDto> getRawData(LineCountEvaluateParam lineParam) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
/**
|
||||
* @Author: cdf
|
||||
* @CreateTime: 2025-03-12
|
||||
* @Description: 数据完整性
|
||||
*/
|
||||
public class RStatIntegrityDImpl {
|
||||
}
|
||||
@@ -1,15 +1,19 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatIntegrityDMapper;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatIntegrityD;
|
||||
import com.njcn.dataProcess.service.IDataIntegrity;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -24,7 +28,30 @@ public class RelationDataIntegrityImpl extends MppServiceImpl<RStatIntegrityDMap
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<RStatIntegrityD> dataIntegrityDtoList) {
|
||||
this.saveOrUpdateBatchByMultiId(dataIntegrityDtoList);
|
||||
public void batchInsertion(List<DataIntegrityDto> dataIntegrityDtoList) {
|
||||
List<RStatIntegrityD> result = new ArrayList<>();
|
||||
dataIntegrityDtoList.forEach(item->{
|
||||
RStatIntegrityD onlineRate = new RStatIntegrityD();
|
||||
BeanUtils.copyProperties(item, onlineRate);
|
||||
result.add(onlineRate);
|
||||
});
|
||||
this.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataIntegrityDto> getRawData(LineCountEvaluateParam lineParam) {
|
||||
List<DataIntegrityDto> result = new ArrayList<>();
|
||||
LambdaQueryWrapper<RStatIntegrityD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(CollUtil.isNotEmpty(lineParam.getLineId()),RStatIntegrityD::getLineIndex,lineParam.getLineId())
|
||||
.ge(RStatIntegrityD::getTimeId,lineParam.getStartTime())
|
||||
.le(RStatIntegrityD::getTimeId,lineParam.getEndTime());
|
||||
List<RStatIntegrityD> list = this.list(lambdaQueryWrapper);
|
||||
|
||||
list.forEach(item->{
|
||||
DataIntegrityDto dto = new DataIntegrityDto();
|
||||
BeanUtils.copyProperties(item,dto);
|
||||
result.add(dto);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatLimitTargetRelationMapper;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatIntegrityD;
|
||||
import com.njcn.dataProcess.pojo.po.RStatLimitTargetD;
|
||||
import com.njcn.dataProcess.service.IDataLimitRate;
|
||||
import com.njcn.dataProcess.service.IDataLimitTarget;
|
||||
@@ -12,6 +17,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -38,4 +44,21 @@ public class RelationDataLimitTargetImpl extends MppServiceImpl<RStatLimitTarget
|
||||
});
|
||||
this.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataLimitTargetDto> getRawData(LineCountEvaluateParam lineParam) {
|
||||
List<DataLimitTargetDto> result = new ArrayList<>();
|
||||
LambdaQueryWrapper<RStatLimitTargetD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(CollUtil.isNotEmpty(lineParam.getLineId()),RStatLimitTargetD::getLineId,lineParam.getLineId())
|
||||
.ge(RStatLimitTargetD::getTime,lineParam.getStartTime())
|
||||
.le(RStatLimitTargetD::getTime,lineParam.getEndTime());
|
||||
List<RStatLimitTargetD> list = this.list(lambdaQueryWrapper);
|
||||
|
||||
list.forEach(item->{
|
||||
DataLimitTargetDto dto = new DataLimitTargetDto();
|
||||
BeanUtils.copyProperties(item,dto);
|
||||
result.add(dto);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,9 @@ package com.njcn.dataProcess.service.impl.relation;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.constant.PhaseType;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatOnlineRateDMapper;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
|
||||
import com.njcn.dataProcess.pojo.dto.DataOnlineRateDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatLimitRateD;
|
||||
import com.njcn.dataProcess.pojo.po.RStatOnlineRateD;
|
||||
import com.njcn.dataProcess.service.IDataOnlineRate;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -17,7 +14,6 @@ import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.njcn.dataProcess.service.impl.relation;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatOrgIntegrityDMapper;
|
||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||
import com.njcn.dataProcess.pojo.dto.DataOrgIntegrityDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatOrgIntegrityD;
|
||||
import com.njcn.dataProcess.service.IDataOrgIntegrity;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/6 10:22
|
||||
*/
|
||||
@Service("RelationDataOrgIntegrityImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationDataOrgIntegrityImpl extends MppServiceImpl<RStatOrgIntegrityDMapper, RStatOrgIntegrityD> implements IDataOrgIntegrity {
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataOrgIntegrityDto> dataIntegrityDtoList) {
|
||||
List<RStatOrgIntegrityD> result = new ArrayList<>();
|
||||
dataIntegrityDtoList.forEach(item->{
|
||||
RStatOrgIntegrityD onlineRate = new RStatOrgIntegrityD();
|
||||
BeanUtils.copyProperties(item, onlineRate);
|
||||
result.add(onlineRate);
|
||||
});
|
||||
this.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataOrgIntegrityDto> getRawData(LineCountEvaluateParam lineParam) {
|
||||
List<DataOrgIntegrityDto> result = new ArrayList<>();
|
||||
LambdaQueryWrapper<RStatOrgIntegrityD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(CollUtil.isNotEmpty(lineParam.getLineId()),RStatOrgIntegrityD::getOrgId,lineParam.getLineId())
|
||||
.ge(RStatOrgIntegrityD::getTimeId,lineParam.getStartTime())
|
||||
.le(RStatOrgIntegrityD::getTimeId,lineParam.getEndTime());
|
||||
List<RStatOrgIntegrityD> list = this.list(lambdaQueryWrapper);
|
||||
|
||||
list.forEach(item->{
|
||||
DataOrgIntegrityDto dto = new DataOrgIntegrityDto();
|
||||
BeanUtils.copyProperties(item,dto);
|
||||
result.add(dto);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user