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');
date_default_timezone_set('America/Sao_Paulo');
function cmp($a, $b) {
$c = strnatcmp($a['Nome'] , $b['Nome']);
return $c;
}
function obs($str){
$regrex = '/#(.*?)#/';
preg_match_all($regrex, $str, $resultado);
if(isset($resultado[1][0])){return $resultado[1][0];}else{return '';}
}
$matriz = file_get_contents('upload/funcionario.json');
$pessoa=json_decode($matriz, true);
$p=count($pessoa);
require_once("RequestAPI.php");
$url = "https://transwar.lannister.emitir.me/people/search?is_employee=on";
$dataResponse = new RequestAPI();
$resposta = $dataResponse->getResponse($url);
$data=json_decode($resposta[1], true);
$resta=$resposta[0];if($resta<=5){sleep(40);}
if($data!==''){
if ($data['success']==1){
$p1=0;
$npage=ceil($data['total']/40);
if($npage>=1){
for($i=1;$i<=$npage;$i++){
$dataResponse = new RequestAPI();
$resposta = $dataResponse->getResponse($url.'&page='.$i);
$data=json_decode($resposta[1], true);
$resta=$resposta[0];if($resta<=5){sleep(40);}
if ($data['success']==1){
foreach ($data['data'] as $funcionario => $y){
if(isset($y['pis']) and isset($y['hr']['operational']['work_schedule_start']) and isset($y['hr']['operational']['work_schedule_end'])){
$pis =preg_replace( '/[^0-9]/', '', $y['pis']);
$pess[$p1]['Pis']=$pis;
$pess[$p1]['Nome']=trim($y['name']);
$hora1=strtotime($y['hr']['operational']['work_schedule_start']);
$pess[$p1]['hora1']=date('Y-m-d H:i', $hora1);
$hora2=strtotime($y['hr']['operational']['work_schedule_end']);
$sai = date('Y-m-d H:i', $hora2);
if(isset($y['departamento'])){
$pess[$p1]['Departamento']=trim($y['departamento']);}
else{
$pess[$p1]['Departamento']='';
}
if(isset($y['owner']['id'])){
$pess[$p1]['Empresa']=trim($y['owner']['id']);}
else{
$pess[$p1]['Empresa']='';
}
if(isset($y['hr']['gender'])){
$pess[$p1]['Sexo']=trim($y['hr']['gender']);}
else{
$pess[$p1]['Sexo']='';
}
if(isset($y['obs'])){
$pess[$p1]['Coment']=obs($y['obs']);}
else{
$pess[$p1]['Coment']='';
}
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++;
}
}
}
}
}
}
$dados=$data['data'];
usort($pess, 'cmp');
/*
echo '<pre>';
print_r($pess);
*/
$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>";
?>