feiyu02
2025-12-20 5a003a42d2b34e8362910ac1d3e5a8866768e5fe
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MonitorobjectversionServiceImpl.kt
@@ -1,10 +1,10 @@
package cn.flightfeather.supervision.lightshare.service.impl
import cn.flightfeather.supervision.common.utils.UUIDGenerator
import cn.flightfeather.supervision.domain.ds1.entity.Monitorobjectversion
import cn.flightfeather.supervision.domain.ds1.entity.Scense
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
@@ -14,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
@@ -63,6 +65,7 @@
            districtcode = task.districtcode
        }
        val sceneList = scenseService.search(s)
        val subSceneList = sceneRep.findSubSceneList(sceneList)
        val monitorobjectversion = Monitorobjectversion()
        monitorobjectversion.tid = id
@@ -72,14 +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
                    vo.scene = scene
                    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)
        }