Add riders and dates to query filters. #329
This commit is contained in:
parent
b7cae5afe2
commit
8dbcd0478d
1 changed files with 68 additions and 1 deletions
|
|
@ -2458,7 +2458,36 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
|||
switch ($tier)
|
||||
{
|
||||
case 'fulfill':
|
||||
$query->where('q.status IN (:statuses)')
|
||||
if (isset($datatable['query']['data-rows-search']))
|
||||
{
|
||||
$query->innerJoin('q.cus_vehicle', 'cv')
|
||||
->innerJoin('q.customer', 'c')
|
||||
->where('cv.plate_number like :filter')
|
||||
->orWhere('c.phone_mobile like :filter')
|
||||
->orWhere('c.first_name like :filter or c.last_name like :filter')
|
||||
->setParameter('filter', $datatable['query']['data-rows-search'] . '%');
|
||||
}
|
||||
if (isset($datatable['query']['rider']))
|
||||
{
|
||||
$query->innerJoin('q.rider', 'r')
|
||||
->andWhere('r.id = :rider_id')
|
||||
->setParameter('rider_id', $datatable['query']['rider']);
|
||||
}
|
||||
if (isset($datatable['query']['schedule_date']))
|
||||
{
|
||||
$start = $datatable['query']['schedule_date'][0] . ' ' . '00:00:00';
|
||||
$end = $datatable['query']['schedule_date'][1] . ' ' . '23:59:00';
|
||||
|
||||
$date_start = DateTime::createFromFormat('m/d/Y H:i:s', $start);
|
||||
$date_end = DateTime::createFromFormat('m/d/Y H:i:s', $end);
|
||||
|
||||
$query->andWhere('q.date_schedule >= :date_start')
|
||||
->andWhere('q.date_schedule <= :date_end')
|
||||
->setParameter('date_start', $date_start)
|
||||
->setParameter('date_end', $date_end);
|
||||
}
|
||||
|
||||
$query->andWhere('q.status IN (:statuses)')
|
||||
->andWhere('q.hub IN (:hubs)')
|
||||
->setParameter('statuses', $status, Connection::PARAM_STR_ARRAY)
|
||||
->setParameter('hubs', $hubs, Connection::PARAM_STR_ARRAY);
|
||||
|
|
@ -2484,6 +2513,25 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
|||
$query->where('q.status IN (:statuses)')
|
||||
->setParameter('statuses', $status, Connection::PARAM_STR_ARRAY);
|
||||
}
|
||||
if (isset($datatable['query']['rider']))
|
||||
{
|
||||
$query->innerJoin('q.rider', 'r')
|
||||
->andWhere('r.id = :rider_id')
|
||||
->setParameter('rider_id', $datatable['query']['rider']);
|
||||
}
|
||||
if (isset($datatable['query']['schedule_date']))
|
||||
{
|
||||
$start = $datatable['query']['schedule_date'][0] . ' ' . '00:00:00';
|
||||
$end = $datatable['query']['schedule_date'][1] . ' ' . '23:59:00';
|
||||
|
||||
$date_start = DateTime::createFromFormat('m/d/Y H:i:s', $start);
|
||||
$date_end = DateTime::createFromFormat('m/d/Y H:i:s', $end);
|
||||
|
||||
$query->andWhere('q.date_schedule >= :date_start')
|
||||
->andWhere('q.date_schedule <= :date_end')
|
||||
->setParameter('date_start', $date_start)
|
||||
->setParameter('date_end', $date_end);
|
||||
}
|
||||
break;
|
||||
case 'all':
|
||||
if (isset($datatable['query']['data-rows-search']))
|
||||
|
|
@ -2495,6 +2543,25 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
|||
->orWhere('c.first_name like :filter or c.last_name like :filter')
|
||||
->setParameter('filter', $datatable['query']['data-rows-search'] . '%');
|
||||
}
|
||||
if (isset($datatable['query']['rider']))
|
||||
{
|
||||
$query->innerJoin('q.rider', 'r')
|
||||
->andWhere('r.id = :rider_id')
|
||||
->setParameter('rider_id', $datatable['query']['rider']);
|
||||
}
|
||||
if (isset($datatable['query']['schedule_date']))
|
||||
{
|
||||
$start = $datatable['query']['schedule_date'][0] . ' ' . '00:00:00';
|
||||
$end = $datatable['query']['schedule_date'][1] . ' ' . '23:59:00';
|
||||
|
||||
$date_start = DateTime::createFromFormat('m/d/Y H:i:s', $start);
|
||||
$date_end = DateTime::createFromFormat('m/d/Y H:i:s', $end);
|
||||
|
||||
$query->andWhere('q.date_schedule >= :date_start')
|
||||
->andWhere('q.date_schedule <= :date_end')
|
||||
->setParameter('date_start', $date_start)
|
||||
->setParameter('date_end', $date_end);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$query->where('q.status = :status')
|
||||
|
|
|
|||
Loading…
Reference in a new issue