Преглед изворни кода

风场总出线电量底码保存,日电量计算保存

malijun пре 1 година
родитељ
комит
115e5a961e

Разлика између датотеке није приказан због своје велике величине
+ 170 - 0
electricity/meter/logs/error.log


Разлика између датотеке није приказан због своје велике величине
+ 413 - 0
electricity/meter/logs/warn.log


+ 109 - 0
electricity/meter/src/main/java/com/gyee/gaia/meter/entity/MeterInfoBottomcode.java

@@ -0,0 +1,109 @@
+package com.gyee.gaia.meter.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 风机日发电量表
+ * </p>
+ */
+@TableName("meter_info_bottomcode")
+@Data
+public class MeterInfoBottomcode extends Model<MeterInfoBottomcode> implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键;主键自增
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 底码字段名称code
+     */
+    private String nameCode;
+
+    /**
+     * 底码字段名称
+     */
+    private String name;
+
+    /**
+     * 类型
+     */
+    private String type;
+
+    /**
+     * 变电所
+     */
+    private String subStation;
+
+    /**
+     * 开始时间
+     */
+    private String startTime;
+
+    /**
+     * 开始值
+     */
+    private BigDecimal startValue;
+    /**
+     * 截止时间
+     */
+    private String endTime;
+    /**
+     * 截止值
+     */
+    private BigDecimal endValue;
+    /**
+     * 日电量
+     */
+    private BigDecimal dayValue;
+
+    /**
+     * 测点编码
+     */
+    private String code;
+
+
+    /**
+     * 倍率
+     */
+    private BigDecimal multiplyingPower;
+
+
+    /**
+     * 创建人;创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间;创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人;更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间;更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 备注;备注
+     */
+    private String remark;
+
+}

+ 11 - 0
electricity/meter/src/main/java/com/gyee/gaia/meter/mapper/MeterInfoBottomcodeMapper.java

@@ -0,0 +1,11 @@
+package com.gyee.gaia.meter.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.gaia.meter.entity.MeterInfoBottomcode;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface MeterInfoBottomcodeMapper extends BaseMapper<MeterInfoBottomcode> {
+
+}

+ 100 - 12
electricity/meter/src/main/java/com/gyee/gaia/meter/service/AdapterServiceTest.java

