| | |
| | | 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 |
| | |
| | | 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'"> |
| | |
| | | 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> |