From 573773d95dd4be3a295fbbbb11ed2869cc5be081 Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Sat, 15 Aug 2015 21:22:43 +0200 Subject: [PATCH] Add fichinter area add fichinter area --- htdocs/fichinter/index.php | 365 +++++++++++++++++++++++++++++++++++++ 1 file changed, 365 insertions(+) create mode 100644 htdocs/fichinter/index.php diff --git a/htdocs/fichinter/index.php b/htdocs/fichinter/index.php new file mode 100644 index 00000000000..6885dca361a --- /dev/null +++ b/htdocs/fichinter/index.php @@ -0,0 +1,365 @@ + + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 Charlie Benke + + * + * 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 3 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, see . + */ + +/** + * \file htdocs/fichinter/index.php + * \ingroup commande + * \brief Home page of interventional module + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT .'/core/class/notify.class.php'; +require_once DOL_DOCUMENT_ROOT .'/fichinter/class/fichinter.class.php'; + +if (!$user->rights->ficheinter->lire) accessforbidden(); + +$langs->load("interventions"); + +// Security check +$socid=GETPOST('socid','int'); +if ($user->societe_id > 0) +{ + $action = ''; + $socid = $user->societe_id; +} + + + +/* + * View + */ + +$fichinterstatic=new Fichinter($db); +$form = new Form($db); +$formfile = new FormFile($db); +$help_url="EN:ModuleFichinters|FR:Module_Fiche_Interventions|ES:Módulo_FichaInterventiones"; + +llxHeader("",$langs->trans("Interventions"),$help_url); + +print_fiche_titre($langs->trans("InterventionsArea")); + +//print ''; +//print '
'; +print '
'; + + +// Search ficheinter +$var=false; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print "
'.$langs->trans("SearchAnIntervention").'
'; +print $langs->trans("Ref").':
'.$langs->trans("Other").':

\n"; + + +/* + * Statistics + */ + +$sql = "SELECT count(f.rowid), f.fk_statut"; +$sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; +$sql.= ", ".MAIN_DB_PREFIX."fichinter as f"; +if (! $user->rights->societe->client->voir && ! $socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +$sql.= " WHERE f.fk_soc = s.rowid"; +$sql.= " AND f.entity IN (".getEntity('societe', 1).")"; +if ($user->societe_id) $sql.=' AND f.fk_soc = '.$user->societe_id; +if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +$sql.= " GROUP BY f.fk_statut"; +$resql = $db->query($sql); +if ($resql) +{ + $num = $db->num_rows($resql); + $i = 0; + + $total=0; + $totalinprocess=0; + $dataseries=array(); + $vals=array(); + $bool=false; + // -1=Canceled, 0=Draft, 1=Validated, 2=Accepted/On process, 3=Closed (Sent/Received, billed or not) + while ($i < $num) + { + $row = $db->fetch_row($resql); + if ($row) + { + //if ($row[1]!=-1 && ($row[1]!=3 || $row[2]!=1)) + { + $bool=(! empty($row[2])?true:false); + if (! isset($vals[$row[1].$bool])) $vals[$row[1].$bool]=0; + $vals[$row[1].$bool]+=$row[0]; + $totalinprocess+=$row[0]; + } + $total+=$row[0]; + } + $i++; + } + $db->free($resql); + print ''; + print ''."\n"; + $listofstatus=array(0,1,2); + $bool=false; + foreach ($listofstatus as $status) + { + $dataseries[]=array('label'=>$fichinterstatic->LibStatut($status,$bool,1),'data'=>(isset($vals[$status.$bool])?(int) $vals[$status.$bool]:0)); + if ($status==3 && $bool==false) $bool=true; + else $bool=false; + } + if ($conf->use_javascript_ajax) + { + print ''; + } + $var=true; + $bool=false; + foreach ($listofstatus as $status) + { + if (! $conf->use_javascript_ajax) + { + $var=!$var; + print ""; + print ''; + print ''; + print "\n"; + if ($status==3 && $bool==false) $bool=true; + else $bool=false; + } + } + //if ($totalinprocess != $total) + //print ''; + print ''; + print "
'.$langs->trans("Statistics").' - '.$langs->trans("Interventions").'
'; + $data=array('series'=>$dataseries); + dol_print_graph('stats',300,180,$data,1,'pie',1); + print '
'.$fichinterstatic->LibStatut($status,$bool,0).''.(isset($vals[$status.$bool])?$vals[$status.$bool]:0).' '; + print $fichinterstatic->LibStatut($status,$bool,3); + print ''; + print '
'.$langs->trans("Total").' ('.$langs->trans("CustomersOrdersRunning").')'.$totalinprocess.'
'.$langs->trans("Total").''.$total.'

