diff --git a/config/routes/job_order.yaml b/config/routes/job_order.yaml index d20a8563..3d8cb603 100644 --- a/config/routes/job_order.yaml +++ b/config/routes/job_order.yaml @@ -8,6 +8,11 @@ jo_in_submit: controller: App\Controller\JobOrderController::incomingSubmit methods: [POST] +jo_in_invoice: + path: /job-order/generate-invoice + controller: App\Controller\JobOrderController::generateInvoice + methods: [POST] + jo_proc: path: /job-order/processing controller: App\Controller\JobOrderController::listRows diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index 48ae9db2..0d3e1a57 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -6,13 +6,17 @@ use App\Ramcar\BaseController; use App\Ramcar\ServiceType; use App\Ramcar\JOStatus; use App\Ramcar\WarrantyClass; +use App\Ramcar\DiscountApply; +use App\Ramcar\InvoiceCriteria; use App\Entity\JobOrder; use App\Entity\BatteryManufacturer; use App\Entity\Customer; use App\Entity\CustomerVehicle; use App\Entity\Outlet; +use App\Entity\Promo; use App\Entity\Rider; +use App\Service\InvoiceCreator; use App\Service\MapTools; use Doctrine\ORM\Query; @@ -41,11 +45,11 @@ class JobOrderController extends BaseController // get parent associations $params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll(); $params['customers'] = $em->getRepository(Customer::class)->findAll(); - $params['outlet'] = $em->getRepository(Outlet::class)->findAll(); - $params['rider'] = $em->getRepository(Rider::class)->findAll(); + $params['promos'] = $em->getRepository(Promo::class)->findAll(); $params['service_types'] = ServiceType::getCollection(); $params['warranty_classes'] = WarrantyClass::getCollection(); $params['statuses'] = JOStatus::getCollection(); + $params['discount_apply'] = DiscountApply::getCollection(); // response return $this->render('job-order/form.html.twig', $params); @@ -281,6 +285,8 @@ class JobOrderController extends BaseController $params['service_types'] = ServiceType::getCollection(); $params['warranty_classes'] = WarrantyClass::getCollection(); $params['statuses'] = JOStatus::getCollection(); + $params['promos'] = $em->getRepository(Promo::class)->findAll(); + $params['discount_apply'] = DiscountApply::getCollection(); // get closest outlets $outlets = $map_tools->getClosestOutlets($obj->getCoordinates(), 10, date("H:i:s")); @@ -418,6 +424,8 @@ class JobOrderController extends BaseController $params['service_types'] = ServiceType::getCollection(); $params['warranty_classes'] = WarrantyClass::getCollection(); $params['statuses'] = JOStatus::getCollection(); + $params['promos'] = $em->getRepository(Promo::class)->findAll(); + $params['discount_apply'] = DiscountApply::getCollection(); // get closest outlets $outlets = $map_tools->getClosestOutlets($obj->getCoordinates(), 10, date("H:i:s")); @@ -540,7 +548,8 @@ class JobOrderController extends BaseController // TODO: re-enable search, figure out how to group the orWhere filters into one, so can execute that plus the pending filter // check if datatable filter is present and append to query - protected function setQueryFilters($datatable, &$query, $qb, $status) { + protected function setQueryFilters($datatable, &$query, $qb, $status) + { $query->where('q.status = :status') ->setParameter('status', $status); @@ -560,4 +569,12 @@ class JobOrderController extends BaseController } */ } + + public function generateInvoice(Request $req, InvoiceCreator $ic) + { + // create new invoice object + $invoice = new InvoiceCriteria(); + + //$invoice-> + } } diff --git a/templates/job-order/form.html.twig b/templates/job-order/form.html.twig index d8208e64..7c9e7166 100644 --- a/templates/job-order/form.html.twig +++ b/templates/job-order/form.html.twig @@ -263,27 +263,35 @@