Check active jo before removing it for rider #488
This commit is contained in:
parent
331d483606
commit
8068a662f6
2 changed files with 22 additions and 7 deletions
|
|
@ -1113,11 +1113,11 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
// cancel job order
|
// cancel job order
|
||||||
public function cancelJobOrder(Request $req, int $id, MQTTClient $mclient)
|
public function cancelJobOrder(Request $req, int $id, MQTTClient $mclient)
|
||||||
{
|
{
|
||||||
// get object data
|
// get jo data
|
||||||
$em = $this->em;
|
$em = $this->em;
|
||||||
$obj = $em->getRepository(JobOrder::class)->find($id);
|
$obj = $em->getRepository(JobOrder::class)->find($id);
|
||||||
|
|
||||||
// make sure this object exists
|
// make sure this exists
|
||||||
if (empty($obj))
|
if (empty($obj))
|
||||||
throw new NotFoundHttpException('The item does not exist');
|
throw new NotFoundHttpException('The item does not exist');
|
||||||
|
|
||||||
|
|
@ -1127,7 +1127,11 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
// get assigned rider. If not null, clear rider's active JO
|
// get assigned rider. If not null, clear rider's active JO
|
||||||
$rider = $obj->getRider();
|
$rider = $obj->getRider();
|
||||||
if ($rider != null)
|
if ($rider != null)
|
||||||
$rider->setActiveJobOrder();
|
{
|
||||||
|
$active_jo = $rider->getActiveJobOrder();
|
||||||
|
if ($active_jo != null && $active_jo->getID() == $obj->getID())
|
||||||
|
$rider->setActiveJobOrder(null);
|
||||||
|
}
|
||||||
|
|
||||||
// the event
|
// the event
|
||||||
$event = new JOEvent();
|
$event = new JOEvent();
|
||||||
|
|
@ -1154,7 +1158,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
'event' => 'cancelled',
|
'event' => 'cancelled',
|
||||||
'reason' => $cancel_reason,
|
'reason' => $cancel_reason,
|
||||||
'jo_id' => $obj->getID(),
|
'jo_id' => $obj->getID(),
|
||||||
'msg' => 'Job order has been cancelled.',
|
'msg' => 'Job order #' . $obj->getID() . ' has been cancelled.',
|
||||||
];
|
];
|
||||||
/*
|
/*
|
||||||
$mclient->sendEvent($obj, $payload);
|
$mclient->sendEvent($obj, $payload);
|
||||||
|
|
|
||||||
|
|
@ -1077,7 +1077,12 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
||||||
// add event log
|
// add event log
|
||||||
$rider = $this->session->getRider();
|
$rider = $this->session->getRider();
|
||||||
|
|
||||||
$rider->setActiveJobOrder(null);
|
if ($rider != null)
|
||||||
|
{
|
||||||
|
$active_jo = $rider->getActiveJobOrder();
|
||||||
|
if ($active_jo != null && $active_jo->getID() == $jo->getID())
|
||||||
|
$rider->setActiveJobOrder(null);
|
||||||
|
}
|
||||||
|
|
||||||
$event = new JOEvent();
|
$event = new JOEvent();
|
||||||
$event->setDateHappen(new DateTime())
|
$event->setDateHappen(new DateTime())
|
||||||
|
|
@ -1160,7 +1165,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
||||||
$this->em->persist($event);
|
$this->em->persist($event);
|
||||||
|
|
||||||
// set rider's active JO to null
|
// set rider's active JO to null
|
||||||
$rider->setActiveJobOrder(null);
|
// $rider->setActiveJobOrder(null);
|
||||||
|
|
||||||
$this->em->flush();
|
$this->em->flush();
|
||||||
|
|
||||||
|
|
@ -1682,7 +1687,13 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
||||||
$rider = $this->session->getRider();
|
$rider = $this->session->getRider();
|
||||||
|
|
||||||
// clear rider's active JO
|
// clear rider's active JO
|
||||||
$rider->setActiveJobOrder(null);
|
if ($rider != null)
|
||||||
|
{
|
||||||
|
$active_jo = $rider->getActiveJobOrder();
|
||||||
|
if ($active_jo != null && $active_jo->getID() == $jo->getID())
|
||||||
|
$rider->setActiveJobOrder(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$event = new JOEvent();
|
$event = new JOEvent();
|
||||||
$event->setDateHappen(new DateTime())
|
$event->setDateHappen(new DateTime())
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue