Add emergency type to job order. #677
This commit is contained in:
parent
a847cba9b9
commit
70d917a585
3 changed files with 102 additions and 10 deletions
|
|
@ -408,6 +408,13 @@ class JobOrder
|
||||||
*/
|
*/
|
||||||
protected $caller_classification;
|
protected $caller_classification;
|
||||||
|
|
||||||
|
// emergency type
|
||||||
|
/**
|
||||||
|
* @ORM\ManyToOne(targetEntity="EmergencyType", inversedBy="job_orders")
|
||||||
|
* @ORM\JoinColumn(name="emergency_type_id", referencedColumnName="id", nullable=true)
|
||||||
|
*/
|
||||||
|
protected $emergency_type;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->date_create = new DateTime();
|
$this->date_create = new DateTime();
|
||||||
|
|
@ -1164,4 +1171,15 @@ class JobOrder
|
||||||
return $this->caller_classification;
|
return $this->caller_classification;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setEmergencyType(EmergencyType $emergency_type = null)
|
||||||
|
{
|
||||||
|
$this->emergency_type = $emergency_type;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getEmergencyType()
|
||||||
|
{
|
||||||
|
return $this->emergency_type;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ use App\Entity\JORejection;
|
||||||
use App\Entity\Warranty;
|
use App\Entity\Warranty;
|
||||||
use App\Entity\Customer;
|
use App\Entity\Customer;
|
||||||
use App\Entity\CustomerTag;
|
use App\Entity\CustomerTag;
|
||||||
|
use App\Entity\EmergencyType;
|
||||||
|
|
||||||
use App\Ramcar\InvoiceCriteria;
|
use App\Ramcar\InvoiceCriteria;
|
||||||
use App\Ramcar\ServiceType;
|
use App\Ramcar\ServiceType;
|
||||||
|
|
@ -433,6 +434,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
// get caller classification if any
|
// get caller classification if any
|
||||||
$caller_class = $req->request->get('caller_class','');
|
$caller_class = $req->request->get('caller_class','');
|
||||||
|
|
||||||
|
// get emergency type if any
|
||||||
|
$etype_id = $req->request->get('emergency_type', 0);
|
||||||
|
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
|
||||||
|
|
||||||
// TODO: check status before saving since JO might already
|
// TODO: check status before saving since JO might already
|
||||||
// have a status that needs to be retained
|
// have a status that needs to be retained
|
||||||
|
|
||||||
|
|
@ -470,7 +475,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
->setInitialConcern($initial_concern)
|
->setInitialConcern($initial_concern)
|
||||||
->setInitialConcernNotes($initial_concern_notes)
|
->setInitialConcernNotes($initial_concern_notes)
|
||||||
->setCallerClassification($caller_class)
|
->setCallerClassification($caller_class)
|
||||||
->setGender($gender);
|
->setGender($gender)
|
||||||
|
->setEmergencyType($etype);
|
||||||
|
|
||||||
// check if user is null, meaning call to create came from API
|
// check if user is null, meaning call to create came from API
|
||||||
if ($user != null)
|
if ($user != null)
|
||||||
|
|
@ -683,6 +689,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
// get caller classification if any
|
// get caller classification if any
|
||||||
$caller_class = $req->request->get('caller_class', '');
|
$caller_class = $req->request->get('caller_class', '');
|
||||||
|
|
||||||
|
// get emergency type if any
|
||||||
|
$etype_id = $req->request->get('emergency_type', 0);
|
||||||
|
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
|
||||||
|
|
||||||
if (empty($error_array))
|
if (empty($error_array))
|
||||||
{
|
{
|
||||||
// get current user
|
// get current user
|
||||||
|
|
@ -715,7 +725,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
->setInitialConcern($initial_concern)
|
->setInitialConcern($initial_concern)
|
||||||
->setInitialConcernNotes($initial_concern_notes)
|
->setInitialConcernNotes($initial_concern_notes)
|
||||||
->setCallerClassification($caller_class)
|
->setCallerClassification($caller_class)
|
||||||
->setGender($gender);
|
->setGender($gender)
|
||||||
|
->setEmergencyType($etype);
|
||||||
|
|
||||||
// did they change invoice?
|
// did they change invoice?
|
||||||
$invoice_items = $req->request->get('invoice_items', []);
|
$invoice_items = $req->request->get('invoice_items', []);
|
||||||
|
|
@ -879,6 +890,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
// get caller classification if any
|
// get caller classification if any
|
||||||
$caller_class = $req->request->get('caller_class', '');
|
$caller_class = $req->request->get('caller_class', '');
|
||||||
|
|
||||||
|
// get emergency type if any
|
||||||
|
$etype_id = $req->request->get('emergency_type', 0);
|
||||||
|
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
|
||||||
|
|
||||||
if (empty($error_array))
|
if (empty($error_array))
|
||||||
{
|
{
|
||||||
// coordinates
|
// coordinates
|
||||||
|
|
@ -908,7 +923,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
->setInitialConcern($initial_concern)
|
->setInitialConcern($initial_concern)
|
||||||
->setInitialConcernNotes($initial_concern_notes)
|
->setInitialConcernNotes($initial_concern_notes)
|
||||||
->setGender($gender)
|
->setGender($gender)
|
||||||
->setCallerClassification($caller_class);
|
->setCallerClassification($caller_class)
|
||||||
|
->setEmergencyType($etype);
|
||||||
|
|
||||||
// validate
|
// validate
|
||||||
$errors = $this->validator->validate($obj);
|
$errors = $this->validator->validate($obj);
|
||||||
|
|
@ -1018,6 +1034,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
// get caller classification if any
|
// get caller classification if any
|
||||||
$caller_class = $req->request->get('caller_class', '');
|
$caller_class = $req->request->get('caller_class', '');
|
||||||
|
|
||||||
|
// get emergency type if any
|
||||||
|
$etype_id = $req->request->get('emergency_type', 0);
|
||||||
|
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
|
||||||
|
|
||||||
// get current user
|
// get current user
|
||||||
$user = $this->security->getUser();
|
$user = $this->security->getUser();
|
||||||
|
|
||||||
|
|
@ -1049,7 +1069,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
->setInitialConcern($initial_concern)
|
->setInitialConcern($initial_concern)
|
||||||
->setInitialConcernNotes($initial_concern_notes)
|
->setInitialConcernNotes($initial_concern_notes)
|
||||||
->setCallerClassification($caller_class)
|
->setCallerClassification($caller_class)
|
||||||
->setGender($gender);
|
->setGender($gender)
|
||||||
|
->setEmergencyType($etype);
|
||||||
|
|
||||||
if ($user != null)
|
if ($user != null)
|
||||||
{
|
{
|
||||||
|
|
@ -1148,6 +1169,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
// get caller classification if any
|
// get caller classification if any
|
||||||
$caller_class = $req->request->get('caller_class', '');
|
$caller_class = $req->request->get('caller_class', '');
|
||||||
|
|
||||||
|
// get emergency type if any
|
||||||
|
$etype_id = $req->request->get('emergency_type', 0);
|
||||||
|
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
|
||||||
|
|
||||||
if (empty($error_array)) {
|
if (empty($error_array)) {
|
||||||
// coordinates
|
// coordinates
|
||||||
$point = new Point($req->request->get('coord_lng'), $req->request->get('coord_lat'));
|
$point = new Point($req->request->get('coord_lng'), $req->request->get('coord_lat'));
|
||||||
|
|
@ -1173,7 +1198,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
->setInitialConcern($initial_concern)
|
->setInitialConcern($initial_concern)
|
||||||
->setInitialConcernNotes($initial_concern_notes)
|
->setInitialConcernNotes($initial_concern_notes)
|
||||||
->setGender($gender)
|
->setGender($gender)
|
||||||
->setCallerClassification($caller_class);
|
->setCallerClassification($caller_class)
|
||||||
|
->setEmergencyType($etype);
|
||||||
|
|
||||||
// validate
|
// validate
|
||||||
$errors = $this->validator->validate($obj);
|
$errors = $this->validator->validate($obj);
|
||||||
|
|
@ -1392,6 +1418,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
// get caller classification if any
|
// get caller classification if any
|
||||||
$caller_class = $req->request->get('caller_class', '');
|
$caller_class = $req->request->get('caller_class', '');
|
||||||
|
|
||||||
|
// get emergency type if any
|
||||||
|
$etype_id = $req->request->get('emergency_type', 0);
|
||||||
|
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
|
||||||
|
|
||||||
// get previously assigned hub, if any
|
// get previously assigned hub, if any
|
||||||
$old_hub = $obj->getHub();
|
$old_hub = $obj->getHub();
|
||||||
|
|
||||||
|
|
@ -1448,6 +1478,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
->setInitialConcernNotes($initial_concern_notes)
|
->setInitialConcernNotes($initial_concern_notes)
|
||||||
->setGender($gender)
|
->setGender($gender)
|
||||||
->setCallerClassification($caller_class)
|
->setCallerClassification($caller_class)
|
||||||
|
->setEmergencyType($etype)
|
||||||
->clearRider();
|
->clearRider();
|
||||||
|
|
||||||
if ($user != null)
|
if ($user != null)
|
||||||
|
|
@ -1662,6 +1693,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
// get caller classification if any
|
// get caller classification if any
|
||||||
$caller_class = $req->request->get('caller_class', '');
|
$caller_class = $req->request->get('caller_class', '');
|
||||||
|
|
||||||
|
// get emergency type if any
|
||||||
|
$etype_id = $req->request->get('emergency_type', 0);
|
||||||
|
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
|
||||||
|
|
||||||
if (empty($error_array)) {
|
if (empty($error_array)) {
|
||||||
// rider mqtt event
|
// rider mqtt event
|
||||||
// NOTE: need to send this before saving because rider will be cleared
|
// NOTE: need to send this before saving because rider will be cleared
|
||||||
|
|
@ -1712,7 +1747,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
->setInitialConcern($initial_concern)
|
->setInitialConcern($initial_concern)
|
||||||
->setInitialConcernNotes($initial_concern_notes)
|
->setInitialConcernNotes($initial_concern_notes)
|
||||||
->setGender($gender)
|
->setGender($gender)
|
||||||
->setCallerClassification($caller_class);
|
->setCallerClassification($caller_class)
|
||||||
|
->setEmergencyType($etype);
|
||||||
|
|
||||||
if ($user != null)
|
if ($user != null)
|
||||||
{
|
{
|
||||||
|
|
@ -3194,6 +3230,15 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
$params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll();
|
$params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll();
|
||||||
$params['promos'] = $em->getRepository(Promo::class)->findAll();
|
$params['promos'] = $em->getRepository(Promo::class)->findAll();
|
||||||
|
|
||||||
|
// list of emergency types
|
||||||
|
$e_types = $em->getRepository(EmergencyType::class)->findBy([], ['name' => 'ASC']);
|
||||||
|
$emergency_types = [];
|
||||||
|
foreach ($e_types as $e_type)
|
||||||
|
{
|
||||||
|
$emergency_types[$e_type->getID()] = $e_type->getName();
|
||||||
|
}
|
||||||
|
$params['emergency_types'] = $emergency_types;
|
||||||
|
|
||||||
// list of hubs
|
// list of hubs
|
||||||
$hubs = $em->getRepository(Hub::class)->findBy([], ['name' => 'ASC']);
|
$hubs = $em->getRepository(Hub::class)->findBy([], ['name' => 'ASC']);
|
||||||
$fac_hubs = [];
|
$fac_hubs = [];
|
||||||
|
|
|
||||||
|
|
@ -375,7 +375,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
<div class="col-lg-4">
|
<div class="col-lg-6">
|
||||||
<label data-field="flag_will_wait">Willing to Wait</label>
|
<label data-field="flag_will_wait">Willing to Wait</label>
|
||||||
<select class="form-control m-input" id="flag-willing-to-wait" name="flag_willing_to_wait">
|
<select class="form-control m-input" id="flag-willing-to-wait" name="flag_willing_to_wait">
|
||||||
{% for key, class in willing_to_wait_content %}
|
{% for key, class in willing_to_wait_content %}
|
||||||
|
|
@ -384,7 +384,7 @@
|
||||||
</select>
|
</select>
|
||||||
<div class="form-control-feedback hide" data-field="flag_willing_to_wait"></div>
|
<div class="form-control-feedback hide" data-field="flag_willing_to_wait"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-4">
|
<div class="col-lg-6">
|
||||||
<label data-field="no_wait_reason">Reason Why Not Willing to Wait</label>
|
<label data-field="no_wait_reason">Reason Why Not Willing to Wait</label>
|
||||||
<select class="form-control m-input" id="no-wait-reason" name="no_wait_reason" disabled>
|
<select class="form-control m-input" id="no-wait-reason" name="no_wait_reason" disabled>
|
||||||
<option value="">None</option>
|
<option value="">None</option>
|
||||||
|
|
@ -394,10 +394,26 @@
|
||||||
</select>
|
</select>
|
||||||
<div class="form-control-feedback hide" data-field="no_wait_reason"></div>
|
<div class="form-control-feedback hide" data-field="no_wait_reason"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-4">
|
</div>
|
||||||
|
<div class="form-group m-form__group row">
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<label data-field="emergency_type">Emergency Scenario</label>
|
||||||
|
<select class="form-control m-input" id="emergency-type" name="emergency_type" disabled>
|
||||||
|
<option value=""></option>
|
||||||
|
{% for id, label in emergency_types %}
|
||||||
|
{% if obj.getEmergencyType %}
|
||||||
|
<option value="{{ id }}"{{ obj.getEmergencyType.getID == id ? ' selected' }}>{{ label }}</option>
|
||||||
|
{% else %}
|
||||||
|
<option value="{{ id }}">{{ label }}</option>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
<div class="form-control-feedback hide" data-field="emergency_type"></div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6">
|
||||||
<label data-field="not_wait_notes">Notes on Not Willing to Wait</label>
|
<label data-field="not_wait_notes">Notes on Not Willing to Wait</label>
|
||||||
<textarea name="not_wait_notes" id="not-wait-notes" class="form-control m-input" rows="2" disabled>{{ obj.getNotWaitingNotes }}</textarea>
|
<textarea name="not_wait_notes" id="not-wait-notes" class="form-control m-input" rows="2" disabled>{{ obj.getNotWaitingNotes }}</textarea>
|
||||||
<div class="form-control-feedback hide" data-field="not_wait_notes"></div>
|
<div class="form-control-feedback hide" data-field="not_wait_notes"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
|
|
@ -2053,6 +2069,19 @@ $(function() {
|
||||||
|
|
||||||
// empty the reason text field
|
// empty the reason text field
|
||||||
$("#not-wait-notes").val('');
|
$("#not-wait-notes").val('');
|
||||||
|
|
||||||
|
// remove selected option that might have already been selected
|
||||||
|
$("#emergency-type option:selected").prop("selected", false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#no-wait-reason").change(function() {
|
||||||
|
var field_value = $(this).val();
|
||||||
|
console.log(field_value);
|
||||||
|
if (field_value == 'emergency') {
|
||||||
|
$("#emergency-type").attr("disabled", false);
|
||||||
|
} else {
|
||||||
|
$("#emergency-type").attr("disabled", true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue