From c3d2ed3496632dc8c4714eb6a9f85bdaa6ec0408 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Thu, 26 Jul 2018 19:10:09 +0800 Subject: [PATCH] Add new command for fulfilling old job orders #160 --- src/Command/FulfillOldJobOrderCommand.php | 80 +++++++++++++++++++++++ src/Controller/JobOrderController.php | 2 + 2 files changed, 82 insertions(+) create mode 100644 src/Command/FulfillOldJobOrderCommand.php diff --git a/src/Command/FulfillOldJobOrderCommand.php b/src/Command/FulfillOldJobOrderCommand.php new file mode 100644 index 00000000..53259df5 --- /dev/null +++ b/src/Command/FulfillOldJobOrderCommand.php @@ -0,0 +1,80 @@ +em = $om; + + parent::__construct(); + } + + protected function configure() + { + $this->setName('joborder:fulfill_old') + ->setDescription('Fulfill old job orders so riders can be available again.') + ->setHelp('Mark old assigned job orders as fulfilled. Have to make it a script so it goes through the same process as the controller'); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + // get entity manager + $em = $this->em; + + $date = new DateTime('2018-07-24'); + $qb = $em->getRepository(JobOrder::class) + ->createQueryBuilder('j'); + + // get all job orders that are assigned before scheduled date (inclusive) + $qb->select('j') + ->where('j.status = :status') + ->andWhere('j.date_schedule <= :date') + ->setParameter('status', JOStatus::ASSIGNED) + ->setParameter('date', $date); + + $query = $qb->getQuery(); + $res = $query->getResult(); + + + // get user + $user = $em->getRepository(User::class)->find(1); + + // fulfill each + foreach ($res as $jo) + { + echo 'fulfilling job order ' . $jo->getID() . "\n"; + // fulfill + $jo->fulfill(); + + // add event + $event = new JOEvent(); + $event->setDateHappen(new DateTime()) + ->setTypeID(JOEventType::FULFILL) + ->setUser($user) + ->setJobOrder($jo); + $em->persist($event); + } + + $em->flush(); + } +} diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index f599368c..2373c23b 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -1353,10 +1353,12 @@ class JobOrderController extends BaseController ], 422); } + /* // set rider available $rider = $obj->getRider(); if ($rider != null) $rider->setAvailable(); + */ // the event $event = new JOEvent();