You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

123 lines
3.5 KiB

-- =====================================================================
-- Divers traitements sur les données après l'installation des données
-- =====================================================================
-- Initilisation du mois de début de période comptable.
-- w_mois trouve le mois de début de période qui apparait le plus dans p_calendrier_mois
WITH w_mois AS (
SELECT
to_number(substring(to_char(exercice_mois_comptable_1, 'FM999999') from '..$'), '99') as mois_debut,
count(*) as combien
FROM base.p_calendrier_mois
GROUP BY 1
ORDER BY 2 DESC
LIMIT 1
)
INSERT INTO compta.t_divers(
code,
texte,
valeur,
valeur_date,
description,
show_info_module)
SELECT
'MOIS_DEBUT',
'Mois début période comptable.',
w_mois.mois_debut::text,
NULL,
'Mois de début de la période comptable',
true
FROM
w_mois
WHERE (SELECT count(*) FROM compta.t_divers WHERE code = 'MOIS_DEBUT') = 0
;
UPDATE base.p_calendrier_mois SET
exercice_comptable = to_char(date_debut - (subview.valeur::text || ' month'::text)::interval + '1 month'::interval, 'YYYY')::numeric,
exercice_mois_comptable_1 = (to_char(date_debut - (subview.valeur::text || ' month'::text)::interval + '1 month'::interval, 'YYYY')||ltrim(to_char(subview.valeur::numeric, '00')))::numeric
FROM
(SELECT max(valeur) as valeur FROM compta.t_divers WHERE code = 'MOIS_DEBUT') subview
;
-- Mise à jour des rubriques de rapports suite au passage des séquences sur deux digits
UPDATE compta.t_rapports_rubriques SET viewlink_param = regexp_replace(viewlink_param, 'CLS([0-9][^0-9])', 'CLS0\1', 'g')
WHERE viewlink_param ~ '.*CLS[0-9][^0-9].*';
-- Réplication du code banque sur les comptes signés
WITH w_cpt AS (
SELECT
oid as compte_id,
banque
FROM
compta.t_comptes
WHERE
banque = '1'
)
UPDATE compta.t_comptes SET
banque = w_cpt.banque
FROM
w_cpt
WHERE 1=1
AND t_comptes.compte_general_id = w_cpt.compte_id
AND t_comptes.banque IS DISTINCT FROM w_cpt.banque;
-- Initialisation mois en cours/mois clôturé (NOW/NOWCLOTURE) lorsque pas déjà renseigné lors de l'import.
WITH subq as (
SELECT date_ecriture
FROM compta.p_historique_ecritures
WHERE 1=1
AND date_ecriture <= now()
AND ajustement = '0'
AND is_budget <> '1'
ORDER BY date_ecriture DESC
LIMIT 1)
INSERT INTO compta.t_divers(
code,
texte,
valeur,
valeur_date,
description,
show_info_module)
SELECT
'NOW',
'Mois en cours.',
to_char(date_ecriture, 'YYYYMM'),
date_ecriture,
'Mois en cours.',
true
FROM subq
WHERE (SELECT count(*) FROM compta.t_divers WHERE code = 'NOW') = 0
;
WITH subq as (
SELECT ((mois_comptable||'01')::date + interval '1 month' - interval '1 day' - interval '1 month')::date as date_comptable
FROM compta.p_historique_ecritures
WHERE 1=1
AND date_ecriture <= now()
AND ajustement = '0'
AND is_budget <> '1'
ORDER BY mois_comptable DESC
LIMIT 1)
INSERT INTO compta.t_divers(
code,
texte,
valeur,
valeur_date,
description,
show_info_module)
SELECT
'NOWCLOTURE',
'Mois clôturé.',
to_char(date_comptable, 'YYYYMM'),
date_comptable,
'Mois clôturé.',
true
FROM subq
WHERE (SELECT count(*) FROM compta.t_divers WHERE code = 'NOWCLOTURE') = 0
;
--Maj table compta.t_pole
INSERT INTO compta.t_pole (oid, code, texte, texte_court)
SELECT 0, '**', 'Non renseigné', 'Non renseigné'
WHERE 0 NOT IN (SELECT oid FROM compta.t_pole)
;