prompt 住院国家医保清单状态 SF_ZY_NATION_JSQDZT create or replace function SF_ZY_NATION_JSQDZT ( PZYID00 number ,--住院ID PJZDH00 number ,--结账单号 PHJJE00 number ,--合计金额 PCXJZDH number ,--冲销结账单号 PYBJKID varchar2 ,--医保接口ID PJSQDBZ varchar2 ,--医保结算单上传标志( 0: 未上传 1:已上传 2:已修改) PLXBH00 varchar2 --类型编码 0:清单状态 1:结算状态 ) return varchar2 is -- Person Date Comments -- zhangyc 2022.04.08 create by ZYSF-20220406-001 LS_FHXX00 varchar2(10); LS_TEPNUM number(10); begin if PLXBH00='0' then --0:清单状态 if PJSQDBZ is not null then LS_FHXX00:=substrb(PJSQDBZ,1,1); --医保结算单上传标志( 0: 未上传 1:已上传 2:已修改) else select count(1) into LS_TEPNUM from ZY_YBJKRZ x where x.JKCJBM='YBJK_JSQDXXSC_001' and x.zyid00=PZYID00 and x.flag='1' and JZDH00=PJZDH00; if nvl(LS_TEPNUM,0)>0 then LS_FHXX00:='1'; --医保结算单上传标志( 0: 未上传 1:已上传 2:已修改) else LS_FHXX00:='0'; --医保结算单上传标志( 0: 未上传 1:已上传 2:已修改) end if; end if; elsif PLXBH00='1' then if nvl(PHJJE00,0)<0 or nvl(PCXJZDH,0)>0 then LS_FHXX00:='0'; --结账状态 0:已冲销 ,1:正常 else select count(1) into LS_TEPNUM from ZY_JZB000 x where x.zyid00=PZYID00 and X.CXJZDH=PJZDH00; if nvl(LS_TEPNUM,0)>0 then LS_FHXX00:='0'; --结账状态 0:已冲销 ,1:正常 else LS_FHXX00:='1'; --结账状态 0:已冲销 ,1:正常 end if; end if; end if; return LS_FHXX00; end; / show error; --%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%