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
|
||||
public function cancelJobOrder(Request $req, int $id, MQTTClient $mclient)
|
||||
{
|
||||
// get object data
|
||||
// get jo data
|
||||
$em = $this->em;
|
||||
$obj = $em->getRepository(JobOrder::class)->find($id);
|
||||
|
||||
// make sure this object exists
|
||||
// make sure this exists
|
||||
if (empty($obj))
|
||||
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
|
||||
$rider = $obj->getRider();
|
||||
if ($rider != null)
|
||||
$rider->setActiveJobOrder();
|
||||
{
|
||||
$active_jo = $rider->getActiveJobOrder();
|
||||
if ($active_jo != null && $active_jo->getID() == $obj->getID())
|
||||
$rider->setActiveJobOrder(null);
|
||||
}
|
||||
|
||||
// the event
|
||||
$event = new JOEvent();
|
||||
|
|
@ -1154,7 +1158,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
|||
'event' => 'cancelled',
|
||||
'reason' => $cancel_reason,
|
||||
'jo_id' => $obj->getID(),
|
||||
'msg' => 'Job order has been cancelled.',
|
||||
'msg' => 'Job order #' . $obj->getID() . ' has been cancelled.',
|
||||
];
|
||||
/*
|
||||
$mclient->sendEvent($obj, $payload);
|
||||
|
|
|
|||
|
|
@ -1077,7 +1077,12 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
|||
// add event log
|
||||
$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->setDateHappen(new DateTime())
|
||||
|
|
@ -1160,7 +1165,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
|||
$this->em->persist($event);
|
||||
|
||||
// set rider's active JO to null
|
||||
$rider->setActiveJobOrder(null);
|
||||
// $rider->setActiveJobOrder(null);
|
||||
|
||||
$this->em->flush();
|
||||
|
||||
|
|
@ -1682,7 +1687,13 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
|||
$rider = $this->session->getRider();
|
||||
|
||||
// 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->setDateHappen(new DateTime())
|
||||
|
|
|
|||
Loading…
Reference in a new issue