Synchro
This commit is contained in:
parent
fa2391a3f4
commit
0a2a1d6d31
@ -42,17 +42,42 @@ require_once (DOL_DOCUMENT_ROOT."/telephonie/telephonie.contrat.class.php");
|
|||||||
|
|
||||||
class FacturationEmission {
|
class FacturationEmission {
|
||||||
|
|
||||||
function FacturationEmission($db)
|
function FacturationEmission($db, $user)
|
||||||
{
|
{
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->do_validate_facture = 0;
|
$this->do_validate_facture = 0;
|
||||||
$this->messages = array();
|
$this->messages = array();
|
||||||
|
$this->user = $user;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Compte le nombre de facture a generer
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function NbFactureToGenerate()
|
||||||
|
{
|
||||||
|
$sql = "SELECT count(rowid) FROM ".MAIN_DB_PREFIX."telephonie_facture";
|
||||||
|
$sql .= " WHERE fk_facture IS NULL;";
|
||||||
|
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
|
||||||
|
if ( $resql )
|
||||||
|
{
|
||||||
|
$row = $this->db->fetch_row($resql);
|
||||||
|
|
||||||
|
$this->nbfac = $row[0];
|
||||||
|
$this->db->free($resql);
|
||||||
|
$this->error = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->error = 1;
|
||||||
|
dolibarr_syslog("Erreur ".$error);
|
||||||
|
}
|
||||||
|
return $this->error;
|
||||||
}
|
}
|
||||||
|
|
||||||
function Emission()
|
function Emission()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
$datetime = time();
|
$datetime = time();
|
||||||
@ -60,8 +85,6 @@ class FacturationEmission {
|
|||||||
|
|
||||||
$date = strftime("%d%h%Y%Hh%Mm%S",$datetime);
|
$date = strftime("%d%h%Y%Hh%Mm%S",$datetime);
|
||||||
|
|
||||||
$user = new User($this->db, 1);
|
|
||||||
|
|
||||||
$month = strftime("%m", $datetime);
|
$month = strftime("%m", $datetime);
|
||||||
$year = strftime("%Y", $datetime);
|
$year = strftime("%Y", $datetime);
|
||||||
|
|
||||||
@ -90,13 +113,13 @@ class FacturationEmission {
|
|||||||
|
|
||||||
$batch_id = $row[0];
|
$batch_id = $row[0];
|
||||||
|
|
||||||
dolibarr_syslog("Traitement du batch ".$batch_id);
|
dolibarr_syslog("FacturationEmission::Emission Traitement du batch ".$batch_id);
|
||||||
$this->db->free($resql);
|
$this->db->free($resql);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error = 1;
|
$error = 1;
|
||||||
dolibarr_syslog("Erreur ".$error);
|
dolibarr_syslog("FacturationEmission::Emission Erreur ".$error);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -113,7 +136,7 @@ class FacturationEmission {
|
|||||||
*
|
*
|
||||||
***************************************************************/
|
***************************************************************/
|
||||||
|
|
||||||
dolibarr_syslog("Lecture des contrats");
|
dolibarr_syslog("FacturationEmission::Emission Lecture des contrats",LOG_DEBUG);
|
||||||
|
|
||||||
$sql = "SELECT distinct(c.rowid)";
|
$sql = "SELECT distinct(c.rowid)";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."telephonie_facture as f";
|
$sql .= " FROM ".MAIN_DB_PREFIX."telephonie_facture as f";
|
||||||
@ -149,7 +172,7 @@ class FacturationEmission {
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error = 2;
|
$error = 2;
|
||||||
dolibarr_syslog("Erreur $error");
|
dolibarr_syslog("FacturationEmission::Emission Erreur $error",LOG_ERR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@ -158,7 +181,7 @@ class FacturationEmission {
|
|||||||
*/
|
*/
|
||||||
if (!$error)
|
if (!$error)
|
||||||
{
|
{
|
||||||
dolibarr_syslog("Nombre de contrats à facturer ".sizeof($contrats));
|
dolibarr_syslog("FacturationEmission::Emission Nombre de contrats à facturer ".sizeof($contrats),LOG_DEBUG);
|
||||||
|
|
||||||
$xcli = 0;
|
$xcli = 0;
|
||||||
$xclis = sizeof($contrats);
|
$xclis = sizeof($contrats);
|
||||||
@ -168,7 +191,7 @@ class FacturationEmission {
|
|||||||
$xcli++;
|
$xcli++;
|
||||||
|
|
||||||
/* Lecture des factures téléphoniques du contrat */
|
/* Lecture des factures téléphoniques du contrat */
|
||||||
dolibarr_syslog($xcli."/".$xclis." Contrat à facturer id=".$contrat." (".memory_get_usage() .")");
|
dolibarr_syslog("FacturationEmission::Emission ".$xcli."/".$xclis." Contrat à facturer id=".$contrat." (".memory_get_usage() .")",LOG_DEBUG);
|
||||||
|
|
||||||
$sql = "SELECT f.rowid, s.idp FROM ";
|
$sql = "SELECT f.rowid, s.idp FROM ";
|
||||||
$sql .= MAIN_DB_PREFIX."telephonie_facture as f";
|
$sql .= MAIN_DB_PREFIX."telephonie_facture as f";
|
||||||
@ -204,43 +227,43 @@ class FacturationEmission {
|
|||||||
}
|
}
|
||||||
$this->db->free();
|
$this->db->free();
|
||||||
|
|
||||||
dolibarr_syslog("Contrat $contrat : $i factures trouvées à générer");
|
dolibarr_syslog("FacturationEmission::Emission Contrat $contrat, $i factures trouvées à générer", LOG_DEBUG);
|
||||||
|
|
||||||
$factures_prev = array();
|
$factures_prev = array();
|
||||||
$factures_a_mailer = array();
|
$factures_a_mailer = array();
|
||||||
|
|
||||||
if (sizeof($numlignes) > 0)
|
if (sizeof($numlignes) > 0)
|
||||||
{
|
{
|
||||||
$this->facture_contrat($this->db, $user, $contrat, $numlignes, $datetime, $factures_prev, $factures_a_mailer);
|
$this->facture_contrat($this->db, $this->user, $contrat, $numlignes, $datetime, $factures_prev, $factures_a_mailer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sizeof($numlignes) > 0)
|
if (sizeof($numlignes) > 0)
|
||||||
{
|
{
|
||||||
$this->_prelevements($this->db, $user, $factures_prev);
|
$this->_prelevements($this->db, $this->user, $factures_prev);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sizeof($numlignes) > 0)
|
if (sizeof($numlignes) > 0)
|
||||||
{
|
{
|
||||||
//$this->_emails($this->db, $user, $contrat, $factures_a_mailer);
|
//$this->_emails($this->db, $this->user, $contrat, $factures_a_mailer);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error = 1;
|
$error = 1;
|
||||||
//print $this->db->error();
|
dolibarr_syslog("FacturationEmission::Emission Error ".$error, LOG_ERR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
function facture_contrat($db, $user, $contrat_id, $factel_ids, $datetime, &$factures_prev, &$factures_a_mailer)
|
*
|
||||||
{
|
*
|
||||||
/*
|
*
|
||||||
* Traitements
|
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
function facture_contrat($db, $user, $contrat_id, $factel_ids, $datetime, &$factures_prev, &$factures_a_mailer)
|
||||||
|
{
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
@ -263,7 +286,7 @@ class FacturationEmission {
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error++;
|
$error++;
|
||||||
dolibarr_syslog("Impossible de lire le contrat");
|
dolibarr_syslog("FacturationEmission::facture_contrat Impossible de lire le contrat");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -289,7 +312,7 @@ class FacturationEmission {
|
|||||||
*/
|
*/
|
||||||
if (!$error)
|
if (!$error)
|
||||||
{
|
{
|
||||||
if ($verbose) dolibarr_syslog("Création facture pour $soc->nom");
|
if ($verbose) dolibarr_syslog("FacturationEmission::facture_contrat Création facture pour $soc->nom", LOG_DEBUG);
|
||||||
|
|
||||||
$fac = new Facture($db, $soc->id);
|
$fac = new Facture($db, $soc->id);
|
||||||
$cancel_facture = 1;
|
$cancel_facture = 1;
|
||||||
@ -305,7 +328,7 @@ class FacturationEmission {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dolibarr_syslog("Erreur création objet facture erreur : $facid");
|
dolibarr_syslog("FacturationEmission::facture_contrat Erreur création objet facture erreur : $facid",LOG_ERR);
|
||||||
$error = 16;
|
$error = 16;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -440,12 +463,12 @@ class FacturationEmission {
|
|||||||
|
|
||||||
$is++;
|
$is++;
|
||||||
}
|
}
|
||||||
$db->free();
|
$db->free($resql);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error = 20;
|
$error = 20;
|
||||||
dolibarr_syslog("Erreur $error");
|
dolibarr_syslog("FacturationEmission Erreur $error", LOG_ERR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -735,7 +758,7 @@ class FacturationEmission {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dolibarr_syslog("ERREUR lors de Génération du pdf détaillé");
|
dolibarr_syslog("FacturationEmission::facture_contrat ERREUR lors de Génération du pdf détaillé ($modele)");
|
||||||
$error = 19;
|
$error = 19;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -829,10 +852,10 @@ class FacturationEmission {
|
|||||||
$db->query("ROLLBACK");
|
$db->query("ROLLBACK");
|
||||||
dolibarr_syslog("ROLLBACK de la transaction $error");
|
dolibarr_syslog("ROLLBACK de la transaction $error");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function _prelevements($db, $user, $factures_prev)
|
function _prelevements($db, $user, $factures_prev)
|
||||||
{
|
{
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
* *
|
* *
|
||||||
* *
|
* *
|
||||||
@ -840,8 +863,8 @@ function _prelevements($db, $user, $factures_prev)
|
|||||||
* *
|
* *
|
||||||
* *
|
* *
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
//dolibarr_syslog("[PR] Debut demande de prelevement");
|
dolibarr_syslog("FacturationEmission::_prelevements Debut demande de prelevement", LOG_DEBUG);
|
||||||
//dolibarr_syslog("[PR] Nombre de factures ".sizeof($factures_prev));
|
dolibarr_syslog("FacturationEmission::_prelevements Nombre de factures ".sizeof($factures_prev),LOG_DEBUG);
|
||||||
if (sizeof($factures_prev) > 0)
|
if (sizeof($factures_prev) > 0)
|
||||||
{
|
{
|
||||||
foreach ($factures_prev as $fac)
|
foreach ($factures_prev as $fac)
|
||||||
@ -852,19 +875,16 @@ function _prelevements($db, $user, $factures_prev)
|
|||||||
$fact->demande_prelevement($user);
|
$fact->demande_prelevement($user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//dolibarr_syslog("[PR] Fin demande de prelevement");
|
dolibarr_syslog("FacturationEmission::_prelevements Fin demande de prelevement", LOG_DEBUG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function _emails($db, $user, $contrat_id, $factures_a_mailer)
|
||||||
function _emails($db, $user, $contrat_id, $factures_a_mailer)
|
{
|
||||||
{
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
* *
|
|
||||||
* *
|
* *
|
||||||
* Envoi des factures par emails *
|
* Envoi des factures par emails *
|
||||||
* *
|
* *
|
||||||
* *
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
if (sizeof($factures_a_mailer) > 0)
|
if (sizeof($factures_a_mailer) > 0)
|
||||||
{
|
{
|
||||||
@ -996,10 +1016,8 @@ function _emails($db, $user, $contrat_id, $factures_a_mailer)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
61
htdocs/telephonie/facturation/calcul.php
Normal file
61
htdocs/telephonie/facturation/calcul.php
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<?PHP
|
||||||
|
/* Copyright (C) 2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
* $Source$
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
require("./pre.inc.php");
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/telephonie/facturation/FacturationCalcul.class.php';
|
||||||
|
|
||||||
|
if (!$user->rights->telephonie->facture->ecrire) accessforbidden();
|
||||||
|
|
||||||
|
llxHeader();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sécurité accés client
|
||||||
|
*/
|
||||||
|
if ($user->societe_id > 0)
|
||||||
|
{
|
||||||
|
$action = '';
|
||||||
|
$socid = $user->societe_id;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
print_barre_liste("Calcul des CDR", $page, "calcul.php", "", $sortfield, $sortorder, '', $num);
|
||||||
|
|
||||||
|
print '<table class="noborder" width="100%" cellspacing="0" cellpadding="4">';
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print '<td>Message</td></tr>';
|
||||||
|
|
||||||
|
$var=True;
|
||||||
|
|
||||||
|
$obj = new FacturationCalcul($db);
|
||||||
|
$obj->Calcul();
|
||||||
|
|
||||||
|
foreach ($obj->messages as $message)
|
||||||
|
{
|
||||||
|
$var=!$var;
|
||||||
|
print "<tr $bc[$var]><td>".$message."</td></tr>\n";
|
||||||
|
}
|
||||||
|
print "</table>";
|
||||||
|
|
||||||
|
$db->close();
|
||||||
|
|
||||||
|
llxFooter("<em>Dernière modification $Date$ révision $Revision$</em>");
|
||||||
|
?>
|
||||||
@ -66,7 +66,7 @@ print "</tr>\n";
|
|||||||
$var=True;
|
$var=True;
|
||||||
|
|
||||||
$obj = new FacturationImportCdr($db);
|
$obj = new FacturationImportCdr($db);
|
||||||
$obj->Import();
|
$obj->Import($_GET["id"]);
|
||||||
|
|
||||||
foreach ($obj->messages as $message)
|
foreach ($obj->messages as $message)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user