CREATE OR REPLACE PROCEDURE SP_YJ_YW0000_MZDZBL( PCZLX00 in varchar2, --操作类型 0 新增 1 修改 2 删除 PYJDJH0 in number, --EMR医技诊疗单ID or 处方号 唯一号 用于后期通讯 PYJFZH0 in number, --分组号(一个标本多个检查,不同的单据号,相同的分组号) PBRID00 in number, --病人ID(冗余,由触发器自动增加修改) PZYGHID in number, --EMR挂号ID PZYHGHH in char, --住院(ZYH000)或门诊(GHH000)号(冗余) PMZZYBZ in char, --'0'为门诊'1'为住院 PBRXM00 in varchar2, --病人姓名(冗余,由触发器自动增加修改) PXB0000 in varchar2, --性别(主要用来辨别非门诊住院病人,冗余,由触发器自动增加修改) PCSRQ00 in char, --出生日期(主要用来辨别非门诊住院病人,冗余,由触发器自动增加修改) PYEXM00 in varchar2, --婴儿姓名 PZLXMID in number, --项目ID号 PZLXMJC in varchar2, --项目简称(冗余) PSL0000 in number, --单位数量 PZXSL00 in number, --已经执行数量3.17ADD PDW0000 in varchar2, --单位(冗余) PYJKSBH in number, --医技科室 PKDYS00 in number, --开单医生编号 PKDYSXM in varchar2, --开单人姓名(冗余,由触发器自动增加修改) PKDKSBH in number, --开单科室编号 PYSSZKS in number, --医生所在科室(冗余,由触发器自动增加修改) PKDRQ00 in char, --开单日期 PKDSJ00 in char, --开单时间 PLRXM00 in varchar2, --录入人姓名 PJZBZ00 in char, --急诊标志'Y'是'N'否 PFBZXBZ in char, --项目分步执行'Y'是'N'否 PBWMC00 in varchar2, --部位名称 PAPRXM0 in varchar2, --(需要预约的项目)安排人姓名 PAPRQ00 in char, --安排日期 PAPSJ00 in char, --安排时间 PJGLR00 in varchar2, --结果自由录入,可做手术安排人员的结果 PZXR000 in number, --执行人编号 PZXRXM0 in varchar2, --执行人姓名(冗余,由触发器自动增加修改) PZXRQ00 in char, --执行日期 PZXSJ00 in char, --执行时间 PZDID00 in varchar2, --诊断内部码(对应XT_ICD900.ICD900) PZDMC00 in varchar2, --临床诊断名称(冗余,由触发器自动增加修改) PJGBGRQ in char, --结果报告日期 PJGBGYS in number, --结果报告医生编号 PBGYSXM in varchar2, --报告医生姓名(冗余,由触发器自动增加修改) PXMZT00 in char, --项目状态,'0'申请'1'计价'2'已收费'3'已执行'4'已报告'5'疑退'6'作废 PSFDJH0 in number, --收费单据流水号 PYZCFID in char, --医嘱ID/医嘱明细ID/注射相关处方号 PYPNM00 in number, --皮试药品内码 PDCBZ00 in char, --带出标志'0'正常'1'用药带出'2'皮试带出 PTQPC00 in number, --提取批次SQ_BQ_ZBTQYZ_ID0000 PCXDJH0 in number, --冲销医技单据号 PZJE000 in out number, --总金额(触发器自动修改) PBZ0000 in varchar2, --备注() PYJLRBZ in char, --医技科室录入标志'D'代录'Y'医技科室录入'N'医生录入'T'体检录入 PKDBQ00 in number, --开单病区 PJGZCBZ in char, --'0'未定'Y'正常'N'不正常 PBQSFBZ in char, --病区收费标志 PCH0000 in char, --床号 PNL0000 in varchar2, --年龄 PMC0000 in varchar2, --名称 PBH0000 in char, --编号 PCFID00 in varchar2, --处方ID PBBID00 in varchar2, --标本ID PLRY000 in number, -- PBBBZ00 in varchar2, -- PZLDCCF in varchar2, --诊疗带出处方 PTXM000 in varchar2, --条形码 PDYRQTM in char, --条形码打印日期 PDYSJTM in char, --条形码打印时间 PYJDJDY in char, --医技单据打印;'1'为打印 PSM0000 in varchar2, --说明 PZXYS00 in number, --执行医生 PCXSL00 in number, --冲销数量 PZHXMID in number, -- PSQID00 in number, -- PZSDYMC in varchar2, -- PTSBSMC in varchar2, -- PJCQZY0 in varchar2, --检查前注意事项 PQSPC00 in varchar2, --(签收批次) PQSRQ00 in char, --(签收日期) PQSSJ00 in char, --(签收时间) PQSR000 in number, --签收人工号 PQSRXM0 in varchar2, --签收人姓名 PDYBGRQ in char, --打印报告日期 PSYLSH0 in varchar2, --当天输液流水号 PSMKSBH in number, --扫描科室编号 PJZQRR0 in number, --记帐确认日期 PJZQRSJ in char, --记帐确认时间 PJZQRRQ in char, --记帐确认日期 PCJKSBH in number, -- PYYID00 in number, --检查治疗预约ID(YJ_YYBRB0.YYID00) PDWZBID in number, -- PZPJLID in number, --照片记录ID(BM_BRZPXX.JLID00) PZHJE00 in number, --体检系统:折后金额 PQRYSBH in number, --确认医生编号 PQRRQ00 in varchar2, --确认日期 PKYXMMC in varchar2, --科研项目名称 PSFGHZC in varchar2, --是否为挂号费或诊察费项目(挂号费、诊查费以诊疗项目形式带出时) PFJDJBZ in char, --是否为附加单据0主单1采血费2试管费3挂号费4诊查费5血库子单6预约挂号7代煎9其他子单a注射b床位c病区普通常规费 d病区常规项目附加费 e药品用药附加费(bq_fjf000) PHBDJH0 in number, --合并单据号 PBWBH00 in varchar2, --部位编号多个用逗号分隔 PHBXHID in number, -- PYZLX00 in varchar2, --医嘱类型 0:普通 1:手术医嘱 2输血 3会诊 4医技录入会诊(执行时反向生成医嘱) PBBZT00 in varchar2, --pacs 0申请、1收到影像、2初步报告、3确认报告 PYSZID0 in number, -- PZRZYLS in number, --择日住院流水号 PAPNUM0 in number, --安排号 PYBSSSH in varchar2, --医保审核标志:1已审核,0未审核 PAPJCZS in number, --安排检查诊室 PYYID01 in varchar2, --分院ID PDYRQXX in char, --病人信息条码打印日期 PDYSJXX in char, --病人信息条码打印时间 PDYCZY0 in number, --病人信息条码打印操作人 PZRYJDH in number, --择日医技单号 PLJID00 in number, -- PBRZXJD in number, -- PJHMXID in number, -- PBYYY00 in varchar2, -- PLJYZMX in number, -- PSQZCID in number, -- PWZBM00 in varchar2, -- PSSBM00 in varchar2, -- PSSMC00 in varchar2, -- PSSYJDH in varchar2, -- PWZBH00 in varchar2, -- PSFXYSH in char, -- PSHZT00 in char, -- PJKZT00 in char, -- PDQKS00 in number, -- PBRPIC0 in varchar2, -- PSFBLJC in varchar2, --是否病理检查 PSFMZJC in varchar2, --是否麻醉检查 PHISYJH in varchar2, -- PWBZYGH in varchar2, -- PZXDCBZ in varchar2, --主项标志,在手术费用划价用 PCZBZ00 in varchar2, --操作标志,0增加,1修改,2删除,集成平台接口有用 PAPNUM2 in number, --安排号2 PLLBZ00 in varchar2, --浏览标志,’1’表示浏览 PCXSHR0 in number, --冲销审核人 PAPSJD0 in varchar2, --安排时间段 PLRKS00 in number, --录入科室 PZYE000 out number, --病人账户余额 FYJDJH0 out number, --存储的医技单据号 PDJID00 in number, --套餐登记ID PDJMXID in number, --套餐登记明细ID PZFFSBZ in varchar2 --自费发送标志 ) as -- MODIFICinATION HISTORY -- Person Date Comments -- ruanbh 2018.03.15 create -- ruanbh 2019.04.24 增加写入DJID00,DJMXID MZYSSJ5-20190424-002 -- ruanbh 2019.07.16 提前写入DJID00,DJMXID MZYSSJ5-20190626-001 -- ruanbh 2019.08.06 修改套餐状态 MZYSSJ5-20190725-002 -- ruanbh 2020.05.26 修改YJFZH0取值 MZYSSJ5-20200525-001 --huangzw 2020.12.28 描述性医嘱zlxmid=0 允许保存 for MZYSSJ5-20201126-002 -- ruanbh 2021.07.20 增加入参自费发送标志ZFFSBZ MZYSSJ5-20210525-003 VCOUNTER number; --计数器变量 ECUSTOM exception; --异常 VTSXX00 varchar2(200); --异常信息 VYJDJH0 number(10); --医技单据号 TZYGHID YJ_YW0000.ZYGHID%TYPE; --挂号ID TZYGHH0 YJ_YW0000.ZYHGHH%TYPE; --挂号号 VZXMID0 varchar2(255); --子项目id V_RETURN number; V_ERROR0 varchar2(200); VYJFZH0 YJ_YW0000.YJFZH0%TYPE; --同组YJDJH0 VZLXMLB BM_ZLZD00.LBBH00%type; VSQID00 YJ_YW0000.SQID00%type; VZLXMID YJ_YW0000.ZLXMID%type; VZLDCCF YJ_YW0000.ZLDCCF%type; VTCZT00 SF_TCDJ00.ZT0000%type; VXKH000 varchar2(10); --胸卡号 VJYTZBH BM_ZLZD00.JYTZBH%type; --检验同组编号 Vid0000 number; cursor Cjyzxm0 is select ZXMID0 from VW_YS_YWMXXM where SJXMID=PZLXMID and GDXMBZ='Y' ; begin TZYGHH0:=to_char(PZYGHID); select count(*) into VCOUNTER from SF_BRXXB0 where GHH000=TZYGHH0; if Vcounter=0 then VTSXX00 := '外单位ID='||PZYGHID||'不存在!'; raise ECUSTOM; end if; select GHID00,GHH000 into TZYGHID,TZYGHH0 from sf_brxxb0 where GHH000=TZYGHH0; select count(*) into VCOUNTER from BM_BRXXB0 where BRID00=PBRID00; if Vcounter=0 then VTSXX00 := '病人ID='||PBRID00||'不存在!'; raise ECUSTOM; end if; select D.ZYE000 into PZYE000 FROM BM_BRXXB0 A,IC_YBBRLB C,SF_BRZHXX D where A.YBLB00=C.YBLB00 and A.FBBH00=C.FBBH00 and A.BRID00=D.BRID00(+) and A.BRID00=PBRID00; select A.LBBH00 into VZLXMLB from BM_ZLZD00 A where A.ZLXMID=PZLXMID; if PCZLX00='0' OR PCZLX00='1' then for ZXM in Cjyzxm0 Loop if VZXMID0 is null then VZXMID0:=to_char(ZXM.ZXMID0); else VZXMID0:=VZXMID0||','||to_char(ZXM.ZXMID0); end if; end loop; if VZXMID0 is null and PZLXMID<>0 then VTSXX00:='没有选中子项目,不能保存'; Raise ECustom; end if; end if; if VZLXMLB='4' then select JYTZBH into VJYTZBH from BM_ZLZD00 where ZLXMID=PZLXMID; select min(YJFZH0) into VYJFZH0 from YJ_YW0000 A,BM_ZLZD00 B where A.ZLXMID=B.ZLXMID and A.ZYGHID=TZYGHID and A.XMZT00 in('0','1') and B.lbbh00='4' and YJDJH0<>PYJDJH0 and B.JYTZBH=VJYTZBH; end if; if VYJFZH0=null then VYJFZH0 := VYJDJH0; end if; VYJDJH0 := PYJDJH0; if PCZLX00='0' then if PYJDJH0 is null or PYJDJH0=0 then select SQ_YJ_YW0000_YJDJH0.nextval into VYJDJH0 from dual; end if; FYJDJH0 := VYJDJH0; insert into YJ_YW0000 ( YJDJH0,YJFZH0,BRID00,ZYGHID,ZYHGHH,MZZYBZ,BRXM00,XB0000,CSRQ00,YEXM00,ZLXMID,ZLXMJC,SL0000,ZXSL00,DW0000, YJKSBH,KDYS00,KDYSXM,KDKSBH,YSSZKS,KDRQ00,KDSJ00,LRXM00,JZBZ00,FBZXBZ,BWMC00,APRXM0,APRQ00,APSJ00,JGLR00, ZXR000,ZXRXM0,ZXRQ00,ZXSJ00,ZDID00,ZDMC00,JGBGRQ,JGBGYS,BGYSXM,XMZT00,SFDJH0,YZCFID,YPNM00,DCBZ00,TQPC00, CXDJH0,ZJE000,BZ0000,YJLRBZ,KDBQ00,JGZCBZ,BQSFBZ,CH0000,NL0000,MC0000,BH0000,CFID00,BBID00,LRY000,BBBZ00, ZLDCCF,TXM000,DYRQTM,DYSJTM,YJDJDY,SM0000,ZXYS00,CXSL00,ZHXMID,SQID00,ZSDYMC,TSBSMC,JCQZY0,QSPC00,QSRQ00, QSSJ00,QSR000,QSRXM0,DYBGRQ,SYLSH0,JZQRR0,JZQRSJ,JZQRRQ,CJKSBH,YYID00,DWZBID,ZPJLID,ZHJE00,QRYSBH, QRRQ00,KYXMMC,FJDJBZ,HBDJH0,BWBH00,HBXHID,YZLX00,BBZT00,YSZID0,ZRZYLS,APNUM0,YBSSSH,APJCZS,YYID01, DYRQXX,DYSJXX,DYCZY0,ZRYJDH, SHZT00,JKZT00,SFBLJC,SFMZJC,HISYJH,ZXDCBZ,CZBZ00,APNUM2,LLBZ00,CXSHR0,APSJD0, LRKS00,WDWID0,SJLY00,DJID00,DJMXID,ZFFSBZ )values( VYJDJH0,VYJFZH0,PBRID00,TZYGHID,TZYGHH0,PMZZYBZ,PBRXM00,PXB0000,PCSRQ00,PYEXM00,PZLXMID,PZLXMJC,PSL0000,0,PDW0000, PYJKSBH,PKDYS00,PKDYSXM,PKDKSBH,PYSSZKS,PKDRQ00,PKDSJ00,PLRXM00,PJZBZ00,PFBZXBZ,PBWMC00,PAPRXM0,PAPRQ00,PAPSJ00,PJGLR00, PZXR000,PZXRXM0,PZXRQ00,PZXSJ00,PZDID00,PZDMC00,PJGBGRQ,PJGBGYS,PBGYSXM,'1',0,PYZCFID,PYPNM00,PDCBZ00,PTQPC00, PCXDJH0,PZJE000,PBZ0000,PYJLRBZ,PKDBQ00,nvl(PJGZCBZ,'0'),PBQSFBZ,PCH0000,PNL0000,PMC0000,PBH0000,PCFID00,PBBID00,PLRY000,PBBBZ00, PZLDCCF,PTXM000,PDYRQTM,PDYSJTM,PYJDJDY,PSM0000,PZXYS00,PCXSL00,PZHXMID,PSQID00,PZSDYMC,PTSBSMC,PJCQZY0,PQSPC00,PQSRQ00, PQSSJ00,PQSR000,PQSRXM0,PDYBGRQ,PSYLSH0,PJZQRR0,PJZQRSJ,PJZQRRQ,PCJKSBH,PYYID00,PDWZBID,PZPJLID,PZHJE00,PQRYSBH, PQRRQ00,PKYXMMC,PFJDJBZ,PHBDJH0,PBWBH00,PHBXHID,PYZLX00,PBBZT00,PYSZID0,PZRZYLS,PAPNUM0,PYBSSSH,PAPJCZS,PYYID01, PDYRQXX,PDYSJXX,PDYCZY0,PZRYJDH, PSHZT00,PJKZT00,PSFBLJC,PSFMZJC,PHISYJH,PZXDCBZ,PCZBZ00,PAPNUM2,PLLBZ00,PCXSHR0,PAPSJD0, PLRKS00,PYJDJH0,'1',PDJID00,PDJMXID,PZFFSBZ ); if Pzlxmid<>0 then SP_EXECUTE_SQL('insert into YJ_YWMX00 (ID0000,YJDJH0,ZLXMID,XMMC00,JGDW00,CKZ000,SL0000)'|| ' select SQ_YJ_YWMX00_ID0000.nextval,'||to_char(Pyjdjh0)||',ZLXMID,ZLXMJC,JGDW00,CKZ000,'||to_char(Psl0000)|| ' from BM_ZLZD00 where ZLXMID in ('||Vzxmid0||')'); SF_YJ_YWJJ_NOCOMMIT(VYJDJH0,1); else select SQ_YJ_YWMX00_ID0000.nextval into Vid0000 from dual; insert into YJ_YWMX00 (ID0000,YJDJH0,ZLXMID,XMMC00,JGDW00,CKZ000,SL0000) values(Vid0000,to_char(Pyjdjh0),to_char(Pzlxmid),Pzlxmjc,null,null,to_char(Psl0000)); end if; elsif PCZLX00='1' then FYJDJH0 := VYJDJH0; select ZLDCCF,ZLXMID into VZLDCCF,VZLXMID from YJ_YW0000 where YJDJH0=PYJDJH0; if VZLDCCF is not null and VZLXMID<>PZLXMID then delete from YF_MZCF00 where cflsh0=VZLDCCF; delete from YF_MZCFMX where cflsh0=VZLDCCF; end if; update YJ_YW0000 set YJFZH0=VYJFZH0,BRID00=PBRID00,ZYGHID=TZYGHID,ZYHGHH=TZYGHH0,MZZYBZ=PMZZYBZ,BRXM00=PBRXM00,XB0000=PXB0000,CSRQ00=PCSRQ00,YEXM00=PYEXM00,ZLXMID=PZLXMID,ZLXMJC=PZLXMJC,SL0000=PSL0000,ZXSL00=PZXSL00,DW0000=PDW0000, YJKSBH=PYJKSBH,KDYS00=PKDYS00,KDYSXM=PKDYSXM,KDKSBH=PKDKSBH,YSSZKS=PYSSZKS,KDRQ00=PKDRQ00,KDSJ00=PKDSJ00,LRXM00=PLRXM00,JZBZ00=PJZBZ00,FBZXBZ=PFBZXBZ,BWMC00=PBWMC00,APRXM0=PAPRXM0,APRQ00=PAPRQ00,APSJ00=PAPSJ00,JGLR00=PJGLR00, ZXR000=PZXR000,ZXRXM0=PZXRXM0,ZXRQ00=PZXRQ00,ZXSJ00=PZXSJ00,ZDID00=PZDID00,ZDMC00=PZDMC00,JGBGRQ=PJGBGRQ,JGBGYS=PJGBGYS,BGYSXM=PBGYSXM,XMZT00=PXMZT00,SFDJH0=PSFDJH0,YZCFID=PYZCFID,YPNM00=PYPNM00,DCBZ00=PDCBZ00,TQPC00=PTQPC00, CXDJH0=PCXDJH0,ZJE000=PZJE000,BZ0000=PBZ0000,YJLRBZ=PYJLRBZ,KDBQ00=PKDBQ00,JGZCBZ=nvl(PJGZCBZ,'0'),BQSFBZ=PBQSFBZ,CH0000=PCH0000,NL0000=PNL0000,MC0000=PMC0000,BH0000=PBH0000,CFID00=PCFID00,BBID00=PBBID00,LRY000=PLRY000,BBBZ00=PBBBZ00, TXM000=PTXM000,DYRQTM=PDYRQTM,DYSJTM=PDYSJTM,YJDJDY=PYJDJDY,SM0000=PSM0000,ZXYS00=PZXYS00,CXSL00=PCXSL00,ZHXMID=PZHXMID,SQID00=PSQID00,ZSDYMC=PZSDYMC,TSBSMC=PTSBSMC,JCQZY0=PJCQZY0,QSPC00=PQSPC00,QSRQ00=PQSRQ00, QSSJ00=PQSSJ00,QSR000=PQSR000,QSRXM0=PQSRXM0,DYBGRQ=PDYBGRQ,SYLSH0=PSYLSH0,JZQRR0=PJZQRR0,JZQRSJ=PJZQRSJ,JZQRRQ=PJZQRRQ,CJKSBH=PCJKSBH,YYID00=PYYID00,DWZBID=PDWZBID,ZPJLID=PZPJLID,ZHJE00=PZHJE00,QRYSBH=PQRYSBH, QRRQ00=PQRRQ00,KYXMMC=PKYXMMC,FJDJBZ=PFJDJBZ,HBDJH0=PHBDJH0,BWBH00=PBWBH00,HBXHID=PHBXHID,YZLX00=PYZLX00,BBZT00=PBBZT00,YSZID0=PYSZID0,ZRZYLS=PZRZYLS,APNUM0=PAPNUM0,YBSSSH=PYBSSSH,APJCZS=PAPJCZS,YYID01=PYYID01, DYRQXX=PDYRQXX,DYSJXX=PDYSJXX,DYCZY0=PDYCZY0,ZRYJDH=PZRYJDH, SHZT00=PSHZT00,JKZT00=PJKZT00,SFBLJC=PSFBLJC,SFMZJC=PSFMZJC,HISYJH=PHISYJH,ZXDCBZ=PZXDCBZ,CZBZ00=PCZBZ00,APNUM2=PAPNUM2,LLBZ00=PLLBZ00,CXSHR0=PCXSHR0,APSJD0=PAPSJD0, LRKS00=PLRKS00,WDWID0=to_char(PYJDJH0),DJID00=PDJID00,DJMXID=PDJMXID,ZFFSBZ=PZFFSBZ where YJDJH0=PYJDJH0; delete from YJ_YWMX00 where YJDJH0=PYJDJH0; if Pzlxmid<>0 then SP_EXECUTE_SQL('insert into YJ_YWMX00 (ID0000,YJDJH0,ZLXMID,XMMC00,JGDW00,CKZ000,SL0000)'|| ' select SQ_YJ_YWMX00_ID0000.nextval,'||to_char(Pyjdjh0)||',ZLXMID,ZLXMJC,JGDW00,CKZ000,'||to_char(Psl0000)|| ' from BM_ZLZD00 where ZLXMID in ('||Vzxmid0||')'); SF_YJ_YWJJ_NOCOMMIT(PYJDJH0,1); else select SQ_YJ_YWMX00_ID0000.nextval into Vid0000 from dual; insert into YJ_YWMX00 (ID0000,YJDJH0,ZLXMID,XMMC00,JGDW00,CKZ000,SL0000) values(Vid0000,to_char(Pyjdjh0),to_char(Pzlxmid),Pzlxmjc,null,null,to_char(Psl0000)); end if; elsif PCZLX00='2' then if VZLXMLB='4' then SP_YS_JYSQWH( pyjdjh0=>Vyjdjh0, pdtzyjd=>null, pzlxmid=>null, pghid00=>null, Pzdid00=>null, Pzdmc00=>null, pzxmid0=>null, pmzzybz=>null, ptzbz00=>null, pjzbz00=>null, pkdys00=>null, pkdksbh=>null, pyjksbh=>null, psl0000=>null, pbz0000=>null, popflag=>'3', Pczy000=>null, Pbbid00=>null, Pzxjg00=>V_ERROR0, PZXBZ00=>V_RETURN ); else select nvl(SQID00,0) into VSQID00 from YJ_YW0000 where YJDJH0=PYJDJH0; if VSQID00<>0 then SELECT count(1) into VCOUNTER FROM yj_yw0000 a,ys_xmsqd0 b where a.sqid00=b.sqid00 and b.sqid00=VSQID00 and A.ZYGHID=TZYGHID and A.MZZYBZ='0' and YJDJH0<>PYJDJH0; if VCOUNTER=0 then DELETE FROM YS_XMSQD0 WHERE SQID00=VSQID00; end if; end if; delete from YJ_YW0000 where YJDJH0=PYJDJH0; delete from YJ_YWMX00 where YJDJH0=PYJDJH0; end if; end if; if PCZLX00='0' or PCZLX00='1' then if PDJMXID>0 then update SF_TCDJMX set YKSL00=YKSL00+PSL0000,SYSL00=SYSL00-PSL0000,ZT0000='1' where DJMXID=PDJMXID; end if; else if PDJMXID>0 then update SF_TCDJMX set YKSL00=YKSL00-PSL0000,SYSL00=SYSL00+PSL0000,ZT0000='1' where DJMXID=PDJMXID; end if; end if; -- ruanbh 2019.08.06 修改套餐状态 MZYSSJ5-20190725-002 if PDJID00>0 then VTCZT00:='0';--0已登记,1已完结,2已退回,3执行中 select count(*) into VCOUNTER from SF_TCDJMX where DJID00=PDJID00 and YKSL00>0; if VCOUNTER>0 then select count(*) into VCOUNTER from SF_TCDJMX where DJID00=PDJID00 and SYSL00>0; if VCOUNTER>0 then VTCZT00:='3'; else VTCZT00:='1'; end if; end if; update SF_TCDJ00 set zt0000=VTCZT00 where DJID00=PDJID00; end if; SP_YS_YJTSXZ(TZYGHID,VYJDJH0,V_RETURN,V_ERROR0); if V_RETURN=2 then VTSXX00:=V_ERROR0; Raise ECustom; end if; if PCZLX00<>'2' then select ZJE000 into PZJE000 from YJ_YW0000 where YJDJH0=VYJDJH0; end if; if PXMZT00='3' then select XKH000 into VXKH000 from BM_YGBM00 where YGBH00=PZXR000; SP_YJ_YWZX00(PYJDJH0,0,PSL0000,2,VXKH000,PYJKSBH,0); end if; delete from XT_ZJRWB0 where BM0000='YJ_YW0000' and ZJZDZ0=to_char(VYJDJH0) and ZXBZ00='0'; if PDJMXID>0 then delete from XT_ZJRWB0 where BM0000='SF_TCDJMX' and ZJZDZ0=to_char(PDJMXID) and ZXBZ00='0'; end if; IF PCZLX00<>'2' THEN UPDATE yj_ywjj00 SET ZFFSBZ=PZFFSBZ WHERE YJDJH0=PYJDJH0; END IF; exception when no_data_found then raise_application_error(-20001,substrb('没有找到数据!*'||sqlerrm,1,240)); when ECUSTOM then raise_application_error(-20010,substrb(VTSXX00||'!*',1,240)); when others then raise_application_error(-20002,substrb(replace(nvl(sqlerrm, '原因不明出错'),'预交金: ','')||'!*',1,240)); end;