From 25df88d0ab9d7444ed1d162b9efa1259ac2f6f66 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期一, 27 四月 2026 10:13:53 +0800
Subject: [PATCH] 小程序对接finish
---
backend/src/main/resources/mapper/AppointmentOrderMapper.xml | 40 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 40 insertions(+), 0 deletions(-)
diff --git a/backend/src/main/resources/mapper/AppointmentOrderMapper.xml b/backend/src/main/resources/mapper/AppointmentOrderMapper.xml
index 4cb7f84..a7fa458 100644
--- a/backend/src/main/resources/mapper/AppointmentOrderMapper.xml
+++ b/backend/src/main/resources/mapper/AppointmentOrderMapper.xml
@@ -114,6 +114,15 @@
WHERE o.del_flag = 0
AND o.status = 'APPROVED'
AND o.visited_user_id = #{visitedUserId}
+ <if test="futureOnly">
+ AND (
+ CASE
+ WHEN o.visit_time_mode = 'SINGLE' AND o.visit_time_slot = 'PM'
+ THEN TIMESTAMP(o.visit_start_date, '12:00:00')
+ ELSE TIMESTAMP(o.visit_end_date, '23:59:59')
+ END
+ ) > NOW()
+ </if>
<if test="visitDate != null">
AND o.visit_start_date IS NOT NULL
AND o.visit_end_date IS NOT NULL
@@ -148,6 +157,7 @@
AND bvr.reason_code = o.visit_reason_code
WHERE o.del_flag = 0
AND o.submitter_id = #{submitterId}
+ AND o.submitter_visible_flag = 1
<if test="status != null and status != ''">
<choose>
<when test="status == 'PENDING_VISIT'">
@@ -189,4 +199,34 @@
ORDER BY o.create_time DESC, o.id DESC
</select>
+ <select id="selectMiniVisibleOrderById" resultType="com.sinata.appointment.entity.AppointmentOrder">
+ SELECT o.*
+ FROM appointment_order o
+ WHERE o.del_flag = 0
+ AND o.id = #{id}
+ AND o.submitter_id = #{submitterId}
+ AND o.submitter_visible_flag = 1
+ LIMIT 1
+ </select>
+
+ <select id="listDashboardTrend" resultType="com.sinata.appointment.dto.DashboardTrendPointVo">
+ SELECT DATE(o.create_time) AS statDate,
+ COUNT(*) AS appointmentCount,
+ 0 AS inProgressCount,
+ SUM(CASE WHEN o.status = 'REJECTED' THEN 1 ELSE 0 END) AS rejectedCount,
+ SUM(CASE WHEN o.status = 'CANCELLED' THEN 1 ELSE 0 END) AS cancelledCount
+ FROM appointment_order o
+ WHERE o.del_flag = 0
+ AND o.create_time <![CDATA[>=]]> CONCAT(#{startDate}, ' 00:00:00')
+ AND o.create_time <![CDATA[<]]> DATE_ADD(CONCAT(#{endDate}, ' 00:00:00'), INTERVAL 1 DAY)
+ <if test="deptIds != null and deptIds.size() > 0">
+ AND o.visited_dept_id IN
+ <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
+ #{deptId}
+ </foreach>
+ </if>
+ GROUP BY DATE(o.create_time)
+ ORDER BY DATE(o.create_time)
+ </select>
+
</mapper>
--
Gitblit v1.7.1