@extends('usuarios.funcionarios.master.layout2')

@section('conteudo')


<!--<script src="https://cdn.jsdelivr.net/npm/chart.js@3.5.0/dist/chart.min.js"></script>-->
 <nav class="d-none">
            {{ $base = \App\Models\BaseGestdoc::first()}}
            {{ $armazens=\App\Models\ArmazemModel::where('base_id',$base->id)->get() }}

            {{$cr=0}}
            {{$md=0}}
            {{$cel=0}}
            {{$fil=0}}
            {{$espC=0}}
            @foreach($armazens as $arm)
                {{$corredores= \App\Models\Corredor::where('armazem_id',$arm->id)->get()}}
                {{$cr+=$corredores->count()}}
                @foreach($corredores as $crr)
                    {{$modul=$crr->getModulos}}
                    {{$md+=$modul->count()}}
                    @foreach($modul as $mod)
                        {{$cel+=$mod->getCelulas->count()}}
                        @foreach($mod->getCelulas as $cell)
                            {{$filNumbers=\App\Models\Fileira::where('celula_id',$cell->id)->get()}}
                            @if($filNumbers)
                                {{ $fil+=$filNumbers->count() }}
                            @endif
                            
                            
                            @if($cell->getEspCx)
                              {{ $espC+=$cell->getEspCx->espacoscaixa }}
                             
                            @endif
                        @endforeach
                    @endforeach
                @endforeach
            @endforeach
       
        {{$us=\App\Models\User::all()}}
        {{$cxArrumadas=\App\Models\ArrumacaoModel::count()}}
        {{$usCount=$us->count()}}
        {{$usr=$usCount}}
        {{$fun=\App\Models\Funcionario::all()}}
        {{$cli=\App\Models\Cliente::get()}}
        {{$cl=$cli->count()}}
        {{$funPer=($fun->count()*$usCount)/100}}
        {{$cliPer=intval(($cl*100)/$usCount)}} 
        {{$caixasArrumadas=0}}
        @foreach($cli as $client)
            
            
            {{$Arrumado=\App\Models\Caixa::join('reservas','reservas.id','=','caixas.reserva_id')->where('reservas.cliente_id',$client->id)->where('estado','Arrumado')->get()}}
            {{$caixasArrumadas+=$Arrumado->count()}}
        @endforeach
     {{$pendentes=\App\Models\Pendente::where('ano',date('Y'))->get()}}
     {{$caixasCustodia=\App\Models\CaixaCustodia::where('ano',date('Y'))->get()}}
     {{$auditooriasInterna=\App\Models\AuditoriaInterna::where('ano',date('Y'))->get()}}
     {{$reclamacoes=\App\Models\Reclamacao::where('ano',date('Y'))->get()}}
     {{$ncs=\App\Models\NcDetectada::where('ano',date('Y'))->get()}}
     
     
                 
    @php
     
			 
         $dataClientesCont = array(); $mes=0;
         for($pen=0; $pen<=11; $pen++) {
           
           
            $mes=$pen+1;
           
            $clienteCont2=\App\Models\ClienteContinuo::where('ano',date('Y'))->where('mes',$mes)->first();
            
            if($clienteCont2){
                
                array_push($dataClientesCont,$clienteCont2->clientes);
            
            }
            else{
                
                array_push($dataClientesCont,0);
                 
                
            }
            
            
           
         }
         
         $dataTempoArrumar = array(); $mes=0;
         for($pen=0; $pen<=11; $pen++) {
           
           
            $mes=$pen+1;
           
            $tempoArrumar2=\App\Models\TempoArrumar::where('ano',date('Y'))->where('mes',$mes)->first();
            
            if($tempoArrumar2){
                
                array_push($dataTempoArrumar,$tempoArrumar2->tempo);
            
            }
            else{
                
                array_push($dataTempoArrumar,0);
                 
                
            }
            
            
           
         }
         $dataNCs = array(); $mes=0;
         for($pen=0; $pen<=11; $pen++) {
           
           
            $mes=$pen+1;
           
            $ncs2=\App\Models\NcDetectada::where('ano',date('Y'))->where('mes',$mes)->first();
            
            if($ncs2){
                
                array_push($dataNCs,$ncs2->ncs);
            
            }
            else{
                
                array_push($dataNCs,0);
                 
                
            }
            
            
           
         }
         
         $dataReclamacoes = array(); $mes=0;
         for($pen=0; $pen<=11; $pen++) {
           
           
            $mes=$pen+1;
           
            $reclamacoes2=\App\Models\Reclamacao::where('ano',date('Y'))->where('mes',$mes)->first();
            
            if($reclamacoes2){
                
                array_push($dataReclamacoes,$reclamacoes2->reclamacoes);
            
            }
            else{
                
                array_push($dataReclamacoes,0);
                 
                
            }
            
            
           
         }
         $dataAuditoria = array(); $mes=0;
         for($pen=0; $pen<=11; $pen++) {
           
           
            $mes=$pen+1;
           
            $auditooriasInterna2=\App\Models\AuditoriaInterna::where('ano',date('Y'))->where('mes',$mes)->first();
            
            if($auditooriasInterna2){
                
                array_push($dataAuditoria,$auditooriasInterna2->auditorias);
            
            }
            else{
                
                array_push($dataAuditoria,0);
                 
                
            }
            
            
           
         }
         
         
        $dataPendente = array(); $mes=0;
         for($pen=0; $pen<=11; $pen++) {
           
           
            $mes=$pen+1;
           
            $pendentes2=\App\Models\Pendente::where('ano',date('Y'))->where('mes',$mes)->first();
            
            if($pendentes2){
                
                array_push($dataPendente,$pendentes2->numero);
            
            }
            else{
                
                array_push($dataPendente,0);
                 
                
            }
            
            
           
         }
         
         
         
        $dataCaixasCustodia = array(); 
        $mes=0;
         for($pen=0; $pen<=11; $pen++) {
           
           
            $mes=$pen+1;
           
            $caixasCustodia2=\App\Models\CaixaCustodia::where('ano',date('Y'))->where('mes',$mes)->first();
            
            if($caixasCustodia2){
                
                array_push($dataCaixasCustodia,$caixasCustodia2->caixas);
            
            }
            else{
                
                array_push($dataCaixasCustodia,0);
                 
                
            }
            
            
           
         }
    @endphp
    </nav>
           
