CREATE OR REPLACE FUNCTION SF_XMLH_BQYE00 ( VJKRQ00 VARCHAR2 , -- 交款日期 VJKSJ00 VARCHAR2 -- 交款时间 ) -- MODIFICATION HISTORY -- PERSON DATE COMMENTS -- LIWM 2018.06.20 结账时预交金余额 ZYSF9-20180614-004 RETURN VARCHAR2 IS --住院本期余额计算 VBQYE00 NUMBER; BEGIN SELECT SUM(BQYE00) INTO VBQYE00 FROM ( SELECT SUM(H.JFJE00) BQYE00,5.1 FROM ZY_BRJFB0 H,ZY_BRXXB0 I WHERE H.JFBZ00<>'2' AND H.JZDH00=0 AND H.ZYID00=I.ZYID00 AND H.JFRQ00||''<=VJKRQ00 AND H.JFRQ00||H.JFSJ00<=VJKRQ00||VJKSJ00 AND (H.PLBH00 IN ('4','8') OR ((H.PLBH00='3' AND H.ZFFS00 IN (1,2,8,24,25) AND H.JSLX00='3'))) UNION ALL SELECT SUM(H.JFJE00) BQYE00,5.1 FROM ZY_BRJFB0 H,ZY_JZB000 I,ZY_BRXXB0 M WHERE H.JZDH00=I.JZDH00 AND I.ZYID00=M.ZYID00 AND I.JZRQ00>=VJKRQ00 AND I.JZRQ00||I.JZSJ00>VJKRQ00||VJKSJ00 AND H.JFRQ00<=VJKRQ00 AND H.JFRQ00||H.JFSJ00<=VJKRQ00||VJKSJ00 AND H.JFBZ00<>'2' AND (H.PLBH00 IN ('4','8') OR (H.PLBH00='3' AND H.ZFFS00 IN (1,2,8,24,25) AND H.JSLX00='3'))); RETURN VBQYE00; END; /