From 1b77c2724e38d087f3eab4a2f27b3b165f4265dc Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 25 五月 2026 14:37:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_tide' into dev_tide

---
 src/main/resources/mapper/safety/SafetyLearningRecordMapper.xml |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/safety/SafetyLearningRecordMapper.xml b/src/main/resources/mapper/safety/SafetyLearningRecordMapper.xml
new file mode 100644
index 0000000..0e500a6
--- /dev/null
+++ b/src/main/resources/mapper/safety/SafetyLearningRecordMapper.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.safety.mapper.SafetyLearningRecordMapper">
+
+    <select id="selectStatistics" resultType="com.ruoyi.safety.dto.SafetyLearningStatistics">
+        SELECT
+            COUNT(1) AS totalCount,
+            IFNULL(SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END), 0) AS completedCount,
+            IFNULL(SUM(CASE WHEN status = 0 THEN 1 ELSE 0 END), 0) AS unfinishedCount,
+            IFNULL(SUM(duration), 0) AS totalDuration,
+            CASE
+                WHEN COUNT(1) = 0 THEN 0
+                ELSE ROUND(IFNULL(SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END), 0) / COUNT(1) * 100, 2)
+            END AS completionRate
+        FROM safety_learning_record
+        WHERE del_flag = 0
+    </select>
+</mapper>

--
Gitblit v1.9.3