109 lines
2.6 KiB
SQL
109 lines
2.6 KiB
SQL
-- ============================================
|
||
-- 调试队列日期问题
|
||
-- 用途:检查数据库中的 queue_date 字段值,找出为什么查询不到数据
|
||
-- ============================================
|
||
|
||
-- 1. 查看所有队列记录的日期分布
|
||
SELECT
|
||
queue_date,
|
||
status,
|
||
COUNT(*) AS count,
|
||
STRING_AGG(patient_name, ', ') AS patients
|
||
FROM hisdev.triage_queue_item
|
||
WHERE tenant_id = 1
|
||
AND delete_flag = '0'
|
||
GROUP BY queue_date, status
|
||
ORDER BY queue_date DESC, status;
|
||
|
||
-- 2. 查看指定科室的所有记录(不限制日期)
|
||
SELECT
|
||
id,
|
||
queue_date,
|
||
status,
|
||
patient_name,
|
||
organization_id,
|
||
organization_name,
|
||
queue_order,
|
||
create_time
|
||
FROM hisdev.triage_queue_item
|
||
WHERE tenant_id = 1
|
||
AND delete_flag = '0'
|
||
AND organization_id = 1995302136614969300
|
||
ORDER BY queue_date DESC, queue_order ASC;
|
||
|
||
-- 3. 查看今天的记录(使用 CURRENT_DATE)
|
||
SELECT
|
||
id,
|
||
queue_date,
|
||
status,
|
||
patient_name,
|
||
organization_id,
|
||
queue_order
|
||
FROM hisdev.triage_queue_item
|
||
WHERE tenant_id = 1
|
||
AND delete_flag = '0'
|
||
AND queue_date = CURRENT_DATE
|
||
AND organization_id = 1995302136614969300
|
||
ORDER BY queue_order ASC;
|
||
|
||
-- 4. 查看 2026-01-16 的记录
|
||
SELECT
|
||
id,
|
||
queue_date,
|
||
status,
|
||
patient_name,
|
||
organization_id,
|
||
queue_order
|
||
FROM hisdev.triage_queue_item
|
||
WHERE tenant_id = 1
|
||
AND delete_flag = '0'
|
||
AND queue_date = '2026-01-16'::DATE
|
||
AND organization_id = 1995302136614969300
|
||
ORDER BY queue_order ASC;
|
||
|
||
-- 5. 查看 2025-01-16 的记录(可能是昨天的数据)
|
||
SELECT
|
||
id,
|
||
queue_date,
|
||
status,
|
||
patient_name,
|
||
organization_id,
|
||
queue_order
|
||
FROM hisdev.triage_queue_item
|
||
WHERE tenant_id = 1
|
||
AND delete_flag = '0'
|
||
AND queue_date = '2025-01-16'::DATE
|
||
AND organization_id = 1995302136614969300
|
||
ORDER BY queue_order ASC;
|
||
|
||
-- 6. 查看最近的记录(最近7天)
|
||
SELECT
|
||
queue_date,
|
||
status,
|
||
COUNT(*) AS count
|
||
FROM hisdev.triage_queue_item
|
||
WHERE tenant_id = 1
|
||
AND delete_flag = '0'
|
||
AND queue_date >= CURRENT_DATE - INTERVAL '7 days'
|
||
GROUP BY queue_date, status
|
||
ORDER BY queue_date DESC, status;
|
||
|
||
-- 7. 检查系统当前日期(PostgreSQL)
|
||
SELECT CURRENT_DATE AS current_date_in_db;
|
||
|
||
-- 8. 查看所有状态为 WAITING 或 SKIPPED 的记录(不限制日期)
|
||
SELECT
|
||
id,
|
||
queue_date,
|
||
status,
|
||
patient_name,
|
||
organization_id,
|
||
queue_order
|
||
FROM hisdev.triage_queue_item
|
||
WHERE tenant_id = 1
|
||
AND delete_flag = '0'
|
||
AND status IN ('WAITING', 'SKIPPED')
|
||
AND organization_id = 1995302136614969300
|
||
ORDER BY queue_date DESC, queue_order ASC;
|
||
|