Kaynağa Gözat

1.添加解析日和月的电量,满发小时数

tt 1 yıl önce
ebeveyn
işleme
30596d89fe

+ 17 - 1
neim-biz/src/main/java/com/jiayue/biz/domain/FanModelData.java

@@ -20,7 +20,7 @@ public class FanModelData {
     private String modelName;
     //场站简称
     private String stationNameEasy;
-    //平均风速
+    //平均风速/日照
     private String wsAve;
     //主风向
     private String wdSum;
@@ -28,4 +28,20 @@ public class FanModelData {
     private String generatingCapacity;
     //满发小时数
     private String realTimeTotal;
+    //最大最小 风站:风速/ 光伏:日照
+    private String wsMax;
+    private String wsMin;
+
+    //发电量日
+    private String generatingCapacityr;
+    //发电量月
+    private String generatingCapacityy;
+
+
+    //满发小时数日
+    private String realTimeTotalr;
+    //满发小时数月
+    private String realTimeTotaly;
+
+
 }

+ 28 - 4
neim-biz/src/main/java/com/jiayue/biz/job/AirDensityJob.java

@@ -171,6 +171,8 @@ public class AirDensityJob {
 
     public void saveMongoBattery(StationInfo stationInfo, FanJsonInfo towerJsonInfo, List<FanModelData> fanModelDataList) {
         String[] strArr = new String[]{towerJsonInfo.getFdln(), towerJsonInfo.getFd1n(), towerJsonInfo.getFd2n(), towerJsonInfo.getFd3n(), towerJsonInfo.getFd4n()};
+        String[] strArrr = new String[]{towerJsonInfo.getFdl(), towerJsonInfo.getFd1(), towerJsonInfo.getFd2(), towerJsonInfo.getFd3(), towerJsonInfo.getFd4()};
+        String[] strArry = new String[]{towerJsonInfo.getFdly(), towerJsonInfo.getFd1y(), towerJsonInfo.getFd2y(), towerJsonInfo.getFd3y(), towerJsonInfo.getFd4y()};
 
         List<String> collect = new ArrayList<>();
         Map<String, List<Object>> modelMap = new HashMap<>();
@@ -192,11 +194,17 @@ public class AirDensityJob {
 
         }
         String fdn = "";
+        String fdr = "";
+        String fdy = "";
         for (int i = 0; i < collect.size(); i++) {
             if (collect.size() == 1) {
                 fdn = strArr[i];
+                fdr = strArrr[i];
+                fdy = strArry[i];
             } else {
                 fdn = strArr[i + 1];
+                fdr = strArrr[i + 1];
+                fdy = strArry[i + 1];
             }
             String modelName = collect.get(i);
             if (StrUtil.isBlank(modelName)) {
@@ -210,15 +218,31 @@ public class AirDensityJob {
             }
 
             int fanTotal = modelMap.get(modelName).size();
+            //年发电
             fdn = new BigDecimal(fdn).multiply(BigDecimal.valueOf(10)).toString();
             realTimeTotal = new BigDecimal(fdn).divide(new BigDecimal(capacity).multiply(new BigDecimal(fanTotal)), 2, BigDecimal.ROUND_HALF_UP);//满发小时数(年)
+            //日发电
+            fdr = new BigDecimal(fdr).multiply(BigDecimal.valueOf(10)).toString();
+            BigDecimal realTimeTotalr = BigDecimal.ZERO;
+            realTimeTotalr = new BigDecimal(fdr).divide(new BigDecimal(capacity).multiply(new BigDecimal(fanTotal)), 2, BigDecimal.ROUND_HALF_UP);//满发小时数(日)
+            //月发电
+            fdy = new BigDecimal(fdy).multiply(BigDecimal.valueOf(10)).toString();
+            BigDecimal realTimeTotaly = BigDecimal.ZERO;
+            realTimeTotaly = new BigDecimal(fdy).divide(new BigDecimal(capacity).multiply(new BigDecimal(fanTotal)), 2, BigDecimal.ROUND_HALF_UP);//满发小时数(日)
             //一期
             FanModelData fanModelData = new FanModelData(UUID.randomUUID().toString(), stationInfo.getId(),
                     stationInfo.getStationBasicInfo().getStationName(), modelName, stationInfo.getStationBasicInfo().getAbbreviation(),
-                    new BigDecimal(towerJsonInfo.getPjfs()).setScale(2, RoundingMode.HALF_UP).toString(), towerJsonInfo.getZfx(),
-                    fdn, realTimeTotal.toString());
-            //发电量(年)
-            fdn = new BigDecimal(towerJsonInfo.getFd2n()).setScale(2, RoundingMode.HALF_UP).toString();
+                    new BigDecimal(towerJsonInfo.getPjfs()).setScale(2, RoundingMode.HALF_UP).toString()
+                    , towerJsonInfo.getZfx(),
+                    fdn
+                    , realTimeTotal.toString()
+                    ,new BigDecimal(towerJsonInfo.getZdfs()).setScale(2, RoundingMode.HALF_UP).toString()
+                    ,new BigDecimal(towerJsonInfo.getZxfs()).setScale(2, RoundingMode.HALF_UP).toString()
+                    ,fdr
+                    ,fdy
+                    ,realTimeTotalr.toString()
+                    ,realTimeTotaly.toString()
+            );
             List<FanModelData> modelDataList = fanModelDataList.stream().filter(f -> f.getStationId().equals(stationInfo.getId())
                     && f.getModelName().equals(modelName)).collect(Collectors.toList());
             if (modelDataList.size() > 0) {

+ 8 - 3
neim-biz/src/main/resources/application-dev.yml

@@ -6,14 +6,19 @@ spring:
       max-request-size: 200MB
   data:
     mongodb:
-      uri: mongodb://mongo_6hR2wr:mongo_jXaW8Z@192.168.12.20:19717/neim
+      host: 192.168.12.20
+      port: 19717
+      database: neim
+      username: mongo_6hR2wr
+      password: 'mongo_jXaW8Z'
+      authentication-database: admin
   datasource:
     dynamic:
       primary: mysql #设置默认的数据源或者数据源组,默认值即为master
       datasource:
         mysql:
-          url: jdbc:mysql://192.168.12.20:13306/nerp_db_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
-          username: root
+          url: jdbc:mysql://192.168.12.20:13306/nerp_db_v2?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true&autoReconnectForPools=true&connectTimeout=30000&socketTimeout=60000&rewriteBatchedStatements=true
+          username: mysql_xpxe6j
           password: 'mysql_xpxe6j'
           driver-class-name: com.mysql.cj.jdbc.Driver
           type: com.alibaba.druid.pool.DruidDataSource