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.
 
 
 

829 lines
36 KiB

<?xml version="1.0" encoding="ISO-8859-1"?>
<ROOT>
<NODE name="COMMON" label="TRAITEMENTS COMMUNS">
<NODE label="Parametres">
<sqlcmd><![CDATA[
-- Suppression des codes NOW et NOWCLOTURE.
-- De cette façon, si l'import du prestataire ne les ajoute pas, le SHARE le fera.
DELETE FROM compta.t_divers
WHERE code IN ('NOW', 'NOWCLOTURE')
;
]]></sqlcmd>
</NODE>
</NODE>
<NODE name="POST" label="TRAITEMENTS COMPLEMENTAIRES COMMUNS">
<condition><![CDATA[
"[MOISMODIFIES]" != "0"
]]></condition>
<Node label="Date exercice comptable">
<sqlcmd><![CDATA[
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
WHERE
(
exercice_comptable IS DISTINCT FROM to_char(date_debut - (subview.valeur::text || ' month'::text)::interval + '1 month'::interval, 'YYYY')::numeric OR
exercice_mois_comptable_1 IS DISTINCT FROM (to_char(date_debut - (subview.valeur::text || ' month'::text)::interval + '1 month'::interval, 'YYYY')||ltrim(to_char(subview.valeur::numeric, '00')))::numeric
)
;
]]></sqlcmd>
</Node>
<NODE label="Précumul">
<sqlcmd><![CDATA[
SELECT base.cti_vacuum_table('compta','p_historique_ecritures');
TRUNCATE compta.p_historique_ecritures_total;
INSERT INTO compta.p_historique_ecritures_total(
compte_id, mois_comptable, montant_credit, montant_debit, journal_id,
section_analytique_id,
section_analytique_2_id,
section_analytique_3_id,
section_analytique_4_id,
section_analytique_5_id,
section_analytique_6_id,
section_analytique_7_id,
section_analytique_8_id,
section_analytique_9_id,
clinique_honoraire, exercice_comptable,
type_compta_id, site_id, compte_extra_id, partenaire_id, comptabilisee, fin_exercice,
ajustement, inter_site, ecriture_consolidee, nombre_ecritures)
SELECT
compte_id, mois_comptable, sum(montant_credit), sum(montant_debit), journal_id,
section_analytique_id,
section_analytique_2_id,
section_analytique_3_id,
section_analytique_4_id,
section_analytique_5_id,
section_analytique_6_id,
section_analytique_7_id,
section_analytique_8_id,
section_analytique_9_id,
clinique_honoraire, exercice_comptable,
type_compta_id, site_id, compte_extra_id, partenaire_id, comptabilisee, fin_exercice,
ajustement, inter_site, ecriture_consolidee, count(*)
FROM compta.p_historique_ecritures
WHERE
ajustement <> '1' AND
is_budget IS DISTINCT FROM '1'
GROUP BY
compte_id, mois_comptable, journal_id,
section_analytique_id,
section_analytique_2_id,
section_analytique_3_id,
section_analytique_4_id,
section_analytique_5_id,
section_analytique_6_id,
section_analytique_7_id,
section_analytique_8_id,
section_analytique_9_id,
clinique_honoraire, exercice_comptable,
type_compta_id, site_id, compte_extra_id, partenaire_id, comptabilisee, fin_exercice,
ajustement, inter_site, ecriture_consolidee;
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_1');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_2');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_3');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_4');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_5');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_6');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_7');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_8');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_9');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_10');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_11');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_12');
SELECT base.cti_enable_index('compta', 'i_historique_ecritures_total_13');
]]></sqlcmd>
</NODE>
<NODE label="Ecritures d'ajustement">
<sqlcmd><![CDATA[
SELECT compta.cti_gen_ajustements(0);
]]></sqlcmd>
</NODE>
<NODE label="Budget">
<sqlcmd><![CDATA[
SELECT compta.cti_gen_budget(0);
]]></sqlcmd>
</NODE>
<NODE label="Ajustement paramètres">
<sqlcmd><![CDATA[
UPDATE compta.t_sites SET code = chr(127) || '***', texte = 'Non renseigné' WHERE oid = 0;
INSERT INTO compta.t_sites(oid, code, clinique_honoraire, code_original, texte)
SELECT 0, chr(127) || '***', '', '', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM compta.t_sites);
UPDATE compta.t_partenaires SET code = chr(127) || '****', texte = 'Non renseigné', texte_court = 'Non renseigné' WHERE oid = 0;
INSERT INTO compta.t_partenaires(oid, code, code_original, texte, texte_court)
SELECT 0, chr(127) || '****', '', 'Non renseigné', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM compta.t_partenaires);
UPDATE compta.t_journaux SET code = chr(127) || '***', texte = 'Non renseigné' WHERE oid = 0;
INSERT INTO compta.t_journaux(oid, code, clinique_honoraire, code_original, texte)
SELECT 0, chr(127) || '***', '', '', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM compta.t_journaux);
UPDATE compta.t_sections_analytiques SET code = chr(127) || '***', texte = 'Non renseigné' WHERE oid = 0;
INSERT INTO compta.t_sections_analytiques(oid, code, code_original, texte)
SELECT 0, chr(127) || '***', '', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM compta.t_sections_analytiques);
]]></sqlcmd>
</NODE>
<NODE label="Classes des comptes">
<sqlcmd><![CDATA[
UPDATE compta.t_classes_comptes
SET code = trim(code)
WHERE code <> trim(code);
INSERT into compta.t_classes_comptes (code, texte)
(SELECT DISTINCT substr(numero, 1 , 1), '' FROM compta.t_comptes
WHERE compte_general_id = oid AND substr(numero, 1 , 1) NOT IN (SELECT code FROM compta.t_classes_comptes))
UNION
SELECT DISTINCT substr(numero, 1 , 2), '' FROM compta.t_comptes
WHERE compte_general_id = oid AND substr(numero, 1 , 2) NOT IN (SELECT code FROM compta.t_classes_comptes)
UNION
SELECT DISTINCT substr(numero, 1 , 3), '' FROM compta.t_comptes
WHERE compte_general_id = oid AND substr(numero, 1 , 3) NOT IN (SELECT code FROM compta.t_classes_comptes)
UNION
SELECT DISTINCT substr(numero, 1 , 4), '' FROM compta.t_comptes
WHERE compte_general_id = oid AND substr(numero, 1 , 4) NOT IN (SELECT code FROM compta.t_classes_comptes)
UNION
SELECT DISTINCT substr(numero, 1 , 5), '' FROM compta.t_comptes
WHERE compte_general_id = oid AND substr(numero, 1 , 5) NOT IN (SELECT code FROM compta.t_classes_comptes)
UNION
SELECT DISTINCT substr(numero, 1 , 6), '' FROM compta.t_comptes
WHERE compte_general_id = oid AND substr(numero, 1 , 6) NOT IN (SELECT code FROM compta.t_classes_comptes) ;
UPDATE compta.t_classes_comptes SET texte = '' WHERE texte IS NULL;
UPDATE compta.t_comptes SET classe_1_id = t_classes_comptes.oid
FROM compta.t_classes_comptes, compta.t_comptes t_comptes_generaux
WHERE t_comptes.compte_general_id = t_comptes_generaux.oid AND substr(t_comptes_generaux.numero, 1 , 1) = t_classes_comptes.code ;
UPDATE compta.t_comptes SET classe_2_id = t_classes_comptes.oid
FROM compta.t_classes_comptes, compta.t_comptes t_comptes_generaux
WHERE t_comptes.compte_general_id = t_comptes_generaux.oid AND substr(t_comptes_generaux.numero, 1 , 2) = t_classes_comptes.code ;
UPDATE compta.t_comptes SET classe_3_id = t_classes_comptes.oid
FROM compta.t_classes_comptes, compta.t_comptes t_comptes_generaux
WHERE t_comptes.compte_general_id = t_comptes_generaux.oid AND substr(t_comptes_generaux.numero, 1 , 3) = t_classes_comptes.code ;
UPDATE compta.t_comptes SET classe_4_id = t_classes_comptes.oid
FROM compta.t_classes_comptes, compta.t_comptes t_comptes_generaux
WHERE t_comptes.compte_general_id = t_comptes_generaux.oid AND substr(t_comptes_generaux.numero, 1 , 4) = t_classes_comptes.code ;
UPDATE compta.t_comptes SET classe_5_id = t_classes_comptes.oid
FROM compta.t_classes_comptes, compta.t_comptes t_comptes_generaux
WHERE t_comptes.compte_general_id = t_comptes_generaux.oid AND substr(t_comptes_generaux.numero, 1 , 5) = t_classes_comptes.code ;
UPDATE compta.t_comptes SET classe_6_id = t_classes_comptes.oid
FROM compta.t_classes_comptes, compta.t_comptes t_comptes_generaux
WHERE t_comptes.compte_general_id = t_comptes_generaux.oid AND substr(t_comptes_generaux.numero, 1 , 6) = t_classes_comptes.code ;
UPDATE compta.t_classes_comptes SET clinique = '0', honoraire = '0' ;
UPDATE compta.t_classes_comptes SET clinique = '1'
WHERE oid IN (SELECT classe_1_id FROM compta.t_comptes WHERE clinique_honoraire = 'C' AND t_comptes.compte_general_id = t_comptes.oid) ;
UPDATE compta.t_classes_comptes SET clinique = '1'
WHERE oid IN (SELECT classe_2_id FROM compta.t_comptes WHERE clinique_honoraire = 'C' AND t_comptes.compte_general_id = t_comptes.oid) ;
UPDATE compta.t_classes_comptes SET clinique = '1'
WHERE oid IN (SELECT classe_3_id FROM compta.t_comptes WHERE clinique_honoraire = 'C' AND t_comptes.compte_general_id = t_comptes.oid) ;
UPDATE compta.t_classes_comptes SET clinique = '1'
WHERE oid IN (SELECT classe_4_id FROM compta.t_comptes WHERE clinique_honoraire = 'C' AND t_comptes.compte_general_id = t_comptes.oid) ;
UPDATE compta.t_classes_comptes SET clinique = '1'
WHERE oid IN (SELECT classe_5_id FROM compta.t_comptes WHERE clinique_honoraire = 'C' AND t_comptes.compte_general_id = t_comptes.oid) ;
UPDATE compta.t_classes_comptes SET clinique = '1'
WHERE oid IN (SELECT classe_6_id FROM compta.t_comptes WHERE clinique_honoraire = 'C' AND t_comptes.compte_general_id = t_comptes.oid) ;
UPDATE compta.t_classes_comptes SET honoraire = '1' WHERE oid IN (SELECT classe_1_id FROM compta.t_comptes WHERE clinique_honoraire = 'H' AND t_comptes.compte_general_id = t_comptes.oid) ;
UPDATE compta.t_classes_comptes SET honoraire = '1' WHERE oid IN (SELECT classe_2_id FROM compta.t_comptes WHERE clinique_honoraire = 'H' AND t_comptes.compte_general_id = t_comptes.oid) ;
UPDATE compta.t_classes_comptes SET honoraire = '1' WHERE oid IN (SELECT classe_3_id FROM compta.t_comptes WHERE clinique_honoraire = 'H' AND t_comptes.compte_general_id = t_comptes.oid) ;
UPDATE compta.t_classes_comptes SET honoraire = '1' WHERE oid IN (SELECT classe_4_id FROM compta.t_comptes WHERE clinique_honoraire = 'H' AND t_comptes.compte_general_id = t_comptes.oid) ;
UPDATE compta.t_classes_comptes SET honoraire = '1' WHERE oid IN (SELECT classe_5_id FROM compta.t_comptes WHERE clinique_honoraire = 'H' AND t_comptes.compte_general_id = t_comptes.oid) ;
UPDATE compta.t_classes_comptes SET honoraire = '1' WHERE oid IN (SELECT classe_6_id FROM compta.t_comptes WHERE clinique_honoraire = 'H' AND t_comptes.compte_general_id = t_comptes.oid) ;
]]></sqlcmd>
</NODE>
<NODE label="Tables répliquées">
<sqlcmd><![CDATA[
SELECT compta.cti_reorganize_comptes_c();
UPDATE compta.t_comptes_c SET
arbre_classe_1_id = 0,
arbre_classe_1_code = '',
arbre_classe_1_texte = '',
arbre_classe_2_id = 0,
arbre_classe_2_code = '',
arbre_classe_2_texte = '',
arbre_classe_3_id = 0,
arbre_classe_3_code = '',
arbre_classe_3_texte = '',
arbre_classe_4_id = 0,
arbre_classe_4_code = '',
arbre_classe_4_texte = '',
arbre_classe_5_id = 0,
arbre_classe_5_code = '',
arbre_classe_5_texte = '',
arbre_classe_6_id = 0,
arbre_classe_6_code = '',
arbre_classe_6_texte = '',
arbre_classe_7_id = 0,
arbre_classe_7_code = '',
arbre_classe_7_texte = ''; ;
UPDATE compta.t_comptes_c
SET
arbre_classe_1_id =
CASE
WHEN classe_1_texte <> '' THEN classe_1_id
WHEN classe_2_texte <> '' THEN classe_2_id
WHEN classe_3_texte <> '' THEN classe_3_id
WHEN classe_4_texte <> '' THEN classe_4_id
WHEN classe_5_texte <> '' THEN classe_5_id
WHEN classe_6_texte <> '' THEN classe_6_id
ELSE compte_general_id
END,
arbre_classe_1_code =
CASE
WHEN classe_1_texte <> '' THEN classe_1_code
WHEN classe_2_texte <> '' THEN classe_2_code
WHEN classe_3_texte <> '' THEN classe_3_code
WHEN classe_4_texte <> '' THEN classe_4_code
WHEN classe_5_texte <> '' THEN classe_5_code
WHEN classe_6_texte <> '' THEN classe_6_code
ELSE compte_general_numero
END,
arbre_classe_1_texte =
CASE
WHEN classe_1_texte <> '' THEN classe_1_texte
WHEN classe_2_texte <> '' THEN classe_2_texte
WHEN classe_3_texte <> '' THEN classe_3_texte
WHEN classe_4_texte <> '' THEN classe_4_texte
WHEN classe_5_texte <> '' THEN classe_5_texte
WHEN classe_6_texte <> '' THEN classe_6_texte
ELSE compte_general_texte
END ;
UPDATE compta.t_comptes_c
SET
arbre_classe_2_id =
CASE
WHEN classe_2_texte <> '' AND arbre_classe_1_code <> classe_2_code THEN classe_2_id
WHEN classe_3_texte <> '' AND arbre_classe_1_code <> classe_3_code THEN classe_3_id
WHEN classe_4_texte <> '' AND arbre_classe_1_code <> classe_4_code THEN classe_4_id
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code THEN classe_5_id
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code THEN classe_6_id
ELSE compte_general_id
END,
arbre_classe_2_code =
CASE
WHEN classe_2_texte <> '' AND arbre_classe_1_code <> classe_2_code THEN classe_2_code
WHEN classe_3_texte <> '' AND arbre_classe_1_code <> classe_3_code THEN classe_3_code
WHEN classe_4_texte <> '' AND arbre_classe_1_code <> classe_4_code THEN classe_4_code
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code THEN classe_5_code
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code THEN classe_6_code
ELSE compte_general_numero
END,
arbre_classe_2_texte =
CASE
WHEN classe_2_texte <> '' AND arbre_classe_1_code <> classe_2_code THEN classe_2_texte
WHEN classe_3_texte <> '' AND arbre_classe_1_code <> classe_3_code THEN classe_3_texte
WHEN classe_4_texte <> '' AND arbre_classe_1_code <> classe_4_code THEN classe_4_texte
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code THEN classe_5_texte
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code THEN classe_6_texte
ELSE compte_general_texte
END
WHERE arbre_classe_1_code <> compte_general_numero ;
UPDATE compta.t_comptes_c
SET
arbre_classe_3_id =
CASE
WHEN classe_3_texte <> '' AND arbre_classe_1_code <> classe_3_code AND arbre_classe_2_code <> classe_3_code THEN classe_3_id
WHEN classe_4_texte <> '' AND arbre_classe_1_code <> classe_4_code AND arbre_classe_2_code <> classe_4_code THEN classe_4_id
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code AND arbre_classe_2_code <> classe_5_code THEN classe_5_id
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code THEN classe_6_id
ELSE compte_general_id
END,
arbre_classe_3_code =
CASE
WHEN classe_3_texte <> '' AND arbre_classe_1_code <> classe_3_code AND arbre_classe_2_code <> classe_3_code THEN classe_3_code
WHEN classe_4_texte <> '' AND arbre_classe_1_code <> classe_4_code AND arbre_classe_2_code <> classe_4_code THEN classe_4_code
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code AND arbre_classe_2_code <> classe_5_code THEN classe_5_code
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code THEN classe_6_code
ELSE compte_general_numero
END,
arbre_classe_3_texte =
CASE
WHEN classe_3_texte <> '' AND arbre_classe_1_code <> classe_3_code AND arbre_classe_2_code <> classe_3_code THEN classe_3_texte
WHEN classe_4_texte <> '' AND arbre_classe_1_code <> classe_4_code AND arbre_classe_2_code <> classe_4_code THEN classe_4_texte
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code AND arbre_classe_2_code <> classe_5_code THEN classe_5_texte
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code THEN classe_6_texte
ELSE compte_general_texte
END
WHERE arbre_classe_1_code <> compte_general_numero AND arbre_classe_2_code <> compte_general_numero ;
UPDATE compta.t_comptes_c
SET
arbre_classe_4_id =
CASE
WHEN classe_4_texte <> '' AND arbre_classe_1_code <> classe_4_code AND arbre_classe_2_code <> classe_4_code AND arbre_classe_3_code <> classe_4_code THEN classe_4_id
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code AND arbre_classe_2_code <> classe_5_code AND arbre_classe_3_code <> classe_5_code THEN classe_5_id
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code AND arbre_classe_3_code <> classe_6_code THEN classe_6_id
ELSE compte_general_id
END,
arbre_classe_4_code =
CASE
WHEN classe_4_texte <> '' AND arbre_classe_1_code <> classe_4_code AND arbre_classe_2_code <> classe_4_code AND arbre_classe_3_code <> classe_4_code THEN classe_4_code
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code AND arbre_classe_2_code <> classe_5_code AND arbre_classe_3_code <> classe_5_code THEN classe_5_code
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code AND arbre_classe_3_code <> classe_6_code THEN classe_6_code
ELSE compte_general_numero
END,
arbre_classe_4_texte =
CASE
WHEN classe_4_texte <> '' AND arbre_classe_1_code <> classe_4_code AND arbre_classe_2_code <> classe_4_code AND arbre_classe_3_code <> classe_4_code THEN classe_4_texte
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code AND arbre_classe_2_code <> classe_5_code AND arbre_classe_3_code <> classe_5_code THEN classe_5_texte
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code AND arbre_classe_3_code <> classe_6_code THEN classe_6_texte
ELSE compte_general_texte
END
WHERE arbre_classe_1_code <> compte_general_numero AND arbre_classe_2_code <> compte_general_numero AND arbre_classe_3_code <> compte_general_numero ;
UPDATE compta.t_comptes_c
SET
arbre_classe_5_id =
CASE
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code AND arbre_classe_2_code <> classe_5_code AND arbre_classe_3_code <> classe_5_code AND arbre_classe_4_code <> classe_5_code THEN classe_5_id
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code AND arbre_classe_3_code <> classe_6_code AND arbre_classe_4_code <> classe_6_code THEN classe_6_id
ELSE compte_general_id
END,
arbre_classe_5_code =
CASE
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code AND arbre_classe_2_code <> classe_5_code AND arbre_classe_3_code <> classe_5_code AND arbre_classe_4_code <> classe_5_code THEN classe_5_code
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code AND arbre_classe_3_code <> classe_6_code AND arbre_classe_4_code <> classe_6_code THEN classe_6_code
ELSE compte_general_numero
END,
arbre_classe_5_texte =
CASE
WHEN classe_5_texte <> '' AND arbre_classe_1_code <> classe_5_code AND arbre_classe_2_code <> classe_5_code AND arbre_classe_3_code <> classe_5_code AND arbre_classe_4_code <> classe_5_code THEN classe_5_texte
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code AND arbre_classe_3_code <> classe_6_code AND arbre_classe_4_code <> classe_6_code THEN classe_6_texte
ELSE compte_general_texte
END
WHERE arbre_classe_1_code <> compte_general_numero AND arbre_classe_2_code <> compte_general_numero AND arbre_classe_3_code <> compte_general_numero AND arbre_classe_4_code <> compte_general_numero ;
UPDATE compta.t_comptes_c
SET
arbre_classe_6_id =
CASE
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code AND arbre_classe_3_code <> classe_6_code AND arbre_classe_4_code <> classe_6_code AND arbre_classe_4_code <> classe_6_code THEN classe_6_id
ELSE compte_general_id
END,
arbre_classe_6_code =
CASE
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code AND arbre_classe_3_code <> classe_6_code AND arbre_classe_4_code <> classe_6_code AND arbre_classe_4_code <> classe_6_code THEN classe_6_code
ELSE compte_general_numero
END,
arbre_classe_6_texte =
CASE
WHEN classe_6_texte <> '' AND arbre_classe_1_code <> classe_6_code AND arbre_classe_2_code <> classe_6_code AND arbre_classe_3_code <> classe_6_code AND arbre_classe_4_code <> classe_6_code AND arbre_classe_4_code <> classe_6_code THEN classe_6_texte
ELSE compte_general_texte
END
WHERE arbre_classe_1_code <> compte_general_numero AND arbre_classe_2_code <> compte_general_numero AND arbre_classe_3_code <> compte_general_numero AND arbre_classe_4_code <> compte_general_numero AND arbre_classe_5_code <> compte_general_numero ;
UPDATE compta.t_comptes_c
SET
arbre_classe_7_id = compte_general_id,
arbre_classe_7_code = compte_general_numero,
arbre_classe_7_texte = compte_general_texte
WHERE arbre_classe_1_code <> numero
AND arbre_classe_2_code <> compte_general_numero
AND arbre_classe_3_code <> compte_general_numero
AND arbre_classe_4_code <> compte_general_numero
AND arbre_classe_5_code <> compte_general_numero
AND arbre_classe_6_code <> compte_general_numero ;
SELECT compta.cti_update_schema_classes('*ALL');
]]></sqlcmd>
</NODE>
<NODE label="Poles">
<sqlcmd><![CDATA[
SELECT compta.cti_reorganize_pole();
]]></sqlcmd>
</NODE>
<NODE label="Controle chiffrier">
<sqlcmd><![CDATA[
SELECT compta.cti_reorganize_controle_chiffrier();
]]></sqlcmd>
</NODE>
<NODE label="Référencement paramètres">
<sqlcmd><![CDATA[
TRUNCATE compta.p_mois_comptables;
INSERT INTO compta.p_mois_comptables (mois_comptable, texte, exercice_comptable, annee, mois, texte_court, exercice_mois_comptable_1)
SELECT mois, texte, exercice_comptable, annee, numero_mois, texte_court, exercice_mois_comptable_1
FROM base.p_calendrier_mois
WHERE mois not in (select mois_comptable from compta.p_mois_comptables)
AND mois IN (select mois_comptable from compta.p_historique_ecritures);
TRUNCATE compta.p_oids;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'journaux_c', journal_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C' AND journal_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'journaux_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'journaux_h', journal_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'H' AND journal_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'journaux_h')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'comptes_c', compte_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C' AND compte_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'comptes_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'comptes_c', compte_nonsigne_id
FROM compta.p_historique_ecritures_total
JOIN compta.t_comptes ON compte_id = t_comptes.oid
WHERE p_historique_ecritures_total.clinique_honoraire = 'C' AND compte_nonsigne_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'comptes_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'comptes_budget_c', compte_budget_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND compte_budget_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'comptes_budget_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'comptes_h', compte_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'H' AND compte_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'comptes_h')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'comptes_extra_c', compte_extra_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND compte_extra_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'comptes_extra_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'comptes_extra_h', compte_extra_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'H'
AND compte_extra_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'comptes_extra_h')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'comptes_budget_c', compte_budget_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND compte_budget_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'comptes_budget_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'types_compta_c', type_compta_id
FROM compta.v_historique_ecritures_total_1
WHERE clinique_honoraire = 'C'
AND type_compta_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'types_compta_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'types_compta_h', type_compta_id
FROM compta.v_historique_ecritures_total_1
WHERE clinique_honoraire = 'H'
AND type_compta_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'types_compta_h')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'types_compta_extra_c', type_compta_extra_id
FROM compta.v_historique_ecritures_total_1
WHERE clinique_honoraire = 'C'
AND type_compta_extra_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'types_compta_extra_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'types_compta_extra_h', type_compta_extra_id
FROM compta.v_historique_ecritures_total_1
WHERE clinique_honoraire = 'H'
AND type_compta_extra_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'types_compta_extra_h')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_c', section_analytique_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_2_c', section_analytique_2_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_2_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_2_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_3_c', section_analytique_3_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_3_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_3_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_4_c', section_analytique_4_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_4_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_4_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_5_c', section_analytique_5_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_5_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_5_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_6_c', section_analytique_6_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_6_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_6_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_7_c', section_analytique_7_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_7_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_7_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_8_c', section_analytique_8_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_8_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_8_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_9_c', section_analytique_9_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_9_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_9_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_c', section_analytique_3_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_c', section_analytique_4_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sections_analytiques_c', section_analytique_5_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND section_analytique_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sections_analytiques_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'partenaires_c', partenaire_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND partenaire_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'partenaires_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'partenaires_h', partenaire_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'H'
AND partenaire_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'partenaires_h')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sites_c', site_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'C'
AND site_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sites_c')
GROUP BY 1,2;
INSERT INTO compta.p_oids (code_table, oid)
SELECT 'sites_h', site_id
FROM compta.p_historique_ecritures_total
WHERE clinique_honoraire = 'H'
AND site_id NOT IN (SELECT oid FROM compta.p_oids WHERE code_table = 'sites_h')
GROUP BY 1,2;
SELECT compta.cti_update_schema_classes('*ALL');
]]></sqlcmd>
</NODE>
<NODE label="Mise à jour de la table Divers">
<sqlcmd><![CDATA[
-- Initialisation mois en cours/mois clôturé (NOW/NOWCLOTURE) lorsque pas déjà renseigné lors de l'import.
SELECT compta.cti_now('NOW','FORCE');
SELECT compta.cti_now('NOWCLOTURE','FORCE');
]]></sqlcmd>
</NODE>
</NODE>
<NODE name="VACUUM" label="REORGANISATION BASE DE DONNEES">
<condition><![CDATA[
"[MOISMODIFIES]" != "0"
]]></condition>
<NODE label="Réorganisation tables">
<sqlcmd><![CDATA[
VACUUM FULL ANALYSE compta.t_comptes;
REINDEX TABLE compta.t_comptes;
VACUUM FULL ANALYSE compta.t_comptes_c;
VACUUM ANALYSE compta.t_classes_comptes;
REINDEX TABLE compta.t_classes_comptes;
VACUUM ANALYSE compta.p_chiffrier_comptable;
VACUUM ANALYSE compta.p_ecriture_fournisseur;
VACUUM FULL ANALYSE compta.p_historique_ecritures;
VACUUM ANALYSE compta.t_rapport_group;
VACUUM ANALYSE compta.t_rapports;
VACUUM ANALYSE compta.t_sites;
]]></sqlcmd>
</NODE>
<NODE label="Vide cache">
<sqlcmd><![CDATA[
SELECT cti_cache_reload as log from cache.cti_cache_reload('iCTI_compta', true);
]]></sqlcmd>
</NODE>
</NODE>
<NODE name="RAZ" label="RAZ BASE">
<NODE label="Nettoyage des tables">
<sqlcmd><![CDATA[
]]></sqlcmd>
</NODE>
</NODE>
</ROOT>