create or replace view vw_py_brcfmx as select A.CFLSH0, --处方流水号 A.YFBMBH, --药房部门编号 (select bmmc00 from bm_bmbm00 w where w.bmbh00=a.yfbmbh ) yfmc00, A.GHID00, --病人挂号流水号 A.GHH000, --挂号号 A.BRID00, --病人ID号 A.BRXM00, --病人姓名 A.XB0000, --性别 A.CSRQ00, --出生日期 A.DJH000, --收费单据号 A.YSGZH0, --医师工作号 A.YSXM00, --医师姓名 A.SSKS00, --所属科室(医师) A.GHKS00, --开方科室(病人) A.ZYTS00, --中药贴数 A.YPDLBH, --药品大类编号 ''0''西药,''2''草药''1''成药 A.CFXZ00, --处方性质 :毒、麻、神经药品标志 ''1''毒''2''麻''3''神经 A.CFZT00, --处方状态:0未记账,1已记账,2已发药,3作废''4''需要审核''5''退药(负方) ''6''退费(负方) A.FJFDJH, --附加费收费单据号 A.CZY000, --操作员 A.FHR000, --审核人 A.PFR000, --配方人 A.FHR001, --复核人(待配->待发) A.FYR000, --发药人 B.CFID00, --处方ID号 B.YPNM00, --药品内码 B.YPMC00, --药品名称 B.YPGG00, --规格 B.GJDJ00, --购进单价(入库单位) B.LSDJ00, --零售单价(处方单位) B.PFDJ00, --批发单价(入库单位) B.YPYFMC, --药品用法名称 B.SFZBY0, --是否自备药''Y''是''N''否 B.PCMC00, --频次名称 trim(decode(b.CSL000,null,'',0,'',decode(substr(abs(B.CSL000),1,1),'.','0','')||to_char(b.CSL000))) CSL000, --次数量(剂量单位) decode(b.CSL000,null,'',B.JLDW00)JLDW00, --剂量单位 B.YYSJ00, --用药时间数 B.YYSJDW, --时间单位(天或小时) B.YFSMMC, --用法说明名称, 对应BM_YPYFSM表 B.ZB0000, --组别 B.ZJYFMC, --中药整剂用法名称 B.XMYFMC, --中药细目用法名称 B.YPZSL0, --药品总数量(处方单位)(乘以贴数后) B.CFDW00, --处方单位 substr(SF_YF_GETYPKCZLXX(b.YPZSL0*b.ZHL000,2,c.K2J000,c.ZJJL2J,c.KCDW00,c.ZJJLDW,c.JLDW00),1,10) YPZL00, --药品总量 B.HJJE00, --合计金额 decode(b.SFZBY0,'Y','(自备)','') SFZB00,--是否自备 decode(b.ZCXSL0,0,null,'(退'||to_char(b.ZCXSL0/a.ZYTS00)||b.CFDW00||')') CXCSL0, decode(b.ZCXSL0,0,null,'(退'||to_char(b.ZCXSL0)||b.CFDW00||')') CXZSL0, (select IRON00 from IRON_CFMX00 where CFLSH0=B.CFLSH0 and CFID00=B.CFID00 and rownum=1) IRON00, substr(SF_YF_FHMZCFYPJCXX(B.CFID00,'1'),1,50) FYLBMC, B.YPMC00 as YPMCQB, --药品名称 (select PSMC00 FROM BM_PS0000 WHERE PSID00=B.PSLBID and rownum=1) as PSLBMC --皮试类别 from YF_MZCF00 A, YF_MZCFMX B,BM_YD0000 c where A.CFLSH0 = B.CFLSH0 and b.YPNM00=c.YPNM00 and not exists (select 1 from BM_XDCFWH where XDYPNM=B.YPNM00) union all select A.CFLSH0, --处方流水号 A.YFBMBH, --药房部门编号 (select bmmc00 from bm_bmbm00 w where w.bmbh00=a.yfbmbh ) yfmc00, A.GHID00, --病人挂号流水号 A.GHH000, --挂号号 A.BRID00, --病人ID号 A.BRXM00, --病人姓名 A.XB0000, --性别 A.CSRQ00, --出生日期 A.DJH000, --收费单据号 A.YSGZH0, --医师工作号 A.YSXM00, --医师姓名 A.SSKS00, --所属科室(医师) A.GHKS00, --开方科室(病人) A.ZYTS00*SF_PY_XDCFZYTS(a.CFLSH0) ZYTS00, --中药贴数 A.YPDLBH, --药品大类编号 ''0''西药,''2''草药''1''成药 A.CFXZ00, --处方性质 :毒、麻、神经药品标志 ''1''毒''2''麻''3''神经 A.CFZT00, --处方状态:0未记账,1已记账,2已发药,3作废''4''需要审核''5''退药(负方) ''6''退费(负方) A.FJFDJH, --附加费收费单据号 A.CZY000, --操作员 A.FHR000, --审核人 A.PFR000, --配方人 A.FHR001, --复核人(待配->待发) A.FYR000, --发药人 d.MXID00 CFID00, --处方ID号 协定处方组成明细ID c.YPNM00, --药品内码 c.YPMC00, --药品名称 c.YPGG00, --规格 round(d.GJDJ00*(d.ZHXS00/c.K2J000),4), --购进单价 协定处方组成的单位 round(d.LSDJ00*(d.ZHXS00/c.K2J000),4), --零售单价 协定处方组成的单位 null, --批发单价(入库单位) null, --药品用法名称 'N', --是否自备药''Y''是''N''否 null, --频次名称 --trim(decode(b.CSL000,null,'',0,'',decode(substr(abs(b.CSL000*d.YPSL00*d.ZHXS00),1,1),'.','0','')||to_char(round(b.CSL000*d.YPSL00*d.ZHXS00)))) CSL000, --次数量(剂量单位) trim(decode(substr(abs(d.YPSL00*d.ZHXS00),1,1),'.','0','')||to_char(round(d.YPSL00*d.ZHXS00,2))) CSL000, --次数量(剂量单位) --decode(b.CSL000,null,'',c.JLDW00) JLDW00, --剂量单位 c.JLDW00, --剂量单位 null, --用药时间数 null, --时间单位(天或小时) null, --用法说明名称, 对应BM_YPYFSM表 null, --组别 B.ZJYFMC, --中药整剂用法名称 B.XMYFMC, --中药细目用法名称 round(nvl(b.YPZSL0*d.YPSL00*d.ZYTS00,0)) YPZSL0, --药品总数量(处方单位)(乘以贴数后) d.YPDW00, --处方单位 substr(SF_YF_GETYPKCZLXX(round(nvl(b.YPZSL0*d.YPSL00*d.ZYTS00,0)*d.ZHXS00),2,c.K2J000,c.ZJJL2J,c.KCDW00,c.ZJJLDW,c.JLDW00),1,10) YPZL00, --药品总量 round(nvl(b.YPZSL0*d.YPSL00*d.ZYTS00,0)*d.ZHXS00*d.LSDJ00/c.K2J000,2) HJJE00, --合计金额 '' SFZB00,--是否自备 decode(b.ZCXSL0,0,null,'(退'||to_char(nvl(b.ZCXSL0*d.YPSL00*d.ZYTS00,0)/a.ZYTS00)||d.YPDW00||')') CXCSL0, decode(b.ZCXSL0,0,null,'(退'||to_char(nvl(b.ZCXSL0*d.YPSL00*d.ZYTS00,0))||d.YPDW00||')') CXZSL0, (select IRON00 from IRON_CFMX00 where CFLSH0=B.CFLSH0 and CFID00=B.CFID00 and rownum=1) IRON00, substr(SF_YF_FHMZCFYPJCXX(B.CFID00,'1'),1,50) FYLBMC, B.YPMC00 as YPMCQB, --药品名称 null --皮试类别 from YF_MZCF00 A, YF_MZCFMX B,BM_YD0000 c,BM_XDCFWH d where A.CFLSH0 = B.CFLSH0 and b.YPNM00=d.XDYPNM and d.MXYPNM=c.YPNM00 and exists (select 1 from BM_XDCFWH where XDYPNM=B.YPNM00);