120 lines
11 KiB
PHP
120 lines
11 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\BudgetController;
|
|
use App\Http\Controllers\BudgetReinforcementController;
|
|
use App\Http\Controllers\CompanyController;
|
|
use App\Http\Controllers\ConflictDeclarationController;
|
|
use App\Http\Controllers\EquipmentController;
|
|
use App\Http\Controllers\ExternalPaymentController;
|
|
use App\Http\Controllers\GoodsReceiptController;
|
|
use App\Http\Controllers\InvestmentPolicyController;
|
|
use App\Http\Controllers\InvoiceController;
|
|
use App\Http\Controllers\ProposalOpeningController;
|
|
use App\Http\Controllers\PurchaseControlController;
|
|
use App\Http\Controllers\PurchaseController;
|
|
use App\Http\Controllers\PurchasePlanningController;
|
|
use App\Http\Controllers\PurchaseProcessController;
|
|
use App\Http\Controllers\QuotationController;
|
|
use App\Http\Controllers\RequisitionController;
|
|
use App\Http\Controllers\StockController;
|
|
use App\Http\Controllers\StockOperationController;
|
|
use App\Http\Controllers\SupplierBankController;
|
|
use App\Http\Controllers\SupplierController;
|
|
use App\Http\Controllers\SupplierDocumentController;
|
|
use App\Http\Middleware\EnsureCompanyIsConfigured;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::inertia('/', 'home', ['auth' => ['user' => null]])->name('home');
|
|
require __DIR__.'/preview.php';
|
|
|
|
Route::middleware(['auth', 'verified'])->group(function () {
|
|
Route::get('dashboard', [RequisitionController::class, 'dashboard'])->name('dashboard');
|
|
Route::get('empresa/iniciar', [CompanyController::class, 'setup'])->name('company.setup');
|
|
Route::post('empresa/iniciar', [CompanyController::class, 'store'])->name('company.store');
|
|
|
|
Route::middleware(EnsureCompanyIsConfigured::class)->group(function () {
|
|
Route::get('requisicoes/{requisition}/abertura', [ProposalOpeningController::class, 'show'])->name('openings.show');
|
|
Route::post('requisicoes/{requisition}/abertura', [ProposalOpeningController::class, 'store']);
|
|
Route::get('actas/{opening}/imprimir', [ProposalOpeningController::class, 'print'])->name('openings.print');
|
|
Route::get('planeamento', [PurchasePlanningController::class, 'index'])->name('planning.index');
|
|
Route::post('planeamento', [PurchasePlanningController::class, 'store']);
|
|
Route::post('planeamento/{item}/responsavel', [PurchasePlanningController::class, 'assign']);
|
|
Route::post('planeamento/{item}/requisicao', [PurchasePlanningController::class, 'link']);
|
|
Route::post('planeamento/{item}/marcos', [PurchasePlanningController::class, 'milestone']);
|
|
Route::patch('planeamento/marcos/{milestone}', [PurchasePlanningController::class, 'update']);
|
|
Route::get('requisicoes/{requisition}/processo', [PurchaseProcessController::class, 'show'])->name('purchases.process');
|
|
Route::get('revisao-compras', [PurchaseControlController::class, 'index'])->name('purchase-controls.index');
|
|
Route::post('revisao-compras/politicas', [PurchaseControlController::class, 'propose']);
|
|
Route::post('revisao-compras/politicas/{policy}/decidir', [PurchaseControlController::class, 'policyReview']);
|
|
Route::post('adjudicacoes/{award}/cancelamento', [PurchaseControlController::class, 'cancel']);
|
|
Route::post('cancelamentos/{cancellation}/decidir', [PurchaseControlController::class, 'review']);
|
|
Route::post('cancelamentos/{cancellation}/revisao', [PurchaseControlController::class, 'revise']);
|
|
Route::get('regras-investimento', [InvestmentPolicyController::class, 'index'])->name('investment.index');
|
|
Route::post('regras-investimento', [InvestmentPolicyController::class, 'store'])->name('investment.store');
|
|
Route::post('regras-investimento/{policy}/decidir', [InvestmentPolicyController::class, 'review'])->name('investment.review');
|
|
Route::post('orcamentos/{budget}/reforcos', [BudgetReinforcementController::class, 'store'])->name('budgets.reinforcements.store');
|
|
Route::post('reforcos/{reinforcement}/decidir', [BudgetReinforcementController::class, 'review'])->name('budgets.reinforcements.review');
|
|
Route::get('pagamentos', [ExternalPaymentController::class, 'index'])->name('payments.index');
|
|
Route::post('facturas/{invoice}/pagamentos', [ExternalPaymentController::class, 'store'])->name('payments.store');
|
|
Route::post('pagamentos/{payment}/conferir', [ExternalPaymentController::class, 'review'])->name('payments.review');
|
|
Route::get('fornecedores/{supplier}/dados-bancarios', [SupplierBankController::class, 'show'])->name('suppliers.bank');
|
|
Route::post('fornecedores/{supplier}/dados-bancarios', [SupplierBankController::class, 'store'])->name('suppliers.bank.store');
|
|
Route::post('fornecedores/{supplier}/dados-bancarios/{detail}/validar', [SupplierBankController::class, 'review'])->name('suppliers.bank.review');
|
|
Route::get('facturas', [InvoiceController::class, 'index'])->name('invoices.index');
|
|
Route::post('ordens/{order}/facturas', [InvoiceController::class, 'store'])->name('invoices.store');
|
|
Route::post('facturas/{invoice}/validar', [InvoiceController::class, 'validateInvoice'])->name('invoices.validate');
|
|
Route::get('orcamentos', [BudgetController::class, 'index'])->name('budgets.index');
|
|
Route::post('orcamentos', [BudgetController::class, 'store'])->name('budgets.store');
|
|
Route::post('orcamentos/{budget}/aprovar', [BudgetController::class, 'approve'])->name('budgets.approve');
|
|
Route::get('equipamentos', [EquipmentController::class, 'index'])->name('equipment.index');
|
|
Route::post('equipamentos/{kind}', [EquipmentController::class, 'store'])->name('equipment.store');
|
|
Route::post('requisicoes/{requisition}/validacao-tecnica', [RequisitionController::class, 'technical'])->name('requisitions.technical');
|
|
Route::get('recepcoes', [GoodsReceiptController::class, 'index'])->name('receipts.index');
|
|
Route::get('ordens/{order}/recepcoes', [GoodsReceiptController::class, 'order'])->name('receipts.order');
|
|
Route::post('ordens/{order}/recepcoes', [GoodsReceiptController::class, 'store'])->name('receipts.store');
|
|
Route::get('recepcoes/{receipt}', [GoodsReceiptController::class, 'show'])->name('receipts.show');
|
|
Route::get('stock', [StockController::class, 'index'])->name('stock.index');
|
|
Route::get('stock/operacoes', [StockOperationController::class, 'index'])->name('stock.operations');
|
|
Route::post('stock/operacoes', [StockOperationController::class, 'store'])->name('stock.operations.store');
|
|
Route::post('stock/artigos', [StockController::class, 'item'])->name('stock.items');
|
|
Route::post('stock/armazens', [StockController::class, 'warehouse'])->name('stock.warehouses');
|
|
Route::get('requisicoes/{requisition}/adjudicacao', [PurchaseController::class, 'award'])->name('purchases.award');
|
|
Route::post('requisicoes/{requisition}/adjudicacao', [PurchaseController::class, 'select'])->name('purchases.select');
|
|
Route::post('adjudicacoes/{award}/decidir', [PurchaseController::class, 'decide'])->name('purchases.decide');
|
|
Route::post('adjudicacoes/{award}/emitir', [PurchaseController::class, 'issue'])->name('purchases.issue');
|
|
Route::get('ordens', [PurchaseController::class, 'index'])->name('orders.index');
|
|
Route::get('ordens/{order}', [PurchaseController::class, 'show'])->name('orders.show');
|
|
Route::get('ordens/{order}/imprimir', [PurchaseController::class, 'print'])->name('orders.print');
|
|
Route::get('conflitos', [ConflictDeclarationController::class, 'index'])->name('conflicts.index');
|
|
Route::post('conflitos', [ConflictDeclarationController::class, 'store'])->name('conflicts.store');
|
|
Route::get('conflitos/{declaration}', [ConflictDeclarationController::class, 'show'])->name('conflicts.show');
|
|
Route::put('conflitos/{declaration}', [ConflictDeclarationController::class, 'update'])->name('conflicts.update');
|
|
Route::get('fornecedores', [SupplierController::class, 'index'])->name('suppliers.index');
|
|
Route::post('fornecedores', [SupplierController::class, 'store'])->name('suppliers.store');
|
|
Route::get('fornecedores/{supplier}', [SupplierController::class, 'show'])->name('suppliers.show');
|
|
Route::get('fornecedores/{supplier}/editar', [SupplierController::class, 'edit'])->name('suppliers.edit');
|
|
Route::put('fornecedores/{supplier}', [SupplierController::class, 'update'])->name('suppliers.update');
|
|
Route::post('fornecedores/{supplier}/documentos', [SupplierDocumentController::class, 'store'])->middleware('throttle:20,1')->name('suppliers.documents.store');
|
|
Route::get('fornecedores/{supplier}/documentos/{document}', [SupplierDocumentController::class, 'download'])->name('suppliers.documents.download');
|
|
Route::post('fornecedores/{supplier}/validar', [SupplierController::class, 'review'])->name('suppliers.review');
|
|
Route::get('cotacoes', [QuotationController::class, 'index'])->name('quotations.index');
|
|
Route::get('requisicoes/{requisition}/cotacoes', [QuotationController::class, 'show'])->name('quotations.show');
|
|
Route::post('requisicoes/{requisition}/cotacoes', [QuotationController::class, 'store'])->name('quotations.store');
|
|
Route::post('cotacoes/{quotation}/avaliar', [QuotationController::class, 'evaluate'])->name('quotations.evaluate');
|
|
Route::get('empresa', [CompanyController::class, 'index'])->name('company.index');
|
|
Route::post('empresa/departamentos', [CompanyController::class, 'department'])->name('company.departments');
|
|
Route::post('empresa/centros-de-custo', [CompanyController::class, 'costCenter'])->name('company.cost-centers');
|
|
Route::post('empresa/utilizadores', [CompanyController::class, 'user'])->name('company.users');
|
|
Route::get('requisicoes', [RequisitionController::class, 'index'])->name('requisitions.index');
|
|
Route::get('requisicoes/criar', [RequisitionController::class, 'create'])->name('requisitions.create');
|
|
Route::post('requisicoes', [RequisitionController::class, 'store'])->name('requisitions.store');
|
|
Route::get('requisicoes/{requisition}', [RequisitionController::class, 'show'])->name('requisitions.show');
|
|
Route::get('requisicoes/{requisition}/editar', [RequisitionController::class, 'edit'])->name('requisitions.edit');
|
|
Route::put('requisicoes/{requisition}', [RequisitionController::class, 'update'])->name('requisitions.update');
|
|
Route::post('requisicoes/{requisition}/submeter', [RequisitionController::class, 'submit'])->name('requisitions.submit');
|
|
Route::post('requisicoes/{requisition}/decidir', [RequisitionController::class, 'decide'])->name('requisitions.decide');
|
|
});
|
|
});
|
|
|
|
require __DIR__.'/settings.php';
|