From c17e9978745cfe6c983f3aff75c9182fffef32fd Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期一, 09 六月 2025 17:29:23 +0800
Subject: [PATCH] 1. 修复部分数据统计接口bug

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt |  108 ++++++++++++++++++++++++++++-------------------------
 1 files changed, 57 insertions(+), 51 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 96d689b..f02a9e1 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
@@ -31,8 +31,6 @@
     private val subTaskRep: SubTaskRep,
 ) : SubtaskService {
 
-    val dateUtil = DateUtil()
-
     @Autowired
     lateinit var taskService: TaskService
     @Autowired
@@ -151,6 +149,7 @@
     @Transactional
     override fun saveList(subtasklist: List<Subtask>): Int {
         subtasklist.forEach {
+            if (it.stguid == null) it.stguid = UUIDGenerator.generate16ShortUUID()
             subtaskMapper.insert(it)
         }
         return subtasklist.size
@@ -188,25 +187,25 @@
             dateString = date.substring(0, 7)
         }
         //鍒ゆ柇鍙傛暟鏄惁姝g‘
-        if (dateUtil.StringToDate(dateString) == null) {
+        if (DateUtil.StringToDate(dateString) == null) {
             return taskPackList
         }
         //鏍规嵁type绫诲瀷,寰楀埌鍏蜂綋鏄鍝笁涓湀鏁版嵁
         when (type) {
             "Middle" -> {
-                one = dateUtil.addMonth(dateString, -1)
+                one = DateUtil.addMonth(dateString, -1)
                 two = dateString
-                three = dateUtil.addMonth(dateString, 1)
+                three = DateUtil.addMonth(dateString, 1)
             }
             "Left" -> {
-                one = dateUtil.addMonth(dateString, 1)
-                two = dateUtil.addMonth(dateString, 2)
-                three = dateUtil.addMonth(dateString, 3)
+                one = DateUtil.addMonth(dateString, 1)
+                two = DateUtil.addMonth(dateString, 2)
+                three = DateUtil.addMonth(dateString, 3)
             }
             "Right" -> {
-                one = dateUtil.addMonth(dateString, -1)
-                two = dateUtil.addMonth(dateString, -2)
-                three = dateUtil.addMonth(dateString, -3)
+                one = DateUtil.addMonth(dateString, -1)
+                two = DateUtil.addMonth(dateString, -2)
+                three = DateUtil.addMonth(dateString, -3)
             }
             else -> {
                 //鍙傛暟涓嶆纭氨杩斿洖
@@ -242,25 +241,25 @@
             dateString = date.substring(0, 7)
         }
         //鍒ゆ柇鍙傛暟鏄惁姝g‘
-        if (dateUtil.StringToDate(dateString) == null) {
+        if (DateUtil.StringToDate(dateString) == null) {
             return taskPackList
         }
         //鏍规嵁type绫诲瀷,寰楀埌鍏蜂綋鏄鍝笁涓湀鏁版嵁
         when (type) {
             "Middle" -> {
-                one = dateUtil.addMonth(dateString, -1)
+                one = DateUtil.addMonth(dateString, -1)
                 two = dateString
-                three = dateUtil.addMonth(dateString, 1)
+                three = DateUtil.addMonth(dateString, 1)
             }
             "Left" -> {
-                one = dateUtil.addMonth(dateString, 1)
-                two = dateUtil.addMonth(dateString, 2)
-                three = dateUtil.addMonth(dateString, 3)
+                one = DateUtil.addMonth(dateString, 1)
+                two = DateUtil.addMonth(dateString, 2)
+                three = DateUtil.addMonth(dateString, 3)
             }
             "Right" -> {
-                one = dateUtil.addMonth(dateString, -1)
-                two = dateUtil.addMonth(dateString, -2)
-                three = dateUtil.addMonth(dateString, -3)
+                one = DateUtil.addMonth(dateString, -1)
+                two = DateUtil.addMonth(dateString, -2)
+                three = DateUtil.addMonth(dateString, -3)
             }
             else -> {
                 //鍙傛暟涓嶆纭氨杩斿洖
@@ -385,18 +384,21 @@
 
     override fun findAll(): MutableList<Subtask> = subtaskMapper.selectAll()
 
-    override fun save(subtask: Subtask): Int = subtaskMapper.insert(subtask)
+    override fun save(subtask: Subtask): Int {
+        if (subtask.stguid == null) subtask.stguid = UUIDGenerator.generate16ShortUUID()
+        return subtaskMapper.insert(subtask)
+    }
 
-    //鏇存柊瀛愪换鍔�
     override fun update(subtask: Subtask): Int {
+        var res = 0
         //鏍规嵁瀛愪换鍔uid鑾峰彇椤跺眰浠诲姟
         val toptaskVo = taskService.findByID(subtask.tguid.toString())
 
 //        //鏍规嵁鏃ユ湡鑾峰彇鏃ヤ换鍔�
-//        val daytaskVo = taskService.findByDate(dateUtil.getDate(subtask.planstarttime)!!)
+        val daytaskVo = taskService.findByDate(subtask.tguid!!, DateUtil.getDate(subtask.planstarttime)!!)
 
         //搴旇鐩存帴鏍规嵁瀛愪换鍔$殑鏃ヤ换鍔d鏌ヨ鏃ヤ换鍔�
-        val daytaskVo = taskService.findByID(subtask.tsguid!!)
+//        val daytaskVo = taskService.findByID(subtask.tsguid!!)
 
         //鍒ゆ柇鏄惁鏈夋棩浠诲姟
         if (StringUtil.isEmpty(daytaskVo.tguid)) {
@@ -407,20 +409,20 @@
             task.tsguid = toptaskVo.tguid
             task.tguid = guid
             task.name = subtask.name
-            task.starttime = dateUtil.StringToDate(dateUtil.getDate(subtask.planstarttime)!!.substring(0, 10))
+            task.starttime = DateUtil.StringToDate(DateUtil.getDate(subtask.planstarttime)!!.substring(0, 10))
             task.endtime =
-                    dateUtil.StringToDate(dateUtil.getDate(subtask.planstarttime)!!.substring(0, 10) + " 23:59:59")
+                DateUtil.StringToDate(DateUtil.getDate(subtask.planstarttime)!!.substring(0, 10) + " 23:59:59")
             //****鏃ヤ换鍔℃墽琛岀姸鎬佺户鎵垮瓙浠诲姟鐨勭姸鎬�*锛堜慨鏀癸級***
             task.runingstatus = subtask.status
             //********************************************
             taskService.save(task)
             subtask.tsguid = guid
-            subtaskMapper.updateByPrimaryKeySelective(subtask)
+            res = subtaskMapper.updateByPrimaryKeySelective(subtask)
         } else {
-//            subtask.tsguid = daytaskVo.tguid
+            subtask.tsguid = daytaskVo.tguid
             //*锛堜慨鏀癸級*鏃ヤ换鍔℃鍦ㄦ墽琛岋紝瀛愪换鍔$粨鏉燂紝閬嶅巻鎵�鏈夊叾浣欏瓙浠诲姟锛岄兘鏄粨鏉熸椂鎵嶅皢鏃ヤ换鍔′慨鏀逛负缁撴潫****
             if (subtask.status == Constant.TaskProgress.RUNINGSTATUS3.text
-                    && daytaskVo.runingstatus == Constant.TaskProgress.RUNINGSTATUS2.text){
+                && daytaskVo.runingstatus == Constant.TaskProgress.RUNINGSTATUS2.text){
                 val subtaskVolist = findByDayTaskID(daytaskVo.tguid!!)
                 var bool = false
                 subtaskVolist.forEach {
@@ -441,9 +443,13 @@
             BeanUtils.copyProperties(daytaskVo, daytask)
             taskMapper.updateByPrimaryKeySelective(daytask)
             //****************************************************************************************
-            subtaskMapper.updateByPrimaryKeySelective(subtask)
+            res = subtaskMapper.updateByPrimaryKeySelective(subtask)
         }
+        return res
+    }
 
+    override fun changeStatus(subtask: Subtask): Int {
+        val res = update(subtask)
         //瀵瑰凡缁撴潫鐨勫瓙浠诲姟杩涜鑷姩璇勫垎
         if (subtask.status == Constant.TaskProgress.RUNINGSTATUS3.text) {
             val example = Example(Evaluation::class.java)
@@ -455,9 +461,10 @@
             }
         }
 
-        return 1
+        return res
     }
 
+    @Transactional
     override fun delete(id: String): Int{
         val subtask = subtaskMapper.selectByPrimaryKey(id)
         val dayTaskId = subtask.tsguid
@@ -476,15 +483,13 @@
             createCriteria().andEqualTo("tid", topTaskId).andEqualTo("sguid", sceneId)
         })
         mList.forEach {
-            if (it.monitornum == null) {
-                it.monitornum = 0
-            } else {
-                it.monitornum = it.monitornum!! - 1
-                if (it.monitornum!! < 0) {
-                    it.monitornum = 0
-                }
+            var count = it.extension1?.toIntOrNull() ?: 0
+            count--
+            if (count < 0) {
+                count = 0
             }
-            monitorobjectversionMapper.insert(it)
+            it.extension1 = count.toString()
+            monitorobjectversionMapper.updateByPrimaryKeySelective(it)
         }
 
         // 鍚屾椂鍒犻櫎瀵瑰簲闂鍜屽贰鏌ヨ褰�
@@ -517,7 +522,7 @@
             cal.set(Calendar.MILLISECOND, 0)
             cal.time
         } else {
-            DateUtil().StringToDate(startTime!!)
+            DateUtil.StringToDate(startTime!!)
         }
 
         val _endTime = if (endTime.isNullOrBlank()) {
@@ -528,7 +533,7 @@
             cal.set(Calendar.MILLISECOND, 999)
             cal.time
         } else {
-            DateUtil().StringToDate(endTime!!)?.apply {
+            DateUtil.StringToDate(endTime!!)?.apply {
                 time += 24 * 60 * 60 * 1000
             }
         }
@@ -593,7 +598,7 @@
         }
 
         val time = if (updateTime != null) {
-            DateUtil().StringToDate(updateTime)
+            DateUtil.StringToDate(updateTime)
         } else {
             null
         }
@@ -612,7 +617,7 @@
                 cal.set(Calendar.MILLISECOND, 0)
                 cal.time
             } else {
-                DateUtil().StringToDate(startTime!!)
+                DateUtil.StringToDate(startTime!!)
             }
 
             val _endTime = if (endTime.isNullOrBlank()) {
@@ -623,13 +628,13 @@
                 cal.set(Calendar.MILLISECOND, 999)
                 cal.time
             } else {
-                DateUtil().StringToDate(endTime!!)?.apply {
+                DateUtil.StringToDate(endTime!!)?.apply {
                     this.time += 24 * 60 * 60 * 1000
                 }
             }
 
 
-            val p = PageHelper.startPage<Subtask>(page ?: 1, perPage ?: 30)
+            val p = PageHelper.startPage<SubtaskSearchResultVo>(page ?: 1, perPage ?: 30)
 
             val subtasklist = subtaskMapper.getSubtask(_districtCode, _startTime, _endTime, _sceneType?.toByte())
 
@@ -744,7 +749,7 @@
         }
 
         val time = if (updateTime != null) {
-            DateUtil().StringToDate(updateTime)
+            DateUtil.StringToDate(updateTime)
         } else {
             null
         }
@@ -763,7 +768,7 @@
                 cal.set(Calendar.MILLISECOND, 0)
                 cal.time
             } else {
-                DateUtil().StringToDate(startTime!!)
+                DateUtil.StringToDate(startTime!!)
             }
 
             val _endTime = if (endTime.isNullOrBlank()) {
@@ -774,13 +779,13 @@
                 cal.set(Calendar.MILLISECOND, 999)
                 cal.time
             } else {
-                DateUtil().StringToDate(endTime!!)?.apply {
+                DateUtil.StringToDate(endTime!!)?.apply {
                     this.time += 24 * 60 * 60 * 1000
                 }
             }
 
 
-            val p = PageHelper.startPage<Subtask>(page ?: 1, perPage ?: 30)
+            val p = PageHelper.startPage<SubtaskSearchResultVo>(page ?: 1, perPage ?: 30)
 
             val subtasklist = subtaskMapper.getSubtask(_districtCode, _startTime, _endTime, _sceneType?.toByte())
 
@@ -895,7 +900,7 @@
     }
 
     override fun findByDate(date: String, userId: String): List<SubtaskVo> {
-        val time = DateUtil().StringToDate(date)
+        val time = DateUtil.StringToDate(date)
 
         val resultList = mutableListOf<SubtaskVo>()
 
@@ -942,7 +947,8 @@
                 districtName = t.districtname
                 townCode = t.towncode
                 townName = t.townname
-                subTaskSummary = subtaskMapper.getSummary(t.tguid!!, areaVo.scensetypeid?.toIntOrNull())
+                areaVo.topTaskId = t.tguid
+                subTaskSummary = subTaskRep.findSummary(areaVo)
             }
             res.add(pro)
         }

--
Gitblit v1.9.3