<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\autenticacao;
use App\Http\Controllers\ct\AdminController;
use App\Http\Controllers\UserController;
use App\http\Controllers\dispositivo; 
use App\http\Controllers\TesteConfArmController;

use App\http\Controllers\CorredorController;
use App\http\Controllers\AcessoController;
use App\Http\Controllers\BoxesController;
use App\Http\Middleware\md\DevicesMiddleware;

use App\http\Controllers\ModuloController;
use App\http\Controllers\PrateleiraController;
use App\http\Controllers\FileiraController;

use App\http\Controllers\NotificacaoController;
use App\http\Controllers\ConfCaixaController;
use App\http\Controllers\ReservaController;
use App\http\Controllers\CaixaController;
use App\http\Controllers\ArmazemPersonalizadoController;
use App\http\Controllers\ConfiguracaoCorredorController;
use App\http\Controllers\ConfiguracaoModuloController;
use App\Http\Controllers\PicetiquetaController;

//Renovados Controllers
use App\Http\Controllers\ChatCopiaController;
use App\Http\Controllers\ChatGestDockSideController;
use App\Http\Controllers\PedidosConsultaController;
use App\Http\Controllers\FuncionarioClienteController;
use App\Http\Controllers\RegraController;
use App\Http\Controllers\AdocSolicitacaoController;


//Stress__Clientes
use App\Http\Middleware\ClienteSideMiddleware;
use App\Http\Middleware\FuncionarioSideMiddleware;
use App\http\Controllers\PermissaoController;
use App\http\Controllers\PerfilController;
use App\Http\Controllers\CarregamentoCliente;

//new alterado routas e controlers
use App\Http\Controllers\PersonalSolitacaoController;
use App\Http\Controllers\DocClienteSearchontroller;
use App\Http\Controllers\MsgTalkController;
use App\Http\Controllers\IndexController;

use App\Http\Controllers\MessageController;
use App\Http\Controllers\GestMessage;
use App\Http\Controllers\ConversaController;
use App\Http\Controllers\CategoriaClienteController;
use App\Http\Controllers\SolicitacaoController;
use App\Http\Controllers\AutoController;
use App\Http\Controllers\ConsultaClienteCopiaController;
use App\Http\Controllers\ConsultaClienteController;
//digitalizacao
use App\Http\Controllers\DigiIndexController;
use App\Http\Controllers\DigiPreparandoController;
use App\Http\Controllers\PesquiDigitalController;
use App\Http\Controllers\Servextcontroller;
use App\Http\Controllers\DigiHistoricoController;
use App\Http\Controllers\DigiCarregamentoController;
use App\Http\Controllers\TextExcelController;

//Cont. Qualidade

use App\Http\Controllers\ClientesContinuos;
use App\Http\Controllers\TempoArrumarController;
use App\Http\Controllers\Ncs;
use App\Http\Controllers\ReclamacaoController;
use App\Http\Controllers\AuditoriaInternaController;
use App\Http\Controllers\Pendentes;
use App\Http\Controllers\CaixaCustodiaController;
use App\Http\Controllers\IndexacaoController;
use App\Http\Controllers\CsvFileImportController;




// Larawire

use App\Http\Controllers\Livewire\LWBoxes;
use App\Http\Controllers\Livewire\LarawireCarrinho;
use App\Http\Controllers\Livewire\Rearrumacao;





Route::get('/StorageLink', function () {
    
    //Artisan::call('storage:link');
    $targetFolder = $_SERVER['DOCUMENT_ROOT'].'/storage/app';
    $linkFolder = $_SERVER['DOCUMENT_ROOT'].'/public_html/storage';
    symlink($targetFolder,$linkFolder);
    echo 'Symlink process successfully completed';

    
});

// GET
Route::get('/', function () {    return view('login');})->name('login');
Route::get('login', function () {    return view('login');})->name('log');
Route::get('esqueceuasenha', function () {    return view('login');})->name('esqsenha');
Route::get('sair',[autenticacao::class,'sair'])->name('sair');
Route::get('bloqueado','App\Http\Controllers\autenticacao@bloquear')->name('bloquear');
Route::get('showusers',[UserController::class,'showusers'])->name('showusers');
// Route::get('pic2', [function(){return  "Ola";},'as'=>'pi'])->name('pic');
// Route::get('pic', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.arrumacao.pic');})->name('pic');
// Route::post('pic/get', [PicetiquetaController::class,'mostrar'])->name('pic.get');
// Route::post('pic/getLast', [PicetiquetaController::class,'mostrar2'])->name('pic.getLast');


Route::prefix('politicas')->name('politicas.')->group( function () {

    Route::get('/', function () {    return view('gestdoc.politicas.home');})->name('home');
    Route::get('dispositivos', function () {    return view('gestdoc.politicas.dispositivos');})->name('dispositivos');

});

Route::prefix('ajuda')->name('ajuda.')->group( function () {
    Route::get('/', function () {    return view('gestdoc.ajuda.home');})->name('home');
    Route::get('dispositivos', function () {    return view('gestdoc.ajuda.dispositivos');})->name('dispositivos');

});


