-- Start of DDL Script for Procedure SD_HOSPITAL.SP_SF_MZCFQD_TEMPTJ -- Generated 2013/5/29 16:17:38 from SD_HOSPITAL@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.9.202.9)(PORT = 1521))) (CONNECT_DATA = (SID = dyhis1))) CREATE OR REPLACE PROCEDURE sp_sf_mzcfqd_temptj ( as_GHH000 in char, --挂号号 as_JZDH00 in char, --结算单号 as_XSFS00 in char default '0', --是否显示类别 1:显示 0:不显示 ad_ID0000 out number, --临时表的ID as_YHMSG0 out varchar, --存储过程提示的错误信息 as_SYSMSG out varchar --系统提示的错误信息 ) as ls_CZRQ00 CHAR(8); ls_CZSJ00 CHAR(8); ls_ZFXSBL CHAR(1); --自付显示比例,'0':不显示,'1':显示自付百分比 '2' 显示甲乙类 SF_AZLXM0 CHAR(1); SF_AZLXM1 CHAR(1); ls_FBBH00 SF_BRXXB0.FBBH00%TYPE; ls_JYSFDM SF_FYMX00.XMBH00%TYPE; --中药代煎费的收费代码 ls_ZFHJCE SF_JZB000.HJJE00%TYPE; --保存合计金额与自付金额的差额 ls_CFLSH0 YF_MZCF00.CFLSH0%TYPE; --处方流水号 ls_YPDLBH YF_MZCF00.YPDLBH%TYPE; --药品类别编码 ls_YPDLBH_1 YF_MZCF00.YPDLBH%TYPE; --药品类别编码 ls_ZYTS00 YF_MZCF00.ZYTS00%TYPE; --中药帖数 ls_CFZJE0 YF_MZCF00.CFZJE0%TYPE; --处方总金额 ls_YSXM00 YF_MZCF00.YSXM00%TYPE; --医生姓名 ls_ZWXM00 BM_YGBM00.ZWXM00%TYPE; --操作员的中文姓名 ls_CKMC00 BM_CKBM00.CKMC00%TYPE; --发药窗口名称 ls_DCBZ00 YJ_YW0000.DCBZ00%TYPE; ls_YZCFID YJ_YW0000.YZCFID%TYPE; ls_ZLXMID YJ_YW0000.ZLXMID%TYPE; ls_BRID00 SF_BRXXB0.BRID00%TYPE; ls_hjje00 sf_fymx00.hjje00%type; ls_xkh000 BM_YGBM00.xkh000%type; ls_sfksly VARCHAR(20); ls_JZFBBH SF_JZB000.FBBH00%TYPE; --结算费别编号 ls_ZXKSMC BM_BMBM00.BMMC00%TYPE; --执行部门名称 CURSOR CUR_SF_MZCFQD_CFLSH0 IS SELECT B.CFLSH0,B.YPDLBH,B.ZYTS00,B.CFZJE0,B.YSXM00,D.ZWXM00,d.xkh000 from YF_MZCF00 B,SF_BRFY00 C,BM_YGBM00 D where B.DJH000 = C.DJH000 and B.CZY000 = D.YGBH00 and C.JZDH00 = as_JZDH00 and (B.GHH000 = as_GHH000 or as_GHH000 = '0') and EXISTS (select 1 from YF_MZCFMX where CFLSH0 = B.CFLSH0) and B.CFZT00 in ('1','2') --已收费过的处方 order by B.YPDLBH,B.CFLSH0; CURSOR CUR_SF_MZCFQD_ZYDJF0 IS --中药代煎费对应的费用 SELECT * from YF_MZCFMX F where CFLSH0 = ls_CFLSH0 and CXBZ00 = 'Z' and SFZBY0 = 'N'; CURSOR CUR_SF_MZCFQD_TEMPTJ IS SELECT A.YPMC00,A.YPZSL0,A.cfdw00,round(A.YPZSL0*A.LSDJ00,2) cfzje0,a.zfbl00,a.csl000,a.JLDW00,A.yblb00,A.YPNM00 from YF_MZCFMX A,YF_MZCF00 B where A.CFLSH0 = B.CFLSH0 and (B.CFLSH0 = ls_CFLSH0 or B.BCCFH0 = ls_CFLSH0) and B.YPDLBH = 2 and (B.GHH000 = as_GHH000 or as_GHH000 = '0') and B.CFZT00 in ('1','2','6') and A.SFZBY0 = 'N' and B.DJH000 in (select DJH000 from SF_BRFY00 C where 1 = 1 and (C.MZH000 = as_GHH000 or as_GHH000 = '0') and C.JZDH00 = as_JZDH00) order by a.zb0000,a.cfid00; CURSOR CUR_SF_MZCFQD_FYMXTJ IS select A.sfxmid,A.XMMC00,'',A.DW0000,d.JJJE00,d.ZFBL00,sum(d.SL0000) XMSL00, sum(d.sl0000*d.sfcs00*d.jjje00) HJJE00 from yj_yw0000 k,bm_yysfxm a,bm_zlxmlb c,bm_zlzd00 g,yj_ywjj00 d where k.zlxmid=g.zlxmid and g.lbbh00=c.lbbh00 and k.yjdjh0=d.yjdjh0 and c.LBMC00 in('治疗','手术','化验') and a.sfxmid=d.sfxmid and k.sfdjh0 in( select b.djh000 from sf_brfy00 b where B.JZDH00 = as_JZDH00 and (B.MZH000 = as_GHH000 or as_GHH000 = '0')) and k.mzzybz='0' group by A.sfxmid,A.XMMC00,A.DW0000,d.JJJE00,d.ZFBL00 having sum(d.SL0000) <> 0; CURSOR CUR_SF_MZCFQD_FYMXTJ_01 IS --modified by jlg -- select k.zlxmid,k.ZLXMJC||decode(K.bz0000,'','','/'||K.bz0000),'',k.DW0000,round(k.ZJE000/K.SL0000,2),sum(K.SL0000) XMSL00, select h.bmmc00,k.zlxmid,decode(c.LBMC00,'化验',k.ZLXMJC||decode(g.bz0000,'','','/'||g.bz0000),k.ZLXMJC||decode(K.bz0000,'',decode(K.BWMC00,'','','/'||K.BWMC00),'/'||K.bz0000)),'',k.DW0000,round(k.ZJE000/K.SL0000,2),sum(K.SL0000) XMSL00, sum(K.ZJE000) HJJE00 from yj_yw0000 k,bm_zlxmlb c,bm_zlzd00 g,bm_bmbm00 h where k.zlxmid=g.zlxmid and g.lbbh00=c.lbbh00 and k.yjksbh=h.bmbh00 -- and c.LBMC00 in('治疗','手术') and c.LBMC00 in('检查','治疗','手术','化验') and k.sfdjh0 in( select b.djh000 from sf_brfy00 b where B.JZDH00 = as_JZDH00 and (B.MZH000 = as_GHH000 or as_GHH000 = '0')) and k.mzzybz='0' -- group by k.zlxmid,k.ZLXMJC||decode(K.bz0000,'','','/'||K.bz0000),k.DW0000,round(k.ZJE000/K.SL0000,2) group by h.bmmc00,k.zlxmid,decode(c.LBMC00,'化验',k.ZLXMJC||decode(g.bz0000,'','','/'||g.bz0000),k.ZLXMJC||decode(K.bz0000,'',decode(K.BWMC00,'','','/'||K.BWMC00),'/'||K.bz0000)),k.DW0000,round(k.ZJE000/K.SL0000,2) having sum(k.SL0000) <> 0; lv_MZCFMX YF_MZCFMX%ROWTYPE; lv_FYMX00 SF_FYMX00%ROWTYPE; lv_MZCFQD BM_MZCFQD_TEMP00%ROWTYPE; ls_DYID00 BM_MZCFQD_TEMP00.DYID00%TYPE; ls_fydlxh yf_cfdl00.fydlxh%type; ls_COUNT0 NUMBER(12,2); ls_COUNT1 NUMBER(12,2); ls_COUNT3 NUMBER(12,2); ls_COUNT4 NUMBER(12,2); ls_COUNT5 NUMBER(12,2); ls_COUNT6 NUMBER(12,2); ls_COUNT7 NUMBER(12,2); ls_XLH000 NUMBER(12,2); ls_ghrq00 char(20); ls_ghksmc char(20); ls_jzysxm char(20); ls_ickh00 char(40); ls_xm0000 char(30); ls_xb0000 char(10); ls_fbmc00 char(20); ls_csrq00 char(10); ls_GHDLX0 VARCHAR2(30); ls_ts0000 varchar2(50); ls_XJSFDYH XT_XTCS00.VALUE0%TYPE; --小计是否显示在第一行 BEGIN ls_XLH000 := 1; ls_COUNT0 := 0; ls_COUNT4 := 0; ls_COUNT5 := 0; ls_COUNT6 := 0; ls_CZRQ00 := to_char(sysdate,'YYYYMMDD'); ls_CZSJ00 := to_char(sysdate,'HH24:MI:SS'); ls_DYID00 := 1; ls_ghrq00 :=''; ls_ghksmc :=''; ls_jzysxm :=''; ls_ickh00 :=''; ls_xm0000 :=''; ls_xb0000 :=''; ls_fbmc00 :=''; ls_csrq00 :=''; ls_ts0000 :=''; BEGIN select NVL(rtrim(value0),'0') into ls_GHDLX0 from XT_XTCS00 where name00 = 'SF_GHDLX0'; EXCEPTION WHEN OTHERS THEN ls_GHDLX0:='0'; END; --if ls_GHDLX0='9' then -- ls_ts0000:='请在'||to_char(sysdate+1/48,'HH24:MI')||'时间内取药'; --end if; BEGIN select trim(value0) into ls_JYSFDM from XT_XTCS00 WHERE NAME00='YF_ZYJYF_SFDM'; EXCEPTION WHEN OTHERS THEN ls_JYSFDM:=0; END; BEGIN select trim(value0) into SF_AZLXM0 from XT_XTCS00 WHERE NAME00='SF_AZLXM0'; EXCEPTION WHEN OTHERS THEN SF_AZLXM0:='N'; END; BEGIN select trim(value0) into SF_AZLXM1 from XT_XTCS00 WHERE NAME00='SF_AZLXM1'; EXCEPTION WHEN OTHERS THEN SF_AZLXM1:='N'; END; BEGIN SELECT NVL(TRIM(VALUE0), 'Y') INTO ls_XJSFDYH FROM XT_XTCS00 WHERE TRIM(NAME00) = 'SF_MZQDXJSFXSZDYH'; EXCEPTION WHEN OTHERS THEN ls_XJSFDYH := 'Y'; END; select HJJE00 - ZFJE00,BRID00,FBBH00 into ls_ZFHJCE,LS_BRID00,ls_JZFBBH from SF_JZB000 where JZDH00 = as_JZDH00; select B.YBMC00 into ls_fbmc00 from bm_brxxb0 A,ic_ybbrlb B where A.fbbh00 = B.fbbh00 and A.yblb00 = B.yblb00 and brid00=LS_BRID00; if as_GHH000 <> '0' then select FBBH00 into ls_FBBH00 from SF_BRXXB0 where GHH000 = as_GHH000; select trim(ghrq00),trim(ghksmc),trim(jzysxm),trim(ickh00),trim(xm0000),trim(xb0000),trim(sf_sf_CsrqToNl(CSRQ00)) into ls_ghrq00,ls_ghksmc,ls_jzysxm,ls_ickh00,ls_xm0000,ls_xb0000,ls_csrq00 from VW_SF_JZXX00 where JZDH00 =as_JZDH00 and GHH000 =as_GHH000 and rownum=1; else select FBBH00 into ls_FBBH00 from BM_BRXXB0 where BRID00 = LS_BRID00 AND ROWNUM=1; select trim(B.XM0000),trim(B.XB0000),trim(A.JZRQ00) into ls_xm0000,ls_xb0000,ls_ghrq00 from SF_JZB000 A,SF_PJSYQK B where A.PJH000 = B.FZPJH0 and A.JZDH00=as_JZDH00 and ROWNUM=1; end if; if ls_ZFHJCE <> 0 or ls_FBBH00 <> 1 or ls_JZFBBH<>1 then ls_ZFXSBL:='1'; select nvl(trim(max(value0)),'1') into ls_ZFXSBL from XT_XTCS00 where name00='SF_MZCFQDMXXS'; --'0'不显示'1'显示百分比'2'显示甲乙类 if ls_GHDLX0='9' and ls_JZFBBH=1 then --广东按结算费别 ls_ZFXSBL:='0'; end if; else ls_ZFXSBL:='0'; end if; --自付显示比例,'0':不显示,'1':显示 if ls_FBBH00= 1 then if as_XSFS00='1' then ls_ZFXSBL:='3'; else ls_ZFXSBL:='0'; end if; end if; select SQ_BM_MZCFQD_TEMP00_ID0000.nextval into ad_ID0000 from dual; OPEN CUR_SF_MZCFQD_CFLSH0; --获取药品的明细清单信息 LOOP FETCH CUR_SF_MZCFQD_CFLSH0 INTO ls_CFLSH0,ls_YPDLBH,ls_ZYTS00,ls_CFZJE0,ls_YSXM00,ls_ZWXM00,ls_xkh000; EXIT WHEN CUR_SF_MZCFQD_CFLSH0%NOTFOUND; --获得发药窗口名称 BEGIN select B.CKMC00,nvl(a.fydlxh,0) into ls_CKMC00,ls_fydlxh from YF_CFDL00 A,BM_CKBM00 B where A.FYCKBH = B.CKBH00 and A.CFLSH0 = ls_CFLSH0; EXCEPTION WHEN OTHERS THEN ls_CKMC00 := ''; ls_fydlxh :=0; END; --退药时要合并处方 select sum(round(b.ypzsl0*b.lsdj00,2)),max(Trim(b.ypdlbh)) into ls_CFZJE0,ls_YPDLBH_1 from yf_mzcf00 a,yf_mzcfmx b where a.cflsh0=b.cflsh0 and b.SFZBY0 = 'N' and (a.cflsh0=ls_CFLSH0 or a.bccfh0=ls_CFLSH0); if ls_CFZJE0<>0 then IF ls_YPDLBH <> 2 THEN --非草药 ls_DYID00:=ls_DYID00+1; select decode(sfksly,'Y','[治疗用药]','') into ls_sfksly from YF_MZCF00 where cflsh0=ls_CFLSH0;--是否治疗用药 IF ls_XJSFDYH = 'Y' THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00,FYCK00) values(ad_ID0000,'','','',' 小计:',SF_SF_CONVERTJE(ls_CFZJE0),ls_DYID00,decode(ls_YPDLBH_1,3,'卫生材料:','西成药取药:')||trim(ls_CKMC00)||DECODE(ls_sfksly,'[治疗用药]',' [治疗用药]',' '||to_char(ls_fydlxh)||'号')); END IF; ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,'NO:'||trim(ls_CFLSH0)||DECODE(ls_YSXM00,ls_ZWXM00,'','('||trim(ls_xkh000)||')'),'',ls_ts0000,'','',ls_DYID00); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,'药品名称/规格','数量',' 详细用法 ',' 单价 ','金额'||DECODE(ls_ZFXSBL,'1','/'||'自付','2','/'||'类别','(元)'),ls_DYID00); ls_DYID00:=ls_DYID00+1; --详细用法:次数量+剂量单位,CSL000+JLDW00/频次名称PCMC00/用药时间数+时间单位YYSJ00+YYSJDW/药品用法名称YPYFMC Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) select * from (select ad_ID0000,substr(trim(YPMC00)||'/'||trim(YPGG00),1,100),substr(to_char(YPZSL0,'990.99')||trim(CFDW00),1,20),substr(' '||SF_SF_CONVERTJE(abs(CSL000))||trim(JLDW00)||'/'||trim(PCMC00)||'/'||YYSJ00||trim(YYSJDW)||'/'||trim(YPYFMC),1,200),substr(SF_SF_CONVERTJE_DJ(LSDJ00),1,20), trim(substr(SF_SF_CONVERTJE(round(YPZSL0*LSDJ00,2)),1,20)||DECODE(ls_ZFXSBL,'1','/'||SF_SF_CONVERTJE(ZFBL00)*100||'%','2','/'||decode(ZFBL00,0,'甲类',1,'自费','乙类'), '3',decode(as_XSFS00,'1','/'||SF_SF_YBLBMC(A.yblb00,A.YPNM00),' '),' ')),ls_DYID00 from yf_mzcfmx A,YF_MZCF00 B where (B.CFLSH0 = ls_CFLSH0 OR B.BCCFH0=ls_CFLSH0) and A.SFZBY0 = 'N' AND A.CFLSH0=B.CFLSH0 order by a.zb0000,a.cfid00); --group by substr(trim(YPMC00)||'/'||trim(YPGG00),1,100),substr(' '||SF_SF_CONVERTJE(abs(CSL000))||trim(JLDW00)||'/'||trim(PCMC00)||'/'||YYSJ00||trim(YYSJDW)||'/'||trim(YPYFMC),1,200),substr(SF_SF_CONVERTJE_DJ(LSDJ00),1,20); ls_DYID00:=ls_DYID00+1; IF ls_XJSFDYH = 'N' THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00,FYCK00) values(ad_ID0000,'','','',' 小计:',SF_SF_CONVERTJE(ls_CFZJE0),ls_DYID00,decode(ls_YPDLBH_1,3,'卫生材料:','西成药取药:')||trim(ls_CKMC00)||DECODE(ls_sfksly,'[治疗用药]',' [治疗用药]',' '||to_char(ls_fydlxh)||'号')); END IF; --添加一行的空格 --Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) -- values(ad_ID0000,LPAD('-',80,'-'),LPAD('-',20,'-'),LPAD('-',50,'-'),LPAD('-',20,'-'),LPAD('-',10,'-'),ls_DYID00); ELSE --说明,ls_YPDLBH = 2,是草药处方 ls_DYID00:=ls_DYID00+1; select decode(sfksly,'Y','[治疗用药]','') into ls_sfksly from YF_MZCF00 where cflsh0=ls_CFLSH0;--是否治疗用药 IF ls_XJSFDYH = 'Y' THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00,FYCK00) values(ad_ID0000,'','','','小计:',SF_SF_CONVERTJE(ls_CFZJE0),ls_DYID00,'中药取药:'||trim(ls_CKMC00)||DECODE(ls_sfksly,'[治疗用药]',' [治疗用药]',' '||to_char(ls_fydlxh)||'号')); END IF; ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00,BZ0001) values(ad_ID0000,'NO:'||trim(ls_CFLSH0)||DECODE(ls_YSXM00,ls_ZWXM00,'','('||trim(ls_xkh000)||')'),'',ls_ts0000,'','',ls_DYID00,' 剂数:'||to_char(ls_ZYTS00)); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,'药品名称','总量',' 金额'||DECODE(ls_ZFXSBL,'1','/'||'自付','2','/'||'类别','(元)')||' 药品名称 ',' 总量 ','金额'||DECODE(ls_ZFXSBL,'1','/'||'自付','2','/'||'类别','(元)'),ls_DYID00); ls_DYID00:=ls_DYID00+1; FOR lv_MZCFMX IN CUR_SF_MZCFQD_TEMPTJ LOOP ls_COUNT6:=ls_COUNT6+1; END LOOP; select floor((ls_COUNT6+1)/2) into ls_COUNT6 from dual; FOR lv_MZCFMX IN CUR_SF_MZCFQD_TEMPTJ LOOP if ls_COUNT5 0 and B.JZDH00 = as_JZDH00 and (B.MZH000 = as_GHH000 or as_GHH000 = '0') and A.XMBH00 not in (9999999996,9999999997,9999999998,9999999999) union all select k.sl0000,k.zje000 from yj_yw0000 k,bm_zlxmlb c,bm_zlzd00 d where k.mzzybz='0' and sfdjh0 in (select b.djh000 from SF_BRFY00 B where B.JZDH00 = as_JZDH00 and (B.MZH000 = as_GHH000 or as_GHH000 = '0') ) and k.zlxmid=d.zlxmid and d.lbbh00=c.lbbh00 and c.LBMC00 not in('治疗','手术','化验') and (c.LBMC00 not in ('检查') and SF_AZLXM1='Y' or SF_AZLXM1='N') --MZSF-20081027-001 ); ls_DYID00:=ls_DYID00+1; IF ls_COUNT0 > 0 THEN --增加病人信息 if ls_COUNT4=1 then Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,brxx00,DYID00) values(ad_ID0000,'','','','','',LPAD('=',84,'='),ls_DYID00); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00,BZ0001,brxx00) values(ad_ID0000,'','','','','',ls_DYID00,'','就诊时间:'||substr(ls_ghrq00,1,4)||'年'||substr(ls_ghrq00,5,2)||'月'||substr(ls_ghrq00,7,2)||'日'||' 姓名:'||trim(ls_xm0000)||LPAD(' ',36-lengthb(substr(ls_ghrq00,1,4)||'年'||substr(ls_ghrq00,5,2)||'月'||substr(ls_ghrq00,7,2)||'日'||' 姓名:'||trim(ls_xm0000)||'就诊'),' ')||'就诊科室:'||trim(ls_ghksmc)||lpad(' ',12-lengthb(trim(ls_ghksmc)),' ')||' 主诊医生:'||trim(ls_jzysxm)); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,LPAD('-',80,'-'),LPAD('-',20,'-'),LPAD('-',50,'-'),LPAD('-',20,'-'),LPAD('-',10,'-'),ls_DYID00); ls_DYID00:=ls_DYID00+1; end if; IF ls_XJSFDYH = 'Y' THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00)--项目增加小计 values(ad_ID0000,' ',' ',' ','小计:',SF_SF_CONVERTJE(ls_hjje00),ls_DYID00); END IF; ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,'项目名称',' ','数量',' 单价 ','金额(元)',ls_DYID00); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) select ad_ID0000,substr(trim(XMMC00),1,100)||decode(bz0000,'','','/'||bz0000),' ',to_char(sum(XMSL00))||trim(XMDW00),SF_SF_CONVERTJE_DJ(XMDJ00),trim(SF_SF_CONVERTJE(sum(HJJE00))),ls_DYID00 from (select a.xmmc00,a.xmsl00,a.xmdw00,a.xmdj00,a.hjje00,c.bz0000 from SF_FYMX00 A,SF_BRFY00 B,BM_YYSFXM C,BM_FPXM00 D where A.DJH000 = B.DJH000 and A.XMBH00 = C.SFXMID and C.MZFPID = D.FPXMID and a.sfydj0 ='1' and A.HJJE00 <> 0 and B.JZDH00 = as_JZDH00 and (B.MZH000 = as_GHH000 or as_GHH000 = '0') and A.XMBH00 not in (9999999996,9999999997,9999999998,9999999999) union all select k.ZLXMJC,k.sl0000,k.dw0000,k.zje000/k.sl0000,k.zje000,k.bz0000 from yj_yw0000 k,bm_zlxmlb c,bm_zlzd00 d where sfdjh0 in (select b.djh000 from SF_BRFY00 B where B.JZDH00 = as_JZDH00 and (B.MZH000 = as_GHH000 or as_GHH000 = '0') ) and k.zlxmid=d.zlxmid and d.lbbh00=c.lbbh00 and c.LBMC00 not in('治疗','手术','化验') and k.mzzybz='0' and (c.LBMC00 not in ('检查') and SF_AZLXM1='Y' or SF_AZLXM1='N') --MZSF-20081027-001 ) group by XMMC00,BZ0000,XMDW00,XMDJ00 having sum(XMSL00) <> 0; IF ls_XJSFDYH = 'N' THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00)--项目增加小计 values(ad_ID0000,' ',' ',' ','小计:',SF_SF_CONVERTJE(ls_hjje00),ls_DYID00); END IF; ls_DYID00:=ls_DYID00+1; ls_COUNT4:=1; END IF; else SELECT sum(XMSL00),sum(HJJE00) into ls_COUNT0,ls_hjje00 from (select a.xmsl00,a.hjje00 from SF_FYMX00 A,SF_BRFY00 B,BM_YYSFXM C,BM_FPXM00 D where A.DJH000 = B.DJH000 and A.XMBH00 = C.SFXMID and C.MZFPID = D.FPXMID and a.sfydj0 ='1' and A.HJJE00 <> 0 and B.JZDH00 = as_JZDH00 and (B.MZH000 = as_GHH000 or as_GHH000 = '0') and A.XMBH00 not in (9999999996,9999999997,9999999998,9999999999) union all select k.sl0000,k.zje000 from yj_yw0000 k,bm_zlxmlb c,bm_zlzd00 d where sfdjh0 in (select b.djh000 from SF_BRFY00 B where B.JZDH00 = as_JZDH00 and (B.MZH000 = as_GHH000 or as_GHH000 = '0') ) and k.zlxmid=d.zlxmid and d.lbbh00=c.lbbh00 and c.LBMC00 not in('治疗','手术','化验') and k.mzzybz='0' and (c.LBMC00 not in ('检查') and SF_AZLXM1='Y' or SF_AZLXM1='N') --MZSF-20081027-001 ); ls_DYID00:=ls_DYID00+1; IF ls_COUNT0 > 0 THEN --增加病人信息 if ls_COUNT4=1 then Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,brxx00,DYID00) values(ad_ID0000,'','','','','',LPAD('=',84,'='),ls_DYID00); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00,BZ0001,brxx00) values(ad_ID0000,'','','','','',ls_DYID00,'','就诊时间:'||substr(ls_ghrq00,1,4)||'年'||substr(ls_ghrq00,5,2)||'月'||substr(ls_ghrq00,7,2)||'日'||' 姓名:'||trim(ls_xm0000)||LPAD(' ',36-lengthb(substr(ls_ghrq00,1,4)||'年'||substr(ls_ghrq00,5,2)||'月'||substr(ls_ghrq00,7,2)||'日'||' 姓名:'||trim(ls_xm0000)||'就诊'),' ')||'就诊科室:'||trim(ls_ghksmc)||lpad(' ',12-lengthb(trim(ls_ghksmc)),' ')||' 主诊医生:'||trim(ls_jzysxm)); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,LPAD('-',80,'-'),LPAD('-',20,'-'),LPAD('-',50,'-'),LPAD('-',20,'-'),LPAD('-',10,'-'),ls_DYID00); ls_DYID00:=ls_DYID00+1; end if; IF ls_XJSFDYH = 'Y' THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00)--项目增加小计 values(ad_ID0000,' ',' ',' ','小计:',SF_SF_CONVERTJE(ls_hjje00),ls_DYID00); END IF; ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,'项目名称',' ','数量',' 单价 ','金额'||DECODE(ls_ZFXSBL,'1','/'||'自付','2','/'||'类别','(元)'),ls_DYID00); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) select ad_ID0000,substr(trim(XMMC00),1,100),' ', to_char(sum(XMSL00))||trim(XMDW00),SF_SF_CONVERTJE_DJ(XMDJ00),trim(SF_SF_CONVERTJE(sum(HJJE00))||DECODE(ls_ZFXSBL,'1','/'||SF_SF_CONVERTJE(ZFBL00)*100||'%','2','/'||decode(ZFBL00,0,'甲类',1,'自费','乙类'),' ')),ls_DYID00 from -- select ad_ID0000,substr(trim(XMMC00),1,100),' ',to_char(sum(SL0000))||trim(DW0000),SF_SF_CONVERTJE_DJ(jjje00),trim(SF_SF_CONVERTJE(sum(d.jjje00,d.sl0000*d.sfcs00*d.jjje00)||DECODE(ls_ZFXSBL,'1','/'||SF_SF_CONVERTJE(ZFBL00)*100||'%',' ')),ls_DYID00 from ( select a.xmmc00,a.xmsl00,a.xmdw00,a.xmdj00,a.hjje00,a.zfbl00 from SF_FYMX00 A,SF_BRFY00 B,BM_YYSFXM C,BM_FPXM00 D where A.DJH000 = B.DJH000 and A.XMBH00 = C.SFXMID and C.MZFPID = D.FPXMID and a.sfydj0 ='1' and A.HJJE00 <> 0 and B.JZDH00 = as_JZDH00 and (B.MZH000 = as_GHH000 or as_GHH000 = '0') and A.XMBH00 not in (9999999996,9999999997,9999999998,9999999999) union all select a.xmmc00,d.sl0000,a.dw0000,d.jjje00,d.sl0000*d.sfcs00*d.jjje00,d.zfbl00 from yj_yw0000 k,bm_yysfxm a,bm_zlxmlb c,bm_zlzd00 g,yj_ywjj00 d where k.yjdjh0=d.yjdjh0 and a.sfxmid=d.sfxmid and k.sfdjh0 in (select b.djh000 from SF_BRFY00 B where B.JZDH00 = as_JZDH00 and (B.MZH000 = as_GHH000 or as_GHH000 = '0') ) and k.zlxmid=g.zlxmid and g.lbbh00=c.lbbh00 and c.LBMC00 not in('治疗','手术','化验') and k.mzzybz='0' and (c.LBMC00 not in ('检查') and SF_AZLXM1='Y' or SF_AZLXM1='N') --MZSF-20081027-001 ) group by XMMC00,XMDW00,XMDJ00,ZFBL00 having sum(XMSL00) <> 0; IF ls_XJSFDYH = 'N' THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00)--项目增加小计 values(ad_ID0000,' ',' ',' ','小计:',SF_SF_CONVERTJE(ls_hjje00),ls_DYID00); END IF; ls_DYID00:=ls_DYID00+1; ls_COUNT4:=1; END IF; end if; ls_COUNT7:=0; if SF_AZLXM1='Y' then --添加检查/治疗/手术/化验项目 select sum(k.sl0000),sum(k.zje000) into ls_COUNT1,ls_hjje00 from yj_yw0000 k,bm_zlxmlb c,bm_zlzd00 d where k.zlxmid=d.zlxmid and d.lbbh00=c.lbbh00 and c.LBMC00 in('检查','治疗','手术','化验') and k.mzzybz='0' and k.sfdjh0 in( select b.djh000 from sf_brfy00 b where B.JZDH00 = as_JZDH00 and (B.MZH000 = as_GHH000 or as_GHH000 = '0')); ls_DYID00:=ls_DYID00+1; IF ls_COUNT1 > 0 THEN --增加病人信息 if ls_COUNT4=1 then Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,brxx00,DYID00) values(ad_ID0000,'','','','','',LPAD('=',84,'='),ls_DYID00); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00,BZ0001,brxx00) values(ad_ID0000,'','','','','',ls_DYID00,'','就诊时间:'||substr(ls_ghrq00,1,4)||'年'||substr(ls_ghrq00,5,2)||'月'||substr(ls_ghrq00,7,2)||'日'||' 姓名:'||trim(ls_xm0000)||LPAD(' ',36-lengthb(substr(ls_ghrq00,1,4)||'年'||substr(ls_ghrq00,5,2)||'月'||substr(ls_ghrq00,7,2)||'日'||' 姓名:'||trim(ls_xm0000)||'就诊'),' ')||'就诊科室:'||trim(ls_ghksmc)||lpad(' ',12-lengthb(trim(ls_ghksmc)),' ')||' 主诊医生:'||trim(ls_jzysxm)); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,LPAD('-',80,'-'),LPAD('-',20,'-'),LPAD('-',50,'-'),LPAD('-',20,'-'),LPAD('-',10,'-'),ls_DYID00); ls_DYID00:=ls_DYID00+1; end if; IF ls_XJSFDYH = 'Y' THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00)--项目增加小计 values(ad_ID0000,' ',' ',' ','小计:',SF_SF_CONVERTJE(ls_hjje00),ls_DYID00); END IF; ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) --values(ad_ID0000,'检查/治疗/手术/化验项目',' ','数量',' 单价 ','金额(元)',ls_DYID00); values(ad_ID0000,'检查/治疗/手术/化验项目','数量',' 执行科室',' 单价 ','金额(元)',ls_DYID00); ls_DYID00:=ls_DYID00+1; END IF; OPEN CUR_SF_MZCFQD_FYMXTJ_01; LOOP FETCH CUR_SF_MZCFQD_FYMXTJ_01 INTO ls_ZXKSMC, lv_FYMX00.XMBH00,lv_FYMX00.XMMC00, lv_FYMX00.XMGG00,lv_FYMX00.XMDW00, lv_FYMX00.XMDJ00, lv_FYMX00.XMSL00,lv_FYMX00.HJJE00; EXIT WHEN CUR_SF_MZCFQD_FYMXTJ_01%NOTFOUND; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) --values(ad_ID0000,substr(trim(lv_FYMX00.XMMC00),1,100),' ',to_char(lv_FYMX00.XMSL00)||trim(lv_FYMX00.XMDW00),SF_SF_CONVERTJE_DJ(lv_FYMX00.XMDJ00),trim(SF_SF_CONVERTJE(lv_FYMX00.HJJE00)),ls_DYID00); values(ad_ID0000,substr(trim(lv_FYMX00.XMMC00),1,100),to_char(lv_FYMX00.XMSL00)||trim(lv_FYMX00.XMDW00),' '||ls_ZXKSMC,SF_SF_CONVERTJE_DJ(lv_FYMX00.XMDJ00),trim(SF_SF_CONVERTJE(lv_FYMX00.HJJE00)),ls_DYID00); ls_DYID00:=ls_DYID00+1; --select NVL(max(dcbz00),0),NVL(max(YZCFID),0),NVL(max(ZLXMID),0) into ls_DCBZ00,ls_YZCFID,ls_ZLXMID from YJ_YW0000 A,YJ_YWJJ00 B where A.YJDJH0 = B.YJDJH0 -- and (A.ZYHGHH = as_GHH000 or as_GHH000 = '0') and a.zlxmid = lv_FYMX00.XMBH00; --if ls_DCBZ00 = '2' then --皮试相关处方 --Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) -- select distinct ad_ID0000,'组'||trim(F.ZB0000)||':'||trim(F.YPMC00),' ',substr(trim(SF_SF_CONVERTJE(F.CSL000)||trim(F.JLDW00)||'/'||trim(F.PCMC00)||'/'||F.YYSJ00||trim(F.YYSJDW)||'/'||trim(F.YPYFMC)),1,200) ,' ',' ',ls_DYID00 -- from mz_dcxmgz a,ys_cfmx00 b,yf_mzcfmx f -- where B.CFLSH0 = ls_YZCFID and A.DCXMID = ls_ZLXMID -- and to_number(a.lyxmid)=to_number(b.pslbid) -- and B.cfid00 = F.CFID00 -- and F.CXBZ00 = 'Z'; --end if; --if ls_DCBZ00 = '1' then --普通用药处方 -- Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) -- select distinct ad_ID0000,'组'||trim(F.ZB0000)||':'||trim(F.YPMC00),' ',substr(trim(SF_SF_CONVERTJE(F.CSL000)||trim(F.JLDW00)||'/'||trim(F.PCMC00)||'/'||F.YYSJ00||trim(F.YYSJDW)||'/'||trim(F.YPYFMC)),1,200) ,' ',' ',ls_DYID00 -- from mz_dcxmgz a,ys_cfmx00 b,yf_mzcfmx f -- where B.CFLSH0 = ls_YZCFID and A.DCXMID = ls_ZLXMID -- and to_number(a.lyxmid)=to_number(nvl(b.yfid00,b.zjyfid)) -- and B.cfid00 = F.CFID00 -- and F.CXBZ00 = 'Z'; --end if; --ls_COUNT7 := lv_FYMX00.XMSL00; --ls_XLH000 := 0; --ls_COUNT3 := 0; --添加对诊疗库中卫材对应的收费项目的特殊处理 --select count(*) into ls_COUNT3 from XT_ZLSFGX a,BM_ZLZD00 b where a.ZLXMID=b.ZLXMID and b.LBBH00='2' and a.zlxmid = lv_FYMX00.XMBH00; --IF ls_COUNT3 = 0 and ls_COUNT7 > 0 THEN --若是非卫材的,添加 -- LOOP -- EXIT WHEN ls_COUNT7 <= 0; -- ls_DYID00:=ls_DYID00+1; -- ls_XLH000:=ls_XLH000+1; -- Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) -- values(ad_ID0000,' 第 __'||to_char(ls_XLH000)||'__ 次: ',' ','签字:______ 日期:_______ ',' ',' ',ls_DYID00); -- ls_COUNT7:=ls_COUNT7 - 1; -- END LOOP; --END IF; END LOOP; CLOSE CUR_SF_MZCFQD_FYMXTJ_01; IF (ls_XJSFDYH = 'N') AND (ls_COUNT1 > 0 ) THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00)--项目增加小计 values(ad_ID0000,' ',' ',' ','小计:',SF_SF_CONVERTJE(ls_hjje00),ls_DYID00); END IF; else --添加治疗/手术/化验项目 select sum(d.sl0000),sum(d.sl0000*d.sfcs00*d.jjje00) into ls_COUNT1,ls_hjje00 from yj_yw0000 k,bm_yysfxm a,bm_zlxmlb c,bm_zlzd00 d,yj_ywjj00 d where k.zlxmid=d.zlxmid and d.lbbh00=c.lbbh00 and k.yjdjh0=d.yjdjh0 and c.LBMC00 in('治疗','手术','化验') and a.sfxmid=d.sfxmid and k.sfdjh0 in( select b.djh000 from sf_brfy00 b where B.JZDH00 = as_JZDH00 and k.mzzybz='0' and (B.MZH000 = as_GHH000 or as_GHH000 = '0')); ls_DYID00:=ls_DYID00+1; IF ls_COUNT1 > 0 THEN --增加病人信息 if ls_COUNT4=1 then Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,brxx00,DYID00) values(ad_ID0000,'','','','','',LPAD('=',84,'='),ls_DYID00); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00,BZ0001,brxx00) values(ad_ID0000,'','','','','',ls_DYID00,'','就诊时间:'||substr(ls_ghrq00,1,4)||'年'||substr(ls_ghrq00,5,2)||'月'||substr(ls_ghrq00,7,2)||'日'||' 姓名:'||trim(ls_xm0000)||LPAD(' ',36-lengthb(substr(ls_ghrq00,1,4)||'年'||substr(ls_ghrq00,5,2)||'月'||substr(ls_ghrq00,7,2)||'日'||' 姓名:'||trim(ls_xm0000)||'就诊'),' ')||'就诊科室:'||trim(ls_ghksmc)||lpad(' ',12-lengthb(trim(ls_ghksmc)),' ')||' 主诊医生:'||trim(ls_jzysxm)); ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,LPAD('-',80,'-'),LPAD('-',20,'-'),LPAD('-',50,'-'),LPAD('-',20,'-'),LPAD('-',10,'-'),ls_DYID00); ls_DYID00:=ls_DYID00+1; end if; IF ls_XJSFDYH = 'Y' THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00)--项目增加小计 values(ad_ID0000,' ',' ',' ','小计:',SF_SF_CONVERTJE(ls_hjje00),ls_DYID00); END IF; ls_DYID00:=ls_DYID00+1; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,'治疗/手术/化验项目',' ','数量',' 单价 ','金额'||DECODE(ls_ZFXSBL,'1','/'||'自付','2','/'||'类别','(元)'),ls_DYID00); ls_DYID00:=ls_DYID00+1; END IF; OPEN CUR_SF_MZCFQD_FYMXTJ; LOOP FETCH CUR_SF_MZCFQD_FYMXTJ INTO lv_FYMX00.XMBH00,lv_FYMX00.XMMC00, lv_FYMX00.XMGG00,lv_FYMX00.XMDW00, lv_FYMX00.XMDJ00,lv_FYMX00.ZFBL00, lv_FYMX00.XMSL00,lv_FYMX00.HJJE00; EXIT WHEN CUR_SF_MZCFQD_FYMXTJ%NOTFOUND; Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,substr(trim(lv_FYMX00.XMMC00),1,100),' ',to_char(lv_FYMX00.XMSL00)||trim(lv_FYMX00.XMDW00),SF_SF_CONVERTJE_DJ(lv_FYMX00.XMDJ00), trim(SF_SF_CONVERTJE(lv_FYMX00.HJJE00)||DECODE(ls_ZFXSBL,'1','/'||SF_SF_CONVERTJE(lv_FYMX00.ZFBL00)*100||'%','2','/'||decode(lv_FYMX00.ZFBL00,0,'甲类',1,'自费','乙类'),' ')),ls_DYID00); ls_DYID00:=ls_DYID00+1; --select NVL(max(dcbz00),0),NVL(max(YZCFID),0),NVL(max(ZLXMID),0) into ls_DCBZ00,ls_YZCFID,ls_ZLXMID from YJ_YW0000 A,YJ_YWJJ00 B where A.YJDJH0 = B.YJDJH0 -- and (A.ZYHGHH = as_GHH000 or as_GHH000 = '0') and B.SFXMID = lv_FYMX00.XMBH00; --if ls_DCBZ00 = '2' then --皮试相关处方 --Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) -- select distinct ad_ID0000,'组'||trim(F.ZB0000)||':'||trim(F.YPMC00),' ',substr(trim(SF_SF_CONVERTJE(F.CSL000)||trim(F.JLDW00)||'/'||trim(F.PCMC00)||'/'||F.YYSJ00||trim(F.YYSJDW)||'/'||trim(F.YPYFMC)),1,200) ,' ',' ',ls_DYID00 -- from mz_dcxmgz a,ys_cfmx00 b,yf_mzcfmx f -- where B.CFLSH0 = ls_YZCFID and A.DCXMID = ls_ZLXMID -- and to_number(a.lyxmid)=to_number(b.pslbid) -- and B.cfid00 = F.CFID00 -- and F.CXBZ00 = 'Z'; --end if; --if ls_DCBZ00 = '1' then --普通用药处方 -- Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) -- select distinct ad_ID0000,'组'||trim(F.ZB0000)||':'||trim(F.YPMC00),' ',substr(trim(SF_SF_CONVERTJE(F.CSL000)||trim(F.JLDW00)||'/'||trim(F.PCMC00)||'/'||F.YYSJ00||trim(F.YYSJDW)||'/'||trim(F.YPYFMC)),1,200) ,' ',' ',ls_DYID00 -- from mz_dcxmgz a,ys_cfmx00 b,yf_mzcfmx f -- where B.CFLSH0 = ls_YZCFID and A.DCXMID = ls_ZLXMID -- and to_number(a.lyxmid)=to_number(nvl(b.yfid00,b.zjyfid)) -- and B.cfid00 = F.CFID00 -- and F.CXBZ00 = 'Z'; --end if; --ls_COUNT7 := lv_FYMX00.XMSL00; --ls_XLH000 := 0; --ls_COUNT3 := 0; --添加对诊疗库中卫材对应的收费项目的特殊处理 --select count(*) into ls_COUNT3 from XT_ZLSFGX a,BM_ZLZD00 b where a.ZLXMID=b.ZLXMID and b.LBBH00='2' and a.SFXMID = lv_FYMX00.XMBH00; --IF ls_COUNT3 = 0 and ls_COUNT7 > 0 THEN --若是非卫材的,添加 -- LOOP -- EXIT WHEN ls_COUNT7 <= 0; -- ls_DYID00:=ls_DYID00+1; -- ls_XLH000:=ls_XLH000+1; -- Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) -- values(ad_ID0000,' 第 __'||to_char(ls_XLH000)||'__ 次: ',' ','签字:______ 日期:_______ ',' ',' ',ls_DYID00); -- ls_COUNT7:=ls_COUNT7 - 1; -- END LOOP; --END IF; END LOOP; CLOSE CUR_SF_MZCFQD_FYMXTJ; IF (ls_XJSFDYH = 'N') AND (ls_COUNT1 > 0) THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00)--项目增加小计 values(ad_ID0000,' ',' ',' ','小计:',SF_SF_CONVERTJE(ls_hjje00),ls_DYID00); END IF; end if; ls_DYID00:=ls_DYID00+1; IF (ls_COUNT1 > 0)or(ls_COUNT4=1)or(ls_COUNT0>0) THEN Insert into BM_MZCFQD_TEMP00(ID0000,MC0000,SL0000,BZ0000,DJ0000,JE0000,DYID00) values(ad_ID0000,LPAD('-',80,'-'),LPAD('-',20,'-'),LPAD('-',50,'-'),LPAD('-',20,'-'),LPAD('-',10,'-'),ls_DYID00); END IF; EXCEPTION WHEN OTHERS THEN as_YHMSG0:='出错原因不详,请记录此信息并和系统管理员联系!'; as_SYSMSG:=substr(SQLERRM||'执行存储过程错误:SP_SF_MZCFQD_TEMPTJ'||',as_YHMSG0,as_SYSMSG)',1,200); ROLLBACK; END; / -- End of DDL Script for Procedure SD_HOSPITAL.SP_SF_MZCFQD_TEMPTJ