CREATE OR REPLACE FUNCTION SF_ZY_DBZYBLB ( PYBMC00 in varchar2,--医保名称 PZYID00 in number --住院ID ) -- MODIFICATION HISTORY -- Person Date Comments --zhangyc 2013.10.10 created by ZYSF-20131011-001 --zhangyc 2018.01.09 增加自费返回0 by ZYSF-20180109-003 return varchar2 IS VSFQYJK varchar2(2); VYBBRLB BM_BRXXB0.YBBRLB%type; VSFXNH0 IC_YBBRLB.SFXNH0%type; VYBZXLB IC_YBBRLB.YBZXLB%type; VFBBH00 BM_BRXXB0.FBBH00%type; begin --视图VW_XM_DBZLB1 中只定义@和3 顾在维护单病种时只有两种类别BM_DBZDEB(单病种表) VSFQYJK:='-1'; if PZYID00<>0 then select A.YBBRLB,C.SFXNH0,A.FBBH00,C.YBZXLB into VYBBRLB,VSFXNH0,VFBBH00,VYBZXLB from bm_brxxb0 A,zy_brxxb0 B ,IC_YBBRLB C where A.BRID00=B.BRID00 and B.FBBH00 = C.FBBH00 and B.YBLB00 = C.YBLB00 and B.ZYID00=PZYID00; else select C.SFXNH0,C.FBBH00 into VSFXNH0,VFBBH00 from IC_YBBRLB C where YBMC00=PYBMC00; end if; if (VFBBH00=3) and (VSFXNH0 in ('1')) then VSFQYJK:='@'; end if; --农合 if (VFBBH00=3) and (VSFXNH0 not in ('1')) then VSFQYJK:='3'; end if; --医保 if (VFBBH00=1) then VSFQYJK:='1'; end if; --自费病人 return VSFQYJK; end; /