src/Repository/PositionGpsRepository.php line 61

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use Doctrine\ORM\Query\ResultSetMapping;
  4. /**
  5.  * ActionFormationRepository
  6.  *
  7.  * This class was generated by the Doctrine ORM. Add your own custom
  8.  * repository methods below.
  9.  */
  10. class PositionGpsRepository extends \Doctrine\ORM\EntityRepository
  11. {
  12.     public function findPositionByDate($date$user null)
  13.     {
  14.         $em $this->getEntityManager();
  15.         $data = [];
  16.         $where " ";
  17.         $tabParameter = [];
  18.         $dql 'SELECT position FROM App:PositionGps position
  19.                 WHERE position.dateCreatedByServer LIKE :dateServer
  20.                 AND position.user = :user
  21.                 ';
  22.         $query $em->createQuery($dql);
  23.         $query->setParameter("dateServer""%{$date}%");
  24.         $query->setParameter("user"$user);
  25.         
  26.         $data $query->getResult();
  27.         return $data;
  28.     }
  29.     public function findPositionByTwoDate($dateStart$dateEnd$user null)
  30.     {
  31.         $em $this->getEntityManager();
  32.         $data = [];
  33.         $where " ";
  34.         $tabParameter = [];
  35.         $dql 'UPDATE App:PositionGps position
  36.                 SET position.sync = 1
  37.                 WHERE position.datePrinted BETWEEN :dateStart AND :dateEnd
  38.                 AND position.user = :user
  39.                 ';
  40.         $query $em->createQuery($dql);
  41.         $query->setParameter("dateStart"$dateStart);
  42.         $query->setParameter("dateEnd"$dateEnd);
  43.         $query->setParameter("user"$user);
  44.         
  45.         $data $query->getResult();
  46.         return $data;
  47.     }
  48.     public function findPositionNext($sync$user null$activityConfidence$idPosition$nextStillId$accuracy$numberLimit)
  49.     {
  50.         $em $this->getEntityManager();
  51.         $data = [];
  52.         $where " ";
  53.         $tabParameter = [];
  54.         //array('datePrinted' => 'ASC', 'dateCreatedByServer' => 'ASC')
  55.         $dql 'SELECT position FROM App:PositionGps position
  56.                 WHERE position.sync LIKE :sync
  57.                 AND position.user = :user
  58.                 AND position.activityConfidence = :activityConfidence
  59.                 AND position.id > :idPosition
  60.                 AND position.id < :idPositionNext
  61.                 AND position.accuracy < :accuracy
  62.                 AND position.activityType != :activityType
  63.                 ORDER BY position.datePrinted ASC, position.dateCreatedByServer ASC
  64.                 ';
  65.         $query $em->createQuery($dql);
  66.         $query->setParameter("sync"$sync);
  67.         $query->setParameter("user"$user);
  68.         $query->setParameter("activityConfidence"$activityConfidence);
  69.         $query->setParameter("idPosition"$idPosition);
  70.         $query->setParameter("idPositionNext"$nextStillId);
  71.         $query->setParameter("accuracy"$accuracy);
  72.         $query->setParameter("activityType""still");
  73.         //->add('orderBy', 'u.name ASC')
  74.         $query->setMaxResults($numberLimit);
  75.         
  76.         $data $query->getResult();
  77.         return $data;
  78.     }
  79.     public function findOnePositionNext($sync$user null$idPosition$accuracy)
  80.     {
  81.         $em $this->getEntityManager();
  82.         $data = [];
  83.         $where " ";
  84.         $tabParameter = [];
  85.         //array('datePrinted' => 'ASC', 'dateCreatedByServer' => 'ASC')
  86.         $dql 'SELECT position FROM App:PositionGps position
  87.                 WHERE position.sync LIKE :sync
  88.                 AND position.user = :user
  89.                 AND position.id > :idPosition
  90.                 AND position.accuracy < :accuracy
  91.                 ORDER BY position.datePrinted ASC, position.dateCreatedByServer ASC
  92.                 ';
  93.         $query $em->createQuery($dql);
  94.         $query->setParameter("sync"$sync);
  95.         $query->setParameter("user"$user);
  96.         $query->setParameter("idPosition"$idPosition);
  97.         $query->setParameter("accuracy"$accuracy);
  98.         //->add('orderBy', 'u.name ASC')
  99.         $query->setMaxResults(1);
  100.         
  101.         $data $query->getResult();
  102.         return $data;
  103.     }
  104. }