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/ProblemlistServiceImpl.kt |   38 +++++++++++++++++++++++---------------
 1 files changed, 23 insertions(+), 15 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt
index 264e239..add0297 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt
@@ -40,6 +40,8 @@
     val problemlistMapper: ProblemlistMapper,
     val inspectionMapper: InspectionMapper,
     val mediafileMapper: MediafileMapper,
+    private val subtaskService: SubtaskService,
+    private val subtaskMapper: SubtaskMapper,
     private val taskRep: TaskRep,
     private val subTaskRep: SubTaskRep,
     private val problemRep: ProblemRep,
@@ -106,34 +108,40 @@
         return problemListVolistTemp1
     }
 
-    override fun getBySceneMonth(sceneId: String, year: Int?, month: Int?): List<ProblemListVo> {
+    override fun getBySceneMonth(sceneId: String, year: Int?, month: Int?): Pair<List<SubtaskVo>, List<ProblemListVo>> {
         var _year = year
         var _month = month
+        var lastSubTasks = listOf<SubtaskVo>()
         if (year == null) {
-            PageHelper.startPage<Problemlist>(1, 1)
-            val lastProblem = problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
-                createCriteria().andEqualTo("sguid", sceneId)
-                orderBy("time").desc()
-            }).takeIf { it.isNotEmpty() }?.get(0)
-            if (lastProblem == null) {
-                return emptyList()
+            lastSubTasks = subtaskService.findByDate(sceneId = sceneId)
+//            PageHelper.startPage<Problemlist>(1, 1)
+//            val lastProblem = problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
+//                createCriteria().andEqualTo("sguid", sceneId)
+//                orderBy("time").desc()
+//            }).takeIf { it.isNotEmpty() }?.get(0)
+            if (lastSubTasks.isEmpty()) {
+                return lastSubTasks to emptyList()
             } else {
-                val lt = LocalDateTime.ofInstant(lastProblem.time?.toInstant(), ZoneId.systemDefault())
+                val lt = LocalDateTime.ofInstant(lastSubTasks[0].planstarttime?.toInstant(), ZoneId.systemDefault())
                 _year = lt.year
                 _month = lt.monthValue
             }
         }
         val sT = LocalDateTime.of(_year!!, _month!!, 1, 0, 0, 0, 0)
         val eT = sT.plusMonths(1).minusSeconds(1)
-        return problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
+        if (lastSubTasks.isEmpty()) {
+            lastSubTasks = subtaskMapper.selectByExample(Example(Subtask::class.java).apply {
+                createCriteria().andBetween("planstarttime", sT, eT)
+            }).map {
+                SubtaskVo().apply { BeanUtils.copyProperties(it, this) }
+            }
+        }
+        val problemList = problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
             createCriteria().andBetween("time", sT,eT)
                 .andEqualTo("sguid", sceneId)
             orderBy("time").desc()
-        }).map {
-            val problemVo = ProblemListVo();
-            BeanUtils.copyProperties(it, problemVo)
-            problemVo
-        }
+        }).map { ProblemListVo().apply { BeanUtils.copyProperties(it, this) } }
+        return lastSubTasks to problemList
     }
 
     //鑾峰彇鏌愰《灞備换鍔′笅锛屾煇涓満鏅笅鐨勯棶棰樻暣鏀规儏鍐�

--
Gitblit v1.9.3