|
@@ -0,0 +1,896 @@
|
|
|
+package com.gyee.gaia.meter.service.saveTDengine;
|
|
|
+
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.gyee.gaia.meter.adapter.Adapter;
|
|
|
+import com.gyee.gaia.meter.entity.*;
|
|
|
+import com.gyee.gaia.meter.mapper.TDEquipmentMeterInfoMapper;
|
|
|
+import com.gyee.gaia.meter.service.impl.EquipmentServiceImpl;
|
|
|
+import com.gyee.gaia.meter.service.impl.ModelPowerDetailsServiceImpl;
|
|
|
+import com.gyee.gaia.meter.service.impl.TDEquipmentMeterInfoServiceImpl;
|
|
|
+import com.gyee.gaia.meter.service.impl.TestingPointServiceImpl;
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.boot.test.context.SpringBootTest;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+
|
|
|
+ * Author: malijun
|
|
|
+ * Data : 2023: 04: 27
|
|
|
+ **/
|
|
|
+@SpringBootTest
|
|
|
+class TDSaveLLFDLTest {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ Adapter adapter;
|
|
|
+ @Resource
|
|
|
+ private EquipmentServiceImpl equipmentService;
|
|
|
+ @Resource
|
|
|
+ private ModelPowerDetailsServiceImpl modelPowerDetailsService;
|
|
|
+ @Resource
|
|
|
+ private TestingPointServiceImpl testingPointService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private TDEquipmentMeterInfoMapper tdEquipmentMeterInfoMapper;
|
|
|
+ @Resource
|
|
|
+ private TDEquipmentMeterInfoServiceImpl tdEquipmentMeterInfoService;
|
|
|
+
|
|
|
+ @Value("${start.time}")
|
|
|
+ private String startTimeString;
|
|
|
+ @Value("${end.time}")
|
|
|
+ private String endTimeString;
|
|
|
+
|
|
|
+
|
|
|
+ * 日理论发电量(每台风机,综合到每个场站,每个期次,每条线路)
|
|
|
+ * 1分钟平均风速乘model_power_details的理论功率
|
|
|
+ * w=pt,理论功率乘时间(kw/h)除以60为1分钟理论发电量
|
|
|
+ * pro_basic_equipment表中获取到所有风机,每台风机型号等
|
|
|
+ * uniFormCode AI022 从testing_point中获取到所有风速测点
|
|
|
+ * 从适配器中取1分钟平均风速,根据风速从model_power_details中取到理论功率
|
|
|
+ * 计算1分钟理论发电量
|
|
|
+ * 保存到taos数据库中
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * 理论发电量,每台风机每分钟平均风速乘机型理论功率
|
|
|
+ * (如果理论功率小于实际功率,用实际功率)或者1分钟理论发电量小于1分钟实际发电量,用实际发电量
|
|
|
+ * 1分钟平均风速
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void llfdl_1Min4() {
|
|
|
+
|
|
|
+
|
|
|
+ String startString = startTimeString;
|
|
|
+ DateTime startDateTime0 = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfDay(startDateTime0);
|
|
|
+
|
|
|
+
|
|
|
+ String endDateString = endTimeString;
|
|
|
+ DateTime endDateTime0 = DateUtil.parse(endDateString);
|
|
|
+ DateTime endDateTime = DateUtil.endOfDay(endDateTime0);
|
|
|
+
|
|
|
+
|
|
|
+ int a = 0;
|
|
|
+
|
|
|
+ ArrayList<TDEquipmentMeterInfo> tdEquiomentMeterInfos = new ArrayList<>();
|
|
|
+ ArrayList<TDEquipmentMeterInfo> tdEquiomentMeterInfoSpeed = new ArrayList<>();
|
|
|
+ ArrayList<TDEquipmentMeterInfo> tdEquiomentMeterInfoPower = new ArrayList<>();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ List<ModelPowerDetails> modelPowerDetailsList = modelPowerDetailsService.list();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ List<TestingPoint> testingPointList = testingPointService.list(new QueryWrapper<TestingPoint>()
|
|
|
+ .eq("uniform_code", "AI022")
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ for (TestingPoint testingPoint : testingPointList) {
|
|
|
+ String code = testingPoint.getCode();
|
|
|
+ List<PointDatas> pointDataList = adapter.getHistoryStat(code, startDateTime.getTime(), endDateTime.getTime(), 60);
|
|
|
+
|
|
|
+ System.out.println("风速返回数据:" + pointDataList.size());
|
|
|
+
|
|
|
+ for (PointDatas pointData : pointDataList) {
|
|
|
+
|
|
|
+ double speed0 = pointData.getAvg().getValue();
|
|
|
+ BigDecimal speed = new BigDecimal(speed0).setScale(2, RoundingMode.HALF_EVEN);
|
|
|
+
|
|
|
+
|
|
|
+ long ts0 = pointData.getAvg().getTs();
|
|
|
+ long ts = DateUtil.offsetMinute(DateUtil.beginOfMinute(DateTime.of(ts0)), 1).getTime();
|
|
|
+
|
|
|
+ TDEquipmentMeterInfo tdEquiomentMeterInfo = new TDEquipmentMeterInfo();
|
|
|
+ tdEquiomentMeterInfo.setTbname(testingPoint.getThingId());
|
|
|
+ tdEquiomentMeterInfo.setTs(ts);
|
|
|
+ tdEquiomentMeterInfo.setSpeed(speed.doubleValue());
|
|
|
+ tdEquiomentMeterInfo.setModel(testingPoint.getModel());
|
|
|
+ tdEquiomentMeterInfo.setStation(testingPoint.getStationId());
|
|
|
+ tdEquiomentMeterInfoSpeed.add(tdEquiomentMeterInfo);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ List<TestingPoint> testingPointList2 = testingPointService.list(new QueryWrapper<TestingPoint>()
|
|
|
+ .eq("uniform_code", "AI130")
|
|
|
+ .eq("thing_type", "windturbine")
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ for (TestingPoint testingPoint : testingPointList2) {
|
|
|
+ String code = testingPoint.getCode();
|
|
|
+ List<PointDatas> pointDataList = adapter.getHistoryStat(code, startDateTime.getTime(), endDateTime.getTime(), 60);
|
|
|
+
|
|
|
+ System.out.println("实际功率返回数据:" + pointDataList.size());
|
|
|
+
|
|
|
+ for (PointDatas pointData : pointDataList) {
|
|
|
+
|
|
|
+ double power = pointData.getAvg().getValue();
|
|
|
+
|
|
|
+
|
|
|
+ long ts0 = pointData.getAvg().getTs();
|
|
|
+ long ts = DateUtil.offsetMinute(DateUtil.beginOfMinute(DateTime.of(ts0)), 1).getTime();
|
|
|
+
|
|
|
+ TDEquipmentMeterInfo tdEquiomentMeterInfo = new TDEquipmentMeterInfo();
|
|
|
+ tdEquiomentMeterInfo.setTbname(testingPoint.getThingId());
|
|
|
+ tdEquiomentMeterInfo.setTs(ts);
|
|
|
+ tdEquiomentMeterInfo.setShijigonglv(power);
|
|
|
+ tdEquiomentMeterInfo.setModel(testingPoint.getModel());
|
|
|
+ tdEquiomentMeterInfo.setStation(testingPoint.getStationId());
|
|
|
+ tdEquiomentMeterInfoPower.add(tdEquiomentMeterInfo);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ System.out.println("tdEquiomentMeterInfoSpeed" + tdEquiomentMeterInfoSpeed.size());
|
|
|
+
|
|
|
+ System.out.println("tdEquiomentMeterInfoPower" + tdEquiomentMeterInfoPower.size());
|
|
|
+
|
|
|
+ for (TDEquipmentMeterInfo speedInfo : tdEquiomentMeterInfoSpeed) {
|
|
|
+ String tbName = speedInfo.getTbname();
|
|
|
+ long ts = speedInfo.getTs();
|
|
|
+ BigDecimal bigDecimal1 = new BigDecimal(ts);
|
|
|
+
|
|
|
+ for (TDEquipmentMeterInfo powerInfo : tdEquiomentMeterInfoPower) {
|
|
|
+ BigDecimal bigDecimal2 = new BigDecimal(powerInfo.getTs());
|
|
|
+ if (powerInfo.getTbname().equals(tbName) && bigDecimal1.equals(bigDecimal2)) {
|
|
|
+ a++;
|
|
|
+ speedInfo.setShijigonglv(powerInfo.getShijigonglv());
|
|
|
+
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ for (TDEquipmentMeterInfo tdEquiomentMeterInfo : tdEquiomentMeterInfoSpeed) {
|
|
|
+
|
|
|
+ for (ModelPowerDetails modelPowerDetails : modelPowerDetailsList) {
|
|
|
+ if (tdEquiomentMeterInfo.getSpeed() == modelPowerDetails.getSpeed() && tdEquiomentMeterInfo.getModel().equals(modelPowerDetails.getModelId())) {
|
|
|
+ tdEquiomentMeterInfo.setLilungonglv(modelPowerDetails.getTheoryPower());
|
|
|
+ tdEquiomentMeterInfo.setBaozhenggonglv(modelPowerDetails.getEnsurePower());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ for (TDEquipmentMeterInfo tDEquiomentMeterInfo : tdEquiomentMeterInfoSpeed) {
|
|
|
+
|
|
|
+
|
|
|
+ tDEquiomentMeterInfo.setShijililun(Math.max(tDEquiomentMeterInfo.getShijigonglv(), tDEquiomentMeterInfo.getLilungonglv()));
|
|
|
+
|
|
|
+ tDEquiomentMeterInfo.setShijibaozhen(Math.max(tDEquiomentMeterInfo.getShijigonglv(), tDEquiomentMeterInfo.getBaozhenggonglv()));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ tdEquipmentMeterInfoMapper.insertTDEquiomentMeterInfo2(tDEquiomentMeterInfo.getTbname(), tDEquiomentMeterInfo.getModel(), tDEquiomentMeterInfo.getStation(), tDEquiomentMeterInfo.getTs(), tDEquiomentMeterInfo.getSpeed(), tDEquiomentMeterInfo.getShijigonglv(), tDEquiomentMeterInfo.getLilungonglv(), tDEquiomentMeterInfo.getBaozhenggonglv(), tDEquiomentMeterInfo.getShijililun(), tDEquiomentMeterInfo.getShijibaozhen());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void cxllfdl() {
|
|
|
+ List<TDEquipmentMeterInfo> list = tdEquipmentMeterInfoService.list(new QueryWrapper<TDEquipmentMeterInfo>()
|
|
|
+
|
|
|
+
|
|
|
+ .eq("station", "NX_GDDL_XS_FDC_STA")
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ double shijigonglv = 0;
|
|
|
+ double lilungonglv = 0;
|
|
|
+ double baozhenggonglv = 0;
|
|
|
+ double shijililun = 0;
|
|
|
+ double baozhenlilun = 0;
|
|
|
+
|
|
|
+
|
|
|
+ for (TDEquipmentMeterInfo tDEquipmentMeterInfo : list) {
|
|
|
+ shijigonglv += tDEquipmentMeterInfo.getShijigonglv()/60;
|
|
|
+ lilungonglv += tDEquipmentMeterInfo.getLilungonglv()/60;
|
|
|
+ baozhenggonglv += tDEquipmentMeterInfo.getBaozhenggonglv()/60;
|
|
|
+ shijililun += tDEquipmentMeterInfo.getShijililun()/60;
|
|
|
+ baozhenlilun += tDEquipmentMeterInfo.getShijibaozhen()/60;
|
|
|
+ }
|
|
|
+
|
|
|
+ System.out.println("实际功率" + new BigDecimal(shijigonglv).divide(BigDecimal.valueOf(10000),2,RoundingMode.HALF_EVEN));
|
|
|
+ System.out.println("理论功率" + new BigDecimal(lilungonglv).divide(BigDecimal.valueOf(10000),2,RoundingMode.HALF_EVEN));
|
|
|
+ System.out.println("保证功率" + new BigDecimal(baozhenggonglv).divide(BigDecimal.valueOf(10000),2,RoundingMode.HALF_EVEN));
|
|
|
+ System.out.println("实际理论" + new BigDecimal(shijililun).divide(BigDecimal.valueOf(10000),2,RoundingMode.HALF_EVEN));
|
|
|
+ System.out.println("实保证证" + new BigDecimal(baozhenlilun).divide(BigDecimal.valueOf(10000),2,RoundingMode.HALF_EVEN));
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|