CREATE OR REPLACE PROCEDURE SP_SS_HSGZLTJ --护士工作量统计 -- MODIFICATION HISTORY -- Person Date Comments -- qks 2009.02.06 莆二要求安排后就可以统计 SSMZ-20090206-003。 --laijg 2011.07.18 莆田市涵江医院 科室批量统计 --liuj 2012.02.01 原来写定的手术登记名称SSDJMC字段特大大中小等改为获取bm_ssdj00里的分类 by SSMZ-20120125-001 ( LD_BMBH00 in char ,--手术科室 LD_HSBH00 in char ,--护士编号 LD_QSRQ00 in char ,--统计开始日期 LD_JSRQ00 in char --统计结束日期 ) AS ptdssls ss_hsgzl0.tdssls%type ; ptdssxs ss_hsgzl0.tdssxs%type ; pdssls0 ss_hsgzl0.dssls0%type ; pdssxs0 ss_hsgzl0.dssxs0%type ; pzssls0 ss_hsgzl0.zssls0%type ; pzssxs0 ss_hsgzl0.zssxs0%type ; pxssls0 ss_hsgzl0.xssls0%type ; pxssxs0 ss_hsgzl0.xssxs0%type ; pgjls00 ss_hsgzl0.gjls00%type ; pgjxs00 ss_hsgzl0.gjxs00%type ; Vparams varchar2(100); Ecustom exception; --错误变量 ls_SSAPTJ XT_XTCS00.value0%type; ls_SSZT00 char(1); ls_YGBH00 BM_YGBM00.YGBH00%TYPE; cursor CUR_BM_YGBM00 is select YGBH00 from BM_YGBM00 where BMBH00=LD_BMBH00 and czbz00<>'2'; BEGIN --手术安排后未登记,是否就可以在所有有关工作量统计报表中体现 begin select value0 into ls_SSAPTJ from xt_xtcs00 where name00='SS_SSAPGZLTJBBTX'; exception when others then ls_SSAPTJ:='N'; end; if ls_SSAPTJ='Y' then ls_SSZT00 := '2'; else ls_SSZT00 := '4'; end if; Vparams :=ptdssls||','||ptdssxs||','||pdssls0||','||pdssxs0||','||pzssls0||','||pzssxs0||','||pxssls0||','||pxssxs0; if LD_BMBH00 is Not Null then --指定科室 if LD_HSBH00='-99999' then open CUR_BM_YGBM00; loop fetch CUR_BM_YGBM00 into ls_YGBH00; exit when CUR_BM_YGBM00%NOTFOUND; --台上护士: select COUNT(*) into ptdssls FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO ptdssxs FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='台上护士'); select COUNT(*) into pdssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pdssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='台上护士'); select COUNT(*) into pzssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pzssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='台上护士'); select COUNT(*) into pxssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pxssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='台上护士'); pgjls00 :=ptdssls+pdssls0+pzssls0+pxssls0; pgjxs00 :=ptdssxs+pdssxs0+pzssxs0+pxssxs0; insert into ss_hsgzl0 (ygbh00,hslx00,tdssls,tdssxs,dssls0,dssxs0,zssls0,zssxs0,xssls0,xssxs0,gjls00,gjxs00) values (ls_YGBH00,'0',ptdssls,ptdssxs,pdssls0,pdssxs0,pzssls0,pzssxs0,pxssls0,pxssxs0,pgjls00,pgjxs00); --供应护士 select COUNT(*) into ptdssls FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO ptdssxs FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='供应护士'); select COUNT(*) into pdssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pdssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='供应护士'); select COUNT(*) into pzssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pzssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='供应护士'); select COUNT(*) into pxssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pxssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=ls_YGBH00 AND YSHSLB='供应护士'); pgjls00 :=ptdssls+pdssls0+pzssls0+pxssls0; pgjxs00 :=ptdssxs+pdssxs0+pzssxs0+pxssxs0; insert into ss_hsgzl0 (ygbh00,hslx00,tdssls,tdssxs,dssls0,dssxs0,zssls0,zssxs0,xssls0,xssxs0,gjls00,gjxs00) values (ls_YGBH00,'1',ptdssls,ptdssxs,pdssls0,pdssxs0,pzssls0,pzssxs0,pxssls0,pxssxs0,pgjls00,pgjxs00); end loop; close CUR_BM_YGBM00; else --台上护士: select COUNT(*) into ptdssls FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO ptdssxs FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'); select COUNT(*) into pdssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pdssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'); select COUNT(*) into pzssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pzssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'); select COUNT(*) into pxssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pxssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'); pgjls00 :=ptdssls+pdssls0+pzssls0+pxssls0; pgjxs00 :=ptdssxs+pdssxs0+pzssxs0+pxssxs0; insert into ss_hsgzl0 (ygbh00,hslx00,tdssls,tdssxs,dssls0,dssxs0,zssls0,zssxs0,xssls0,xssxs0,gjls00,gjxs00) values (LD_HSBH00,'0',ptdssls,ptdssxs,pdssls0,pdssxs0,pzssls0,pzssxs0,pxssls0,pxssxs0,pgjls00,pgjxs00); --供应护士 select COUNT(*) into ptdssls FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO ptdssxs FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'); select COUNT(*) into pdssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pdssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'); select COUNT(*) into pzssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pzssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'); select COUNT(*) into pxssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pxssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSKS00=LD_BMBH00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'); pgjls00 :=ptdssls+pdssls0+pzssls0+pxssls0; pgjxs00 :=ptdssxs+pdssxs0+pzssxs0+pxssxs0; insert into ss_hsgzl0 (ygbh00,hslx00,tdssls,tdssxs,dssls0,dssxs0,zssls0,zssxs0,xssls0,xssxs0,gjls00,gjxs00) values (LD_HSBH00,'1',ptdssls,ptdssxs,pdssls0,pdssxs0,pzssls0,pzssxs0,pxssls0,pxssxs0,pgjls00,pgjxs00); end if; else --未指定科室 --台上护士: select COUNT(*) into ptdssls FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO ptdssxs FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'); select COUNT(*) into pdssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pdssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'); select COUNT(*) into pzssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pzssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'); select COUNT(*) into pxssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pxssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='台上护士'); pgjls00 :=ptdssls+pdssls0+pzssls0+pxssls0; pgjxs00 :=ptdssxs+pdssxs0+pzssxs0+pxssxs0; insert into ss_hsgzl0 (ygbh00,hslx00,tdssls,tdssxs,dssls0,dssxs0,zssls0,zssxs0,xssls0,xssxs0,gjls00,gjxs00) values (LD_HSBH00,'0',ptdssls,ptdssxs,pdssls0,pdssxs0,pzssls0,pzssxs0,pxssls0,pxssxs0,pgjls00,pgjxs00); --供应护士 select COUNT(*) into ptdssls FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO ptdssxs FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=0) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'); select COUNT(*) into pdssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pdssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=1) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'); select COUNT(*) into pzssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pzssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=2) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'); select COUNT(*) into pxssls0 FROM vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'; select NVL(ROUND( SUM( 24*( TO_DATE(SSJSRQ||''||SSJSSJ,'YYYYMMDD HH24:MI:SS')-TO_DATE(SSQSRQ||''||SSQSSJ,'YYYYMMDD HH24:MI:SS'))),2 ),0) INTO pxssxs0 FROM (select SSQSRQ,SSQSSJ,SSJSRQ,SSJSSJ from vw_ss_yshsxx where SSDJMC in (select ssdjmc from bm_ssdj00 where ssdjbh=3) AND SSZT00=ls_SSZT00 AND SSQSRQ>=LD_QSRQ00 AND SSQSRQ<=LD_JSRQ00 AND YSHSBH=LD_HSBH00 AND YSHSLB='供应护士'); pgjls00 :=ptdssls+pdssls0+pzssls0+pxssls0; pgjxs00 :=ptdssxs+pdssxs0+pzssxs0+pxssxs0; insert into ss_hsgzl0 (ygbh00,hslx00,tdssls,tdssxs,dssls0,dssxs0,zssls0,zssxs0,xssls0,xssxs0,gjls00,gjxs00) values (LD_HSBH00,'1',ptdssls,ptdssxs,pdssls0,pdssxs0,pzssls0,pzssxs0,pxssls0,pxssxs0,pgjls00,pgjxs00); end if; exception when no_data_found then raise_application_error(-20001,substr('数据没有找到!*'||sqlerrm||','||Vparams,1,250)); when Ecustom then raise_application_error(-20010,Vparams); when others then raise_application_error(-20002,substr(nvl(sqlerrm, '原因不明出错!*')||Vparams,1,250)); END SP_SS_HSGZLTJ;