CREATE OR REPLACE VIEW SD_HOSPITAL.VW_BQ_XZYZLL ( ZYID00, RYCWH0, YEXM00, LB0000, CLBZ00, DMBZ00, YZLB00, YZZT00, YZID00, YZMXID, QYSJ00, QYYSHS, YFNR00, YZXX00, LYLXX0, TYSJ00, TYYSHS, BZ0000, QYRQ00, TZRQ00, PXSJ00, ZXRQ00, TQSJ00, LRRQ00, LRSJ00, YZLY00, BQH000, CYDJRQ, BB0000, ZXKSMC, ZXYSMC, KZYSMC ) AS SELECT A.ZYID00, --住院ID E.RYCWH0, --床号 A.YEXM00, --婴儿姓名 '0', --药品 A.CLBZ00, --处理标志长期'0'短期'1' A.DMBZ00, --毒麻标志'0'正常'1'毒麻 to_number(A.YPLBBH), --药品类别 decode(A.YZZT00,'2',decode(sign(to_number(A.ZXRQ00)-to_number(to_char(sysdate,'YYYYMMDD'))),0,'9',1,'9','2'),A.YZZT00), --医嘱状态 A.YZID00, --医嘱ID B.YZMXID, --医嘱明细ID substr(A.QYRQ00,3,6)||' '||substr(A.QYSJ00,1,5), --起用日期+起用时间 trim(C.ZWXM00)||'/'||trim(A.LRRXM0)||'/'||trim(A.HDRXM0), --开嘱医生+录入人姓名+核对人姓名 --用法信息 decode(A.YPLBBH,'2',to_char(A.ZQCYTS)||'贴','') --草药贴数 ||decode(A.YPLBBH,'2',decode(A.JYCS00,0,'','代煎'||to_char(A.JYCS00)||'贴'),'') --草药煎药次数 ||decode(A.YPLBBH,'2','',trim(A.PCMC00)||' ') --频次 ||trim(A.YPYFMC) --用法 ||decode(A.CLBZ00,'0','',decode(A.ZQS000,1,'',to_char(A.ZQS000)||trim(A.ZQDW00))),--短期周期数 --药品信息 trim(B.YPMC00)--药品名称 ||decode(b.YPGG00,'','','['||trim(B.YPGG00)||']')--药品规格 ||decode(B.MCSL00,0,'',decode(substr(to_char(B.MCSL00),1,1),'.','0','')||to_char(B.MCSL00)||trim(B.JLDW00)) --每次数量 ||trim(B.PSMC00) --皮试名称 ||trim(B.XMYFMC) --草药细目名称 ||decode(b.YZCLLB,'正常','','自备药','[备]','嘱托','[嘱]','出院带药','[出]','基数药','[基]','门诊带药','[门]','领药','[领]','应急领药','[急]','') --处理 ||trim(B.BZ0000), --备注 decode(A.CLBZ00,'0','',decode(A.YPLBBH,'2','',decode(B.LYL000,0,'[无]', decode(substr(to_char(B.LYL000),1,1),'.','0','')||to_char(B.LYL000)||trim(B.ZYFYDW)))),--短期领药量 substr(A.TZRQ00,3,6)||' '||substr(A.TZSJ00,1,5), --停用日期+停用时间 decode(D.ZWXM00,null,'',trim(D.ZWXM00)||decode(a.TZRXM0,null,'','/'||trim(A.TZRXM0))), --停止医生+停止人姓名 trim(A.YYZF00), --备注 A.QYRQ00, --起用日期 A.TZRQ00, --停止日期 A.PXSJ00, --排序时间 A.ZXRQ00, --执行日期 --substr(A.TQRQ00,3,6)||' '||substr(A.TQSJ00,1,5), --提取日期 A.TQRQ00, --提取日期 A.LRRQ00,--录入时间 substr(A.LRRQ00,3,6)||' '||A.LRSJ00, --录入时间 --substr(A.LRRQ00,3,6)||' '||A.PXSJ00, --录入时间 a.YZLY00, --医嘱来源 '0'护士'1'医生'2'手术 a.BQH000, --病区 e.cydjrq, '' BB0000, '', '', trim(C.ZWXM00) from BQ_YPYZ00 a, BQ_YPYZMX b, BM_YGBM00 c, BM_YGBM00 d, zy_brxxb0 e where b.YZID00 = a.YZID00 and a.YZZT00<>'7' and c.YGBH00(+) = a.KZYS00 and d.YGBH00(+) = a.TZYS00 and a.zyid00=e.zyid00 and ((a.YZZT00 in ('0','1') and a.qyrq00>=to_char(sysdate-2,'YYYYMMDD')) or (a.TZRQ00 = to_char(SYSDATE,'YYYYMMDD') and a.clbz00='0' and a.yzzt00='3' AND a.tzrxm0 is NULL)) and E.brzt00 like '2%' and E.cydjrq IS NULL and decode(a.yzzt00,'3',substr(A.TZRQ00,3,6)||' '||substr(A.TZSJ00,1,5),substr(A.QYRQ00,3,6)||' '||substr(A.QYSJ00,1,5)) >= substr(to_char(sysdate,'YYYYMMDD'),3,6)||' 00:00:00' UNION ALL select A.ZYID00, --住院ID E.RYCWH0, --床号 A.YEXM00, --婴儿姓名 '1', --非药品医嘱 A.CLBZ00, --处理标志长期'0'短期'1' '0', -- A.YZLB00,--医嘱类别 decode(a.YZZT00,'2',decode(sign(to_number(a.TQRQ00)-to_number(to_char(sysdate,'YYYYMMDD'))),0,'9',1,'9','2'),a.YZZT00), --医嘱状态 A.YZMXID,--医嘱明细ID A.YZMXID,--医嘱明细ID substr(a.QYRQ00,3,6)||' '||substr(a.QYSJ00,1,5), --起用日期+起用时间 trim(b.ZWXM00)||'/'||trim(a.LRRXM0)||'/'||trim(a.HDRXM0), --开嘱医生+录入人姓名+核对人姓名 --用法信息 '', --治疗项目信息 trim(a.ZLXMJC)||' ' --治疗项目名称 ||decode(a.YZCLLB,'正常','','自备','[备]','嘱托','[嘱]','门诊处理','[门]','') --处理 ||trim(a.PCMC00)||' ' --频次 ||decode(a.MCSL00,1,'',decode(substr(a.MCSL00,1,1),'.','0','')||trim(a.MCSL00)||'*'||trim(a.DW0000))||' ' --每次数量 ||decode(a.CLBZ00,0,decode(a.TS0000,0,'',to_char(a.TS0000)||trim(a.TSDW00)),decode(a.TS0000,1,'',to_char(a.TS0000)||trim(a.TSDW00))) --周期数 ||'['||d.BMMC00||']', '', substr(A.TZRQ00,3,6)||' '||substr(A.TZSJ00,1,5), --停用日期+停用时间 decode(C.ZWXM00,null,'',trim(C.ZWXM00)||decode(a.TZRXM0,null,'','/'||trim(A.TZRXM0))), --停止医生+停止人姓名 trim(A.BZ0000), --备注 A.QYRQ00, --起用日期 A.TZRQ00, --停止日期 A.PXSJ00, --排序时间 A.TQRQ00, --执行日期 --substr(A.TQRQ00,3,6)||' '||substr(A.TQSJ00,1,5),--提取日期 A.TQRQ00, --提取日期 A.LRRQ00,--录入时间 --substr(A.LRRQ00,3,6)||' '||A.LRSJ00, --录入时间 substr(A.LRRQ00,3,6)||' '||A.PXSJ00, --录入时间 a.YZLY00, --医嘱来源 '0'护士'1'医生'2'手术 a.BQH000, --病区 e.cydjrq, a.BB0000, (select BMMC00 from BM_BMBM00 where BMBH00=a.ZXKS00) ZXKSMC, (select ZWXM00 from BM_YGBM00 where YGBH00=NVL(a.ZXYS00,a.KZYS00)) ZXYSMC, trim(B.ZWXM00) from BQ_YJYZ00 a, BM_YGBM00 b, BM_YGBM00 c, BM_BMBM00 d, zy_brxxb0 e where b.YGBH00(+) = a.KZYS00 and a.YZZT00<>'7' and c.YGBH00(+) = a.TZYS00 and d.BMBH00(+) = a.ZXKS00 and a.zyid00=e.zyid00 and ((a.YZZT00 in ('0','1') and a.qyrq00>=to_char(sysdate-2,'YYYYMMDD')) or (a.TZRQ00 = to_char(SYSDATE,'YYYYMMDD') and a.clbz00='0' and a.yzzt00='3' AND a.tzrxm0 is NULL)) and E.brzt00 like '2%' and E.cydjrq IS NULL and decode(a.yzzt00,'3',substr(A.TZRQ00,3,6)||' '||substr(A.TZSJ00,1,5),substr(A.QYRQ00,3,6)||' '||substr(A.QYSJ00,1,5)) >= substr(to_char(sysdate,'YYYYMMDD'),3,6)||' 00:00:00' /