"; +} +else +{ + dol_print_error($db); +} + + +/* + * Draft orders + */ +if (! empty($conf->ficheinter->enabled)) +{ + $sql = "SELECT f.rowid, f.ref, s.nom as name, s.rowid as socid"; + $sql.= " FROM ".MAIN_DB_PREFIX."fichinter as f"; + $sql.= ", ".MAIN_DB_PREFIX."societe as s"; + if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= " WHERE f.fk_soc = s.rowid"; + $sql.= " AND f.entity IN (".getEntity('fichinter', 1).")"; + $sql.= " AND f.fk_statut = 0"; + if ($socid) $sql.= " AND f.fk_soc = ".$socid; + if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + + $resql=$db->query($sql); + if ($resql) + { + print ''; + print ''; + print ''; + $langs->load("fichinter"); + $num = $db->num_rows($resql); + if ($num) + { + $i = 0; + $var = true; + while ($i < $num) + { + $var=!$var; + $obj = $db->fetch_object($resql); + print ""; + print '"; + print ''; + $i++; + } + } + print "
'.$langs->trans("DraftFichinter").'
'; + print "rowid."\">".img_object($langs->trans("ShowFichinter"),"intervention").' '.$obj->ref."'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($obj->name,24).'

"; + } +} + + +//print '
'; +print '
'; + + +$max=5; + +/* + * Last modified orders + */ + +$sql = "SELECT f.rowid, f.ref, f.fk_statut, f.date_valid as datec, f.tms as datem,"; +$sql.= " s.nom as name, s.rowid as socid"; +$sql.= " FROM ".MAIN_DB_PREFIX."fichinter as f,"; +$sql.= " ".MAIN_DB_PREFIX."societe as s"; +if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +$sql.= " WHERE f.fk_soc = s.rowid"; +$sql.= " AND f.entity IN (".getEntity('commande', 1).")"; +//$sql.= " AND c.fk_statut > 2"; +if ($socid) $sql .= " AND f.fk_soc = ".$socid; +if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +$sql.= " ORDER BY f.tms DESC"; +$sql.= $db->plimit($max, 0); + +$resql=$db->query($sql); +if ($resql) +{ + print ''; + print ''; + print ''; + + $num = $db->num_rows($resql); + if ($num) + { + $i = 0; + $var = true; + while ($i < $num) + { + $var=!$var; + $obj = $db->fetch_object($resql); + + print ""; + print ''; + + print ''; + print ''; + print ''; + print ''; + $i++; + } + } + print "
'.$langs->trans("LastModifiedInterventions",$max).'
'; + + $fichinterstatic->id=$obj->rowid; + $fichinterstatic->ref=$obj->ref; + + print ''; + print ''; + + print ''; + + print '
'; + print $fichinterstatic->getNomUrl(1); + print ''; + print ' '; + print ''; + $filename=dol_sanitizeFileName($obj->ref); + $filedir=$conf->commande->dir_output . '/' . dol_sanitizeFileName($obj->ref); + $urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->rowid; + print $formfile->getDocumentsLink($fichinterstatic->element, $filename, $filedir); + print '
'; + + print '
'.img_object($langs->trans("ShowCompany"),"company").' '.$obj->name.''.dol_print_date($db->jdate($obj->datem),'day').''.$fichinterstatic->LibStatut($obj->fk_statut,5).'

"; +} +else dol_print_error($db); + + +/* + * Orders to process + */ +if (! empty($conf->commande->enabled)) +{ + $sql = "SELECT f.rowid, f.ref, f.fk_statut, s.nom as name, s.rowid as socid"; + $sql.=" FROM ".MAIN_DB_PREFIX."fichinter as f"; + $sql.= ", ".MAIN_DB_PREFIX."societe as s"; + if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= " WHERE f.fk_soc = s.rowid"; + $sql.= " AND f.entity IN (".getEntity('commande', 1).")"; + $sql.= " AND f.fk_statut = 1"; + if ($socid) $sql.= " AND f.fk_soc = ".$socid; + if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + $sql.= " ORDER BY f.rowid DESC"; + + $resql=$db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + + print ''; + print ''; + print ''; + + if ($num) + { + $i = 0; + $var = true; + while ($i < $num) + { + $var=!$var; + $obj = $db->fetch_object($resql); + print ""; + print ''; + + print ''; + + print ''; + + print ''; + $i++; + } + } + + print "
'.$langs->trans("OrdersToProcess").' '.$num.'
'; + + $fichinterstatic->id=$obj->rowid; + $fichinterstatic->ref=$obj->ref; + + print ''; + print ''; + + print ''; + + print '
'; + print $fichinterstatic->getNomUrl(1); + print ''; + print ' '; + print ''; + $filename=dol_sanitizeFileName($obj->ref); + $filedir=$conf->commande->dir_output . '/' . dol_sanitizeFileName($obj->ref); + $urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->rowid; + print $formfile->getDocumentsLink($fichinterstatic->element, $filename, $filedir); + print '
'; + + print '
'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($obj->name,24).''.$fichinterstatic->LibStatut($obj->fk_statut,5).'

"; + } + else dol_print_error($db); +} + + + + +//print '
'; +print ''; + + +llxFooter(); + +$db->close();