From 85ef942e7195abeb71466b7159c3ee30161e1e54 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 07 四月 2026 08:51:01 +0800
Subject: [PATCH] 2026.4.7

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

diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProductServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProductServiceImpl.kt
index 63d3578..f8c7e74 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProductServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProductServiceImpl.kt
@@ -7,13 +7,16 @@
 import cn.flightfeather.supervision.business.report.file.ReportThree
 import cn.flightfeather.supervision.business.report.file.ReportTwo
 import cn.flightfeather.supervision.common.exception.BizException
+import cn.flightfeather.supervision.domain.ds1.mapper.DataProductMapper
 import cn.flightfeather.supervision.domain.ds1.repository.TaskRep
 import cn.flightfeather.supervision.lightshare.service.DataProductService
 import cn.flightfeather.supervision.lightshare.vo.AreaVo
 import cn.flightfeather.supervision.lightshare.vo.ExcelConfigVo
+import cn.flightfeather.supervision.lightshare.vo.dataprod.QueryOpt
 import cn.flightfeather.supervision.model.dataproduct.DataProdOption
 import cn.flightfeather.supervision.model.dataproduct.PPListProbRecurrence
 import cn.flightfeather.supervision.model.dataproduct.PPListProblemChange
+import org.springframework.beans.BeanUtils
 import org.springframework.beans.factory.annotation.Value
 import org.springframework.http.HttpHeaders
 import org.springframework.http.MediaType
@@ -33,6 +36,7 @@
     private val dbMapper: DbMapper,
     @Value("\${filePath}") private val filePath: String,
     private val reportTaskCtrl: ReportTaskCtrl,
+    private val dataProductMapper: DataProductMapper,
 ) : DataProductService {
 
     override fun downloadProduct(
@@ -83,10 +87,39 @@
     }
 
     override fun problemChangeList(option: DataProdOption): List<PPListProblemChange> {
-        TODO("Not yet implemented")
+        return dataProductMapper.problemChangeList(option)
     }
 
     override fun problemRecurrence(option: DataProdOption): List<PPListProbRecurrence> {
+        val res = mutableListOf<PPListProbRecurrence>()
+        problemChangeList(option).forEach {pcl ->
+            val r = res.find {
+                it.sceneName == pcl.sceneName && it.problemName == pcl.problemName
+            }
+            if (r == null) {
+                val probRec = PPListProbRecurrence()
+                BeanUtils.copyProperties(pcl, probRec)
+                probRec.apply {
+                    proNum = 1
+                    changeNum += pcl.changeSum
+                }
+                res.add(probRec)
+            } else {
+                r.apply {
+                    proNum++
+                    changeNum += pcl.changeSum
+                }
+            }
+        }
+        return res
+    }
+
+    override fun findProduct(queryOpt: QueryOpt, page: Int, perPage: Int) {
+        // 鏍规嵁浜у搧绫诲瀷缂栧彿銆佸尯鍩熴�佹椂娈点�佸満鏅被鍨嬨�侀厤缃甶d鏌ヨ
+        TODO("Not yet implemented")
+    }
+
+    override fun generateProduct(queryOpt: QueryOpt) {
         TODO("Not yet implemented")
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3