CREATE OR REPLACE PROCEDURE SP_WLPT_SST_YYQR( id0000 in varchar2, --预约队列标识 cardno in varchar2, --卡号 cartype in varchar2, --IC卡类型 custname out varchar2, --病人姓名 groupname out varchar2, --医生姓名 qno000 out varchar2, --预约号 czsj00 out varchar2, --就诊日期 yyksmc out varchar2, --预约科室 hzsj00 out varchar2, --候诊时间 zs0000 out varchar2, --诊室 outstr out varchar2 --错误信息 ) as -- MODIFICATION HISTORY -- Person Date Comments -- yanghq 2019.07.31 省二自助机确认取号,从sp_sst_yyqr复制而来 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; LS_YYRQ00 SF_YYBRB0.YYRQ00%type; LS_YYSJ00 SF_YYBRB0.yyjssj%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,YYRQ00,YYJSSJ into LS_BRID01,ls_YYZT00,LS_GHID00,LS_YYH000,LS_BRDH00,LS_BRXM00,LS_YYRQ00,LS_YYSJ00 from SF_YYBRB0 where YYID00=id0000 ; end; if ls_YYZT00='1' then outstr:='您的预约信息已签到,请等候医生叫诊!'; return; end if; if LS_YYRQ00<>TO_CHAR(SYSDATE,'YYYYMMDD') then outstr:='病人预约信息不是该时段,请在对应时段签到1'; return; end if; if TO_NUMBER(substr(LS_YYSJ00,1,2))-12>=0 and TO_NUMBER(to_char(sysdate,'hh24'))-12<0 then outstr:='病人预约信息不是该时段,请在对应时段签到2'; return; end if; if TO_NUMBER(substr(LS_YYSJ00,1,2))