Resolve "JO list search by plate number" #887

Merged
jankstudio merged 1 commit from 91-jo-list-search-by-plate-number into master 2018-04-12 14:26:09 +00:00
3 changed files with 40 additions and 2 deletions

View file

@ -518,6 +518,9 @@ class JobOrderController extends BaseController
]; ];
// build query // build query
$qb = $this->getDoctrine()
->getRepository(JobOrder::class)
->createQueryBuilder('q');
$query = $qb->select('q'); $query = $qb->select('q');
$this->setQueryFilters($datatable, $query, $qb, $hubs, $tier, $tier_params['jo_status']); $this->setQueryFilters($datatable, $query, $qb, $hubs, $tier, $tier_params['jo_status']);
@ -531,10 +534,19 @@ class JobOrderController extends BaseController
} }
// get rows for this page // get rows for this page
$query_obj = $query->setFirstResult($offset)
->setMaxResults($perpage)
->getQuery();
error_log($query_obj->getSQL());
$obj_rows = $query_obj->getResult();
/*
$obj_rows = $query->setFirstResult($offset) $obj_rows = $query->setFirstResult($offset)
->setMaxResults($perpage) ->setMaxResults($perpage)
->getQuery() ->getQuery()
->getResult(); ->getResult();
*/
$statuses = JOStatus::getCollection(); $statuses = JOStatus::getCollection();
$service_types = ServiceType::getCollection(); $service_types = ServiceType::getCollection();
@ -550,6 +562,7 @@ class JobOrderController extends BaseController
$row['service_type'] = $service_types[$orow->getServiceType()]; $row['service_type'] = $service_types[$orow->getServiceType()];
$row['status'] = $statuses[$orow->getStatus()]; $row['status'] = $statuses[$orow->getStatus()];
$row['flag_advance'] = $orow->isAdvanceOrder(); $row['flag_advance'] = $orow->isAdvanceOrder();
$row['plate_number'] = $orow->getCustomerVehicle()->getPlateNumber();
$processor = $orow->getProcessedBy(); $processor = $orow->getProcessedBy();
if ($processor == null) if ($processor == null)
@ -1585,10 +1598,27 @@ class JobOrderController extends BaseController
->setParameter('hubs', $hubs, Connection::PARAM_STR_ARRAY); ->setParameter('hubs', $hubs, Connection::PARAM_STR_ARRAY);
break; break;
case 'open': case 'open':
$query->where('q.status IN (:statuses)') if (isset($datatable['query']['data-rows-search']))
->setParameter('statuses', $status, Connection::PARAM_STR_ARRAY); {
$query->innerJoin('q.cus_vehicle', 'cv')
->where('q.status IN (:statuses)')
->andWhere('cv.plate_number like :plate')
->setParameter('statuses', $status, Connection::PARAM_STR_ARRAY)
->setParameter('plate', $datatable['query']['data-rows-search'] . '%');
}
else
{
$query->where('q.status IN (:statuses)')
->setParameter('statuses', $status, Connection::PARAM_STR_ARRAY);
}
break; break;
case 'all': case 'all':
if (isset($datatable['query']['data-rows-search']))
{
$query->innerJoin('q.cus_vehicle', 'cv')
->where('cv.plate_number like :plate')
->setParameter('plate', $datatable['query']['data-rows-search'] . '%');
}
break; break;
default: default:
$query->where('q.status = :status') $query->where('q.status = :status')

View file

@ -77,6 +77,10 @@
field: 'id', field: 'id',
title: 'JO Number' title: 'JO Number'
}, },
{
field: 'plate_number',
title: 'Plate #'
},
{ {
field: 'delivery_address', field: 'delivery_address',
title: 'Customer Area' title: 'Customer Area'

View file

@ -77,6 +77,10 @@
field: 'id', field: 'id',
title: 'JO Number' title: 'JO Number'
}, },
{
field: 'plate_number',
title: 'Plate #'
},
{ {
field: 'delivery_address', field: 'delivery_address',
title: 'Customer Area' title: 'Customer Area'