-- =====================================================================
|
|
-- 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)
|
|
;
|