mirror of
https://github.com/Karaka-Management/oms-Purchase.git
synced 2026-02-16 23:48:41 +00:00
fix phpstan/phpcs
This commit is contained in:
parent
ebf32e9cc1
commit
40043f26ac
28
Models/OrderSuggestionInterface.php
Normal file
28
Models/OrderSuggestionInterface.php
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Orange Management
|
||||||
|
*
|
||||||
|
* PHP Version 8.0
|
||||||
|
*
|
||||||
|
* @package Modules\Purchase\Models
|
||||||
|
* @copyright Dennis Eichhorn
|
||||||
|
* @license OMS License 1.0
|
||||||
|
* @version 1.0.0
|
||||||
|
* @link https://orange-management.org
|
||||||
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Modules\Purchase\Models;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Order suggestion interface.
|
||||||
|
*
|
||||||
|
* @package Modules\Purchase\Models
|
||||||
|
* @license OMS License 1.0
|
||||||
|
* @link https://orange-management.org
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
interface OrderSuggestionInterface
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -14,107 +14,109 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\Purchase\OrderSuggestion;
|
namespace Modules\Purchase\OrderSuggestion;
|
||||||
|
|
||||||
|
use Modules\Purchase\Models\OrderSuggestionInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OMS order suggestion class
|
* OMS order suggestion class
|
||||||
*
|
*
|
||||||
* @package Modules\Purchase\Models\OrderSuggestion
|
* @package Modules\Purchase\OrderSuggestion
|
||||||
* @license OMS License 1.0
|
* @license OMS License 1.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
final class DefaultOrderSuggestion implements OrderSuggestionInterface
|
final class DefaultOrderSuggestion implements OrderSuggestionInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Which data should be used to create the order suggestion?
|
* Which data should be used to create the order suggestion?
|
||||||
*
|
*
|
||||||
* @var int
|
* @var int
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public int $suggestionType = OrderSuggestionType::HISTORIC;
|
public int $suggestionType = OrderSuggestionType::HISTORIC;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Comparison duration type.
|
* Comparison duration type.
|
||||||
*
|
*
|
||||||
* @var int
|
* @var int
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public int $historicComparisonDurationType = OrderSuggestionComparisonDurationType::ANNUAL;
|
public int $historicComparisonDurationType = OrderSuggestionComparisonDurationType::ANNUALY;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* How many years should used for the analysis.
|
* How many years should used for the analysis.
|
||||||
*
|
*
|
||||||
* @var int
|
* @var int
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public int $historicComparisonDuration = 1;
|
public int $historicComparisonDuration = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Which averaging method should be used?
|
* Which averaging method should be used?
|
||||||
*
|
*
|
||||||
* @var int
|
* @var int
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public int $historicAveragingMethod = OrderSuggestionAveragingMethod::MEAN;
|
public int $historicAveragingMethod = OrderSuggestionAveragingMethod::MEAN;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* What should the focus of the order suggestion be?
|
* What should the focus of the order suggestion be?
|
||||||
*
|
*
|
||||||
* @var int
|
* @var int
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public int $optimizationType = OrderSuggestionOptimizationType::PRICE;
|
public int $optimizationType = OrderSuggestionOptimizationType::PRICE;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* How greedy should the algorithm be?
|
* How greedy should the algorithm be?
|
||||||
*
|
*
|
||||||
* The number represents how many items in % can be bought in additon to the optimal stock quantity.
|
* The number represents how many items in % can be bought in additon to the optimal stock quantity.
|
||||||
*
|
*
|
||||||
* Higher means more room for adjustments.
|
* Higher means more room for adjustments.
|
||||||
*
|
*
|
||||||
* @var int
|
* @var int
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public int $optimizationGreediness = 10;
|
public int $optimizationGreediness = 10;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For how many days would you like to have stock?
|
* For how many days would you like to have stock?
|
||||||
*
|
*
|
||||||
* Or in other words, higher means you need to order less often per year.
|
* Or in other words, higher means you need to order less often per year.
|
||||||
*
|
*
|
||||||
* Only relevant if OptimizationType::AVAILABILITY
|
* Only relevant if OptimizationType::AVAILABILITY
|
||||||
*
|
*
|
||||||
* @var int
|
* @var int
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public int $optimizationDays = 0;
|
public int $optimizationDays = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Maximum available budget.
|
* Maximum available budget.
|
||||||
*
|
*
|
||||||
* 0 = infinite budget
|
* 0 = infinite budget
|
||||||
*
|
*
|
||||||
* If a budget is defined and the optimal order is > than the available budget,
|
* If a budget is defined and the optimal order is > than the available budget,
|
||||||
* the algorithm will try to order as many different items as possible.
|
* the algorithm will try to order as many different items as possible.
|
||||||
*
|
*
|
||||||
* If not all items can be ordered will try to order the items with the highest profit.
|
* If not all items can be ordered will try to order the items with the highest profit.
|
||||||
*
|
*
|
||||||
* @var int
|
* @var int
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public int $maxAvailableBudget = 0;
|
public int $maxAvailableBudget = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* item data for algorithm:
|
* item data for algorithm:
|
||||||
* number
|
* number
|
||||||
* name
|
* name
|
||||||
* purchase price per volume
|
* purchase price per volume
|
||||||
* minimum quantity per volume
|
* minimum quantity per volume
|
||||||
* delivery time / lead time
|
* delivery time / lead time
|
||||||
* in-house processing time (e.g. qs time, labelling, packaging)
|
* in-house processing time (e.g. qs time, labelling, packaging)
|
||||||
* ordered (order confirmations)
|
* ordered (order confirmations)
|
||||||
* stock available
|
* stock available
|
||||||
* offers
|
* offers
|
||||||
* avg. profit
|
* avg. profit
|
||||||
* demand in period N
|
* demand in period N
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* PHP Version 8.0
|
* PHP Version 8.0
|
||||||
*
|
*
|
||||||
* @package Modules\Purchase\Models\OrderSuggestion
|
* @package Modules\Purchase\OrderSuggestion
|
||||||
* @copyright Dennis Eichhorn
|
* @copyright Dennis Eichhorn
|
||||||
* @license OMS License 1.0
|
* @license OMS License 1.0
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
|
|
@ -19,7 +19,7 @@ use phpOMS\Stdlib\Base\Enum;
|
||||||
/**
|
/**
|
||||||
* Suggestion type enum.
|
* Suggestion type enum.
|
||||||
*
|
*
|
||||||
* @package Modules\Purchase\Models\OrderSuggestion
|
* @package Modules\Purchase\OrderSuggestion
|
||||||
* @license OMS License 1.0
|
* @license OMS License 1.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* PHP Version 8.0
|
* PHP Version 8.0
|
||||||
*
|
*
|
||||||
* @package Modules\Purchase\Models\OrderSuggestion
|
* @package Modules\Purchase\OrderSuggestion
|
||||||
* @copyright Dennis Eichhorn
|
* @copyright Dennis Eichhorn
|
||||||
* @license OMS License 1.0
|
* @license OMS License 1.0
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
|
|
@ -19,7 +19,7 @@ use phpOMS\Stdlib\Base\Enum;
|
||||||
/**
|
/**
|
||||||
* Suggestion type enum.
|
* Suggestion type enum.
|
||||||
*
|
*
|
||||||
* @package Modules\Purchase\Models\OrderSuggestion
|
* @package Modules\Purchase\OrderSuggestion
|
||||||
* @license OMS License 1.0
|
* @license OMS License 1.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* PHP Version 8.0
|
* PHP Version 8.0
|
||||||
*
|
*
|
||||||
* @package Modules\Purchase\Models\OrderSuggestion
|
* @package Modules\Purchase\OrderSuggestion
|
||||||
* @copyright Dennis Eichhorn
|
* @copyright Dennis Eichhorn
|
||||||
* @license OMS License 1.0
|
* @license OMS License 1.0
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
|
|
@ -19,7 +19,7 @@ use phpOMS\Stdlib\Base\Enum;
|
||||||
/**
|
/**
|
||||||
* Suggestion type enum.
|
* Suggestion type enum.
|
||||||
*
|
*
|
||||||
* @package Modules\Purchase\Models\OrderSuggestion
|
* @package Modules\Purchase\OrderSuggestion
|
||||||
* @license OMS License 1.0
|
* @license OMS License 1.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* PHP Version 8.0
|
* PHP Version 8.0
|
||||||
*
|
*
|
||||||
* @package Modules\Purchase\Models\OrderSuggestion
|
* @package Modules\Purchase\OrderSuggestion
|
||||||
* @copyright Dennis Eichhorn
|
* @copyright Dennis Eichhorn
|
||||||
* @license OMS License 1.0
|
* @license OMS License 1.0
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
|
|
@ -19,7 +19,7 @@ use phpOMS\Stdlib\Base\Enum;
|
||||||
/**
|
/**
|
||||||
* Suggestion type enum.
|
* Suggestion type enum.
|
||||||
*
|
*
|
||||||
* @package Modules\Purchase\Models\OrderSuggestion
|
* @package Modules\Purchase\OrderSuggestion
|
||||||
* @license OMS License 1.0
|
* @license OMS License 1.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
],
|
],
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": ">=9.4",
|
"phpunit/phpunit": ">=9.4",
|
||||||
"friendsofphp/php-cs-fixer": ">=2.18",
|
"friendsofphp/php-cs-fixer": ">=3.0",
|
||||||
"squizlabs/php_codesniffer": ">=3.5",
|
"squizlabs/php_codesniffer": ">=3.5",
|
||||||
"phpmd/phpmd": ">=2.9",
|
"phpmd/phpmd": ">=2.9",
|
||||||
"phpstan/phpstan": ">=0.12.58",
|
"phpstan/phpstan": ">=0.12.58",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user