resq/src/Service/JobOrderHandlerInterface.php

93 lines
2.8 KiB
PHP

<?php
namespace App\Service;
use Symfony\Component\HttpFoundation\Request;
use App\Service\MQTTClient;
use App\Service\APNSClient;
use App\Service\MapTools;
interface JobOrderHandlerInterface
{
// TODO: event sending has been moved to rider assignment handler for cmb. Might need
// to consider resq implementation for event sending for the other methods.
// get job order rows
public function getRows(Request $req, string $tier);
// get job orders
public function getJobOrders(Request $req);
// generate job order
public function generateJobOrder(Request $req, int $id);
// process one step job order
public function processOneStepJobOrder(Request $req, int $id);
// dispatch job order
public function dispatchJobOrder(Request $req, int $id, MQTTClient $mclient);
// assign job order
public function assignJobOrder(Request $req, int $id, MQTTCLient $mclient, APNSClient $aclient);
// fulfill job order
public function fulfillJobOrder(Request $req, int $id, MQTTClient $mclient);
// cancel job order
public function cancelJobOrder(Request $req, int $id, MQTTClient $mclient);
// set hub for job order
public function setHub(Request $req, int $id, MQTTClient $mclient);
// reject hub for job order
public function rejectHub(Request $req, int $id);
// set rider for job order
public function setRider(Request $req, int $id, MQTTClient $mclient);
// unlock processor
public function unlockProcessor(int $id);
// unlock assignor
public function unlockAssignor(int $id);
// initialize incoming job order form
public function initializeIncomingForm();
// initialize open edit job order form
public function initializeOpenEditForm(int $id);
// initialize incoming vehicle form
public function initializeIncomingVehicleForm(int $cvid);
// initialize all job orders form for a specific job order id
public function initializeAllForm(int $id);
// initialize dispatch/processing job order form
public function initializeProcessingForm(int $id, MapTools $map_tools);
// initialize assign job order form
public function initializeAssignForm(int $id);
// initialize fulflll job order form
public function initializeFulfillmentForm(int $id);
// initialize hub form
public function initializeHubForm(int $id, MapTools $map_tools);
// initialize rider form
public function initializeRiderForm(int $id);
// initialize one step form
public function initializeOneStepForm();
// initialize one step edit form
public function initializeOneStepEditForm(int $id, MapTools $map_tools);
// generate pdf form for job order
public function generatePDFForm(Request $req, int $id, string $proj_path);
// get template to display
public function getTwigTemplate(string $id);
}