diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index 7b2b3654..b373491c 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -518,6 +518,9 @@ class JobOrderController extends BaseController ]; // build query + $qb = $this->getDoctrine() + ->getRepository(JobOrder::class) + ->createQueryBuilder('q'); $query = $qb->select('q'); $this->setQueryFilters($datatable, $query, $qb, $hubs, $tier, $tier_params['jo_status']); @@ -531,10 +534,19 @@ class JobOrderController extends BaseController } // 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) ->setMaxResults($perpage) ->getQuery() ->getResult(); + */ $statuses = JOStatus::getCollection(); $service_types = ServiceType::getCollection(); @@ -550,6 +562,7 @@ class JobOrderController extends BaseController $row['service_type'] = $service_types[$orow->getServiceType()]; $row['status'] = $statuses[$orow->getStatus()]; $row['flag_advance'] = $orow->isAdvanceOrder(); + $row['plate_number'] = $orow->getCustomerVehicle()->getPlateNumber(); $processor = $orow->getProcessedBy(); if ($processor == null) @@ -1585,10 +1598,27 @@ class JobOrderController extends BaseController ->setParameter('hubs', $hubs, Connection::PARAM_STR_ARRAY); break; case 'open': - $query->where('q.status IN (:statuses)') - ->setParameter('statuses', $status, Connection::PARAM_STR_ARRAY); + if (isset($datatable['query']['data-rows-search'])) + { + $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; 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; default: $query->where('q.status = :status') diff --git a/templates/job-order/list.all.html.twig b/templates/job-order/list.all.html.twig index 6feb192d..910f5bcd 100644 --- a/templates/job-order/list.all.html.twig +++ b/templates/job-order/list.all.html.twig @@ -77,6 +77,10 @@ field: 'id', title: 'JO Number' }, + { + field: 'plate_number', + title: 'Plate #' + }, { field: 'delivery_address', title: 'Customer Area' diff --git a/templates/job-order/list.open.html.twig b/templates/job-order/list.open.html.twig index 5f902ef5..5a7e38e2 100644 --- a/templates/job-order/list.open.html.twig +++ b/templates/job-order/list.open.html.twig @@ -77,6 +77,10 @@ field: 'id', title: 'JO Number' }, + { + field: 'plate_number', + title: 'Plate #' + }, { field: 'delivery_address', title: 'Customer Area'