1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
DROP VIEW IF EXISTS listings;
CREATE VIEW listings AS
SELECT
dossiers.id_site as id_site,
liste_sites.valeur as site,
dossiers.id_dossier as id_dossier,
dossiers.id_classe as id_classe,
clients.id_client as id_client,
clients.code_client as code_client,
clients.libelle_client as client,
dossiers.id_statut as id_statut,
liste_statuts.valeur as statut,
liste_statuts.valeur_court as statut_court,
dossiers.libelle_appli as libelle_appli,
dossiers.id_marche as id_marche,
liste_marches.valeur as marche,
liste_marches.valeur_court as marche_court,
(select min(id_utilisateur) from dossier_intervenants where dossier_intervenants.id_dossier=dossiers.id_dossier and dossier_intervenants.role='gof_CDPC' and dossier_intervenants.type_intervenant = 'P') as id_CDPC,
(select min(id_utilisateur) from dossier_intervenants where dossier_intervenants.id_dossier=dossiers.id_dossier and dossier_intervenants.role='gof_IC' and dossier_intervenants.type_intervenant = 'P') as id_IC,
(select min(id_utilisateur) from dossier_intervenants where dossier_intervenants.id_dossier=dossiers.id_dossier and dossier_intervenants.role='gof_RQC' and dossier_intervenants.type_intervenant = 'P') as id_RQC,
(select min(id_utilisateur) from dossier_intervenants where dossier_intervenants.id_dossier=dossiers.id_dossier and dossier_intervenants.role='gof_C_DI' and dossier_intervenants.type_intervenant = 'P') as id_C_DI,
(select min(id_utilisateur) from dossier_intervenants where dossier_intervenants.id_dossier=dossiers.id_dossier and dossier_intervenants.role='gof_CDG' and dossier_intervenants.type_intervenant = 'P') as id_CDG,
(select min(id_utilisateur) from dossier_intervenants where dossier_intervenants.id_dossier=dossiers.id_dossier and dossier_intervenants.role='gof_ADV' and dossier_intervenants.type_intervenant = 'P') as id_ADV,
(select min(id_utilisateur) from dossier_intervenants where dossier_intervenants.id_dossier=dossiers.id_dossier and dossier_intervenants.role='gof_CDPI' and dossier_intervenants.type_intervenant = 'P') as id_CDPI,
(select min(id_utilisateur) from dossier_intervenants where dossier_intervenants.id_dossier=dossiers.id_dossier and dossier_intervenants.role='gof_RRI' and dossier_intervenants.type_intervenant = 'P') as id_RRI,
(select min(id_utilisateur) from dossier_intervenants where dossier_intervenants.id_dossier=dossiers.id_dossier and dossier_intervenants.role='gof_DEV' and dossier_intervenants.type_intervenant = 'P') as id_DEV,
dossiers.date_ouverture as date_ouverture,
dossiers.date_dev_termine as date_dev_termine,
dossiers.operation as operation,
dossiers.num_jalon_courant as num_jalon_courant,
(select dossier_jalons1.date,CASE dossiers.id_classe
WHEN '1' THEN (select dossier_jalons.date from dossier_jalons where dossier_jalons.id_direction = 6)
WHEN '30' THEN (select dossier_jalons.date from dossier_jalons where dossier_jalons.id_direction = 4)
END J1)as J1,
dossier_jalons2.date as J2,
dossier_jalons3.date as J3,
dossier_jalons4.date as J4,
dossier_jalons5.date as J5,
dossier_jalons6.date as J6,
dossier_jalons7.date as J7,
dossier_jalons8.date as J8,
if((dossiers.num_jalon_courant >= 3) and (validation_jalons8.date is null),'NJ8',if(validation_jalons4.date is null,NULL,'J4')) as flags,
dossiers.date_envoi_devis as date_envoi_devis,
dossiers.date_envoie_BAT as date_envoi_BAT,
dossiers.date_envoie_BAP as date_envoi_BAP,
dossiers.date_transmission_ADV as date_transmission_ADV,
dossiers.date_pour_facturer as date_pour_facturer,
dossiers.date_facture as date_facture,
IFNULL(dossiers.montant_facture, 0) as montant_facture,
dossiers.code_facture as code_facture,
dossiers.date_fermeture as date_fermeture,
sum((IFNULL(dossier_articles.estime_min,0) + IFNULL(dossier_articles.estime_complement_min,0))) as estime_min,
sum((IFNULL(dossier_articles.devise_min,0) + IFNULL(dossier_articles.devise_complement_min,0))) as devise_min,
sum((IFNULL(dossier_articles.devise_montant,0) + IFNULL(dossier_articles.devise_complement_montant,0))) as devise_montant,
(select sum(duree_min) from dossier_interventions where dossier_interventions.id_dossier = dossiers.id_dossier) as intervention_min,
dossiers.id_site_dev as id_site_dev,
liste_site_dev.valeur as site_dev
from dossiers
left join dossier_articles on dossier_articles.id_dossier=dossiers.id_dossier
left join dossier_jalons as dossier_jalons1 on dossier_jalons1.id_dossier=dossiers.id_dossier and dossier_jalons1.num_jalon=1
left join dossier_jalons as dossier_jalons2 on dossier_jalons2.id_dossier=dossiers.id_dossier and dossier_jalons2.num_jalon=2 and dossier_jalons2.id_direction=6
left join dossier_jalons as dossier_jalons3 on dossier_jalons3.id_dossier=dossiers.id_dossier and dossier_jalons3.num_jalon=3 and dossier_jalons3.id_direction=6
left join dossier_jalons as dossier_jalons4 on dossier_jalons4.id_dossier=dossiers.id_dossier and dossier_jalons4.num_jalon=4 and dossier_jalons4.id_direction=6
left join dossier_jalons as dossier_jalons5 on dossier_jalons5.id_dossier=dossiers.id_dossier and dossier_jalons5.num_jalon=5 and dossier_jalons5.id_direction=4
left join dossier_jalons as dossier_jalons6 on dossier_jalons6.id_dossier=dossiers.id_dossier and dossier_jalons6.num_jalon=6 and dossier_jalons6.id_direction=4
left join dossier_jalons as dossier_jalons7 on dossier_jalons7.id_dossier=dossiers.id_dossier and dossier_jalons7.num_jalon=7 and dossier_jalons7.id_direction=4
left join dossier_jalons as dossier_jalons8 on dossier_jalons8.id_dossier=dossiers.id_dossier and dossier_jalons8.num_jalon=8 and dossier_jalons8.id_direction=4
left join dossier_jalons as validation_jalons4 on validation_jalons4.id_dossier=dossiers.id_dossier and validation_jalons4.num_jalon=4 and validation_jalons4.id_direction=3
left join dossier_jalons as validation_jalons8 on validation_jalons8.id_dossier=dossiers.id_dossier and validation_jalons8.num_jalon=8 and validation_jalons8.id_direction=0
left join listes as liste_sites on liste_sites.code=dossiers.id_site and liste_sites.type_code='SITE'
left join listes as liste_statuts on liste_statuts.code=dossiers.id_statut and liste_statuts.type_code='STATUT_DOSSIER'
left join listes as liste_marches on liste_marches.code=dossiers.id_marche and liste_marches.type_code='MARCHE'
left join listes as liste_site_dev on liste_site_dev.code=dossiers.id_site_dev and liste_site_dev.type_code='SITE_DEV'
left join clients on clients.id_client=dossiers.id_client
group by
dossiers.id_site,
liste_sites.valeur,
dossiers.id_dossier,
dossiers.id_classe,
clients.id_client,
clients.code_client,
clients.libelle_client,
dossiers.id_statut,
liste_statuts.valeur,
liste_statuts.valeur_court,
dossiers.libelle_appli,
dossiers.id_marche,
liste_marches.valeur,
liste_marches.valeur_court,
dossiers.date_ouverture,
dossiers.date_dev_termine,
dossiers.operation,
dossier_jalons1.date,
dossier_jalons2.date,
dossier_jalons3.date,
dossier_jalons4.date,
dossier_jalons5.date,
dossier_jalons6.date,
dossier_jalons7.date,
dossier_jalons8.date,
validation_jalons4.date,
dossiers.date_envoi_devis,
dossiers.date_envoie_BAT,
dossiers.date_envoie_BAP,
dossiers.date_transmission_ADV,
dossiers.date_pour_facturer,
dossiers.date_facture,
dossiers.montant_facture,
dossiers.code_facture,
dossiers.date_fermeture,
dossiers.id_site_dev,
liste_site_dev.valeur
; |
Partager