mirror of
https://github.com/YunoHost-Apps/noalyss_ynh.git
synced 2024-09-03 19:46:20 +02:00
44 lines
1 KiB
MySQL
44 lines
1 KiB
MySQL
|
begin;
|
||
|
DROP FUNCTION tva_insert (text,numeric,text,text);
|
||
|
|
||
|
CREATE FUNCTION tva_insert(text, numeric, text, text) RETURNS integer
|
||
|
AS $_$
|
||
|
declare
|
||
|
l_tva_id integer;
|
||
|
p_tva_label alias for $1;
|
||
|
p_tva_rate alias for $2;
|
||
|
p_tva_comment alias for $3;
|
||
|
p_tva_poste alias for $4;
|
||
|
debit text;
|
||
|
credit text;
|
||
|
nCount integer;
|
||
|
begin
|
||
|
if length(trim(p_tva_label)) = 0 then
|
||
|
return 3;
|
||
|
end if;
|
||
|
|
||
|
if length(trim(p_tva_poste)) != 0 then
|
||
|
if position (',' in p_tva_poste) = 0 then return 4; end if;
|
||
|
debit = split_part(p_tva_poste,',',1);
|
||
|
credit = split_part(p_tva_poste,',',2);
|
||
|
select count(*) into nCount from tmp_pcmn where pcm_val=debit::poste_comptable;
|
||
|
if nCount = 0 then return 4; end if;
|
||
|
select count(*) into nCount from tmp_pcmn where pcm_val=credit::poste_comptable;
|
||
|
if nCount = 0 then return 4; end if;
|
||
|
|
||
|
end if;
|
||
|
select into l_tva_id nextval('s_tva') ;
|
||
|
insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste)
|
||
|
values (l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste);
|
||
|
return 0;
|
||
|
end;
|
||
|
$_$
|
||
|
LANGUAGE plpgsql;
|
||
|
|
||
|
|
||
|
|
||
|
update version set val=58;
|
||
|
|
||
|
commit;
|
||
|
|