<?php
namespace Modules\Commande;

use Modules\Commande\Controller\AccRecepController;
use Modules\Commande\Controller\ExportCommandeController;
use Modules\Commande\Controller\ImportLigneCommandeController;
use Modules\Commande\Controller\ImputationController;
use Modules\Commande\Controller\PlanningController;
use Modules\Commande\Controller\WorkflowController;
use Skeleton\Router;
use Skeleton\Module;
use Psr\Container\ContainerInterface;
use Skeleton\Renderer\RendererInterface;
use Helpers\Parametres\Parametres;
use Modules\Commande\Controller\GestionCommandeController;
use Modules\Commande\Controller\ImpressionCommandeController;
use Modules\Commande\Controller\CommandeEventController;
use Modules\Commande\Controller\AjaxGestionCommandeController;
use Modules\Commande\Controller\CommandeController;
use Modules\Commande\Controller\InteractionsController;
use Modules\Commande\Controller\ArticleCommandeController;
use Modules\Commande\Controller\PieceJointeController;
use Modules\Commande\Controller\IndexController;
use Modules\Commande\Controller\ClauseController;
use Modules\Commande\Controller\CreationCommandeController;
use Modules\Commande\Controller\AjaxCreationCommandeController;
use Modules\Commande\Controller\PopupCreationCommandeController;
use Modules\Commande\Controller\ModificationCommandeController;
use Modules\Commande\Controller\TermeDePaiementCommandeController;
use Modules\Commande\Controller\ListeCommandeController;
use Modules\Commande\Controller\EditionCommandeController;
use Modules\Commande\Controller\GareDeTriageController;
use Modules\Commande\Controller\NotationCommandeController;
use Modules\Commande\Controller\solderCommandeController;
use Modules\Commande\Controller\ModeleController;
use Modules\Commande\Controller\AjaxModificationCommandeController;
use Modules\Commande\Controller\DuplicationCommandeController;
use Modules\Commande\Controller\ModificationLigneCommandeController;
use Modules\Commande\Controller\ModificationClauseController;
use Modules\Commande\Controller\ProjetGareDeTriageController;
use Modules\Commande\Controller\ValidatorLigneCdeController;

class CommandeModule extends Module
{

    const DEFINITIONS = __DIR__ . '/config.php';

