From dc4f12f66685260ac357997680e5f3fe723c3c4a Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 12 九月 2025 17:22:40 +0800
Subject: [PATCH] 2025.9.12 1. 新增监测设备和巡查场景信息的匹配功能

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DeviceMapVo.kt |   71 +++++++++++++++++++++++++++++++++++
 1 files changed, 71 insertions(+), 0 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DeviceMapVo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DeviceMapVo.kt
index 8d8c370..7c04dde 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DeviceMapVo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DeviceMapVo.kt
@@ -10,6 +10,7 @@
  * 鐩戞祴璁惧鍜岄缇界洃绠$郴缁熴�侀缇界幆澧冪郴缁熺敤鎴风殑鍖归厤鍏崇郴
  */
 class DeviceMapVo {
+    var id: Int? = null
     // 鐩戞祴璁惧id
     var deviceCode:String?=null
     // 鐩戞祴璁惧鎴栫珯鐐瑰悕绉�
@@ -31,15 +32,30 @@
             list.forEach {
                 it ?: return@forEach
                 res.add(DeviceMapVo().apply {
+                    id = it.id
                     deviceCode = it.jaMnCode
                     deviceName = it.jaSceneName
                     svUserId = it.svUserId
                     svUserName = it.svUserName
                     tzUserId = it.tzUserId
                     tzUserName = it.tzUserName
+                    createTime = it.createTime
                 })
             }
             return res
+        }
+
+        fun toJADustSiteMap(deviceMapVo: DeviceMapVo?): DustSiteMap {
+            return DustSiteMap().apply {
+                id = deviceMapVo?.id
+                jaMnCode = deviceMapVo?.deviceCode
+                jaSceneName = deviceMapVo?.deviceName
+                svUserId = deviceMapVo?.svUserId
+                svUserName = deviceMapVo?.svUserName
+                tzUserId = deviceMapVo?.tzUserId
+                tzUserName = deviceMapVo?.tzUserName
+                createTime = deviceMapVo?.createTime
+            }
         }
 
         fun fromJSDustSiteMap(list: List<JSDustSiteMap?>): List<DeviceMapVo> {
@@ -47,15 +63,30 @@
             list.forEach {
                 it ?: return@forEach
                 res.add(DeviceMapVo().apply {
+                    id = it.id
                     deviceCode = it.jsDeviceCode
                     deviceName = it.jsDeviceName
                     svUserId = it.svUserId
                     svUserName = it.svUserName
                     tzUserId = it.tzUserId
                     tzUserName = it.tzUserName
+                    createTime = it.createTime
                 })
             }
             return res
+        }
+
+        fun toJSDustSiteMap(deviceMapVo: DeviceMapVo?): JSDustSiteMap {
+            return JSDustSiteMap().apply {
+                id = deviceMapVo?.id
+                jsDeviceCode = deviceMapVo?.deviceCode
+                jsDeviceName = deviceMapVo?.deviceName
+                svUserId = deviceMapVo?.svUserId
+                svUserName = deviceMapVo?.svUserName
+                tzUserId = deviceMapVo?.tzUserId
+                tzUserName = deviceMapVo?.tzUserName
+                createTime = deviceMapVo?.createTime
+            }
         }
 
         fun fromXHFumeSiteMap(list: List<FumeSiteMap?>): List<DeviceMapVo> {
@@ -63,15 +94,55 @@
             list.forEach {
                 it ?: return@forEach
                 res.add(DeviceMapVo().apply {
+                    id = it.id
                     deviceCode = it.xhDeviceCode
                     deviceName = it.xhDeviceName
                     svUserId = it.svUserId
                     svUserName = it.svUserName
                     tzUserId = it.tzUserId
                     tzUserName = it.tzUserName
+                    createTime = it.createTime
                 })
             }
             return res
         }
+
+        fun toXHFumeSiteMap(deviceMapVo: DeviceMapVo?): FumeSiteMap {
+            return FumeSiteMap().apply {
+                id = deviceMapVo?.id
+                xhDeviceCode = deviceMapVo?.deviceCode
+                xhDeviceName = deviceMapVo?.deviceName
+                svUserId = deviceMapVo?.svUserId
+                svUserName = deviceMapVo?.svUserName
+                tzUserId = deviceMapVo?.tzUserId
+                tzUserName = deviceMapVo?.tzUserName
+                createTime = deviceMapVo?.createTime
+            }
+        }
     }
+}
+
+/**
+ * 鏍规嵁璁惧mn缂栫爜鎵惧埌瀵瑰簲鍏崇郴
+ */
+fun List<DeviceMapVo>.findByDeviceCode(code: String?): DeviceMapVo? {
+    this.forEach {
+        if (it.deviceCode == code) {
+            return it
+        }
+    }
+    return null
+}
+
+/**
+ * 鏍规嵁椋炵窘鐩戠绯荤粺鐢ㄦ埛id鎵惧埌瀵瑰簲鍏崇郴
+ */
+fun List<DeviceMapVo>.findBySVUserId(svUserId: String?): List<DeviceMapVo> {
+    val res = mutableListOf<DeviceMapVo>()
+    this.forEach {
+        if (it.svUserId == svUserId) {
+            res.add(it)
+        }
+    }
+    return res
 }
\ No newline at end of file

--
Gitblit v1.9.3