挂号补单功能的完善
This commit is contained in:
121
query_serial_number.sql
Normal file
121
query_serial_number.sql
Normal file
@@ -0,0 +1,121 @@
|
||||
-- ============================================
|
||||
-- 查询流水号相关SQL语句
|
||||
-- ============================================
|
||||
|
||||
-- 1. 查询所有挂号记录的流水号(主键ID)及相关信息
|
||||
SELECT
|
||||
id AS 流水号,
|
||||
display_order AS 就诊序号,
|
||||
bus_no AS 就诊编码,
|
||||
patient_id AS 患者ID,
|
||||
organization_id AS 科室ID,
|
||||
create_time AS 挂号时间,
|
||||
status_enum AS 状态
|
||||
FROM adm_encounter
|
||||
WHERE delete_flag = '0'
|
||||
ORDER BY create_time DESC;
|
||||
|
||||
-- 2. 根据流水号(主键ID)查询某条挂号记录的详细信息
|
||||
SELECT
|
||||
e.id AS 流水号,
|
||||
e.display_order AS 就诊序号,
|
||||
e.bus_no AS 就诊编码,
|
||||
p.name AS 患者姓名,
|
||||
p.id_card AS 身份证号,
|
||||
p.phone AS 联系电话,
|
||||
o.name AS 科室名称,
|
||||
pr.name AS 医生姓名,
|
||||
e.create_time AS 挂号时间,
|
||||
e.status_enum AS 状态
|
||||
FROM adm_encounter e
|
||||
LEFT JOIN adm_patient p ON e.patient_id = p.id AND p.delete_flag = '0'
|
||||
LEFT JOIN adm_organization o ON e.organization_id = o.id AND o.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_participant ep ON e.id = ep.encounter_id AND ep.delete_flag = '0' AND ep.type_code = 'PRF'
|
||||
LEFT JOIN adm_practitioner pr ON ep.practitioner_id = pr.id AND pr.delete_flag = '0'
|
||||
WHERE e.id = 1234567890123456789 -- 替换为实际的流水号(主键ID)
|
||||
AND e.delete_flag = '0';
|
||||
|
||||
-- 3. 根据患者姓名或身份证号查询流水号
|
||||
SELECT
|
||||
e.id AS 流水号,
|
||||
e.display_order AS 就诊序号,
|
||||
p.name AS 患者姓名,
|
||||
p.id_card AS 身份证号,
|
||||
e.create_time AS 挂号时间,
|
||||
o.name AS 科室名称
|
||||
FROM adm_encounter e
|
||||
LEFT JOIN adm_patient p ON e.patient_id = p.id AND p.delete_flag = '0'
|
||||
LEFT JOIN adm_organization o ON e.organization_id = o.id AND o.delete_flag = '0'
|
||||
WHERE e.delete_flag = '0'
|
||||
AND (p.name LIKE '%张三%' OR p.id_card = '110101199001011234') -- 替换为实际的患者姓名或身份证号
|
||||
ORDER BY e.create_time DESC;
|
||||
|
||||
-- 4. 查询当日的挂号记录及流水号
|
||||
SELECT
|
||||
e.id AS 流水号,
|
||||
e.display_order AS 就诊序号,
|
||||
e.bus_no AS 就诊编码,
|
||||
p.name AS 患者姓名,
|
||||
p.id_card AS 身份证号,
|
||||
o.name AS 科室名称,
|
||||
pr.name AS 医生姓名,
|
||||
e.create_time AS 挂号时间,
|
||||
e.status_enum AS 状态
|
||||
FROM adm_encounter e
|
||||
LEFT JOIN adm_patient p ON e.patient_id = p.id AND p.delete_flag = '0'
|
||||
LEFT JOIN adm_organization o ON e.organization_id = o.id AND o.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_participant ep ON e.id = ep.encounter_id AND ep.delete_flag = '0' AND ep.type_code = 'PRF'
|
||||
LEFT JOIN adm_practitioner pr ON ep.practitioner_id = pr.id AND pr.delete_flag = '0'
|
||||
WHERE e.delete_flag = '0'
|
||||
AND DATE(e.create_time) = CURRENT_DATE -- 查询当日
|
||||
ORDER BY e.display_order ASC, e.create_time ASC;
|
||||
|
||||
-- 5. 查询指定日期范围的挂号记录及流水号
|
||||
SELECT
|
||||
e.id AS 流水号,
|
||||
e.display_order AS 就诊序号,
|
||||
e.bus_no AS 就诊编码,
|
||||
p.name AS 患者姓名,
|
||||
p.id_card AS 身份证号,
|
||||
o.name AS 科室名称,
|
||||
e.create_time AS 挂号时间
|
||||
FROM adm_encounter e
|
||||
LEFT JOIN adm_patient p ON e.patient_id = p.id AND p.delete_flag = '0'
|
||||
LEFT JOIN adm_organization o ON e.organization_id = o.id AND o.delete_flag = '0'
|
||||
WHERE e.delete_flag = '0'
|
||||
AND e.create_time >= '2024-01-01 00:00:00' -- 开始时间
|
||||
AND e.create_time <= '2024-01-31 23:59:59' -- 结束时间
|
||||
ORDER BY e.create_time DESC;
|
||||
|
||||
-- 6. 查询指定科室的挂号记录及流水号
|
||||
SELECT
|
||||
e.id AS 流水号,
|
||||
e.display_order AS 就诊序号,
|
||||
p.name AS 患者姓名,
|
||||
o.name AS 科室名称,
|
||||
e.create_time AS 挂号时间
|
||||
FROM adm_encounter e
|
||||
LEFT JOIN adm_patient p ON e.patient_id = p.id AND p.delete_flag = '0'
|
||||
LEFT JOIN adm_organization o ON e.organization_id = o.id AND o.delete_flag = '0'
|
||||
WHERE e.delete_flag = '0'
|
||||
AND o.name LIKE '%心内科%' -- 替换为实际的科室名称
|
||||
AND DATE(e.create_time) = CURRENT_DATE
|
||||
ORDER BY e.display_order ASC;
|
||||
|
||||
-- 7. 统计每日挂号数量及流水号范围
|
||||
SELECT
|
||||
DATE(create_time) AS 日期,
|
||||
COUNT(*) AS 挂号数量,
|
||||
MIN(id) AS 最小流水号,
|
||||
MAX(id) AS 最大流水号,
|
||||
MIN(display_order) AS 最小就诊序号,
|
||||
MAX(display_order) AS 最大就诊序号
|
||||
FROM adm_encounter
|
||||
WHERE delete_flag = '0'
|
||||
GROUP BY DATE(create_time)
|
||||
ORDER BY 日期 DESC
|
||||
LIMIT 30; -- 最近30天
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user