This commit is contained in:
Michael RICOIS 2012-05-28 09:32:44 +00:00
commit cb5fb9c434
17 changed files with 164 additions and 137 deletions

View File

@ -1,9 +1,14 @@
<?php
class AideController extends Zend_Controller_Action
{
public function init()
{
$this->view->headLink()->appendStylesheet('/themes/default/styles/aide.css');
}
public function indexAction(){}
public function aproposdeAction(){}
}

View File

@ -64,8 +64,6 @@ class ComptageController extends Zend_Controller_Action
//Récupération de la session pour le profil et les valeurs du comptage
$fields = new Scores_Fields();
$criteres = $fields->getCriteres();
$this->view->criteres = $criteres;
if (count($criteres) == 0) {
$this->view->noSelection = true;
}
@ -116,18 +114,19 @@ class ComptageController extends Zend_Controller_Action
);
if ($comptageM->insert($data)) {
echo json_encode(array(
'error'=>0,
'msg'=> "Vos critères ont été sauvegardés sous la référence $ref",
'id' => $id));
'error'=>0,
'msg'=> "Vos critères ont été sauvegardés sous la référence $ref",
'href' => $this->view->url(array('controller'=>'dashboard', 'action'=>'ciblage', 'id'=>$id))
));
} else {
echo json_encode(array(
'error'=>1,
'msg'=> "Erreur lors de l'enregistrement"));
'error'=>1,
'msg'=> "Erreur lors de l'enregistrement"));
}
} else {
echo json_encode(array(
'error'=>1,
'msg'=> "Erreur lors de l'enregistrement"));
'error'=>1,
'msg'=> "Erreur lors de l'enregistrement"));
}
}
}
@ -164,7 +163,7 @@ class ComptageController extends Zend_Controller_Action
$result = array(
'resultat' => number_format($data['resultat'], 0, '', ' '),
'uniteInsee' => number_format($data['uniteInsee'], 0, '', ' '),
'dateAjout' => substr($data['dateAjout'],6,2).'/'.substr($data['dateAjout'],4,2).'/'.substr($data['dateAjout'],6,2)
'dateAjout' => substr($data['dateAjout'],6,2).'/'.substr($data['dateAjout'],4,2).'/'.substr($data['dateAjout'],0,4)
.' '.substr($data['dateAjout'],8,2).':'.substr($data['dateAjout'],10,2).':'.substr($data['dateAjout'],12,2),
);
$this->view->result = $result;
@ -208,7 +207,7 @@ class ComptageController extends Zend_Controller_Action
$extractSql[] = "CONCAT(LPAD(siren, 9, '000000000'), LPAD(nic, 5, '00000')) AS siret";
$extractLabel[] = 'SIRET';
require_once('Scores/Enrichissement.php');
require_once 'Scores/Enrichissement.php';
$enrichissement = new Enrichissement();
$data = $enrichissement->getFields();
foreach ( $data as $key => $item ) {
@ -222,8 +221,7 @@ class ComptageController extends Zend_Controller_Action
}
}
$sql = $dbMetier->select()
->from('etablissements_act', $extractSql);
$sql = $dbMetier->select()->from('etablissements_act', $extractSql);
$i = 0;
$where = '';
@ -241,7 +239,12 @@ class ComptageController extends Zend_Controller_Action
foreach ($result as $l => $line) {
$tmp = array();
foreach($line as $column => $data) {
$tmp[] = $data;
$valuesPredefine = $enrichissement->getColumnValue($column);
if ($valuesPredefine!==false) {
$tmp[] = $valuesPredefine[$data];
} else {
$tmp[] = $data;
}
}
$liste[] = $tmp;
}

View File

@ -280,6 +280,12 @@ class DashboardController extends Zend_Controller_Action
{
}
public function configurationAction()
{
}
}

View File