<nav class="bg-white shadow p-4">
    <div class="container"> 
       
        <h3>GESTDOC {{date('Y')}}-{{date('M')}}-{{date('d')}}</h3> 
        
        {{-- <h5 class="m-t-1">Revenue: <span class="tag tag-success" id="revenue-tag">$15,341,110</span></h5> --}}
        <hr class="m-t-2">

             

        <!-- sales doughnut charts -->
        <div class="row">
            <div class="col-6">
                 <h6>Pendentes</h6>
                <canvas id="numPendentes" height="130"></canvas>
            </div>

              <div class="col-6   ">
                  <br><br>    
                 <div class="row " style="display: inline-block;" >
                    <div class="tile_count">
                     
                        <div class="col-md-6 col-sm-6 self-align-end tile_stats_count">
                            <span class="count_top"><i class="fa fa-user"></i> Usuarios</span>
                            <div class="count">{{ \App\Models\User::count() }}</div>
                            <span class="count_bottom"><i class="text-success"><i class="fa fa-sort-asc"></i>{{$cl}} </i> Clientes</span> 
                        </div>
                        <div class="col-md-6 col-sm-6  self-align-center tile_stats_count">
                            <span class="count_top"><i class="fa fa-user"></i>Capacidade</span>
                            <div class="count">{{ $espC }}</div>
                         
                         
                                <span class="count_bottom">({{ $caixasArrumadas }}) </span>
                           
                        </div>
                         
                    </div>
                </div>
            </div>
            
        </div>
        <!-- row sales doughnt charts -->

        <hr>
        <div class="row">
            <div class="col-md-4">
               <h6>Clientes contínuos</h6>
                <canvas id="clientesContinuos"  height="200"></canvas>
                  
            </div>

            <div class="col-md-4">
                 <h6>Tempo para arrumar</h6>
                <canvas id="tempoArrumar"  height="200"></canvas>
            </div>

            <div class="col-md-4">
                <h6>NC's Detectadas</h6>
                <canvas id="ncsDetectadas" height="200"></canvas>
            </div>
            
        </div>
        
        
        <div class="row">
            <div class="col-md-4">
                <h6>Reclamações</h6>
                <canvas id="numReclamacoes"  height="200"></canvas>
            </div>
            <div class="col-md-4">
                <h6>Auditoria Interna</h6>
                <canvas id="numAuditInterna" height="200"></canvas>
            </div>
            <div class="col-md-4">
                <h6>Caixas em custódia</h6>
                <canvas id="numCaixasCustodia"  height="200"></canvas>
            </div>
        </div>
         
        
          
    </div> <!-- container -->

