From 1a677d2b4a4bc615602f8c2a22bc07ec1356e5be Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 16 十月 2025 17:39:06 +0800
Subject: [PATCH] 2025.10.16 1. 根据全局响应增强器GlobalResponseAdvice,将原先的BaseResPack接口包装函数统一去除; 2. 新增三种类型的数据产品数据库实体 3. 新增典型问题场景清单中间数据产品接口
---
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt | 43 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 38 insertions(+), 5 deletions(-)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt
index 458de79..6d46bc9 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt
@@ -7,10 +7,7 @@
import cn.flightfeather.supervision.lightshare.service.DataProdBaseService
import cn.flightfeather.supervision.lightshare.service.DataProdMiddleService
import cn.flightfeather.supervision.lightshare.vo.dataprod.QueryOpt
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPEvaluationByArea
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPInspectionSummary
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPProblemCountByArea
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPProblemTypeCount
+import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.*
import org.springframework.beans.BeanUtils
import org.springframework.stereotype.Service
@@ -120,7 +117,7 @@
this.townName = firstSubtask?.townname
this.sceneCount = ins.distinctBy { it.subTask?.scenseid }.size
this.problemCount = allProblemList.size
- this.ratio = problemCount.toDouble() / sceneCount
+ this.proAvg = problemCount.toDouble() / sceneCount
})
}
@@ -167,4 +164,40 @@
},
)
}
+
+ override fun getTypicalProblems(queryOpt: QueryOpt, rateTotal: Double): List<DPTypicalProblemScene> {
+ return QueryByCache.queryCache(
+ cache = { return@queryCache null },
+ calculate = {
+ val res = mutableListOf<DPTypicalProblemScene>()
+ val inspectionInfo = dataProdBaseService.getInspectionInfo(queryOpt)
+ inspectionInfo.groupBy { it.subTask?.scenseid }.forEach { (sceneId, ins) ->
+ val problems = ins.flatMap { it.problems ?: emptyList() }
+ if (problems.isEmpty()) return@forEach
+
+ val unChangePros = problems.filter { it.ischanged != true }
+ val changeRatio = if (problems.isNotEmpty()) {
+ (problems.size - unChangePros.size.toDouble()) / problems.size
+ } else {
+ 0.0
+ }
+ if (changeRatio < rateTotal) {
+ res.add(DPTypicalProblemScene().apply {
+ val firstSubtask = ins.first().subTask
+ this.sceneId = sceneId
+ this.sceneName = firstSubtask?.scensename
+ this.townCode = firstSubtask?.towncode
+ this.townName = firstSubtask?.townname
+ this.problemCount = problems.size
+ this.changeCount = problems.size - unChangePros.size
+ this.changeRatio = changeRatio
+ this.typicalProblems = unChangePros
+ .distinctBy { it.ptguid }
+ })
+ }
+ }
+ return@queryCache res
+ },
+ )
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3