From 52a0c16de9b0955a5f092560b73f16e41684f97b Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 31 十二月 2024 10:13:35 +0800
Subject: [PATCH] 1. 环信码生成时,如果在线场景当期没有评估(未巡查)结果,则延用历史最新一次的结果; 2. 新增跨时间跨月度的历史整改记录查询逻辑 3. 优化获取顶层任务和日任务的获取逻辑

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserMapServiceImpl.kt |   34 +++++++++++++++++++++-------------
 1 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserMapServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserMapServiceImpl.kt
index 6ef1a58..234838d 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserMapServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserMapServiceImpl.kt
@@ -1,9 +1,9 @@
 package cn.flightfeather.supervision.lightshare.service.impl
 
 import cn.flightfeather.supervision.business.autooutput.dataanalysis.AopDataDeviceMap
-import cn.flightfeather.supervision.common.exception.ResponseErrorException
-import cn.flightfeather.supervision.common.utils.Constant
+import cn.flightfeather.supervision.common.exception.BizException
 import cn.flightfeather.supervision.common.utils.UUIDGenerator
+import cn.flightfeather.supervision.domain.ds1.entity.Scense
 import cn.flightfeather.supervision.domain.ds1.entity.Userinfo
 import cn.flightfeather.supervision.domain.ds1.mapper.UserinfoMapper
 import cn.flightfeather.supervision.domain.ds1.repository.SceneRep
@@ -14,12 +14,13 @@
 import cn.flightfeather.supervision.domain.ds2.mapper.UserMapMapper
 import cn.flightfeather.supervision.domain.ds2.mapper.UserinfoTZMapper
 import cn.flightfeather.supervision.domain.ds2.repository.UserInfoTZRep
+import cn.flightfeather.supervision.domain.ds2.repository.UserMapRep
 import cn.flightfeather.supervision.lightshare.service.UserMapService
-import cn.flightfeather.supervision.lightshare.service.UserinfoService
 import cn.flightfeather.supervision.lightshare.vo.AreaVo
 import cn.flightfeather.supervision.lightshare.vo.DeviceMapVo
 import org.springframework.stereotype.Service
 import tk.mybatis.mapper.entity.Example
+import java.util.*
 
 @Service
 class UserMapServiceImpl(
@@ -30,25 +31,30 @@
     private val taskRep: TaskRep,
     private val userInfoSVRep: UserInfoSVRep,
     private val userInfoTZRep: UserInfoTZRep,
+    private val userMapRep: UserMapRep,
     private val aopDataDeviceMap: AopDataDeviceMap,
 ) : UserMapService {
 
     override fun getTZIdBySceneId(sceneId: String): UserMap {
-        val list = userInfoSVRep.findUser(sceneId)
-        if (list.isEmpty()) return UserMap()
-        val userId = list[0]?.guid
+        val user = userInfoSVRep.findUser(sceneId)
+        val userId = user?.guid
         val result = userMapMapper.selectByExample(Example(UserMap::class.java).apply {
             createCriteria().andEqualTo("svUserId", userId)
         })
         return if (result.isNotEmpty()) result[0] else UserMap()
     }
 
-    override fun autoCreateMap() {
+    override fun getSceneByTZId(tzUserId: String): Scense? {
+        return userMapRep.findFromSupervision(tzUserId)
+    }
+
+    override fun autoCreateMap(userList: List<Userinfo?>) {
         // 閫夋嫨闇�瑕佸鐞嗙殑璐︽埛
-        val userList = userinfoMapper.selectByExample(Example(Userinfo::class.java).apply {
-            createCriteria().andEqualTo("remark", "闈欏畨鍖�")
-        })
+//        val userList = userinfoMapper.selectByExample(Example(Userinfo::class.java).apply {
+//            createCriteria().andEqualTo("remark", "寰愭眹鍖�")
+//        })
         userList.forEach {
+            it ?: return@forEach
             // 鏌ユ壘鏄惁宸茬粡鏈夎处鎴峰尮閰嶈褰�
             val records = userMapMapper.selectByExample(Example(UserMap::class.java).apply {
                 createCriteria().andEqualTo("svUserId", it.guid)
@@ -67,6 +73,7 @@
                             tzUserName = tzU.realname
                             svUserId = it.guid
                             svUserName = it.realname
+                            umCreateTime = Date()
                         })
                     }
                 }
@@ -81,6 +88,7 @@
                             tzUserName = id
                             svUserId = it.guid
                             svUserName = it.realname
+                            umCreateTime = Date()
                         })
                     }
                 }
@@ -88,7 +96,7 @@
         }
     }
 
-    override fun fetchDeviceMap(areaVo: AreaVo): List<DeviceMapVo?> {
+    override fun fetchDeviceMap(page: Int?, perPage: Int?, areaVo: AreaVo): List<DeviceMapVo?> {
         // 1.閫氳繃鍖哄煙鏉′欢鑾峰彇涓讳綋鐢ㄦ埛
         val userIdList = when (areaVo.sourceType) {
             //浠ラ缇界幆澧冪郴缁熶腑鐨勭敤鎴蜂负涓讳綋
@@ -98,8 +106,8 @@
             }
             //浠ラ缇界洃绠$郴缁熶腑鐨勭敤鎴蜂负涓讳綋
             2 -> {
-                val task = taskRep.findOneTask(areaVo) ?: throw ResponseErrorException("褰撳墠鏌ヨ鏉′欢涓嬫湭鎵惧埌瀵瑰簲椤跺眰浠诲姟")
-                val scenes = sceneRep.findScene(task.tguid!!, areaVo.scensetypeid?.toInt(), areaVo.towncode)
+                val task = taskRep.findOneTask(areaVo) ?: throw BizException("褰撳墠鏌ヨ鏉′欢涓嬫湭鎵惧埌瀵瑰簲椤跺眰浠诲姟")
+                val scenes = sceneRep.findSceneList(task.tguid!!, areaVo.scensetypeid?.toInt(), areaVo.towncode)
                     .map { it?.guid }
                 userInfoSVRep.findUser(scenes).map { it?.guid }
             }

--
Gitblit v1.9.3