From bde043c8fd1a076f44c402dd56c62d401afbfb16 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 27 三月 2025 17:29:48 +0800
Subject: [PATCH] 1. 新增卫星遥测网格热力图计算逻辑

---
 src/main/kotlin/com/flightfeather/uav/model/BaseModel.kt |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/model/BaseModel.kt b/src/main/kotlin/com/flightfeather/uav/model/BaseModel.kt
index 0f5ea52..7e0c3ea 100644
--- a/src/main/kotlin/com/flightfeather/uav/model/BaseModel.kt
+++ b/src/main/kotlin/com/flightfeather/uav/model/BaseModel.kt
@@ -3,7 +3,6 @@
 import com.flightfeather.uav.common.utils.DateUtil
 import com.flightfeather.uav.common.utils.ExcelUtil
 import com.flightfeather.uav.socket.eunm.FactorType
-import org.apache.poi.hssf.usermodel.HSSFWorkbook
 import org.apache.poi.xssf.streaming.SXSSFWorkbook
 import java.io.File
 import java.io.FileOutputStream
@@ -14,7 +13,7 @@
  * 姹℃煋婧愬奖鍝嶇▼搴︽潈閲嶅垎鏋愭ā鍨�
  * 鍩虹被
  */
-abstract class BaseModel<M : BaseMData> {
+abstract class BaseModel<M : BaseMData, S: BaseSOP> {
 
     data class ResultCell(
         var total: Double = 0.0,
@@ -27,26 +26,26 @@
         }
     }
 
-    abstract var dataPrep: BaseDataPrep<M, BaseSOP>
+    abstract var dataPrep: BaseDataPrep<M, S>
 
     // 鏉冮噸鍥犲瓙锛屽湪杩涜璁$畻鍒嗘瀽鏃朵娇鐢ㄧ殑鐩戞祴鍥犲瓙
     abstract var factorTypes: List<FactorType>
 
     // 鏉冮噸鍊硷紝澶氱鏉冮噸杩涜涔樼Н璁$畻
-    abstract var weights: List<BaseWeight<M, BaseSOP>>
+    abstract var weights: List<BaseWeight<M, S>>
 
     // 璁$畻缁撴灉
     private val rMap = mutableMapOf<String, MutableMap<String, MutableMap<String, ResultCell>>>()
 
     // 缁撴灉绛涢�夋柟寮�
-    abstract var sections: List<BaseSection<M, BaseSOP>>
+    abstract var sections: List<BaseSection<M, S>>
 
     /**
      * 姹℃煋婧愬奖鍝嶇▼搴﹁绠�
      * @param mDataList 鐩戞祴鏁版嵁闆嗗悎
      * @param sopList 姹℃煋婧愰泦鍚�
      */
-    fun execute(mDataList: List<M>, sopList: List<BaseSOP>, hasNext: Boolean = false) {
+    open fun execute(mDataList: List<M>, sopList: List<S>, hasNext: Boolean = false) {
         if (!hasNext) rMap.clear()
 
         //1. 鏁版嵁棰勫鐞�
@@ -68,7 +67,7 @@
      * @param mData 鐩戞祴鏁版嵁
      * @param sop 姹℃煋婧�
      */
-    private fun weightCompute(mData: M, sop: BaseSOP) {
+    private fun weightCompute(mData: M, sop: S) {
         val effect = BaseEffect(sop.sourceId, sop.sourceName, sop.index)
 
         // 灏嗗師鐩戞祴鏁版嵁鎸夌収鏉冮噸璁$畻鍑虹粨鏋滃��
@@ -132,7 +131,7 @@
                         val lKey = "$se($factorType)"
                         if (lMap.containsKey(lKey)) {
                             val resultCell = lMap[lKey] ?: return@type
-                            val size = resultCell.count
+//                            val size = resultCell.count
                             // 娣诲姞璇ュ垎绫讳綔涓鸿〃澶�
                             val h = lKey
 //                            val h = "$lKey($size)"
@@ -199,6 +198,12 @@
         return rMap
     }
 
+    /**
+     * 灏嗚绠楃粨鏋滄牸寮忓寲涓哄灞傜骇鐨勯敭瀵瑰�肩粨鏋�
+     * 绗竴灞傛寜鐓т笉鍚屾薄鏌撴簮鐨勭储寮曞�艰繘琛屽垎绫�
+     * 绗簩灞傛寜鐓х洃娴嬪洜瀛愮被鍨嬭繘琛屽垎绫�
+     * 绗笁灞傛寜鐓ц嚜瀹氫箟鐨勬爣绛捐繘琛屽垎绫�
+     */
     private fun formatConversion2(e: BaseEffect) {
         val rKey = "${e.sourceName};${e.index}"
         if (!rMap.containsKey(rKey)) {
@@ -234,5 +239,5 @@
     /**
      * 姹℃煋婧愭暟鎹悎娉曟�ф鏌�
      */
-    abstract fun sopCheck(s: BaseSOP): Boolean
+    abstract fun sopCheck(s: S): Boolean
 }
\ No newline at end of file

--
Gitblit v1.9.3