CREATE OR REPLACE PROCEDURE SP_SST_YYQR_YKT( id0000 in varchar2, --预约队列标识 cardno in varchar2, --卡号 cartype in number, --IC卡类型 custname out varchar2, --病人姓名 groupname out varchar2, --医生姓名 qno000 out varchar2, --预约号 czsj00 out varchar2, --就诊日期 yyksmc out varchar2, --预约科室 hzsj00 out varchar2, --候诊时间 outstr out varchar2 --错误信息 ) AS LS_BRID00 BM_BRXXB0.BRID00%type; LS_BRID01 BM_BRXXB0.BRID00%type; as_YHMSG0 varchar2(2550); as_SYSMSG varchar2(2550); ls_YYZT00 SF_YYBRB0.YYZT00%type; LS_CARDNO IC_YHXX00.ICKH00%type; LS_KMH000 IC_YHXX00.KMH000%type; LS_BRXM00 SF_YYBRB0.BRXM00%type; LS_YYBZ00 YS_HBHZXH.YYBZ00%type;--预约标志 '1'普通'2'优待 '3'预约 '4'电话 '5'分诊 '6'网络 LS_GHID00 SF_YYBRB0.GHID00%type; LS_YYH000 SF_YYBRB0.YYH000%type; LS_BRDH00 SF_YYBRB0.BRDH00%type; begin select SF_SST_GETICKH00(cardno) into LS_CARDNO from dual; begin select BRID00,KMH000 into LS_BRID00,LS_KMH000 from IC_YHXX00 where ICKH00 =LS_CARDNO and ZT0000=1; exception WHEN NO_DATA_FOUND THEN outstr:='IC卡号:'||LS_CARDNO||'在本院IC_YHXX00表中未找到,请联系管理员!'; raise NO_DATA_FOUND; end; begin select nvl(BRID00,0),YYZT00,GHID00,YYH000,BRDH00,BRXM00 into LS_BRID01,ls_YYZT00,LS_GHID00,LS_YYH000,LS_BRDH00,LS_BRXM00 from SF_YYBRB0 where YYID00=id0000 ; end; if LS_BRID01=0 then ----SP_SST_MZYY_ZJYYDJ --更新预约病人信息 update SF_YYBRB0 set brid00=LS_BRID00,KMH000=LS_KMH000,ICKH00=LS_CARDNO where YYID00=id0000 ; --更新医生号表侯诊序号 update YS_HBHZXH set BRID00=LS_BRID00,YYID00=id0000,BRXM00=LS_BRXM00 where GHHBID=LS_GHID00 and HZXH00=LS_YYH000; --YYBZ00 --update SF_YSGHHB set YYXHS0=YYXHS0+1,TQYYS0=TQYYS0+1 where GHHBID = P_PBLSH; --更新病人电话号码 --update BM_BRXXB0 set BRDH00=nvl(LS_BRDH00,BRDH00) where BRID00=LS_BRID00; end if; outstr:=' '; if ls_YYZT00='0' then SP_YY_YYZYGH_DGBR(ls_BRID00,to_number(id0000),outstr,as_SYSMSG); end if; if nvl(outstr,' ')=' ' then select BRXM00 Custname, --病人姓名 YYYSXM groupname, --医生队列 YYH000 qno000, --预约号码 YYRQ00 visitdatetime, --就诊时间 YYKSMC||' '||(select ckmc00 from bm_ckbm00 where ckbh00=b.ghhzck) YYKSMC, (select HZQSSJ from YS_HBHZXH where GHHBID=a.GHHBID and HZXH00=a.YYH000) HZSJ00 into Custname,groupname,qno000,czsj00,yyksmc,hzsj00 from SF_YYBRB0 a,sf_ysghhb b where a.YYID00=id0000 and a.ghhbid=b.ghhbid; update SF_YYBRB0 set HZDYCS=NVL(HZDYCS,0)+1 where YYID00=id0000 ; end if; --sp_yy_yyzygh; exception when others then outstr:=outstr||','||SqlErrm||as_SYSMSG; RAISE_APPLICATION_ERROR(-20020,'确认失败'||','||SqlErrm||as_SYSMSG); end;