Jump to content
uoston.bs

Sistema de Contagem de Refeições

Recommended Posts

Galera, bom dia! 

Estou com um problema que acredito ser "simples", mas ainda não conseguir resolver.

Desenvolvi uma aplicação simples em PHP que faz a contagem de refeições através de dados registrados em um txt, pego os dados do txt usando o substring para determinar o valor de cada coluna, o programa funciona até que bem, porém quando tenho alteração de DATA, mas com mesma faixa de horário ele não imprime a quantidade de refeição (seja ceia, café, almoço ou jantar).

logo o que queria é que o programa além de fazer as impressões que já faz, imprimir também a quantidade de refeições quando a data for alterada, pois a contagem é feita por dia.

Segue meu código completo abaixo:

<?php set_time_limit(60); ?>
<?php require_once('conexao/conectar.php'); ?>
<?php date_default_timezone_set('America/Sao_Paulo'); ?>

<?php header("Content-Type: text/html; charset=ISO-8859-1",true) ; ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="icone/icone.ico" type="image/x-icon" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<title>Index</title>
<style>


</head>
<style>
.titulo{

    background: linear-gradient(#3555a2, #3555a2);
      background: -moz-linear-gradient(#3555a2, #3555a2);
      background: -ms-linear-gradient(#3555a2, #3555a2);
      background: -o-linear-gradient(#3555a2, #3555a2);
      background: -webkit-linear-gradient(#3555a2, #3555a2);
      background-color: #57944d;
    color: #FFF;
      box-shadow: #57944d 0 0 15px;
      border-top: 2px solid #3555a2;
      border-bottom: 2px solid #3555a2;
      -moz-border-radius:4px;
    -webkit-border-radius:4px;
    border-radius:4px;
    font-family:Tahoma, Geneva, sans-serif;
}
.lista{

    background: linear-gradient(#3555a2, #3555a2);
      background: -moz-linear-gradient(#3555a2, #3555a2);
      background: -ms-linear-gradient(#3555a2, #3555a2);
      background: -o-linear-gradient(#3555a2, #3555a2);
      background: -webkit-linear-gradient(#3555a2, #3555a2);
      background-color: #57944d;
    color: #FFF;
      box-shadow: #57944d 0 0 15px;
      border-top: 2px solid #3555a2;
      border-bottom: 2px solid #3555a2;
      -moz-border-radius:4px;
    -webkit-border-radius:4px;
    border-radius:4px;
    font-family:Tahoma, Geneva, sans-serif;
}
</style>
<style>
.a{
    text-decoretion: underline;
    color: #FFF;
}
.a:hover{
    color: #CD2626;
}

#preloader {
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    top: 0px;
    background: #ccc;
}

</style>

<body>

<?php


$count = 0;


if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}


$contador = 0;
$data_inicial = $_POST['inicial'];
$data_final = $_POST['final'];
$empresa = $_POST['tipo'];
//$data_teste = date("d/m/Y");
$data_arquivoin = $_POST['inicial'];
$data_arquivofi = $_POST['final'];

$quebra =  chr(13).chr(10);


$escrever = "Empresa INDU. REUN. * RAYMUNDO DA FONTE *".PHP_EOL;
$area = "Relatorio: $empresa".PHP_EOL;
$cabecalho = "Relatorio $empresa de $data_arquivoin a $data_arquivofi $quebra";

$titulos = "$quebra Data          Hora       Cartao            Colaborador           $quebra ";
$formatacao = "----------------------------------------------------------------- $quebra $quebra";

$normal = fopen("Relatorios/Relatorio $empresa de $data_inicial a $data_final.txt", "w");
$texto1 = fwrite($normal, $escrever);
$texto2 = fwrite($normal, $area);
$texto3 = fwrite($normal, $cabecalho);
$texto4 = fwrite($normal, $titulos);
$texto5 = fwrite($normal, $formatacao);

//Variaveis para determinar qual o tipo da refeição que foi realizada.
$cafe_inicial = '05';
$cafe_final = '08';
$almoco_inicial = '11';
$almoco_final = '14';
$jantar_inicial = '18';
$jantar_final = '20';
$ceia_inicial = '00';
$ceia_final = '02';

//Variaveis para calculo de refeição diaria
$cont_cafe = 0;
$cont_almoco = 0;
$cont_jantar = 0;
$cont_ceia = 0;

$cont_cresauto = 0;
$cont_asa = 0;
$cont_ws = 0;
$cont_nbs = 0;
$cont_total = 0;
$cont_pm = 0;
$cont_only = 0;
$cont_helna = 0;
$cont_wjm = 0;

$arquivo = "Relatorios/Relatorio $empresa de $data_inicial a $data_final.txt";
    $ponteiro = '//192.168.4.39//Portaria//bilhetes-p.txt';
    $abrir = fopen($ponteiro, 'r');
    $total_linhas = 0;    
        if(file_exists($ponteiro)){
                
            do{
                    
                $conteudo = fgets($abrir, 3500);
                $cartao = substr($conteudo, 27, -5);
                $data = substr($conteudo, 4, 10);
                $hora = substr($conteudo, 15, -25);
                $hora_cont = substr($conteudo, 15, -22);
                
                            
                            
            $query_row = mysql_query("SELECT nome, cartao, empresa FROM catracas WHERE cartao = '$cartao'");
            $row = ($query_row)or die(mysql_error());
            $row_row = mysql_fetch_assoc($row);
            $totalRows_row = mysql_num_rows($row);
                        
            $colaborador = $row_row['nome'];
            
            $data_mod = str_replace("/", "-", $data);
                //echo "<br>$empresa<br>";
                
            
            if($empresa == 'Brilux'){
            
            
            
            if(strtotime($data_mod) >= strtotime($data_inicial) and strtotime($data_mod) <= strtotime($data_final)){
            
            if($cartao == $row_row['cartao']){                
                $cont_total = $cont_total + 1;
                    if($hora > $ceia_final and $cont_ceia > 1){
                        $dados = fwrite($normal, "$quebra Total Ceia ----------->>>>> $cont_ceia $quebra $quebra");
                        $cont_ceia = 0;
                    }
                    
                            if($hora > $cafe_final and $cont_cafe > 1){
                        $dados = fwrite($normal, "$quebra Total Cafe ----------->>>>> $cont_cafe $quebra $quebra");
                        $cont_cafe = 0;
                    }
                    
                        if($hora > $almoco_final and $cont_almoco> 1){
                        $dados = fwrite($normal, "$quebra Total Almoco ----------->>>>> $cont_almoco $quebra $quebra");
                        $cont_almoco = 0;
                    }
                    
                        if($hora == $ceia_inicial and $cont_jantar > 1){
                        $dados = fwrite($normal, "$quebra Total Jantar ----------->>>>> $cont_jantar $quebra $quebra");
                        $cont_jantar = 0;
                    }
                                        
                    
                    
                    if($hora >= $ceia_inicial and $hora <= $ceia_final){
                        $cont_ceia = $cont_ceia +1;
                    }
                    
                    if($hora >= $cafe_inicial and $hora <= $cafe_final){
                        $cont_cafe = $cont_cafe +1;
                    }
                    
                    if($hora >= $almoco_inicial and $hora <= $almoco_final){
                        $cont_almoco = $cont_almoco+1;
                    }
                    
                    if($hora >= $jantar_inicial and $hora <= $jantar_final){
                        $cont_jantar = $cont_jantar +1;
                    }
                    
                    
                    $dados = fwrite($normal, "$data  -  $hora_cont  -  $cartao  -  $colaborador $quebra");
                
                    
                    
                    }    
                    
                }

            }
            
            if($empresa == 'cresauto'){
                if(strtotime($data_mod) >= strtotime($data_inicial) and strtotime($data_mod) <= strtotime($data_final)){
                    if($cartao == $row_row['cartao'] and $row_row['empresa']=='Cresauto'){
                        $dados = fwrite($normal, "$data  -  $hora_cont  -  $cartao  -  $colaborador $quebra");
                        $cont_cresauto = $cont_cresauto +1;    
                    }
                }
            }
            
            if($empresa == 'asa'){
                if(strtotime($data_mod) >= strtotime($data_inicial) and strtotime($data_mod) <= strtotime($data_final)){
                    if($cartao == $row_row['cartao'] and $row_row['empresa']=='Asa de Prata'){
                        $dados = fwrite($normal, "$data  -  $hora_cont  -  $cartao  -  $colaborador $quebra");
                        $cont_asa = $cont_asa +1;    
                    }
                }
            }
            
            if($empresa == 'ws'){
                if(strtotime($data_mod) >= strtotime($data_inicial) and strtotime($data_mod) <= strtotime($data_final)){
                    if($cartao == $row_row['cartao'] and $row_row['empresa']=='WS'){
                        $dados = fwrite($normal, "$data  -  $hora_cont  -  $cartao  -  $colaborador $quebra");
                        $cont_ws = $cont_ws +1;    
                    }
                }
            }
            
            if($empresa == 'nbs'){
                if(strtotime($data_mod) >= strtotime($data_inicial) and strtotime($data_mod) <= strtotime($data_final)){
                    if($cartao == $row_row['cartao'] and $row_row['empresa']=='NBS'){
                        $dados = fwrite($normal, "$data  -  $hora_cont  -  $cartao  -  $colaborador $quebra");
                        $cont_nbs = $cont_nbs +1;    
                    }
                }
            }
            
            if($empresa == 'pm'){
                if(strtotime($data_mod) >= strtotime($data_inicial) and strtotime($data_mod) <= strtotime($data_final)){
                    if($cartao == $row_row['cartao'] and $row_row['empresa']=='PM'){
                        $dados = fwrite($normal, "$data  -  $hora_cont  -  $cartao  -  $colaborador $quebra");
                        $cont_pm = $cont_pm +1;    
                    }
                }
            }
            
            if($empresa == 'only'){
                if(strtotime($data_mod) >= strtotime($data_inicial) and strtotime($data_mod) <= strtotime($data_final)){
                    if($cartao == $row_row['cartao'] and $row_row['empresa']=='ONLY'){
                        $dados = fwrite($normal, "$data  -  $hora_cont  -  $cartao  -  $colaborador $quebra");
                        $cont_only = $cont_only +1;    
                    }
                }
            }
            
            if($empresa == 'helena'){
                if(strtotime($data_mod) >= strtotime($data_inicial) and strtotime($data_mod) <= strtotime($data_final)){
                    if($cartao == $row_row['cartao'] and $row_row['empresa']=='MARIA HELENA'){
                        $dados = fwrite($normal, "$data  -  $hora_cont  -  $cartao  -  $colaborador $quebra");
                        $cont_helena = $cont_helena +1;    
                    }
                }
            }
            
            if($empresa == 'wjm'){
                if(strtotime($data_mod) >= strtotime($data_inicial) and strtotime($data_mod) <= strtotime($data_final)){
                    if($cartao == $row_row['cartao'] and $row_row['empresa']=='WJM'){
                        $dados = fwrite($normal, "$data  -  $hora_cont  -  $cartao  -  $colaborador $quebra");
                        $cont_wjm = $cont_wjm +1;    
                    }
                }
            }
            
        
        }while(!feof($abrir));
}
            if($empresa == 'cresauto'){
                $dados = fwrite($normal, "$quebra $quebra Total de Refeições ----> $cont_cresauto");
            }
            
                if($empresa == 'asa'){
                $dados = fwrite($normal, "$quebra $quebra Total de Refeições ----> $cont_asa");
            }
            
            if($empresa == 'Brilux'){
                $dados = fwrite($normal, "$quebra $quebra Total de Refeicoes ----> $cont_total");
                
            }
            
            if($empresa == 'ws'){
                $dados = fwrite($normal, "$quebra $quebra Total de Refeicoes ----> $cont_ws");
                
            }
            
            if($empresa == 'nbs'){
                $dados = fwrite($normal, "$quebra $quebra Total de Refeicoes ----> $cont_nbs");
                
            }
            
            if($empresa == 'pm'){
                $dados = fwrite($normal, "$quebra $quebra Total de Refeicoes ----> $cont_pm");
                
            }
            
            //$apaga_frequencia = mysql_query ("DELETE FROM frequencia");
            //$pega = ($apaga_frequencia)or die(mysql_error());
                    

            }else{
                echo "arquivo não encontrado";
        }
            
        //echo $data;
        fclose($abrir);
        fclose($normal);
        
        
        

?>
<br><br>
<p align="center">Relatório Gerado com Sucesso</p>
<p align="center"><a href="<?php echo $arquivo ?>" download>Baixar Arquivo.</a></p>


</script>
</body>
</html>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By TheRonaldoStar
      Olá, Venho aqui de novo para tirar uma dúvida que creio eu ser muito simples porem não sei como aplicar!;
      Como diz no título do post eu gostaria de fazer um select de cadastros cujo o id do usuário online está nesta coluna,
      Porem neste campo contem 2 id separados por uma ' , '. Sendo assim não dar para mim fazer uma pesquisa com com a tag WHERE id ='Valor'
      Em fim eu quero ajuda para selecionar todos os cadastro cujo o id do usuário online está por EX: Sou o usuário 1 existe dois cadastros que tem meu id: [1, 2] e [2, 1];
      Alem de pesquisar todos os cadastros que tenha meu id nesta coluna eu quero que não tenha interferência ou listar cadastro do usuário 1 se eu for o usuário 21 por ex.
       
      Qual quer ajuda é bem vinda!
      Atenciosamente,
      ~Ronaldo
    • By Agnosticado
      Olá senhores, estou intrigado com uma coisa: tenho o seguinte código:
      $id_exame = "50296"; $pesquisa = "SELECT motivo, CASE WHEN motivo = 'Intensa superposição celular em mais de 75% de esfregaço' THEN 'A' WHEN motivo = 'Sangue em mais de 75% de esfregaço' THEN 'B' WHEN motivo = 'Artefatos de dessecamento mais de 75% de esfregaço' THEN 'C' ELSE 'TESTE' END AS opcao FROM insatisfatorio WHERE exame_id = '$id_exame' ORDER BY opcao ASC"; $linha = mysql_query($pesquisa); while ($pesquisa = mysql_fetch_array($linha) or die(mysql_error())){ echo $pesquisa["opcao"]; } Quando executo usando
       
      $linha = mysql_query($pesquisa);
                 while ($pesquisa = mysql_fetch_array($linha) or die(mysql_error())){
              echo $pesquisa["opcao"];
              echo "<br>";
       
       
      a saída é palavra "TESTE" que o default e não o texto "B" que corresponde a string da chamada do $id_exame = 50296.
       
      O ESQUISITO é que quando executo todo select que está na variável $pesquisa direto no SGBD dá certo e o texto "B" aparece normalmente.
      PQ DIABOS ISSO ACONTECE???
    • By Alandeoli
      Boa noite Pessoal!
       
       
      Estou criando uma tela de login, e passando os dados para uma pagina que vai se conectar ao AD, mas mesmo eu colocando os campos em branco a conexão esta passando como ok, segue os códigos se puderem me ajudar agradeço muito!
       
      Tela conexao:
       
      <?php   $adServer = "ldap://xxx.xxxx.xx.xx";   $ldap = ldap_connect($adServer); $username = $_POST['user']; $password = $_POST['pass'];   $ldaprdn = 'XXX' . "\\" . $username;   ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);   $bind = @ldap_bind($ldap, $ldaprdn, $password);   if($bind=true)   {   echo "conexão ok";     } else   {   echo "erro";     }   Tela Login:   <!DOCTYPE html> <html lang="pt-br"> <link href='css/login.css' rel='stylesheet' />


        <head> <meta charset="UTF-8"> <title>Tela de Login e Senha</title> </head>   <body> <div name="login" id="login"> <div name="box" id="box"> <form method="POST" action="ad.php" name="form"> Login : <input type="text" name="user" id="user"><br><br> Senha : <input type="password" name="pass" id="pass"><br><br> <input type="submit" value="Login" id="button"> </form> </div> </div>   </body>   </html>                                
    • By dutopfave
      Boa Tarde Galera, tenho um sistema de etiqueta que nele vai também código de barras, quando eu mostro na tela, funciona perfeitamente, mais quando gero pra pdf, com a biblioteca mPDF, da erro,  e é justo o código de barras q da esse erro, oq pode ser sera, segue o código de como ta:
       
      <?php require '../../Connections/config.php'; include "../Classes/funcoes.php"; include "cod.php"; $largura = 140; $altura = 130; include("mpdf60/mpdf.php"); // INICIO RECUPERA O ID DA ETIQUETA IMPORTADA $Row_Id_Etiqueta = addslashes($_GET['id_etiqueta']); $Recuperacao_Etiqueta = $pdo->prepare("SELECT * FROM tb_sys_etiqueta WHERE e_id = :e_id"); $Recuperacao_Etiqueta->bindValue(":e_id", $Row_Id_Etiqueta); $Recuperacao_Etiqueta->execute(); if($Recuperacao_Etiqueta->rowCount() > 0){ $Row_Recuperacao_Etiqueta = $Recuperacao_Etiqueta->fetch(); } // FIM RECUPERA O ID DA ETIQUETA IMPORTADA $id_etiqueta = $_GET['id_etiqueta']; $Lista_Etiqueta = "SELECT * FROM tb_sys_etiqueta WHERE e_id = '$id_etiqueta'"; $Lista_Etiqueta = $pdo->query($Lista_Etiqueta); if($Lista_Etiqueta->rowCount() > 0){ $etiqueta_id = $Lista_Etiqueta->fetch(); $qtd = $etiqueta_id['e_volume'] + 1; $qtd2 = $etiqueta_id['e_volume']; for ($i>0; $i<$qtd; $i++) { if($i>$etiqueta_id['e_pagina']){ // verificar se a pagina é menor que 10 if($i<10){ $n = '0'; }else{ $n = ''; } // verificar se a quantidade é menor que 10 if($etiqueta_id['e_volume']<10){ $nq = '0'; }else{ $nq = ''; } $html .= '<div class="etiqueta"> <div class="etiqueta-topo"> <img src="../images/logo.fw.png" width="116" height="52"> </div> <div class="etiqueta-empresa"> <div class="etiqueta-empresa-left"> <h1>GYN</h1> </div> <div class="etiqueta-empresa-right"> <h1>VOL: '.$n.''.$i.'/'.$nq.''.$qtd2.'</h1> </div> </div> <div class="etiqueta-endereco"> <div class="etiqueta-endereco-left"> <span><b>Remetente:</b></span><br/> <span>'.$etiqueta_id['e_remetente'].'</span><br/><br/> <span><b>Destinatário:</b></span><br/> <span>'.$etiqueta_id['e_destinatario'].'</span> </div> <div class="etiqueta-endereco-right"> '.geraCodigoBarra('232323232323').' <br /> '.$etiqueta_id['e_codigo_barras'].' <p>Goiânia/GO</p> </div> </div> </div>'; } } } $mpdf = new mPDF('utf-8', array($largura,$altura)); $css = file_get_contents("css/estilo.css"); $mpdf->WriteHTML($css,1); $mpdf->WriteHTML($html); $mpdf->Output(); exit;  
      a função pra gera o código de barras: cod.php
       
      <?php function geraCodigoBarra($numero){ $fino = 1; $largo = 3; $altura = 50; $barcodes[0] = '00110'; $barcodes[1] = '10001'; $barcodes[2] = '01001'; $barcodes[3] = '11000'; $barcodes[4] = '00101'; $barcodes[5] = '10100'; $barcodes[6] = '01100'; $barcodes[7] = '00011'; $barcodes[8] = '10010'; $barcodes[9] = '01010'; for($f1 = 9; $f1 >= 0; $f1--){ for($f2 = 9; $f2 >= 0; $f2--){ $f = ($f1*10)+$f2; $texto = ''; for($i = 1; $i < 6; $i++){ $texto .= substr($barcodes[$f1], ($i-1), 1).substr($barcodes[$f2] ,($i-1), 1); } $barcodes[$f] = $texto; } } echo '<img src="../images/p.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/p.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img '; $texto = $numero; if((strlen($texto) % 2) <> 0){ $texto = '0'.$texto; } while(strlen($texto) > 0){ $i = round(substr($texto, 0, 2)); $texto = substr($texto, strlen($texto)-(strlen($texto)-2), (strlen($texto)-2)); if(isset($barcodes[$i])){ $f = $barcodes[$i]; } for($i = 1; $i < 11; $i+=2){ if(substr($f, ($i-1), 1) == '0'){ $f1 = $fino ; }else{ $f1 = $largo ; } echo 'src="../images/p.gif" width="'.$f1.'" height="'.$altura.'" border="0">'; echo '<img '; if(substr($f, $i, 1) == '0'){ $f2 = $fino ; }else{ $f2 = $largo ; } echo 'src="../images/b.gif" width="'.$f2.'" height="'.$altura.'" border="0">'; echo '<img '; } } echo 'src="../images/p.gif" width="'.$largo.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/p.gif" width="1" height="'.$altura.'" border="0" />'; } ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.