Sfoglia il codice sorgente

修复一些BUG导致数据不准确

malijun 1 anno fa
parent
commit
fcf048bbd2

+ 1 - 1
electricity/meter/src/main/java/com/gyee/gaia/meter/job/MeterJob.java

@@ -95,7 +95,7 @@ public class MeterJob {
     @XxlJob("MeterJob_GF_FD")
     void meterJob_GF_FD() {
 
-        //设备日发电量(407台风机)
+        //设备日发电量(光伏)
         saveEquipmentFDL.saveEquipmentRfdl_GF();
         //期次风机发电量(14个期次)
         saveEquipmentFDL.saveCalculatingNBQFDL();

+ 5 - 1
electricity/meter/src/main/java/com/gyee/gaia/meter/service/SaveMeterInfoHistoryMonthYear.java

@@ -702,7 +702,11 @@ public class SaveMeterInfoHistoryMonthYear {
             dateTime1 = DateUtil.offsetMonth(startDateTime, i);
 
             //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
-            List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).like("code", "%_POWERSTATIONFDL_MONTH"));
+            List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>()
+                    .eq("date", dateTime1.toLocalDateTime())
+                    .like("code", "%_POWERSTATIONFDL_MONTH")
+                    .like("windpowerstation_id", "_FDC_")
+            );
             //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
             if (meterInfoCalculatingDay.size() > 0) {
                 for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatingDay) {

+ 8 - 2
electricity/meter/src/main/java/com/gyee/gaia/meter/service/SaveMeterInfoHistoryMonthYearTest.java

@@ -537,7 +537,9 @@ public class SaveMeterInfoHistoryMonthYearTest {
                 dateTime1 = DateUtil.offsetDay(startDateTime, i);
 
                 //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路总发电量)
-                MeterInfoCalculating meterInfoCalculatingDay = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_JDXLFDL_P0"));
+                MeterInfoCalculating meterInfoCalculatingDay = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>()
+                        .eq("windpowerstation_id", meterPoint.getWindpowerstationId())
+                        .eq("date", dateTime1.toLocalDateTime()).like("code", "%_JDXLFDL_P0"));
 
                 //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
                 if (meterInfoCalculatingDay != null) {
@@ -710,7 +712,11 @@ public class SaveMeterInfoHistoryMonthYearTest {
             dateTime1 = DateUtil.offsetMonth(startDateTime, i);
 
             //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
-            List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).like("code", "%_POWERSTATIONFDL_MONTH"));
+            List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>()
+                    .eq("date", dateTime1.toLocalDateTime())
+                    .like("code", "%_POWERSTATIONFDL_MONTH")
+                    .like("windpowerstation_id", "_FDC_")
+            );
             //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
             if (meterInfoCalculatingDay.size() > 0) {
                 for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatingDay) {

+ 13 - 7
electricity/meter/src/main/java/com/gyee/gaia/meter/service/meter/SaveFDL_Day_Month_Year.java

@@ -472,7 +472,9 @@ public class SaveFDL_Day_Month_Year {
             //开始时间00:00:00
 
             //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
-            List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>().eq("date", startDateTime.toLocalDateTime()).like("code", "%_JDXLFDL_P0"));
+            List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>()
+                    .eq("date", startDateTime.toLocalDateTime())
+                    .like("code", "%_JDXLFDL_P0"));
             //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
             if (meterInfoCalculatingDay.size() > 0) {
                 for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatingDay) {
@@ -528,7 +530,11 @@ public class SaveFDL_Day_Month_Year {
             dateTime1 = DateUtil.offsetMonth(startDateTime, i);
 
             //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
-            List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).like("code", "%_POWERSTATIONFDL_MONTH"));
+            List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>()
+                    .eq("date", dateTime1.toLocalDateTime())
+                    .like("code", "%_POWERSTATIONFDL_MONTH")
+                    .like("windpowerstation_id", "_FDC_")
+            );
             //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
             if (meterInfoCalculatingDay.size() > 0) {
                 for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatingDay) {
@@ -571,9 +577,7 @@ public class SaveFDL_Day_Month_Year {
         LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
         LocalDateTime day2 = LocalDateTimeUtil.of(nowDateTime);
         long between = ChronoUnit.MONTHS.between(day1, day2);
-        System.out.println(between);
 
-        //2,meterPointJSD_YFDLList
 
         DateTime dateTime1 = DateTime.of(0);
         double yearValue = 0.0;
@@ -584,7 +588,10 @@ public class SaveFDL_Day_Month_Year {
             dateTime1 = DateUtil.offsetMonth(startDateTime, i);
 
             //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
-            MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "DL.NX_GD_WINDSTATIONFDL_MONTH"));
+            MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>()
+                    .eq("date", dateTime1.toLocalDateTime())
+                    .eq("code", "DL.NX_GD_WINDSTATIONFDL_MONTH")
+            );
 
             //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
             if (meterInfoCalculating != null) {
@@ -850,11 +857,11 @@ public class SaveFDL_Day_Month_Year {
         LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
         LocalDateTime day2 = LocalDateTimeUtil.of(nowDateTime);
         long between = ChronoUnit.MONTHS.between(day1, day2);
-        System.out.println(between);
 
         //2,meterPointJSD_YFDLList
 
         DateTime dateTime1 = DateTime.of(0);
+
         double yearValue = 0.0;
 
 
@@ -866,7 +873,6 @@ public class SaveFDL_Day_Month_Year {
             MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>()
                     .eq("date", dateTime1.toLocalDateTime())
                     .eq("code", "DL.NX_GD_GFFDL_MONTH")
-                    .like("windpowerstation_id", "_GDC_")
             );
 
             //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue

+ 18 - 7
electricity/meter/src/main/java/com/gyee/gaia/meter/service/meter/SaveSWDL_Day_Month_Year.java

@@ -392,10 +392,12 @@ public class SaveSWDL_Day_Month_Year {
 
 
         DateTime dateTime1 = DateTime.of(0);
-        double monthValue = 0.0;
+
 
 
         for (int i = 0; i <= between; i++) {
+
+            double monthValue = 0.0;
             //开始时间00:00:00
             dateTime1 = DateUtil.offsetMonth(startDateTime, i);
 
@@ -410,7 +412,7 @@ public class SaveSWDL_Day_Month_Year {
                     monthValue = monthValue + meterInfoCalculating.getValue().doubleValue();
                 }
             }
-        }
+
 
 
         // 将每个场站的每个月的value值存入到MeterInfoCalculating
@@ -431,6 +433,8 @@ public class SaveSWDL_Day_Month_Year {
             meterInfoCalculating.insert();
         }
 
+        }
+
     }
 
     void saveWindStationSwdl_Year() {
@@ -459,7 +463,9 @@ public class SaveSWDL_Day_Month_Year {
             dateTime1 = DateUtil.offsetMonth(startDateTime, i);
 
             //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
-            MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "DL.NX_GD_FCSWDL_MONTH"));
+            MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>()
+                    .eq("date", dateTime1.toLocalDateTime())
+                    .eq("code", "DL.NX_GD_FCSWDL_MONTH"));
 
             //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
             if (meterInfoCalculating != null) {
@@ -506,22 +512,24 @@ public class SaveSWDL_Day_Month_Year {
         //开始日期到结束日期的天数
         LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
         LocalDateTime day2 = LocalDateTimeUtil.of(nowDateTime);
-        long between = ChronoUnit.MONTHS.between(day1, day2);
+        long between = ChronoUnit.DAYS.between(day1, day2);
 
         //2,meterPointJSD_YFDLList
         for (MeterPoint meterPoint : meterPointJSD_YFDLList) {
 
             DateTime dateTime1 = DateTime.of(0);
             double monthValue = 0.0;
+
+
             for (int i = 0; i <= between; i++) {
                 //开始时间00:00:01
-                dateTime1 = DateUtil.offsetMonth(startDateTime, i);
+                dateTime1 = DateUtil.offsetDay(startDateTime, i);
 
                 //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路总发电量)
                 List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>()
                         .eq("windpowerstation_id", meterPoint.getWindpowerstationId())
                         .eq("date", dateTime1.toLocalDateTime())
-                        .like("code", "%_GFSWDL_PO"));
+                        .like("code", "_GFSWDL_PO"));
 
                 for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatingDay) {
                     //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
@@ -542,7 +550,10 @@ public class SaveSWDL_Day_Month_Year {
             meterInfoCalculating.setWindpowerstationId(meterPoint.getWindpowerstationId());
 
             QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("code", meterPoint.getNemCode()).eq("date", dateTime1.toLocalDateTime().withDayOfMonth(1).withNano(0).withSecond(0).withMinute(0).withHour(0)).eq("windpowerstation_id", meterPoint.getWindpowerstationId());
+            queryWrapper
+                    .eq("code", meterPoint.getNemCode())
+                    .eq("date", dateTime1.toLocalDateTime().withDayOfMonth(1).withNano(0).withSecond(0).withMinute(0).withHour(0))
+                    .eq("windpowerstation_id", meterPoint.getWindpowerstationId());
             List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
             if (list.size() > 0) {
                 meterInfoCalculating.update(queryWrapper);