TransWar File Browser

Path: C:\

<?php
///////////////////////////////////////////////////////////
//                                                       //
//      PROGRAMA ATUALIZA QUADRO DE FUNCIONÁRIOS,        //
//       ZERA APONTAMENTOS DA JORNADA ANTERIOR E         //
//        ATUALIZA HORÁRIO DE ENTRADA E SAÍDA.           //
//                                                       //
///////////////////////////////////////////////////////////
ini_set('max_execution_time',259200); 
ini_set ('memory_limit','-1');
error_reporting(E_ALL);
ini_set('display_errors', 'On');
date_default_timezone_set('America/Sao_Paulo');
$ja = date("Y-m-d H:i");
$agora = strtotime($ja); // para a rotina diária
//$agora = strtotime('2022-02-17 02:00'); //para zerar todos os apontamentos
$matriz = file_get_contents('upload/funcionario.json');
$pessoa=json_decode($matriz, true);
$p=count($pessoa);
require_once("../conexao_srvtms.php");
$query="SELECT	 rtrim(b.ds_Pessoa) as Empresa
,rtrim(c.ds_Pessoa) as Nome
,a.[hr_Entrada] as hora1
,a.[hr_Saida] as hora2
,rtrim(a.[ds_LocalTrabalho]) as Local_Trabalho
,rtrim(a.[ds_Departamento]) as Departamento
,rtrim(d.ds_Funcao) as Funcao
,a.[nr_PIS] as PIS
,case 
		when a.id_Sexo = '1' then 'M'
		when a.id_Sexo = '2' then 'F'
		else 'null' end Sexo
,rtrim(a.cm_Comentario) as Coment
FROM [dtbTransporte].[dbo].[tbdFuncionario] as a
left join [dtbTransporte].[dbo].tbdPessoa as b on a.id_RhFilialPadrao = b.id_Pessoa
left join [dtbTransporte].[dbo].tbdPessoa as c on a.id_Funcionario = c.id_Pessoa
left join [dtbTransporte].[dbo].tbdFuncao as d on d.id_Funcao = a.id_Funcao
where id_Status='1' and id_TipoContratacao='1' and b.ds_Pessoa is not null and rtrim(a.cm_Comentario)<>'SEM'
and a.[nr_PIS] is not null and a.[nr_PIS] <> '' and ltrim(a.[hr_Saida]) <>':' 
and (ltrim(b.ds_Pessoa)='TRANS WAR - CAMPINAS' or ltrim(b.ds_Pessoa)='TRANS RAW - CAMPINAS'
	or ltrim(b.ds_Pessoa)='TRANS WAR - OSASCO' or ltrim(b.ds_Pessoa)='TRANS RAW - OSASCO')
order by c.ds_Pessoa";
$consulta = sqlsrv_query($conn, $query, array(), array("Scrollable"=>"buffered"));
if( $consulta === false ) 
{	if( ($errors = sqlsrv_errors() ) != null) 
	{	
		foreach( $errors as $error ) 
		{	
			echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
      echo "código: ".$error[ 'code']."<br />";
      echo "mensagem: ".$error[ 'message']."<br />";
    }
  }
  exit();  
}
$p1=0;
$num = sqlsrv_num_rows($consulta);
if ( $num > 0 )
{ 
	while($row=sqlsrv_fetch_array($consulta, SQLSRV_FETCH_ASSOC)) 
  { 
    $pis =preg_replace( '/[^0-9]/', '', $row['PIS']);
    $pess[$p1]['Pis']=$pis ;
    $pess[$p1]['Empresa']=trim($row['Empresa']);
    $pess[$p1]['Nome']=trim($row['Nome']);
    $pess[$p1]['Departamento']=trim($row['Departamento']);
    $pess[$p1]['Sexo']=trim($row['Sexo']);
    $pess[$p1]['Coment']=trim($row['Coment']);
    $hora1=strtotime($row['hora1']);
    $pess[$p1]['hora1']=date('Y-m-d H:i', $hora1);
    $hora2=strtotime($row['hora2']);
    $sai = date('Y-m-d H:i', $hora2);
    if ($hora1 <= $hora2)
    { $pess[$p1]['hora2']=$sai;}
    else
    { $pess[$p1]['hora2']=date('Y-m-d H:i', strtotime($sai."+ 1 day"));}
    $pess[$p1]['aponta1']='';
    $pess[$p1]['aponta2']='';
    $pess[$p1]['aponta3']='';
    $pess[$p1]['aponta4']='';
    for($y=0;$y<$p;$y++)
    {
      if($pis===$pessoa[$y]['Pis'])
      { 
        $pess[$p1]['aponta1']=$pessoa[$y]['aponta1'];
        $pess[$p1]['aponta2']=$pessoa[$y]['aponta2'];
        $pess[$p1]['aponta3']=$pessoa[$y]['aponta3'];
        $pess[$p1]['aponta4']=$pessoa[$y]['aponta4'];
        break;
      }
    }
    $p1++;
  }
  $json=json_encode($pess);
  $fopen=fopen('upload/funcionario.json','w');
  $fwrite=fwrite($fopen,$json);
  fclose($fopen);
}
echo "<script type=\"text/javascript\">alert(\"Relação de funcionários atualizada com sucesso!.\");location.href='index.php';</script>";
?>