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) {