From 2302c9f0336f7ae4acae0583412ddc396645a0ed Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期一, 22 十二月 2025 17:22:31 +0800
Subject: [PATCH] 2025.12.22 巡查任务统计相关功能修改

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MonitorobjectversionServiceImpl.kt |   36 +++++++++++++++++++++++++-----------
 1 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MonitorobjectversionServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MonitorobjectversionServiceImpl.kt
index 48c72fe..fa0edf1 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MonitorobjectversionServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MonitorobjectversionServiceImpl.kt
@@ -1,9 +1,10 @@
 package cn.flightfeather.supervision.lightshare.service.impl
 
-import cn.flightfeather.supervision.domain.ds1.entity.Monitorobjectversion
-import cn.flightfeather.supervision.domain.ds1.entity.Scense
+import cn.flightfeather.supervision.common.utils.UUIDGenerator
+import cn.flightfeather.supervision.domain.ds1.entity.*
 import cn.flightfeather.supervision.domain.ds1.mapper.MonitorobjectversionMapper
 import cn.flightfeather.supervision.domain.ds1.mapper.TaskMapper
+import cn.flightfeather.supervision.domain.ds1.repository.SceneRep
 import cn.flightfeather.supervision.lightshare.service.MonitorobjectversionService
 import cn.flightfeather.supervision.lightshare.service.ScenseService
 import cn.flightfeather.supervision.lightshare.vo.MonitorObjectVersionVo
@@ -13,8 +14,10 @@
 import org.springframework.transaction.annotation.Transactional
 
 @Service
-class MonitorobjectversionServiceImpl(val monitorobjectversionMapper: MonitorobjectversionMapper) :
-    MonitorobjectversionService {
+class MonitorobjectversionServiceImpl(
+    private val monitorobjectversionMapper: MonitorobjectversionMapper,
+    private val sceneRep: SceneRep,
+) : MonitorobjectversionService {
 
     @Autowired
     lateinit var taskMapper: TaskMapper
@@ -38,7 +41,8 @@
         val monitorobjectversionlist = monitorobjectversionMapper.select(monitorobjectversion)
 
         return monitorobjectversionlist.filter {
-            val usedCount = it.extension1 ?: "0";it.monitornum.toString().toInt() - usedCount.toInt() > 0
+            val usedCount = it.extension1 ?: "0"
+            it.monitornum.toString().toInt() - usedCount.toInt() > 0
         }.sortedBy { it.displayid }
     }
 
@@ -46,6 +50,7 @@
     @Transactional
     override fun saveList(monitorobjectversionlist: List<Monitorobjectversion>): Int {
         monitorobjectversionlist.forEach {
+            if (it.movid == null) it.movid = UUIDGenerator.generate16ShortUUID()
             monitorobjectversionMapper.insert(it)
         }
         return monitorobjectversionlist.size
@@ -60,6 +65,7 @@
             districtcode = task.districtcode
         }
         val sceneList = scenseService.search(s)
+        val subSceneList = sceneRep.findSubSceneList(sceneList)
 
         val monitorobjectversion = Monitorobjectversion()
         monitorobjectversion.tid = id
@@ -69,13 +75,21 @@
         monitorobjectversionlist.forEach {
             val vo = MonitorObjectVersionVo()
             BeanUtils.copyProperties(it, vo)
-            sceneList.forEach f@ {scene ->
-                if (vo.sguid == scene.guid) {
-                    vo.sceneTypeId = scene.typeid?.toInt() ?: 0
-                    vo.sceneType = scene.type
-                    return@f
-                }
+            sceneList.find {s-> s.guid == vo.sguid }?.let { s->
+                vo.sceneTypeId = s.typeid?.toInt() ?: 0
+                vo.sceneType = s.type
+                vo.scene = s
             }
+            subSceneList.find { s ->
+                val sGuid = when(s){
+                    is SceneConstructionSite-> s.getsGuid()
+                    is SceneWharf -> s.getsGuid()
+                    is SceneMixingPlant -> s.getsGuid()
+                    is SceneStorageYard-> s.getsGuid()
+                    else -> null
+                }
+                sGuid == vo.sguid
+            }?.let { s-> vo.subScene = s }
             resultList.add(vo)
         }
 

--
Gitblit v1.9.3