From 83455446544f89b0663a3f520744331ad8259289 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 02 二月 2024 17:49:43 +0800
Subject: [PATCH] 1. 新增导入静安监测数据功能模块

---
 src/main/kotlin/com/flightfeather/uav/common/utils/FileExchange.kt |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/common/utils/FileExchange.kt b/src/main/kotlin/com/flightfeather/uav/common/utils/FileExchange.kt
index efc4c36..c2cde2f 100644
--- a/src/main/kotlin/com/flightfeather/uav/common/utils/FileExchange.kt
+++ b/src/main/kotlin/com/flightfeather/uav/common/utils/FileExchange.kt
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONObject
 import com.flightfeather.uav.common.exception.ResponseErrorException
 import com.flightfeather.uav.domain.entity.RealTimeData
+import com.flightfeather.uav.domain.entity.RealTimeDataVehicle
 import com.flightfeather.uav.socket.bean.AirData
 import org.apache.poi.hssf.usermodel.HSSFWorkbook
 import org.apache.poi.xssf.streaming.SXSSFWorkbook
@@ -28,11 +29,11 @@
         private val format = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
     }
 
-    fun exchangeJinanData(file: File) {
+    fun exchangeJinanData(deviceCode: String, file: InputStream): List<RealTimeDataVehicle> {
         val headers = listOf(
+            "data_time",
             "longitude",
             "latitude",
-            "data_time",
             "NO2",
             "CO",
             "H2S",
@@ -48,6 +49,7 @@
             "wind_speed",
             "wind_direction"
         )
+        val result = mutableListOf<RealTimeDataVehicle>()
         try {
             ExcelUtil.read(file, headerCheck = {
                 val cellIterator = it.cellIterator()
@@ -65,13 +67,33 @@
                 }
                 true
             }, onRow = {
-                it.cellIterator().forEach {
-                    it.numericCellValue
+                val data = RealTimeDataVehicle().apply {
+                    this.deviceCode = deviceCode
+                    dataTime = it.getCell(0).dateCellValue
+                    longitude = it.getCell(1).numericCellValue.toBigDecimal()
+                    latitude = it.getCell(2).numericCellValue.toBigDecimal()
+                    no2 = it.getCell(3).numericCellValue.toFloat()
+                    co = it.getCell(4).numericCellValue.toFloat()
+                    h2s = it.getCell(5).numericCellValue.toFloat()
+                    so2 = it.getCell(6).numericCellValue.toFloat()
+                    o3 = it.getCell(7).numericCellValue.toFloat()
+                    pm25 = it.getCell(8).numericCellValue.toFloat()
+                    pm10 = it.getCell(9).numericCellValue.toFloat()
+                    temperature = it.getCell(10).numericCellValue.toFloat()
+                    humidity = it.getCell(11).numericCellValue.toFloat()
+                    voc = it.getCell(12).numericCellValue.toFloat()
+                    noi = it.getCell(13).numericCellValue.toFloat()
+                    velocity = it.getCell(14).numericCellValue.toFloat()
+                    windSpeed = it.getCell(15).numericCellValue.toFloat()
+                    windDirection = it.getCell(16).numericCellValue.toFloat()
                 }
+                result.add(data)
             })
         } catch (e: Exception) {
+            e.printStackTrace()
             throw ResponseErrorException("excel鏂囦欢鍐呭閿欒锛屾暟鎹浆鎹㈠け璐ワ紒", e)
         }
+        return result
     }
 
     /**

--
Gitblit v1.9.3