From 16b961c2210fe29fd494ac1f9d830dd93503961f Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 02 八月 2024 17:25:17 +0800
Subject: [PATCH] 1. 新增监测设备的管理功能

---
 src/main/kotlin/cn/flightfeather/supervision/business/report/DataSource.kt |   89 ++++++++++++++++++++++----------------------
 1 files changed, 45 insertions(+), 44 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/business/report/DataSource.kt b/src/main/kotlin/cn/flightfeather/supervision/business/report/DataSource.kt
index 350740f..92f0633 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/business/report/DataSource.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/business/report/DataSource.kt
@@ -11,13 +11,10 @@
 import cn.flightfeather.supervision.domain.ds2.mapper.LedgerSubTypeMapper
 import cn.flightfeather.supervision.domain.ds2.mapper.UserMapMapper
 import cn.flightfeather.supervision.lightshare.vo.ExcelConfigVo
-import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.stereotype.Component
 import tk.mybatis.mapper.entity.Example
-import java.time.Duration
 import java.time.LocalDateTime
 import java.time.ZoneId
-import javax.annotation.PostConstruct
 
 /**
  * 鎶ュ憡鎵�闇�婧愭暟鎹�
@@ -25,8 +22,6 @@
  * @param config 鐢熸垚鎶ュ憡鐨勫弬鏁�
  */
 class DataSource(val config: ExcelConfigVo, val dbMapper: DbMapper){
-
-    private val dateUtil = DateUtil()
 
     private val sourceList = mutableListOf<Subtask>()
 
@@ -73,7 +68,7 @@
      */
     fun areaName(): String {
         val t = dbMapper.taskMapper.selectByPrimaryKey(config.topTaskGuid)
-        return "${dateUtil.DateToString(t.starttime, DateUtil.DateStyle.YYYY_MM_CN)}${t.districtname}${if (area != t.districtname) area else ""}${Constant.ScenseType.getDes(config.sceneType)}"
+        return "${DateUtil.DateToString(t.starttime, DateUtil.DateStyle.YYYY_MM_CN)}${t.districtname}${if (area != t.districtname) area else ""}${Constant.SceneType.getDes(config.sceneType)}"
     }
 
     /**
@@ -114,7 +109,8 @@
                 }
             })
         } else {
-            taskSceneIdList = dbMapper.monitorobjectversionMapper.getSceneByType(config.topTaskGuid, config.sceneType, config.townCode)
+            taskSceneIdList = dbMapper.scenseMapper.getSceneByType(config.topTaskGuid, config
+                .sceneType, config.townCode).map { it.guid ?: "" }
             dbMapper.subtaskMapper.selectByExample(Example(Subtask::class.java).apply {
                 createCriteria().andIn("scenseid", taskSceneIdList)
                     .andEqualTo("tguid", config.topTaskGuid)
@@ -164,16 +160,16 @@
             get() {
                 if (_baseScene == null) {
                     _baseScene = when (this.scene?.typeid.toString()) {
-                        Constant.ScenseType.TYPE1.value -> {
+                        Constant.SceneType.TYPE1.value -> {
                             dbMapper.sceneConstructionSiteMapper.selectByPrimaryKey(scene?.guid)
                         }
-                        Constant.ScenseType.TYPE2.value -> {
+                        Constant.SceneType.TYPE2.value -> {
                             dbMapper.sceneWharfMapper.selectByPrimaryKey(scene?.guid)
                         }
-                        Constant.ScenseType.TYPE3.value -> {
+                        Constant.SceneType.TYPE3.value -> {
                             dbMapper.sceneMixingPlantMapper.selectByPrimaryKey(scene?.guid)
                         }
-                        Constant.ScenseType.TYPE14.value -> {
+                        Constant.SceneType.TYPE14.value -> {
                             dbMapper.sceneStorageYardMapper.selectByPrimaryKey(scene?.guid)
                         }
                         else -> null
@@ -184,19 +180,19 @@
         private var _baseScene: BaseScene? = null
 
         //鍏蜂綋鐨勯棶棰�
-        val problems: MutableList<Problemlist>
+        val problems: List<Problemlist>
             get() {
                 if (noRecord()) return mutableListOf()
 
-                if (_problems.isEmpty()) {
+                if (_problems == null) {
                     val r = dbMapper.problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
                         createCriteria().andEqualTo("stguid", subTask?.stguid)
                     })
-                    _problems.addAll(r)
+                    _problems = r
                 }
-                return _problems
+                return _problems ?: emptyList()
             }
-        private var _problems = mutableListOf<Problemlist>()
+        private var _problems: List<Problemlist>? = null
 
         //璇勪及鎬诲垎
         val evaluation: Evaluation?
@@ -213,38 +209,40 @@
         private var _evaluation: Evaluation? = null
 
         //璇勪及缁嗗垯寰楀垎
-        val itemevaluationList: MutableList<Itemevaluation>
+        val itemevaluationList: List<Itemevaluation>
             get() {
-                if (_itemevaluationList.isEmpty()) {
+                if (_itemevaluationList == null) {
                     val r = dbMapper.itemevaluationMapper.selectByExample(Example(Itemevaluation::class.java).apply {
                         createCriteria().andEqualTo("stguid", subTask?.stguid)
                     })
-                    _itemevaluationList.addAll(r)
+                    _itemevaluationList = r
                     println("-------------------itemevaluationList--------------------------------")
                 }
-                return _itemevaluationList
+                return _itemevaluationList ?: emptyList()
             }
-        private var _itemevaluationList = mutableListOf<Itemevaluation>()
+        private var _itemevaluationList: List<Itemevaluation>? = null
 
         //闂绫诲瀷
-        val problemTypes: MutableList<Problemtype>
+        val problemTypes: List<Problemtype>
             get() {
-                if (_problemTypes.isEmpty()) {
+                if (_problemTypes == null) {
                     val r = dbMapper.problemtypeMapper.selectByExample(Example(Problemtype::class.java).apply {
                         createCriteria().andEqualTo("scensetypeid", scene?.typeid)
                             .andEqualTo("districtcode", scene?.districtcode)
                         orderBy("extension1")
                     })
-                    _problemTypes.addAll(r)
+                    _problemTypes = r
                 }
-                return _problemTypes
+                return _problemTypes ?: emptyList()
             }
-        private var _problemTypes = mutableListOf<Problemtype>()
+        private var _problemTypes: List<Problemtype>? = null
 
         //鑷姩璇勫垎瑙勫垯涓�绾у垎绫�
-        val topItems: MutableList<Evaluationsubrule2>
+        val topItems: List<Evaluationsubrule2>
             get() {
-                if (_topItems.isEmpty()) {
+                if (_topItems == null) {
+                    val tempTopItems = mutableListOf<Evaluationsubrule2>()
+                    val secRules = mutableListOf<Pair<Evaluationsubrule2, MutableList<Evaluationsubrule2>>>()
                     val rule = dbMapper.evaluationruleMapper.selectByExample(Example(Evaluationrule::class.java).apply {
                         createCriteria()
                             .andEqualTo("tasktypeid", 99)
@@ -257,13 +255,13 @@
                         })
                         rules.forEach {
                             if (it.ertype == 2) {
-                                _topItems.add(it)
+                                tempTopItems.add(it)
                             }
                         }
-                        _topItems.sortBy { it.displayid }
+                        tempTopItems.sortBy { it.displayid }
 
                         var t = 0
-                        _topItems.forEach {
+                        tempTopItems.forEach {
                             t += it.maxscore ?: 0
                             val tempRules = mutableListOf<Evaluationsubrule2>()
                             for (i in rules) {
@@ -284,30 +282,32 @@
                                     }
                                 }
                                 tempSubRules.sortBy { ts -> ts.displayid }
-                                this._rules.add(Pair(temp, tempSubRules))
+                                secRules.add(Pair(temp, tempSubRules))
                             }
                         }
                     }
+                    this._rules = secRules
+                    _topItems = tempTopItems
                 }
-                return _topItems
+                return _topItems ?: emptyList()
             }
-        private var _topItems = mutableListOf<Evaluationsubrule2>()
+        private var _topItems: List<Evaluationsubrule2>? = null
 
         //鑷姩璇勫垎瑙勫垯浜岀骇鍜屼笁绾у垎绫�
-        val rules: MutableList<Pair<Evaluationsubrule2, MutableList<Evaluationsubrule2>>>
+        val rules: List<Pair<Evaluationsubrule2, MutableList<Evaluationsubrule2>>>
             get() {
-                if (_rules.isEmpty()) {
+                if (_rules == null) {
                     this.topItems
                 }
-                return _rules
+                return _rules ?: emptyList()
             }
-        private var _rules = mutableListOf<Pair<Evaluationsubrule2, MutableList<Evaluationsubrule2>>>()
+        private var _rules: List<Pair<Evaluationsubrule2, MutableList<Evaluationsubrule2>>>? = null
 
         //蹇呭~鍙拌处鏁伴噺
         val ledgerCount: Int
             get() {
                 if (_ledgerCount == -1) {
-                    val tzSceneType = Constant.ScenseType.typeMap(scene?.typeid)
+                    val tzSceneType = Constant.SceneType.typeMap(scene?.typeid)
                     _ledgerCount = dbMapper.ledgerSubTypeMapper.selectCountByExample(Example(LedgerSubType::class.java).apply {
                         createCriteria().andEqualTo("lScenetype", tzSceneType).andEqualTo("lNeedupdate", true)
                     })
@@ -373,14 +373,14 @@
         fun clear() {
             _scene = null
             _baseScene = null
-            _problems.clear()
+            _problems = null
             _evaluation = null
-            _itemevaluationList.clear()
+            _itemevaluationList = null
             _ledgerRecordNum = null
             if (lastScene != null && lastScene?.typeid != scene?.typeid) {
-                _problemTypes.clear()
-                _topItems.clear()
-                _rules.clear()
+                _problemTypes = null
+                _topItems = null
+                _rules = null
                 _ledgerCount = -1
             }
             recordLastScene()
@@ -393,6 +393,7 @@
     }
 }
 
+@Component
 data class DbMapper(
     val scenseMapper: ScenseMapper,
     val problemlistMapper: ProblemlistMapper,

--
Gitblit v1.9.3