From: vincent@cubedesigners.com Date: Thu, 2 Jan 2014 10:45:14 +0000 (+0000) Subject: (no commit message) X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=ac3d17a3a7351bf6e6d8b24ee05c28ecaac30183;p=cubeextranet.git --- diff --git a/inc/commons/class.common.core.php b/inc/commons/class.common.core.php index 63613ed83..96f2d3713 100644 --- a/inc/commons/class.common.core.php +++ b/inc/commons/class.common.core.php @@ -41,7 +41,7 @@ class commonCore extends cubeCore { 2 => __('Validé'), 3 => __('Refusé')); $this->demandes_status = array(0 => __('Non traitée'), 1 => __('Confiée à un revendeur'), 2 => __('Traitée')); $this->factures_status = array(0 => __('Brouillon'), 1 => __('Attente'), - 2 => __('Payée'), 3 => __('Annulée'), 4 => __('Avoir')); + 2 => __('Payée'), 3 => __('Annulée'), 4 => __('Avoir'), 5 => __('Impayée')); $this->books_status = array(-1 => __('Brouillon'), 0 => __('Prêt'), 1 => __('Téléchargé'), 2 => __('Facturé')); $this->agences = array('Paris', 'Montpellier'); $this->demandes_type = array(0 => __('Non défini'), @@ -566,14 +566,14 @@ class commonCore extends cubeCore { . 'FROM devis,clients,equipiers ' . 'WHERE devis.client=clients.utilisateur_id AND devis.createur=equipiers.utilisateur_id'); $this->views->createView('factures_payees', 'SELECT * FROM factures WHERE status=2'); - $this->views->createView('factures_valides', 'SELECT * FROM factures WHERE status IN(1,2)'); + $this->views->createView('factures_valides', 'SELECT * FROM factures WHERE status IN(1,2,5)'); $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,' . 'YEAR(FROM_UNIXTIME(projets.date_debut)) AS annee_debut,' . 'IF(date_fin=0,YEAR(NOW()),YEAR(FROM_UNIXTIME(projets.date_fin))) AS annee_fin,' . 'clients.rs AS client,equipiers.prenom AS chef,equipiers.utilisateur_id AS chef_id,clients.utilisateur_id AS client_id ' . 'FROM projets JOIN clients_entreprise clients ON projets.client=clients.utilisateur_id ' . 'JOIN equipiers ON projets.chef=equipiers.utilisateur_id'); - $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'); + $this->views->createView('projets_facturation', 'SELECT projet,SUM(IF(status IN(1,2,5),total_ht,0)) AS montant_facture, SUM(IF(status=2,total_ht,0)) AS montant_paye FROM factures GROUP BY projet'); $this->views->createView('projets_vue', 'SELECT p.*,f.montant_facture,f.montant_paye, ' . 't.jours_prevus,t.jours_consommes,t.progression,t.budget AS budget, ' . 'IF(t.budget>0,f.montant_paye/t.budget,1) AS rapport_paiement, ' @@ -587,9 +587,10 @@ class commonCore extends cubeCore { . '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) '); $this->views->createView('projets_timereport', 'SELECT * FROM projets_vue WHERE status=0'); $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'); - $this->views->createView('ca', 'SELECT SUM(total_ht) AS ca, YEAR(FROM_UNIXTIME(date_creation)) annee FROM factures WHERE status>0 GROUP BY annee'); - $this->views->createView('cam', 'SELECT SUM(total_ht) AS ca, DATE_FORMAT(FROM_UNIXTIME(date_creation),\'%Y-%m\') mois FROM factures WHERE status>0 GROUP BY mois'); - $this->views->createView('cat', 'SELECT SUM(total_ht) AS ca, CONCAT_WS(\'-\',YEAR(FROM_UNIXTIME(date_creation)),QUARTER(FROM_UNIXTIME(date_creation))) trimestre FROM factures WHERE status>0 GROUP BY trimestre'); + $this->views->createView('ca', 'SELECT SUM(total_ht) AS ca, YEAR(FROM_UNIXTIME(date_creation)) annee FROM factures WHERE status BETWEEN 1 AND 4 GROUP BY annee'); + $this->views->createView('cai', 'SELECT SUM(total_ht) AS ca, YEAR(FROM_UNIXTIME(date_creation)) annee FROM factures WHERE status = 5 GROUP BY annee'); + $this->views->createView('cam', 'SELECT SUM(total_ht) AS ca, DATE_FORMAT(FROM_UNIXTIME(date_creation),\'%Y-%m\') mois FROM factures WHERE status BETWEEN 1 AND 4 GROUP BY mois'); + $this->views->createView('cat', 'SELECT SUM(total_ht) AS ca, CONCAT_WS(\'-\',YEAR(FROM_UNIXTIME(date_creation)),QUARTER(FROM_UNIXTIME(date_creation))) trimestre FROM factures WHERE status BETWEEN 1 AND 4 GROUP BY trimestre'); $this->views->createView('ftpaccess', 'SELECT email AS userid,password AS passwd,utilisateur_id AS uid,' . '\'1000\' AS gid,CONCAT(\'' . FTPROOT . '\',utilisateur_id) AS homedir, \'/bin/false\' AS shell ' . 'FROM utilisateurs WHERE grade=0 ' diff --git a/inc/extranet/Controlleur/class.extranet.page.chiffres.php b/inc/extranet/Controlleur/class.extranet.page.chiffres.php index a63c20add..033d1f007 100644 --- a/inc/extranet/Controlleur/class.extranet.page.chiffres.php +++ b/inc/extranet/Controlleur/class.extranet.page.chiffres.php @@ -113,6 +113,14 @@ class extranetPageChiffres { while ($r->fetch()) { $chiffres[$r->annee] = $r->ca; } + // Jamais payé + $r = $core->con->select('SELECT * FROM cai'); + $impayes = array(); + while ($r->fetch()) { + $impayes[$r->annee] = $r->ca; + } + + $res = commonPage::bh(); $res .= ''; $res .= ''; $res .= ''; + $res .= ''; + $total = 0; + foreach ($chiffres as $annee => $ca) { + $i = ''; + if (isset($impayes[$annee])) { + $total += $impayes[$annee]; + $i = self::format($impayes[$annee]); + } + $res .= ''; + + } + $res .= ''; + $res .= ''; + $res .= '
'; @@ -134,6 +142,20 @@ class extranetPageChiffres { $res .= '' . self::format($total) . '
' . __('Impayés perdus') . '' . $i . '' . self::format($total) . '
'; $res .= commonPage::bf(); return $res; diff --git a/inc/extranet/Controlleur/class.extranet.url.php b/inc/extranet/Controlleur/class.extranet.url.php index 4301d05d6..97c89dfae 100644 --- a/inc/extranet/Controlleur/class.extranet.url.php +++ b/inc/extranet/Controlleur/class.extranet.url.php @@ -1199,13 +1199,13 @@ class extranetUrl { $res .= ''; } } elseif ($facture->status >= 1) { - if ($facture->status < 3) { + if ($facture->status < 3 || $facture->status==5) { if ($droits) { $res .= '' . $core->factures_status[$facture->status] . ''; } else { $res .= '' . $core->factures_status[$facture->status] . ''; } - } else { + } else{ $title = $facture->status == 3 ? __("Voir l'avoir correspondant") : __("Voir la facture annulée correspondante"); $res .= '' . $core->factures_status[$facture->status] . ''; } diff --git a/inc/extranet/Metier/class.extranet.document.php b/inc/extranet/Metier/class.extranet.document.php index 742d721e9..81510f7b2 100644 --- a/inc/extranet/Metier/class.extranet.document.php +++ b/inc/extranet/Metier/class.extranet.document.php @@ -1,5 +1,7 @@ testPDF(); if ($this->isFacture() && $cesure) { $cesure = false; @@ -75,7 +76,7 @@ abstract class extranetDocument extends cubeMetier { $pdf->MultiCell(73, 4, self::escape($titre), 0, 'L'); // blocs $pdf->setY(105); - foreach($this->lignes as $i => $ligne) { + foreach ($this->lignes as $i => $ligne) { if ($cesure && $i == $cesure) { fb($pdf); $pdf->AddPage(); @@ -105,7 +106,7 @@ abstract class extranetDocument extends cubeMetier { } } // Prix - $tva = cubeTaxes::tva($this->client->pays); + $tva = cubeTaxes::tva($this->client->pays, $this->date_creation); if (!$tva) { $tva_text = 'EXPORT'; } elseif ($tva == 'UE') { @@ -117,7 +118,7 @@ abstract class extranetDocument extends cubeMetier { } $ttc = cubePrices::HTtoTTC($this->total_ht, $tva, 2); $ttcf = cubePrices::formatAmount($ttc, $this->client->lang); - $taxes = ($tva > 0)?cubePrices::formatAmount($ttc - $this->total_ht, $this->client->lang, 2):''; + $taxes = ($tva > 0) ? cubePrices::formatAmount($ttc - $this->total_ht, $this->client->lang, 2) : ''; // Affichage du montant hors taxes $pdf->setFont('Helvetica', 'B', 10); if ($cesure) { @@ -152,14 +153,13 @@ abstract class extranetDocument extends cubeMetier { return $pdf; } - protected function testPDF() - { + protected function testPDF() { $pdf = new FPDF('P', 'mm', 'A4'); $pdf->AddPage(); $pdf->SetAutoPageBreak(false); $pdf->setY(105); $pages = 1; - foreach($this->lignes as $i => $ligne) { + foreach ($this->lignes as $i => $ligne) { $y = $pdf->getY() + 5; $pdf->SetFont('Helvetica', 'B', 10); @@ -194,8 +194,7 @@ abstract class extranetDocument extends cubeMetier { } } - protected function escape($str) - { + protected function escape($str) { $str = cubeText::removeOddStuff($str); return utf8_decode($str); }