诊疗下面没有诊疗项目
This commit is contained in:
86
openhis-server-new/sql/quick_check_pricing_flag_issue.sql
Normal file
86
openhis-server-new/sql/quick_check_pricing_flag_issue.sql
Normal file
@@ -0,0 +1,86 @@
|
||||
-- ============================================
|
||||
-- 快速检查 pricing_flag = '0' 的数据问题
|
||||
-- 注意:pricing_flag 是 char(1) 类型,所以要用字符串 '0'
|
||||
-- ============================================
|
||||
|
||||
-- 问题1:检查是否有费用定价但 pricing_flag = '0' 的项目(可能异常)
|
||||
SELECT
|
||||
'异常:有费用定价但不允许划价' AS issue_type,
|
||||
T1.id,
|
||||
T1.bus_no,
|
||||
T1.name AS activity_name,
|
||||
T1.pricing_flag,
|
||||
T2.charge_name,
|
||||
T2.price
|
||||
FROM wor_activity_definition AS T1
|
||||
INNER JOIN adm_charge_item_definition AS T2
|
||||
ON T2.instance_id = T1.id
|
||||
AND T2.delete_flag = '0'
|
||||
AND T2.status_enum = 1
|
||||
AND T2.instance_table = 'wor_activity_definition'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.status_enum = 1
|
||||
AND T1.pricing_flag = '0' -- 不允许划价,但有费用定价(矛盾)
|
||||
ORDER BY T1.id;
|
||||
|
||||
-- 问题2:检查是否已被使用但 pricing_flag = '0' 的项目(可能异常)
|
||||
SELECT
|
||||
'异常:已有收费记录但不允许划价' AS issue_type,
|
||||
T1.id,
|
||||
T1.bus_no,
|
||||
T1.name AS activity_name,
|
||||
T1.pricing_flag,
|
||||
COUNT(DISTINCT T3.encounter_id) AS encounter_count,
|
||||
COUNT(T3.id) AS charge_item_count
|
||||
FROM wor_activity_definition AS T1
|
||||
INNER JOIN adm_charge_item AS T3
|
||||
ON T3.product_id = T1.id
|
||||
AND T3.context_enum = 3 -- ACTIVITY
|
||||
AND T3.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.pricing_flag = '0'
|
||||
GROUP BY T1.id, T1.bus_no, T1.name, T1.pricing_flag
|
||||
ORDER BY charge_item_count DESC;
|
||||
|
||||
-- 问题3:查看所有 pricing_flag = '0' 的项目,判断哪些可能应该改为 '1'
|
||||
SELECT
|
||||
T1.id,
|
||||
T1.bus_no,
|
||||
T1.name AS activity_name,
|
||||
T1.category_code,
|
||||
T1.pricing_flag,
|
||||
T1.status_enum,
|
||||
CASE
|
||||
WHEN T2.id IS NOT NULL THEN '有费用定价'
|
||||
ELSE '无费用定价'
|
||||
END AS has_charge_definition,
|
||||
CASE
|
||||
WHEN EXISTS (
|
||||
SELECT 1 FROM adm_charge_item
|
||||
WHERE product_id = T1.id
|
||||
AND context_enum = 3
|
||||
AND delete_flag = '0'
|
||||
) THEN '已被使用'
|
||||
ELSE '未使用'
|
||||
END AS usage_status,
|
||||
CASE
|
||||
WHEN T2.id IS NOT NULL OR EXISTS (
|
||||
SELECT 1 FROM adm_charge_item
|
||||
WHERE product_id = T1.id
|
||||
AND context_enum = 3
|
||||
AND delete_flag = '0'
|
||||
) THEN '建议改为 pricing_flag = ''1'''
|
||||
ELSE '保持 pricing_flag = ''0''(可能正常)'
|
||||
END AS suggestion
|
||||
FROM wor_activity_definition AS T1
|
||||
LEFT JOIN adm_charge_item_definition AS T2
|
||||
ON T2.instance_id = T1.id
|
||||
AND T2.delete_flag = '0'
|
||||
AND T2.status_enum = 1
|
||||
AND T2.instance_table = 'wor_activity_definition'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.status_enum = 1
|
||||
AND T1.pricing_flag = '0'
|
||||
ORDER BY T1.id;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user