58 lines
1.7 KiB
PHP
58 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace Modules\IndustrialEngineering\Domain;
|
|
|
|
/**
|
|
* Bounded contexts within the Industrial Engineering digital thread.
|
|
*
|
|
* Each context owns a set of ie_* tables and defines clear integration
|
|
* boundaries with external UltimatePOS modules.
|
|
*/
|
|
final class BoundedContext
|
|
{
|
|
public const MASTER_DATA = 'master_data';
|
|
|
|
public const BOM_CONFIGURATION = 'bom_configuration';
|
|
|
|
public const COSTING_RELEASE = 'costing_release';
|
|
|
|
public const SERIALIZATION = 'serialization';
|
|
|
|
public const INSTALLED_BASE = 'installed_base';
|
|
|
|
public const SOURCING = 'sourcing';
|
|
|
|
public const COMPETITIVE_RESEARCH = 'competitive_research';
|
|
|
|
public const ASSET_EXCHANGE = 'asset_exchange';
|
|
|
|
public static function all(): array
|
|
{
|
|
return [
|
|
self::MASTER_DATA,
|
|
self::BOM_CONFIGURATION,
|
|
self::COSTING_RELEASE,
|
|
self::SERIALIZATION,
|
|
self::INSTALLED_BASE,
|
|
self::SOURCING,
|
|
self::COMPETITIVE_RESEARCH,
|
|
self::ASSET_EXCHANGE,
|
|
];
|
|
}
|
|
|
|
public static function label(string $context): string
|
|
{
|
|
return match ($context) {
|
|
self::MASTER_DATA => 'Item Master & Catalog',
|
|
self::BOM_CONFIGURATION => 'BOM & Line Configuration',
|
|
self::COSTING_RELEASE => 'Costing & Release to Production',
|
|
self::SERIALIZATION => 'Serialization & As-Built',
|
|
self::INSTALLED_BASE => 'Installed Base & Commissioning',
|
|
self::SOURCING => 'Holding-wide Sourcing & Procurement',
|
|
self::COMPETITIVE_RESEARCH => 'Competitive Intelligence & R&D',
|
|
self::ASSET_EXCHANGE => 'Asset Exchange & Used Machinery Marketplace',
|
|
default => $context,
|
|
};
|
|
}
|
|
}
|