From c6842e8498c2d9b469890b38cd9f0d714392c445 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 01 十二月 2023 13:22:02 +0800
Subject: [PATCH] 1. 修改优化日统计和风险统计的逻辑

---
 src/main/java/com/flightfeather/monitor/domain/ds1/repository/RiskValueRep.kt |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/repository/RiskValueRep.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/repository/RiskValueRep.kt
index 338db81..c63fd50 100644
--- a/src/main/java/com/flightfeather/monitor/domain/ds1/repository/RiskValueRep.kt
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/repository/RiskValueRep.kt
@@ -35,6 +35,37 @@
     }
 
     /**
+     * 鎵归噺鎻掑叆鎴栨洿鏂�,浠呴檺鍚屼竴鏃ョ殑鎴栧悓涓�鏈堢殑鎵归噺鏁版嵁
+     * @param list
+     */
+    fun insertOrUpdate(list: List<RiskValue>): Int {
+        if (list.isEmpty()) return 0
+        val newDataList = mutableListOf<RiskValue>()
+        val oldDataList = mutableListOf<RiskValue>()
+        val dataList = riskValueMapper.selectByExample(Example(RiskValue::class.java).apply {
+            createCriteria().andEqualTo("lst", list[0].lst)
+                .andEqualTo("type", list[0].type)
+        })
+        list.forEach { l ->
+            val r = dataList.find { d ->
+                d?.mnCode == l.mnCode
+            }
+            if (r != null) {
+                l.id = r.id
+                oldDataList.add(l)
+            } else {
+                newDataList.add(l)
+            }
+        }
+        val r1 = riskValueMapper.insertList(newDataList)
+        var r2 = 0
+        oldDataList.forEach {
+            r2 += riskValueMapper.updateByPrimaryKey(it)
+        }
+        return r1 + r2
+    }
+
+    /**
      * 鏌ヨ
      * @param mnCode
      * @param date

--
Gitblit v1.9.3