public function run($args) { include_once dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . 'StatTools.php'; $biobanks = Biobank::model()->findAll(array('select' => array('id'))); foreach ($biobanks as $biobank) { $result = StatTools::saveBiobankStats($biobank->id); $message = $result === true ? "Statistiques de la biobanque n°{$biobank->id} bien calculées" : "Une erreur est apparue lors de la sauvegarde des statistiques de la biobanque n°{$biobank->id} : {$result}"; echo $message . "\n"; } StatTools::saveAverageRate(); echo "Statistiques globales enregistrées. \n"; }
<div style="float: left; width: 330px; padding-top: 10px"> <?php $this->beginWidget('zii.widgets.CPortlet', array('title' => "<i class='icon-share'></i>" . Yii::t('myBiobank', 'samplesReceptionActivity') . " - {$model->identifier}")); $this->widget('application.widgets.charting.CBarsChartWidget', array('id' => 'columnchart-count-month', 'theme' => 'Distinctive', 'title' => '', 'data' => StatTools::getCountReceptionByMonthAndBiobank($model->id), 'width' => 310, 'heigth' => 230, 'xAxisRotation' => 0)); $this->endWidget(); ?> </div> <div style="float: left; width: 330px; padding-left: 10px; padding-top: 10px"> <?php $this->beginWidget('zii.widgets.CPortlet', array('title' => "<i class = 'icon-share'></i>" . Yii::t('myBiobank', 'filesReceptionActivity') . " - {$model->identifier}")); $this->widget('application.widgets.charting.CBarsChartWidget', array('id' => 'columnchart-filescount-month', 'theme' => 'Distinctive', 'title' => '', 'data' => StatTools::getCountFilesReceptionByMonthAndBiobank($model->id), 'width' => 310, 'heigth' => 230, 'xAxisRotation' => 0)); $this->endWidget(); ?> </div> <div style="float:left; width:330px; padding-top: 10px; "> <?php $stats = BiobankStats::model()->findByAttributes(array('biobank_id' => $model->id), array('$sort' => array('date' => -1))); if ($stats != null) { $complete = $stats->globalRate;
/** * Recupere le dernier objet biobankStats pour la biobanque id=0 (stats globales) en base si il date du jour même, * ou en créé un nouveau * @return type */ public function saveAverageRate() { $averageRate = StatTools::getAverageRate(); $date = new DateTime(); $searchDate = $date->format('Y-m-d'); $globalStats = BiobankStats::model()->findByAttributes(array('biobank_id' => "0", 'date' => new MongoRegex("/{$searchDate}.*/i"))) != null ? BiobankStats::model()->findByAttributes(array('biobank_id' => "0", 'date' => new MongoRegex("/{$searchDate}.*/i"))) : new BiobankStats(); $globalStats->biobank_id = '0'; $globalStats->date = $date->format(DateTime::ISO8601); $globalStats->globalRate = $averageRate['globalRate']; $globalStats->values = $averageRate['values']; return $globalStats->save(); }
$this->widget('application.widgets.charting.CBarsChartWidget', array('id' => 'columnchart-count-files-month', 'theme' => 'Distinctive', 'title' => '', 'data' => StatTools::getCountFilesReceptionByMonth(), 'width' => 380, 'heigth' => 250, 'xAxisRotation' => 0)); $this->endWidget(); ?> </div> <div style="float:left;width:430px;padding-left:10px;"> <?php $this->beginWidget('zii.widgets.CPortlet', array('title' => "<i class='icon-adjust'></i>" . Yii::t('common', 'LoSaCh'))); //affichage du graphe de repartition par ville des echantillons $this->widget('application.widgets.charting.CPieChartWidget', array('id' => 'piechart-collab', 'theme' => 'WatersEdge', 'width' => 380, 'height' => 250, 'data' => StatTools::getRepartitionSamplesByTown(), 'title' => 'Location by biobank')); $this->endWidget(); ?> </div> </div> <div style="clear:both;"> <div style="float:left;width:430px;"> <?php $this->beginWidget('zii.widgets.CPortlet', array('title' => "<i class='icon-adjust'></i>" . Yii::t('common', 'BioBkReg'))); $this->widget('zii.widgets.grid.CGridView', array('id' => 'echantillon-grid', 'dataProvider' => Biobank::model()->search(), 'columns' => array('identifier', 'name', array('header' => 'collection name', 'value' => 'CommonTools::getShortValue($data->collection_name)'), array('header' => 'Main contact', 'value' => '$data->getShortContact()')))); $this->endWidget(); ?> </div> <div style="float:left;width:430px;padding-left:10px;"> <?php $this->beginWidget('zii.widgets.CPortlet', array('title' => "<i class='icon-share'></i>" . Yii::t('common', 'SaReAct'))); $this->widget('application.widgets.charting.CBarsChartWidget', array('id' => 'columnchart-count-month', 'theme' => 'Distinctive', 'title' => '', 'data' => StatTools::getCountReceptionByMonth(), 'width' => 380, 'heigth' => 250, 'xAxisRotation' => 0)); $this->endWidget(); ?> </div> </div> <div style="clear:both;"/>