create or replace procedure getEpassCode(num2 in number) is maxlimit number(9);--记录当前最大拿到的码数量 shenyu number(9);--当前有多少个码 apptype number(9);--记录操作类型 num1 number(9);begin if num2 = 0 then-- 判断是否是指定数量,如果是0既为不指定数量,需要查询要获取多少凭证码 select max_limit into maxlimit from t_code_limit; select count(id) into shenyu from t_code_pool where code_status=0; num1:=maxlimit-shenyu; apptype:=0;--设置类型为自动 end if; if num2!=0 then num1:=num2; apptype:=1;--设置类型为手动 end if; Insert into epassbase.t_c_code_pool(id,epass_code,subsidiary_code,code_status,apply_time) select t.cp_id,t.cp_img,t.cp_number,t.cp_status,sysdate from epassbase.t_base_code_pool t where t.cp_status=0 and rownum<num1 order by t.cp_createtime;--查询epss基础平台表,并直接插入到epss平台
-- update epassbase.t_base_code_pool set epassbase.t_base_code_pool.cp_status=1 where epassbase.t_base_code_pool.cp_id in (select epassbase.t_base_code_pool.cp_id from epassbase.t_base_code_pool where rownum<num1 ); --insert into t_code_apply_log values(seq_test.nextval,sysdate,num1,apptype);--添加epass拿码记录 -- insert into epassbase.t_apply_record values(1,1,num1,sysdate);--添加基础平台拿码记录 end getEpassCode;
-- update epassbase.t_base_code_pool set epassbase.t_base_code_pool.cp_status=1 where epassbase.t_base_code_pool.cp_id in (select epassbase.t_base_code_pool.cp_id from epassbase.t_base_code_pool where rownum<num1 ); --insert into t_code_apply_log values(seq_test.nextval,sysdate,num1,apptype);--添加epass拿码记录 -- insert into epassbase.t_apply_record values(1,1,num1,sysdate);--添加基础平台拿码记录 end getEpassCode;