From 05112b5262f0217aa34d1a6e12c218efc8cbcf74 Mon Sep 17 00:00:00 2001
From: chendaofei <857448963@qq.com>
Date: Wed, 9 Oct 2024 11:38:02 +0800
Subject: [PATCH] =?UTF-8?q?1.=E6=95=B0=E6=8D=AE=E6=96=B9=E6=A1=88=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app-cloud/app-cloud-boot/pom.xml | 2 +-
.../csdevice/api/WlRecordFeignClient.java | 6 +++
.../WlRecordClientFallbackFactory.java | 6 +++
.../controller/scheme/WlRecordController.java | 4 +-
.../csdevice/service/IWlRecordService.java | 2 +-
.../service/impl/WlRecordServiceImpl.java | 52 +++++++++++++++----
cs-harmonic/cs-harmonic-api/pom.xml | 2 +-
.../param/CommonStatisticalQueryParam.java | 4 ++
.../cssystem/CsSystemBootApplication.java | 2 +
9 files changed, 66 insertions(+), 14 deletions(-)
diff --git a/app-cloud/app-cloud-boot/pom.xml b/app-cloud/app-cloud-boot/pom.xml
index 5e532f4..2ebdfbc 100644
--- a/app-cloud/app-cloud-boot/pom.xml
+++ b/app-cloud/app-cloud-boot/pom.xml
@@ -112,7 +112,7 @@
com.njcn
pqs-influx
- 0.0.1-SNAPSHOT
+ 1.0.0
diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/WlRecordFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/WlRecordFeignClient.java
index d9e306d..aedd907 100644
--- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/WlRecordFeignClient.java
+++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/WlRecordFeignClient.java
@@ -7,8 +7,10 @@ import com.njcn.csdevice.pojo.param.WlRecordParam;
import com.njcn.csdevice.pojo.po.WlRecord;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@@ -41,4 +43,8 @@ public interface WlRecordFeignClient {
@PostMapping("/updateTestRecord")
HttpResult updateTestRecord(@RequestBody @Validated WlRecordParam.UpdateRecord record);
+
+
+ @GetMapping("/dayDealNoEndTimeEvent")
+ void dayDealNoEndTimeEvent(@RequestParam String date);
}
diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/WlRecordClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/WlRecordClientFallbackFactory.java
index 06a2283..c5c8c4a 100644
--- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/WlRecordClientFallbackFactory.java
+++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/WlRecordClientFallbackFactory.java
@@ -51,6 +51,12 @@ public class WlRecordClientFallbackFactory implements FallbackFactory {
/**
* 每日处理没有结束时间的测试基础数据
*/
- void dayDealNoEndTimeEvent();
+ void dayDealNoEndTimeEvent(String date);
}
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/WlRecordServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/WlRecordServiceImpl.java
index ee02ffd..f540032 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/WlRecordServiceImpl.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/WlRecordServiceImpl.java
@@ -2,8 +2,12 @@ package com.njcn.csdevice.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -13,14 +17,12 @@ import com.njcn.csdevice.api.CsLineFeignClient;
import com.njcn.csdevice.api.EquipmentFeignClient;
import com.njcn.csdevice.constant.DataParam;
import com.njcn.csdevice.enums.LineBaseEnum;
-import com.njcn.csdevice.mapper.CsDeviceUserPOMapper;
-import com.njcn.csdevice.mapper.CsEquipmentDeliveryMapper;
-import com.njcn.csdevice.mapper.CsLinePOMapper;
-import com.njcn.csdevice.mapper.WlRecordMapper;
+import com.njcn.csdevice.mapper.*;
import com.njcn.csdevice.param.WlRecordPageParam;
import com.njcn.csdevice.pojo.dto.CsEquipmentDeliveryDTO;
import com.njcn.csdevice.pojo.dto.CsEquipmentProcessDTO;
import com.njcn.csdevice.pojo.param.WlRecordParam;
+import com.njcn.csdevice.pojo.po.CsDataSet;
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.csdevice.pojo.po.WlRecord;
@@ -29,6 +31,7 @@ import com.njcn.csdevice.pojo.vo.RecordTreeVo;
import com.njcn.csdevice.pojo.vo.RecordVo;
import com.njcn.csdevice.service.IWlRecordService;
import com.njcn.csdevice.util.InfluxDbParamUtil;
+import com.njcn.csdevice.utils.DataChangeUtil;
import com.njcn.csharmonic.param.CommonStatisticalQueryParam;
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
import com.njcn.influx.imapper.CommonMapper;
@@ -43,6 +46,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.sf.cglib.core.Local;
import org.springframework.beans.BeanUtils;
+import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -77,6 +81,8 @@ public class WlRecordServiceImpl extends ServiceImpl i
private final CommonMapper commonMapper;
+ private final CsDataSetMapper csDataSetMapper;
+
private final InfluxDbParamUtil influxDbParamUtil;
private final CsLinePOMapper csLinePOMapper;
@@ -373,8 +379,17 @@ public class WlRecordServiceImpl extends ServiceImpl i
continue;
}
List eleEpdPqds = csStatisticalSetFeignClient.queryStatisticalSelect(param.getStatisticalId()).getData();
+
for(WlRecord wl : data){
List finalCsLinePOList = csLineFeignClient.queryLineById(Arrays.asList(wl.getLineId())).getData();
+ CsDataSet csDataSet = csDataSetMapper.selectOne(new LambdaQueryWrapper().eq(CsDataSet::getId,finalCsLinePOList.get(0).getDataSetId()));
+ if(Objects.isNull(csDataSet) || StrUtil.isBlank(csDataSet.getDataLevel())){
+ throw new BusinessException("当前测点数据集主要信息缺失,请联系管理员排查(测点表里面数据集id缺失)");
+ }
+ Double ct = finalCsLinePOList.get(0).getCtRatio();
+ Double pt = finalCsLinePOList.get(0).getPtRatio();
+
+
List data1 = equipmentFeignClient.queryDeviceById(Stream.of(wl.getDevId()).collect(Collectors.toList())).getData();
eleEpdPqds.forEach(epdPqd->{
List commonQueryParams = finalCsLinePOList.stream().map(temp -> {
@@ -391,6 +406,7 @@ public class WlRecordServiceImpl extends ServiceImpl i
return commonQueryParam;
}).collect(Collectors.toList());
List deviceRtData = commonService.getDeviceRtDataByTime(commonQueryParams);
+ deviceRtData.get(deviceRtData.size()-1).setValue(null);
List collect1 = deviceRtData.stream().map(temp -> {
ThdDataVO vo = new ThdDataVO();
vo.setLineId(temp.getLineId());
@@ -399,7 +415,22 @@ public class WlRecordServiceImpl extends ServiceImpl i
vo.setPosition(position);
vo.setTime(temp.getTime());
vo.setStatMethod(temp.getValueType());
- vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
+
+ if(temp.getValue()!=null) {
+ if (ObjectUtil.isNotNull(epdPqd.getPrimaryFormula()) && !Objects.equals(csDataSet.getDataLevel(), commonStatisticalQueryParam.getDataLevel())) {
+ Double re;
+ if ("Primary".equals(csDataSet.getDataLevel())) {
+ re = DataChangeUtil.primaryToSecondary(epdPqd.getPrimaryFormula(), temp.getValue(), pt, ct);
+ } else {
+ re = DataChangeUtil.secondaryToPrimary(epdPqd.getPrimaryFormula(), temp.getValue(), pt, ct);
+ }
+ vo.setStatisticalData(Double.valueOf(df.format(re)));
+ } else {
+ vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
+ }
+ }else {
+ vo.setStatisticalData(null);
+ }
vo.setStatisticalIndex(epdPqd.getId());
vo.setUnit(epdPqd.getUnit());
vo.setStatisticalName(epdPqd.getName());
@@ -427,9 +458,13 @@ public class WlRecordServiceImpl extends ServiceImpl i
}
@Override
- public void dayDealNoEndTimeEvent() {
+ @Transactional(rollbackFor = Exception.class)
+ public void dayDealNoEndTimeEvent(String date) {
+ DateTime dateEnd = DateUtil.parse(date,DatePattern.NORM_DATE_PATTERN);
+ DateTime dateStart = DateUtil.offsetDay(dateEnd,-30);
+ System.out.println("进入定时任务");
LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
- lambdaQueryWrapper.eq(WlRecord::getType,1).eq(WlRecord::getState,DataStateEnum.ENABLE.getCode());
+ lambdaQueryWrapper.between(WlRecord::getStartTime,dateStart,dateEnd).eq(WlRecord::getType,1).eq(WlRecord::getState,DataStateEnum.ENABLE.getCode());
List wlRecordList = this.list(lambdaQueryWrapper);
if(CollUtil.isNotEmpty(wlRecordList)){
@@ -508,8 +543,7 @@ public class WlRecordServiceImpl extends ServiceImpl i
});
if(CollUtil.isNotEmpty(poList)){
- System.out.println("444");
- //
+ this.updateBatchById(poList);
}
}
diff --git a/cs-harmonic/cs-harmonic-api/pom.xml b/cs-harmonic/cs-harmonic-api/pom.xml
index 929674b..e03ce97 100644
--- a/cs-harmonic/cs-harmonic-api/pom.xml
+++ b/cs-harmonic/cs-harmonic-api/pom.xml
@@ -36,7 +36,7 @@
com.njcn
pqs-influx
- 0.0.1-SNAPSHOT
+ 1.0.0
compile
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CommonStatisticalQueryParam.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CommonStatisticalQueryParam.java
index ce43d74..b617b82 100644
--- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CommonStatisticalQueryParam.java
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CommonStatisticalQueryParam.java
@@ -23,6 +23,10 @@ public class CommonStatisticalQueryParam {
private String statisticalId;
@ApiModelProperty(value = "取值类型(Max,Min,cp95,avg)")
private String valueType;
+
+ @ApiModelProperty(value = "一次值:Primary;二次值:Secondary")
+ private String dataLevel;
+
@ApiModelProperty(value = "频次2-50")
private String frequency;
diff --git a/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/CsSystemBootApplication.java b/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/CsSystemBootApplication.java
index 06ce637..da69bdf 100644
--- a/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/CsSystemBootApplication.java
+++ b/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/CsSystemBootApplication.java
@@ -5,6 +5,7 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.DependsOn;
/**
@@ -16,6 +17,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
@MapperScan("com.njcn.**.mapper")
@EnableFeignClients(basePackages = "com.njcn")
@SpringBootApplication(scanBasePackages = "com.njcn")
+@DependsOn("proxyMapperRegister")
public class CsSystemBootApplication {
public static void main(String[] args) {