@ -132,7 +132,7 @@ class EnrichissementController extends Zend_Controller_Action
'nbLigneTraites' => 0,
'uniteInsee' => $result['uniteInsee'],
'error' => '',
'dateAdded' => date('YmdHms'),
'dateAdded' => date('YmdHis'),
);
$identifiantsM = new Application_Model_EnrichissementIdentifiants();
$idIdentifiant = $identifiantsM->insert($data);
@ -162,6 +162,7 @@ class EnrichissementController extends Zend_Controller_Action
{
$this->view->assign('profil', true);
$idCritere = $request->getParam('id', null);
$comptagesM = new Application_Model_Comptages();
$sql = $comptagesM->select()
->where('idDefinition = ?', $idCritere)
@ -169,22 +170,21 @@ class EnrichissementController extends Zend_Controller_Action
->limit(1);
$comptages = $comptagesM->fetchAll($sql);
$criteresM = new Application_Model_Criteres();
$criteres = $criteresM->find($idCritere)->current();
$criteresValue = json_decode($criteres->criteres, true);
if ( $comptages->count()>0 ) {
$item = $comptages[0];
$date = explode(' ', $item->dateAjout);
$date = $date[0];
if($date != '0000-00-00') {
if($date != date('Y-m-d')) {
$criteres = new Application_Model_Criteres();
$sql = $criteres->select()->where('id = ?', $idCritere);
$result = $criteres->fetchRow($sql)->toArray();
$criteres = json_decode($result['criteres'], true);
require_once 'Scores/Ciblage.php';
$count = new Ciblage($criteres);
$item['resultat'] = $count->execute();
$item['uniteInsee'] = $count->calculRedevanceInsee();
}
if($date != '0000-00-00' && $date != date('Y-m-d')) {
require_once 'Scores/Ciblage.php';
$count = new Ciblage($criteresValue);
$item['resultat'] = $count->execute();
$item['uniteInsee'] = $count->calculRedevanceInsee();
}
$this->view->assign('resultat', $item['resultat']);
@ -204,8 +204,7 @@ class EnrichissementController extends Zend_Controller_Action
$this->view->prixInsee = round($prixInsee, 2);
$this->view->infoInsee = $infoInsee;
$this->view->id = $item['id'];
$this->view->criteres = $criteres;
$this->view->ref = $criteres->reference.'-'.uniqid();
}
}

View File

@ -1,5 +0,0 @@
<?php
class Application_Model_ProfilExtraction extends Zend_Db_Table_Abstract
{
protected $_name = 'profilExtraction';
}

View File

@ -1,5 +0,0 @@
<?php
class Application_Model_RefExport extends Zend_Db_Table_Abstract
{
protected $_name = 'refexport';
}

View File

@ -310,7 +310,7 @@ class Zend_View_Helper_Field extends Zend_View_Helper_Abstract
}
$return.= '</select>';
$return.= ' à ';
$return.= ' au ';
$return.= '<select name="'.$name.'2_j" style="width:40px;">';
for ($i=1;$i<=31;$i++) {

View File

@ -1,4 +1,10 @@
<div>
<div id="help">
<h2>Description de l'interface</h2>
<br/>
<h2>Fonctionnement des champs</h2>
<ul>
<li>Champs de sélection simple

View File

@ -1,16 +1,37 @@
<?php if ($this->noSelection): ?>
<?php if ($this->noSelection) { ?>
Vous n'avez pas sélectionné de critères !
<?php else:?>
<?php } else {?>
<div id="result">
<form method="post" id="save" name="save" action="<?=$this->url(array('controller'=>'comptage', 'action'=>'save'))?>">
<center>
<label>Votre référence</label><br />
<input type="text" name="ref" value="<?=date('Y-m-d:H-i-m').'_'.uniqid()?>" />
</form>
<span class="message" style="color:#ff0000;"></span>
</center>
<label>Votre référence : </label><input type="text" name="ref" value="" />
</form>
<span class="message" style="color:#ff0000;"></span>
</div>
<script type="text/javascript" src="/themes/default/scripts/jquery.form.js"></script>
<?php endif;?>
<script>
$('#dialog').dialog({
buttons: [ {
text: "Enregistrer",
click: function() {
var options = {
target: '#result',
dataType: 'json',
beforeSubmit: function(){},
success: function(data){
if (data.error == 0) {
$('#result').html(data.msg);
//@todo : Voir
$(location).attr('href',data.href);
} else {
$('#result span.message').html(data.msg);
}
}
};
$('form#save').ajaxSubmit(options);
}
},
{ text: "Annuler", click: function() { $(this).dialog("close"); } }
] });
</script>
<?php }?>

View File

@ -6,9 +6,9 @@
<div id="dashboard" style="padding:10px">
<a class="update" href="<?=$this->url(array('controller'=> 'comptage','action'=>'update', 'id'=>$this->comptageId))?>">Actualiser</a> |
<a href="<?=$this->url(array('controller'=> 'index','action'=>'index', 'id'=>$this->comptageId))?>">Recharger les critères de ciblage</a> |
<a class="enrichissementref" href="<?=$this->url(array('controller'=> 'enrichissement','action'=>'reference', 'id'=>$this->comptageId))?>">Enrichissement</a>
<a href="<?=$this->url(array('controller'=> 'index','action'=>'index', 'id'=>$this->comptageId))?>">Charger les critères de ciblage dans l'interface</a> |
<a class="update" href="<?=$this->url(array('controller'=> 'comptage','action'=>'update', 'id'=>$this->comptageId))?>">Actualiser le comptage</a> |
<a class="enrichissementref" href="<?=$this->url(array('controller'=> 'enrichissement','action'=>'reference', 'id'=>$this->comptageId))?>">Commander un enrichissement</a>
<fieldset>
<legend>Critères</legend>
@ -45,18 +45,19 @@
<fieldset>
<legend>Comptages</legend>
<table style="width:100%">
<table class="comptages" style="width:100%">
<thead>
<tr>
<th>Date</th>
<th>Resultat</th>
<th>Résultat</th>
<th>Nombre d'unité Insee</th>
</tr>
</thead>
<tbody>
<?php foreach($this->comptages as $comptage):?>
<tr>
<th><?=$comptage['dateAjout']?></th>
<th><?=substr($comptage['dateAjout'],8,2).'/'.substr($comptage['dateAjout'],5,2).'/'.substr($comptage['dateAjout'],0,4)
.' '.substr($comptage['dateAjout'],11,2).':'.substr($comptage['dateAjout'],14,2).':'.substr($comptage['dateAjout'],17,2)?></th>
<th><?=number_format($comptage['resultat'], 0, '', ' ')?></th>
<th><?=number_format($comptage['uniteInsee'], 0, '', ' ')?></th>
</tr>

View File

@ -34,10 +34,8 @@
<td class="update resultat"><?=number_format($item['resultat'], 0, ',', ' ')?></td>
<td class="update insee"><?=number_format($item['uniteInsee'], 0, ',', ' ')?></td>
<td class="update date"><?=$item['dateComptage']?></td>
<td><a class="update" href="<?=$this->url(array('controller'=> 'comptage','action'=>'update', 'id'=>$item['id']))?>">Actualiser</a></td>
<td><a href="<?=$this->url(array('controller'=> 'index','action'=>'index', 'id'=>$item['id']))?>">Recharger les critères de ciblage</a></td>
<td><a href="<?=$this->url(array('controller'=> 'dashboard','action'=>'ciblage', 'id'=>$item['id']))?>">Detail</a></td>
<td><a class="enrichissementref" href="<?=$this->url(array('controller'=> 'enrichissement','action'=>'reference', 'id'=>$item['id']))?>">Enrichissement</a></td>
<td><a href="<?=$this->url(array('controller'=> 'index','action'=>'index', 'id'=>$item['id']))?>">Charger les critères de ciblage dans l'interface</a></td>
</tr>
<?php endforeach;?>
</tbody>

View File

@ -1,14 +1,22 @@
<ul class="chemin clearfix rounded_t">
<li class="e0"><a class="lir" href="/">Accueil</a></li>
<li>
<a href="<?=$this->url(array('controller'=>'dashboard', 'action'=>'index'))?>">
<span>Tableau de bord</span>
</a>
</li>
<li class="last">
<span>Préférences</span>
</li>
</ul>
<div id="dashboard">
<div class="chemin">
<a href="<?=$this->url(array('controller'=>'dashboard', 'action'=>''))?>">Tableau de bord</a> >
Préférences
</div>
<h2>Gestion des profils d'enrichissement</h2>
<p>
Afin de vous permettre un enrichissement de données à partir d'une liste de SIREN/SIRET,
Suivant la configuration de votre compte, vous avez la possibilité de sélectionner les données
Afin de vous permettre un enrichissement de données à partir d'une liste de SIREN/SIRET,
Suivant la configuration de votre compte, vous avez la possibilité de sélectionner les données
disponible.
</p>
<br/>
@ -27,7 +35,7 @@ disponible.
<h2>Gestion des préférences d'affichage</h2>
<p>
L'application permet la modification de l'affichage des critères de ciblage afin de permettre une
L'application permet la modification de l'affichage des critères de ciblage afin de permettre une
utilisation correspondant à vos besoins.
</p>
<br/>
@ -36,10 +44,17 @@ utilisation correspondant à vos besoins.
<br/>
<p>Aucune préférences d'affichage définies pour votre profil utilisateur.</p>
<p>Des préférences d'affichage ont été définies pour votre profil utilisateur.</p>
<br/>
<ul>
<li>Limiter le ciblage au seul périmètre RNCS</li>
<li>Afficher le nombre d'unité INSEE à chaque comptage</li>
</ul>
<br/>
<p>
<a href="<?=$this->url(array('controller'=>'preferences', 'action'=>'active'))?>"
title="Activer le mode personnalisation afin de créer/modifier les préférences d'affichage">
Afin de choisir les critères à masquer :
<a href="#" title="Activer le mode personnalisation afin de créer/modifier les préférences d'affichage">
Activer le mode personnalisation
</a>
</p>

View File

@ -45,10 +45,8 @@
<td class="update resultat"><?=number_format($item['resultat'], 0, ',', ' ')?></td>
<td class="update insee"><?=number_format($item['uniteInsee'], 0, ',', ' ')?></td>
<td class="update date"><?=$item['dateComptage']?></td>
<td><a class="update" href="<?=$this->url(array('controller'=> 'comptage','action'=>'update', 'id'=>$item['id']))?>">Actualiser</a></td>
<td><a href="<?=$this->url(array('controller'=> 'index','action'=>'index', 'id'=>$item['id']))?>">Recharger les critères de ciblage</a></td>
<td><a href="<?=$this->url(array('controller'=> 'dashboard','action'=>'ciblage', 'id'=>$item['id']))?>">Detail</a></td>
<td><a class="enrichissementref" href="<?=$this->url(array('controller'=> 'enrichissement','action'=>'reference', 'id'=>$item['id']))?>">Enrichissement</a></td>
<td><a href="<?=$this->url(array('controller'=> 'index','action'=>'index', 'id'=>$item['id']))?>">Charger les critères de ciblage dans l'interface</a></td>
</tr>
<?php endforeach;?>
</tbody>

View File

@ -1,7 +1,7 @@
<?php if ( !$this->profil ) {?>
Aucun profil d'enrichissement, Merci de prendre contact avec le service commercial.
<?php }elseif ( empty($this->id) ) {?>
Erreur
Erreur
<?php } elseif ($this->resultat>50000) {?>
<p>Le nombre de lignes à enrichir est trop important.
Vous pouvez prendre contact avec le service commercial en cliquant ici.
@ -31,44 +31,20 @@ Vos critères seront enregistrées et une référence vous sera fourni.</p>
}
</style>
<p style="text-align:center;color:green">Votre ciblage a été actualisé</p>
<div style="font-size:10px;padding:5px; border:1px dashed green">
Les tarifs sont données à titre indicatif et peuvent variées suivant les spécificités de votre compte.
</div>
<br/>
<div style="font-size:10px;padding:5px; border:1px dashed green">
Les informations permettant l'enrichissement seront enregistrées, après la saisie de votre référence.
</div>
<br />
<table id="enrichissement">
<tr>
<th>Libellé</th>
<th><?php echo date('Y-m-d');?></th>
<th>Référence de commande</th><th><?=$this->ref?></th>
</tr>
<tr>
<td>Nombre d'unités</td>
<td><?php echo $this->resultat;?></td>
</tr>
<tr>
<td>Nombre d'unités Insee</td>
<td><?php echo $this->uniteInsee;?></td>
</tr>
<tr>
<td>Prix du fichier</td>
<td><?php echo $this->prix;?></td>
<tr><td>Nombre d'unités</td><td><?=number_format($this->resultat, 0, ',', ' ')?></td></tr>
<tr><td>Nombre d'unités Insee</td><td><?=number_format($this->uniteInsee, 0, ',', ' ')?></td></tr>
<tr><td>Prix du fichier</td><td><?=number_format($this->prix, 2, ',', ' ')?></td>
</tr>
<tr>
<td>Redevance Insee</td>
<td><?php echo $this->prixInsee;?></td>
<td><?=number_format($this->prixInsee, 2, ',', ' ')?></td>
</tr>
<tr>
<td><b>Tapez votre référence</b></td>
<td colspan="2">
<form name="commande" method="post" action="<?=$this->url(array('controller'=>'enrichissement', 'action'=>'commande'))?>">
<input type="hidden" name="id" value="<?=$this->id?>" />
<input id="cache" type="text" value="<?php echo 'enr_'.date('Y-m-d_').uniqid();?>" name="ref">
<div id="progress"></div>
</form>
</td>
<td colspan="2"><div id="progress"></div></td>
</tr>
</table>
<?php if (!empty($this->infoInsee)) {?>
@ -76,15 +52,28 @@ Vos critères seront enregistrées et une référence vous sera fourni.</p>
<p><?=$this->infoInsee?></p>
<?php }?>
<br/>
<div style="font-size:10px;padding:5px; border:1px dashed green">
Les tarifs sont données à titre indicatif et peuvent variées suivant les spécificités de votre compte.
</div>
<br/>
<div style="font-size:10px;padding:5px; border:1px dashed green">
Les informations permettant l'enrichissement seront enregistrées, après la saisie de votre référence.
</div>
<form name="commande" method="post" action="<?=$this->url(array('controller'=>'enrichissement', 'action'=>'commande'))?>">
<input type="hidden" name="id" value="<?=$this->id?>" />
<input type="hidden" type="text" value="<?=$this->ref?>" name="ref">
</form>
<script>
$('#dialog').dialog({ buttons: [ {
text: "Valider",
text: "Commander",
click: function() {
$('div#progress').html('<br /><center><img src="/themes/default/images/ajax_loader.gif" /></center>');
$('#cache').css('display', 'none');
$.post(
$('form[name=commande]').attr('action'),
$('form[name=commande]').serialize(),
$('form[name=commande]').attr('action'),
$('form[name=commande]').serialize(),
function(data){
$('div#update').html(data);
});

View File

@ -15,14 +15,21 @@ $(document).ready(function(){
$("a.update").click(function(e){
e.preventDefault();
var href = $(this).attr('href');
var ligne = $(this).parent().parent();
ligne.find('td.update').html('<img src="/themes/default/images/ajax.gif" />');
$.getJSON(href, function(data){
ligne.find('td.resultat').html(data.resultat);
ligne.find('td.insee').html(data.uniteInsee);
ligne.find('td.date').html(data.dateAjout);
});
var href = $(this).attr('href');
var $firstHTML = '<tr id="ligneUpdate"><td colspan="3" align="center"><img src="/themes/default/images/ajax.gif"/></td></tr>';
$('table.comptages').prepend($firstHTML);
$.getJSON(href, function(data, status){
if (status=='success') {
$('tr#ligneUpdate').html(
'<td>'+data.dateAjout+'</td>' +
'<td>'+data.resultat+'</td>' +
'<td>'+data.uniteInsee+'</td>'
);
} else {
$('tr#ligneUpdate').html('<td colspan="3" align="center">Une erreur est survenue.</td>');
}
});
});
$('a.enrichissementref').on('click', function(){

View File

@ -18,28 +18,12 @@ $(document).ready(function(){
$(this).html('Chargement...');
$(this).load(href);
},
buttons: {
Valider : function(){
var options = {
target: '#result',
dataType: 'json',
beforeSubmit: function(){},
success: function(data){
if (data.error == 0){
$('#result').html(data.msg);
$(location).attr('href','/dashboard/ciblage/id/'+data.id);
} else {
$('#result span.message').html(data.msg);
}
}
};
$('form#save').ajaxSubmit(options);
},
buttons: {
Annuler: function() { $(this).dialog('close'); }
},
close: function() { $('#dialogsaveciblage').remove(); }
close: function() { $('#dialog').remove(); }
};
$('<div id="dialogsaveciblage"></div>').dialog(dialogOpts);
$('<div id="dialog"></div>').dialog(dialogOpts);
return false;
});
@ -58,13 +42,14 @@ $(document).ready(function(){
},
buttons: {
Commander : function() {
//@todo : ...
$(this).load('/comptage/savedialog');
},
Annuler: function() { $(this).dialog('close'); }
},
close: function() { $('#previsualisation').remove(); }
close: function() { $('#dialog').remove(); }
};
$('<div id="previsualisation"></div>').dialog(dialogOpts);
$('<div id="dialog"></div>').dialog(dialogOpts);
return false;
});

View File

@ -0,0 +1,4 @@
div#help {
background-color:#ffffff;
}