Add employee-to-order assignments with FR-EM-3 conflict validation
Docker-Images bauen und veröffentlichen / build (, omsorgCore/Dockerfile, omsorgcore) (push) Successful in 17s
Docker-Images bauen und veröffentlichen / build (, omsorgWeb/Dockerfile, omsorgweb) (push) Successful in 6s
Docker-Images bauen und veröffentlichen / build (, omsorgapp/Dockerfile, omsorgapp) (push) Successful in 17s
Docker-Images bauen und veröffentlichen / build (, omsorgCore/Dockerfile, omsorgcore) (push) Successful in 17s
Docker-Images bauen und veröffentlichen / build (, omsorgWeb/Dockerfile, omsorgweb) (push) Successful in 6s
Docker-Images bauen und veröffentlichen / build (, omsorgapp/Dockerfile, omsorgapp) (push) Successful in 17s
Adds the Assignment core object (Order x Employee, date range) with full CRUD, soft-delete/trash integration, and generated API clients. Layers FR-EM-3 conflict checks onto assignment creation: qualification, absence/availability, working-hours approximation, cross-order overlap, and active-contract coverage. Each check's severity (Warning vs. Error) is configurable at runtime via a new AssignmentValidationSettings singleton and admin settings panel, instead of being hardcoded - lets the business tune strictness per check without a redeploy. Adds a live GET /api/assignments/check endpoint so the create-assignment dialog can preview conflicts as the user picks employee/dates, before they hit save, rather than only finding out after submitting. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
fcbf27db3c
commit
dfeb37cf33
@@ -6,6 +6,8 @@ All URIs are relative to http://localhost, except if the operation defines anoth
|
||||
| ------------- | ------------- | ------------- |
|
||||
| [**apiTrashAbsencesGet()**](TrashApi.md#apiTrashAbsencesGet) | **GET** /api/trash/absences | |
|
||||
| [**apiTrashAbsencesIdRestorePost()**](TrashApi.md#apiTrashAbsencesIdRestorePost) | **POST** /api/trash/absences/{id}/restore | |
|
||||
| [**apiTrashAssignmentsGet()**](TrashApi.md#apiTrashAssignmentsGet) | **GET** /api/trash/assignments | |
|
||||
| [**apiTrashAssignmentsIdRestorePost()**](TrashApi.md#apiTrashAssignmentsIdRestorePost) | **POST** /api/trash/assignments/{id}/restore | |
|
||||
| [**apiTrashContractsGet()**](TrashApi.md#apiTrashContractsGet) | **GET** /api/trash/contracts | |
|
||||
| [**apiTrashContractsIdRestorePost()**](TrashApi.md#apiTrashContractsIdRestorePost) | **POST** /api/trash/contracts/{id}/restore | |
|
||||
| [**apiTrashEmployeeFacilityDistancesGet()**](TrashApi.md#apiTrashEmployeeFacilityDistancesGet) | **GET** /api/trash/employee-facility-distances | |
|
||||
@@ -139,6 +141,121 @@ void (empty response body)
|
||||
[[Back to Model list]](../../README.md#models)
|
||||
[[Back to README]](../../README.md)
|
||||
|
||||
## `apiTrashAssignmentsGet()`
|
||||
|
||||
```php
|
||||
apiTrashAssignmentsGet($search): \OmsorgCoreClient\Model\TrashAssignmentResponse[]
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Example
|
||||
|
||||
```php
|
||||
<?php
|
||||
require_once(__DIR__ . '/vendor/autoload.php');
|
||||
|
||||
|
||||
// Configure Bearer (JWT) authorization: Bearer
|
||||
$config = OmsorgCoreClient\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');
|
||||
|
||||
|
||||
$apiInstance = new OmsorgCoreClient\Api\TrashApi(
|
||||
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
|
||||
// This is optional, `GuzzleHttp\Client` will be used as default.
|
||||
new GuzzleHttp\Client(),
|
||||
$config
|
||||
);
|
||||
$search = 'search_example'; // string
|
||||
|
||||
try {
|
||||
$result = $apiInstance->apiTrashAssignmentsGet($search);
|
||||
print_r($result);
|
||||
} catch (Exception $e) {
|
||||
echo 'Exception when calling TrashApi->apiTrashAssignmentsGet: ', $e->getMessage(), PHP_EOL;
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Name | Type | Description | Notes |
|
||||
| ------------- | ------------- | ------------- | ------------- |
|
||||
| **search** | **string**| | [optional] |
|
||||
|
||||
### Return type
|
||||
|
||||
[**\OmsorgCoreClient\Model\TrashAssignmentResponse[]**](../Model/TrashAssignmentResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: `text/plain`, `application/json`, `text/json`
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../../README.md#endpoints)
|
||||
[[Back to Model list]](../../README.md#models)
|
||||
[[Back to README]](../../README.md)
|
||||
|
||||
## `apiTrashAssignmentsIdRestorePost()`
|
||||
|
||||
```php
|
||||
apiTrashAssignmentsIdRestorePost($id)
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Example
|
||||
|
||||
```php
|
||||
<?php
|
||||
require_once(__DIR__ . '/vendor/autoload.php');
|
||||
|
||||
|
||||
// Configure Bearer (JWT) authorization: Bearer
|
||||
$config = OmsorgCoreClient\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');
|
||||
|
||||
|
||||
$apiInstance = new OmsorgCoreClient\Api\TrashApi(
|
||||
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
|
||||
// This is optional, `GuzzleHttp\Client` will be used as default.
|
||||
new GuzzleHttp\Client(),
|
||||
$config
|
||||
);
|
||||
$id = 'id_example'; // string
|
||||
|
||||
try {
|
||||
$apiInstance->apiTrashAssignmentsIdRestorePost($id);
|
||||
} catch (Exception $e) {
|
||||
echo 'Exception when calling TrashApi->apiTrashAssignmentsIdRestorePost: ', $e->getMessage(), PHP_EOL;
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Name | Type | Description | Notes |
|
||||
| ------------- | ------------- | ------------- | ------------- |
|
||||
| **id** | **string**| | |
|
||||
|
||||
### Return type
|
||||
|
||||
void (empty response body)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: Not defined
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../../README.md#endpoints)
|
||||
[[Back to Model list]](../../README.md#models)
|
||||
[[Back to README]](../../README.md)
|
||||
|
||||
## `apiTrashContractsGet()`
|
||||
|
||||
```php
|
||||
|
||||
Reference in New Issue
Block a user