</nav>



    <script>
			$(function () {
			
                
                var Data= [0,'{{$dataClientesCont[0]}}','{{$dataClientesCont[1]}}','{{$dataClientesCont[2]}}','{{$dataClientesCont[3]}}','{{$dataClientesCont[4]}}','{{$dataClientesCont[5]}}'
                ,'{{$dataClientesCont[6]}}','{{$dataClientesCont[7]}}','{{$dataClientesCont[8]}}','{{$dataClientesCont[9]}}','{{$dataClientesCont[10]}}','{{$dataClientesCont[11]}}',0]
               // [0,32, 32, 35, 35, 35,36,60]
               
                let labels =['','Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro',''];
                let data = {
                  labels: labels,
                  datasets: [{
                    label: 'Número de clientes contínuos',
                    // backgroundColor: 'rgb(42,63,84)',
                    borderColor: 'rgb(42,63,84)',
                    data: Data,
                    borderWidth: 2
                  }]
                };
                let config = {
                  type: 'line',
                  data,
                  options: {
                      animation: {
                          onComplete: () => {
                            delayed = true;
                          },
                          delay: (context) => {
                            let delay = 0;
                            if (context.type === 'data' && context.mode === 'default' && !delayed) {
                              delay = context.dataIndex * 300 + context.datasetIndex * 100;
                            }
                            return delay;
                          },
                        },
                        responsive: true,
                       title: {
                            display: true,
                            text: 'Número de clientes contínuos',
                          },
                        legend: {
                            display: false
                        },
                        tooltips: {
                            mode: 'index',
                            intersect: true
                        },
                       scales: {
                            y: {
                                beginAtZero: false
                            }
                        }
                  }
                };
                
                var grafico = new Chart($("#clientesContinuos"),config);
                    
                // Tempo de arrumacao
                
                var Data= [0,'{{$dataTempoArrumar[0]}}','{{$dataTempoArrumar[1]}}','{{$dataTempoArrumar[2]}}','{{$dataTempoArrumar[3]}}','{{$dataTempoArrumar[4]}}','{{$dataTempoArrumar[5]}}'
                ,'{{$dataTempoArrumar[6]}}','{{$dataTempoArrumar[7]}}','{{$dataTempoArrumar[8]}}','{{$dataTempoArrumar[9]}}','{{$dataTempoArrumar[10]}}','{{$dataTempoArrumar[11]}}',0]
                //[0,4, 4, 4, 5, 4,4,8]
               
                let labelsTempArr =['','Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro',''];
                let dataTempArr = {
                  labels: labelsTempArr,
                  datasets: [{
                    label: 'Numero de dias para a arrumação',
                    // backgroundColor: 'rgb(42,63,84)',
                    borderColor: 'rgb(42,63,84)',
                    data: Data,
                    borderWidth: 2
                  }]
                };
                let configTempArr = {
                  type: 'bar',
                  data:dataTempArr,
                  options: {
                      animation: {
                          onComplete: () => {
                            delayed = true;
                          },
                          delay: (context) => {
                            let delay = 0;
                            if (context.type === 'data' && context.mode === 'default' && !delayed) {
                              delay = context.dataIndex * 300 + context.datasetIndex * 100;
                            }
                            return delay;
                          },
                        },
                        responsive: true,
                       title: {
                            display: true,
                            text: 'Numero de dias para a arrumação',
                          },
                        legend: {
                            display: false
                        },
                        tooltips: {
                            mode: 'index',
                            intersect: true
                        },
                       scales: {
                            y: {
                                beginAtZero: false
                            }
                        }
                  }
                };
                var tempoArrumar = new Chart($("#tempoArrumar"),configTempArr);
                 
                 
                // Numero de NCS detectadas
                var Data= [0,'{{$dataNCs[0]}}','{{$dataNCs[1]}}','{{$dataNCs[2]}}','{{$dataNCs[3]}}','{{$dataNCs[4]}}','{{$dataNCs[5]}}'
                ,'{{$dataNCs[6]}}','{{$dataNCs[7]}}','{{$dataNCs[8]}}','{{$dataNCs[9]}}','{{$dataNCs[10]}}','{{$dataNCs[11]}}',0]
                //[0,447, 421, 498, 1563,754,419, 2000]
                
                let labelsncsDetectadas=['','Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro',''];
                let datancsDetectadas = {
                  labels: labelsncsDetectadas,
                  datasets: [{
                    label: '',
                    // backgroundColor: 'rgb(42,63,84)',
                    borderColor: 'rgb(42,63,84)',
                    data:Data ,
                    borderWidth: 1
                  }]
                };
                let configncsDetectadas = {
                  type: 'bar',
                  data:datancsDetectadas,
                  options: {
                      animation: {
                          onComplete: () => {
                            delayed = true;
                          },
                          delay: (context) => {
                            let delay = 0;
                            if (context.type === 'data' && context.mode === 'default' && !delayed) {
                              delay = context.dataIndex * 300 + context.datasetIndex * 100;
                            }
                            return delay;
                          },
                        },
                        responsive: true,
                       title: {
                            display: true,
                            text: 'Numero de NC´s detectadas',
                          },
                        legend: {
                            display: false
                        },
                        tooltips: {
                            mode: 'index',
                            intersect: true
                        },
                       scales: {
                            y: {
                                beginAtZero: false
                            }
                        }
                  }
                };
               
             
                var ncsDetectadas = new Chart($("#ncsDetectadas"),configncsDetectadas);
                
                // Numero de Reclamacoes    
                var Data= [0,'{{$dataReclamacoes[0]}}','{{$dataReclamacoes[1]}}','{{$dataReclamacoes[2]}}','{{$dataReclamacoes[3]}}','{{$dataReclamacoes[4]}}','{{$dataReclamacoes[5]}}'
                ,'{{$dataReclamacoes[6]}}','{{$dataReclamacoes[7]}}','{{$dataReclamacoes[8]}}','{{$dataReclamacoes[9]}}','{{$dataReclamacoes[10]}}','{{$dataReclamacoes[11]}}',0]
                //[0,1, 0, 0, 0, 0,0,3]
                
                let labelsnumReclamacoes =['','Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro',''];
                let datanumReclamacoes = {
                  labels: labelsnumReclamacoes,
                  datasets: [{
                    label: '',
                    // backgroundColor: 'rgb(42,63,84)',
                    borderColor: 'rgb(42,63,84)',
                    data: Data,
                    borderWidth: 1
                  }]
                };
                let confignumReclamacoes = {
                  type: 'bar',
                  data:datanumReclamacoes,
                  options: {
                      animation: {
                          onComplete: () => {
                            delayed = true;
                          },
                          delay: (context) => {
                            let delay = 0;
                            if (context.type === 'data' && context.mode === 'default' && !delayed) {
                              delay = context.dataIndex * 300 + context.datasetIndex * 100;
                            }
                            return delay;
                          },
                        },
                        responsive: true,
                       title: {
                            display: true,
                            text: 'Numero de Reclamações',
                          },
                        legend: {
                            display: false
                        },
                        tooltips: {
                            mode: 'index',
                            intersect: true
                        },
                       scales: {
                            y: {
                                beginAtZero: false
                            }
                        }
                  }
                };
                
                  
                var numReclamacoes = new Chart($("#numReclamacoes"),confignumReclamacoes);
                
                // Numero de auditoria interna
   
                
                 var Data= [0,'{{$dataAuditoria[0]}}','{{$dataAuditoria[1]}}','{{$dataAuditoria[2]}}','{{$dataAuditoria[3]}}','{{$dataAuditoria[4]}}','{{$dataAuditoria[5]}}'
                ,'{{$dataAuditoria[6]}}','{{$dataAuditoria[7]}}','{{$dataAuditoria[8]}}','{{$dataAuditoria[9]}}','{{$dataAuditoria[10]}}','{{$dataAuditoria[11]}}',0]
                
                //data: [0,8, 0, 4, 0, 1,0,10],
                let labelsnumAuditInterna =['','Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro',''];
               
                let datanumAuditInterna = {
                  labels: labelsnumAuditInterna,
                  datasets: [{
                    label: 'Numero de auditorias internas',
                    // backgroundColor: 'rgb(42,63,84)',
                    borderColor: 'rgb(42,63,84)',
                    data: Data,
                    borderWidth: 1
                  }]
                };
                let confignumAuditInterna = {
                  type: 'bar',
                  data:datanumAuditInterna,
                  options: {
                      animation: {
                          onComplete: () => {
                            delayed = true;
                          },
                          delay: (context) => {
                            let delay = 0;
                            if (context.type === 'data' && context.mode === 'default' && !delayed) {
                              delay = context.dataIndex * 300 + context.datasetIndex * 100;
                            }
                            return delay;
                          },
                        },
                        responsive: true,
                       title: {
                            display: true,
                            text: 'Numero de auditorias internas',
                          },
                        legend: {
                            display: false
                        },
                        tooltips: {
                            mode: 'index',
                            intersect: true
                        },
                       scales: {
                            y: {
                                beginAtZero: false
                            }
                        }
                  }
                };

                 var numAuditInterna = new Chart($("#numAuditInterna"),confignumAuditInterna);
                
                // Número de caixas sob custódia
                var Data= [0,'{{$dataCaixasCustodia[0]}}','{{$dataCaixasCustodia[1]}}','{{$dataCaixasCustodia[2]}}','{{$dataCaixasCustodia[3]}}','{{$dataCaixasCustodia[4]}}','{{$dataCaixasCustodia[5]}}'
                ,'{{$dataCaixasCustodia[6]}}','{{$dataCaixasCustodia[7]}}','{{$dataCaixasCustodia[8]}}','{{$dataCaixasCustodia[9]}}','{{$dataCaixasCustodia[10]}}','{{$dataCaixasCustodia[11]}}',0]
                 //[60000,89579, 90272, 91516,92553, 93422,95562, 120000]
                let labelsnumCaixasCustodia = ['','Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro',''];
                let datanumCaixasCustodia = {
                  labels: labelsnumCaixasCustodia,
                  datasets: [{
                    label: 'Numero de caixas sob custódia',
                    // backgroundColor: 'rgb(42,63,84)',
                    borderColor: 'rgb(42,63,84)',
                    data: Data,
                    backgroundColor: [
                        'rgba(255, 99, 132, 0.2)',
                        'rgba(54, 162, 235, 0.2)',
                        'rgba(255, 206, 86, 0.2)',
                        'rgba(75, 192, 192, 0.2)',
                        'rgba(153, 102, 255, 0.2)',
                        'rgba(255, 159, 64, 0.2)'
                    ],
                    borderWidth: 1
                  }]
                  

                };
                let confignumCaixasCustodia = {
                  type: 'line',
                  data:datanumCaixasCustodia,
                  options: {
                      animation: {
                          onComplete: () => {
                            delayed = true;
                          },
                          delay: (context) => {
                            let delay = 0;
                            if (context.type === 'data' && context.mode === 'default' && !delayed) {
                              delay = context.dataIndex * 300 + context.datasetIndex * 100;
                            }
                            return delay;
                          },
                        },
                        responsive: true,
                       title: {
                            display: true,
                            text: 'Numero de caixas sob custódia',
                          },
                        legend: {
                            display: false
                        },
                        tooltips: {
                            mode: 'index',
                            intersect: true
                        },
                       scales: {
                            y: {
                                beginAtZero: false
                            }
                        }
                  }
                };
        
        
                var numCaixasCustodia = new Chart($("#numCaixasCustodia"),confignumCaixasCustodia);
    
        
        
        
                 
                var Data= [0,'{{$dataPendente[0]}}','{{$dataPendente[1]}}','{{$dataPendente[2]}}','{{$dataPendente[3]}}','{{$dataPendente[4]}}','{{$dataPendente[5]}}'
                ,'{{$dataPendente[6]}}','{{$dataPendente[7]}}','{{$dataPendente[8]}}','{{$dataPendente[9]}}','{{$dataPendente[10]}}','{{$dataPendente[11]}}',0]
                // Gráfico de pendentes 
                let labelsnumPendentes = ['','Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro',''];
                let datanumPendentes = {
                  labels: labelsnumPendentes,
                  datasets: [{
                    label: 'Numero de pendentes',
                    // backgroundColor: 'rgb(42,63,84)',
                    borderColor: 'rgb(42,63,84)',
                    data:Data,
                    borderWidth: 1
                  }]
                  

                };
                
                
                let confignumPendentes = {
                  type: 'bar',
                  data:datanumPendentes,
                  options: {
                      animation: {
                          onComplete: () => {
                            delayed = true;
                          },
                          delay: (context) => {
                            let delay = 0;
                            if (context.type === 'data' && context.mode === 'default' && !delayed) {
                              delay = context.dataIndex * 300 + context.datasetIndex * 100;
                            }
                            return delay;
                          },
                        },
                       responsive: true,
                       title: {
                            display: true,
                            text: 'Numero de pendentes',
                          },
                        legend: {
                            display: false
                        },
                        tooltips: {
                            mode: 'index',
                            intersect: true
                        },
                       scales: {
                            y: {
                                beginAtZero: false
                            }
                        },
                       
                  }
                };
                
                
                var numPendentes = new Chart($("#numPendentes"),confignumPendentes);
    
			});

		</script>
@endsection
