$db->entreprises->primary('pk_entreprises', 'entreprise_id');\r
$db->entreprises->index('index_entreprises_nom', 'BTREE', 'nom');\r
$db->entreprises->index('index_entreprises_ws_grade', 'BTREE', 'ws_grade');\r
-\r
// .\r
// Table projets\r
$db->projets->projet_id('integer', 0, false);\r
$db->projets->index('index_projets_nom', 'BTREE', 'nom');\r
$db->projets->index('index_projets_client', 'BTREE', 'client');\r
$db->projets->index('index_projets_chef', 'BTREE', 'chef');\r
+ $db->projets->index('index_projets_debut', 'BTREE', 'date_debut');\r
+ $db->projets->index('index_projets_fin', 'BTREE', 'date_fin');\r
// .\r
// Table taches\r
$db->taches->tache_id('integer', 0, false);\r
$db->dashboard->site('varchar', 32, false, '\'extranet\'');\r
// Clés\r
$db->dashboard->primary('pk_dashboard', 'dashboard_id');\r
- $db->dashboard->index('index_dashboard_equipier','BTREE', 'equipier');\r
- $db->dashboard->index('index_dashboard_sort','BTREE', 'sort');\r
- $db->dashboard->index('index_dashboard_site','BTREE', 'site');\r
+ $db->dashboard->index('index_dashboard_equipier', 'BTREE', 'equipier');\r
+ $db->dashboard->index('index_dashboard_sort', 'BTREE', 'sort');\r
+ $db->dashboard->index('index_dashboard_site', 'BTREE', 'site');\r
// .\r
// Table Signatures\r
$db->signatures->signature_id('integer', 0, false);\r
$this->views->createView('factures_valides', 'SELECT * FROM factures WHERE status IN(1,2)');\r
$this->views->createView('projets_inter', 'SELECT projets.projet_id,projets.nom,projets.status,projets.date_debut,projets.date_fin,projets.date_creation,projets.deadline,projets.devis,'\r
. 'YEAR(FROM_UNIXTIME(projets.date_debut)) AS annee_debut,'\r
- . 'IF(YEAR(FROM_UNIXTIME(projets.date_fin))=1970,YEAR(NOW()),YEAR(FROM_UNIXTIME(projets.date_fin))) AS annee_fin,'\r
+ . 'IF(date_fin=0,YEAR(NOW()),YEAR(FROM_UNIXTIME(projets.date_fin))) AS annee_fin,'\r
. 'clients.rs AS client,equipiers.prenom AS chef,equipiers.utilisateur_id AS chef_id,clients.utilisateur_id AS client_id '\r
- . 'FROM projets,clients_entreprise clients,equipiers '\r
- . 'WHERE clients.utilisateur_id=projets.client AND equipiers.utilisateur_id=projets.chef', 'TEMPTABLE');\r
- $this->views->createView('projets_inter1', 'SELECT projets.*,taches.jours_prevus,taches.jours_consommes,taches.progression,taches.budget AS budget, '\r
- . 'IF(taches.budget>0,SUM(factures_valides.total_ht)/taches.budget,1) AS rapport_facturation, '\r
- . 'SUM(factures_valides.total_ht) AS montant_facture '\r
- . 'FROM projets_inter projets '\r
- . 'LEFT JOIN taches_projet taches ON taches.projet=projets.projet_id '\r
- . 'LEFT JOIN factures_valides ON factures_valides.projet=projets.projet_id '\r
- . 'GROUP BY projets.projet_id,factures_valides.projet', 'TEMPTABLE');\r
- $this->views->createView('projets_vue', 'SELECT p.*,SUM(f.total_ht) AS montant_paye, '\r
- . 'IF(p.budget>0,SUM(f.total_ht)/p.budget,1) AS rapport_paiement '\r
- . 'FROM projets_inter1 p '\r
- . 'LEFT JOIN factures_payees f ON f.projet=p.projet_id '\r
- . 'GROUP BY p.projet_id', 'TEMPTABLE');\r
+ . 'FROM projets JOIN clients_entreprise clients ON projets.client=clients.utilisateur_id '\r
+ . 'JOIN equipiers ON projets.chef=equipiers.utilisateur_id');\r
+ $this->views->createView('projets_facturation', 'SELECT projet,SUM(IF(status IN(1,2),total_ht,0)) AS montant_facture, SUM(IF(status=2,total_ht,0)) AS montant_paye FROM factures GROUP BY projet');\r
+ $this->views->createView('projets_vue', 'SELECT p.*,f.montant_facture,f.montant_paye, '\r
+ . 't.jours_prevus,t.jours_consommes,t.progression,t.budget AS budget, '\r
+ . 'IF(t.budget>0,f.montant_paye/t.budget,1) AS rapport_paiement, '\r
+ . 'IF(t.budget>0,f.montant_facture/t.budget,1) AS rapport_facturation '\r
+ . 'FROM projets_inter p '\r
+ . 'LEFT JOIN projets_facturation f ON f.projet=p.projet_id '\r
+ . 'LEFT JOIN taches_projet t ON p.projet_id=t.projet');\r
$this->views->createView('factures_vue', 'SELECT factures.facture_id,factures.nom,factures.lignes,factures.status,factures.total_ht,factures.date_creation,factures.texte_complementaire,factures.informations_paiement,factures.date_paiement,factures.adresse,factures.avoir,'\r
- . 'projets.projet_id AS projet_id,projets.nom AS projet,projets.client_id AS client_id,projets.client as client,equipiers.prenom AS createur,equipiers.utilisateur_id AS createur_id '\r
- . 'FROM factures,projets_vue projets,equipiers '\r
- . 'WHERE factures.projet=projets.projet_id AND factures.createur=equipiers.utilisateur_id AND (factures.facture_id>=0 OR factures.status=1) ');\r
+ . 'projets.projet_id AS projet_id,projets.nom AS projet,clients.utilisateur_id AS client_id,clients.rs as client,equipiers.prenom AS createur,equipiers.utilisateur_id AS createur_id '\r
+ . 'FROM factures,projets,equipiers,clients '\r
+ . 'WHERE factures.projet=projets.projet_id AND clients.utilisateur_id=projets.client AND factures.createur=equipiers.utilisateur_id AND (factures.facture_id>=0 OR factures.status=1) ');\r
$this->views->createView('projets_timereport', 'SELECT * FROM projets_vue WHERE status=0');\r
$this->views->createView('order_timereport', 'SELECT utilisateur_id,projet AS projet_id,MAX(date) AS derniere_activite FROM timereport,taches,projets WHERE taches.tache_id=timereport.tache_id AND taches.projet=projets.projet_id AND projets.status=0 GROUP BY utilisateur_id,taches.projet ORDER BY utilisateur_id ASC,MAX(date) DESC');\r
$this->views->createView('ca', 'SELECT SUM(total_ht) AS ca, YEAR(FROM_UNIXTIME(date_creation)) annee FROM factures WHERE status IN(1,2) GROUP BY annee');\r