|
|
|
|
|
|
|
|
|
|
|
TRUNCATE eco.p_commandes;
|
|
|
|
|
|
INSERT INTO eco.p_commandes(
|
|
|
code_original,
|
|
|
numero,
|
|
|
date_commande,
|
|
|
objet,
|
|
|
reference,
|
|
|
date_livraison_prevue,
|
|
|
etat_reception,
|
|
|
date_reception,
|
|
|
etat_liquidation,
|
|
|
fournisseur_id,
|
|
|
gestionnaire_id,
|
|
|
lieu_commande_id,
|
|
|
lieu_facturation_id,
|
|
|
lieu_livraison_id,
|
|
|
unite_fonctionnelle_id,
|
|
|
montant_commande_ht,
|
|
|
montant_commande_remise,
|
|
|
montant_commande_tva,
|
|
|
montant_commande_port,
|
|
|
montant_commande_total,
|
|
|
montant_liquidation_ht,
|
|
|
montant_liquidation_remise,
|
|
|
montant_liquidation_tva,
|
|
|
montant_liquidation_port,
|
|
|
montant_liquidation_total)
|
|
|
|
|
|
SELECT
|
|
|
FUNCDE,
|
|
|
trim(to_char(FUNCDE,'000000')) AS numero,
|
|
|
eco.cti_to_date(FUSCRE, FUACRE, FUMCRE, FUJCRE) AS date_commande,
|
|
|
trim(FUOBFU) AS objet,
|
|
|
trim(FUREFC) AS reference,
|
|
|
eco.cti_to_date(FUSLIP, FUALIP, FUMLIP, FUJLIP) AS date_livraison_prevue,
|
|
|
CASE WHEN FUTOP4 = '1' THEN 'T' ELSE 'N' END AS etat_reception,
|
|
|
eco.cti_to_date(FUSLIV, FUALIV, FUMLIV, FUJLIV) AS date_reception,
|
|
|
CASE WHEN FUTOP5 = '1' THEN 'T' ELSE 'N' END AS etat_liquidation,
|
|
|
COALESCE(t_fournisseurs.oid,0) AS fournisseur_id,
|
|
|
COALESCE(t_gestionnaires.oid,0) AS gestionnaire_id,
|
|
|
COALESCE(t_lieux_commande.oid,0) AS lieu_commande_id,
|
|
|
COALESCE(t_lieux_facturation.oid,0) AS lieu_facturation_id,
|
|
|
COALESCE(t_lieux_livraison.oid,0) AS lieu_livraison_id,
|
|
|
COALESCE(t_unites_fonctionnelles.oid,0)AS unite_fonctionnelle_id,
|
|
|
FUMHTC AS montant_commande_ht,
|
|
|
FUMREC AS montant_commande_remise,
|
|
|
FUMTVC AS montant_commande_tva,
|
|
|
FUMPOC AS montant_commande_port,
|
|
|
FUMTCC AS montant_commande_total,
|
|
|
FUMHTL AS montant_liquidation_ht,
|
|
|
FUMREL AS montant_liquidation_remise,
|
|
|
FUMTVL AS montant_liquidation_tva,
|
|
|
FUMPOL AS montant_liquidation_port,
|
|
|
FUMTCL AS montant_liquidation_total
|
|
|
FROM prod_shs.pigefi180_FUP01
|
|
|
LEFT JOIN eco.t_fournisseurs ON FUIUFN = t_fournisseurs.code_original
|
|
|
LEFT JOIN eco.t_gestionnaires ON FUKGEC = t_gestionnaires.code_original
|
|
|
LEFT JOIN eco.t_lieux t_lieux_commande ON FULFAC = t_lieux_commande.code_original
|
|
|
LEFT JOIN eco.t_lieux t_lieux_facturation ON FULFAC = t_lieux_facturation.code_original
|
|
|
LEFT JOIN eco.t_lieux t_lieux_livraison ON FULLIV = t_lieux_livraison.code_original
|
|
|
LEFT JOIN eco.t_unites_fonctionnelles ON CASE WHEN FUIUU2 <> '' THEN FUIUU2 ELSE FUIUU1 END = t_unites_fonctionnelles.code_original
|
|
|
|
|
|
WHERE FUSCRE = 20 and FUACRE BETWEEN 08 AND 20 AND FUCANN = '';
|
|
|
|
|
|
select * from eco.p_commandes
|
|
|
limit 100
|
|
|
|
|
|
|
|
|
|
|
|
TRUNCATE eco.p_lignes_commandes;
|
|
|
|
|
|
INSERT INTO eco.p_lignes_commandes(
|
|
|
code_original,
|
|
|
commande_id,
|
|
|
ligne_commande,
|
|
|
texte,
|
|
|
article_id,
|
|
|
unite_approvisionnement_id,
|
|
|
compte_id,
|
|
|
quantite_approvisionnement,
|
|
|
prix_unitaire_approvisionnement,
|
|
|
multiplicateur_stockage,
|
|
|
quantite_stockage,
|
|
|
prix_unitaire_stockage,
|
|
|
|
|
|
montant_commande_ht,
|
|
|
montant_commande_remise,
|
|
|
montant_commande_tva,
|
|
|
montant_commande_port,
|
|
|
montant_commande_ttc,
|
|
|
|
|
|
quantite_livraison_approvisionnement,
|
|
|
quantite_livraison_stockage,
|
|
|
montant_livraison_ht,
|
|
|
montant_livraison_ttc,
|
|
|
etat_livraison,
|
|
|
|
|
|
montant_liquidation_ht,
|
|
|
montant_liquidation_remise,
|
|
|
montant_liquidation_tva,
|
|
|
montant_liquidation_port,
|
|
|
montant_liquidation_ttc,
|
|
|
etat_liquidation)
|
|
|
SELECT
|
|
|
FVNCDE || '|' || FVLICD AS code_original,
|
|
|
p_commandes.oid AS commande_id,
|
|
|
FVLICD AS ligne_commande,
|
|
|
trim(FVLIA1 || ' ' || FVLIA2) AS texte,
|
|
|
t_articles.oid AS article_id,
|
|
|
COALESCE(t_unites.oid,t_articles.unite_stockage_id) AS unite_approvisionnement_id,
|
|
|
0 AS compte_id,
|
|
|
FVQCD1 AS quantite_approvisionnement,
|
|
|
FVPUN1 AS prix_unitaire_approvisionnement,
|
|
|
|
|
|
FVUSUA AS multiplicateur_stockage,
|
|
|
|
|
|
FVQCD2 AS quantite_stockage,
|
|
|
FVPUN2 AS prix_unitaire_stockage,
|
|
|
|
|
|
|
|
|
|
|
|
FVMHT1 AS montant_commande_ht,
|
|
|
FVMRE1 AS montant_commande_remise,
|
|
|
FVMTV1 AS montant_commande_tva,
|
|
|
FVMPO1 AS montant_commande_port,
|
|
|
FVMTC1 AS montant_commande_ttc,
|
|
|
|
|
|
FVQRE1 AS quantite_livraison_approvisionnement,
|
|
|
FVQRE1 AS quantite_livraison_stockage,
|
|
|
|
|
|
CASE WHEN FVQRE1 = FVQCD1 THEN FVMHT1 WHEN FVQCD1 = 0 THEN 0 ELSE FVMHT1 / FVQCD1 * FVQRE1 END AS montant_livraison_ht,
|
|
|
CASE WHEN FVQRE1 = FVQCD1 THEN FVMTC1 WHEN FVQCD1 = 0 THEN 0 ELSE FVMTC1 / FVQCD1 * FVQRE1 END AS montant_livraison_ht,
|
|
|
CASE WHEN FVQRE1 = FVQCD1 THEN 'T' WHEN FVQRE1 > FVQCD1 THEN 'S' WHEN FVQRE1 = 0 THEN 'N' ELSE 'P' END AS etat_livraison,
|
|
|
|
|
|
CASE WHEN FVTOP3 = '1' THEN FVMHT1 ELSE 0 END AS montant_liquidation_ht,
|
|
|
CASE WHEN FVTOP3 = '1' THEN FVMRE1 ELSE 0 END AS montant_liquidation_remise,
|
|
|
CASE WHEN FVTOP3 = '1' THEN FVMTV1 ELSE 0 END AS montant_liquidation_tva,
|
|
|
CASE WHEN FVTOP3 = '1' THEN FVMPO1 ELSE 0 END AS montant_liquidation_port,
|
|
|
CASE WHEN FVTOP3 = '1' THEN FVMTC1 ELSE 0 END AS montant_liquidation_ttc,
|
|
|
|
|
|
FVTOP3 AS etat_liquidation
|
|
|
|
|
|
|
|
|
FROM prod_shs.pigefi180_FVP01
|
|
|
JOIN prod_shs.pigefi180_FUP01 on FVNCDE = FUNCDE
|
|
|
JOIN eco.p_commandes ON FVNCDE = p_commandes.code_original
|
|
|
JOIN eco.t_articles ON FVIUAR = t_articles.code_original
|
|
|
LEFT JOIN eco.t_unites ON FVKUAP = t_unites.code_original
|
|
|
WHERE FUSCRE = 20 and FUACRE BETWEEN 08 AND 20 AND FUCANN = '' AND FVCANN = ''
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TRUNCATE eco.t_profils_comptables;
|
|
|
|
|
|
|
|
|
INSERT INTO eco.t_profils_comptables
|
|
|
(code_original,
|
|
|
centre_responsabilite_id,
|
|
|
unite_fonctionnelle_id)
|
|
|
SELECT
|
|
|
SYIUCR || '|' || SYIUUF AS code_original,
|
|
|
COALESCE(t_centres_responsabilites.oid,0) AS centre_responsabilite_id,
|
|
|
COALESCE(t_unites_fonctionnelles.oid,0) AS unite_fonctionnelle_id
|
|
|
FROM prod_shs.pigefi180_syp01
|
|
|
LEFT JOIN eco.t_centres_responsabilites ON SYIUCR = t_centres_responsabilites.code_original
|
|
|
LEFT JOIN eco.t_unites_fonctionnelles ON SYIUUF = t_unites_fonctionnelles.code_original
|
|
|
GROUP BY 1,2,3;
|
|
|
|
|
|
|
|
|
|
|
|
UPDATE eco.t_profils_comptables SET
|
|
|
centre_responsabilite_code = t_centres_responsabilites.code,
|
|
|
centre_responsabilite_texte = t_centres_responsabilites.texte_court,
|
|
|
centre_responsabilite_section_id = t_centres_responsabilites.section_id,
|
|
|
centre_responsabilite_section_code = t_centres_responsabilites.section_code,
|
|
|
centre_responsabilite_section_texte = t_centres_responsabilites.section_texte,
|
|
|
unite_fonctionnelle_code = t_unites_fonctionnelles.code,
|
|
|
unite_fonctionnelle_texte = t_unites_fonctionnelles.texte_court,
|
|
|
unite_fonctionnelle_section_id = t_unites_fonctionnelles.section_id,
|
|
|
unite_fonctionnelle_section_code = t_unites_fonctionnelles.section_code,
|
|
|
unite_fonctionnelle_section_texte = t_unites_fonctionnelles.section_texte
|
|
|
FROM
|
|
|
eco.t_centres_responsabilites,
|
|
|
eco.t_unites_fonctionnelles
|
|
|
WHERE centre_responsabilite_id = t_centres_responsabilites.oid
|
|
|
AND unite_fonctionnelle_id = t_unites_fonctionnelles.oid
|
|
|
AND (
|
|
|
centre_responsabilite_code IS DISTINCT FROM t_centres_responsabilites.code OR
|
|
|
centre_responsabilite_texte IS DISTINCT FROM t_centres_responsabilites.texte_court OR
|
|
|
centre_responsabilite_section_id IS DISTINCT FROM t_centres_responsabilites.section_id OR
|
|
|
centre_responsabilite_section_code IS DISTINCT FROM t_centres_responsabilites.section_code OR
|
|
|
centre_responsabilite_section_texte IS DISTINCT FROM t_centres_responsabilites.section_texte OR
|
|
|
unite_fonctionnelle_code IS DISTINCT FROM t_unites_fonctionnelles.code OR
|
|
|
unite_fonctionnelle_texte IS DISTINCT FROM t_unites_fonctionnelles.texte_court OR
|
|
|
unite_fonctionnelle_section_id IS DISTINCT FROM t_unites_fonctionnelles.section_id OR
|
|
|
unite_fonctionnelle_section_code IS DISTINCT FROM t_unites_fonctionnelles.section_code OR
|
|
|
unite_fonctionnelle_section_texte IS DISTINCT FROM t_unites_fonctionnelles.section_texte
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TRUNCATE eco.p_mouvements_articles;
|
|
|
|
|
|
INSERT INTO eco.p_mouvements_articles(
|
|
|
date,
|
|
|
sens_mouvement,
|
|
|
type_mouvement_id,
|
|
|
texte,
|
|
|
gestionnaire_id,
|
|
|
lieu_id,
|
|
|
profil_comptable_id,
|
|
|
article_id,
|
|
|
fournisseur_id,
|
|
|
commande_id,
|
|
|
ligne_commande,
|
|
|
prix_unitaire,
|
|
|
entree_quantite,
|
|
|
sortie_quantite,
|
|
|
entree_montant,
|
|
|
sortie_montant,
|
|
|
stock_quantite_debut,
|
|
|
stock_quantite_fin)
|
|
|
|
|
|
SELECT
|
|
|
eco.cti_to_date(SYSIEC, SYANNE, SYMOIS, SYJOUR) AS date,
|
|
|
CASE WHEN SYKNMV = 'E' OR (SYKNMV = 'T' AND SYKCMV = 'TE') THEN 'E' ELSE 'S' END AS sens_mouvement,
|
|
|
COALESCE(t_types_mouvements.oid,0) AS type_mouvement_id,
|
|
|
TRIM(SYLI25) AS texte,
|
|
|
COALESCE(t_gestionnaires.oid,0) AS gestionnaire_id,
|
|
|
COALESCE(t_lieux.oid,0) AS lieu_id,
|
|
|
COALESCE(t_profils_comptables.oid,0) AS profil_comptable,
|
|
|
COALESCE(t_articles.oid,0) AS article_id,
|
|
|
COALESCE(t_fournisseurs.oid,0) AS fournisseur_id,
|
|
|
COALESCE(p_commandes.oid,0) AS commande_id,
|
|
|
SYLICD AS ligne_commande,
|
|
|
SYPRMV AS prix_unitaire,
|
|
|
CASE WHEN SYKNMV = 'E' OR (SYKNMV = 'T' AND SYKCMV = 'TE') THEN SYQMVT ELSE 0 END AS entree_quantite,
|
|
|
CASE WHEN SYKNMV = 'S' OR (SYKNMV = 'T' AND SYKCMV = 'TS') THEN SYQMVT ELSE 0 END AS sortie_quantite,
|
|
|
CASE WHEN SYKNMV = 'E' OR (SYKNMV = 'T' AND SYKCMV = 'TE') THEN SYQMVT * SYPRMV ELSE 0 END AS entree_montant,
|
|
|
CASE WHEN SYKNMV = 'S' OR (SYKNMV = 'T' AND SYKCMV = 'TS') THEN SYQMVT * SYPRMV ELSE 0 END AS sortie_montant,
|
|
|
0 AS stock_quantite_debut,
|
|
|
0 AS stock_quantite_fin
|
|
|
|
|
|
FROM prod_shs.pigefi180_syp01
|
|
|
LEFT JOIN prod_shs.pigefi180_AFP01 ON SYIUAF = AFIUAF
|
|
|
LEFT JOIN prod_shs.pigefi180_FUP01 ON SYNCDE = FUNCDE
|
|
|
LEFT JOIN eco.t_types_mouvements ON SYKCMV = t_types_mouvements.code_original
|
|
|
LEFT JOIN eco.t_gestionnaires ON SYKGEC = t_gestionnaires.code_original
|
|
|
LEFT JOIN eco.t_lieux ON SYLIEU = t_lieux.code_original
|
|
|
LEFT JOIN eco.t_profils_comptables ON SYIUCR || '|' || SYIUUF = t_profils_comptables.code_original
|
|
|
LEFT JOIN eco.t_articles ON SYIUAR = t_articles.code_original
|
|
|
LEFT JOIN eco.t_fournisseurs ON CASE WHEN FUIUFN <> '' THEN AFIUFN WHEN AFIUFN <> '' THEN AFIUFN ELSE SYIUFN END = t_fournisseurs.code_original
|
|
|
LEFT JOIN eco.p_commandes ON SYNCDE = p_commandes.code_original
|
|
|
|
|
|
WHERE sysiec = 20 and syanne BETWEEN 08 AND 20 AND SYCANN = ''
|
|
|
ORDER BY SYNMVT;
|
|
|
|
|
|
select * from eco.p_mouvements_articles limit 1000
|
|
|
|
|
|
TRUNCATE eco.p_chiffrier_production;
|
|
|
|
|
|
INSERT INTO eco.p_chiffrier_production (mois)
|
|
|
SELECT extract('year' FROM date) * 100 + extract('month' FROM date)
|
|
|
FROM eco.p_mouvements_articles
|
|
|
GROUP BY 1;
|
|
|
|
|
|
|
|
|
|
|
|
select * FROM eco.p_mouvements_articles order by article_id, date
|
|
|
|
|
|
limit 1000
|
|
|
|