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