139 lines
9.8 KiB
PHP
139 lines
9.8 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use Modules\IndustrialEngineering\Http\Controllers\Api\V1\IndustrialEngineeringApiController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\BomController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\CostScenarioController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\DashboardController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\InstallController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\InstalledAssetController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\ItemMasterController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\LineOperationsController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\MrpController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\LineRevisionController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\BomStructureController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\ProductionLineController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\ProductHubController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\ReleasePackageController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\ResearchProjectController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\EngineeringChangeOrderController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\SerializedUnitController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\SourcingController;
|
|
use Modules\IndustrialEngineering\Http\Controllers\CpqController;
|
|
|
|
Route::middleware('web', 'authh', 'auth', 'SetSessionData', 'language', 'timezone', 'AdminSidebarMenu')
|
|
->prefix('industrial-engineering')
|
|
->group(function () {
|
|
Route::get('/install', [InstallController::class, 'index']);
|
|
Route::post('/install', [InstallController::class, 'install']);
|
|
Route::get('/install/uninstall', [InstallController::class, 'uninstall']);
|
|
Route::get('/install/update', [InstallController::class, 'update']);
|
|
|
|
Route::get('/dashboard', [DashboardController::class, 'index']);
|
|
|
|
Route::get('/item-masters', [ItemMasterController::class, 'index']);
|
|
Route::get('/item-masters/create', [ItemMasterController::class, 'create']);
|
|
Route::post('/item-masters', [ItemMasterController::class, 'store']);
|
|
Route::get('/item-masters/{id}', [ItemMasterController::class, 'show']);
|
|
|
|
Route::get('/production-lines', [ProductionLineController::class, 'index']);
|
|
Route::get('/production-lines/{id}/structure', [ProductionLineController::class, 'structure']);
|
|
|
|
Route::post('/production-lines/{id}/live-cost', [LineOperationsController::class, 'liveCostAnalysis']);
|
|
Route::get('/mrp', [MrpController::class, 'index']);
|
|
Route::post('/mrp/run', [MrpController::class, 'run']);
|
|
Route::post('/production-lines/{id}/run-mrp', [LineOperationsController::class, 'runMrp']);
|
|
Route::post('/production-lines/{id}/sync-cmms', [LineOperationsController::class, 'syncCmms']);
|
|
Route::post('/production-lines/{id}/resolve-connections', [LineOperationsController::class, 'resolveConnections']);
|
|
|
|
Route::get('/bom-structure/{bomId}/tree', [BomStructureController::class, 'tree']);
|
|
Route::post('/bom-structure/{bomId}/nodes', [BomStructureController::class, 'storeNode']);
|
|
Route::post('/bom-structure/{bomId}/move', [BomStructureController::class, 'move']);
|
|
Route::put('/bom-structure/nodes/{lineId}', [BomStructureController::class, 'updateNode']);
|
|
Route::delete('/bom-structure/nodes/{lineId}', [BomStructureController::class, 'destroyNode']);
|
|
Route::post('/bom-structure/{bomId}/duplicate-branch', [BomStructureController::class, 'duplicateBranch']);
|
|
Route::post('/bom-structure/quick-item', [BomStructureController::class, 'quickCreateItem']);
|
|
Route::get('/bom-structure/{bomId}/templates', [BomStructureController::class, 'listTemplates']);
|
|
Route::post('/bom-structure/{bomId}/apply-template', [BomStructureController::class, 'applyTemplate']);
|
|
Route::post('/bom-structure/{bomId}/bulk-nodes', [BomStructureController::class, 'bulkAddNodes']);
|
|
Route::post('/bom-structure/templates', [BomStructureController::class, 'saveTemplate']);
|
|
Route::delete('/bom-structure/templates/{id}', [BomStructureController::class, 'destroyTemplate']);
|
|
|
|
Route::get('/products', [ProductHubController::class, 'index']);
|
|
Route::get('/products/create', [ProductHubController::class, 'create']);
|
|
Route::post('/products', [ProductHubController::class, 'store']);
|
|
Route::get('/products/{id}', [ProductHubController::class, 'show']);
|
|
Route::post('/products/{id}/lines', [ProductHubController::class, 'storeLine']);
|
|
Route::post('/products/{platformId}/revisions/{revisionId}/machines', [ProductHubController::class, 'storeMachine']);
|
|
Route::post('/products/{platformId}/bom-lines/{parentLineId}/parts', [ProductHubController::class, 'storePart']);
|
|
|
|
Route::redirect('/platforms', '/industrial-engineering/products');
|
|
Route::get('/platforms/create', fn () => redirect()->action([ProductHubController::class, 'create']));
|
|
Route::post('/platforms', [ProductHubController::class, 'store']);
|
|
Route::get('/platforms/{id}', fn ($id) => redirect()->action([ProductHubController::class, 'show'], $id));
|
|
|
|
Route::get('/line-revisions', [LineRevisionController::class, 'index']);
|
|
Route::get('/line-revisions/create', [LineRevisionController::class, 'create']);
|
|
Route::post('/line-revisions', [LineRevisionController::class, 'store']);
|
|
Route::get('/line-revisions/{id}', [LineRevisionController::class, 'show']);
|
|
|
|
Route::get('/engineering-changes', [EngineeringChangeOrderController::class, 'index']);
|
|
Route::get('/engineering-changes/create', [EngineeringChangeOrderController::class, 'create']);
|
|
Route::post('/engineering-changes', [EngineeringChangeOrderController::class, 'store']);
|
|
Route::get('/engineering-changes/{id}', [EngineeringChangeOrderController::class, 'show']);
|
|
Route::post('/engineering-changes/{id}/status', [EngineeringChangeOrderController::class, 'updateStatus']);
|
|
|
|
Route::get('/boms', [BomController::class, 'index']);
|
|
Route::get('/boms/create', [BomController::class, 'create']);
|
|
Route::post('/boms', [BomController::class, 'store']);
|
|
Route::get('/boms/{id}', [BomController::class, 'show']);
|
|
Route::post('/boms/{id}/derive-sbom', [BomController::class, 'deriveSbom']);
|
|
Route::post('/boms/{id}/lines', [BomController::class, 'storeLine']);
|
|
|
|
Route::get('/cost-scenarios', [CostScenarioController::class, 'index']);
|
|
Route::get('/cost-scenarios/create', [CostScenarioController::class, 'create']);
|
|
Route::post('/cost-scenarios', [CostScenarioController::class, 'store']);
|
|
Route::get('/cost-scenarios/{id}', [CostScenarioController::class, 'show']);
|
|
Route::post('/cost-scenarios/compare', [CostScenarioController::class, 'compare']);
|
|
|
|
Route::get('/release-packages', [ReleasePackageController::class, 'index']);
|
|
Route::get('/release-packages/create', [ReleasePackageController::class, 'create']);
|
|
Route::post('/release-packages', [ReleasePackageController::class, 'store']);
|
|
Route::get('/release-packages/{id}', [ReleasePackageController::class, 'show']);
|
|
Route::post('/release-packages/{id}/signoff', [ReleasePackageController::class, 'signoff']);
|
|
Route::post('/release-packages/{id}/release', [ReleasePackageController::class, 'release']);
|
|
Route::post('/release-packages/{id}/work-orders', [ReleasePackageController::class, 'createWorkOrder']);
|
|
|
|
Route::get('/serialized-units', [SerializedUnitController::class, 'index']);
|
|
Route::get('/serialized-units/create', [SerializedUnitController::class, 'create']);
|
|
Route::post('/serialized-units', [SerializedUnitController::class, 'store']);
|
|
Route::get('/serialized-units/{id}', [SerializedUnitController::class, 'show']);
|
|
Route::post('/serialized-units/{id}/components', [SerializedUnitController::class, 'addComponent']);
|
|
Route::post('/serialized-units/{id}/complete', [SerializedUnitController::class, 'completeBuild']);
|
|
|
|
Route::get('/installed-assets', [InstalledAssetController::class, 'index']);
|
|
Route::get('/lookup', [InstalledAssetController::class, 'lookup']);
|
|
Route::get('/installed-assets/{id}', [InstalledAssetController::class, 'show']);
|
|
Route::post('/installed-assets/register', [InstalledAssetController::class, 'registerFromUnit']);
|
|
Route::post('/installed-assets/{id}/sync-maintenance', [InstalledAssetController::class, 'syncMaintenance']);
|
|
|
|
Route::get('/sourcing', [SourcingController::class, 'index']);
|
|
Route::get('/sourcing/create', [SourcingController::class, 'create']);
|
|
Route::post('/sourcing', [SourcingController::class, 'store']);
|
|
Route::get('/sourcing/{id}', [SourcingController::class, 'show']);
|
|
Route::get('/sourcing/stock/search', [SourcingController::class, 'searchStock']);
|
|
|
|
Route::get('/research', [ResearchProjectController::class, 'index']);
|
|
Route::get('/research/create', [ResearchProjectController::class, 'create']);
|
|
Route::post('/research', [ResearchProjectController::class, 'store']);
|
|
Route::get('/research/{id}', [ResearchProjectController::class, 'show']);
|
|
Route::post('/research/{id}/competitors', [ResearchProjectController::class, 'addCompetitor']);
|
|
|
|
Route::get('/cpq', [CpqController::class, 'index']);
|
|
Route::get('/cpq/create', [CpqController::class, 'create']);
|
|
Route::get('/cpq/platforms/{platformId}/configure', [CpqController::class, 'configure']);
|
|
Route::post('/cpq', [CpqController::class, 'store']);
|
|
Route::get('/cpq/{id}', [CpqController::class, 'show']);
|
|
Route::post('/cpq/{id}/quote', [CpqController::class, 'quote']);
|
|
});
|