mirror of
https://github.com/Karaka-Management/oms-EquipmentManagement.git
synced 2026-01-10 16:48:42 +00:00
update
This commit is contained in:
parent
abfff4adb9
commit
d4972ec74b
|
|
@ -18,5 +18,161 @@
|
|||
"value": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "insurance_provider",
|
||||
"l11n": {
|
||||
"en": "Insurance provider",
|
||||
"de": "Versicherung"
|
||||
},
|
||||
"value_type": 2,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
},
|
||||
{
|
||||
"name": "insurance_number",
|
||||
"l11n": {
|
||||
"en": "Insurance number",
|
||||
"de": "Versicherungsnummer"
|
||||
},
|
||||
"value_type": 2,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
},
|
||||
{
|
||||
"name": "leasing_provider",
|
||||
"l11n": {
|
||||
"en": "Leasing provider",
|
||||
"de": "Leasingsnummer"
|
||||
},
|
||||
"value_type": 2,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
},
|
||||
{
|
||||
"name": "leasing_number",
|
||||
"l11n": {
|
||||
"en": "Leasing number",
|
||||
"de": "Leasingsnummer"
|
||||
},
|
||||
"value_type": 2,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
},
|
||||
{
|
||||
"name": "leasing_end",
|
||||
"l11n": {
|
||||
"en": "Leasing end",
|
||||
"de": "Leasingende"
|
||||
},
|
||||
"value_type": 4,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
},
|
||||
{
|
||||
"name": "make",
|
||||
"l11n": {
|
||||
"en": "Make",
|
||||
"de": "Marke"
|
||||
},
|
||||
"value_type": 2,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
},
|
||||
{
|
||||
"name": "model",
|
||||
"l11n": {
|
||||
"en": "Model",
|
||||
"de": "Modell"
|
||||
},
|
||||
"value_type": 2,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
},
|
||||
{
|
||||
"name": "build",
|
||||
"l11n": {
|
||||
"en": "Build year",
|
||||
"de": "Baujahr"
|
||||
},
|
||||
"value_type": 4,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
},
|
||||
{
|
||||
"name": "ownership_start",
|
||||
"l11n": {
|
||||
"en": "Ownership start",
|
||||
"de": "Besitzbeginn"
|
||||
},
|
||||
"value_type": 4,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
},
|
||||
{
|
||||
"name": "ownership_end",
|
||||
"l11n": {
|
||||
"en": "Ownership end",
|
||||
"de": "Besitzende"
|
||||
},
|
||||
"value_type": 4,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
},
|
||||
{
|
||||
"name": "purchase_price",
|
||||
"l11n": {
|
||||
"en": "Purchase price",
|
||||
"de": "Kaufpreis"
|
||||
},
|
||||
"value_type": 1,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
},
|
||||
{
|
||||
"name": "leasing_residual_value",
|
||||
"l11n": {
|
||||
"en": "Leasing residual value",
|
||||
"de": "Leasing Restwert"
|
||||
},
|
||||
"value_type": 1,
|
||||
"is_custom_allowed": true,
|
||||
"validation_pattern": "",
|
||||
"is_required": false,
|
||||
"default_value": "",
|
||||
"values": []
|
||||
}
|
||||
]
|
||||
|
|
@ -15,11 +15,15 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\EquipmentManagement\Controller;
|
||||
|
||||
use Modules\EquipmentManagement\Models\Inspection;
|
||||
use Modules\EquipmentManagement\Models\InspectionMapper;
|
||||
use Modules\EquipmentManagement\Models\InspectionStatus;
|
||||
use Modules\EquipmentManagement\Models\InspectionTypeL11nMapper;
|
||||
use Modules\EquipmentManagement\Models\InspectionTypeMapper;
|
||||
use phpOMS\Localization\BaseStringL11n;
|
||||
use phpOMS\Localization\BaseStringL11nType;
|
||||
use phpOMS\Localization\ISO639x1Enum;
|
||||
use phpOMS\Localization\NullBaseStringL11nType;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
|
|
@ -34,6 +38,76 @@ use phpOMS\Message\ResponseAbstract;
|
|||
*/
|
||||
final class ApiInspectionTypeController extends Controller
|
||||
{
|
||||
/**
|
||||
* Api method to create a vehicle
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param array $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiInspectionCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void
|
||||
{
|
||||
if (!empty($val = $this->validateInspectionCreate($request))) {
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/** @var \Modules\FleetManagement\Models\Inspection $inspection */
|
||||
$inspection = $this->createInspectionFromRequest($request);
|
||||
$this->createModel($request->header->account, $inspection, InspectionMapper::class, 'inspection', $request->getOrigin());
|
||||
$this->createStandardCreateResponse($request, $response, $inspection);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to create vehicle from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return Inspection Returns the created vehicle from the request
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function createInspectionFromRequest(RequestAbstract $request) : Inspection
|
||||
{
|
||||
$inspection = new Inspection();
|
||||
$inspection->reference = (int) $request->getData('ref');
|
||||
$inspection->description = $request->getDataString('description') ?? '';
|
||||
$inspection->status = $request->getDataInt('status') ?? InspectionStatus::TODO;
|
||||
$inspection->next = $request->getDataDateTime('next') ?? null;
|
||||
$inspection->date = $request->getDataDateTime('date') ?? null;
|
||||
$inspection->interval = $request->getDataInt('interval') ?? 0;
|
||||
$inspection->type = new NullBaseStringL11nType((int) $request->getData('type'));
|
||||
|
||||
return $inspection;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate vehicle create request
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return array<string, bool> Returns the validation array of the request
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function validateInspectionCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (($val['ref'] = !$request->hasData('ref'))) {
|
||||
return $val;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to create item attribute type
|
||||
*
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ use Modules\EquipmentManagement\Models\Attribute\EquipmentAttributeTypeL11nMappe
|
|||
use Modules\EquipmentManagement\Models\Attribute\EquipmentAttributeTypeMapper;
|
||||
use Modules\EquipmentManagement\Models\EquipmentMapper;
|
||||
use Modules\EquipmentManagement\Models\EquipmentTypeMapper;
|
||||
use Modules\EquipmentManagement\Models\InspectionMapper;
|
||||
use Modules\Media\Models\MediaMapper;
|
||||
use Modules\Media\Models\MediaTypeMapper;
|
||||
use Modules\Organization\Models\UnitMapper;
|
||||
|
|
@ -41,7 +42,7 @@ use phpOMS\Views\View;
|
|||
final class BackendController extends Controller
|
||||
{
|
||||
/**
|
||||
* Routing end-point for application behaviour.
|
||||
* Routing end-point for application behavior.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
|
|
@ -70,7 +71,7 @@ final class BackendController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Routing end-point for application behaviour.
|
||||
* Routing end-point for application behavior.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
|
|
@ -101,7 +102,7 @@ final class BackendController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Routing end-point for application behaviour.
|
||||
* Routing end-point for application behavior.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
|
|
@ -136,7 +137,7 @@ final class BackendController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Routing end-point for application behaviour.
|
||||
* Routing end-point for application behavior.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
|
|
@ -169,7 +170,7 @@ final class BackendController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Routing end-point for application behaviour.
|
||||
* Routing end-point for application behavior.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
|
|
@ -207,6 +208,15 @@ final class BackendController extends Controller
|
|||
|
||||
$view->data['equipment'] = $equipment;
|
||||
|
||||
$inspections = InspectionMapper::getAll()
|
||||
->with('type')
|
||||
->with('type/l11n')
|
||||
->where('reference', $equipment->id)
|
||||
->where('type/l11n/language', $response->header->l11n->language)
|
||||
->execute();
|
||||
|
||||
$view->data['inspections'] = $inspections;
|
||||
|
||||
$query = new Builder($this->app->dbPool->get());
|
||||
$results = $query->selectAs(EquipmentMapper::HAS_MANY['files']['external'], 'file')
|
||||
->from(EquipmentMapper::TABLE)
|
||||
|
|
|
|||
|
|
@ -2,4 +2,4 @@
|
|||
|
||||
## ER
|
||||
|
||||

|
||||

|
||||
BIN
Docs/Dev/img/er.png
Executable file → Normal file
BIN
Docs/Dev/img/er.png
Executable file → Normal file
Binary file not shown.
|
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 74 KiB |
|
|
@ -36,12 +36,8 @@ class Equipment implements \JsonSerializable
|
|||
|
||||
public string $info = '';
|
||||
|
||||
public array $drivers = [];
|
||||
|
||||
public array $inspections = [];
|
||||
|
||||
public array $milage = [];
|
||||
|
||||
public int $unit = 0;
|
||||
|
||||
public ?int $responsible = null;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ namespace Modules\EquipmentManagement\Models;
|
|||
use phpOMS\Stdlib\Base\Enum;
|
||||
|
||||
/**
|
||||
* Permision state enum.
|
||||
* Permission category enum.
|
||||
*
|
||||
* @package Modules\EquipmentManagement\Models
|
||||
* @license OMS License 2.0
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ echo $this->data['nav']->render(); ?>
|
|||
|
||||
<div class="form-group">
|
||||
<label for="iPattern"><?= $this->getHtml('Pattern', 'Attribute', 'Backend'); ?></label>
|
||||
<input id="iPattern" type="text" value="<?= $this->printHtml($attribute->validationPAttern); ?>">
|
||||
<input id="iPattern" type="text" value="<?= $this->printHtml($attribute->validationPattern); ?>">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
|
@ -74,7 +74,7 @@ echo $this->data['nav']->render(); ?>
|
|||
<div class="col-xs-12 col-md-6">
|
||||
<div class="portlet">
|
||||
<div class="portlet-head"><?= $this->getHtml('Language', '0', '0'); ?><i class="g-icon download btn end-xs">download</i></div>
|
||||
<table class="default">
|
||||
<table class="default sticky">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>
|
||||
|
|
|
|||
|
|
@ -55,8 +55,8 @@ echo $this->data['nav']->render();
|
|||
<div class="portlet-head"><?= $this->getHtml('Profile'); ?></div>
|
||||
<div class="portlet-body">
|
||||
<div class="form-group">
|
||||
<label for="iEquipmentEquipmentProfileName"><?= $this->getHtml('Name'); ?></label>
|
||||
<input type="text" id="iEquipmentEquipmentProfileName" name="name" value="<?= $this->printHtml($equipment->name); ?>">
|
||||
<label for="iEquipmentProfileName"><?= $this->getHtml('Name'); ?></label>
|
||||
<input type="text" id="iEquipmentProfileName" name="name" value="<?= $this->printHtml($equipment->name); ?>">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
|
@ -172,17 +172,24 @@ echo $this->data['nav']->render();
|
|||
<div class="col-xs-12 col-md-6">
|
||||
<section class="portlet">
|
||||
<div class="portlet-head"><?= $this->getHtml('Upcoming'); ?></div>
|
||||
<table id="upcomingInspections" class="default">
|
||||
<table id="upcomingInspections" class="default sticky">
|
||||
<thead>
|
||||
<tr>
|
||||
<td><?= $this->getHtml('Date'); ?>
|
||||
<td class="wf-100"><?= $this->getHtml('Type'); ?>
|
||||
<td><?= $this->getHtml('Responsible'); ?>
|
||||
<tbody>
|
||||
<?php foreach ($this->data['inspections'] as $inspection) :
|
||||
// @todo handle old inspections in the past? maybe use a status?!
|
||||
if ($inspection->next === null) {
|
||||
continue;
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td><?= $inspection->next->format('Y-m-d H:i'); ?>
|
||||
<td><?= $this->printHtml($inspection->type->getL11n()); ?>
|
||||
<td>
|
||||
<td>
|
||||
<td>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
</section>
|
||||
</div>
|
||||
|
|
@ -190,17 +197,19 @@ echo $this->data['nav']->render();
|
|||
<div class="col-xs-12 col-md-6">
|
||||
<section class="portlet">
|
||||
<div class="portlet-head"><?= $this->getHtml('History'); ?></div>
|
||||
<table id="historicInspections" class="default">
|
||||
<table id="historicInspections" class="default sticky">
|
||||
<thead>
|
||||
<tr>
|
||||
<td><?= $this->getHtml('Date'); ?>
|
||||
<td class="wf-100"><?= $this->getHtml('Type'); ?>
|
||||
<td><?= $this->getHtml('Responsible'); ?>
|
||||
<tbody>
|
||||
<?php foreach ($this->data['inspections'] as $inspection) : ?>
|
||||
<tr>
|
||||
<td><?= $inspection->date->format('Y-m-d H:i'); ?>
|
||||
<td><?= $this->printHtml($inspection->type->getL11n()); ?>
|
||||
<td>
|
||||
<td>
|
||||
<td>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
</section>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
"name": "Jingga",
|
||||
"website": "jingga.app"
|
||||
},
|
||||
"description": "The buisness module.",
|
||||
"directory": "EquipmentManagement",
|
||||
"dependencies": {
|
||||
"Admin": "1.0.0",
|
||||
|
|
|
|||
|
|
@ -17,9 +17,7 @@ namespace Modules\EquipmentManagement\tests\Controller\Api;
|
|||
use Modules\EquipmentManagement\Models\EquipmentTypeMapper;
|
||||
use phpOMS\Message\Http\HttpRequest;
|
||||
use phpOMS\Message\Http\HttpResponse;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Uri\HttpUri;
|
||||
use phpOMS\Utils\TestUtils;
|
||||
use phpOMS\Utils\RnG\Text;
|
||||
|
||||
trait ApiControllerEquipmentTrait
|
||||
|
|
@ -30,7 +28,7 @@ trait ApiControllerEquipmentTrait
|
|||
*/
|
||||
public function testApiEquipmentCreate() : void
|
||||
{
|
||||
$equipmentType = EquipmentTypeMapper::getAll()->execute();
|
||||
$equipmentType = EquipmentTypeMapper::getAll()->execute();
|
||||
$equipmentTypeCount = \count($equipmentType);
|
||||
|
||||
$response = new HttpResponse();
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user