getIdentity(); $criteresM = new Table_Criteres(); $sql = $criteresM->select() ->from($criteresM, array('id', 'reference', 'dateAjout')) ->where("idClient = ?", $user->idClient) ->where("login = ?", $user->username) ->order('dateAjout DESC') ->limit(5); $rows = $criteresM->fetchAll($sql); $results = array(); $comptagesM = new Table_Comptages(); foreach($rows->toArray() as $item) { $info = array( 'id' => $item['id'], 'reference' => $item['reference'], 'dateCriteres' => $item['dateAjout'], ); //Recherche des comptages $sql = $comptagesM->select() ->from($comptagesM, array('resultat', 'uniteInsee', "DATE_FORMAT(dateAjout, '%Y/%m/%d %H:%i:%s') as dateAjout")) ->where('idDefinition = ?', $item['id']) ->order('dateAjout DESC')->limit(1); $comptage = $comptagesM->fetchAll($sql)->toArray(); if (count($comptage)>0){ $info['resultat'] = $comptage[0]['resultat']; $info['uniteInsee'] = $comptage[0]['uniteInsee']; $info['dateComptage'] = $comptage[0]['dateAjout']; } $results[] = $info; } return ($results); } public function enrichissement($idComptage) { $enrichissements = new Table_EnrichissementIdentifiants(); $auth = Zend_Auth::getInstance(); $user = $auth->getIdentity(); $sql = $enrichissements->select() ->setIntegrityCheck(false) ->from( array('i' => 'enrichissement_identifiants'), array('id', 'reference', 'fichier', 'nbLigneTotales', 'nbLigneTraites', 'error', 'dateAdded', 'dateStart', 'dateStop') ) ->join( array('criteres' => 'criteres'), 'i.idCriteres = criteres.id', array('') ) ->where('criteres.idClient = ?', $user->idClient) ->where('criteres.login = ?', $user->username) ->where('i.idComptage = ?', $idComptage); return ($enrichissements->fetchAll($sql)); } public function enrichissements() { $enrichissementsM = new Table_EnrichissementIdentifiants(); $auth = Zend_Auth::getInstance(); $user = $auth->getIdentity(); $sql = $enrichissementsM->select() ->setIntegrityCheck(false) ->from( array('i' => 'enrichissement_identifiants'), array('id', 'reference', 'fichier', 'nbLigneTotales', 'nbLigneTraites', 'error', 'dateAdded', 'dateStart', 'dateStop') ) ->join( array('c' => 'comptages'), 'i.idComptage = c.id', array('') ) ->join( array('criteres' => 'criteres'), 'i.idCriteres = criteres.id', array('') ) ->where('criteres.idClient = ?', $user->idClient) ->where('criteres.login = ?', $user->username) ->order('dateAdded DESC'); return ($enrichissementsM->fetchAll($sql)); } public function menu() { } public function ciblage($page) { $offset = 20; //Liste des ciblages par paquet de n $auth = Zend_Auth::getInstance(); $user = $auth->getIdentity(); $criteresM = new Table_Criteres(); //Compter le nombre de page $sql = $criteresM->select() ->from($criteresM, array('nb' => 'COUNT(*)')) ->where("idClient = ?", $user->idClient) ->where("login = ?", $user->username); $count = $criteresM->fetchRow($sql); $nbCiblage = $count->nb; //Récupérer les informations $position = ($page-1)*$offset+1; $sql = $criteresM->select() ->from($criteresM, array('id', 'reference', 'dateAjout')) ->where("idClient = ?", $user->idClient) ->where("login = ?", $user->username) ->order('dateAjout DESC') ->limitPage($position, $offset); $rows = $criteresM->fetchAll($sql); $results = array(); $comptagesM = new Table_Comptages(); foreach($rows->toArray() as $item) { $info = array( 'id' => $item['id'], 'reference' => $item['reference'], 'dateCriteres' => $item['dateAjout'], ); //Recherche des comptages $sql = $comptagesM->select() ->from($comptagesM, array('resultat', 'uniteInsee', "DATE_FORMAT(dateAjout, '%d/%m/%Y %H:%i:%s') as dateAjout")) ->where('idDefinition = ?', $item['id']) ->order('dateAjout DESC')->limit(1); $comptage = $comptagesM->fetchAll($sql)->toArray(); if (count($comptage)>0){ $info['resultat'] = $comptage[0]['resultat']; $info['uniteInsee'] = $comptage[0]['uniteInsee']; $info['dateComptage'] = $comptage[0]['dateAjout']; } $results[] = $info; } return (array('ciblages' => $results, 'nbCiblage' => $nbCiblage)); } public function ciblagedetail($id) { $auth = Zend_Auth::getInstance(); $user = $auth->getIdentity(); $table = new Table_Criteres(); $sql = $table->select() ->where('idClient = ?', $user->idClient) ->where('login = ?', $user->username) ->where('id = ?', $id); $criteres = $table->fetchRow($sql)->toArray(); if ($criteres != null){ $comptage = new Table_Comptages(); $sql = $comptage->select() ->where('idDefinition = ?', $id); $comptages = $comptage->fetchAll($sql)->toArray(); } return (array_merge(array('comptages' => $comptages), array('criteres' => $criteres))); } public function rcomptage($q) { $auth = Zend_Auth::getInstance(); $user = $auth->getIdentity(); $criteresM = new Table_Criteres($db); $sql = $criteresM->select() ->from($criteresM, array('id', 'reference', "DATE_FORMAT(dateAjout, '%d/%m/%Y') as date")) ->where("idClient = ?", $user->idClient) ->where("login = ?", $user->username) ->where("reference LIKE ?", $q.'%'); $rows = $criteresM->fetchAll($sql); if (count($rows)>0){ $separator = " , "; foreach ($rows as $item) { $output[] = array( 'label' => $item->reference . $separator . $item->date, 'value' => $item->reference, 'url' => $this->view->url(array('controller'=>'dashboard', 'action'=>'ciblage', 'id'=>$item->id)), ); } } return (json_encode($output)); } }