From d978297ae85b2d7453054e616bbbe87bfabe9cbe Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 12 七月 2021 17:38:09 +0800
Subject: [PATCH] 1. 新增用电量数据查询接口 2. 调整污染权重算法

---
 src/test/kotlin/com/flightfeather/uav/model/epw/EPWModelTest.kt |   73 +++++++++++++++++++++++++-----------
 1 files changed, 50 insertions(+), 23 deletions(-)

diff --git a/src/test/kotlin/com/flightfeather/uav/model/epw/EPWModelTest.kt b/src/test/kotlin/com/flightfeather/uav/model/epw/EPWModelTest.kt
index 73dbd73..9dccf11 100644
--- a/src/test/kotlin/com/flightfeather/uav/model/epw/EPWModelTest.kt
+++ b/src/test/kotlin/com/flightfeather/uav/model/epw/EPWModelTest.kt
@@ -1,7 +1,6 @@
 package com.flightfeather.uav.model.epw
 
 import com.flightfeather.uav.common.utils.DateUtil
-import com.flightfeather.uav.domain.entity.Company
 import com.flightfeather.uav.domain.mapper.CompanyMapper
 import com.flightfeather.uav.lightshare.bean.CompanySOP
 import com.flightfeather.uav.lightshare.bean.DataVo
@@ -13,9 +12,10 @@
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.boot.test.context.SpringBootTest
 import org.springframework.test.context.junit4.SpringRunner
-import tk.mybatis.mapper.entity.Example
 import java.io.FileOutputStream
 import java.util.*
+import kotlin.math.ceil
+import kotlin.math.floor
 
 @RunWith(SpringRunner::class)
 @SpringBootTest
@@ -56,6 +56,7 @@
 
         val dataSet = mutableListOf<DataVo>()
         val timeSet = listOf(
+//            缃戞牸鍖栫洃娴嬫瘡鏃�
 //            Pair("2021-06-18 15:00:00", "2021-06-18 23:59:59"),
 //            Pair("2021-06-19 00:00:00", "2021-06-19 23:59:59"),
 //            Pair("2021-06-20 00:00:00", "2021-06-20 23:59:59"),
@@ -69,13 +70,20 @@
 //            Pair("2021-06-28 00:00:00", "2021-06-28 23:59:59"),
 //            Pair("2021-06-29 00:00:00", "2021-06-29 23:59:59"),
 //            Pair("2021-06-30 00:00:00", "2021-06-30 08:00:00"),
-            Pair("2021-03-26 11:28:12", "2021-03-26 21:30:00"),
-            Pair("2021-04-09 07:18:12", "2021-04-09 22:04:39"),
-            Pair("2021-04-10 08:00:02", "2021-04-10 09:44:18"),
-            Pair("2021-04-21 16:46:12", "2021-04-21 21:18:35"),
-            Pair("2021-05-24 11:10:12", "2021-05-24 19:31:02"),
-            Pair("2021-06-04 09:02:40", "2021-06-04 20:14:18"),
+
+//            缃戞牸鍖栫洃娴�
+            Pair("2021-06-18 15:00:00", "2021-06-30 08:00:00"),
+
+//            璧拌埅鐩戞祴
+//            Pair("2021-03-26 11:28:12", "2021-03-26 21:30:00"),
+//            Pair("2021-04-09 07:18:12", "2021-04-09 22:04:39"),
+//            Pair("2021-04-10 08:00:02", "2021-04-10 09:44:18"),
+//            Pair("2021-04-21 16:46:12", "2021-04-21 21:18:35"),
+//            Pair("2021-05-24 11:10:12", "2021-05-24 19:31:02"),
+//            Pair("2021-06-04 09:02:40", "2021-06-04 20:14:18"),
         )
+
+        val deviceCode = "0d0000000001"
 
         val epwModel = EPWModel()
         var workbook: HSSFWorkbook? = null
@@ -83,23 +91,38 @@
 
         for (i in timeSet.indices) {
             val it = timeSet[i]
-            val dataList =
-                realTimeDataService.getSecondData("0d0000000001", it.first, it.second, 1, 100000).data ?: emptyList()
-            dataList.forEach {
-                if (it.lng == 0.0 && it.lat == 0.0) {
-                    it.lng = 121.235813
-                    it.lat = 30.835898
+
+            var page = 1
+            var totalPage = -1
+            while (totalPage == -1 || page <= totalPage) {
+                realTimeDataService.getSecondData(deviceCode, it.first, it.second, page, 10000).apply {
+                    if (totalPage == -1) {
+                        totalPage = head?.totalPage ?: 0
+                    }
+
+                    val dataList = data?: emptyList()
+
+                    dataList.forEach {
+                        if (it.lng == 0.0 && it.lat == 0.0) {
+                            it.lng = 121.235813
+                            it.lat = 30.835898
+                        }
+                    }
+
+                    dataSet.addAll(dataList)
+//                    println()
+//                    println("[${page}]鏁版嵁閲�: ${dataList.size}")
+
+                    epwModel.execute(dataList, companySOPList, true)
+
+                    page++
                 }
             }
-            dataSet.addAll(dataList)
-            println()
-            println("[${it.first}]鏁版嵁閲�: ${dataList.size}")
 
-            epwModel.execute(dataList, companySOPList)
             val p = epwModel.outputToExcel(
-//                "姹℃煋鏉冮噸鍒嗘瀽缁撴灉-缁煎悎-${DateUtil().DateToString(Date(), "yyyy-MM-ddHHmmss")}.xls",
+                "姹℃煋鏉冮噸鍒嗘瀽缁撴灉-缁煎悎-${DateUtil.instance.dateToString(Date(), "yyyy-MM-ddHHmmss")}.xls",
 //                "姹℃煋鏉冮噸鍒嗘瀽缁撴灉-${it.first.substring(0, 10)}.xls",
-                "姹℃煋鏉冮噸鍒嗘瀽缁撴灉-缃戞牸鍖�-${it.first.substring(0, 10)}.xls",
+//                "姹℃煋鏉冮噸鍒嗘瀽缁撴灉-缃戞牸鍖�-${it.first.substring(0, 10)}.xls",
                 workbook,
                 out,
                 it.first.substring(0, 10),
@@ -110,8 +133,12 @@
 //            p?.second?.let { out = it }
         }
 
-        println(dataSet.size)
-        epwModel.execute(dataSet, companySOPList)
-        epwModel.outputToExcel("姹℃煋鏉冮噸鍒嗘瀽缁撴灉-缁煎悎-${DateUtil().DateToString(Date(), "yyyy-MM-ddHHmmss")}.xls", workbook, out, "缁煎悎")
+//        var page = 1
+//        var totalPage = ceil(dataSet.size.toDouble() / 5000)
+//        println(dataSet.size)
+
+//        val epwModel1 = EPWModel()
+//        epwModel1.execute(dataSet, companySOPList)
+//        epwModel1.outputToExcel("姹℃煋鏉冮噸鍒嗘瀽缁撴灉-缁煎悎-${DateUtil.instance.dateToString(Date(), "yyyy-MM-ddHHmmss")}.xls", workbook, out, "缁煎悎")
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3