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>";
?>