mirror of
https://github.com/YunoHost-Apps/noalyss_ynh.git
synced 2024-09-03 19:46:20 +02:00
126 lines
3.7 KiB
PL/PgSQL
126 lines
3.7 KiB
PL/PgSQL
begin;
|
|
|
|
create table parm_code (
|
|
p_code text primary key,
|
|
p_value text,
|
|
p_comment text
|
|
);
|
|
|
|
INSERT INTO parm_code VALUES ('DNA', '6740', 'Dépense non déductible');
|
|
INSERT INTO parm_code VALUES ('CUSTOMER', '400', 'Poste comptable de base pour les clients');
|
|
INSERT INTO parm_code VALUES ('COMPTE_TVA', '451', 'TVA à payer');
|
|
INSERT INTO parm_code VALUES ('BANQUE', '550', 'Poste comptable de base pour les banques');
|
|
INSERT INTO parm_code VALUES ('VIREMENT_INTERNE', '58', 'Poste Comptable pour les virements internes');
|
|
INSERT INTO parm_code VALUES ('COMPTE_COURANT', '56', 'Poste comptable pour le compte courant');
|
|
INSERT INTO parm_code VALUES ('CAISSE', '57', 'Poste comptable pour la caisse');
|
|
INSERT INTO parm_code VALUES ('TVA_DNA', '6740', 'Tva non déductible s');
|
|
INSERT INTO parm_code VALUES ('TVA_DED_IMPOT', '619000', 'Tva déductible par l''impôt');
|
|
INSERT INTO parm_code VALUES ('VENTE ', '70', 'Poste comptable de base pour les ventes');
|
|
|
|
-- Function: tva_delete(p_tva_id int4)
|
|
|
|
CREATE OR REPLACE FUNCTION tva_delete(int4)
|
|
RETURNS void AS
|
|
$BODY$
|
|
declare
|
|
p_tva_id alias for $1;
|
|
nCount integer;
|
|
begin
|
|
nCount=0;
|
|
select count(*) into nCount from quant_sold where qs_vat_code=p_tva_id;
|
|
if nCount = 0 then
|
|
delete from tva_rate where tva_id=p_tva_id;
|
|
end if;
|
|
return;
|
|
end;
|
|
$BODY$
|
|
LANGUAGE plpgsql VOLATILE;
|
|
|
|
-- Function: tva_insert(int4, text, numeric, text, text)
|
|
|
|
CREATE OR REPLACE FUNCTION tva_insert(int4, text, "numeric", text, text)
|
|
RETURNS int4 AS
|
|
$BODY$
|
|
declare
|
|
p_tva_id alias for $1;
|
|
p_tva_label alias for $2;
|
|
p_tva_rate alias for $3;
|
|
p_tva_comment alias for $4;
|
|
p_tva_poste alias for $5;
|
|
debit text;
|
|
credit text;
|
|
nCount integer;
|
|
begin
|
|
-- verify that label is not null
|
|
if length(trim(p_tva_label)) = 0 then
|
|
return 3;
|
|
end if;
|
|
select count(*) into nCount from tva_rate
|
|
where tva_id=p_tva_id;
|
|
if nCount != 0 then
|
|
return 5;
|
|
end if;
|
|
-- check is poste exists
|
|
if length(trim(p_tva_poste)) != 0 then
|
|
-- check if it is a comma list
|
|
if position (',' in p_tva_poste) = 0 then return 4; end if;
|
|
-- separate "credit" and "debit"
|
|
debit = split_part(p_tva_poste,',',1);
|
|
credit = split_part(p_tva_poste,',',2);
|
|
-- check if those account exist
|
|
select count(*) into nCount from tmp_pcmn where pcm_val=debit;
|
|
if nCount = 0 then return 4; end if;
|
|
select count(*) into nCount from tmp_pcmn where pcm_val=credit;
|
|
if nCount = 0 then return 4; end if;
|
|
|
|
end if;
|
|
insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste)
|
|
values (p_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste);
|
|
return 0;
|
|
end;
|
|
$BODY$
|
|
LANGUAGE plpgsql VOLATILE;
|
|
|
|
-- Function: tva_insert(p_tva_id text, p_tva_label text, p_tva_rate text, p_tva_comment text, p_tva_poste text)
|
|
|
|
CREATE OR REPLACE FUNCTION tva_modify(integer, text, numeric, text, text)
|
|
RETURNS int4 AS
|
|
$BODY$declare
|
|
p_tva_id alias for $1;
|
|
p_tva_label alias for $2;
|
|
p_tva_rate alias for $3;
|
|
p_tva_comment alias for $4;
|
|
p_tva_poste alias for $5;
|
|
debit text;
|
|
credit text;
|
|
nCount integer;
|
|
begin
|
|
-- verify that label is not null
|
|
if length(trim(p_tva_label)) = 0 then
|
|
return 3;
|
|
end if;
|
|
|
|
-- check is poste exists
|
|
if length(trim(p_tva_poste)) != 0 then
|
|
-- check if it is a comma list
|
|
if position (',' in p_tva_poste) = 0 then return 4; end if;
|
|
-- separate "credit" and "debit"
|
|
debit = split_part(p_tva_poste,',',1);
|
|
credit = split_part(p_tva_poste,',',2);
|
|
-- check if those account exist
|
|
select count(*) into nCount from tmp_pcmn where pcm_val=debit;
|
|
if nCount = 0 then return 4; end if;
|
|
select count(*) into nCount from tmp_pcmn where pcm_val=credit;
|
|
if nCount = 0 then return 4; end if;
|
|
|
|
end if;
|
|
update tva_rate set tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste
|
|
where tva_id=p_tva_id;
|
|
return 0;
|
|
end;
|
|
$BODY$
|
|
LANGUAGE plpgsql VOLATILE;
|
|
|
|
|
|
update version set val=12;
|
|
commit;
|