72 lines
1.9 KiB
PL/PgSQL
72 lines
1.9 KiB
PL/PgSQL
begin;
|
|
create table parameter_extra (id serial primary key , pe_code text,pe_label text ,pe_value text);
|
|
alter table parameter_extra add constraint pe_code_ux unique (pe_code);
|
|
comment on table parameter_extra is 'Extra parameter for the folder';
|
|
comment on column parameter_extra.pe_code is 'Code used in the Document:generate';
|
|
comment on column parameter_extra.pe_label is 'Label description';
|
|
comment on column parameter_extra.pe_value is 'Value which will replace the tag in Document:generate';
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION comptaproc.transform_to_code(p_account text)
|
|
RETURNS text
|
|
AS $function$
|
|
|
|
declare
|
|
|
|
sResult text;
|
|
|
|
begin
|
|
sResult := lower(p_account);
|
|
|
|
sResult := translate(sResult,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc');
|
|
sResult := translate(sResult,E' $€µ£%.+-/\\!(){}(),;&|"#''^<>*','');
|
|
|
|
return upper(sResult);
|
|
|
|
end;
|
|
$function$
|
|
LANGUAGE plpgsql;
|
|
|
|
|
|
create or replace function comptaproc.t_parameter_extra_code () returns trigger
|
|
as $fct$
|
|
begin
|
|
new.pe_code := comptaproc.transform_to_code (new.pe_code);
|
|
return new;
|
|
end;
|
|
$fct$
|
|
language plpgsql;
|
|
|
|
|
|
create trigger trigger_parameter_extra_format_code_biu
|
|
before insert or update on parameter_extra for each row execute procedure comptaproc.t_parameter_extra_code();
|
|
|
|
create or replace function tmp_1 () returns void
|
|
as
|
|
$fct$
|
|
declare
|
|
sCountry text;
|
|
begin
|
|
select pr_value into sCountry from parameter where pr_id='MY_COUNTRY';
|
|
|
|
if sCountry = 'BE' then
|
|
insert into parameter_extra(pe_code,pe_label) values ('RPM','RPM'), ('ONSS','Numéro ONSS');
|
|
|
|
end if;
|
|
|
|
if sCountry = 'FR' then
|
|
insert into parameter_extra(pe_code,pe_label) values ('SIRET','SIRET'), ('SIREN','SIREN');
|
|
end if;
|
|
insert into parameter_extra (pe_code,pe_label) values ('email_company','Email Société'),('web_company','Site Web');
|
|
|
|
end;
|
|
$fct$
|
|
language plpgsql;
|
|
|
|
select tmp_1();
|
|
|
|
drop function tmp_1();
|
|
insert into version (val,v_description) values (155,'Rewriting of COMPANY add extra parameter');
|
|
|
|
|
|
commit;
|