From 79bd8ea222cc3518ec91dce3dfb30fcf387cf96d Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 25 四月 2025 16:45:13 +0800
Subject: [PATCH] 新增应急巡查线索任务相关接口

---
 src/main/kotlin/com/flightfeather/grid/service/impl/ClueConclusionServiceImpl.kt |   28 +++++++++++++++++++++++-----
 1 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/grid/service/impl/ClueConclusionServiceImpl.kt b/src/main/kotlin/com/flightfeather/grid/service/impl/ClueConclusionServiceImpl.kt
index 660f4e9..be47c4c 100644
--- a/src/main/kotlin/com/flightfeather/grid/service/impl/ClueConclusionServiceImpl.kt
+++ b/src/main/kotlin/com/flightfeather/grid/service/impl/ClueConclusionServiceImpl.kt
@@ -23,6 +23,7 @@
         clueConclusion.cId ?: throw BizException("绾跨储id缂哄け")
         clueConclusion.ccUploaded = false
         clueConclusion.ccCreateTime = Date()
+        if (clueConclusion.ccInternal == null) clueConclusion.ccInternal = false
         try {
             val conclusion = clueConclusionMapper.selectOne(ClueConclusion().apply { cId = clueConclusion.cId })
             // 鏇存柊
@@ -42,20 +43,37 @@
         }
     }
 
-    override fun getClueConclusion(clueId: String): ClueConclusion? {
+    override fun getClueConclusion(clueId: String, internal: Boolean?): ClueConclusion? {
         val res = clueConclusionMapper.selectByExample(Example(ClueConclusion::class.java).apply {
             createCriteria().andEqualTo("cId", clueId)
+                .apply {
+                    if (internal == true) {
+                        andEqualTo("ccInternal", true)
+                    } else {
+                        and(
+                            createCriteria().orIsNull("ccInternal")
+                                .orEqualTo("ccInternal", false)
+                        )
+                    }
+                }
         })
         return if (res.isNotEmpty()) res[0] else null
     }
 
     override fun pushConclusion(conclusionIdList: List<String>?): Boolean {
         clueConclusionMapper.selectByExample(Example(ClueConclusion::class.java).apply {
-            createCriteria().andEqualTo("ccUploaded", false).apply {
-                conclusionIdList?.let {
-                    andIn("ccId", it)
+            createCriteria()
+                .andEqualTo("ccUploaded", false)
+                .apply {
+                    conclusionIdList?.let {
+                        andIn("ccId", it)
+                    }
+                    // 鎺掗櫎鎺夊唴閮ㄧ嚎绱㈢粨璁�
+                    and(
+                        createCriteria().orIsNull("ccInternal")
+                            .orEqualTo("ccInternal", false)
+                    )
                 }
-            }
         }).forEach {
             it?.let {
                 clueHttpService.uploadConclusion(it)

--
Gitblit v1.9.3