From 99be60a4c8c1f39eb01d414460cbe0ac76ca97d3 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 21 七月 2022 17:47:40 +0800
Subject: [PATCH] 1. 巡查汇总报告功能添加整改跟踪提醒统计列; 2. 新增获取巡查任务统计信息接口;

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt |   81 ++++++++++++++++++++++++++--------------
 1 files changed, 52 insertions(+), 29 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt
index 8ea2a19..3372dde 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt
@@ -968,37 +968,60 @@
         return resultList
     }
 
-    override fun getByTopTaskAndDate(topTaskId: String, startTime: String, endTime: String, sceneTypeId: Int?): List<SubtaskVo> {
-        val startDate = dateUtil.StringToDate(startTime)
-        val endDate = dateUtil.StringToDate(endTime)
-
-        val cal = Calendar.getInstance().apply { time = startDate }
-        val _startTime = dateUtil.DateToString(cal.time, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS) ?: startTime
-
-        if (endDate == null) {
-            cal.add(Calendar.MONTH, 1)
-            cal.add(Calendar.DAY_OF_MONTH, -1)
-        } else {
-            cal.time = endDate
-        }
-        cal.set(Calendar.HOUR_OF_DAY, 23)
-        cal.set(Calendar.MINUTE, 59)
-        cal.set(Calendar.SECOND, 59)
-        val _endTime = dateUtil.DateToString(cal.time, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS) ?: endTime
-
-//        val resultList = mutableListOf<SubtaskVo>()
-        val resultList = subtaskMapper.selectByTopTask(topTaskId, _startTime, _endTime, sceneTypeId)
-//        subtaskMapper.selectByExample(Example(Subtask::class.java).apply {
-//            createCriteria()
-//                    .andGreaterThanOrEqualTo("planstarttime", startDate)
-//                    .andLessThanOrEqualTo("planstarttime", endDate)
-//                    .andEqualTo("tguid", topTaskId)
-//        }).forEach {
-//            val vo = SubtaskVo()
-//            BeanUtils.copyProperties(it, vo)
-//            resultList.add(vo)
+    override fun getByTopTaskAndDate(topTaskId: String, startTime: String?, endTime: String?, sceneTypeId: Int?): List<Subtask> {
+//        val startDate = dateUtil.StringToDate(startTime)
+//        val endDate = dateUtil.StringToDate(endTime)
+//
+//        val cal = Calendar.getInstance().apply { time = startDate }
+//        val _startTime = dateUtil.DateToString(cal.time, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS) ?: startTime
+//
+//        if (endDate == null) {
+//            cal.add(Calendar.MONTH, 1)
+//            cal.add(Calendar.DAY_OF_MONTH, -1)
+//        } else {
+//            cal.time = endDate
 //        }
+//        cal.set(Calendar.HOUR_OF_DAY, 23)
+//        cal.set(Calendar.MINUTE, 59)
+//        cal.set(Calendar.SECOND, 59)
+//        val _endTime = dateUtil.DateToString(cal.time, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS) ?: endTime
+
+        val resultList = subtaskMapper.selectByTopTask2(topTaskId, sceneTypeId)
 
         return resultList
     }
+
+    override fun getSummary(topTaskId: String, sceneTypeId: Int?): List<SubTaskSummary> {
+        val result = mutableListOf<SubTaskSummary>()
+
+        subtaskMapper.selectByTopTask2(topTaskId, sceneTypeId).forEach {
+            val scene = scenseMapper.selectByPrimaryKey(it.scenseid)
+            var p = 0
+            var c = 0
+            var pc = 0
+            var cc = 0
+            problemlistMapper.selectByExample(Example(Problemlist::class.java).apply {
+                createCriteria().andEqualTo("stguid", it.stguid)
+            }).forEach {pro ->
+                p++
+                if (pro.ischanged == true) c++
+                if (pro.extension3 != Constant.PROBLEM_UNCHECKED) pc++
+                if (pro.extension3 == Constant.CHANGE_CHECK_PASS || pro.extension3 == Constant.CHANGE_CHECK_FAIL) cc++
+            }
+            result.add(SubTaskSummary().apply {
+                stGuid = it.stguid
+                stName = it.name
+                sceneId = it.scenseid
+                sceneName = scene.name
+                sceneType = scene.type
+                stPlanTime = it.planstarttime
+                proNum = p
+                changeNum = c
+                proCheckedNum = pc
+                changeCheckedNum = cc
+            })
+        }
+
+        return result
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3