|
@@ -2,6 +2,8 @@
|
|
|
|
|
|
namespace FTTHBundle\Repository;
|
|
|
|
|
|
+use Doctrine\ORM\Query;
|
|
|
+
|
|
|
class ONURepository extends \Doctrine\ORM\EntityRepository
|
|
|
{
|
|
|
|
|
@@ -30,5 +32,51 @@ class ONURepository extends \Doctrine\ORM\EntityRepository
|
|
|
|
|
|
return $qb->getQuery()->getResult();
|
|
|
}
|
|
|
+
|
|
|
+ public function getAllOnusToExport($tenancyId, $offset, $limit){
|
|
|
+ $query = $this->createQueryBuilder('o');
|
|
|
+ $query
|
|
|
+ ->select([
|
|
|
+ 'o.serialNumber',
|
|
|
+ 'o.ponSerialNumber',
|
|
|
+ 'o.currentState',
|
|
|
+ 'o.clientId',
|
|
|
+ 'o.ip',
|
|
|
+ 'o.mac',
|
|
|
+ 'o.radiusAuth',
|
|
|
+ 'olt.name AS oltName',
|
|
|
+ 'nap.name AS napName',
|
|
|
+ 'nap.slot',
|
|
|
+ 'nap.link',
|
|
|
+ 'o.position',
|
|
|
+ 'o.catv',
|
|
|
+ 'o.voip',
|
|
|
+ 'o.activationCode',
|
|
|
+ 'o.created',
|
|
|
+ 'o.updated'
|
|
|
+ ])
|
|
|
+ ->join('o.olt', "olt")
|
|
|
+ ->leftJoin('o.nap', "nap")
|
|
|
+ ->where('o.tenancyId = :tenancyId')
|
|
|
+ ->setParameter('tenancyId', $tenancyId)
|
|
|
+ ->orderBy('o.created', 'DESC')
|
|
|
+ ->setMaxResults($limit)
|
|
|
+ ->setFirstResult($offset);
|
|
|
+
|
|
|
+ return $query->getQuery()->getResult();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public function getAllOnusToExportCount($tenancyId){
|
|
|
+ $query = $this->createQueryBuilder('o');
|
|
|
+ $query
|
|
|
+ ->select('COUNT(o)')
|
|
|
+ ->join('o.olt', "olt")
|
|
|
+ ->leftJoin('o.nap', "nap")
|
|
|
+ ->where('o.tenancyId = :tenancyId')
|
|
|
+ ->setParameter('tenancyId', $tenancyId);
|
|
|
+ return $query->getQuery()->getResult(Query::HYDRATE_SINGLE_SCALAR);
|
|
|
+ }
|
|
|
|
|
|
}
|