o.del_flag = 0
AND o.visited_user_name LIKE CONCAT('%', #{visitedUserName}, '%')
AND o.visited_dept_id = #{visitedDeptId}
AND o.pass_access_area_names LIKE CONCAT('%', #{accessArea}, '%')
AND o.pass_local_unit_names LIKE CONCAT('%', #{localUnit}, '%')
AND o.visit_reason_code = #{visitReasonCode}
AND o.visit_start_date <= #{visitDateEnd}
AND o.visit_end_date >= #{visitDateStart}
AND EXISTS (
SELECT 1
FROM appointment_visitor av
WHERE av.del_flag = 0
AND av.order_id = o.id
AND av.name LIKE CONCAT('%', #{visitorKeyword}, '%')
)
AND (
o.status = 'PENDING_APPROVAL'
OR (o.status = 'APPROVED' AND CURDATE() < o.visit_start_date)
)
AND o.status = 'APPROVED'
AND o.visit_start_date IS NOT NULL
AND o.visit_end_date IS NOT NULL
AND CURDATE() >= o.visit_start_date
AND CURDATE() <= o.visit_end_date
AND NOT (
o.status = 'PENDING_APPROVAL'
OR (o.status = 'APPROVED' AND CURDATE() < o.visit_start_date)
OR (
o.status = 'APPROVED'
AND o.visit_start_date IS NOT NULL
AND o.visit_end_date IS NOT NULL
AND CURDATE() >= o.visit_start_date
AND CURDATE() <= o.visit_end_date
)
)
AND o.status IN ('APPROVED', 'VISITED', 'EXPIRED')
AND o.status = 'REJECTED'
AND o.status = 'CANCELLED'
AND o.status = 'PENDING_APPROVAL'
AND (ai.current_node_code IS NULL OR ai.current_node_code = '')
AND o.status = 'PENDING_APPROVAL'
AND ai.current_node_code = #{approvalStatus}