@@ -5,12 +5,8 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.date.LocalDateTimeUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.gyee.gaia.meter.adapter.Adapter;
-import com.gyee.gaia.meter.entity.Equipment;
-import com.gyee.gaia.meter.entity.MeterInfoEquipment;
-import com.gyee.gaia.meter.entity.PointData;
-import com.gyee.gaia.meter.entity.TestingPoint;
-import com.gyee.gaia.meter.service.impl.EquipmentServiceImpl;
-import com.gyee.gaia.meter.service.impl.TestingPointServiceImpl;
+import com.gyee.gaia.meter.entity.*;
+import com.gyee.gaia.meter.service.impl.*;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 
@@ -31,12 +27,6 @@ class AdapterServiceTest {
     @Resource
     Adapter adapter;
 
-    @Resource
-    TestingPointServiceImpl testingPointService;
-
-    @Resource
-    EquipmentServiceImpl equipmentService;
-
 
     //测试获取和保存数据
     @Test
@@ -53,6 +43,13 @@ class AdapterServiceTest {
         meterInfoEquipment.insert();
     }
 
+
+    @Resource
+    TestingPointServiceImpl testingPointService;
+
+    @Resource
+    EquipmentServiceImpl equipmentService;
+
     //测试读取设备发电量,并写入pg数据库
     @Test
     void saveEquipmentRfdl() {
@@ -128,5 +125,96 @@ class AdapterServiceTest {
         }
 
     }
+
+
+    @Resource
+    PowerStationServiceImpl powerStationService;
+
+    @Resource
+    MeterPointServiceImpl meterPointService;
+
+
+
+
+    //读取底码数据存入pg数据库
+    @Test
+    void saveBottomCode() {
+
+        //1,查询所有风电场
+        List<PowerStation> powerStationList = powerStationService.list(new QueryWrapper<PowerStation>().like("nem_code", "_FDC_"));
+
+        for (PowerStation powerStation : powerStationList) {
+
+            //2,根据场站ID,meter_code='111'或者meter_code='121'或者meter_code='151',uniform_code='ZXYG',得到出线测点
+            List<MeterPoint> meterPointList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("windpowerstation_id", powerStation.getId()).eq("uniform_code", "ZXYG").in("meter_code", "111", "121", "151"));
+            System.out.println(meterPointList.size());
+
+            //3,遍历出线测点,拿到每个测点的nem_code
+            for (MeterPoint meterPoint : meterPointList) {
+                System.out.println(meterPoint);
+                //获取测点code
+                String pointcode = meterPoint.getNemCode();
+
+                //6,设置取值开始日期前一天
+                String str = "2023-04-30";
+
+                DateTime dateTime = DateUtil.parse(str);
+                DateTime dateTime2 = DateUtil.endOfDay(dateTime);
+                System.out.println("前一天天结束时间" + dateTime2);
+
+                //指定日期到现在天数
+                LocalDateTime day1 = LocalDateTimeUtil.of(dateTime);
+                LocalDateTime day2 = LocalDateTime.now();
+                System.out.println(day2);
+                long between = ChronoUnit.DAYS.between(day1, day2);
+                System.out.println(between);
+
+                for (int i = 1; i < between; i++) {
+
+
+                    DateTime dateTime1 = DateUtil.offsetMillisecond(dateTime2, 1);
+                    System.out.println("第一天开始" + dateTime1);
+
+                    dateTime2 = DateUtil.endOfDay(dateTime1);
+                    System.out.println("第一天结束" + dateTime2);
+
+                    //6,根据code和日期开始时间00:00:00获取日期开始点发电量
+                    Map<String, PointData> historySection1 = adapter.getHistorySection(pointcode, dateTime1.getTime());
+                    double value1 = historySection1.get(pointcode).getValue();
+
+                    //7,根据code和日期结束时间23:59:59获取日期结束点发电量
+                    Map<String, PointData> historySection2 = adapter.getHistorySection(pointcode, dateTime2.getTime());
+                    double value2 = historySection2.get(pointcode).getValue();
+
+                    //8,结束点发电量减去开始点发电量得到日发电量(单位Kwh)
+                    BigDecimal bigDecimal1 = new BigDecimal(Double.toString(value1));
+                    BigDecimal bigDecimal2 = new BigDecimal(Double.toString(value2));
+                    BigDecimal rfdl = bigDecimal2.subtract(bigDecimal1);
+                    System.out.println(rfdl + "Kwh");
+
+
+
+
+                    MeterInfoBottomcode meterInfoBottomcode = new MeterInfoBottomcode();
+                    meterInfoBottomcode.setNameCode("110SCDL");
+                    meterInfoBottomcode.setName("110KV送出电量");
+                    meterInfoBottomcode.setType(meterPoint.getProjectId());
+//                    meterInfoBottomcode.setSubStation("");
+                    meterInfoBottomcode.setStartTime(String.valueOf(dateTime1));
+                    meterInfoBottomcode.setStartValue(BigDecimal.valueOf(value1));
+                    meterInfoBottomcode.setEndTime(String.valueOf(dateTime2));
+                    meterInfoBottomcode.setEndValue(BigDecimal.valueOf(value2));
+                    meterInfoBottomcode.setDayValue(rfdl);
+                    meterInfoBottomcode.setCode(pointcode);
+                    meterInfoBottomcode.setMultiplyingPower(BigDecimal.valueOf(110000));
+                    meterInfoBottomcode.insert();
+
+
+                }
+            }
+
+
+        }
+    }
 }
 

+ 16 - 0
electricity/meter/src/main/java/com/gyee/gaia/meter/service/IMeterInfoBottomcodeService.java

@@ -0,0 +1,16 @@
+package com.gyee.gaia.meter.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.gaia.meter.entity.MeterInfoBottomcode;
+
+/**
+ * <p>
+ * 公司日发电量表 服务类
+ * </p>
+ *
+ * @author gfhd
+ * @since 2023-04-28
+ */
+public interface IMeterInfoBottomcodeService extends IService<MeterInfoBottomcode> {
+
+}

+ 20 - 0
electricity/meter/src/main/java/com/gyee/gaia/meter/service/impl/MeterInfoBottomcodeServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.gaia.meter.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.gaia.meter.entity.MeterInfoBottomcode;
+import com.gyee.gaia.meter.mapper.MeterInfoBottomcodeMapper;
+import com.gyee.gaia.meter.service.IMeterInfoBottomcodeService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 公司日发电量表 服务实现类
+ * </p>
+ *
+ * @author gfhd
+ * @since 2023-04-28
+ */
+@Service
+public class MeterInfoBottomcodeServiceImpl extends ServiceImpl<MeterInfoBottomcodeMapper, MeterInfoBottomcode> implements IMeterInfoBottomcodeService {
+
+}

+ 5 - 0
electricity/meter/src/main/resources/mappers-postgresql/MeterInfoBottomcodeMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.gaia.meter.mapper.MeterInfoBottomcodeMapper">
+
+</mapper>