From 9cb8d7e0f4ffca386b14a15f8a0aca4d1db23252 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 30 十月 2025 15:58:45 +0800
Subject: [PATCH] 2025.10.30 新增单场景纵向统计接口

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt |   30 ++++++++++++++++++------------
 1 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt
index 0cd663b..b1d9e32 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt
@@ -7,6 +7,10 @@
 import cn.flightfeather.supervision.lightshare.service.DataProdBaseService
 import cn.flightfeather.supervision.lightshare.vo.ProblemListVo
 import cn.flightfeather.supervision.lightshare.vo.dataprod.*
+import cn.flightfeather.supervision.lightshare.vo.dataprod.base.DPEvaluateInfo
+import cn.flightfeather.supervision.lightshare.vo.dataprod.base.DPInspectionInfo
+import cn.flightfeather.supervision.lightshare.vo.dataprod.base.DPMonitorDataInfo
+import cn.flightfeather.supervision.lightshare.vo.dataprod.base.DPSceneInfo
 import org.springframework.beans.BeanUtils
 import org.springframework.stereotype.Service
 import tk.mybatis.mapper.entity.Example
@@ -105,8 +109,7 @@
                     }
                 }
                 return@queryCache res
-            },
-            save = {  }
+            }
         )
     }
 
@@ -140,10 +143,10 @@
                         evaluate = it
                         val score = it.resultscorebef?.toIntOrNull() ?: -1
                         scoreLevel = when {
-                            score in 0..39 -> Constant.EvaluationLevel.D.text
-                            score in 40..89 -> Constant.EvaluationLevel.C.text
-                            score in 90..99 -> Constant.EvaluationLevel.B.text
-                            score >= 100 -> Constant.EvaluationLevel.A.text
+                            score in 0..49 -> Constant.EvaluationLevel.D.text
+                            score in 50..89 -> Constant.EvaluationLevel.C.text
+                            score in 90..94 -> Constant.EvaluationLevel.B.text
+                            score >= 95 -> Constant.EvaluationLevel.A.text
                             else -> ""
                         }
                     })
@@ -151,7 +154,6 @@
                 res.sortBy { it.index }
                 return@queryCache res
             },
-            save = {  }
         )
     }
 
@@ -202,7 +204,6 @@
                 res.sortBy { it.index }
                 return@queryCache res
             },
-            save = {  }
         )
     }
 
@@ -211,23 +212,28 @@
             cache = { return@queryCache null },
             calculate = {
                 val res = mutableListOf<DPMonitorDataInfo>()
-                val objList = aopDbMapper.monitorobjectversionMapper.selectByExample(Example(Monitorobjectversion::class.java).apply {
+                val sceneIdList = aopDbMapper.monitorobjectversionMapper.selectByExample(Example(Monitorobjectversion::class.java).apply {
                     createCriteria().andEqualTo("tid", queryOpt.topTaskId)
+                }).map { it.sguid }
+                if (sceneIdList.isEmpty()) return@queryCache res
+
+                val sceneList = aopDbMapper.scenseMapper.selectByExample(Example(Scense::class.java).apply {
+                    createCriteria().andIn("guid", sceneIdList)
+                        .andEqualTo("typeid", queryOpt.sceneTypeId)
                 })
-                if (objList.isEmpty()) return@queryCache res
 
                 aopDbMapper.dustDataResultMapper.selectByExample(Example(DustDataResult::class.java).apply {
                     createCriteria().andBetween("drTime", queryOpt.startTime, queryOpt.endTime)
-                        .andIn("objectId", objList.map { it.sguid })
+                        .andIn("drSceneId", sceneList.map { it.guid })
                 }).forEach {
                     res.add(DPMonitorDataInfo().apply {
+                        scene = sceneList.find { scene -> scene.guid == it?.drSceneId }
                         data = it
                     })
                 }
 
                 return@queryCache res
             },
-            save = {  }
         )
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3