CREATE OR REPLACE PACKAGE scjk_rainMessageisprocedure RainMessage( --水情信息 stcds in str_list, --站点名称 names out str_list, --站点类型 sttps out str_list, --站点位置 locs out str_list, --实时雨情 currentTimeRms out num_list, --时段雨情 --极值雨量 --站点经度 lgtds out num_list, --站点纬度 lttd out num_list, --数据入库时间 updateTime out str_list);end scjk_rainMessage;CREATE OR REPLACE PACKAGE BODY scjk_rainMessageisprocedure RainMessage( --水情信息 stcds in str_list, --站点名称 names out str_list, --站点类型 sttps out str_list, --站点位置 locs out str_list, --实时雨情 currentTimeRms out num_list, --时段雨情 --极值雨量 --站点经度 lgtds out num_list, --站点纬度 lttd out num_list, --数据入库时间 updateTime out str_list)isbegin for i in 1..stcds.count loop names.extend(); locs.extend(); sttps.extend(); lgtds.extend(); lttd.extend(); currentTimeRms.extend(); updateTime.extend(); begin select t2.stnm,t2.stlc,t2.sttp, t2.lgtd,t2.lttd into names(i),locs(i),sttps(i), lgtds(i),lttd(i) from st_stbprp_b t2 where ltrim(rtrim(t2.stcd))=stcds(i); EXCEPTION WHEN NO_DATA_FOUND THEN names(i):=''; locs(i):=''; sttps(i):=''; lgtds(i):=-10000; lttd(i):=-10000; end; --查询实时雨量 begin select drp,to_char(tm,'YYYY-MM-DD HH24:MI:SS') into currentTimeRms(i),updateTime(i) from (select t1.drp,t1.tm from ST_PPTN_R t1 where ltrim(rtrim(t1.stcd))= stcds(i) order by t1.tm desc ) where ROWNUM =1; EXCEPTION WHEN NO_DATA_FOUND THEN currentTimeRms(i):=-10000; updateTime(i):=''; end; end loop;end;end scjk_rainMessage;
CREATE OR REPLACE PACKAGE scjk_LargeandRediumReservoirisprocedure LargeandRediumReservoir( --大、中兴水库日综合报表 --水库编号 stcds in str_list, --水库名 names out str_list, --位置 locs out str_list, --所属流域 bsnms out str_list, --实时水位 currentTimeWms out num_list, --去年同期水位 --实时库容 kurongs out num_list, --集雨面积 --总库容 zongkurongs out num_list, --兴利库容 xinglikurongs out num_list, --汛限水位库容 fsltdws out num_list, --死水位 ddzs out num_list, --死库容 ddcps out num_list, --站点经度 lgtds out num_list, --站点纬度 lttds out num_list, --入库时间 updatetimes out str_list);end scjk_LargeandRediumReservoir;CREATE OR REPLACE PACKAGE BODY scjk_LargeandRediumReservoirisprocedure LargeandRediumReservoir( --大、中兴水库日综合报表 --水库编号 stcds in str_list, --水库名 names out str_list, --位置 locs out str_list, --所属流域 bsnms out str_list, --实时水位 currentTimeWms out num_list, --去年同期水位 --实时库容 kurongs out num_list, --集雨面积 --总库容 zongkurongs out num_list, --兴利库容 xinglikurongs out num_list, --汛限水位库容 fsltdws out num_list, --死水位 ddzs out num_list, --死库容 ddcps out num_list, --站点经度 lgtds out num_list, --站点纬度 lttds out num_list, --入库时间 updatetimes out str_list)isbegin for i in 1..stcds.count loop zongkurongs.extend(); xinglikurongs.extend(); ddzs.extend(); ddcps.extend(); begin --查询总库容,兴利库容,死水位,死库容 select t.ttcp,t.actcp,t.ddz,t.ddcp into zongkurongs(i),xinglikurongs(i),ddzs(i),ddcps(i) from ST_RSVRFCCH_B t where rtrim(ltrim(t.stcd))=stcds(i); EXCEPTION WHEN NO_DATA_FOUND THEN zongkurongs(i):=-10000; xinglikurongs(i):=-10000; ddzs(i):=-10000; ddcps(i):=-10000; end; names.extend(); locs.extend(); bsnms.extend(); lgtds.extend(); lttds.extend(); --查询水库名,位置,所属流域,站点经度,站点纬度 begin select t.stnm,t.stlc,t.bsnm,t.lgtd,t.lttd into names(i),locs(i),bsnms(i),lgtds(i),lttds(i) from st_stbprp_b t where rtrim(ltrim(t.stcd))=stcds(i); EXCEPTION WHEN NO_DATA_FOUND THEN names(i):=''; locs(i):=''; bsnms(i):=''; lgtds(i):=-10000; lttds(i):=-10000; end; fsltdws.extend(); begin --查询汛限水位库容 select t.fsltdw into fsltdws(i) from ST_RSVRFSR_B t where rtrim(ltrim(t.stcd))=stcds(i); EXCEPTION WHEN NO_DATA_FOUND THEN fsltdws(i):=-10000; end; currentTimeWms.extend(); updateTimes.extend(); begin --查询实时水位,入库时间 select rz,to_char(tm,'YYYY-MM-DD HH24:MI:SS') into currentTimeWms(i) ,updateTimes(i) from (select t1.rz,t1.tm from ST_RSVR_R t1 where ltrim(rtrim(t1.stcd))= stcds(i) order by t1.tm desc ) where ROWNUM =1; EXCEPTION WHEN NO_DATA_FOUND THEN currentTimeWms(i):=-10000; updateTimes(i):=''; end; kurongs.extend(); --查询实时库容 begin select w into kurongs(i) from (select t1.w from ST_RSVR_R t1 where ltrim(rtrim(t1.stcd))= stcds(i) order by t1.tm desc ) where ROWNUM =1; EXCEPTION WHEN NO_DATA_FOUND THEN kurongs(i):=-10000; end; end loop;end;end scjk_LargeandRediumReservoir;