Files
his/openhis-server-new/sql/debug_queue_date_issue.sql

109 lines
2.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ============================================
-- 调试队列日期问题
-- 用途:检查数据库中的 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;