    public function __construct(ContainerInterface $container)
    {
        $container->get(RendererInterface::class)->addPath('Commande', __DIR__ . '/views');
        
        $router = $container->get(Router::class);
        
        $parametres = new Parametres();
        $global     = $parametres->expression_global;
        $commande   = $parametres->id_commande;
        $num        = $parametres->expression_decimal;

        $urlCommande = $container->get('baseUrl') . $container->get('Commande.prefix');


        /*
         * Document -> GlobalApplication
        */
        
        /** ****************** **/
        /** Menu intermediaire **/
        $router->get($urlCommande. '/menuIntermediaire/ligneCde', IndexController::class, 'Commande.Index.menuIntermediaireListeCde');
        $router->get($urlCommande. '/menuIntermediaire/edition', IndexController::class, 'Commande.Index.menuIntermediaireEdition');
        
        
        /** **************** **/
        /** Gestion commande **/
        $router->get($urlCommande. '[/index/{onglet:'.$global.'+}]', GestionCommandeController::class, 'Commande.GestionCommande.index');
        $router->get($urlCommande. '/detailLigne/{idCommande:'.$commande.'+}[/{origine:'.$global.'+}]', GestionCommandeController::class, 'Commande.GestionCommande.detailCommande');
        $router->get($urlCommande. '/detailLigneCommande/{idCommande:'.$commande.'+}/{idLigne:'.$commande.'+}[/{origine:'.$global.'+}]', GestionCommandeController::class, 'Commande.GestionCommande.detailLigneCommande');

        
        $router->get($urlCommande. '/blocNote/{idCommande:'.$commande.'+}', GestionCommandeController::class, 'Commande.GestionCommande.blocNote');

        $router->get($urlCommande. '/supprimer/{idCommande:'.$commande.'+}', AjaxGestionCommandeController::class, 'Commande.ajaxGestionCommande.suppresionCommande');
        $router->get($urlCommande. '/devalider/{idCommande:'.$commande.'+}', AjaxGestionCommandeController::class, 'Commande.ajaxGestionCommande.devaliderCommande');
        
        $router->get($urlCommande. '/popup/annuler/{idCommande:'.$commande.'+}', AjaxGestionCommandeController::class, 'Commande.ajaxGestionCommande.popupAnnulerCommande');
        $router->get($urlCommande. '/annuler/{idCommande:'.$commande.'+}', AjaxGestionCommandeController::class, 'Commande.ajaxGestionCommande.annulerCommande');
        
        $router->get($urlCommande. '/popupExport/Cde[/{origin:'.$global.'+}]', ExportCommandeController::class, 'Commande.GestionCommande.popupExport');
        $router->get($urlCommande. '/export/Cde[/{origin:'.$global.'+}]', ExportCommandeController::class, 'Commande.GestionCommande.exportCde');
        
        $router->get($urlCommande. '/impressionPdf/{mode:'.$global.'+}/{idCommande:'.$commande.'+}', GestionCommandeController::class, 'Commande.GestionCommande.impressionPDF');
        
        $router->get($urlCommande. '/ajax/validate/{idCommande:'.$commande.'+}', GestionCommandeController::class, 'Commande.GestionCommande.ajaxValidate');
        $router->get($urlCommande. '/ajax/confirmValidate/{idCommande:'.$commande.'+}', GestionCommandeController::class, 'Commande.GestionCommande.ajaxConfirmValidate');
        $router->get($urlCommande. '/ajax/confirmSignataire/{idCommande:'.$commande.'+}', GestionCommandeController::class, 'Commande.GestionCommande.ajaxConfirmSignataire');
        $router->get($urlCommande. '/ajax/confirmationValidation/{idCommande:'.$commande.'+}/{origin:'.$commande.'+}', GestionCommandeController::class, 'Commande.GestionCommande.ajaxConfirmationValidationV2');
        $router->get($urlCommande. '/ajax/ajoutSignataire/{idCommande:'.$commande.'+}', GestionCommandeController::class, 'Commande.GestionCommande.ajaxAjoutSignataireApresValidation');
        
        $router->get($urlCommande. '/soldeFinancierLigne/{idCommande:'.$commande.'+}', CommandeController::class, 'Commande.Commande.soldeFinancierLigne');
        $router->get($urlCommande. '/ajax/soldeFinancierLigne/{idCommande:'.$commande.'+}', CommandeController::class, 'Commande.Commande.ajaxSolderFinancierLigne');
        $router->get($urlCommande. '/ajax/soldeFinancier/{idCommande:'.$commande.'+}', CommandeController::class, 'Commande.Commande.ajaxSolderFinancier');
        $router->get($urlCommande. '/popup/soldeFinancier/{idCommande:'.$commande.'+}', CommandeController::class, 'Commande.Commande.popupSolderFinancier');
        $router->get($urlCommande. '/{id:'.$commande.'+}/popup-planning', CommandeController::class, 'Commande.Commande.popupPlanning');
        
        $router->get($urlCommande. '/popup/avenant/create/{idCommande:'.$commande.'+}', GestionCommandeController::class, 'Commande.GestionCommande.popupCreateAvenant');
        $router->get($urlCommande. '/ajax/avenant/create/{idCommande:'.$commande.'+}', GestionCommandeController::class, 'Commande.GestionCommande.ajaxCreateAvenant');
        $router->get($urlCommande. '/popup/Planning/{idCommande:'.$commande.'+}/{idLigne:'.$commande.'+}[/previsionnelle/{previsionnelle:'.$commande.'+}]', GestionCommandeController::class, 'Commande.GestionCommande.popupPlanning');

        
        /** ******** **/
        /** Création **/
        /* Création Entête */
        $router->get($urlCommande. '/creation/entete[/{typeCde:'.$global.'+}/{numType:'.$global.'+}]', CreationCommandeController::class, 'Commande.CreationCommande.creation');
        $router->get($urlCommande. '/{mode:'.$global.'+}/validation[/{typeCde:'.$global.'+}/{numType:'.$global.'+}]', CreationCommandeController::class, 'Commande.CreationCommande.validation');
        
        $router->get($urlCommande. '/creation/popupDA', PopupCreationCommandeController::class, 'Commande.popupCreationCde.popupListeDA');
        $router->get($urlCommande. '/creation/validatorDA', AjaxCreationCommandeController::class, 'Commande.AjaxCreationCommande.validatorDA');
        $router->get($urlCommande. '/creation/popupListeligneDA', PopupCreationCommandeController::class, 'Commande.popupCreationCde.popupListeligneDA');
        
        $router->get($urlCommande. '/creation/popupAO', PopupCreationCommandeController::class, 'Commande.popupCreationCde.popupListeAO');
        $router->get($urlCommande. '/creation/validatorAO', AjaxCreationCommandeController::class, 'Commande.AjaxCreationCommande.validatorAO');
        $router->get($urlCommande. '/creation/popupFournisseurAO', PopupCreationCommandeController::class, 'Commande.popupCreationCde.popupListefournisseurAO');
        
        $router->get($urlCommande. '/creation/validatorFrs', AjaxCreationCommandeController::class, 'Commande.AjaxCreationCommande.validatorFrs');

        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/duplicate', DuplicationCommandeController::class, 'Commande.CreationCommande.formDuplicate');
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/ajax/duplicate', DuplicationCommandeController::class, 'Commande.CreationCommande.duplicate');
        
        
        /* Création ligne */
        $router->get($urlCommande. '/creation/ajaxLigne/{idCommande:'.$commande.'+}', ModificationLigneCommandeController::class, 'Commande.ModificationLigneCommande.ajaxAjoutLigneCde');
        $router->get($urlCommande. '/creation/updateLigne/{idCommande:'.$commande.'+}/{origine:'.$commande.'+}', ModificationLigneCommandeController::class, 'Commande.ModificationLigneCommande.updateLigne');
        $router->get($urlCommande. '/validation/ligne/{idCommande:'.$commande.'+}', ModificationLigneCommandeController::class, 'Commande.ModificationLigneCommande.validationLigneCommande');
        $router->get($urlCommande. '/annulation/ligne/{idCommande:'.$commande.'+}', ModificationLigneCommandeController::class, 'Commande.ModificationLigneCommande.annulationLigneCommande');
        $router->get($urlCommande. '/modification/ligne/{idCommande:'.$commande.'+}', ModificationLigneCommandeController::class, 'Commande.ModificationLigneCommande.ajaxModificationLigne');
        $router->get($urlCommande. '/modification/ligne/indexation/{idCommande:'.$commande.'+}', ModificationLigneCommandeController::class, 'Commande.ModificationLigneCommande.ajaxModificationOrdre');
        $router->get($urlCommande. '/DELETE/ligne/{idCommande:'.$commande.'+}/{idLigne:'.$commande.'+}', ModificationLigneCommandeController::class, 'Commande.ModificationLigneCommande.delete');
        $router->get($urlCommande. '/modification/ligne/ajax/addLignePlanning', ModificationLigneCommandeController::class, 'Commande.ModificationLigneCommande.ajaxAddLignePlanning');
        $router->get($urlCommande. '/ajax/calculBestPrix/{idCommande:'.$commande.'+}', ModificationLigneCommandeController::class, 'Commande.ModificationLigneCommande.ajaxCalculBestPrix');
        $router->get($urlCommande. '/ajax/calculPlanning', ModificationLigneCommandeController::class, 'Commande.ModificationLigneCommande.ajaxGeneratePlanning');
        
        $router->get($urlCommande. '/validator/saisie', ValidatorLigneCdeController::class, 'Commande.ValidatorLigneCde.validatorSaisie');
        
        /* modification entete */
        $router->get($urlCommande. '/modification/detailEntete/{idCommande:'.$commande.'+}[/onglet/{onglet:'.$global.'+}]', ModificationCommandeController::class, 'Commande.ModificationCommande.index');
        $router->get($urlCommande. '/validation/detailEntete/{idCommande:'.$commande.'+}', ModificationCommandeController::class, 'Commande.ModificationCommande.validationDetail');
        
        $router->get($urlCommande. '/modification/ajaxValueLivraison/{idCommande:'.$commande.'+}', AjaxModificationCommandeController::class, 'Commande.ModificationCommande.ajaxValueLivraison');
        $router->get($urlCommande. '/modification/ajaxValueContactFrs/{idCommande:'.$commande.'+}', AjaxModificationCommandeController::class, 'Commande.ModificationCommande.ajaxValueContactFrs');
        $router->get($urlCommande. '/modification/ajaxValueContactCentre/{idCommande:'.$commande.'+}/{numContact:'.$global.'+}', AjaxModificationCommandeController::class, 'Commande.ModificationCommande.ajaxValueContactCentre');
        $router->get($urlCommande. '/modification/ajaxValueContactTransitaire/{idCommande:'.$commande.'+}', AjaxModificationCommandeController::class, 'Commande.ModificationCommande.ajaxValueContactTransitaire');
        $router->get($urlCommande. '/modification/ajaxValueContactExport/{idCommande:'.$commande.'+}', AjaxModificationCommandeController::class, 'Commande.ModificationCommande.ajaxValueContactExport');
        
        $router->get($urlCommande. '/modification/ajaxValueAdresseFrs/{idCommande:'.$commande.'+}', AjaxModificationCommandeController::class, 'Commande.ModificationCommande.ajaxValueAdresseFrs');
        $router->get($urlCommande. '/modification/ajaxValueAdresseLiv/{idCommande:'.$commande.'+}', AjaxModificationCommandeController::class, 'Commande.ModificationCommande.ajaxValueAdresseLiv');
        $router->get($urlCommande. '/modification/ajaxValueAdresseFrsLiv/{idCommande:'.$commande.'+}', AjaxModificationCommandeController::class, 'Commande.ModificationCommande.ajaxValueAdresseFrsLiv');
        
        $router->get($urlCommande. '/modification/massImputation/{idCommande:'.$commande.'+}', ModificationCommandeController::class, 'Commande.ModificationCommande.editMassImputation');
        $router->get($urlCommande. '/modification/ajax/massImputation/{idCommande:'.$commande.'+}', ModificationCommandeController::class, 'Commande.ModificationCommande.ajaxEditMassImputation');
        $router->get($urlCommande. '/modification/editPrixLigne/{idCommande:'.$commande.'+}', ModificationCommandeController::class, 'Commande.ModificationCommande.editPrixLigne');
        $router->get($urlCommande. '/modification/ajax/editPrixLigne/{idCommande:'.$commande.'+}', ModificationCommandeController::class, 'Commande.ModificationCommande.ajaxEditPrixLigne');
        $router->get($urlCommande. '/modification/ajax/getValDevise', ModificationCommandeController::class, 'Commande.ModificationCommande.getValDevise');
        
        
        /* clause */
        $router->get($urlCommande. '/clause/creation/{idCommande:'.$commande.'+}', ModificationClauseController::class, 'Commande.ModificationClause.ajaxAjoutClause');
        $router->get($urlCommande. '/clause/validation/{idCommande:'.$commande.'+}', ModificationClauseController::class, 'Commande.ModificationClause.validationClause');
        $router->get($urlCommande. '/clause/suppresion/{idCommande:'.$commande.'+}', ModificationClauseController::class, 'Commande.ModificationClause.ajaxSuppresionClause');
        $router->get($urlCommande. '/clause/annulation/{idCommande:'.$commande.'+}', ModificationClauseController::class, 'Commande.ModificationClause.annulationClauseCommande');
        $router->get($urlCommande. '/clause/modificationOrdre/{idCommande:'.$commande.'+}', ModificationClauseController::class, 'Commande.ModificationClause.ajaxModificationOrdre');
        
        /** ************** **/
        /** Solde commandé **/
        $router->get($urlCommande. '/solde/physiquement/{idCommande:'.$commande.'+}', solderCommandeController::class, 'Commande.solderCommande.physiquement');
        $router->get($urlCommande. '/solde/physiquement/{idCommande:'.$commande.'+}/validation/{mode:'.$global.'+}', solderCommandeController::class, 'Commande.solderCommande.validationPhysique');
        
        /** ******** **/
        /** Commande **/
        $router->get($urlCommande. '/article/{idCommande:'.$commande.'+}[/histo/{idAvenant:'.$commande.'+}]', ArticleCommandeController::class, 'Commande.Commande.article');
        $router->get($urlCommande. '/article/{idCommande:'.$commande.'+}/{idLigne:'.$commande.'+}[/histo/{idAvenant:'.$commande.'+}]', ArticleCommandeController::class, 'Commande.Commande.detailArticle');

        $router->get($urlCommande. '/detail/{idCommande:'.$commande.'+}[/histo/{idAvenant:'.$commande.'+}]', CommandeController::class, 'Commande.Commande.commande');
       
        /** Interaction **/
        $router->get($urlCommande. '/interaction/{idCommande:'.$commande.'+}', InteractionsController::class, 'Commande.Interaction.interactions');
        
        /** Impression **/
        $router->get($urlCommande.'/impression/{idCommande:'.$commande.'+}/{routage:'.$global.'+}', ImpressionCommandeController::class, 'Commande.Commande.popupImpression');
        $router->get($urlCommande.'/expedition/{expId:'.$commande.'+}/impression[/{proforma:proforma}]', ImpressionCommandeController::class, 'Commande.Impression.impressionExpedition');
        $router->get($urlCommande.'/expedition/{expId:'.$commande.'+}/impression/colisage', ImpressionCommandeController::class, 'Commande.Impression.impressionExpeditionColisage');
        
        $router->get($urlCommande.'/{idCommande:'.$commande.'+}/ajax/Impression[/{routage:'.$global.'+}]', ImpressionCommandeController::class, 'Commande.Commande.ajaxImpression');
        $router->get($urlCommande.'/ajax/AjoutLigne', ImpressionCommandeController::class, 'Commande.Commande.ajoutLigneExemplaire');
        
        /** Suivi commande **/
        $router->get($urlCommande.'/{idCommande:'.$commande.'+}/event/popup-commande/AjoutEvenement', CommandeEventController::class, 'Commande.Event.ajoutEvenementCommande');
        $router->get($urlCommande.'/{idCommande:'.$commande.'+}/event/{numOrdre:'.$num.'+}/ajax-commande/suppresion', CommandeEventController::class, 'Commande.Event.suppressionEventCommande');
        $router->get($urlCommande.'/{idCommande:'.$commande.'+}/event/{numOrdre:'.$num.'+}/modification', CommandeEventController::class, 'Commande.Event.modificationtEvenementCommande');
        $router->get($urlCommande.'/{idCommande:'.$commande.'+}/event/export[/{MODULE:'.$global.'+}]', CommandeEventController::class, 'Commande.Event.export');
        $router->get($urlCommande.'/{idCommande:'.$commande.'+}/event[/{MODULE:'.$global.'+}]', CommandeEventController::class, 'Commande.Event.suivi');

        /** PJ **/
        $router->get($urlCommande.'/pieceJointe/{idCommande:'.$commande.'+}[/histo/{idAvenant:'.$commande.'+}]', PieceJointeController::class, 'Commande.PieceJointe.index');
        $router->get($urlCommande.'/pieceJointe/create/{idCommande:'.$commande.'+}', PieceJointeController::class, 'Commande.PieceJointe.create');
        $router->get($urlCommande.'/pieceJointe/edit/{idCommande:'.$commande.'+}', PieceJointeController::class, 'Commande.PieceJointe.edit');
        $router->get($urlCommande.'/pieceJointe/delete/{idCommande:'.$commande.'+}', PieceJointeController::class, 'Commande.PieceJointe.delete');

        /** Clause **/
        $router->get($urlCommande.'/clause/{idCommande:'.$commande.'+}[/histo/{idAvenant:'.$commande.'+}]', ClauseController::class, 'Commande.Clause.index');

        /** Termes de paiement **/
        $router->get($urlCommande.'/termesDePaiement/{idCommande:'.$commande.'+}/{MODULE:'.$global.'+}', TermeDePaiementCommandeController::class, 'Commande.TermeDePaiementCommande.index');

        /** ************** **/
        /** Liste commande **/
        $router->get($urlCommande. '/liste/ligneCde', ListeCommandeController::class, 'Commande.Liste.listeLigne');
        $router->get($urlCommande. '/liste/evenement', ListeCommandeController::class, 'Commande.Liste.listeEvenement');
        $router->get($urlCommande. '/liste/enteteNonValide', ListeCommandeController::class, 'Commande.Liste.listeEnteteNonValide');
        $router->get($urlCommande. '/liste/enteteHistorisees', ListeCommandeController::class, 'Commande.Liste.listeEnteteHistorisees');
        $router->get($urlCommande. '/liste/ligneHistorisees', ListeCommandeController::class, 'Commande.Liste.listeLigneHistorisees');
        
        $router->get($urlCommande. '/liste/ligneCde/export', ListeCommandeController::class, 'Commande.Liste.exportListeLigne');
        $router->get($urlCommande. '/liste/evenement/export', ListeCommandeController::class, 'Commande.Liste.exportListeEvenement');
        $router->get($urlCommande. '/liste/enteteNonValide/export', ListeCommandeController::class, 'Commande.Liste.exportListeEnteteNonValide');
        $router->get($urlCommande. '/liste/enteteHistorisees/export', ListeCommandeController::class, 'Commande.Liste.exportListeEnteteHistorisees');
        $router->get($urlCommande. '/liste/ligneHistorisees/export', ListeCommandeController::class, 'Commande.Liste.exportListeLigneHistorisees');
        
        $router->get($urlCommande. '/liste/detailLigneHisto/{idCommande:'.$commande.'+}/{avenant:'.$commande.'+}', ListeCommandeController::class, 'Commande.Liste.detailCommandeHisto');
        /** ***************** **/
        /** Editions commande **/
        $router->get($urlCommande. '/edition/enteteCde[/{mode:'.$global.'+}]', EditionCommandeController::class, 'Commande.edition.entete');
        $router->get($urlCommande. '/edition/enteteCdeHisto', EditionCommandeController::class, 'Commande.edition.enteteHisto');
        $router->get($urlCommande. '/edition/cdeSurLivraison', EditionCommandeController::class, 'Commande.edition.cdeSurLivraison');
        $router->get($urlCommande. '/edition/ligneCde', EditionCommandeController::class, 'Commande.edition.ligne');
        $router->get($urlCommande. '/edition/resume', EditionCommandeController::class, 'Commande.edition.resume');
        $router->get($urlCommande. '/edition/suiviAR', EditionCommandeController::class, 'Commande.edition.suiviAR');
        
        /** ************** **/
        /** Gare de triage **/
        $router->get($urlCommande. '/gareDeTriage', GareDeTriageController::class, 'Commande.GareDeTriage.index');
        $router->get($urlCommande. '/gareDeTriage/popup/critereRegroup', GareDeTriageController::class, 'Commande.GareDeTriage.popupCritereRegroup');
        $router->get($urlCommande. '/gareDeTriage/ajax/generateTooltip', GareDeTriageController::class, 'Commande.GareDeTriage.ajaxGenerateTooltip');
        $router->get($urlCommande. '/gareDeTriage/ajax/detailLigne/{idDa:'.$commande.'+}/{idLigne:'.$commande.'+}', GareDeTriageController::class, 'Commande.GareDeTriage.ajaxDetailLigne');
        $router->get($urlCommande. '/gareDeTriage/popup/planning/{idDa:'.$commande.'+}/{idLigne:'.$commande.'+}', GareDeTriageController::class, 'Commande.GareDeTriage.popupPlanning');
        $router->get($urlCommande. '/gareDeTriage/ajax/nouveauProjet', GareDeTriageController::class, 'Commande.GareDeTriage.ajaxNouveauProjet');
        $router->get($urlCommande. '/gareDeTriage/ajax/controleMove', GareDeTriageController::class, 'Commande.GareDeTriage.ajaxControleMove');
        $router->get($urlCommande. '/gareDeTriage/ajax/changeProjetDA', GareDeTriageController::class, 'Commande.GareDeTriage.ajaxChangeProjetDA');
        $router->get($urlCommande. '/gareDeTriage/sessionPannel', GareDeTriageController::class, 'Commande.GareDeTriage.sessionPannel');
        $router->get($urlCommande. '/gareDeTriage/bestPrice/{guIdProjet:'.$commande.'+}/{guIdLigne:'.$commande.'+}', GareDeTriageController::class, 'Commande.GareDeTriage.listBestPrice');
        

        $router->get($urlCommande. '/gareDeTriage/projet/{guIdProjet:'.$commande.'+}/detail', ProjetGareDeTriageController::class, 'Commande.ProjetGareDeTriage.detailProjet');
        $router->get($urlCommande. '/gareDeTriage/projet/ajax/getTypAchat', ProjetGareDeTriageController::class, 'Commande.ProjetGareDeTriage.ajaxGetTypAchat');
        $router->get($urlCommande. '/gareDeTriage/projet/{guIdProjet:'.$commande.'+}/addClause', ProjetGareDeTriageController::class, 'Commande.ProjetGareDeTriage.addClause');
        $router->get($urlCommande. '/gareDeTriage/projet/{guIdProjet:'.$commande.'+}/addPJ', ProjetGareDeTriageController::class, 'Commande.ProjetGareDeTriage.addPJ');
        $router->get($urlCommande. '/gareDeTriage/projet/{guIdProjet:'.$commande.'+}/clauseValidate', ProjetGareDeTriageController::class, 'Commande.ProjetGareDeTriage.clauseValidate');
        $router->get($urlCommande. '/gareDeTriage/projet/{guIdProjet:'.$commande.'+}/ajax/updateValue', ProjetGareDeTriageController::class, 'Commande.ProjetGareDeTriage.ajaxUpdateValue');
        $router->get($urlCommande. '/gareDeTriage/projet/ajax/calculeMDT', ProjetGareDeTriageController::class, 'Commande.ProjetGareDeTriage.ajaxcalculeMDT');
        $router->get($urlCommande. '/gareDeTriage/projet/createCommande', ProjetGareDeTriageController::class, 'Commande.GareDeTriage.createCommande');
        $router->get($urlCommande. '/gareDeTriage/projet/{guIdProjet:'.$commande.'+}/download/pj/{idPj:'.$commande.'+}', ProjetGareDeTriageController::class, 'Commande.ProjetGareDeTriage.ajaxGeneratePJ');
        
        
        /** ********************* **/
        /** Notation par commande **/
        $router->get($urlCommande. '/notation', NotationCommandeController::class, 'Commande.Notation.index');
        $router->get($urlCommande. '/{commandeId:'.$commande.'+}/notation/activate', NotationCommandeController::class, 'Commande.Notation.popupConfirmActivate');
        $router->get($urlCommande. '/{commandeId:'.$commande.'+}/notation/ajax/activate', NotationCommandeController::class, 'Commande.Notation.activate');
        $router->get($urlCommande. '/{commandeId:'.$commande.'+}/notation/update', NotationCommandeController::class, 'Commande.Notation.formCreate');
        $router->get($urlCommande. '/{commandeId:'.$commande.'+}/notation/ajax/update', NotationCommandeController::class, 'Commande.Notation.create');
        $router->get($urlCommande. '/{commandeId:'.$commande.'+}/notation', NotationCommandeController::class, 'Commande.Notation.detail');
        $router->get($urlCommande. '/{commandeId:'.$commande.'+}/notation/popupDevalidate', NotationCommandeController::class, 'Commande.Notation.popupConfirmDevalidate');
        $router->get($urlCommande. '/{commandeId:'.$commande.'+}/notation/devalidate', NotationCommandeController::class, 'Commande.Notation.devalidate');
        
        /** ****** **/
        /** Modèle **/

        $router->get($urlCommande. '/modele', ModeleController::class, 'Commande.Modele.index');
        $router->get($urlCommande. '/modele/{idModele:'.$global.'+}', ModeleController::class, 'Commande.Modele.detailModele');
        $router->get($urlCommande. '/modele/clause/{idModele:'.$global.'+}', ModeleController::class, 'Commande.Modele.clauseModele');
        $router->get($urlCommande. '/modele/sousFamille/{idModele:'.$global.'+}', ModeleController::class, 'Commande.Modele.ssFamilleModele');
        $router->get($urlCommande. '/modele/pieceJointe/{idModele:'.$global.'+}', ModeleController::class, 'Commande.Modele.pjModele');
        $router->get($urlCommande. '/modele/downloadPJ/{idModele:'.$global.'+}/{ordre:'.$global.'+}', ModeleController::class, 'Commande.Modele.downloadPJ');
        


        // Planning
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/planning/update', PlanningController::class, 'Commande.Planning.formUpdate');
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/planning/ajax/update', PlanningController::class, 'Commande.Planning.update');

        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/accRecep/create', AccRecepController::class, 'Commande.AccRecep.formCreation');
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/accRecep/ajax/create', AccRecepController::class, 'Commande.AccRecep.create');
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/accRecep/detail', AccRecepController::class, 'Commande.AccRecep.detail');
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/accRecep/update', AccRecepController::class, 'Commande.AccRecep.formUpdate');
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/accRecep/ajax/update', AccRecepController::class, 'Commande.AccRecep.update');
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/accRecep/popup/createAvenant', AccRecepController::class, 'Commande.AccRecep.popupCreateAvenant');
        
        // Imputation
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/imputation/update', ImputationController::class, 'Commande.Imputation.formUpdate');
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/imputation/ajax/update', ImputationController::class, 'Commande.Imputation.update');
        
        // Misc
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/updateDocType', GestionCommandeController::class, 'Commande.GestionCommande.updateDocTypePopup');
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/ajax/updateDocType', GestionCommandeController::class, 'Commande.GestionCommande.updateDocType');

        // Workflow
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/workflow', WorkflowController::class, 'Commande.Workflow.summary');
        $router->get($urlCommande . '/{commandeId:'.$commande.'+}/workflow/{workflowId:'.$global.'+}', WorkflowController::class, 'Commande.Workflow.detail');

        // import
        $router->get($urlCommande . '/importLigne/{idCommande:'.$commande.'+}', ImportLigneCommandeController::class, 'Commande.ImportLigneCommande.importLigne');
        $router->get($urlCommande . '/importLigne/{idCommande:'.$commande.'+}/validate', ImportLigneCommandeController::class, 'Commande.ImportLigneCommande.validateFile');
        $router->get($urlCommande . '/importLigne/{idCommande:'.$commande.'+}/recapanomalie', ImportLigneCommandeController::class, 'Commande.ImportLigneCommande.recapAno');
    }
}
