]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 29 Mar 2011 14:10:57 +0000 (14:10 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 29 Mar 2011 14:10:57 +0000 (14:10 +0000)
inc/commons/class.common.core.php

index 37490f5d16518a6e40974f0e180d6871aa41e7e1..726c31cfe2d1528a2a80aa510052fa6e67cc5399 100644 (file)
@@ -164,7 +164,6 @@ class commonCore extends cubeCore {
                $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
@@ -183,6 +182,8 @@ class commonCore extends cubeCore {
                $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
@@ -258,9 +259,9 @@ class commonCore extends cubeCore {
                $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
@@ -459,26 +460,22 @@ class commonCore extends cubeCore {
                $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