SELECT
B.名称,
A.开单人 AS 医师,
a.病人id,
G.姓名 AS 病人姓名,
F.登记时间 AS 挂号时间,
F.执行人 AS 挂号医生,
G.性别 AS 性别,
G.年龄 AS 年龄,
(select 诊断描述 from 病人诊断记录 m where m.病人id = a.病人id and m.主页id = a.挂号id and m.诊断类型 = 1 AND m.诊断次序 = 1 and rownum = 1) AS 病人诊断,
G.区域 AS 区域,
G.家庭电话 AS 电话,
DECODE (E.名称,'','自费',NULL,'自费',E.名称) AS 病人性质,
A.收入项目 AS 收入项目,
A.实收金额 AS 结帐金额
FROM (select a.病人id,b.名称 as 收入项目 ,a.收入项目id, sum(a.实收金额) as 实收金额,A.开单人 AS 开单人, A.开单部门ID AS 开单部门ID,A.挂号ID AS 挂号id
from 门诊费用记录 a ,收入项目 b
Where a.收入项目id = b.id and 记录状态<>0 and a.门诊标志=4
AND a.登记时间 BETWEEN /*B0*/TO_DATE('2023-11-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
AND /*B1*/TO_DATE('2023-11-30 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by a.病人id ,b.名称,a.收入项目id,A.开单人,A.开单部门ID,A.挂号id
having sum(a.实收金额)<>0 ) A,
部门表 B,病人挂号记录 F,
(select distinct 病人id,b.名称 from 保险帐户 a,SDWFYB_社保机构编码 b where a.社保局编码=b.编码 and A.险类=737) E,
病人信息 G
WHERE A.开单部门ID = B.ID
AND A.病人ID = F.病人ID(+)
AND A.挂号ID = F.ID(+)
AND A.病人ID = E.病人ID(+)
AND A.病人ID = G.病人ID(+)
and a.病人id in (select a.病人id
from 门诊费用记录 a ,收入项目 b
Where a.收入项目id = b.id and 记录状态<>0 and a.门诊标志=1
AND a.登记时间 BETWEEN /*B0*/TO_DATE('2023-11-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
AND /*B1*/TO_DATE('2023-11-30 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
and b.名称='体检费'
group by a.病人id ,b.名称,a.收入项目id,A.开单人,A.开单部门ID,A.挂号id
having sum(a.实收金额)<>0 )
union all
select a.名称,A.开单人 医师,a.病人id,b.姓名,null 挂号时间,null 挂号医生,b.性别,b.年龄,
null 病人诊断,
b.区域,
b.家庭电话 电话,
DECODE (E.名称,'','自费',NULL,'自费',E.名称) AS 病人性质,
A.收入项目,
a.实收金额 结帐金额
from
(select (select 名称 from 部门表 where id= A.开单部门ID) 名称,
A.开单人,
a.病人id,
b.名称 收入项目,
a.收入项目id,
sum(a.实收金额) as 实收金额,
A.开单部门ID AS 开单部门ID
from 病人费用记录 a, 收入项目 b
Where a.收入项目id = b.id
and 记录状态 <> 0
and a.门诊标志 = 4
and a.开单部门id=141
AND a.登记时间 BETWEEN /*B0*/
TO_DATE('2023-11-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') /*E0*/
AND /*B1*/
TO_DATE('2023-11-30 23:59:59', 'YYYY-MM-DD HH24:MI:SS') /*E1*/
and a.病人id not in (select a.病人id
from 门诊费用记录 a ,收入项目 b
Where a.收入项目id = b.id and 记录状态<>0 and a.门诊标志=1
AND a.登记时间 BETWEEN /*B0*/TO_DATE('2023-11-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
AND /*B1*/TO_DATE('2023-11-30 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
and b.名称='体检费'
group by a.病人id ,b.名称,a.收入项目id,A.开单人,A.开单部门ID,A.挂号id
having sum(a.实收金额)<>0 )
group by a.病人id, b.名称, a.收入项目id,A.开单人, A.开单部门ID, a.执行人
having sum(a.实收金额) <> 0) a,
病人信息 b,
(select distinct 病人id,b.名称 from 保险帐户 a,SDWFYB_社保机构编码 b where a.社保局编码=b.编码 and A.险类=737) E
where a.病人id=b.病人id(+)
AND A.病人ID = E.病人ID(+)