1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/noalyss_ynh.git synced 2024-09-03 19:46:20 +02:00
noalyss_ynh/sources/include/sql/patch/upgrade123.sql
dudjima 3a905a4a87 Update sources 7.01
Update files from sources with last update on noalyss.eu
2018-04-13 18:58:28 +02:00

52 lines
No EOL
1.3 KiB
PL/PgSQL

begin;
CREATE OR REPLACE FUNCTION comptaproc.jrnx_ins()
RETURNS trigger
AS $function$
declare
n_fid bigint;
nCount integer;
sQcode text;
begin
n_fid := null;
NEW.j_tech_per := comptaproc.find_periode(to_char(NEW.j_date,'DD.MM.YYYY'));
if NEW.j_tech_per = -1 then
raise exception 'Période invalide';
end if;
NEW.j_qcode=trim(upper(NEW.j_qcode));
if coalesce(NEW.j_qcode,'') = '' then
-- how many card has this accounting
select count(*) into nCount from fiche_detail where ad_id=5 and ad_value=NEW.j_poste;
-- only one card is found , then we change the j_qcode by the card
if nCount = 1 then
select f_id into n_fid from fiche_detail where ad_id = 5 and ad_value=NEW.j_poste;
select ad_value into sQcode from fiche_detail where f_id=n_fid and ad_id = 23;
NEW.f_id := n_fid;
NEW.j_qcode = trim(sQcode);
end if;
end if;
if length (NEW.j_qcode) = 0 then
NEW.j_qcode=NULL;
else
select f_id into n_fid from fiche_detail where ad_id=23 and ad_value=NEW.j_qcode;
if NOT FOUND then
raise exception 'La fiche dont le quick code est % n''existe pas',NEW.j_qcode;
end if;
end if;
NEW.f_id:=n_fid;
return NEW;
end;
$function$
LANGUAGE plpgsql;
update version set val=124;
commit;