CREATE OR REPLACE PROCEDURE SP_SST_YYQR( P_CARDNO in varchar2, --卡号 P_CARTYPE in number, --IC卡类型 P_ID0000 in varchar2,--预约ID =SP_SST_YYBRLB.id0000(结果集游标) custname out varchar2, --病人姓名 groupname out varchar2, --医生姓名 qno000 out varchar2, --预约号 czsj00 out varchar2, --就诊日期 yyksmc out varchar2, --预约科室 hzsj00 out varchar2, --候诊时间 outstr out varchar2 --错误信息 ) AS -- MODIFICATION HISTORY -- Person Date Comments --zhangyc 2014.03.27 增加如果brid00=0 ,入参数 先对应 -- dsm 2015.01.09 限制重复预约的取号 for ZZJJK-20140917-001 -- yanghq 2018.03.26 增加判断预约号码的医生是否停诊 LS_BRID00 BM_BRXXB0.BRID00%type; LS_BRXM00 BM_BRXXB0.BRXM00%type; as_YHMSG0 varchar2(255); as_SYSMSG varchar2(255); ls_YYZT00 SF_YYBRB0.YYZT00%type; LS_CARDNO IC_YHXX00.ICKH00%type; LS_KMH000 IC_YHXX00.KMH000%type; LS_GHHBID SF_YYBRB0.GHHBID%type; LS_YYH000 SF_YYBRB0.YYH000%type; LS_BRDH00 SF_YYBRB0.BRDH00%type; LS_YYCOU SF_YYBRB0.YYH000%type; LS_HZSJXS number; E_SJCF EXCEPTION; LS_TZBZ00 SF_YSPBB0.TZBZ00%type; begin select SF_SST_GETICKH00(P_CARDNO,P_CARTYPE) into LS_CARDNO from dual; begin select BRID00 into LS_BRID00 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; select BRID00,YYZT00,GHHBID,YYH000,BRDH00 into ls_BRID00,ls_YYZT00,LS_GHHBID,LS_YYH000,LS_BRDH00 from SF_YYBRB0 where YYID00=P_ID0000 ; if nvl(ls_BRID00,0)>0 then --判断是否重复预约 select nvl(max(YYH000),0) into LS_YYCOU from SF_YYBRB0 where GHHBID=LS_GHHBID and BRID00=LS_BRID00 and YYZT00='1' and YYID00<>P_ID0000 and rownum=1; if LS_YYCOU>0 then outstr:='对不起,此医生您已经预约过了(预约号='||LS_YYCOU||'),不能重复预约确认!'; raise E_SJCF; end if; end if; if nvl(ls_BRID00,0)=0 then select BRID00,KMH000 into LS_BRID00,LS_KMH000 from IC_YHXX00 where ICKH00 =LS_CARDNO and ZT0000=1; --判断是否重复预约 select nvl(max(YYH000),0) into LS_YYCOU from SF_YYBRB0 where GHHBID=LS_GHHBID and BRID00=LS_BRID00 and YYZT00='1' and YYID00<>P_ID0000 and rownum=1; if LS_YYCOU>0 then outstr:='对不起,此医生您已经预约过了(预约号='||LS_YYCOU||'),不能重复预约确认!'; raise E_SJCF; end if; select BRXM00 into LS_BRXM00 from BM_BRXXB0 where BRID00=LS_BRID00; Update SF_YYBRB0 set BRID00=LS_BRID00,KMH000=LS_KMH000,ICKH00=LS_CARDNO where YYID00=P_ID0000; Update YS_HBHZXH set BRID00=LS_BRID00,BRXM00=LS_BRXM00,YYID00=P_ID0000 where GHHBID=LS_GHHBID AND HZXH00=LS_YYH000; end if; --outstr:=' '; select YYRQ00 visitdatetime, --就诊时间 (select HZQSSJ from YS_HBHZXH where GHHBID=a.GHHBID and HZXH00=a.YYH000) HZSJ00 into czsj00,hzsj00 from SF_YYBRB0 a where YYID00=P_ID0000; select TZBZ00 into LS_TZBZ00 from SF_YSGHHB where GHHBID=LS_GHHBID and rownum=1; --判断医生停诊 if LS_TZBZ00<>'0' then outstr:='确认失败:'||czsj00||'的预约号码的医生停诊!'; Custname:=''; groupname:=''; qno000:=''; czsj00:=''; yyksmc:=''; hzsj00:=''; rollback; return; end if; --当天的预约号只能当天取 if czsj00<>to_char(sysdate,'yyyymmdd') then outstr:='确认失败:'||czsj00||'的预约号码只能当天取!'; Custname:=''; groupname:=''; qno000:=''; czsj00:=''; yyksmc:=''; hzsj00:=''; rollback; return; end if; --取出候诊时间小时和当前时间小时对比 select to_number(substr(HZSJ00,1,instr(HZSJ00, ':')-1)) into LS_HZSJXS from dual; if LS_HZSJXS>12 and to_number(to_char(sysdate,'hh24'))<12 then outstr:='确认失败:'||to_char(LS_HZSJXS)||'的预约号码只能下午取!'; Custname:=''; groupname:=''; qno000:=''; czsj00:=''; yyksmc:=''; hzsj00:=''; rollback; return; end if; if ls_YYZT00='0' then SP_YY_YYZYGH_DGBR(ls_BRID00,to_number(P_ID0000),outstr,as_SYSMSG); end if; if nvl(outstr,' ')=' ' then select BRXM00 Custname, --病人姓名 YYYSXM groupname, --医生队列 YYH000 qno000, --预约号码 YYRQ00 visitdatetime, --就诊时间 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 where YYID00=P_ID0000; update SF_YYBRB0 set HZDYCS=NVL(HZDYCS,0)+1 where YYID00=P_ID0000 ; end if; --sp_yy_yyzygh; exception when E_SJCF then RAISE_APPLICATION_ERROR(-20019,outstr); when others then outstr:=outstr||','||SqlErrm||as_SYSMSG; RAISE_APPLICATION_ERROR(-20020,'确认失败'||','||SqlErrm||as_SYSMSG); end; CREATE OR REPLACE PROCEDURE SP_SST_MZYY_ZJYYDJ( -- PYYID00 in number, --预约编号 SQ_SF_YYBRBO_YYID00.nextval P_PBLSH in number,--挂号号 SF_YSGHHB.GHHBID P_HYLSH in number,--挂号号 SF_YSGHHB.GHHBID P_YSGH in varchar2, --医生编号 P_YSXM in varchar2, --医生姓名 P_JZRQ in varchar2, --就诊日期 P_YYSDBZ in number, --预约时段 P_HZHS in number, --候诊号数 P_HZSJ in varchar2, --候诊时间 P_BRXM in varchar2, --病人姓名 p_MZHM in varchar2, --门诊号码 (卡号) P_LXDH in varchar2, --联系电话 P_BRXB in number, --病人性别 P_CSNY in varchar2, --出生年月 P_SBXH in number, --单据号 P_JQZDBH in varchar2, --机器编号 P_CARDTYPE in number, P_ERRMSG out varchar2 --错误信息 ) as YYKF char(1);--预约是否扣费 1 扣费 0 不扣费 vDJRQ00 char(8);--操作日期 vDJSJ00 char(8);--操作时间 vYYKSBH BM_BMBM00.BMBH00%type;--预约科室编号 SF_YSGHHB.GHKSBH vYYKSMC BM_BMBM00.BMMC00%type;--预约科室名称 vYYYSBH BM_YGBM00.YGBH00%type;--预约医生编号 SF_YSGHHB.GHYSBH vYYYSXM BM_YGBM00.ZWXM00%type;--预约医生姓名 vGHLB00 SF_YSGHHB.GHLBBH%type;--挂号类别 SF_YSGHHB.GHLBBH vSFXMID BM_YYSFXM.SFXMID%type;--收费项目编号 vYYBZ00 YS_HBHZXH.YYBZ00%type;--预约标志 '1'普通'2'优待 '3'预约 '4'电话 '5'分诊 '6'网络 vSFDTYY SF_YYBRB0.SFDTYY%type;--是否当天预约,'1'当天预约 ls_FBBH00 IC_YBBRLB.FBBH00%TYPE; --费别编号 ls_YBBRLB BM_BRXXB0.YBBRLB%TYPE; --病人类别 ls_YBZXLB IC_YBBRLB.YBZXLB%TYPE; --医保中心类别 ls_GFBL00 NUMBER(12,2); --公费报销比例 ls_JZBL00 NUMBER(12,2); --记账报销比例 ls_MXZFJE SF_FYMX00.ZFJE00%TYPE; --费用明细表的自付金额 ls_MXJZJE SF_FYMX00.JZJE00%TYPE; --费用明细表的记账金额 ls_MXGFJE SF_FYMX00.GFJE00%TYPE; --费用明细表的公费金额 ls_MXHJJE SF_FYMX00.HJJE00%TYPE; --费用明细表的合计金额 ls_yhbl00 bm_yyhsxm.yhbl00%type; ls_ZFBL00 BM_YBSFDY.ZFBL00%type; --费用自付比例 E_SJCF EXCEPTION; V_COUNT0 NUMBER(5,0); v_YYID00 SF_YYBRB0.YYID00%type; --预约id v_SFYYDTYY CHAR(10); --是否允许当天预约 ls_bz0000 SF_YYBRB0.BZ0000%type; v_yxtqgh xt_xtcs00.value0%type; V_sdxs00 number(5); V_ynyymx sf_yspbb0.fzyymx%type; ls_YGBH00 BM_YGBM00.YGBH00%type; ls_YGXM00 BM_YGBM00.ZWXM00%type; ls_YGBMBH BM_YGBM00.ZWXM00%type; ls_BRID00 BM_BRXXB0.BRID00%type; LS_BRXM00 BM_BRXXB0.BRXM00%type; LS_BRXM01 BM_BRXXB0.BRXM00%type; ls_BRXB00 BM_BRXXB0.BRXB00%type; PYYLB00 varchar2(4); LS_ICKH IC_YHXX00.ickh00%type; ls_HJJE00 numeric (10,2); ls_SFZH00 BM_BRXXB0.brzjbh%type; ls_YYJSSJ varchar2(8); LS_YYID00 SF_YYBRB0.YYID00%type; LS_ERRORSTR varchar2(200); LS_BRZHYE number(12,4); vGHZKBH number(10);--挂号专科编码 vGHZKMC varchar2(50);--挂号专科名称 vSWYYXWSWLYY varchar2(4); vYYSJDJSJWBXT varchar2(2); --预约时间和登记时间午别相同(上午、下午) -- MODIFICATION HISTORY -- Person Date Comments -- dsm 2012.05.28 create -- zhangyc 2014.05.27 增加LS_BRZHYE 判断 by ZZJJK-20140429-001 -- zhangyc 2014.08.01 增加在同一个专业科室不能预约多个号 by ZZJJK-20140730-001 -- zhangyc 2015.07.13 病人姓名从基础表中获取 -- zhangyc 2015.08.21 增加日子记录是否病人姓名 by ZZJJK-20150717-001 -- dsm 2016.06.28 12320预约的KMH000是H开头的,不能用LS_ICKH for ZZJJK-20160616-001 -- yanghq 2018.02.26 预约日期大于今天的算网络预约 -- yanghq 2018.02.26 上午预约下午算网络预约,控制参数YY_SWYYXWSWLYY,Y是,N否,默认为N -- --------- ---------- -------------------------------------------------- begin P_ERRMSG:=''; LS_BRZHYE:=0; select SF_SST_GETICKH00(P_MZHM,P_CARDTYPE) into LS_ICKH from dual; begin select BRID00 into LS_BRID00 from IC_YHXX00 where ICKH00 =LS_ICKH and ZT0000=1; exception WHEN NO_DATA_FOUND THEN P_ERRMSG:='IC卡号:'||LS_ICKH||'在本院IC_YHXX00表中未找到,请联系管理员!'; raise no_data_found; end; LS_BRXM00:=P_BRXM; select A.BRXM00 into LS_BRXM00 from BM_BRXXB0 A,IC_YBBRLB C where A.FBBH00 =C.FBBH00 and A.YBLB00=C.YBLB00 and A.BRID00=ls_brid00; begin Select nvl(XJYE00,0)-nvl(TYJE00,0)+nvl(YXQFJE,0) into LS_BRZHYE from SF_BRZHXX where brid00=ls_brid00 and JFLBID=1; exception when no_data_found then LS_BRZHYE:=0; end; if LS_BRZHYE<20 then P_ERRMSG:='账户余额低于20元,不允许自助机预约取号!'; return; end if; --取参数 begin select trim(VALUE0) into v_SFYYDTYY from XT_XTCS00 where NAME00='YY_SFYXDTYY'; exception when others then v_SFYYDTYY:='N'; end; --取参数 select upper(trim(nvl(max(VALUE0),'N'))) into v_yxtqgh from XT_XTCS00 where NAME00='YS_SFYXPTBRTQGH'; --取当前操作日期、时间 select to_char(sysdate,'YYYYMMDD'),to_char(sysdate,'HH24:MI:SS') into vDJRQ00,vDJSJ00 from dual; if (v_SFYYDTYY='N') and (P_JZRQ=vDJRQ00 ) then --不允许操作当天的预约信息 P_ERRMSG:='预约的就诊日期不能是当天!'; raise no_data_found; end if; if ( P_JZRQ'M') or (v_yxtqgh='M' and P_JZRQ=vDJRQ00) then select count(*) into V_COUNT0 from YS_HBHZXH where GHHBID=P_HYLSH and HZXH00=P_HZHS and BRXM00 is null; if V_COUNT0=0 then P_ERRMSG:='你所选择的医生排班表记录及序号不存在'||'select count(*) from YS_HBHZXH where GHHBID='||to_char(P_HYLSH)||' and HZXH00='||to_char(P_HZHS)||' '; raise no_data_found; end if; end if; --取扣费方式过程 不自动扣费 begin select trim(value0) into YYKF from XT_XTCS00 where NAME00 ='YY_YYKF'; exception when others then YYKF:='0'; end; if ls_BRID00=0 then --也不扣费 YYKF:='0'; end if; if YYKF='1' then select nvl(sum(HJJE00),0) into ls_HJJE00 from SF_BRFY00 where DJH000=P_SBXH; if ls_hjje00=0 then P_ERRMSG:='对不起,此病人未扣预约费!'; raise E_SJCF; end if; end if; begin select YGBH00,ZWXM00,BMBH00 into ls_YGBH00,ls_YGXM00,ls_YGBMBH from VW_SST_YGBMDYXX where ZZJBH0=P_JQZDBH ; exception when others then P_ERRMSG:='对不起,找不到机器编号对应的收费员:'||P_JQZDBH; raise E_SJCF; end; vyybz00:='5'; PYYLB00:='1'; vSFDTYY:='0'; --预约日期大于今天的算网络预约 if P_JZRQ>vDJRQ00 then PYYLB00:='2'; end if; if v_yxtqgh='M' and P_JZRQ=vDJRQ00 then vYYBZ00:='7'; --当天预约 vSFDTYY:='1';--当天预约 end if; --取预约的排班信息 if (v_yxtqgh<>'M') or (v_yxtqgh='M' and vSFDTYY='1') then begin Select a.GHKSBH,b.BMMC00,a.GHYSBH,c.ZWXM00,a.GHLBBH into vYYKSBH,vYYKSMC,vYYYSBH,vYYYSXM,vGHLB00 from SF_YSGHHB a,BM_BMBM00 b,BM_YGBM00 c where a.GHHBID=P_HYLSH and a.GHKSBH=b.BMBH00 and a.GHYSBH=c.YGBH00; exception when others then P_ERRMSG:='取排班信息出现错误,传入的GHHBID='||to_char(P_PBLSH)||'没有取到数据!'; raise no_data_found; end; else begin Select a.YSKSBH,b.BMMC00,a.YSYGBH,c.ZWXM00,a.MZLBID into vYYKSBH,vYYKSMC,vYYYSBH,vYYYSXM,vGHLB00 from SF_YSPBB0 a,BM_BMBM00 b,BM_YGBM00 c where a.YSPBID=P_PBLSH and a.YSKSBH=b.BMBH00 and a.YSYGBH=c.YGBH00; --PGHHBID exception when others then P_ERRMSG:='取排班信息出现错误,传入的YSPBID='||to_char(P_PBLSH)||'没有取到数据!'; raise no_data_found; end; end if; begin select HZQSSJ||':00' into ls_YYJSSJ from YS_HBHZXH where GHHBID=P_HYLSH and HZXH00=P_HZHS; exception when others then P_ERRMSG:='取排班候诊信息出错,传入的GHHBID='||to_char(P_PBLSH)||'没有取到数据!'; raise no_data_found; end; --上午预约下午算网络预约,Y是,N否,默认为N begin select trim(value0) into vSWYYXWSWLYY from XT_XTCS00 where NAME00 ='YY_SWYYXWSWLYY'; exception when others then vSWYYXWSWLYY:='N'; end; if vSWYYXWSWLYY='Y' and P_JZRQ=vDJRQ00 then if to_number(substr(vDJSJ00,1,2))<12 and to_number(substr(ls_YYJSSJ,1,2))>12 then PYYLB00:='2'; end if; end if; vYYSJDJSJWBXT:= 'N'; if to_number(substr(vDJSJ00,1,2))<12 and to_number(substr(ls_YYJSSJ,1,2))<12 then vYYSJDJSJWBXT:= 'Y'; end if; if to_number(substr(vDJSJ00,1,2))>12 and to_number(substr(ls_YYJSSJ,1,2))>12 then vYYSJDJSJWBXT:= 'Y'; end if; if P_JZRQ||ls_YYJSSJ=vDJRQ00 and YYRQ00=P_JZRQ and ((BRID00=LS_BRID00 and BRXM00=LS_BRXM00) or ( BRXM00=LS_BRXM00 and BRDH00=P_LXDH) or KMH000=LS_ICKH or KMH000=replace(LS_ICKH,'NPYB','') or ICKH00=ls_ICKH ) and YYKSBH=vYYKSBH and YYZT00 in ('0','1','3') --and (YYRQ00||YYJSSJ>=to_char(sysdate-5/1440,'YYYYMMDDHH24:MI:SS') or DJRQ00=to_char(sysdate,'YYYYMMDD')) -- and (YYRQ00||YYJSSJ>=to_char(sysdate-5/1440,'YYYYMMDDHH24:MI:SS') or (DJRQ00=to_char(sysdate,'YYYYMMDD') and sign((to_number(substr(DJSJ00,1,2))-12))>=sign((to_number(substr(vDJSJ00,1,2))-12)) )) and (YYRQ00||YYJSSJ>=to_char(sysdate-5/1440,'YYYYMMDDHH24:MI:SS') or (DJRQ00=to_char(sysdate,'YYYYMMDD') and (sign((to_number(substr(DJSJ00,1,2))-12))=sign((to_number(substr(vDJSJ00,1,2))-12)) or (sign((to_number(substr(DJSJ00,1,2))-12))=to_char(sysdate,'YYYYMMDD')); if V_COUNT0>0 then P_ERRMSG:='你在'||vYYKSMC||'已预约一个号。不能在同一个科室预约多个号!'; raise E_SJCF; end if; --2014.08.01 在同一个专业科室只允许预约一次 by ZZJJK-20140730-001--begin-- V_COUNT0:=0; begin select GHZKBH,GHZKMC into vGHZKBH,vGHZKMC from VW_SF_YSGHHB where GHHBID=P_HYLSH ; exception when others then vGHZKBH:=0; vGHZKMC:=''; end; select count(*) into V_COUNT0 from SF_YYBRB0 a,VW_SF_YSGHHB c where a.GHHBID=c.GHHBID and a.YYRQ00>=vDJRQ00 and a.BRID00=LS_BRID00 and c.GHZKMC=vGHZKMC and a.YYZT00 in ('0','1') and a.YYJSSJ>=vDJSJ00 and exists(select 1 from YS_HBHZXH where GHHBID=a.GHHBID and a.YYH000=HZXH00 and a.YYRQ00||hzqssj>=to_char(sysdate,'YYYYMMDD')); if V_COUNT0>0 then P_ERRMSG:='你在'||vGHZKMC||'已预约一个号。不能在同一个专业科室预约多个号!'; raise E_SJCF; end if; --2014.08.01 在同一个专业科室只允许预约一次 by ZZJJK-20140730-001--end--- --if ((v_yxtqgh<>'M') or (v_yxtqgh='M' and P_JZRQ=vDJRQ00)) then select count(*) into V_COUNT0 from SF_YYBRB0 where YYRQ00>=vDJRQ00 and GHHBID=P_HYLSH and YYH000=P_HZHS and YYZT00<>'2'; if V_COUNT0>0 then P_ERRMSG:='所选择的预约号已被占用,请选择其它号!'; raise E_SJCF; end if; /*elsif (v_yxtqgh='M' and P_JZRQ<>vDJRQ00) then select count(1) into V_COUNT0 from sf_yybrb0 where yyrq00=P_JZRQ and YSPBID=P_PBLSH and YYZT00<>'2' and yyjssj=ls_YYJSSJ and nvl(wlyyid,0)=0; --PGHHBID select ceil((to_date(substrb(ls_YYJSSJ,1,5),'hh24:mi:ss')-to_date(b.kssj00,'hh24:mi:ss'))*24)+1,a.YNYYMX into V_sdxs00,V_ynyymx from sf_yspbb0 a,bm_mzsjb0 b where a.yspbsj=b.MZSJ00 and a.YSPBID=P_PBLSH; select SF_YS_HZDYYS(V_sdxs00,V_ynyymx)- V_COUNT0 into V_COUNT0 from dual; if V_COUNT0<0 then P_ERRMSG:='所选择的预约时段已全部预约完毕,请选择其它时段!'; raise E_SJCF; end if; end if; */ --登记 -- if v_yxtqgh='M' and vSFDTYY='1' then update sf_ysghhb set YYXHS0=YYXHS0+1,TQYYS0=TQYYS0+1 where ghhbid = P_PBLSH; -- end if; --P_ERRMSG:='预约登记将数据插入插入表SF_YYBRB0时,产生错误,请检查!'; select SQ_SF_YYBRB0_YYID00.nextval into LS_YYID00 from dual; insert into SF_YYBRB0( YYID00,JZID00,GHHBID,YYH000,BRID00,BRXM00,BRDH00,KMH000, ICKH00,YYKSBH,YYKSMC,YYYSBH,YYYSXM,YYLB00,YYRQ00, YYJSSJ,YYZT00,YYYGBH,YYYGXM,DJH000,GHLB00,DJRQ00,DJSJ00,CZYBM0,BZ0000,SFZH00,YSPBID,YYSD00,SFDTYY,WLYYMC) values( LS_YYID00,0,P_HYLSH,P_HZHS,LS_BRID00,LS_BRXM00,P_LXDH,LS_ICKH, LS_ICKH,vYYKSBH,vYYKSMC,vYYYSBH,vYYYSXM,PYYLB00,P_JZRQ, ls_YYJSSJ,'0',ls_YGBH00,ls_YGXM00,P_SBXH,vGHLB00,vDJRQ00,vDJSJ00,ls_YGBH00,'',ls_SFZH00,P_PBLSH,'',vSFDTYY,''); --if (v_yxtqgh<>'M') or (v_yxtqgh='M' and vSFDTYY='1') then --更新医生号表侯诊序号 update YS_HBHZXH set BRID00=LS_BRID00,YYID00=LS_YYID00,BRXM00=LS_BRXM00,YYBZ00=vYYBZ00 where GHHBID=P_HYLSH and HZXH00=P_HZHS; -- end if; --更新病人电话号码 --update BM_BRXXB0 set BRDH00=nvl(P_LXDH,BRDH00) where BRID00=ls_BRID00; IF P_SBXH>0 then UPDATE SF_FYMX00 SET YSKS00=vYYKSBH,KDKS00=vYYKSBH,ZXKS00=vYYKSBH WHERE DJH000=p_SBXH; end if; if P_JZRQ=to_char(sysdate,'YYYYMMDD') and vSWYYXWSWLYY='N' then --当天的马上显示队列 SP_YY_YYZYGH_DGBR(ls_BRID00,to_number(ls_YYID00),LS_ERRORSTR,P_ERRMSG); update SF_YYBRB0 set HZDYCS=NVL(HZDYCS,0)+1 where YYID00=ls_YYID00; end if; if P_JZRQ=to_char(sysdate,'YYYYMMDD') and vSWYYXWSWLYY='Y' and vYYSJDJSJWBXT='Y' then --当天的马上显示队列 SP_YY_YYZYGH_DGBR(ls_BRID00,to_number(ls_YYID00),LS_ERRORSTR,P_ERRMSG); update SF_YYBRB0 set HZDYCS=NVL(HZDYCS,0)+1 where YYID00=ls_YYID00; end if; select A.BRXM00 into LS_BRXM01 from BM_BRXXB0 A,IC_YBBRLB C where A.FBBH00 =C.FBBH00 and A.YBLB00=C.YBLB00 and A.BRID00=LS_BRID00; --更新锁号表的状态 update QYZX_YYSHB0 set SHZT00='1' where BRID00=ls_BRID00 and GHHBID=P_HYLSH and YYXH00=P_HZHS and SHZT00='0'; --如果病人姓名不一致时写入日志 if LS_BRXM00<>LS_BRXM01 then Insert Into XT_XTCZRZ(CZID00,CZRQ00,CZSJ00,CZTable,CZLX00,CZRYBM,CZNR00,DATAID) Values(SQ_XT_XTCZRZ_ID0000.NEXTVAL,to_char(sysdate,'YYYYMMDD'),to_char(sysdate,'HH24:MI'),'BM_BRXXB0',0,ls_YGBH00,'自助机预约登记(SP_SST_MZYY_ZJYYDJ)修改姓名:'||LS_BRXM00||'->'||LS_BRXM01,LS_BRID00); end if; exception when E_SJCF then RAISE_APPLICATION_ERROR(-20019,P_ERRMSG||','||SqlErrm); --rollback; when no_data_found then RAISE_APPLICATION_ERROR(-20019,P_ERRMSG||','||SqlErrm); -- rollback; when others then RAISE_APPLICATION_ERROR(-20020,P_ERRMSG||','||SqlErrm); -- rollback; end;