<#assign ZYBR00 = myDirective.getParam("ZYBR00")> <#assign MZBR00 = myDirective.getParam("MZBR00")> select (s.XMMC00||decode(R.TYPE01,'2','折扣','')||XMGG00)XMMC00, -- 项目名称 s.BZ0000,--备注 R.* from ( select SFXMID,--收费项目ID decode('${DZJEDDLC}','Y',JMBZ00,null) TYPE01,--是否为折扣 sum(JE0000)JE0000, --项目金额 sum(SL0000)SL0000, --项目数量 XMGG00--项目规格 from ( /* 入参[DZJEDDLC]对应系统参数[YJ_TJDZDDFKLC]科室收费项目统计是否把打折的金额单独列出;Y:列出,默认值为N */ select 0 JE0000,0 SL0000,-1 SFXMID,'0' JMBZ00,null XMGG00 from dual <#if (MZBR00 = "1") || (MZBR00 = "0" && ZYBR00 = "0")> union all select sum(HJJE00) JE0000, sum(XMSL00) SL0000, XMBH00 SFXMID, decode(nvl(JMBZ00,'0'),'0','0','2') JMBZ00, --减免标志 2是减免 XMGG00 from SF_FYMX00 where 1=1 and CZRQ00 between replace('${TJKSRQ}','-') and replace('${TJJSRQ}','-') and CZRQ00||CZSJ00 between replace('${TJKSRQ}','-')||'${TJKSSJ}' and replace('${TJJSRQ}','-')||'${TJJSSJ}' <#if BMBH00?default("")?trim?length gt 0> and ZXKS00 =${BMBH00} group by XMBH00,decode(nvl(JMBZ00,'0'),'0','0','2'),XMGG00 --勾选了住院病人或者都没有勾选 <#if (ZYBR00 = "1") || (MZBR00 = "0" && ZYBR00 = "0")> union all select sum(HJJE00) JE0000, sum(XMSL00) SL0000, XMBH00 SFXMID, decode(nvl(JMBZ00,'0'),'0','0','2') JMBZ00, --减免标志 2是减免 XMGG00 from ZY_FYMX00 where 1=1 and CZRQ00 between replace('${TJKSRQ}','-') and replace('${TJJSRQ}','-') and CZRQ00||CZSJ00 between replace('${TJKSRQ}','-')||'${TJKSSJ}' and replace('${TJJSRQ}','-')||'${TJJSSJ}' <#if BMBH00?default("")?trim?length gt 0> and ZXKS00 =${BMBH00} group by XMBH00,decode(nvl(JMBZ00,'0'),'0','0','2'),XMGG00 ) group by SFXMID ,decode('${DZJEDDLC}','Y',JMBZ00,null),XMGG00 ) R,BM_YYSFXM S where R.SFXMID = S.SFXMID order by S.SFXMID