// POST
Route::post('llloooggg',[autenticacao::class,'logar'])->name('logar');
Route::post('dddeeevvv',[autenticacao::class,'addNewSolicitacao'])->name('device');
Route::middleware(['auth'])->prefix('usuario')->name('us.')->group( function () {

    //Route::get('chat', [MsgTalkController::class,'show'])->name('chat');
    //Route::post('chat/getChat', [MsgTalkController::class,'getChat'])->name('chat.getChat');
    //Route::post('chat/submitMessage', [MsgTalkController::class,'submitMessage'])->name('chat.submitMessage');
    //Route::get('notificacao', [NotificacaoController::class,'show'])->name('notificacao');

    Route::get('acessosdev', function () {    return view('escessodevices');})->name('escessodevices');
    Route::get('acessos/configuração/{id}', function ($id) {    return view('configacessos')->with('id_acesso',$id);})->name('escessodevices.config');
    Route::post('acessos/configuração/editar',[AcessoController::class,'close_acesso'])->name('escessodevices.config.config');


    Route::post('coinfirm-password-user', [AdminController::class,'confirmPass'])->name('confirm.pass');
   
    Route::middleware(['auth'])->group(function(){
    // Route::middleware(['devicesMd'])->group(function(){
    
    //Chat_____________CHAT_____________________________AUTENTICADO__________
    Route::get('chat', [MsgTalkController::class,'show'])->name('chat');
    Route::post('chat/getChat', [MsgTalkController::class,'getChat'])->name('chat.getChat');
    Route::post('chat/submitMessage', [MsgTalkController::class,'submitMessage'])->name('chat.submitMessage');
    Route::get('notificacao', [NotificacaoController::class,'show'])->name('notificacao');

        //________________CHAT STRESS GEST DOCK___________________
        Route::prefix('GestChat')->name('GestChat.')->group( function () {
            Route::post('/chatlist/mymessages',[ChatGestDockSideController::class,'listarMessageGestDock'])->name('chat.listar.cliente');
            Route::post('/chatlist/mymessages/listar',[ChatGestDockSideController::class,'listarMessage_entre_Funcionarios'])->name('chat2.listar.funcionarios');
            Route::post('/chatlist/gestdock/cliente',[ChatGestDockSideController::class,'listarMessageGestDock'])->name('chat.listar.gest');
            Route::post('/chatlist/gestdock/grupo',[ChatGestDockSideController::class,'listarMessageGrupoGestDock'])->name('chat.listar.gest.grupo');
            //_________open msg____
            Route::post('/chat/clientes/open',[GestMessage::class,'abrirMensagem'])->name('chat.open.msg');
            Route::post('/chat/group/funcionarios/open',[GestMessage::class,'abrirMensagemGrupo'])->name('chat.open.group.msg');
            //____________Criar assuntos e Grupos________
            Route::post('/chat/new/grupo/assuntos',[GestMessage::class,'criarGruposAssuntos'])->name('conversa.grupo.assuntos');
            Route::post('/chat/create/conversas/funcionario',[GestMessage::class,'trazerAssuntosFuncionarios'])->name('chat.create.conversa.funcionarios');
            Route::post('/chat/create/assunto/cliente/funcionario',[GestMessage::class,'exibirClienteAssuntosPara_Funcionarios'])->name('chat.create.conversa.cliente.funcionario');
            
            Route::post('/chat/send/assuntos/funcionario',[GestMessage::class,'trazerAssuntosClientes'])->name('chat.send.assuntos.funcionarios');

            Route::post('/chat/send/mensagem',[ChatGestDockSideController::class,'enviarMenssage'])->name('enviar.messages');
            //enviar do Funcioanrio para Cliente
            Route::post('/chat/send/mensagem/funcionarios',[ChatGestDockSideController::class,'envirMessagemNo_Cliente'])->name('enviar.messages.funcoianrio.porcliente');
            //enviar msg do clicyemnte e aparecer nos funcioanrios
            //abrirMensagem_Mostrar_nos_clientes
            Route::post('/chat/lista/mensagem/funcionarios/porclientes',[GestMessage::class,'abrirMensagem_Mostrar_nos_clientes'])->name('listar.messages.funcionario.porcliente');

            Route::post('/chat/send/mensagem/cliente/assutnto',[GestMessage::class,'abrirMensagemCliente'])->name('enviar.messages.clientes.assunto');
            Route::post('/chat/send/mensagem/grupo',[ChatGestDockSideController::class,'enviarMenssageGrupo'])->name('enviar.messages.grupo');               

            Route::post('/chat/new/grupo',[ConversaController::class,'criarGrupo'])->name('conversa.grupo');
            Route::post('/chat/send/MideaMensagem',[ChatGestDockSideController::class,'store'])->name('enviar.messages.midea');

            Route::post('/chat/create/talk/funcionario',[ChatGestDockSideController::class,'criarConversa_Entre_Funcionarios'])->name('chat.create.talk.funcionarios');
            Route::post('/chat/create/talk/img/funcionario',[ChatGestDockSideController::class,'storeFisrtMessagemMidia'])->name('chat2.create2.talk2.funcionarios.img');
        
        });

    
    

        Route::get('/', [autenticacao::class,'verificaPermissao'])->name('me');
        Route::get('/visãodeacessos', function () {    return view('usuarios.funcionarios.dash2');})->name('visaodeacessos');
        Route::get('/orientaçãodetrabalho', function () {    return view('usuarios.funcionarios.dash3');})->name('orientacaodetrabalho');
        Route::get('arearestrita',function () {    return view('usuarios.funcionarios.usuario.arearestrita');})->name('restrict');
        Route::get('permissoes',function () {    return view('usuarios.funcionarios.usuario.permissoes');})->name('permissoes');
        Route::get('registrodeactividades',function () {    return view('usuarios.funcionarios.usuario.regactividades');})->name('reg.actividades');
        Route::get('planodeaccao',function () {    return view('usuarios.funcionarios.usuario.planodeaccao');})->name('planodeaccao');
        Route::get('produtividade',function () {    return view('usuarios.funcionarios.usuario.producao');})->name('produtividade');
        Route::get('acessos',function () {    return view('usuarios.funcionarios.usuario.acessos');})->name('acessos');
        Route::prefix('dispositivos')->name('disp.')->group( function () {
            Route::get('/',function () {    return view('usuarios.devices.dashboard');})->name('dash');
            Route::get('/dash1',function () {    return view('usuarios.devices.dashboard1');})->name('dash1');
            Route::get('/dash',[UserController::class,'showdevices'])->name('dash2');
            Route::get('permitidos', function () {    return view('usuarios.devices.listas.permitidos');})->name('permitidos');
            Route::get('barrados', function () {    return view('usuarios.devices.listas.barrados');})->name('porsolicitar');
            Route::get('por-solicitar', function () {    return view('usuarios.devices.listas.barrados');})->name('barrados');
            Route::get('pendentes', function () {    return view('usuarios.devices.listas.pendentes');})->name('pendentes');
            Route::get('showdevicespermitidos',[autenticacao::class,'showdevicespermitidos']  )->name('showdevicespermitidos');
            Route::get('showdevicesbarrados',[autenticacao::class,'showdevicesbarrados']  )->name('showdevicesbarrados');
            Route::get('showdevicesporsolicitar',[autenticacao::class,'showdevicesporsolicitar']  )->name('showdevicesporsolicitar');
            Route::get('showdevicesporsolicitar/solicitar/{id}',[autenticacao::class,'showdevicesporsolicitar_solicitar']  )->name('showdevicesporsolicitar_solicitar');
            Route::get('showdevicespendentes',[autenticacao::class,'showdevicespendentes']  )->name('showdevicespendentes');

            // __________________________________________________________________________________________________________________________

            Route::get('showdevicespermitidos/especial/{id}',[autenticacao::class,'showdevicespermitidos_especial']  )->name('showdevicespermitidos.especial');
            Route::get('showdevicesbarrados/especial/{id}',[autenticacao::class,'showdevicesbarrados_especial']  )->name('showdevicesbarrados.especial');
            Route::get('showdevicespendentes/especial/{id}',[autenticacao::class,'showdevicespendentes_especial']  )->name('showdevicespendentes.especial');


        });
    
    //My midlleware Stress Alteration
    Route::middleware(['funcionarioSideMD'])->group(function(){  
        Route::prefix('acesso')->name('ass.')->group( function () {
            Route::get('/',function () {    return view('usuarios.acessos.dashboard');})->name('dash');
            Route::get('/dash',function () {    return view('usuarios.acessos.dashboard1');})->name('dash1');
            Route::get('/acesso/{id}',function ($dispId) {    return view('usuarios.acessos.acesso1')->with('dispId',$dispId);})->name('acesso');
 

        });
        Route::prefix('admin')->name('admin.')->group( function () {
            Route::prefix('funcionarios')->name('funcionario.')->group( function () {
                Route::get('usuario/{id}/dispositivos',[AdminController::class,'returnDevices'])->name('disp');
                Route::get('usuario/{id}/conta',[AdminController::class,'returnConta'])->name('gerirconta');
                Route::get('usuario/{id}/perfil',[AdminController::class,'returnPerfil'])->name('perfil');
                Route::get('usuario/{id}/permissoes',[AdminController::class,'returnPermissoes'])->name('permissoes');
                Route::get('usuario/{id}/historico',[AdminController::class,'returnHistoricos'])->name('historico');
                Route::get('usuario/{id}/acessos',[AdminController::class,'returnAcessos'])->name('acessos');
                Route::get('usuario/novo',function(){return view('usuarios.funcionarios.admin.funcionario.novo');})->name('novo');
                Route::post('usuario/cadastrar',[AdminController::class,'novofuncionario'])->name('add');
                Route::get('usuario/pesquisar',function(){return view('usuarios.funcionarios.admin.funcionario.pesquisar');})->name('pesquisar');
                Route::get('usuario/listar',  [AdminController::class,'listagemfuncionarios'])->name('listar');
                Route::get('usuario/{id}',  [AdminController::class,'verfuncionario'])->name('us');
                Route::get('usuario/{id}/editar/foto',  [AdminController::class,'editar_foto'])->name('editar_foto');
                Route::post('usuario/{id}/editar/foto/editar',  [AdminController::class,'editar_foto_editar'])->name('editar_foto_editar');
                Route::get('usuario/{id}/editar/dados-gerais',  [AdminController::class,'editar_dados_gerais'])->name('editar_dados_gerais');
                Route::post('usuario/{id}/editar/dados-gerais/editar',  [AdminController::class,'editar_dados_gerais_editar'])->name('editar_dados_gerais_editar');
                Route::get('usuario/{id}/editar/outros-dados',  [AdminController::class,'editar_outros_dados'])->name('editar_outros_dados');
                Route::post('usuario/{id}/editar/outros-dados/editar',  [AdminController::class,'editar_outros_dados_editar'])->name('editar_outros_dados_editar');
                Route::get('usuario/{id}/editar/password',  [AdminController::class,'editar_password'])->name('editar_password');
                Route::post('usuario/{id}/editar/password/editar',  [AdminController::class,'editar_password_editar'])->name('editar_password_editar');

                Route::prefix('acessos')->name('ass.')->group( function () {
                    Route::get('/{deviceId}',function ($deviceId) {    return view('usuarios.funcionarios.admin.funcionario.acessos')->with('device_id',$deviceId);})->name('devices');
                    Route::get('/{deviceId}/fecharacesso',[AcessoController::class,'fecharacesso'])->name('terminar');
                    Route::get('funcionarios/{id}/{pagevar}',function ($id) {    return view('usuarios.funcionarios.admin.funcionario.acessossingular')->with('id',$id);})->name('funcionarios');

                });
                Route::prefix('dispositivos')->name('devices.')->group( function () {
                    Route::get('/',function () {    return view('usuarios.funcionarios.admin.dispositivos.todos');})->name('all');
                    Route::get('usuarios',function () {    return view('usuarios.funcionarios.admin.dispositivos.usuarios');})->name('usuarios');
                    Route::get('funcionarios/{id}',function ($id) {    return view('usuarios.funcionarios.admin.funcionario.dispositivos')->with('id',$id);})->name('funcionarios');
                    Route::get('funcionarios/aceitar/{id}', [autenticacao::class,'aceitar_device']  )->name('aceitar.device');
                    Route::get('funcionarios/barrar/{id}', [autenticacao::class,'barrar_device']  )->name('barrar.device');
                    Route::get('funcionarios/recuperar/{id}', [autenticacao::class,'recuperar_device']  )->name('recuperar.device');

                });
            });
            
            Route::prefix('cliente')->name('cliente.')->group(function(){
                Route::post('usuario/cadastrar',[AdminController::class,'novocliente'])->name('add');
                Route::get('usuario/novo',function(){return view('usuarios.funcionarios.admin.clientes.novo');})->name('novo');
                Route::get('usuario/listar', function(){return view('usuarios.funcionarios.admin.clientes.clientes');})->name('listar');
                Route::get('usuario/cliente/ver/{idCliente}', function($idCliente){return view('usuarios.funcionarios.admin.clientes.cliente')->with('id',$idCliente);})->name('ver.cliente');
                Route::get('departamentos-cliente/{id}',function($id){return view('usuarios.funcionarios.admin.clientes.departamentos')->with('id',$id);})->name('departamentos');
                Route::get('ver-departamento/{idDep}/cliente/{idCli}/',function($idDep,$idCli){return view('usuarios.funcionarios.admin.clientes.departamento')->with(['idDep'=>$idDep,'idCli'=>$idCli]);})->name('ver.dep');
                Route::get('importacao-de-dados-do-cliente/{id}',function($id){return view('usuarios.funcionarios.admin.clientes.import')->with('id',$id);})->name('import');
                Route::get('importacao-de-dados-do-cliente-2',[AdminController::class,'importDataExcel2'])->name('import.data.2');
                Route::post('import-excel',[AdminController::class,'importDataExcel'])->name('import.dep');
                Route::post('import-txt',[AdminController::class,'importDataText'])->name('import.text.data');
                Route::post('usuario/cadastrar-cliente',[AdminController::class,'novocliente'])->name('add');
                Route::post('usuario/cadastrar-departamento-cliente',[AdminController::class,'addDepClie'])->name('add.dep');
               
                

                //STRESSSS
                Route::prefix('funcionarios')->name('funcionarios.')->group(function(){
                    
                    Route::get('listar',[FuncionarioClienteController::class,'exibirClientesFuncionario'])->name('exib.clientes.funcionarios');
                    Route::get('create',[FuncionarioClienteController::class,'cadaClientesFuncionarios'])->name('create.clientes.funcionarios');
                    Route::post('edit',[FuncionarioClienteController::class,'editClientesFuncionarios'])->name('edit.clientes.funcionarios');
                     Route::post('get/users_clientes/categorias',[FuncionarioClienteController::class,'getFuncoesClientes'])->name('get.clientes_funcionarios.categorias');
                     
                         Route::post('excel-form2',[FuncionarioClienteController::class,'emailTexte'])->name('email.texte');
                     
                    //change BD
                    Route::post('storeSave',[FuncionarioClienteController::class,'storeSaveClientesFuncionario'])->name('storeSave.clientes.funcionarios');
                    Route::post('storeEdit',[FuncionarioClienteController::class,'storeEditClientesFuncionario'])->name('storeEdit.clientes.funcionarios');
                });
                 //STRESSSS
                 Route::prefix('permissoes')->name('permissoes.')->group(function(){
                    
                    Route::get('create',[RegraController::class,'permissaoClientesGestdoc'])->name('exib.permissoes.funcionarios');
                    Route::post('create',[RegraController::class,'cadastroPermissaosGestdoc'])->name('create.permissoes.funcionarios');
                    Route::get('listar',[RegraController::class,'permissaoClientesGestdocList'])->name('list.permissoes.funcionarios');
                    //change BD
                    Route::post('editar',[RegraController::class,'editPermissaosGestdoc'])->name('edit.permissaoes.funcionarios');
                    Route::post('storeeditar',[RegraController::class,'editarPermissaosGestdoc'])->name('editar.permissoes.funcionarios');
                });

            });
        });
        // Sector de armazem
        Route::prefix('sector-armazem')->name('armazem.')->group( function () {
            Route::prefix('configuracão')->name('conf.')->group( function () {

                Route::prefix('armazém')->name('arm.')->group( function () {
                    Route::get('bases',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.bases');})->name('bases');
                    Route::get('geral',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.config');})->name('geral');
                    Route::get('acesso-rápido',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.encontrar');})->name('acesso');
                    // Armazem
                    // AdminController

                    Route::post('addArmazem',[AdminController::class,'addArmazem'])->name('novoarm');
                    Route::post('get-armazem',[AdminController::class,'getarmrow'])->name('getarmrow');
                    Route::post('get',[AdminController::class,'getArmazens'])->name('get.geral');
                    Route::post('addcor/armazem', [AdminController::class,'addCoreArmazem'])->name('add.cor.armazem');
                    Route::post('edit/armazem/{cod}', [AdminController::class,'editArmazem'])->name('edit.armazem');
                    Route::post('desactivar/armazem', [AdminController::class,'deleteArmazem'])->name('desactivar.armazem');
                    Route::get('getDataEsp/{id}',[AdminController::class,'getArmazensDataTableEspecificBase'])->name('get.geral.data.table.especifc.base');
                    Route::get('getData',[AdminController::class,'getArmazensDataTable'])->name('get.geral.data.table');
                   
                    Route::get('ver-base/{baseId}',function ($id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.base')->with(['id'=>$id]);})->name('ver.base');
                    Route::get('armazens-desta-base/{baseId}',function ($id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.armazens')->with(['id'=>$id]);})->name('ver.armazens.base');
                    Route::get('base/{idBase}/armazem/{id}',function ($idBase,$id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.armazem')->with(['idBase'=>$idBase,'id'=>$id]);})->name('verarmazem');
                    Route::get('novo-armazem/{id}',function ($id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.novo')->with(['id'=>$id]);})->name('novoarmazem');
                    Route::get('novo-armazem-excel/{id}',function ($id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.novoxls')->with(['id'=>$id]);})->name('novoarmazem2');
        
                    // Corredores

                    Route::get('base/{idBase}/armazem/{id}/corredores',function ($idBase,$id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.corredores.corredores')->with(['idBase'=>$idBase,'id'=>$id]);})->name('ver.corredores.armazem');
                    Route::get('base/{idBase}/armazem/{id}/corredores/config-corredor/{corredorId}',function ($idBase,$idArm,$id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.corredores.corredor')->with(['idBase'=>$idBase,'idArm'=>$idArm,'id'=>$id]);})->name('config.corredor.armazem');
                    Route::get('base/{idBase}/armazem/{id}/corredores/config-etiquetas-corredor/{corredorId}',function ($idBase,$idArm,$id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.corredores.etiquetas')->with(['idBase'=>$idBase,'idArm'=>$idArm,'id'=>$id]);})->name('config.etiquetas.corredor.armazem');
                    Route::get('base/{idBase}/armazem/{id}/corredores/ver-corredor/{corredorId}',function ($idBase,$idArm,$id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.corredores.view')->with(['idBase'=>$idBase,'idArm'=>$idArm,'id'=>$id]);})->name('ver.corredor.armazem');
                    Route::post('corredor/novaConfExcel',[AdminController::class,'configCorredorExcel'])->name('add.config.corredor.armazem.excel');
                    Route::post('corredor/compatibilizar-etiquetas',[AdminController::class,'compEtiqCorredor'])->name('comp.et.corredor.armazem.excel');
                    Route::get('corredor/compatibilizar-etiquetas-text',[AdminController::class,'importEtiquetas'])->name('comp.et.corredor.armazem.excel2');
                    Route::post('corredor/novaConf',[AdminController::class,'addConfiguracao'])->name('add.config.corredor.armazem');
                    Route::post('corredor/deleteCorredor',[AdminController::class,'deleteCorredor'])->name('remove.corredor.armazem');
                    Route::post('corredor/editConf',[AdminController::class,'editarConfiguracao'])->name('edit.config.corredor.armazem');
                    Route::post('corredor/cadastrarCorredor',[AdminController::class,'cadastrarNovoCorredor'])->name('cadastrar.novo.corredor.armazem');


                    // Modulo

                    Route::post('addModulo',[AdminController::class,'addModulo'])->name('store.geral.modulo');
                    Route::post('addCorredores',[AdminController::class,'addCorredores'])->name('store.geral.corredores');
                    Route::post('addFileira',[AdminController::class,'addFileira'])->name('store.geral.fileira');
                    Route::post('celulaGetInfoCadFileiras',[AdminController::class,'celulaGetInfoCadFileiras'])->name('get.info.add.fileira');
                    Route::post('config/addFileiraAndEspacoCaixa',[AdminController::class,'addFileiraAndEspacoCaixa'])->name('add.fileiras.espacocaixas.modulo');
                    Route::post('addPrateleira',[AdminController::class,'addPrateleira'])->name('store.geral.prateleira');
                    Route::post('modulo/novaConf',[AdminController::class,'addConfiguracaoModuloCorredor'])->name('add.config.modulo.corredor');
                    Route::post('modulo/novoModuloAdd',[AdminController::class,'addModuloNovoCorredor'])->name('add.novomodulo.corredor');
                    Route::get('moduloscorredor/{corredorId}',function ($id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.modulos.moduloscorredor')->with(['id'=>$id]);})->name('ver.modulos.corredor.armazem');
                    Route::get('modulo/{modulo}',function ($id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.modulos.modulo')->with(['id'=>$id]);})->name('ver.modulo.corredor.armazem');
                    Route::get('base/{idBase}/armazem/{id}/corredor/{corredorId}/ver-modulo/{moduloId}',function ($idBase,$idArm,$idCorredor,$id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.modulos.modulo')->with(['idBase'=>$idBase,'idArm'=>$idArm,'idCorredor'=>$idCorredor,'id'=>$id]);})->name('ver.modulo.corredor');



                    // Célula
                    Route::post('celula/addNovaIndividual',[AdminController::class,'addCelulaIndividual'])->name('add.celulaindividual.modulo');
                    Route::post('celula/celulaSubirTopo',[AdminController::class,'celulaSubirTopo'])->name('celula.nivel.subir.um');
                    Route::post('celula/celulaSubirTopo',[AdminController::class,'celulaSubirTopo'])->name('celula.nivel.subir.tudo');
                    Route::post('celula/celulaDescerUltimo',[AdminController::class,'celulaDescerUltimo'])->name('celula.nivel.descer.tudo');
                    Route::post('celula/celulaSubirTopo',[AdminController::class,'celulaSubirTopo'])->name('celula.nivel.descer.um');
                    Route::post('celula/copiar-configuracoes',[AdminController::class,'copyCelConfig'])->name('celula.config.copy');
                    Route::post('celula/etiquetas-impri',[AdminController::class,'imprimirEtiquetas'])->name('celula.config.imp.etiquetas');
                    Route::post('celula/etiquetas-comp',[AdminController::class,'compEtiquetas'])->name('celula.config.imp.compEtiquetas');
                    Route::post('celula/colar-configuracoes',[AdminController::class,'pastCelConfig'])->name('celula.config.past');
                    Route::post('celula/edit/',[AdminController::class,'editCelula'])->name('celula.edit.configuracao');
                    Route::post('celula/edit2/',[AdminController::class,'editCelula2'])->name('celula.edit.configuracao2');
                    Route::post('celula/edit3/',[AdminController::class,'editCelula3'])->name('celula.edit.configuracao3');
                    
                    Route::get('base/{idBase}/armazem/{id}/corredor/{corredorId}/modulo/{moduloId}/ver-celula/{celula}',function ($idBase,$idArm,$idCorredor,$idModulo,$id) {    return view('usuarios.funcionarios.secArmazem.configArmazem.celulas.celula')->with(['idBase'=>$idBase,'idArm'=>$idArm,'idCorredor'=>$idCorredor,'idModulo'=>$idModulo,'id'=>$id]);})->name('ver.celula.modulo.corredor.armazem');



                    //Caixas
                    Route::get('caixas/main',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.caixas.configmain');})->name('ver.caixaconfig');
                    Route::post('caixa/addTipoCaixa',[AdminController::class,'addTipoCaixa'])->name('add.tipocaixa');






                });
                Route::prefix('arm')->name('arm.')->group( function () {
                    Route::get('/',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.listar');})->name('listar');
                    Route::get('novo',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.novo');})->name('novo');
                    Route::get('edit',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.editar');})->name('editar');
                    Route::get('editar/{id}',[AdminController::class,'show'])->name('show.armazem');
                    Route::post('cadastrar',[AdminController::class,'cadastrar'])->name('store.armazem');
                    Route::put('editar/{id}',[AdminController::class,'editar'])->name('update.armazem');
                    Route::put('eliminar/{id}',[AdminController::class,'eliminar'])->name('delete.armazem');
                    Route::resource('/armazem', AdminController::class);
                    Route::get('/secessoArmazem',[AdminController::class,'sucessoConCaixa'])->name('sucesso.arm');
                    Route::get('/secessoArmazemedit',[AdminController::class,'sucessoConCaixaUpdate'])->name('sucesso.edit.arm');
                    Route::resource('/personalizado',ArmazemPersonalizadoController::class);
                    Route::post('/personalizado/criarModulos',[ArmazemPersonalizadoController::class,'storeModulos'])->name('store2.cadastro');
                    Route::post('/personalizado/criarcelulas',[ArmazemPersonalizadoController::class,'storeModulosCelulas'])->name('store3.cadastro');
                });
                Route::prefix('Gestcorredor')->name('Gestcorredor.')->group( function () {

                    Route::resource('/corredor', CorredorController::class);
                    Route::resource('/corredoresConf', ConfiguracaoCorredorController::class);
                    // Route::get('/',function () {    return view('usuarios.funcionarios.admin.dispositivos.todos');})->name('all');
                    // Route::get('usuarios',function () {    return view('usuarios.funcionarios.admin.dispositivos.usuarios');})->name('usuarios');

                });
                Route::prefix('Gestmodulo')->name('Gestmodulo.')->group( function () {
                    Route::resource('/modulo', ModuloController::class);
                    Route::resource('/moduloConf', ConfiguracaoModuloController::class);

                    Route::get('select',[ModuloController::class,'preeencherLado'])->name('selectlist.ajax');
                    Route::get('select2',[ModuloController::class,'preeencherCorredor'])->name('selectlist2.ajax');
                    Route::get('select3',[ModuloController::class,'preeencherModulo'])->name('selectlist3.ajax');
                    Route::get('select4',[ModuloController::class,'preeencherPrateleira'])->name('selectlist4.ajax');
                    Route::get('select5',[ModuloController::class,'preeencherAndar'])->name('selectlist5.ajax');
                    Route::get('select6',[ModuloController::class,'preeencherFileira'])->name('selectlist6.ajax');
                    Route::get('select7',[ModuloController::class,'preeencherPosicao'])->name('selectlist7.ajax');
                    Route::get('select8',[ModuloController::class,'preeencherCorredoresNew'])->name('selectlistNew.ajax');
                    Route::get('select9',[ArmazemPersonalizadoController::class,'trazerInputsCheios'])->name('selectlistinput.ajax');
                    Route::get('select10',[ArmazemPersonalizadoController::class,'trazerInputsCheios2'])->name('selectlistinput2.ajax');

                    Route::get('select12',[ModuloController::class,'preeencherCorredorpersonalizado2'])->name('selectlist12.ajax');
                    Route::post('select13',[ArmazemPersonalizadoController::class,'trazerConfCaixasInfo'])->name('selectlistconCaixa.ajax');

                });

                Route::prefix('Gestfileira')->name('Gestfileira.')->group( function () {
                    Route::resource('/fileira', FileiraController::class);


                });
                Route::prefix('Gestprateleira')->name('Gestprateleira.')->group( function () {
                    Route::resource('/prateleira', PrateleiraController::class);
              });
                Route::prefix('Confcaixas')->name('Confcaixas.')->group( function () {
                    Route::resource('/confcaixas', ConfCaixaController::class);
                    Route::get('/sucesso',[ConfCaixaController::class,'sucessoConCaixa'])->name('sucesso.caixas');
                    Route::get('/alter',[ConfCaixaController::class,'alterarConCaixa'])->name('alter.caixas');

                });

                Route::prefix('Gestcaixas')->name('Gestcaixas.')->group( function () {
                    Route::resource('/caixa', CaixaController::class);
                    Route::get('/sucesso',[CaixaController::class,'sucessocaixa'])->name('sucesso.caixa');

                });
                Route::prefix('GestArrumarCaixas')->name('GestArrumarCaixas.')->group( function () {
                    Route::resource('/aruumarcaixas', CaixaController::class);
                    Route::get('/arrumar',[CaixaController::class,'mostrarClienteArmazem'])->name('index.arrumar');
                    Route::post('pegarElemento',[CaixaController::class,'pegaElemento'])->name('index.pegarlinha');
                    Route::get('/Create_arrumar/{id}',[CaixaController::class,'mostrarArrumarCaixa'])->name('create.arrumar');
                    Route::get('/listar/caixas/arrumadas',[CaixaController::class,'listarCaixasClientesAdicionadasForm'])->name('listar.caixas.arrumar');

                });


            });
            Route::prefix('gestaoarmazem')->name('gestao.')->group( function(){
                Route::get('mapa-armazem',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.mapa.mapa'); })->name('mapa');
                Route::post('listar-mapa-fileira',  [BoxesController::class,'getMapaFileira'])->name('mapa.fileira');
                Route::post('listar-mapa-fileira-report',  [BoxesController::class,'getMapaFileiraReport'])->name('mapa.fileira.report');
                Route::post('listar-mapa-celula',  [BoxesController::class,'getMapaCelula'])->name('mapa.celula');
                Route::post('listar-mapa-modulo',  [BoxesController::class,'getMapaModulo'])->name('mapa.modulo');
                Route::post('listar-mapa-corredor',  [BoxesController::class,'getMapaCorredor'])->name('mapa.corredor');
                Route::post('listar-mapa-armazem',  [BoxesController::class,'getMapaArmazem'])->name('mapa.armazem');
                
                Route::prefix('caixas')->name('caixas.')->group( function(){

                    Route::get('home', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.home');})->name('home');
                    Route::get('reserva/nova', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.reserva.nova');})->name('nova.reserva');
                    Route::get('reserva/ver/{id}', function($id){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.reserva.reserva')->with(['id'=>$id]);})->name('ver.reserva');
                    Route::post('reserva/getEqualBoxNumber',[ BoxesController::class,'getEqualBoxNumber'])->name('reserva.getEqualBoxNumber');
                    Route::post('reserva/getEqualBoxNumber2',[ BoxesController::class,'getEqualBoxNumber2'])->name('reserva.getEqualBoxNumber2');
                    Route::post('reserva/getEqualBoxNumber3',[ BoxesController::class,'getEqualBoxNumber3'])->name('reserva.getEqualBoxNumber3');
                    Route::post('reserva/getUltimoNumeroCaixa',[ BoxesController::class,'getUltimoNumeroCaixa'])->name('reserva.getUltimoNumeroCaixa');
                    Route::get('reservas', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.reserva.reservas');})->name('ver.reservas');
                    Route::post('reserva/getDepartamentosClientes',[ BoxesController::class,'getDepartamentosClientes'])->name('reserva.getDepartamentosClientes');
                    Route::post('reserva/getResultado',[ BoxesController::class,'getResultado'])->name('reserva.getResultado');
                    Route::post('reserva/getReservaList',[ BoxesController::class,'getReservaList'])->name('reserva.getReservaList');
                    Route::post('reservar',[ BoxesController::class,'reservar'])->name('reservar');


                    Route::get('checkin', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.checkin.checkin');})->name('checkin');
                    Route::get('checkin/ver/{id}', function($id){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.checkin.vercheckin')->with(['id'=>$id]);})->name('ver.checkin');
                    Route::get('checkin/ver', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.checkin.verlastcheckin');})->name('ver.ultimo.checkin');
                    Route::post('checkin/do',[ BoxesController::class,'fazerCheckin'])->name('fazer.checkin');
                    Route::get('checkin/relatorio/{id}',[ BoxesController::class,'relatorioCheckin'])->name('checkin.relatorio');
                    Route::get('checkin/relatorio/download/{id}',[ BoxesController::class,'relatorioCheckinDownload'])->name('checkin.relatorio.baixar');
                    Route::post('checkin/novo/checkin',[ BoxesController::class,'fazerCheckinNovoCheckin'])->name('fazer.checkin.novo.checkin');
                    Route::post('checkin/novo/caixa',[ BoxesController::class,'fazerCheckinNovoCaixa'])->name('fazer.checkin.novo.caixa');

                    Route::get('incorporacao', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.incorporacao');})->name('ver.incorporacao');
                    Route::post('incorporar',[ BoxesController::class,''])->name('incorporar');
                    Route::get('arrumar/{id}', function($id){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.arrumacao.arrumar')->with(['id'=>$id]);})->name('arrumar.checkin');
                    Route::get('arrumar', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.arrumacao.arrumarlast');})->name('arrumar.last.checkin'); 
                    Route::get('arrumar-singular', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.arrumacao.rearrumar');})->name('rearrumar');
                    Route::get('arrumar-multiplas',\Livewire\Rearrumacao::class)->name('rearrumar.varias');
                    Route::post('arrumar/do', [ BoxesController::class,'arrumarCaixas'])->name('arrumar.caixa');
                    Route::post('arrumar/checkin/do',[ BoxesController::class,''])->name('arrumar');
                    Route::post('arrumar/analise/etiqueta', [ BoxesController::class,'analiseEtiquetas'])->name('arrumar.analise.etiquetas');
                    Route::post('arrumar/caixas', [ BoxesController::class,'arrumarBoxes'])->name('arrumar.caixas');
                    
                    
                    Route::get('arrumar-caixa/{id}', function($id){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.arrumacao.arrumacao')->with(['id'=>$id]);})->name('arrumar.caixa.ver');
                    Route::post('arrumar/caixa', [ BoxesController::class,'arrumarBoxe'])->name('arrumar.caixa');
                    
                    
                    Route::get('acompanhamento', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.acompanhamento');})->name('ver.acompanhamento');
                    Route::get('arrumacao/pic', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.entrada.arrumacao.pic');})->name('arrumacao.pic');

                   

                    Route::get('pesquisa',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.pesquisa.pesquisar'); })->name('pesquisa');
                    Route::get('pesquisa-de-caixas-dinamica',\Livewire\LWBoxes::class)->name('pesquisa2');
                    Route::get('carrinho-de-caixas',\Livewire\LarawireCarrinho::class)->name('carrinho');
                    Route::get('pesquisa/caixas-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.pesquisa.caixadocliente')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.cliente');
                    Route::get('pesquisa/caixas-abertas-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.caixasclienteaberto')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.abertas.cliente');
                    Route::get('pesquisa/caixas-anuladas-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.caixasclienteanulada')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.anuladas.cliente');
                    Route::get('pesquisa/caixas-arrumadas-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.caixasclientearrumada')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.arrumadas.cliente');
                    Route::get('pesquisa/caixas-aviso-de-eliminacao-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.caixasclienteavisoelim')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.aviso.eliminacao.cliente');
                    Route::get('pesquisa/caixas-destruido-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.caixasclientedestruido')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.destruido.cliente');
                    Route::get('pesquisa/caixas-devolvidas-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.caixasclientedevolvido')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.devolvidas.cliente');
                    Route::get('pesquisa/caixas-eliminado-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.caixasclienteeliminado')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.eliminado.cliente');
                    Route::get('pesquisa/caixas-entrada-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.caixasclienteentrada')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.entrada.cliente');
                    Route::get('pesquisa/caixas-reservadas-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.caixasclientereserva')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.reservadas.cliente');
                    Route::get('pesquisa/caixas-transito-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.caixasclientetransito')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.transito.cliente');











                    Route::get('pesquisa/caixas-replicadas-cliente/{idCliente}',function($idCliente){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.pesquisa.caixasreplicadasdocliente')->with(['idCliente'=>$idCliente]); })->name('pesquisar.caixas.replicadas.cliente');
                  
                    Route::post('pesquisa/filtrar',  [BoxesController::class,'filtrarCaixa'])->name('filtrar');
                    Route::post('pesquisar/do',[BoxesController::class,'pesquisarCaixa'])->name('pesquisar');
                    Route::post('get/bases',[BoxesController::class,'getBase'])->name('get.base');
                    Route::post('get/dados/armazem',[BoxesController::class,'getDadosArmazem'])->name('get.dados.armazem');
                    Route::post('get/dados/modulo',[BoxesController::class,'getDadosModulo'])->name('get.dados.modulo');
                    Route::post('get/dados/celula',[BoxesController::class,'getDadosCelula'])->name('get.dados.celula');
                    Route::post('get/dados/fileira',[BoxesController::class,'getDadosFileira'])->name('get.dados.fileira');
                    
                  
                    


                    Route::get('caixas/exportar/excel/{idCliente}',[BoxesController::class,'exportarCaixas'])->name('exportar.cx');
                    Route::get('caixas/exportar/arrumadas/excel/{idCliente}',[BoxesController::class,'exportarCaixasArrumadas'])->name('exportar.cx.arrumadas');
                    Route::get('import/caixas/excel',[AdminController::class,'importDataNew'])->name('importar.cx.cliente');
                    Route::post('import/caixas/excel',[AdminController::class,'importDataNew_newWay'])->name('importar.cx2');
                    
                    Route::get('ver-caixa/cliente-{idCliente}/caixa-{idCaixa}',function($idCliente,$idCaixa){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.vercaixa')->with(['idCliente'=>$idCliente,'idCaixa'=>$idCaixa]); })->name('ver.caixa');
                    Route::get('caixa/compaptibilizar-etiqueta',[BoxesController::class,'compEtiquetas'])->name('caixa.compaptibilizar.etiquetas');
                    Route::get('ver-historico-caixa/caixa-{idCaixa}',function($idCaixa){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.caixas.historico')->with(['idCaixa'=>$idCaixa]); })->name('ver.historico.caixa');
                    
                    // Gerir armazem
                    Route::get('visão-de-gestão/armazem/{id}',function($id){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.gestao.armazem')->with(['id'=>$id]); })->name('visao.gestao.armazem');
                    Route::get('visão-de-gestão/corredor/{id}',function($id){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.gestao.corredor')->with(['id'=>$id]); })->name('visao.gestao.corredor');
                    Route::get('visão-de-gestão/modulo/{id}',function($id){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.gestao.modulo')->with(['id'=>$id]); })->name('visao.gestao.modulo');
                    Route::get('visão-de-gestão/celula/{id}',function($id){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.gestao.celula')->with(['id'=>$id]); })->name('visao.gestao.celula');
                    Route::get('visão-de-gestão/fileira/{id}',function($id){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.gestao.fileira')->with(['id'=>$id]); })->name('visao.gestao.fileira');
                    



                    //relatorio
                    Route::get('etiquetas', function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.relatorio.etiquetas.geradoretiquetas');})->name('etiquetas');
                    Route::post('etiquetas/gerar',[BoxesController::class,'gerarEtiquetas'])->name('etiquetas.gerar');
                    Route::post('etiqueta/imprimir',[BoxesController::class,'impEtiqueta'])->name('etiqueta.imp');
                    Route::post('etiquetas/imprimir',[BoxesController::class,'impEtiquetas'])->name('etiquetas.imp');
                    Route::get('relatorios',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.relatorio.relatorios'); })->name('relatorios');
                    Route::get('mapas',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.relatorio.mapas'); })->name('mapas');
                   
                   

                    // consulta
                    Route::get('consulta',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.consultas.nova'); })->name('nova.consulta');
                    Route::get('consulta/em-tratamento',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.consultas.tratamento'); })->name('consulta.tratamento');
                    Route::get('consulta/check-out',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.consultas.checkout'); })->name('consulta.check-out');
                    Route::get('consulta/em-trânsito',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.consultas.transito'); })->name('consulta.em.transito');
                    Route::get('consulta/histórico',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.consultas.historico'); })->name('consulta.historico');
                    
                    
                    
                    
                    // retorno
                    Route::get('retorno',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.retornos.novo'); })->name('novo.retorno');
                    Route::get('retorno/check-in',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.retornos.checkin'); })->name('retorno.checkin');
                    Route::get('retorno/arrumacao/{caixaId}',function($id){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.retornos.arrumacao')->with(['id'=>$id]); })->name('retorno.arrumacao');
                    Route::get('retorno/histórico',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.retornos.historico'); })->name('retorno.histórico');
                    
                    
                    
                    
                    // eliminação
                    Route::get('em-aviso-de-eliminacao',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.eliminacoes.em-aviso'); })->name('nova.eliminacao');
                    Route::get('eliminadas',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.eliminacoes.eliminadas'); })->name('eliminadas');
                    Route::get('destruidas',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.eliminacoes.destruidas'); })->name('destruidas');
                    Route::get('eliminação/emissao',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.eliminacoes.emissao'); })->name('eliminacao.emissao');
                    Route::get('eliminação/recepcao',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.eliminacoes.recepcao'); })->name('eliminacao.recepcao');
                    Route::get('eliminação/eliminar',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.eliminacoes.eliminar'); })->name('eliminacao.eliminar');
                    Route::get('eliminação/histórico',function(){return view('usuarios.funcionarios.secArmazem.gestaoArmazem.caixas.eliminacoes.historico'); })->name('eliminacao.historico');




                    // SearchFiltro
                    Route::post('arrumacao-manual',[BoxesController::class,'arrumacaoManual'])->name('arrumacaoManual');
                    Route::post('buscar-corredores',[BoxesController::class,'pesqCorredores'])->name('psqCorr');
                    Route::post('buscar-modulos',[BoxesController::class,'pesqModulos'])->name('psqMod');
                    Route::post('buscar-celulas',[BoxesController::class,'pesqCelulas'])->name('psqCel');
                    Route::post('buscar-fileiras',[BoxesController::class,'pesqFileiras'])->name('psqFil');
                    Route::post('buscar-departamentos-clientes',[BoxesController::class,'pesqDepCli'])->name('psqDepCliente');
                    Route::post('buscar-caixas-clientes',[BoxesController::class,'numerosCaixas'])->name('pesqCxCliente');
                    Route::post('filtrar-caixas',[BoxesController::class,'filtrarCaixas'])->name('filtrarCaixas');
                  
                    
                    
                    
                    
                    // Saída de caixas
                    Route::post('gerar-tratamento',[BoxesController::class,'gerarTratamento'])->name('gerarTratamento');
                    Route::post('voltar-tratamento',[BoxesController::class,'voltarTratamento'])->name('voltarTratamento');
                    Route::post('checout-caixa',[BoxesController::class,'checkoutCaixa'])->name('checkoutCaixa');
                    Route::post('retornar-caixa',[BoxesController::class,'returnCaixa'])->name('returnCaixa');
                    Route::post('eliminar-caixa',[BoxesController::class,'eliminarCaixa'])->name('deletarCaixa');
                    Route::post('destruir-caixa',[BoxesController::class,'destruirCaixa'])->name('destruirCaixa');
                    Route::post('transformar-em-caixa',[BoxesController::class,'emAviso'])->name('emAviso');
                    


                });
            });
            Route::prefix('gestaodepessoal')->name('pessoal.')->group( function () {


                Route::get('/',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.listar');})->name('listar');
                Route::get('novo',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.novo');})->name('novo');
                Route::get('edit',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.editar');})->name('editar');



            });
        });
        Route::prefix('serveços-externos')->name('servext.')->group( function () {
            Route::prefix('configuracaoaarmazem')->name('conf.')->group( function () {

                Route::prefix('arm')->name('arm.')->group( function () {
                    Route::get('/',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.listar');})->name('listar');
                    Route::get('novo',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.novo');})->name('novo');
                    Route::get('edit',function () {    return view('usuarios.funcionarios.secArmazem.configArmazem.armazens.editar');})->name('editar');

                });

            });
            
          
            Route::prefix('ncs')->name('ncs.')->group( function () {
                Route::get('mapa-de-indexacao-geral',function () { return view('usuarios.funcionarios.srvExterno.ncs.mapasindexgeral');})->name('mapa.index.geral');
                Route::get('filtragem',function () { return view('usuarios.funcionarios.srvExterno.ncs.filtragem');})->name('filtragem');
               
            });
            
            Route::prefix('meios')->name('meios.')->group( function () {
                Route::get('novo',function () { return view('usuarios.funcionarios.srvExterno.meios.novo');})->name('novo');
                Route::post('cadastrar-novo',[Servextcontroller::class,'cadastrarMeio'])->name('novo.do');
                Route::post('actualizar-meio',[Servextcontroller::class,'actualizarMeio'])->name('update');
                
                Route::get('listar',function () { return view('usuarios.funcionarios.srvExterno.meios.listar');})->name('listar');
               
            });
            Route::prefix('clientes')->name('clientes.')->group( function () {
                
                Route::get('orgãos-de-estrutura-cliente/{id}',function($id){return view('usuarios.funcionarios.admin.clientes.bases')->with('id',$id);})->name('bases');
                Route::get('tipos-de-orgãos-de-estrutura-cliente/{id}',function($id){return view('usuarios.funcionarios.admin.clientes.tipoorgao')->with('id',$id);})->name('tipo.orgao');
                Route::post('cadastrar-orgao-de-estrutura',[Servextcontroller::class,'cadastrarOE'])->name('cadastrar.oe');
                Route::post('actualizar-orgao-de-estrutura',[Servextcontroller::class,'actualizarOE'])->name('update.oe');
                Route::post('cadastrar-tipo-de-orgao-de-estrutura',[Servextcontroller::class,'cadastrarTOE'])->name('cadastrar.toe');
                Route::post('actualizar-tipo-de-orgao-de-estrutura',[Servextcontroller::class,'actualizarTOE'])->name('update.toe');
               
            });
            
     
            Route::prefix('numeros')->name('numerologia.')->group( function () {
               
                Route::get('todos',function () {    return view('usuarios.funcionarios.srvExterno.pessoal.todos');})->name('todos');
                Route::get('novo',function () {    return view('usuarios.funcionarios.srvExterno.pessoal.transicao');})->name('novo');

            });
            Route::prefix('pessoal')->name('pessoal.')->group( function () {
               
                Route::get('todos',function () {    return view('usuarios.funcionarios.srvExterno.pessoal.todos');})->name('todos');
                Route::get('transicao',function () {    return view('usuarios.funcionarios.srvExterno.pessoal.transicao');})->name('transicao');

            });
            Route::prefix('plano-de-tarefas')->name('planoaccao.')->group( function () {
                
                Route::get('novo',function () {    return view('usuarios.funcionarios.srvExterno.planodeaccao.novo');})->name('novo');
                Route::get('todos',function () {    return view('usuarios.funcionarios.srvExterno.planodeaccao.todos');})->name('todos');
                Route::get('produtividade',function () {    return view('usuarios.funcionarios.srvExterno.planodeaccao.produtividade');})->name('produtividade');
                
                Route::post('cadastrar-plano',[Servextcontroller::class,'cadastrarPlanodetarefa'])->name('add.plano'); 
                
                Route::post('pegar-serie-documental',[Servextcontroller::class,'returnSD'])->name('get.serie.doc.clie'); 
                Route::post('pegar-orgao-estrutura',[Servextcontroller::class,'returnOE'])->name('get.oes.clie');  
               
            });
            Route::prefix('recolhas')->name('recolhas.')->group( function () {
                Route::get('agendamento',function () {    return view('usuarios.funcionarios.srvExterno.recolhas.agendamento');})->name('agendamento');
                Route::get('trimestrais',function () {    return view('usuarios.funcionarios.srvExterno.recolhas.trimestrais');})->name('trimestrais');
                Route::get('semestrais',function () {    return view('usuarios.funcionarios.srvExterno.recolhas.semestrais');})->name('semestrais');
                Route::get('bi-anuais',function () {    return view('usuarios.funcionarios.srvExterno.recolhas.bianuais');})->name('bianuais');

            });
             
            Route::prefix('autos')->name('autos.')->group( function () {
                Route::get('custodia-elaborar',function () {    return view('usuarios.funcionarios.srvExterno.autos.custodia.elaborar');})->name('custodia.elaborar');
                Route::get('custodia-visualizar',function () {    return view('usuarios.funcionarios.srvExterno.autos.custodia.visualizar');})->name('custodia.visualizar');
                Route::get('eliminaca-elaborar',function () {    return view('usuarios.funcionarios.srvExterno.autos.eliminacao.elaborar');})->name('eliminacao.elaborar');
                Route::get('eliminacao-visualizar',function () {    return view('usuarios.funcionarios.srvExterno.autos.eliminacao.visualizar');})->name('eliminacao.visualizar');

            
            });
            Route::prefix('indexacao')->name('indexacao.')->group( function () {
                
                Route::get('nova/01-de-02/orientação',function () {    return view('usuarios.funcionarios.srvExterno.indexacao.nova');})->name('nova');
                Route::get('nova/02-de-02/indexar/{id}',function ($id) {    return view('usuarios.funcionarios.srvExterno.indexacao.indexar')->with('id',$id);})->name('indexar');
                Route::get('visualizar-referencia-de-caixa/{id}',function ($id) {    return view('usuarios.funcionarios.srvExterno.indexacao.visualizarref')->with('id',$id);})->name('abrir');
                Route::get('lista',function () {    return view('usuarios.funcionarios.srvExterno.indexacao.lista');})->name('lista');
                Route::get('mapa-de-indexação/cliente/{id}',function ($id) {    return view('usuarios.funcionarios.srvExterno.indexacao.mapa')->with('id',$id);})->name('mapa.indexacao.cliente');
                Route::get('import-mapa-indexacao',[Servextcontroller::class,'importMapaGeral'])->name('mapa.indexacao.import');
                
                
                Route::get('intervalos-numericos/cliente/{id}',function ($id) {    return view('usuarios.funcionarios.srvExterno.intervalonumerico.view')->with('id',$id);})->name('intervalo.numerico');
                Route::post('novo-intervalo',[Servextcontroller::class,'cadastrarIntervalo'])->name('intervalo.add');
                Route::post('editar-intervalo',[Servextcontroller::class,'actualizarIntervalo'])->name('intervalo.edit');
                
                

                Route::get('parametrização/escolha-do-cliente/',function () {    return view('usuarios.funcionarios.srvExterno.indexacao.clientes');})->name('clientes');
                Route::get('parametrização/parametrizar/cliente/{id}',function ($id) {return view('usuarios.funcionarios.srvExterno.indexacao.parametrizar')->with('id',$id);})->name('parametrizar');
                Route::post('parametrizar',[Servextcontroller::class,'cadastrarCampoMapa'])->name('parametrizar.do');
                Route::post('indexar-linha',[Servextcontroller::class,'indexarLinha'])->name('indexar.linha');
                Route::post('retornar-departamentos',[Servextcontroller::class,'returnDeps'])->name('return.deps');
                Route::post('retornar-caixasdisponiveis',[Servextcontroller::class,'returnNumerosDisponiveis'])->name('return.cxs.dispo');
                Route::post('inicializar-indexacao',[Servextcontroller::class,'iniciarIndex'])->name('inicializar.indexacao');
                Route::post('eliminar-linha-de-indexacao',[Servextcontroller::class,'eliminarLinha'])->name('eliminar.linha');
                Route::post('finalizar-indexacao',[Servextcontroller::class,'finalizarIndexacao'])->name('finalizar.indexacao');
            });
            Route::prefix('mapas-de-produtividade')->name('mapasdeprodutididade.')->group( function () {
                Route::get('mapa-de-produtividade',function () {    return view('usuarios.funcionarios.srvExterno.mapasdeprodutividade.mapasdeprodutividade');})->name('mapa.produtividade');

            });
            
            //Stresss My routes
             Route::prefix('solicitações')->name('solicitacoes.')->group( function () {
                    Route::get('/recebidos',[SolicitacaoController::class,'SolitacoesCustodiaServExt'])->name('solici.listar.recebidos');
                    Route::get('/concluidos',[AutoController::class,'autoCustodiaServExt'])->name('solici.listar.concluido');
                    Route::get('/create/autos',[SolicitacaoController::class,'criaAutoCustodiaServExt'])->name('solici.create');
                    Route::post('/criando/auto',[AutoController::class,'salvarAutoFísicoServiosExtern'])->name('solici.criando.store');
                    Route::post('/imprimir/auto',[AutoController::class,'imprimir_autoCustodiaServExt'])->name('solici.imprimir.print');
                    
                });
        });
        Route::prefix('seccontquali')->name('contqual.')->group( function () {
             
            Route::prefix('dashboard')->name('dash.')->group( function () {
            
                Route::prefix('pendentes')->name('pendentes.')->group( function () {
                    
                    Route::get('/',function () {    return view('usuarios.funcionarios.ctrlQualidade.relatorios.pendentes');})->name('novo'); 
                    Route::post('novo-pendente',[Pendentes::class,'create'])->name('novo.add');
                    Route::post('editar-pendente',[Pendentes::class,'update'])->name('editar');
                    

                
                });
                Route::prefix('clientes')->name('clientes.')->group( function () {
                    
                    Route::get('/continuos',function () {    return view('usuarios.funcionarios.ctrlQualidade.relatorios.clientescontinuos');})->name('continuos');
                    Route::post('novo',[ClientesContinuos::class,'create'])->name('novo.add');
                    Route::post('editar',[ClientesContinuos::class,'update'])->name('editar');
                
                });
                Route::prefix('tempo')->name('tempo.')->group( function () {
                    
                    Route::get('/para-arrumar',function () {    return view('usuarios.funcionarios.ctrlQualidade.relatorios.tempoarrumar');})->name('para.arrumar'); 
                    Route::post('novo',[TempoArrumarController::class,'create'])->name('novo.add');
                    Route::post('editar',[TempoArrumarController::class,'update'])->name('editar');
                    
                });
                Route::prefix('ncs')->name('ncs.')->group( function () {
                    
                    Route::get('/detectadas',function () {    return view('usuarios.funcionarios.ctrlQualidade.relatorios.ncsdetectadas');})->name('ncs'); 
                    Route::post('novo',[Ncs::class,'create'])->name('novo.add');
                    Route::post('editar',[Ncs::class,'update'])->name('editar');
                    
                });
                Route::prefix('reclamacoes')->name('reclamacoes.')->group( function () {
                    
                    Route::get('/',function () {    return view('usuarios.funcionarios.ctrlQualidade.relatorios.reclamacoes');})->name('reclamacoes'); 
                    Route::post('novo',[ReclamacaoController::class,'create'])->name('novo.add');
                    Route::post('editar',[ReclamacaoController::class,'update'])->name('editar');
                    
                });
                Route::prefix('auditoria')->name('auditoria.')->group( function () {
                    
                    Route::get('/interna',function () {    return view('usuarios.funcionarios.ctrlQualidade.relatorios.auditoriainterna');})->name('interna'); 
                    Route::post('novo',[AuditoriaInternaController::class,'create'])->name('novo.add');
                    Route::post('editar',[AuditoriaInternaController::class,'update'])->name('editar');
                    
                });
                Route::prefix('caixas')->name('caixas.')->group( function () {
                    
                    Route::get('/custodia',function () {    return view('usuarios.funcionarios.ctrlQualidade.relatorios.caixasemcustodia');})->name('custodia'); 
                    Route::post('novo',[CaixaCustodiaController::class,'create'])->name('novo.add');
                    Route::post('editar',[CaixaCustodiaController::class,'update'])->name('editar');
                    
                });
            });
        });
        
        //______________D I G I  T  A  L I Z  A  C A  O______________________STRESS
       

        
        Route::prefix('secdigit')->name('digit.')->group( function () {
            Route::prefix('configuracaodigig')->name('confdigi.')->group( function () {

                Route::get('/dashboard-digitalizacao',[DigiIndexController::class,'index'])->name('index');

                Route::prefix('preparacao')->name('preparacao.')->group( function () {
                    Route::get('/index',[DigiIndexController::class,'preparacaoIndex'])->name('index');
                    Route::get('preparando',[DigiPreparandoController::class,'index'])->name('preparando.index');
                    Route::post('parametrizar',[DigiPreparandoController::class,'parametrizacao'])->name('parametrizar.serie.index');
                    Route::get('parametrizar',[DigiPreparandoController::class,'escolha_cliente'])->name('parametrizar.index');
                    //alterar parametrização
                    Route::post('parametrizar-alterar',[DigiPreparandoController::class,'escolha_cliente_alterar'])->name('parametrizar.alterar');
                });

                Route::prefix('acesso')->name('acesso.')->group( function () {
                    Route::get('/cliente/index',[DigiIndexController::class,'acessoCliente'])->name('cliente.index');
                    Route::post('/cliente',[DigiIndexController::class,'acesso_Cliente'])->name('cliente.sec');
                    Route::get('/escolha_cliente',[DigiIndexController::class,'choose_cliente'])->name('choose.cliente.sec');

                    Route::get('clientes/exibir-acessos',[DigiIndexController::class,'meuAcessoCliente_index'])->name('cliente.acessos.index');
                    //Salvar Acesso Digitalizalaçãpo
                    Route::post('/save/acessos/clientes/senha',[DigiIndexController::class,'salvaracessoCientes'])->name('save.acesso.cli1');
                    Route::post('/save/acessos/clientes',[DigiIndexController::class,'salvaracessoCientes'])->name('save.acesso.cli2');


                    //Funciionário___acesso
                    Route::post('/funcionario/definição',[DigiIndexController::class,'acessoFuncionario_create'])->name('funcionario.create');
                    Route::get('/escolha/funcionario/',[DigiIndexController::class,'choose_funcionario'])->name('choose.funcionario.sec');
                    Route::get('/funcionario/exibir-acessos',[DigiIndexController::class,'funcionario_index'])->name('exibir-acessos.funcionario.index');
                    Route::post('/funcionario/save',[DigiIndexController::class,'saveDefinicaoAcessoDigi'])->name('funcionario.save');
                    Route::get('/remover',[DigiIndexController::class,'funcionario_remover'])->name('funcionario.retirar');

                });

                Route::prefix('notificaçao')->name('notifi.')->group( function () {
                    Route::get('/index',[DigiIndexController::class,'notificacao'])->name('notificacao.digi');
                    Route::get('/solitacções',[DigiIndexController::class,'solicitacao_digitalizacao'])->name('solicitacao.digitalizacao.index');
                });


                Route::prefix('pesquisa')->name('pesquisa.')->group( function () {
                    Route::get('/pesquisa/por_cliente',[PesquiDigitalController::class,'Pesquisar_por_clientes'])->name('cliente.pesq');
                    Route::get('/pesquisa/por_cliente/especifico',[PesquiDigitalController::class,'Pesquisar_por_clientes2'])->name('cliente.pesq2');
                    Route::get('/pesquisa/documento',[PesquiDigitalController::class,'documento'])->name('documento.pesq');
                    Route::post('/pesquisa/classe_documental',[PesquiDigitalController::class,'Pesquisar_classe_documental'])->name('cliente.classe.pesq');
                    Route::get('/pesquisa/geral',[PesquiDigitalController::class,'geral'])->name('geral.pesq');
                    Route::get('/pesquisa/avançada',[PesquiDigitalController::class,'avancada'])->name('avancada.pesq');

                     //cascata---Especifico
                    Route::post('/cascata/especifico',[PesquiDigitalController::class,'cascata'])->name('cliente.pesq.cascata');
                    //end index pesaquisar especifico

                    Route::post('/pesquisar/por-classe-documetal',[PesquiDigitalController::class,'cascata2'])->name('cliente.pesq.cascata2');
                    Route::post('/pesquisa/cascata3',[PesquiDigitalController::class,'dadoscascata2'])->name('cliente.pesq.cascata.method');

                    //TRazer  Dados na PEquisa Geral
                    Route::post('/pesquisar/Trazer_dados_clicados/serieDocumetal',[PesquiDigitalController::class,'Trazer_dados_clicados_serieDocumtal'])->name('trazer.dados.click1');
                    Route::get('/pesquisar/Trazer_dados_clicados/serieDocumetal2',[PesquiDigitalController::class,'get_serieDocumtal2'])->name('trazer.dados.click2');

                    //Trazer dados Geral, tipo pesuisa Epecifica
                    Route::get('/pesquisar/geral/Trazer_dados_clicados/atualizados',[PesquiDigitalController::class,'dadosclicados_pesquisa2'])->name('trazer.click2.refresh.pesquisa2');

                    //Trazer dados na Pesuisa Especifica
                    Route::get('/pesquisar/Trazer_dados_clicados/atualizados',[PesquiDigitalController::class,'cacastaUpload'])->name('trazer.dados.click2.refresh');
                    Route::get('/pesquisar/Trazer_dados_clicados/atualizado',[PesquiDigitalController::class,'cacastaUploadRecursivo'])->name('trazer.dados.click2.refresh.recursivo');
                    //xibir dado clicados nas serie doc
                   // Route::get('/pesquisar/Trazer_dados_clicados/serieDocumetal/especificos',[PesquiDigitalController::class,'Trazer_dados_clicados_serieDocumtal2'])->name('trazer.dados.click2');

                    Route::get('/pesquisar/Trazer_dados_form/serieDocumetal',[PesquiDigitalController::class,'trazer_dados_form_serieDocumtal'])->name('trazer.dados.form');


                });


                Route::prefix('historico')->name('historico.')->group( function () {
                    Route::get('/preparados',[DigiHistoricoController::class,'historico_preparados'])->name('hist.preparados');

                });

                Route::prefix('historico')->name('historico.')->group( function () {
                    Route::get('/preparados',[DigiHistoricoController::class,'historico_preparados'])->name('hist.preparados');
                    Route::get('/carregados',[DigiHistoricoController::class,'historico_carregados'])->name('hist.carregados');
                    Route::get('/indexados',[DigiHistoricoController::class,'historico_indexados'])->name('hist.indexados');

                });
                Route::prefix('carregamento')->name('carregamento.')->group( function () {
                    Route::post('/preparaçao',[DigiCarregamentoController::class,'caixa_index'])->name('caixa.index');
                    Route::post('/preparaçao-filezila',[DigiCarregamentoController::class,'caixa_index_carregamento_filezila'])->name('caixa.index2');
                    Route::get('/index',[DigiCarregamentoController::class,'index'])->name('select');

                });

                Route::prefix('paramentro')->name('paramentro.')->group( function () {
                    Route::post('/paramentro/series',[DigiPreparandoController::class,'salvarSeriesDocumetais'])->name('param.digi.serie');
                    Route::post('/paramentro/subseries',[DigiPreparandoController::class,'salvarSubSeriesDocumetais'])->name('param.digi.subserie');

                    Route::post('/paramentro/salvar/campos-dinamicos',[DigiPreparandoController::class,'salvarcampos_Dinamicos'])->name('param.digi.campos.dinam');

                    //trazer campos
                    Route::post('/buscar/por-classe-documetal',[PesquiDigitalController::class,'buscar_seriedoc'])->name('buscar.serie');
                    Route::post('/buscar/serie-documental',[PesquiDigitalController::class,'buscar_Classedoc'])->name('buscar.classe');
                    Route::post('/buscar/edit/sub-serie',[PesquiDigitalController::class,'buscar_subseriedoc_edit'])->name('buscar.classe.edit');
                    Route::post('/buscar/edit/serie',[PesquiDigitalController::class,'buscar_seriedoc_edit'])->name('buscar.serie.documental.edit');


                    //salvar___Atuzai«lziar___Editar
                    Route::post('/salvar/edit/sub-serie',[DigiPreparandoController::class,'salvar_subseriedoc_edit'])->name('salvar.subserie.edit');
                    Route::post('/salvar/edit/campodinamico',[DigiPreparandoController::class,'salvar_campodinamico_edit'])->name('salvar.campodinamico.edit');
                    Route::post('/salvar/edit/serie',[DigiPreparandoController::class,'salvar_Seriedoc_edit'])->name('salvar.serie.edit');
                    Route::post('/salvar/edit/subserie_doc_subserie',[DigiPreparandoController::class,'salvar_subseriedoc_Suberiedoc_edit'])->name('salvar.subserie_doc_subserie.edit');
                    Route::post('/salvar/edit/subserie_doc_subserie/nome',[DigiPreparandoController::class,'salvar_subseriedoc_Suberiedoc_edit_nome'])->name('salvar.subserie_doc_subserie.nome');
                    Route::post('/salvar/edit/subserie_campodinamico',[DigiPreparandoController::class,'salvar_campodinamico_edit'])->name('salvar.sub_serie_campodinamico.edit');
                    Route::post('/buscar/edit/sub-serie_sub-serie',[PesquiDigitalController::class,'buscar_subseriedoc_edit'])->name('buscar.subserie_subserie.edit');

                });
                Route::prefix('carregar-excel')->name('excelcarr.')->group( function () {
                    Route::post('/load',[CsvFileImportController::class,'carregarMetadados'])->name('carregar.Metadados');
                    
                    Route::post('/configuração',[CsvFileImportController::class,'verificarMetadadosInputChange'])->name('verifi.metadados.check');
                    Route::post('/load/xlsv',[CsvFileImportController::class,'carregarMetadadosFileZila'])->name('carregar.Metadados.xlsv');

                });

            });
        });
        //______________D I G I  T  A  L I Z  A  C A  O______________________STRESS
        
           Route::prefix('secpedidosconsulta')->name('pedidosconsulta.')->group( function () {
                Route::prefix('conpedidosconsulta')->name('confpedidosconsulta.')->group( function () {
                    Route::get('dashborad',[PedidosConsultaController::class,'dashboard'])->name('dashboard');

                    Route::prefix('pedidos')->name('pedidos.')->group( function () {


                    //_______ C  _____R   I   A   C   A   O______   D   E  __________A   U  T   O   S 
                        Route::prefix('autos')->name('autos.')->group( function () {
                            Route::post('/create/virtual',[AutoController::class,'SalvarAutoVirtual'])->name('save.auto');
                            Route::post('/create/fisico',[AutoController::class,'SalvarAutoFísico'])->name('save.auto.fisic');
                            Route::get('/listarAutos/virtuais',[AutoController::class,'showaAll'])->name('show.all');//lista dos autos virtuais
                            Route::get('/listarAutos/fisicos',[AutoController::class,'showaAllFisicos'])->name('show.all.fisicos');//lista dos autos fisiocs
                            Route::get('/generatevirtual',[AutoController::class,'generatevirtual'])->name('generate.virtual');
                            //PDF
                            Route::get('/generatevirtual/pdf',[AutoController::class,'generatevirtualPDF'])->name('generate.virtual.pdf');

                            //IMprimir todods os autos
                            Route::get('/listas/autos/index',[AutoController::class,'showaAllAutos_fisicos_virtuais'])->name('all.autos');
                            
                       });
                       
                        //Socilitacao Personal
                       Route::prefix('solitacao/personal')->name('solicitacao.personal.')->group( function () {
                           Route::get('/novos',[SolicitacaoController::class,'personalInterna'])->name('create');
                        });

                        Route::prefix('virtuais')->name('virtuais.')->group( function () {
                             Route::get('/novos',[PedidosConsultaController::class,'indexVirtual'])->name('new');
                             Route::get('/criar',[PedidosConsultaController::class,'criarAutos'])->name('new.create');
                        });
                        ///GHestdock
                        Route::prefix('solicitacaoes/virtuais')->name('solicitacaoes.virtuais.')->group( function () {
                            //socilitacao com a classe solitacao
                            Route::get('/novos',[SolicitacaoController::class,'index'])->name('new.index');
                            Route::get('/create',[SolicitacaoController::class,'createvirtual'])->name('new.create');

                        });
                        //Getsdock
                        Route::prefix('solicitacoes/fisicos')->name('solicitacaoes.fisicos.')->group( function () {
                            //socilitacao com a classe solitacao
                            Route::get('/novos',[SolicitacaoController::class,'indexFisico'])->name('new.index');
                            Route::get('/criar',[SolicitacaoController::class,'criarAutosFisicos'])->name('new.create');
                            //Recolha dos serviços externos
                            Route::get('/ver/recepcao/custodia',[AutoController::class,'showInfoRecepcaoCustodia'])->name('ver.recepcao.custodia');
                        });
                        Route::prefix('fisicos')->name('fisicos.')->group( function () {
                            Route::get('/novos',[PedidosConsultaController::class,'indexFisicos'])->name('new');
                            Route::get('/criar',[PedidosConsultaController::class,'criarAutosFisico'])->name('new.create');
                        });
                        Route::prefix('destruicao')->name('destruicao.')->group( function () {
                            Route::get('/novos',[PedidosConsultaController::class,'indexPedidosDestruicao'])->name('new.pedidos');
                            Route::get('/destruidos',[PedidosConsultaController::class,'indexPedidosDestruidos'])->name('new.list');
                        });
                        
                        
                        
                        
                    //C R  I  A   Ç   A   O     D   E  _____S o l c i t a ç o e s      P e r n s a l     v i a o u t r o     APP
                        Route::prefix('solicitacao/adoc/gestdoc')->name('solicitacao.adoc.gestdoc.')->group( function () {
                            Route::post('/solicitando/caixas',[AdocSolicitacaoController::class,'SolcitacaoCaixasAddoc'])->name('save.caixa');
                            Route::post('/solicitando/documentacao',[AdocSolicitacaoController::class,'SalvarAutoFísico'])->name('save.documentacao');
                            Route::post('/solicitando/doc/digital',[AutoController::class,'showaAll'])->name('save.doc.digital');//lista dos autos virtuais
                            Route::post('/solicitando/recolha/documentos',[AutoController::class,'showaAllFisicos'])->name('save.recolha');//lista dos autos fisiocs

                            //IMprimir todods os autos
                            Route::get('/listas/autos/index',[AutoController::class,'showaAllAutos_fisicos_virtuais'])->name('all.autos');
                            
                       });
                       
                       //______________I   N  F  O  M    M   A  Ç  O E  ES  _____S o l c i t a ç o e s________pEDIDOS CONSULTA
                        Route::prefix('informações/slicitacoes')->name('info.solictacao.gestdoc.')->group( function () {
                            Route::post('/virtaul-recebidos',[PedidosConsultaController::class,'verinfoGestdocSolicitacao_virtaul'])->name('virtual.receive');
                            Route::post('/virtual-concluidos',[PedidosConsultaController::class,'verinfoGestdocSolicitacao_fisica'])->name('virtual.done');
                            
                            Route::post('/fisica-recebidos',[PedidosConsultaController::class,'verinfoGestdocSolicitacao_fisica'])->name('fisica.receive');
                            Route::post('/fisica-concluidos',[PedidosConsultaController::class,'SalvarAutoFísico'])->name('fisica.done');
                         
                            
                       });
                       
                        
                    });

                });
            });
        
    });
           //________________________C L I E N T E____________________
                Route::middleware('clienteSideMD')->prefix('admin')->name('admin.')->group( function () {
                    Route::prefix('cliente')->name('cliente.')->group( function () {
                        
                        //_____________index___________________________
                        Route::get('/pagina_principal',function (){
                            return view('usuarios.clientes.dashboard');
                        })->name('dashboard.cliente');
                                         Route::get('/pagina_principal/resumo',[ConsultaClienteController::class,'indexResumo'])->name('dashboard.cliente.resumo');

                          //__________________ACessos_____________________________
                          Route::prefix('acesso')->name('acesso.')->group( function () {
                            //___________Ressorce_Acesso__________
                            //Route::resource('/regras', RegraController::class);
                            //_______R       E   G  R   A  S
                            Route::get('/regras/index',[ IndexController::class,'index3'])->name('regras.index');
                            Route::get('/permissoes/criar',[ IndexController::class,'indexCriarRegra'])->name('regras.create');
                            Route::post('/permissoes/criando',[ IndexController::class,'criarRegra'])->name('regras.store');
                            Route::put('/permissoes/editando',[ IndexController::class,'editarRegras'])->name('retirar.update');
                            
                            Route::post('/permissoes/retirar',[IndexController::class,'retirarPermissoes'])->name('retirar.permissao');
                            Route::post('/permissoes/retirando',[ RegraController::class,'remover'])->name('retirar.acesso.do');
                            
                            
                            //ACL consulta
                            Route::get('/funcionarios/selecionar',[RegraController::class,'choose_ACL_serieDoc'])->name('pesquisa.doc.choose');
                            Route::post('/seriedocmental/create',[RegraController::class,'create_ACL_serieDoc'])->name('pesquisa.doc');
                            Route::get('/seriedocmental/listar',[RegraController::class,'open_ACL_serieDoc'])->name('pesquisa.doc.index');
        
                        });
                         //__________________ACessos_____________________________
                         Route::prefix('Gestpermissoes')->name('Gestpermissoes.')->group( function () {
                            //___________Ressorce_Acesso__________
                            Route::resource('/permissoes', PermissaoController::class);
                           
        
                        });
        
                            //________________Perfil------------------
                            Route::prefix('meuperfil')->name('myperfil.')->group( function () {
                                Route::resource('/perfil',PerfilController::class);
                                Route::get('/meu-perfil',[IndexController::class,'perfilCliente'])->name('exibir');
                                //Route::get('/editar/meuperfil',[PerfilController::class,'editarFoto'])->name('editar.foto');
                                Route::post('/meuperfil/editar',[FuncionarioClienteController::class,'editarFoto'])->name('editar.foto');
                                
                                Route::post('/funcionario/alterar/single/reset',[FuncionarioClienteController::class,'resertarSingleSenhha'])->name('senha.single.reset');

                        });
                          //________________IACESSO  HISTRICO-----------------
                             Route::prefix('historico/acesso')->name('hist.acesso.')->group( function () {
                                Route::get('clientes',[FuncionarioClienteController::class,'historialAceso'])->name('clientes');

                            });

                        
                          //________________I N D E X A Ç A O------------------
                             Route::prefix('indexação')->name('indexacao.')->group( function () {
                                 
                                Route::post('/precnher/ComboBoxDepa',[IndexacaoController::class,'prencherDepa'])->name('preencher.combobox');
                                Route::get('/consultar/metadados/gestdoc',[IndexacaoController::class,'consultarMetados'])->name('consultar.list');
                                
                                Route::post('/sugestao/box',[IndexacaoController::class,'sugestao'])->name('sugestao.box');
                                Route::get('/sugestoes/box/',[IndexacaoController::class,'sugestaoMore'])->name('sugestao.box.more');
                                
                                //NUMERAÇÕES
                                Route::post('/sugestoes/numeracoes',[IndexacaoController::class,'returnNumerosDisponiveisCliente'])->name('numeracoes.sugestoes');
                                
                                Route::get('/agendar/novo',[IndexacaoController::class,'openAgendar'])->name('openAgendar');
                                Route::get('/agendar/listar',[IndexacaoController::class,'listarAgendar'])->name('listarAgendar');
                                Route::post('/agendar/save',[Servextcontroller::class,'cadastrarPlanodetarefa'])->name('save');
                                Route::post('/agendar/atualizar',[Servextcontroller::class,'actualizarPlanodetarefa'])->name('update');

                                //A   D  O  C
                                Route::get('/indexar/novo/adoc',[IndexacaoController::class,'openIndexarAdoc'])->name('openIndexarAdoc');
                                Route::post('/indexar/salvando/adoc',[IndexacaoController::class,'salvarAgendaAdoc'])->name('salvarndo.IndexarAdoc');
                                // E  N  D         A   D  O  C
                                    
                                
                                Route::post('/indexar/novo',[IndexacaoController::class,'openIndexar'])->name('openIndexar');
                                Route::get('/linhas/listar',[IndexacaoController::class,'listarAgendar'])->name('listarIndexar');
                                Route::post('/linhas/show',[IndexacaoController::class,'ShowIndexar'])->name('show.Indexar');
                                Route::get('/indexacao-finalizadas',[IndexacaoController::class,'listarIndexacaoFinalizadas'])->name('finish.Indexada');
                                Route::post('/indexacao-finalizadas/show',[IndexacaoController::class,'showIndexacaoFinalizadas'])->name('show.finish.Indexada');

                                Route::post('/indexar/salvando',[Servextcontroller::class,'indexarLinha'])->name('salvando.Indexar');
                                Route::post('/finalizar-linha',[Servextcontroller::class,'finalizarIndexacao'])->name('finalizar.Indexar');

                                Route::post('/atualizar-linha',[Servextcontroller::class,'actualizarPlanodetarefa'])->name('update.Indexar');
                                Route::post('/eliminar-linha',[Servextcontroller::class,'eliminarLinhaClientes'])->name('eliminar.Indexar');
                            });

                            
                                           //________________C A  R  R E G A M E N T O   C L I E N T E-----------------
                              Route::prefix('carregamento/cliente')->name('carregamento.cliente.')->group( function () {
                                Route::get('/',[CarregamentoCliente::class,'index'])->name('index');
                                Route::get('/multi-files',[CarregamentoCliente::class,'index'])->name('multi.files');

                            });

        
                         //________________Meus Ufncionario___________________
                         Route::prefix('GestFuncionario')->name('Gestfuncionario.')->group( function () {
                            //Route::resource('/funcionario',FuncionarioClienteController::class);
                            Route::get('/funcionario/index',[IndexController::class,'index1'])->name('funcionario.index');
                            Route::get('/funcionario/criar',[IndexController::class,'indexCriarFuncionario'])->name('funcionario.create');
                            Route::post('/funcionario/editar',[IndexController::class,'indexEditFuncionario'])->name('funcionario.show');
                            Route::post('/funcionario/cadastrando',[IndexController::class,'criarFuncionario'])->name('funcionario.store');
                            Route::post('/funcionario/editando',[IndexController::class,'editarFuncionario'])->name('funcionario.update');
                            Route::post('/funcionario/destroy',[IndexController::class,'eliminarFuncionario'])->name('funcionario.destroy');
                            
                            
                            Route::get('/ajuda',[FuncionarioClienteController::class,'ajuda'])->name('ajuda1');
                            Route::post('/ajuda/enviar',[FuncionarioClienteController::class,'sugestaoCienteSave'])->name('ajuda1.save');
                            
                         });

                         //________F     U   N   C   A    O  _________
                         Route::prefix('GestFuncao')->name('GestFuncao.')->group( function () {
                            //Route::resource('/funcao',CategoriaClienteController::class);
                            Route::get('/funcoes/index',[IndexController::class,'index2'])->name('funcao.index');
                            //Route::get('/funcoes/create',[IndexController::class,'IndexCriarFuncao'])->name('funcao.create');
                            Route::get('/funcao/editar',[IndexController::class,'IndexEditarFuncao'])->name('funcao.show');
                            Route::post('/funcao/editar',[IndexController::class,'EditarFuncao'])->name('funcao.update');
                            Route::post('/funcao/create',[IndexController::class,'criarFuncao'])->name('funcao.store');
                         });

                          //________________Solicitação ___________________
                          Route::prefix('GestSolicitacao')->name('GestSolicitacao.')->group( function () {
                            //Route::resource('/documentacao',PersonalSolitacaoController::class);
                            Route::get('/virtual/index',[PersonalSolitacaoController::class,'solicitacaoVirtual'])->name('documentacao.index');
                            Route::get('/fisica/index',[PersonalSolitacaoController::class,'solicitacaoFisica'])->name('doc.fisica');
                            
                            //S o l i c i t a ç õ e s __________finalizadas vi r  t u  a l d o s  c l i e n t e s
                            Route::get('/virtual/concluidas',[PersonalSolitacaoController::class,'solicitacaoVirtualFinish'])->name('virtual.end.index');
                            Route::get('/fisica/concluidas',[PersonalSolitacaoController::class,'solicitacaoFisicaFinish'])->name('fisica.end.index');
                            
                            Route::get('/destruicao/index',[PersonalSolitacaoController::class,'open_solicitacaoDestruicao'])->name('open_solicitacao.destruicao');
                            Route::get('/destruicao/create',[PersonalSolitacaoController::class,'solicitacaoDestruicao'])->name('solicitacao.destruicao');
                            
                            //Crud criar Solictaçoes
                            Route::post('/pedido/destruicao/do',[PersonalSolitacaoController::class,'doSocilitarDestruicao'])->name('do.pedido.destruicao');
                            
                            Route::prefix('solitacao/personalizado')->name('personalizado.')->group( function () {
                                Route::get('/novos/{personal}',[PersonalSolitacaoController::class,'solicitacaoPersonalizado'])->name('new.person');
                                Route::post('/criar',[PersonalSolitacaoController::class,'criarSolictacaoPersonalizada'])->name('new.create');
                           });
                           
        
                            
                        });
                        
                         //________________VEr Ficheiros ___________________
                              Route::prefix('exibir')->name('exibir.solictacao.')->group( function () {
                                //Route::get('/consulta',[PersonalSolitacaoController::class,'abirPesquisaDocCliente'])->name('consulta.index');
                                Route::post('/informações_virtaul',[ConsultaClienteController::class,'exibirDadosSolicitacoes'])->name('index');
                                Route::post('/informações_concluidas',[ConsultaClienteController::class,'exibirDadosSolicitacoeConcluidas'])->name('index.concluidas');
                                //  F    i     s    i    c   a   s  
                                Route::post('/informações-fisicas',[ConsultaClienteController::class,'exibirDadosSolicitacoesFisicas'])->name('index.fisica');
                                Route::post('/informações_concluidas/fisica',[ConsultaClienteController::class,'exibirDadosSolicitacoeConcluidasFisicas'])->name('index.concluidas.fisica');
                            });

                              //________________Consulta ___________________
                              Route::prefix('GestConsulta')->name('GestConsulta.')->group( function () {
                                //Route::get('/consulta',[PersonalSolitacaoController::class,'abirPesquisaDocCliente'])->name('consulta.index');
                                Route::get('/consultar',[ConsultaClienteController::class,'index'])->name('consulta.index');
                                Route::post('/consulta/serie/documental',[ConsultaClienteController::class,'pesquisarClienteDados_caregados'])->name('consulta.clik.cliente');
                            });

                          //________________chat ___________________
                          Route::prefix('GestChat')->name('Gestchat.')->group( function () {
                            Route::resource('/chat',MyMessageController::class);
                            Route::post('/chatcreate',[MessageController::class,'enviarMenssage'])->name('enviar.message');
                            Route::post('/chatlist',[MessageController::class,'listarMenssage'])->name('listar.message');
                            Route::post('/chat/clientes/info',[MessageController::class,'listarMenssage'])->name('chat.info.cliente');
                            Route::post('/chat/clientes/open',[GestMessage::class,'abrirMensagem'])->name('chat.open.msg');
                            Route::get('/chat/solicitacao',[MessageController::class,'meuchat'])->name('chat.solicitacao');
                            
                            Route::get('/chats/minhas',[MyMessageController::class,'index'])->name('chat1.solicitacao1');
                            
                            Route::post('/chat/meusFiles',[MessageController::class,'uploadfiles'])->name('listar.meuFiles');
                            Route::post('/sendmessage',[MessageController::class,'store'])->name('sendmessage.store');
                            
                            Route::post('/chat/new/conversa',[ConversaController::class,'criarNovaConversa'])->name('conversa.new.message');
                            Route::post('/chat/new/analizar',[ConversaController::class,'verifcarConversaAberta'])->name('conversa.new.verificar');
                            Route::post('/chat/new/assuntos',[MessageController::class,'trazerChatAssuntos'])->name('conversa.new.assuntos');
                            Route::post('/chat/look_me/ass',[MessageController::class,'look_me'])->name('look_me');
                            Route::post('/chat/terminar/conversa',[ConversaController::class,'terminarConversa'])->name('end.coversa.cliente');
                            Route::post('/chat/exibir/assunto',[GestMessage::class,'exibirAssuntoDoCliente'])->name('exibir.Assunto.cliente');


                         
                            
                        });
        
                    });
                });
                
        
        
    }); 

});
     Route::get('excel-form',function (){
         
         return view('emails.TexteMail');
     });

    Route::post('excel1',[TextExcelController::class,'execlimport'])->name('excel.import');
    Route::post('my@acessos',function(){ return view('usuarios.acessos.stress.list');})->name('stress.acesso');
    Route::get('my@acessos',function(){ return view('usuarios.acessos.stress.mypage');});
    
        






