<?php
namespace App\Service;
use App\Entity\Solicitud;
use Doctrine\ORM\EntityManagerInterface as ObjectManager;
use Doctrine\ORM\Query;
use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface;
use Symfony\Component\Routing\Annotation\Route;
class SolicitudService
{
protected $om;
public function __construct(ObjectManager $om)
{
$this->om = $om;
}
public function getAllSolicitudes($month, $year)
{
$qb = $this->om->getRepository(Solicitud::class)->createQueryBuilder('e')
->select('COUNT(e)')
->andWhere('MONTH(e.open_date) = :month')
->andWhere('YEAR(e.open_date) = :year')
->setParameter(':month', $month)
->setParameter(':year', $year);
$query = $qb->getQuery();
$results = $query->execute();
return $results[0][1];
}
public function getSolicitudesCerradas($month, $year)
{
$qb = $this->om->getRepository(Solicitud::class)->createQueryBuilder('e')
->select('COUNT(e)')
->where("e.status = 'Cerrada'")
->andWhere('MONTH(e.open_date) = :month')
->andWhere('YEAR(e.open_date) = :year')
->setParameter(':month', $month)
->setParameter(':year', $year);
$query = $qb->getQuery();
$results = $query->execute();
return $results[0][1];
}
public function findSolicitud($status, $client, $orderNumber, $proveedor, $pickup, $delivery, $openDate, $fechaCarga, $eta, $type, $target)
{
return $this->om->getRepository(Solicitud::class)->findOneBy([
'status' => $status,
'client' => $client,
'proveedor' => $proveedor,
'order_number' => $orderNumber,
'pick_up' => $pickup,
'delivery' => $delivery,
'open_date' => $openDate,
'fecha_carga' => $fechaCarga,
'eta' => $eta,
'type' => $type,
'target' => $target
]);
}
}