Add startJobOrder API call. Add RIDER_START event type. #421

This commit is contained in:
Korina Cordero 2020-06-02 08:03:31 +00:00
parent 22c1fab15c
commit 79b19a61f6
4 changed files with 52 additions and 0 deletions

View file

@ -95,3 +95,9 @@ cmb_rapi_offline:
controller: App\Controller\CMBRAPIController::goOffline
methods: [POST]
cmb_rapi_jo_start:
path: /cmbrapi/joborderstart
controller: App\Controller\CMBRAPIController::startJobOrder
methods: [POST]

View file

@ -437,4 +437,27 @@ class CMBRAPIController extends Controller
return $res->getReturnResponse();
}
public function startJobOrder(Request $req, RiderAPIHandlerInterface $rapi_handler)
{
$res = new APIResult();
$data = $rapi_handler->startJobOrder($req);
if (isset($data['error']))
{
$message = $data['error'];
$res->setError(true)
->setErrorMessage($message);
}
else
{
$res->setData($data);
}
// response
return $res->getReturnResponse();
}
}

View file

@ -14,6 +14,7 @@ class CMBJOEventType extends NameValue
const RIDER_ACCEPT = 'accept';
const RIDER_IN_TRANSIT = 'rider_in_transit';
const RIDER_ARRIVE = 'arrive';
const RIDER_START = 'rider_start';
const RIDER_EDIT = 'rider_edit';
const COLLECTION = [
@ -27,6 +28,7 @@ class CMBJOEventType extends NameValue
'accept' => 'Rider Accept',
'rider_in_transit' => 'Rider in Transit',
'arrive' => 'Rider Arrive',
'start' => 'Rider Start',
'rider_edit' => 'Rider Edit',
];
}

View file

@ -1255,6 +1255,27 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
return $data;
}
public function startJobOrder(Request $req)
{
$required_params = ['jo_id'];
$data = $this->checkJO($req, $required_params, $jo);
if (isset($data['error']))
return $data;
// add event log
$rider = $this->session->getRider();
$event = new JOEvent();
$event->setDateHappen(new DateTime())
->setTypeID(CMBJOEventType::RIDER_START)
->setJobOrder($jo)
->setRider($rider);
$this->em->persist($event);
$this->em->flush();
return $data;
}
protected function checkMissingParameters(Request $req, $params = [])
{
$missing = [];