1,135 → 1,129 |
<?php |
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel // |
|
// In utf8 |
// Out iso3859 |
/** |
* PHP Version 5 |
* |
* @category PHP |
* @package jrest |
* @author David Delon <delon@tela-botanica.org> |
* @copyright 2010 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @version SVN: <svn_id> |
* @link /doc/ |
*/ |
|
// Liste des Nouvelles observations par departement |
/** |
* |
* in=utf8 |
* out=iso3859 |
* |
* Liste des Nouvelles observations par departement |
* A voir avec David mais ne devrait plus ĂȘtre utilisĂ© |
* ou fait autrement |
* |
*/ |
class InventoryByDept extends Cel { |
|
|
Class InventoryByDept extends DBAccessor { |
|
|
var $config; |
var $extendSpreadsheetProductor; |
|
|
function InventoryByDept($config) { |
|
$this->config=$config; |
parent::__construct($config); |
|
// Pas d'heritage multiple en php :( |
|
$this->extendSpreadsheetProductor = new SpreadsheetProductor(); |
$this->extendSpreadsheetProductor->initSpreadsheet(); |
|
$this->extendSpreadsheetProductor->initSpreadsheet(); |
} |
|
|
//TODO : fonction qui prend en compte un departement |
function getRessource(){ |
|
$DB=$this->connectDB($this->config,'database_cel'); |
|
|
$query="SELECT id_location, identifiant, ordre, nom_sel, num_nom_sel, nom_ret, num_nom_ret, num_taxon, famille, location, date_observation," . |
" lieudit, station, milieu, commentaire, transmission FROM cel_inventory ". |
"where id_location!='000null' and transmission=1 and num_taxon!=0 order by round(id_location), nom_ret"; |
|
$res =& $DB->query($query); |
|
if (DB::isError($res)) { |
die($res->getMessage()); |
} |
$requete_obs = "SELECT ce_zone_geo, ce_utilisateur, courriel_utilisateur, ordre, nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, nt, famille, zone_geo, date_observation," . |
" lieudit, station, milieu, commentaire, transmission FROM cel_obs ". |
"WHERE ce_zone_geo != '000null' AND ce_zone_geo != '' AND transmission = 1 AND nt!=0 ORDER BY ce_zone_geo, nom_ret LIMIT 50"; |
|
$resultat_obs = $this->executerRequete($requete_obs); |
|
// Creating a workbook |
$workbook = new Spreadsheet_Excel_Writer(); |
|
// Creating a workbook |
$workbook = new Spreadsheet_Excel_Writer(); |
// Creating a worksheet |
$worksheet = $workbook->addWorksheet('Liste'); |
|
$worksheet->write(0,0,'Departement'); |
$worksheet->write(0,1,'Nom saisi'); |
$worksheet->write(0,2,'Numero nomenclatural'); |
$worksheet->write(0,3,'Nom retenu'); |
$worksheet->write(0,4,'Numero nomenclatural nom retenu'); |
$worksheet->write(0,5,'Numero taxonomique'); |
$worksheet->write(0,6,'Famille'); |
$worksheet->write(0,7,'Commune'); |
$worksheet->write(0,8,'Date Observation'); |
$worksheet->write(0,9,'Lieu dit'); |
$worksheet->write(0,10,'Station'); |
$worksheet->write(0,11,'Milieu'); |
$worksheet->write(0,12,'Commentaire'); |
$worksheet->write(0,13,'Observateur'); |
|
$i=1; |
|
// Creating a worksheet |
$worksheet = $workbook->addWorksheet('Liste'); |
|
$observations = array(); |
$chercheur_infos_taxon = null; |
if (is_array($resultat_obs)) { |
$observations = &$resultat_obs; |
$chercheur_infos_taxon = new RechercheInfosTaxon($this->config); |
} |
|
foreach ($observations as $obs) { |
|
$worksheet->write(0,0,'Departement'); |
$worksheet->write(0,1,'Nom saisi'); |
$worksheet->write(0,2,'Numero nomenclatural'); |
$worksheet->write(0,3,'Nom retenu'); |
$worksheet->write(0,4,'Numero nomenclatural nom retenu'); |
$worksheet->write(0,5,'Numero taxonomique'); |
$worksheet->write(0,6,'Famille'); |
$worksheet->write(0,7,'Commune'); |
$worksheet->write(0,8,'Date Observation'); |
$worksheet->write(0,9,'Lieu dit'); |
$worksheet->write(0,10,'Station'); |
$worksheet->write(0,11,'Milieu'); |
$worksheet->write(0,12,'Commentaire'); |
$worksheet->write(0,13,'Observateur'); |
|
|
$DB2=$this->connectDB($this->config); |
|
$i=1; |
while ($row =& $res->fetchrow(DB_FETCHMODE_ASSOC)) { |
$code_departement = $this->convertirCodeZoneGeoVersDepartement($obs['ce_zone_geo']); |
$taxon_deja_vu = $chercheur_infos_taxon->taxonEstPresentDansDepartement($obs['nt'], $code_departement); |
|
if (!$taxon_deja_vu) { |
// Denullifiage |
foreach($obs as $k=>$v) { |
if (($v=="null") || ($v=="000null")) { |
$obs[$k]=""; |
} |
else { |
$obs[$k]=utf8_decode($v); |
} |
} |
|
$query2="SELECT ecd_ce_taxon FROM eflore_zg, eflore_chorologie_donnee WHERE ecd_ce_taxon =".$row['num_taxon']." and ezg_code=".$row['id_location']." and ecd_ce_zone_geo=ezg_id_zone_geo and ezg_id_projet_zg =ecd_ce_version_projet_zg and ecd_ce_version_projet_taxon=25"; |
if ($obs['date_observation']!="0000-00-00 00:00:00") { |
list($year,$month,$day)= split ('-',$obs['date_observation']); |
list($day)= split (' ',$day); |
$obs['date_observation']=$day."/".$month."/".$year; |
} |
else { |
$obs['date_observation']="00/00/0000"; |
} |
|
$res2 =& $DB2->query($query2); |
|
|
if (DB::isError($res2)) { |
die($res2->getMessage()); |
} |
|
if ($res2->numRows() == 0) { |
|
// Denullifiage |
foreach($row as $k=>$v) { |
if (($v=="null") || ($v=="000null")) { |
$row[$k]=""; |
} |
else { |
$row[$k]=utf8_decode($v); |
} |
} |
|
if ($row['date_observation']!="0000-00-00 00:00:00") { |
list($year,$month,$day)= split ('-',$row['date_observation']); |
list($day)= split (' ',$day); |
$row['date_observation']=$day."/".$month."/".$year; |
} |
else { |
$row['date_observation']="00/00/0000"; |
} |
|
$worksheet->write($i,0,$row['id_location']); |
$worksheet->write($i,1,$row['nom_sel']); |
$worksheet->write($i,2,$row['num_nom_sel']); |
$worksheet->write($i,3,$row['nom_ret']); |
$worksheet->write($i,4,$row['num_nom_ret']); |
$worksheet->write($i,5,$row['num_taxon']); |
$worksheet->write($i,6,$row['famille']); |
$worksheet->write($i,7,$row['location']); |
$worksheet->write($i,8,$row['date_observation']); |
$worksheet->write($i,9,$row['lieudit']); |
$worksheet->write($i,10,$row['station']); |
$worksheet->write($i,11,$row['milieu']); |
$worksheet->write($i,12,$row['commentaire']); |
$worksheet->write($i,13,$row['identifiant']); |
|
$i++; |
} |
|
|
} |
|
|
// sending HTTP headers |
$workbook->send('liste.xls'); |
$workbook->close(); |
|
exit(); |
|
|
} |
|
$worksheet->write($i,0,$code_departement); |
$worksheet->write($i,1,$obs['nom_sel']); |
$worksheet->write($i,2,$obs['nom_sel_nn']); |
$worksheet->write($i,3,$obs['nom_ret']); |
$worksheet->write($i,4,$obs['nom_ret_nn']); |
$worksheet->write($i,5,$obs['nt']); |
$worksheet->write($i,6,$obs['famille']); |
$worksheet->write($i,7,$obs['zone_geo']); |
$worksheet->write($i,8,$obs['date_observation']); |
$worksheet->write($i,9,$obs['lieudit']); |
$worksheet->write($i,10,$obs['station']); |
$worksheet->write($i,11,$obs['milieu']); |
$worksheet->write($i,12,$obs['commentaire']); |
$worksheet->write($i,13,$obs['courriel_utilisateur']); |
|
$i++; |
} |
} |
|
// sending HTTP headers |
$workbook->send('liste.xls'); |
$workbook->close(); |
|
exit(); |
} |
} |
|
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
149,5 → 143,4 |
* |
* |
*/ |
|
?> |
?> |