Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom pessoal, dou manutenção em alguns sistemas e estou com um problema chato agora.
O que acontece é que o sistema que esta na produção funciona perfeitamente, quando importo pra meu localhost pra fazer testes ele reporta erro.
No index de certa área do sistema, são chamadas algumas classes. Uma dessas classes trava ao ser chamada pelo require_once (ja testei outras funções como include, include_onde e etc.). Tentando debugar ela encontrei o seguinte erro
Parse error: syntax error, unexpected T_UNSET, expecting T_FUNCTION in D:\xampp\htdocs\....\planejamento.inc.php on line 2703
A princípio pesquisei pra entender melhor a função unset, mas não interessa o que eu coloco no lugar de unset, o parser acusa erro.
A parte estranha, é que funciona na produção, ele renderiza a página inteira sem erros, enquanto no ambiente de testes ele tranca a renderização no exato momento que é chamado o include dessa class.
A única diferença é o php. No ambiente de testes é PHP Version 5.3.1 e no ambiente de produção PHP Version 5.2.6-1+lenny9
O código é muito grande pra postar aqui, e uso o netbeans que também tem um parser próprio, então to com dúvidas...
Leia atentamente as Orientações para uma boa participação, depois poste o código que está utilizando.
Eu havia recem lido o tópico, se puder me dizer onde falhei em segui-lo me ajudaria a não repetir, li de novo e ainda assim não vi problemas...
Como eu disse, estou dando manutenção, não criei esse código. Vou postar todo o while que antecede a linha 2702 que da erro no parser, sendo que a ultima linha é onde o parser ta travando. Repito, só no meu ambiente.
if ($num==0)
{
echo "<tr><td colspan='4'> Nenhuma função em MO DIRETA encontrada. </td></tr>"; $total_hrs_direta = 0;
$total_prev_efetivo_direto = 0;
$total_qtd_mod_rdo = 0;
$total_hh_mod_rdo = 0;
$aux = new Planejamento;
while($linha = mysql_fetch_array($dados))
{
$funcao = $linha["funcoes_cod"];
$nome_funcao = $linha["descricao"];
$hprevista = $linha["horas_planejadas"];
$classe = $linha["classes_cod"];
$efetivo_rdo = 0;
$hh_rdo = 0;
switch($classe)
{
case 1; $img_classe = "classe_contrato.jpg"; $alt_classe = "Execução Contratual"; break;
case 2; $img_classe = "classe_civil.jpg"; $alt_classe = "Execução Civil"; break;
case 3; $img_classe = "classe_mecanica.jpg"; $alt_classe = "Execução Mecânica"; break;
case 4; $img_classe = "classe_eletrica.jpg"; $alt_classe = "Execução Elétr./Instrum"; break;
case 5; $img_classe = "classe_pintura.jpg"; $alt_classe = "Execução Jato e Pintura"; break;
case 6; $img_classe = "classe_projeto.jpg"; $alt_classe = "Execução Projeto"; break;
case 7; $img_classe = "classe_andaime.jpg"; $alt_classe = "Execução Andaimes"; break;
case 8; $img_classe = "classe_total_canteiro.jpg"; $alt_classe = "Execução Total Canteiro"; break;
}
//ver se é até o dia, até hoje (acumulado) ou no dia
if ($tipo=="nodia")
{
//verificar se data nao eh menor que a data de inicio da classe
$dados2 = mysql_query("select * from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe AND p.data_de<='$data_sql' AND p.data_ate>='$data_sql' ");
if (mysql_num_rows($dados2)==1)
{
# homens previstos por dia
$h_dia_funcao = $aux->H_previstos($coduser,$obra,$funcao,"direta",$classe);
# hh previsto
$hh_real_previsto = $h_dia_funcao*8.8;
}else{
$hh_real_previsto = 0;
$h_dia_funcao = 0;
}
# efetivo rdo
$efetivo_rdo = $aux->Efetivo_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
# hh rdo
$hh_rdo = $aux->HH_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
}elseif ($tipo=="atedata"){
//verificar se data nao eh menor que a data de inicio da classe
$dados2 = mysql_query("select * from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe AND p.data_de<='$data_sql' ");
if (mysql_num_rows($dados2)==1) {
# homens previstos por dia
$h_dia_funcao = $aux->H_previstos($coduser,$obra,$funcao,"direta",$classe);
# hh previsto
$decorrido_util = $aux->decorrido_util($coduser,$obra,$classe,$data);
//$hh_real_previsto = ($h_dia_funcao*8.8)*$decorrido_util;
$hh_real_previsto = ($h_dia_funcao*8.8)*$decorrido_util;
$h_dia_funcao = ($hh_real_previsto/($decorrido_util/30))/184;
}else{
$hh_real_previsto = 0;
$h_dia_funcao = 0;
}
# efetivo rdo
$efetivo_rdo = $aux->Efetivo_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
# hh rdo
$hh_rdo = $aux->HH_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
///EFETIVO REAL
conectabd();
$cont = 0;
$select = mysql_query("SELECT * from avancoprevisto where obras_cod = $obra");
while($linha = mysql_fetch_array($select))
{ if ($cont==0) { $data1 = $linha['DIA']; $cont++; } }
$data_sql1 = explode("/",$data_sql);
$data2 = $data_sql1[0]."-".$data_sql1[1]."-".$data_sql1[2];
$data1 = eua_to_br($data1);
$data2 = eua_to_br($data2);
$diferenca = DiasUteis($data1,$data2);
$hmes = Hmes($data1,$data2);
$diferenca = $diferenca / 30;
$efetivo_rdo = $hh_rdo/$diferenca/184;
$efetivo_rdo = masc_2($efetivo_rdo);
//$efetivo_rdo = $hmes;
//$efetivo_rdo = $diferenca;
//FIM DO EFETIVO REAL
}elseif ($tipo=="acumulado"){
//verificar se data nao eh menor que a data de inicio da classe
$dados2 = mysql_query("select * from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe AND p.data_de<='$data_sql' ");
if (mysql_num_rows($dados2)==1) {
# homens previstos por dia
$h_dia_funcao = $aux->H_previstos($coduser,$obra,$funcao,"direta",$classe);
# hh previsto
$decorrido_util = $aux->decorrido_util($coduser,$obra,$classe,$data);
//$hh_real_previsto = ($h_dia_funcao*8.8)*$decorrido_util;
$hh_real_previsto = ($h_dia_funcao*8.8)*$decorrido_util;
$h_dia_funcao = ($hh_real_previsto/($decorrido_util/30))/184;
}else{
$hh_real_previsto = 0;
$h_dia_funcao = 0;
}
# efetivo rdo
$efetivo_rdo = $aux->Efetivo_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
# hh rdo
$hh_rdo = $aux->HH_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
////função
///EFETIVO REAL
conectabd();
$cont = 0;
$select = mysql_query("SELECT * from avancoprevisto where obras_cod = $obra");
while($linha = mysql_fetch_array($select))
{ if ($cont==0) { $data1 = $linha['DIA']; $cont++; } }
$data_sql1 = explode("/",$data_sql);
$data2 = $data_sql1[0]."-".$data_sql1[1]."-".$data_sql1[2];
$data1 = eua_to_br($data1);
$data2 = eua_to_br($data2);
$diferenca = DiasUteis($data1,$data2);
$diferenca = $diferenca / 30;
$efetivo_rdo = $hh_rdo/$diferenca/184;
$efetivo_rdo = masc_2($efetivo_rdo);
//$efetivo_rdo = $diferenca;
//FIM DO EFETIVO REAL
}
//se hh real previsto(vai aumentando conforme data) passou previsto(cadastro da obra) mostra somente o previsto com fundo vermelho
if ($hh_real_previsto>$hprevista){
$aux_cor = "bgcolor='#FFCCCC'";
$hh_real_previsto = $hprevista;
//$h_dia_funcao = 0;
}else
$aux_cor = "";
# sinaleira
if ($hh_real_previsto>0){ //se tem previsto
$sinal_hh = ($hh_rdo/$hh_real_previsto)*100;
if ($sinal_hh<=100)
$sinal_hh = "<img src='../../imagens/marcador_verde.gif' border='0' alt='".masc_1($sinal_hh)."%' />";
else
$sinal_hh = "<img src='../../imagens/marcador3.gif' border='0' alt='".masc_1($sinal_hh)."%' />";
} else { // se nao tem previsto
if ($hh_rdo>0) //mas tem hh no rdo
$sinal_hh = "<img src='../../imagens/marcador3.gif' border='0' alt='".masc_1($sinal_hh)."%' />";
else
$sinal_hh = "";
}
if ($h_dia_funcao>0) {//se tem previsto
$sinal_efet = ($efetivo_rdo/$h_dia_funcao)*100;
if ($sinal_efet<=100)
$sinal_efet = "<img src='../../imagens/marcador_verde.gif' border='0' alt='".masc_1($sinal_efet)."%' />";
else
$sinal_efet = "<img src='../../imagens/marcador3.gif' border='0' alt='".masc_1($sinal_efet)."%' />";
} else { // se nao tem previsto
if ($efetivo_rdo>0) //mas tem efetivo no rdo
$sinal_efet = "<img src='../../imagens/marcador3.gif' border='0' alt='".masc_1($sinal_efet)."%' />";
else
$sinal_efet = "";
}
# somatórios
$total_prev_efetivo_direto = $total_prev_efetivo_direto+$h_dia_funcao;
$total_hrs_direta = $total_hrs_direta+$hh_real_previsto;
$total_qtd_mod_rdo = $total_qtd_mod_rdo + $efetivo_rdo; //total efetivo das funcoes
$total_hh_mod_rdo = $total_hh_mod_rdo + $hh_rdo; //total hh das funcoes */
echo "<tr>";
echo "<td align='center'><img src='../../imagens/$img_classe' border='0' alt='$alt_classe'></td>";
echo "<td align='left'>".(strtoupper($nome_funcao))."</td>";
echo "<td $aux_cor bgcolor='#F7F7F7' align='center'>".masc_1($hh_real_previsto)."</td>";
echo "<td bgcolor='#F7F7F7' align='center'>".masc_1($h_dia_funcao)."</td>";
//relogio
echo "<td bgcolor='#EFEFEF' align='center'>"; ?>
<!--<img src="../../imagens/relogio.gif" border="0" alt="Atualizar dados do relógio" onclick="" />-->
<div id="<?php echo "hh_indireta_".$funcao."_".$classe; ?>"></div> <?php
echo "</td>";
echo "<td bgcolor='#EFEFEF' align='center'>"; ?>
<div id="<?php echo "efet_indireta_".$funcao."_".$classe; ?>"></div> <?php
echo "</td>";
//rdo
echo "<td bgcolor='#E4E4E4' align='center'>".masc_1($hh_rdo)."</td>";
echo "<td bgcolor='#E4E4E4' align='center'>".$efetivo_rdo."</td>";
//sinaleira
echo "<td colspan='2' width='' align='center'>$sinal_hh $sinal_efet</td>";
echo "</tr>";
}
unset($aux);>
Eu havia recem lido o tópico, se puder me dizer onde falhei em segui-lo me ajudaria a não repetir, li de novo e ainda assim não vi problemas...
A única falha, amigo, foi não postar o código. Quanto mais informação você oferecer, mais fácil é para conseguir ajudá-lo.
>
Uma dessas classes trava ao ser chamada pelo require_once (ja testei outras funções como include, include_onde e etc.).
Vou postar todo o while que antecede a linha 2702 que da erro no parser, sendo que a ultima linha é onde o parser ta travando.
Você disse que o erro é causado quando uma classe é chamada com require_once, mas não há qualquer require_once no código que você postou.
A linha 2072 é onde o erro aparece, mas a origem não é lá, na verdade, todo esse fragmento que você postou não tem qualquer erro notório.
Poste todo o seu código, tanto o código que faz a chamada com o require_once, quanto o código que é chamado pelo require.
>
Você disse que o erro é causado quando uma classe é chamada com require_once, mas não há qualquer require_once no código que você postou.
A linha 2072 é onde o erro aparece, mas a origem não é lá, na verdade, todo esse fragmento que você postou não tem qualquer erro notório.
Poste todo o seu código, tanto o código que faz a chamada com o require_once, quanto o código que é chamado pelo require.
A chamada é no cabeçalho de outro arquivo, mas tudo bem vou postar tudo...
Ok então, vo colocar os dois arquivos
index.php
<?php
session_start();
$acesso = $_SESSION["acesso_matriz"];
$coduser = $_SESSION["coduser"];
if (!$acesso) {
header("Location: ../../index.html");
exit;
}
?>
<!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">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title> WS_Usimec </title>
<link href="../../css/estilo_sistema.css" rel="stylesheet" type="text/css" />
<link href="../../css/estilo_relatorios.css" rel="stylesheet" type="text/css" />
<link href="../../css/estilo_menu_seplan.css" rel="stylesheet" type="text/css" />
<link href="../../css/estilo_rdo.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../includes/scripts.js"></script>
<script type="text/javascript" src="../../css/menu_seplan.js"></script>
<script type="text/javascript" src="../../ajax/ajax_compSalario.js"></script>
<script type="text/javascript" src="../../ajax/ajax_opcoes_rdo.js"></script>
<script type="text/javascript" src="../../ajax/ajax_aud_efetivo.js"></script>
</head>
<body onload="loaded_audefet()">
<div id="container">
<div id="topo"></div>
<div id="menu">
<span class="itens_menu"><?php require_once ("../../includes/menus.inc.php");
menu_superior($coduser); ?></span>
</div>
<?php
echo "aqui1";
require_once ("../../includes/planejamento.inc.php");
echo "aqui2";
require_once ("../../includes/conectabd.php");
echo "aqui3";
require_once ("../../includes/funcoes.inc.php");
echo "aqui4";
require_once ("../../includes/orcamento.inc.php");
echo "aqui5";
include("../../includes/custos.inc.php");
echo "aqui6";
o index acaba entrando só até aqui, e trava.
planejamento.inc.php é um codigo absurdo 8k linhas, to colocando as primeiras 2706
<?php
class Planejamento
{
//ERRO DE PERMISSÃO
function erro_plan()
{
echo "<script type=\"text/javascript\" language=\"javascript\">";
echo "alert(\"Ops! Você não tem permissão para esta operação.\");(window.location = '../home/home.php')";
echo "</script>";
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* PERIODOS *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// OBRA -> RETORNA DURACAO DA OBRA (dias) DATA DE INICIO E FIM
function duracao($coduser,$cod_obra)
{
conectabd();
//prazo contratual
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=1 ");
while($linha = mysql_fetch_array($dados))
{ $contratual = $linha["existe"]; $contratual_de = $linha["datade"]; $contratual_ate = $linha["dataate"]; }
//prazo civil
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=2 ");
while($linha = mysql_fetch_array($dados))
{ $civil = $linha["existe"]; $civil_de = $linha["datade"]; $civil_ate = $linha["dataate"]; }
//prazo mecanica
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=3 ");
while($linha = mysql_fetch_array($dados))
{ $mecanica = $linha["existe"]; $mecanica_de = $linha["datade"]; $mecanica_ate = $linha["dataate"]; }
//prazo ei
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=4 ");
while($linha = mysql_fetch_array($dados))
{ $ei = $linha["existe"]; $ei_de = $linha["datade"]; $ei_ate = $linha["dataate"]; }
//prazo jp
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=5 ");
while($linha = mysql_fetch_array($dados))
{ $jp = $linha["existe"]; $jp_de = $linha["datade"]; $jp_ate = $linha["dataate"]; }
//prazo projeto
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=6 ");
while($linha = mysql_fetch_array($dados))
{ $projeto = $linha["existe"]; $projeto_de = $linha["datade"]; $projeto_ate = $linha["dataate"]; }
//prazo andaime
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=7 ");
while($linha = mysql_fetch_array($dados))
{ $andaime = $linha["existe"]; $andaime_de = $linha["datade"]; $andaime_ate = $linha["dataate"]; }
//prazo canteiro
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=8 ");
while($linha = mysql_fetch_array($dados))
{ $canteiro = $linha["existe"]; $canteiro_de = $linha["datade"]; $canteiro_ate = $linha["dataate"]; }
mysql_close();
$menor = array();
$maior = array();
$data_menor = array();
$data_maior = array();
if ($contratual==1)
{
array_push($menor,mktime(0,0,0,substr($contratual_de,3,2),substr($contratual_de,0,2),substr($contratual_de,6,4)));
array_push($maior,mktime(0,0,0,substr($contratual_ate,3,2),substr($contratual_ate,0,2),substr($contratual_ate,6,4)));
}
if ($civil==1)
{
array_push($menor,mktime(0,0,0,substr($civil_de,3,2),substr($civil_de,0,2),substr($civil_de,6,4)));
array_push($maior,mktime(0,0,0,substr($civil_ate,3,2),substr($civil_ate,0,2),substr($civil_ate,6,4)));
}
if ($mecanica==1)
{
array_push($menor,mktime(0,0,0,substr($mecanica_de,3,2),substr($mecanica_de,0,2),substr($mecanica_de,6,4)));
array_push($maior,mktime(0,0,0,substr($mecanica_ate,3,2),substr($mecanica_ate,0,2),substr($mecanica_ate,6,4)));
}
if ($ei==1)
{
array_push($menor,mktime(0,0,0,substr($ei_de,3,2),substr($ei_de,0,2),substr($ei_de,6,4)));
array_push($maior,mktime(0,0,0,substr($ei_ate,3,2),substr($ei_ate,0,2),substr($ei_ate,6,4)));
}
if ($jp==1)
{
array_push($menor,mktime(0,0,0,substr($jp_de,3,2),substr($jp_de,0,2),substr($jp_de,6,4)));
array_push($maior,mktime(0,0,0,substr($jp_ate,3,2),substr($jp_ate,0,2),substr($jp_ate,6,4)));
}
if ($projeto==1)
{
array_push($menor,mktime(0,0,0,substr($projeto_de,3,2),substr($projeto_de,0,2),substr($projeto_de,6,4)));
array_push($maior,mktime(0,0,0,substr($projeto_ate,3,2),substr($projeto_ate,0,2),substr($projeto_ate,6,4)));
}
if ($andaime==1)
{
array_push($menor,mktime(0,0,0,substr($andaime_de,3,2),substr($andaime_de,0,2),substr($andaime_de,6,4)));
array_push($maior,mktime(0,0,0,substr($andaime_ate,3,2),substr($andaime_ate,0,2),substr($andaime_ate,6,4)));
}
if ($canteiro==1)
{
array_push($menor,mktime(0,0,0,substr($canteiro_de,3,2),substr($canteiro_de,0,2),substr($canteiro_de,6,4)));
array_push($maior,mktime(0,0,0,substr($canteiro_ate,3,2),substr($canteiro_ate,0,2),substr($canteiro_ate,6,4)));
}
rsort($maior); //ordena decrescente
rsort($menor); //ordena decrescente
$mktime_menor = array_pop($menor); //pega o ultimo (o menor)
//duracao: retorna duracao da obra em dias //de: retorna mktime da data de inicio //ate: retorna mktime da data de fim
//para pegar data apartir do mktime date("d/m/Y",$var);
$result = array("duracao" => (round($maior[0]/(60*60*24),0)-round($mktime_menor/(60*60*24),0))+1 , "de" => $mktime_menor , "ate"=> $maior[0]);
return $result;
}
// OBRA -> RETORNA DIAS RESTANTES DE OBRA
function restante($coduser,$obra)
{
$acao_plan = new Planejamento;
$total = $acao_plan->duracao($coduser,$obra);
$n_dias = calcula_dias(date("m"),date("d"),date("Y"),date("m",$total["de"]),date("d",$total["de"]),date("Y",$total["de"]));
$restante = $total["duracao"]-$n_dias;
unset($acao_plan);
return $restante;
}
// OBRA -> RETORNA DECORRIDO GERAL DA OBRA ATÉ DATA
function decorrido_obra($coduser,$obra,$tipo,$data_ate)
{
$acao_plan = new Planejamento;
$total = $acao_plan->duracao($coduser,$obra);
$decorrido = calcula_dias(substr($data_ate,3,2),substr($data_ate,0,2),substr($data_ate,6,4),date("m",$total["de"]),date("d",$total["de"]),date("Y",$total["de"]));
unset($acao_plan);
$decorrido = $decorrido+1;
if ($tipo=="porc")
{
$decorrido = ($decorrido*100)/$total["duracao"];
$decorrido = masc_2($decorrido);
return $decorrido;
}
elseif ($tipo=="meses")
{
$decorrido = $decorrido/30;
$decorrido = masc_2($decorrido);
return $decorrido;
}
else //dias
return $decorrido;
}
// CLASSE -> RETORNA NUMERO DE DIAS DO PERIODO DA CLASSE
function periodo($coduser,$obra,$classe)
{
conectabd();
//pegar datas da classe
/*$dados = mysql_query("select date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe ");
while($linha = mysql_fetch_array($dados))
{ $contratual_de = $linha["datade"]; $contratual_ate = $linha["dataate"]; }
$n_dias = calcula_dias(substr($contratual_ate,3,2), substr($contratual_ate,0,2), substr($contratual_ate,6,4),substr($contratual_de,3,2), substr($contratual_de,0,2), substr($contratual_de,6,4));
*/
$dados = mysql_query("select datediff(p.data_ate, p.data_de) as periodo, p.existe from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe ");
while($linha = mysql_fetch_array($dados))
{ $n_dias = $linha["periodo"]; $existe = $linha["existe"]; }
if ($existe==1)
$n_dias = $n_dias+1;
return $n_dias;
}
// CLASSE -> RETORNA NUMERO DE DIAS UTEIS DO PERIODO DA CLASSE
function DiasUteisClasse($coduser,$obra,$classe)
{
conectabd();
//pegar datas da classe
$dados = mysql_query("select date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe ");
while($linha = mysql_fetch_array($dados))
{ $datade = $linha["datade"]; $dataate = $linha["dataate"]; }
$n_dias = DiasUteis($datade,$dataate);
return $n_dias;
}
// CLASSE -> RETORNA NUMERO DE MESES DO PERIODO DA CLASSE
function periodoClasseMeses($coduser,$obra,$classe)
{
$auxp = new Planejamento;
$meses = $auxp->periodo($coduser,$obra,$classe);
$meses = $meses/30;
unset($auxp);
return $meses;
mysql_close();
}
// CLASSE -> RETORNA DIAS RESTANTES DE UMA CLASSE
function restanteClasse($coduser,$obra,$classe,$data_ate)
{
$acao_planx = new Planejamento;
$total = $acao_planx->periodo($coduser,$obra,$classe);
$data_ate = br_to_eua($data_ate);
//pegar data de incio
conectabd();
$dados = mysql_query("select datediff('$data_ate' , p.data_de) as data from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe ");
while($linha = mysql_fetch_array($dados))
{ $corrido = $linha["data"]; }
mysql_close();
$restante = $total-$corrido;
unset($acao_planx);
return $restante;
}
// CLASSE -> RETORNAR PERIODO DECORRIDO DE UMA CLASSE DE TRABALHO (tipo: porc , dias , meses)
function decorrido($coduser,$obra,$classe,$tipo,$data_ate)
{
$acao_aux = new Planejamento;
$n_dias = $acao_aux->periodo($coduser,$obra,$classe);
$restante = $acao_aux->restanteClasse($coduser,$obra,$classe,$data_ate);
unset($acao_aux);
$decorrido = ($n_dias-$restante)+1;
if ($tipo=="porc")
{
$decorrido = ($decorrido*100)/$n_dias;
if ($decorrido<0) $decorrido = 0;
return $decorrido;
}
elseif ($tipo=="meses")
{
$decorrido = $decorrido/30;
if ($decorrido<0) $decorrido = 0;
return $decorrido;
}
else
{
if ($decorrido<0) $decorrido = 0;
return $decorrido;
}
}
// CLASSE -> RETORNAR PERIODO ÚTIL DECORRIDO DE UMA CLASSE DE TRABALHO em dias
function decorrido_util($coduser,$obra,$classe,$data_ate)
{
conectabd();
$dados = mysql_query("select date_format(p.data_de, '%d/%m/%Y') as inicio from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe ");
while($linha = mysql_fetch_array($dados))
{ $inicio = $linha["inicio"]; }
$n_dias = DiasUteis($inicio,$data_ate);
return $n_dias;
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* OBRA *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
//CABEÇALHO INFO DA OBRA
function relatorio($coduser,$cod_obra)
{
require_once ("../usi/relatorio.php");
}
function eap($coduser,$cod_obra)
{
require_once ("../pierre/cad_eap.php");
}
function mostra_bm($coduser,$cod_obra)
{
require_once ("../pierre/lista_bm.php");
}
function visualiza_bm($coduser,$cod_obra)
{
require_once ("../pierre/visualiza_bm.php");
}
function revisa_bm($coduser,$cod_obra)
{
require_once ("../../matriz/pierre/revisa_bm.php");
}
function edita_bm($coduser,$cod_obra)
{
require_once ("../pierre/edita_bm.php");
}
function edita_bm_obra($coduser,$cod_obra)
{
require_once ("../../matriz/pierre/edita_bm.php");
}
function visualiza_bm_obra($coduser,$cod_obra)
{
require_once ("../../matriz/pierre/visualiza_bm.php");
}
function lista_bm_obra($coduser,$cod_obra)
{
require_once ("../../matriz/pierre/lista_bm_obra.php");
}
function cad_bm_obra($coduser,$cod_obra)
{
require_once ("../../matriz/pierre/cad_bm.php");
}
function adiantamento($coduser,$cod_obra)
{
require_once ("../../matriz/pierre/adiantamento.php");
}
function adiantamento_matriz($coduser,$cod_obra)
{
require_once ("../pierre/adiantamento.php");
}
function cad_bm_obra1($coduser,$cod_obra,$cod_med,$nro_bm,$acao,$de,$ate)
{
require_once ("../../matriz/pierre/bm_cad.php");
//echo "aaa";
}
function mostra_eap($coduser,$cod_obra)
{
require_once ("../pierre/mostra_eap.php");
}
function mostra_eap_obra($coduser,$cod_obra)
{
ini_set("allow_url_fopen", 1);
require_once ("../../matriz/pierre/mostra_eap.php");
}
function infoObra($coduser,$cod_obra,$tipo)
{
conectabd();
$dados = mysql_query("select o.descricao, o.contato, o.func_contato, o.tel_contato, o.servico, o.logotipo, o.encargos_indireta, o.encargos_direta, o.distancia_containers, o.base_hm, o.valor_contrato from obras o where o.cod=$cod_obra ");
while($linha = mysql_fetch_array($dados))
{
$nomeobra = $linha["descricao"];
$contato = $linha["contato"];
$func_contato = $linha["func_contato"];
$tel_contato = $linha["tel_contato"];
$servico = $linha["servico"];
$logotipo = $linha["logotipo"];
$enc_indireta = $linha["encargos_indireta"];
$enc_direta = $linha["encargos_direta"];
$dist = $linha["distancia_containers"];
$base = $linha["base_hm"];
$valor_contrato = $linha["valor_contrato"];
}
//prazo contratual
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=1 ");
while($linha = mysql_fetch_array($dados))
{ $contratual = $linha["existe"]; $contratual_de = $linha["datade"]; $contratual_ate = $linha["dataate"]; }
//prazo civil
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=2 ");
while($linha = mysql_fetch_array($dados))
{ $civil = $linha["existe"]; $civil_de = $linha["datade"]; $civil_ate = $linha["dataate"]; }
//prazo mecanica
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=3 ");
while($linha = mysql_fetch_array($dados))
{ $mecanica = $linha["existe"]; $mecanica_de = $linha["datade"]; $mecanica_ate = $linha["dataate"]; }
//prazo ei
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=4 ");
while($linha = mysql_fetch_array($dados))
{ $ei = $linha["existe"]; $ei_de = $linha["datade"]; $ei_ate = $linha["dataate"]; }
//prazo jp
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=5 ");
while($linha = mysql_fetch_array($dados))
{ $jp = $linha["existe"]; $jp_de = $linha["datade"]; $jp_ate = $linha["dataate"]; }
//prazo projeto
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=6 ");
while($linha = mysql_fetch_array($dados))
{ $projeto = $linha["existe"]; $projeto_de = $linha["datade"]; $projeto_ate = $linha["dataate"]; }
//prazo andaime
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=7 ");
while($linha = mysql_fetch_array($dados))
{ $andaime = $linha["existe"]; $andaime_de = $linha["datade"]; $andaime_ate = $linha["dataate"]; }
//prazo canteiro
$dados = mysql_query("select p.existe, date_format(p.data_de, '%d/%m/%Y') as datade, date_format(p.data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=8 ");
while($linha = mysql_fetch_array($dados))
{ $canteiro = $linha["existe"]; $canteiro_de = $linha["datade"]; $canteiro_ate = $linha["dataate"]; }
mysql_close();
//pegar tempo restante
$acao_plan = new Planejamento;
$restante = $acao_plan->restante($coduser,$cod_obra);
$decorrido_obra = $acao_plan->decorrido_obra($coduser,$cod_obra,"porc",date("d/m/Y"));
unset($acao_plan);
//parte fixa de cima
?>
<div id="info_obra" >
<table width="965px" id="tab_info_obra" align="left">
<tr>
<td align="center" bgcolor="#CCCCCC" width="125" rowspan="3"><IMG SRC="../../obra/logotipos/<?php echo $logotipo; ?>" border="0" width="120" height="60"></td>
<td width="330" align="left"><b>Nome da Obra: </b><?php echo strtoupper($nomeobra); ?></td>
<td align="left"><b>Contato: </b><?php echo $contato; ?></td>
<td width="150px" align="left" rowspan="3"><img src="../../imagens/calendario_peq.jpg" border="0" />
<?php echo $restante; ?> dias restantes <br /><br />
<img src="../../imagens/clock.png" border="0" />
<?php echo $decorrido_obra; ?>% decorrido
</td>
</tr>
<tr>
<td align="left"><b>Centro de Custo nº </b><?php echo $cod_obra; ?></td>
<td align="left"><b>Função: </b><?php echo $func_contato; ?></td>
</tr>
<tr>
<td align="left"><b>Valor Contrato: </b>R$ <?php echo masc_real($valor_contrato); ?></td>
<td align="left"><b>Telefone: </b> <?php echo $tel_contato; ?></td>
</tr>
</table>
</div>
<?php
echo "<table id='tab2' width='780px' align='center' border='1'>";
if ($tipo!='nome')
{
echo "<tr bgcolor='#EFEFEF'>";
echo "<td width='225px' align='center'><b>Classe</b></td>
<td align='center'><b>Período de Trabalho</b></td>
<td align='center'><b>Período Decorrido</b></td>
";
echo "</tr>";
$acao_plan = new Planejamento;
if ($contratual==1)
{
$n_dias = $acao_plan->periodo($coduser,$cod_obra,1);
$div_30 = $n_dias/30;
$decorrido = $acao_plan->decorrido($coduser,$cod_obra,1,"porc",date("d/m/Y"));
if ($decorrido>100) $decorrido = 100;
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Prazo de execução Contratual:</td>
<td align='center'>$contratual_de a $contratual_ate <i>($n_dias dias - ".masc_2($div_30)." meses)</i></td>
<td align='center'>".masc_2($decorrido)."%</td>";
echo "</tr>";
}
if ($civil==1)
{
$n_dias = $acao_plan->periodo($coduser,$cod_obra,2);
$div_30 = $n_dias/30;
$decorrido = $acao_plan->decorrido($coduser,$cod_obra,2,"porc",date("d/m/Y"));
if ($decorrido>100) $decorrido = 100;
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Prazo de execução Civil:</td>
<td align='center'>$civil_de a $civil_ate <i>($n_dias dias - ".masc_2($div_30)." meses)</i></td>
<td align='center'>".masc_2($decorrido)."%</td>";
echo "</tr>";
}
if ($mecanica==1)
{
$n_dias = $acao_plan->periodo($coduser,$cod_obra,3);
$div_30 = $n_dias/30;
$decorrido = $acao_plan->decorrido($coduser,$cod_obra,3,"porc",date("d/m/Y"));
if ($decorrido>100) $decorrido = 100;
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Prazo de execução Mecânica:</td>
<td align='center'>$mecanica_de a $mecanica_ate <i>($n_dias dias - ".masc_2($div_30)." meses)</i></td>
<td align='center'>".masc_2($decorrido)."%</td>";
echo "</tr>";
}
if ($ei==1)
{
$n_dias = $acao_plan->periodo($coduser,$cod_obra,4);
$div_30 = $n_dias/30;
$decorrido = $acao_plan->decorrido($coduser,$cod_obra,4,"porc",date("d/m/Y"));
if ($decorrido>100) $decorrido = 100;
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Prazo de execução Elétr./Instrum.:</td>
<td align='center'>$ei_de a $ei_ate <i>($n_dias dias - ".masc_2($div_30)." meses)</i></td>
<td align='center'>".masc_2($decorrido)."%</td>";
echo "</tr>";
}
if ($jp==1)
{
$n_dias = $acao_plan->periodo($coduser,$cod_obra,5);
$div_30 = $n_dias/30;
$decorrido = $acao_plan->decorrido($coduser,$cod_obra,5,"porc",date("d/m/Y"));
if ($decorrido>100) $decorrido = 100;
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Prazo de execução Jato e Pintura:</td>
<td align='center'>$jp_de a $jp_ate <i>($n_dias dias - ".masc_2($div_30)." meses)</i></td>
<td align='center'>".masc_2($decorrido)."%</td>";
echo "</tr>";
}
if ($projeto==1)
{
$n_dias = $acao_plan->periodo($coduser,$cod_obra,6);
$div_30 = $n_dias/30;
$decorrido = $acao_plan->decorrido($coduser,$cod_obra,6,"porc",date("d/m/Y"));
if ($decorrido>100) $decorrido = 100;
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Prazo de execução Projeto:</td>
<td align='center'>$projeto_de a $projeto_ate <i>($n_dias dias - ".masc_2($div_30)." meses)</i></td>
<td align='center'>".masc_2($decorrido)."%</td>";
echo "</tr>";
}
if ($andaime==1)
{
$n_dias = $acao_plan->periodo($coduser,$cod_obra,7);
$div_30 = $n_dias/30;
$decorrido = $acao_plan->decorrido($coduser,$cod_obra,7,"porc",date("d/m/Y"));
if ($decorrido>100) $decorrido = 100;
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Prazo de execução Andaimes:</td>
<td align='center'>$andaime_de a $andaime_ate <i>($n_dias dias - ".masc_2($div_30)." meses)</i></td>
<td align='center'>".masc_2($decorrido)."%</td>";
echo "</tr>";
}
if ($canteiro==1)
{
$n_dias = $acao_plan->periodo($coduser,$cod_obra,8);
$div_30 = $n_dias/30;
$decorrido = $acao_plan->decorrido($coduser,$cod_obra,8,"porc",date("d/m/Y"));
if ($decorrido>100) $decorrido = 100;
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Prazo de execução Total Canteiro:</td>
<td align='center'>$canteiro_de a $canteiro_ate <i>($n_dias dias - ".masc_2($div_30)." meses)</i></td>
<td align='center'>".masc_2($decorrido)."%</td>";
echo "</tr>";
}
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Encargos MO Indireta: <b>$enc_indireta</b></td>
<td style=\"padding-left:20px\" colspan='2' rowspan='4' align='left'><b>Descrição do Serviço:</b> $servico</td>";
echo "</tr>";
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Encargos MO Direta: <b>$enc_direta</b></td>";
echo "</tr>";
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Distância transp. containers: <b>$dist Km</b></td>";
echo "</tr>";
$duracao = $acao_plan->duracao($coduser,$cod_obra);
echo "<tr>";
echo "<td bgcolor='#EFEFEF' width='225px' align='right'>Duração da Obra: <b>$duracao[duracao] dias</b></td>";
echo "</tr>";
unset($acao_plan);
}
echo "</table>";
}
//COMPOSIÇÃO SALARIAL
function compSalario($coduser,$cod_obra,$funcao,$mo,$classe)
{
conectabd();
$dados = "select f.descricao, m.valor_hh, m.peric, m.pf, m.valor_pfhh, o.encargos_indireta, o.encargos_direta, o.encargos_folha_indireta, o.encargos_folha_direta ";
if ($mo=="direta")
$dados = $dados."from modireta m, funcoes f, obras o ";
elseif ($mo=="indireta")
$dados = $dados."from moindireta m, funcoes f, obras o ";
$dados = mysql_query($dados."where o.cod=$cod_obra AND m.obras_cod=o.cod AND m.funcoes_cod=f.cod AND f.cod=$funcao AND m.classes_cod=$classe ");
while($linha = mysql_fetch_array($dados))
{
$nome_funcao = $linha["descricao"];
$hh = $linha["valor_hh"];
$peri = $linha["peric"];
$pf = $linha["pf"];
$hora_pf = $linha["valor_pfhh"];
$enc_indireta = $linha["encargos_indireta"];
$enc_direta = $linha["encargos_direta"];
$enc_folha_indireta = $linha["encargos_folha_indireta"];
$enc_folha_direta = $linha["encargos_folha_direta"];
if ($peri==1)
{
$taxa_peri = 0.30; //% da periculosidade
$perc_peri = "30%";
}
else
{
$taxa_peri = 0;
$perc_peri = "0%";
}
//HOMEM $hh -> hora homem
$hm = $hh*220; //valor homem/mes
//PERICULOSIDADE
$hora_peri = $hh*$taxa_peri; //valor da periculosidade por hora
$mes_peri = $hora_peri*220; //valor total da peridulosidade por mes
//ENCARGOS
if ($mo=="direta") $taxa_encargo = $enc_direta; //taxa de encargos caso seja mo direta
elseif ($mo=="indireta") $taxa_encargo = $enc_indireta; //taxa de encargos caso seja mo indireta
$mes_encargo = ($hm+$mes_peri)*$taxa_encargo; //valor do mes de encargos
$hora_encargo = $mes_encargo/220; //valor da hora de encargos
//PF $hora_pf -> valor da hora pf
if ($mo=="direta") $taxa_encargo_folha = $enc_folha_direta; //taxa de encargos caso seja mo direta
elseif ($mo=="indireta") $taxa_encargo_folha = $enc_folha_indireta; //taxa de encargos caso seja mo indireta
$mes_encargo_folha = ($hm+$mes_peri)*$taxa_encargo_folha; //valor do mes de encargos
$hora_encargo_folha = $mes_encargo_folha/220; //valor da hora de encargos
//PF $hora_pf -> valor da hora pf
if ($pf==1)
{
$mes_pf = $hora_pf*220; //valor do mes pf
}
else
{
$hora_pf=0;
$mes_pf=0;
}
//TOTAIS
$custo_empresa = $hm+$mes_peri+$mes_encargo+$mes_pf+$mes_encargo_folha;
$total_carteira = $hm+$mes_peri;
$total_salario = $total_carteira+$mes_pf;
//tabela de visualização
echo "<table id='tab3' width='600px' align=center border='1'>";
echo "<tr ><td bgcolor='#DDDDDD' align='center' colspan='4'><b>".(strtoupper($nome_funcao))."</b></td><td bgcolor='#DDDDDD' align='center' colspan='2'><b>R$ MÊS</b></td></tr>";
echo "<tr><td bgcolor='#EFEFEF' colspan='4'></td><td bgcolor='#EFEFEF' align='center'><b>CARTEIRA</b></td><td bgcolor='#EFEFEF' align='center'><b>F-10</b></td></tr>";
echo "<tr>";
echo "
<td width='40px' align='center'><b>Item</b></td>
<td align='center'><b>Descrição</b></td>
<td width='50px' align='center'><b>Perc.</b></td>
<td width='90px' align='center'><b>R$ p/hora</b></td>
<td width='90px' align='center' bgcolor='#FFFF5E'><b>R$ ".masc_real($total_carteira)."</b></td>
<td width='90px' align='center' bgcolor='#FFFF5E'><b>R$ ".masc_real($mes_pf)."</b></td>
";
echo "</tr>";
echo "<tr>";
echo "
<td align='center'>1</td>
<td align='left'>VALOR HORA</td>
<td align='center'></td>
<td align='center'>R$ ".masc_real($hh)."</td>
<td align='center'>R$ ".masc_real($hm)."</td>
<td align='center'></td>
";
echo "</tr>";
echo "<tr>";
echo "
<td align='center'>2</td>
<td align='left'>PERICULOSIDADE</td>
<td align='center'>$perc_peri</td>
<td align='center'>R$ ".masc_real($hora_peri)."</td>
<td align='center'>R$ ".masc_real($mes_peri)."</td>
<td align='center'></td>
";
echo "</tr>";
echo "<tr>";
echo "
<td align='center'>3</td>
<td align='left'>ENCARGOS SOCIAIS</td>
<td align='center'>".masc_2($taxa_encargo*100)."%</td>
<td align='center'>R$ ".masc_real($hora_encargo)."</td>
<td align='center'>R$ ".masc_real($mes_encargo)."</td>
<td align='center'></td>
";
echo "</tr>";
echo "<tr>";
echo "
<td align='center'>3</td>
<td align='left'>ENCARGOS FOLHA</td>
<td align='center'>".masc_2($taxa_encargo_folha*100)."%</td>
<td align='center'>R$ ".masc_real($hora_encargo_folha)."</td>
<td align='center'>R$ ".masc_real($mes_encargo_folha)."</td>
<td align='center'></td>
";
echo "</tr>";
if ($pf==1)
{
echo "<tr>";
echo "
<td align='center'>4</td>
<td align='left'>F-10</td>
<td align='center'></td>
<td align='center'>R$ ".masc_real($hora_pf)."</td>
<td align='center'>R$ ".masc_real($mes_pf)."</td>
<td align='center'></td>
";
echo "</tr>";
}
echo "<tr><td align='center' colspan='4' bgcolor='#FFFF5E'><b>CUSTO TOTAL POR MÊS</b></td><td align='center' colspan='2' bgcolor='#FFFF5E'><b>R$ ".masc_real($custo_empresa)."</b></td></tr>";
echo "</table>";
}
return true;
}
//FORM DE CADASTRO DE AVANÇO PREVISTO tipo: altera ou novo (save, alçteração e conclusão está em index.php)
function CadAvanco($coduser,$obra,$tipo)
{
$libera = 0;
if ($tipo=="ver")
{
if (((verif_perm($coduser,$obra,22,"L"))==true) || ((verif_perm($coduser,1,22,"L"))==true))
$libera = 1;
}
else
{
if ((verif_perm($coduser,$obra,22,"G"))==true)
$libera = 1;
}
if ($libera==1)
{
$aux_plan = new Planejamento;
$duracao = $aux_plan->duracao($coduser,$obra);
$dias_de_obra = $duracao["duracao"]; //dias de obra
$data_inicio = date("d/m/Y",$duracao["de"]); //data de inicio da obra
$data_fim = date("d/m/Y",$duracao["ate"]); //data final da obra
$dia_inicial = date(w,$duracao["de"]);
$cont_dias = 0;
$escreve = 0;
$linhas = $dias_de_obra/7;
$linhas = intval($linhas)+2;
$data_do_dia = br_to_eua($data_inicio);
?>
<center><span class='rdo_texto'><b>Período da Obra: <?php echo $data_inicio." a ".$data_fim; ?></b></span></center><br />
<table id="tab_qualidade" width="950px" align="center" border="1">
<?php if ($tipo!="ver") { ?> <form action="index.php?<?php echo md5('envio')."=".md5('save_ap'); ?>" method="post" name="formap"> <?php } ?>
<tr>
<th colspan="7" align="center" >CADASTRO DE AVANÇO PREVISTO (%)</th>
</tr>
<tr bgcolor="EFEFEF">
<td align="center" >Domingo</td>
<td align="center" >Segunda</td>
<td align="center" >Terça</td>
<td align="center" >Quarta</td>
<td align="center" >Quinta</td>
<td align="center" >Sexta</td>
<td align="center" >Sábado</td>
</tr>
<?php
if ($tipo=="ver")
$dis = "disabled";
else
$dis = "";
$total_previsto = 0;
conectabd();
for ($L=1; $L<=$linhas; $L++)
{
echo "<tr>";
for ($i=0; $i<=6; $i++)
{
$data_valor = mktime(0,0,0,substr($data_do_dia,5,2),substr($data_do_dia,8,2),substr($data_do_dia,0,4));
if (date(w,$data_valor)==6) //sabado
$cor = "bgcolor='#FFFF00'";
elseif (date(w,$data_valor)==0) //domingo
$cor = "bgcolor='#66CCFF'";
else
$cor = "";
echo "<td $cor align='center'>";
if (($L==1) && ($i<=6) && ($escreve==0)) //para escrever no dia da semana que começa
{
if ($i==$dia_inicial)
$escreve=1;
}
if ($escreve==1)
{
if (($data_valor>=$duracao["de"]) && ($data_valor<=$duracao["ate"])) //se data estiver no periodo da obra
{
$cont_dias = $cont_dias+1;
echo "Dia $cont_dias<br />".eua_to_br($data_do_dia)."<br />";
if (($tipo=="altera") || ($tipo=="ver"))
{
$dados = mysql_query("select a.avanco from avancoprevisto a where a.obras_cod=$obra AND a.dia='$data_do_dia' ");
while($linha = mysql_fetch_array($dados))
{ $x_avanco = $linha["avanco"]; }
$total_previsto = $total_previsto + $x_avanco;
?>
<input <?php echo $dis; ?> style="text-align:center" name="<?php echo $data_do_dia; ?>" type="text" size="9" maxlength="8" value="<?php echo masc_2($x_avanco); ?>">
<?php
}
else
{
?>
<input style="text-align:center" name="<?php echo $data_do_dia; ?>" type="text" size="9" maxlength="8">
<?php
}
}
$data_do_dia = add_dia_data(substr($data_do_dia,0,4).substr($data_do_dia,5,2).substr($data_do_dia,8,2),1);
}
echo "</td>";
}
echo "</tr>";
}
mysql_close();
?>
</tr>
<?php if ($tipo!="ver") { ?>
<tr>
<td colspan="7" align="center"><br><input name="sub" type="submit" value=" Salvar " class="botao"><br /><br /></td>
</tr>
</form> <?php } ?>
<tr>
<td colspan="7" align="center"><br>
<?php
echo '<b>Avanço Total: '.masc_2($total_previsto).'%</b><br>';
if (masc_2($total_previsto)>=100)
{
conectabd();
$dados = mysql_query("SELECT * FROM obras o WHERE o.cod=$obra AND o.avanco_previsto='S' ");
$num = mysql_num_rows($dados);
if ($num==0)
echo "Para CONCLUIR o cadastro de avanço previsto <a href='index.php?".md5('envio')."=".md5('conclui_ap')."'>CLIQUE AQUI</a>.<br><u>Obs</u>: Após concluído o cadastro não poderá ser alterado.";
}
elseif (($total_previsto!=100) && ($tipo!="ver"))
{
echo "Para CONCLUIR o cadastro de avanço previsto da obra é necessário que o total seja 100% (atualmente está em ".masc_2($total_previsto)."%)";
}
?>
<br /><br /></td>
</tr>
</table>
<?php
unset($duracao);
unset($aux_plan);
}
else
{
echo "<center><span class='rdo_texto'><b>Visualização negada ou avanço previsto ainda não concluído. </b></span> <img src=\"../../imagens/exclui.gif\" border=\"0\" ALT=\"Error!\"></center><br>";
}
}
//FORM DE ALTERACAO PERIODO DAS CLASSES (save alterações na index)
function AltClasses($coduser,$cod_obra)
{
if (((verif_perm($coduser,$cod_obra,22,"L"))==true) || ((verif_perm($coduser,1,22,"L"))==true))
{
conectabd();
$dados = mysql_query("SELECT * FROM prazos_obra p WHERE p.obras_cod=$cod_obra AND p.existe=1 AND p.orca_data_de<>p.data_de OR p.orca_data_ate<>p.data_ate ");
$cont = mysql_num_rows($dados);
mysql_close();
if ($cont==0)
$disa = "";
else
$disa = "disabled";
conectabd();
//prazo contratual
$dados = mysql_query("select p.existe, date_format(p.orca_data_de, '%d/%m/%Y') as datade, date_format(p.orca_data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=1 ");
while($linha = mysql_fetch_array($dados))
{ $contratual = $linha["existe"]; $contratual_de = $linha["datade"]; $contratual_ate = $linha["dataate"]; }
//prazo civil
$dados = mysql_query("select p.existe, date_format(p.orca_data_de, '%d/%m/%Y') as datade, date_format(p.orca_data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=2 ");
while($linha = mysql_fetch_array($dados))
{ $civil = $linha["existe"]; $civil_de = $linha["datade"]; $civil_ate = $linha["dataate"]; }
//prazo mecanica
$dados = mysql_query("select p.existe, date_format(p.orca_data_de, '%d/%m/%Y') as datade, date_format(p.orca_data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=3 ");
while($linha = mysql_fetch_array($dados))
{ $mecanica = $linha["existe"]; $mecanica_de = $linha["datade"]; $mecanica_ate = $linha["dataate"]; }
//prazo ei
$dados = mysql_query("select p.existe, date_format(p.orca_data_de, '%d/%m/%Y') as datade, date_format(p.orca_data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=4 ");
while($linha = mysql_fetch_array($dados))
{ $ei = $linha["existe"]; $ei_de = $linha["datade"]; $ei_ate = $linha["dataate"]; }
//prazo jp
$dados = mysql_query("select p.existe, date_format(p.orca_data_de, '%d/%m/%Y') as datade, date_format(p.orca_data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=5 ");
while($linha = mysql_fetch_array($dados))
{ $jp = $linha["existe"]; $jp_de = $linha["datade"]; $jp_ate = $linha["dataate"]; }
//prazo projeto
$dados = mysql_query("select p.existe, date_format(p.orca_data_de, '%d/%m/%Y') as datade, date_format(p.orca_data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=6 ");
while($linha = mysql_fetch_array($dados))
{ $projeto = $linha["existe"]; $projeto_de = $linha["datade"]; $projeto_ate = $linha["dataate"]; }
//prazo andaime
$dados = mysql_query("select p.existe, date_format(p.orca_data_de, '%d/%m/%Y') as datade, date_format(p.orca_data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=7 ");
while($linha = mysql_fetch_array($dados))
{ $andaime = $linha["existe"]; $andaime_de = $linha["datade"]; $andaime_ate = $linha["dataate"]; }
//prazo canteiro
$dados = mysql_query("select p.existe, date_format(p.orca_data_de, '%d/%m/%Y') as datade, date_format(p.orca_data_ate, '%d/%m/%Y') as dataate from prazos_obra p where p.obras_cod=$cod_obra AND p.classes_cod=8 ");
while($linha = mysql_fetch_array($dados))
{ $canteiro = $linha["existe"]; $canteiro_de = $linha["datade"]; $canteiro_ate = $linha["dataate"]; }
mysql_close();
?>
<table id="tab2" width="900px" align="center" border="1">
<form action="?<?php echo md5('envio')."=".md5('save_altclasses'); ?>" method="post" name="formobra_geral">
<input name="obra" type="hidden" size="5" maxlength="10" value="<?php echo $obra; ?>">
<!-- PRAZOS -->
<?php
if ($contratual==1)
{
?>
<tr bgcolor="#EFEFEF">
<td width="200px" align="center"><b>Classe</b></td>
<td width="250px" align="center"><b>Período</b></td>
<td align="left"> <b>Novo Período</b></td>
</tr>
<tr>
<td bgcolor="#EFEFEF" align="right">Prazo Contratual:</td>
<td align="center"><input readonly="true" type="text" size="13" value="<?php echo $contratual_de; ?>" /> a <input readonly="true" type="text" size="13" value="<?php echo $contratual_ate; ?>" /></td>
<td><input <?php echo $disa; ?> name="contratual_de" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(1,contratual_de.value,contratual_ate.value)"> a <input <?php echo $disa; ?> name="contratual_ate" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(1,contratual_de.value,contratual_ate.value)"> <span id="calc_contratual"></span></td>
</tr>
<?php
}
if ($civil==1)
{
?>
<tr>
<td bgcolor="#EFEFEF" align="right">Prazo Execução Civil:</td>
<td align="center"><input readonly="true" type="text" size="13" value="<?php echo $civil_de; ?>" /> a <input readonly="true" type="text" size="13" value="<?php echo $civil_ate; ?>" /></td>
<td><input <?php echo $disa; ?> name="civil_de" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(2,civil_de.value,civil_ate.value)"> a <input <?php echo $disa; ?> name="civil_ate" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(2,civil_de.value,civil_ate.value)"> <span id="calc_civil"></span></td>
</tr>
<?php
}
if ($mecanica==1)
{
?>
<tr>
<td bgcolor="#EFEFEF" align="right">Prazo Execução Mecânica:</td>
<td align="center"><input readonly="true" type="text" size="13" value="<?php echo $mecanica_de; ?>" /> a <input readonly="true" type="text" size="13" value="<?php echo $mecanica_ate; ?>" /></td>
<td><input <?php echo $disa; ?> name="mecanica_de" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(3,mecanica_de.value,mecanica_ate.value)"> a <input <?php echo $disa; ?> name="mecanica_ate" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(3,mecanica_de.value,mecanica_ate.value)"> <span id="calc_mecanica"></span></td>
</tr>
<?php
}
if ($ei==1)
{
?>
<tr>
<td bgcolor="#EFEFEF" align="right">Prazo Execução Elétrica/Instrum.:</td>
<td align="center"><input readonly="true" type="text" size="13" value="<?php echo $ei_de; ?>" /> a <input readonly="true" type="text" size="13" value="<?php echo $ei_ate; ?>" /></td>
<td><input <?php echo $disa; ?> name="ei_de" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(4,ei_de.value,ei_ate.value)"> a <input <?php echo $disa; ?> name="ei_ate" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(4,ei_de.value,ei_ate.value)"> <span id="calc_ei"></span></td>
</tr>
<?php
}
if ($jp==1)
{
?>
<tr>
<td bgcolor="#EFEFEF" align="right">Prazo Execução Jato e Pintura:</td>
<td align="center"><input readonly="true" type="text" size="13" value="<?php echo $jp_de; ?>" /> a <input readonly="true" type="text" size="13" value="<?php echo $jp_ate; ?>" /></td>
<td><input <?php echo $disa; ?> name="jp_de" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(5,jp_de.value,jp_ate.value)"> a <input <?php echo $disa; ?> name="jp_ate" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(5,jp_de.value,jp_ate.value)"> <span id="calc_jp"></span></td>
</tr>
<?php
}
if ($projeto==1)
{
?>
<tr>
<td bgcolor="#EFEFEF" align="right">Prazo Execução Projeto:</td>
<td align="center"><input readonly="true" type="text" size="13" value="<?php echo $projeto_de; ?>" /> a <input readonly="true" type="text" size="13" value="<?php echo $projeto_ate; ?>" /></td>
<td><input <?php echo $disa; ?> name="projeto_de" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(6,projeto_de.value,projeto_ate.value)"> a <input <?php echo $disa; ?> name="projeto_ate" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(6,projeto_de.value,projeto_ate.value)"> <span id="calc_projeto"></span></td>
</tr>
<?php
}
if ($andaime==1)
{
?>
<tr>
<td bgcolor="#EFEFEF" align="right">Prazo Execução Andaimes:</td>
<td align="center"><input readonly="true" type="text" size="13" value="<?php echo $andaime_de; ?>" /> a <input readonly="true" type="text" size="13" value="<?php echo $andaime_ate; ?>" /></td>
<td><input <?php echo $disa; ?> name="andaime_de" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(7,andaime_de.value,andaime_ate.value)"> a <input <?php echo $disa; ?> name="andaime_ate" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(7,andaime_de.value,andaime_ate.value)"> <span id="calc_andaime"></span></td>
</tr>
<?php
}
if ($canteiro==1)
{
?>
<tr>
<td bgcolor="#EFEFEF" align="right">Prazo Execução Total Canteiro:</td>
<td align="center"><input readonly="true" type="text" size="13" value="<?php echo $canteiro_de; ?>" /> a <input readonly="true" type="text" size="13" value="<?php echo $canteiro_ate; ?>" /></td>
<td><input <?php echo $disa; ?> name="canteiro_de" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(8,canteiro_de.value,canteiro_ate.value)"> a <input <?php echo $disa; ?> name="canteiro_ate" type="text" size="13" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')" onkeyup="calcula_dias(8,canteiro_de.value,canteiro_ate.value)"> <span id="calc_canteiro"></span></td>
</tr>
<?php
}
?>
<tr><td colspan="3" align="center"></td></tr>
<tr>
<td colspan="3" align="center"><input <?php echo $disa; ?> name="sub" type="submit" value=" Salvar Alterações " class="botao"></td>
</tr>
</form>
</table>
<?php
}
else
{
$plan = new Planejamento;
$plan->erro_plan();
}
}
//VER PERIODO ALTERADO
function VerAltClasses($coduser,$cod_obra)
{
if (((verif_perm($coduser,$cod_obra,22,"L"))==true) || ((verif_perm($coduser,1,22,"L"))==true))
{
conectabd();
$dados = mysql_query("SELECT * FROM prazos_obra p WHERE p.obras_cod=$cod_obra AND p.existe=1 AND p.orca_data_de<>p.data_de OR p.orca_data_ate<>p.data_ate ");
$cont = mysql_num_rows($dados);
mysql_close();
?>
<table id="tab2" width="780px" align="center" border="1">
<tr bgcolor="#EFEFEF">
<td width="225px" align="center"><b>Classe</b></td>
<td width="270px" align="center"><b>Pelo Orçamento</b></td>
<td align="center"><b>Pelo Planejamento</b></td>
</tr>
<?php
conectabd();
$dados = mysql_query("select c.descricao, c.cod, p.existe, date_format(p.orca_data_de, '%d/%m/%Y') as orca_de,
date_format(p.orca_data_ate, '%d/%m/%Y') as orca_ate,
date_format(p.data_de, '%d/%m/%Y') as de,
date_format(p.data_ate, '%d/%m/%Y') as ate
from prazos_obra p, classes c where p.obras_cod=$cod_obra AND p.classes_cod=c.cod order by c.cod ");
while($linha = mysql_fetch_array($dados))
{
$classe = $linha["descricao"];
$cod_classe = $linha['cod'];
$existe = $linha["existe"];
$orca_de = $linha["orca_de"];
$orca_ate = $linha["orca_ate"];
$de = $linha["de"];
$ate = $linha["ate"];
if ($existe==1)
{
if ($cont==0)
{
$de = "";
$ate = "";
}
?>
<tr>
<td bgcolor="#EFEFEF" align="right">Prazo de <?php echo $classe; ?></td>
<td align="center"><input style="text-align:center;" readonly="true" type="text" size="13" value="<?php echo $orca_de; ?>" /> a <input style="text-align:center;" readonly="true" type="text" size="13" value="<?php echo $orca_ate; ?>" /></td>
<form action="../pierre/cad_planej.php" method="post">
<td align="center">
<input style="text-align:center;" type="text" size="13" value="<?php echo $de; ?>" /> a <input style="text-align:center;" type="text" size="13" value="<?php echo $ate; ?>" />
<!--<img src="../../imagens/editar_1.png" alt="alterar" onClick="popup('http://www.google.com.br');" />-->
<a href="#" style="border:none" onClick="window.open('../pierre/cad_planej.php?cod_obra=<?=$cod_obra?>&cod_classe=<?=$cod_classe?>&coduser=<?=$coduser?>&de=<?=$de?>&ate=<?=$ate?>&classe=<?=$classe?>','Janela','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=340,height=200,left=340,top=300'); return false;"> <img src="../../imagens/editar_1.png" style="border:none"> </a>
<!--<a href="#" onclick="document.getElementById('teste').style.display='block';"> <img src="../../imagens/editar_1.png" style="border:none"> </a>-->
<div id="teste" style="display:none">
<input type="text" size="13" /> a <input type="text" size="13" style="margin-right:19px" />
<input type="hidden" name="cod_obra" value="<?=$cod_obra?>" />
<input type="hidden" name="classe" value="<?=$cod_classe?>" />
</div>
</td>
</form>
</tr>
<?php
}
}
mysql_close();
?>
<!-- Cadastro de dias de medições. -->
<?php
conectabd();
$seleciona = mysql_query("select m.de, m.ate from medicoes m where m.obras_cod=$cod_obra");
$nmed = mysql_num_rows($seleciona);
?>
<form action="../pierre/cad_med.php" method="post" name="form1" onsubmit="return validar();">
<input type="hidden" value="<?=$coduser?>" name="coduser" />
<input type="hidden" value="<?=$cod_obra?>" name="cod_obra" />
<input type="hidden" value="<?=$de?>" name="inicio_obra" />
<input type="hidden" value="<?=$ate?>" name="fim_obra" />
<tr>
<td bgcolor="#EFEFEF" align="right">Prazo de medições</td>
<td align="center"><input style="text-align:center;" readonly="true" type="text" size="13" value="<?php echo $de; ?>" /> a <input style="text-align:center;" readonly="true" type="text" size="13" value="<?php echo $ate; ?>" /></td>
<td align="center" rowspan="2" colspan="2">
<?php
//SELECT
//echo "Código da obra: ".$cod_obra;
if ($nmed == 0 )
echo "Nenhuma medição cadastrada para esta obra até o momento.";
else
{
echo "Medições cadastradas até o momento.<br /><br />";
while($linha = mysql_fetch_array($seleciona))
{
$de = $linha['de'];
$ate = $linha['ate'];
$de = explode ("-",$de);
$ate = explode ("-",$ate);
$de = $de[2]."/".$de[1]."/".$de[0];
$ate = $ate[2]."/".$ate[1]."/".$ate[0];
?>
<input style="text-align:center;" type="text" size="13" value="<?php echo $de; ?>" /> a <input style="text-align:center;" type="text" size="13" value="<?php echo $ate; ?>" /> <a href="#" style="border:none" onClick="window.open('../pierre/cad_planej.php?cod_obra=<?=$cod_obra?>&cod_classe=<?=$cod_classe?>&coduser=<?=$coduser?>&de=<?=$de?>&ate=<?=$ate?>&classe=<?=$classe?>','Janela','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=340,height=200,left=340,top=300'); return false;"> <img src="../../imagens/editar_1.png" style="border:none"> </a>
<?php
}
}
?>
</td>
</tr>
<tr>
<td>
<?php
// if ($nmed == 0)
/// {
?>
<input type="radio" name="op" value="datas_definidas" onclick="document.getElementById('nmed').style.display='block'; document.getElementById('tp').style.display='none'; document.getElementById('datai').style.display='none'; " /> Datas Definidas
<br />
<input type="radio" name="op" value="criterio" onclick="document.getElementById('tp').style.display='block'; document.getElementById('nmed').style.display='none'; document.getElementById('datai').style.display='none'; " /> Critério
<br />
<div id="tp" style="display:none; margin-left: 20px;">
<br />
<input type="radio" name="dcriterio" value="15" onclick="document.getElementById('datai').style.display='block';" /> 15 dias
<br />
<input type="radio" name="dcriterio" value="30" onclick="document.getElementById('datai').style.display='block';" /> 30 dias
</div>
<?php
// }
// else
// echo "<span style='text-align:right'>Medições cadastradas.</span>";
?>
</td>
<td align="center">
<script>
function formata_data_aux(src, mask)
{
var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i);
if (texto.substring(0,1) != saida)
{
src.value += texto.substring(0,1);
}
}
function nmedicoes(qtde)
{
nmedicoes=document.getElementById('nmed');
nmedicoes.innerHTML="";
for (c=1;c<=qtde;c++)
{
nmedicoes.innerHTML=nmedicoes.innerHTML+c+": <input style='text-align:center;' type='text' size='13' name='mdatasi[]' maxlength='10' OnKeyPress=\"formata_data_aux(this, '##/##/####')\" /> a <input style='text-align:center;' type='text' size='13' name='mdatasf[]' maxlength='10' OnKeyPress=\"formata_data_aux(this, '##/##/####')\" /> <br /> ";
}
}
</script>
<div id="nmed" style="display:none; margin-left: 20px;">
Número de medições: <br />
<input type="text" name="nmedi" style="width:20px" maxlength="3"/>
<input type="buttom" size="2" value="Ok" onclick="nmedicoes(nmedi.value)" OnKeyPress="formata_data_aux(this, '##/##/####')" />
</div>
<br />
<div id="nmedicoes">
</div>
<div id="datai" style="display:none">
Data da primeira medição: <br />
<input style="text-align:center;" type="text" size="13" name="dtimed" maxlength="10" OnKeyPress="formata_data_aux(this, '##/##/####')"/>
</div>
</td>
</tr>
<tr>
<td>
</td>
<input type="hidden" name="coduser" value="<?=$coduser?>"/>
<?php
//if ($nmed == 0)
//{
?>
<script type="text/javascript">
function validar()
{
if(confirm("Confirmar Período de Classes"))
{
return true;
} else
{
alert("Cadastro não Realizado.");
return false;
}
}
</script>
<td><input type="submit" style="float:right; width:80px; border:1px #000000;" value="Cadastrar" name="Cadastrar" /></td>
<?php
//}
?>
<td>
</td>
</tr>
</form>
</table>
<?php
}
else
{
$plan = new Planejamento;
$plan->erro_plan();
}
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* RETORNADORES *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * *
* AUDITORIA *
* * * * * * * * * * * * * * * * * * * * * * */
// RETORNA NUMERO DE HOMENS PREVISTO POR DIA PARA TODA OBRA
function H_previstos($coduser,$obra,$funcao,$mo,$classe)
{
conectabd();
if ($mo=="direta")
$dados = mysql_query("select m.horas_planejadas from modireta m where m.obras_cod=$obra AND m.funcoes_cod=$funcao AND classes_cod=$classe ");
elseif ($mo=="indireta")
$dados = mysql_query("select m.horas_planejadas from moindireta m where m.obras_cod=$obra AND m.funcoes_cod=$funcao AND classes_cod=$classe ");
while($linha = mysql_fetch_array($dados))
{
$hprevista = $linha["horas_planejadas"];
}
$aux = new Planejamento;
$periodo = $aux->periodoClasseMeses($coduser,$obra,$classe);
$result = $hprevista/$periodo/184;
unset($aux);
return $result;
}
// QTD EFETIVO AUDITORIA (PARTE RDO) : tipo = acumulado, nodia, atedata
function Efetivo_Aud_RDO($coduser,$obra,$mo,$tipo,$data,$funcao,$classe)
{
$qtd_usimec = 0;
$qtd_subcontratada = 0;
conectabd();
if ($tipo=="acumulado")
{
if ($mo=="direta")
{
$sql_usimec = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomod m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='".date("Y/m/d")."' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomodsub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='".date("Y/m/d")."' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
elseif ($mo=="indireta")
{
$sql_usimec = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomoi m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='".date("Y/m/d")."' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomoisub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='".date("Y/m/d")."' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
}
elseif ($tipo=="nodia")
{
if ($mo=="direta")
{
$sql_usimec = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomod m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomodsub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
elseif ($mo=="indireta")
{
$sql_usimec = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomoi m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomoisub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
}
elseif ($tipo=="atedata")
{
if ($mo=="direta")
{
$sql_usimec = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomod m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomodsub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
elseif ($mo=="indireta")
{
$sql_usimec = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomoi m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.nfunc) as qtd FROM rdomoisub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
}
while($linha_sql_usimec = mysql_fetch_array($sql_usimec))
{ $qtd_usimec = $linha_sql_usimec["qtd"]; }
while($linha_sql_sub = mysql_fetch_array($sql_sub))
{ $qtd_subcontratada = $linha_sql_sub["qtd"]; }
$qtd = $qtd_usimec+$qtd_subcontratada;
return $qtd;
}
//Diferença entre datas
function DataMaior($data1,$data2)
{
$ano_banco1 = substr($data1,0,4);
$mes_banco1 = substr($data1,5,2);
$dia_banco1 = substr($data1,8,2);
$data1 = $dia_banco1."-".$mes_banco1."-".$ano_banco1;
$ano_banco2 = substr($data2,0,4);
$mes_banco2 = substr($data2,5,2);
$dia_banco2 = substr($data2,8,2);
$data2 = $dia_banco2."-".$mes_banco2."-".$ano_banco2;
$data1 = mktime(0,0,0,$mes_banco1,$dia_banco1,$ano_banco1);
$data2 = mktime(0,0,0,$mes_banco2,$dia_banco2,$ano_banco2);
$dias = ($data2 - $data1)/86400;
$dias = ceil($dias);
return $dias+1;
}
// HH EFETIVO AUDITORIA (PARTE RDO) : tipo = acumulado, nodia, atedata
function HH_Aud_RDO($coduser,$obra,$mo,$tipo,$data,$funcao,$classe)
{
$qtd_usimec = 0;
$qtd_subcontratada = 0;
conectabd();
if ($tipo=="acumulado")
{
if ($mo=="direta")
{
$sql_usimec = mysql_query("SELECT sum(m.hh) as qtd FROM rdomod m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='".date("Y/m/d")."' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.hh) as qtd FROM rdomodsub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='".date("Y/m/d")."' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
elseif ($mo=="indireta")
{
$sql_usimec = mysql_query("SELECT sum(m.hh) as qtd FROM rdomoi m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='".date("Y/m/d")."' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.hh) as qtd FROM rdomoisub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='".date("Y/m/d")."' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
}
elseif ($tipo=="nodia")
{
if ($mo=="direta")
{
$sql_usimec = mysql_query("SELECT sum(m.hh) as qtd FROM rdomod m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.hh) as qtd FROM rdomodsub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
elseif ($mo=="indireta")
{
$sql_usimec = mysql_query("SELECT sum(m.hh) as qtd FROM rdomoi m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.hh) as qtd FROM rdomoisub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
}
elseif ($tipo=="atedata")
{
if ($mo=="direta")
{
$sql_usimec = mysql_query("SELECT sum(m.hh) as qtd FROM rdomod m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.hh) as qtd FROM rdomodsub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
elseif ($mo=="indireta")
{
$sql_usimec = mysql_query("SELECT sum(m.hh) as qtd FROM rdomoi m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao AND m.classes_cod=$classe ");
$sql_sub = mysql_query("SELECT sum(m.hh) as qtd FROM rdomoisub m, rdo r
WHERE r.obras_cod=$obra AND r.cod=m.rdo_cod AND r.data_rdo<='$data' AND r.aprovado='S' AND m.funcoes_cod=$funcao ");
}
}
while($linha_sql_usimec = mysql_fetch_array($sql_usimec))
{ $qtd_usimec = $linha_sql_usimec["qtd"]; }
while($linha_sql_sub = mysql_fetch_array($sql_sub))
{ $qtd_subcontratada = $linha_sql_sub["qtd"]; }
$qtd = $qtd_usimec+$qtd_subcontratada;
return $qtd;
}
// EFETIVO PREVISTO DE TODA OBRA EM UM DETERMINADO DIA
function EfetivoPrevisto($coduser,$obra,$data_sql)
{
$total_prev_efetivo_direto = 0;
$total_prev_efetivo_indireto = 0;
$aux = new Planejamento;
# efetivo mo direta
conectabd();
//$dados = "select m.funcoes_cod, m.horas_previstas, m.classes_cod ";
$dados = "select m.funcoes_cod, m.horas_previstas, m.classes_cod ";
$dados = $dados."from funcoes f, modireta m ";
$dados = mysql_query($dados."where m.obras_cod=$obra AND m.funcoes_cod=f.cod order by f.cod ");
$num=mysql_num_rows($dados);
if ($num>0)
{
while($linha = mysql_fetch_array($dados))
{
$funcao = $linha["funcoes_cod"];
$hprevista = $linha["horas_planejadas"];
$classe = $linha["classes_cod"];
//verificar se data nao eh menor nem maior que o periodo da classe
$dados2 = mysql_query("select * from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe AND p.data_de<='$data_sql' AND p.data_ate>='$data_sql' ");
if (mysql_num_rows($dados2)==1)
{
# homens previstos por dia
$h_dia_funcao = $aux->H_previstos($coduser,$obra,$funcao,"direta",$classe);
$total_prev_efetivo_direto = $total_prev_efetivo_direto + $h_dia_funcao;
}
}
}
# efetivo mo indireta
conectabd();
$dados = "select m.funcoes_cod, m.horas_previstas, m.classes_cod ";
$dados = $dados."from funcoes f, moindireta m ";
$dados = mysql_query($dados."where m.obras_cod=$obra AND m.funcoes_cod=f.cod order by f.cod ");
$num=mysql_num_rows($dados);
if ($num>0)
{
while($linha = mysql_fetch_array($dados))
{
$funcao = $linha["funcoes_cod"];
$hprevista = $linha["horas_previstas"];
$classe = $linha["classes_cod"];
//verificar se data nao eh menor nem maior que o periodo da classe
$dados2 = mysql_query("select * from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe AND p.data_de<='$data_sql' AND p.data_ate>='$data_sql' ");
if (mysql_num_rows($dados2)==1)
{
# homens previstos por dia
$h_dia_funcao = $aux->H_previstos($coduser,$obra,$funcao,"indireta",$classe);
$total_prev_efetivo_indireto = $total_prev_efetivo_indireto + $h_dia_funcao;
}
}
}
unset($aux);
return $total_prev_efetivo_direto + $total_prev_efetivo_indireto;
}
/* * * * * * * * * * * * * * * * * * * * * * *
* RDO *
* * * * * * * * * * * * * * * * * * * * * * */
// RDO -> FALTAS MOI
function faltas_moi($coduser,$rdo)
{
conectabd();
$sql = mysql_query("SELECT sum(r.faltas) as qtd FROM rdomoi r WHERE r.rdo_cod=$rdo ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd = $linha_sql["qtd"]; }
mysql_close();
return $qtd;
}
// RDO -> FALTAS MOD
function faltas_mod($coduser,$rdo)
{
conectabd();
$sql = mysql_query("SELECT sum(r.faltas) as qtd FROM rdomod r WHERE r.rdo_cod=$rdo ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd = $linha_sql["qtd"]; }
mysql_close();
return $qtd;
}
// RDO -> EFETIVO MOI
function moi($coduser,$rdo)
{
conectabd();
$sql = mysql_query("SELECT sum(r.nfunc) as qtd FROM rdomoi r WHERE r.rdo_cod=$rdo ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd = $linha_sql["qtd"]; }
return $qtd;
}
// RDO -> EFETIVO MOD
function mod($coduser,$rdo)
{
conectabd();
$sql = mysql_query("SELECT sum(r.nfunc) as qtd FROM rdomod r WHERE r.rdo_cod=$rdo ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd = $linha_sql["qtd"]; }
return $qtd;
}
// RDO -> EFETIVO TOTAL SUBCONTRATADAS
function efetivo_sub($coduser,$rdo)
{
conectabd();
$sql = mysql_query("SELECT sum(r.nfunc) as qtd FROM rdomoisub r WHERE r.rdo_cod=$rdo ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd_moi = $linha_sql["qtd"]; }
$sql = mysql_query("SELECT sum(r.nfunc) as qtd FROM rdomodsub r WHERE r.rdo_cod=$rdo ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd_mod = $linha_sql["qtd"]; }
$qtd = $qtd_moi+$qtd_mod;
return $qtd;
}
// RDO -> EFETIVO TOTAL
function efetivo_total($coduser,$rdo)
{
$aux_plan = new Planejamento;
$qtd = $aux_plan->moi($coduser,$rdo) + $aux_plan->mod($coduser,$rdo) + $aux_plan->efetivo_sub($coduser,$rdo);
unset($aux_plan);
return $qtd;
}
// RDO -> HORAS MOI
function horas_moi($coduser,$rdo)
{
conectabd();
$sql = mysql_query("SELECT sum(r.hh) as qtd FROM rdomoi r WHERE r.rdo_cod=$rdo ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd = $linha_sql["qtd"]; }
mysql_close();
return $qtd;
}
// RDO -> HORAS MOD
function horas_mod($coduser,$rdo)
{
conectabd();
$sql = mysql_query("SELECT sum(r.hh) as qtd FROM rdomod r WHERE r.rdo_cod=$rdo ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd = $linha_sql["qtd"]; }
mysql_close();
return $qtd;
}
// RDO -> HORAS SUBCONTRATADAS
function horas_efetivo_sub($coduser,$rdo)
{
conectabd();
$sql = mysql_query("SELECT sum(r.hh) as qtd FROM rdomoisub r WHERE r.rdo_cod=$rdo ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd_moi = $linha_sql["qtd"]; }
$sql = mysql_query("SELECT sum(r.hh) as qtd FROM rdomodsub r WHERE r.rdo_cod=$rdo ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd_mod = $linha_sql["qtd"]; }
mysql_close();
$qtd = $qtd_moi+$qtd_mod;
return $qtd;
}
// RDO -> HORAS TOTAL ACUMULADO (ATÉ O RDO)
function Horas_efetivo_subAcumuladas($coduser,$rdo)
{
$qtd_hrs = 0;
$aux_plan2 = new Planejamento;
conectabd();
$dados = mysql_query("SELECT r.obras_cod, r.data_rdo FROM rdo r WHERE r.cod=$rdo ");
while($linha = mysql_fetch_array($dados))
{
$obracod = $linha["obras_cod"];
$datardo = $linha["data_rdo"];
}
$dados = mysql_query("SELECT r.cod FROM rdo r WHERE r.obras_cod=$obracod AND r.data_rdo<='$datardo' order by r.data_rdo ");
while($linha = mysql_fetch_array($dados))
{
$rdo=$linha['cod'];
$qtd_hrs_1=$aux_plan2->horas_efetivo_sub($coduser,$rdo);
$qtd_hrs+=$qtd_hrs_1;
}
unset($aux_plan2);
return $qtd_hrs;
}
// RDO -> HORAS TOTAL EM UM RDO
function HorasExecutadas($coduser,$rdo)
{
$aux_plan = new Planejamento;
$qtd = $aux_plan->horas_moi($coduser,$rdo) + $aux_plan->horas_mod($coduser,$rdo) + $aux_plan->horas_efetivo_sub($coduser,$rdo);
unset($aux_plan);
return $qtd;
}
// RDO -> HORAS TOTAL ACUMULADO (ATÉ O RDO)
function HorasAcumuladas($coduser,$rdo)
{
$qtd_hrs = 0;
$thh_extra = 0;
$aux_plan2 = new Planejamento;
conectabd();
$dados = mysql_query("SELECT r.obras_cod, r.data_rdo FROM rdo r WHERE r.cod=$rdo ");
while($linha = mysql_fetch_array($dados))
{ $obracod = $linha["obras_cod"]; $datardo = $linha["data_rdo"]; }
$dados = mysql_query("SELECT r.cod, r.hh_extra FROM rdo r WHERE r.obras_cod=$obracod AND r.data_rdo<='$datardo' order by r.data_rdo ");
while($linha = mysql_fetch_array($dados))
{
$rdocod = $linha["cod"];
$hh_extra = $linha['hh_extra'];
$dados1 = mysql_query("SELECT sum(r.hh) qtd FROM rdomoi r WHERE rdo_cod=$rdocod ");
while($linha1 = mysql_fetch_array($dados1))
{
$qtd1 = $linha1['qtd'];
$qtd_hrs += $qtd1;
}
$dados2 = mysql_query("SELECT sum(r.hh) qtd FROM rdomod r WHERE rdo_cod=$rdocod ");
while($linha2 = mysql_fetch_array($dados2))
{
$qtd2 = $linha2['qtd'];
$qtd_hrs += $qtd2;
}
$thh_extra = $thh_extra + $hh_extra;
}
$qtd_hrs += $thh_extra;
unset($aux_plan2);
return $qtd_hrs;
}
function HorasExtras($coduser,$rdo,$hed,$hen)
{
$qtd_hrs = 0;
conectabd();
$aux_plan2 = new Planejamento;
$dados1 = mysql_query("SELECT hh_extra FROM rdo r WHERE r.cod=$rdo");
while($linha1 = mysql_fetch_array($dados1))
{ $qtd = $linha1['hh_extra']; }
/*$x_extras_d = 0;
$x_extras_n = 0;
$x_extras_d1 = 0;
$x_extras_n1 = 0;
//Extra1
$dados1 = mysql_query("SELECT inicio,termino FROM rdohorarios r WHERE r.rdo_COD=$rdo AND r.turno='E1'");
while($linha1 = mysql_fetch_array($dados1))
{ $inicio1 = $linha1["inicio"]; $termino1 = $linha1["termino"]; }
//Extra2
$dados2 = mysql_query("SELECT inicio,termino FROM rdohorarios r WHERE r.rdo_COD=$rdo AND r.turno='E2'");
while($linha2 = mysql_fetch_array($dados2))
{ $inicio2 = $linha2["inicio"]; $termino2 = $linha2["termino"]; }
$a1 = substr($inicio1,0,2);
$a2 = substr($inicio1,3,2);
$a3 = substr($termino1,0,2);
$a4 = substr($termino1,3,2);
$a5 = substr($inicio2,0,2);
$a6 = substr($inicio2,3,2);
$a7 = substr($termino2,0,2);
$a8 = substr($termino2,3,2);
$h1 = $a3 - $a1;
$h2 = $a2 + $a4;
if ($h2 >= 60)
{
$h1 = $h1 + 1;
$h2 = $h2 - 60;
}
$h2 = (($h2*100)/60);
$htdp = "$h1.$h2";
$htd = $htdp * $hed;
$h5 = $a7 - $a5;
$h6 = $a8 + $a6;
if ($h6 >= 60)
{
$h5 = $h5 + 1;
$h6 = $h6 - 60;
}
$h6 = (($h6*100)/60);
$htdn = "$h5.$h6";
$htn = $htdn * $hen;
$qtd = $htd + $htn;
$h2 = $a7 - $a5;
$ht12 = $h1+h2;
$h3 = $a4 - $a2;
$h4 = $a8 - $a6;
$ht34 = $h3 + $h4;
if ($ht34 >= 60)
{
$ht12 = $ht12 + 1;
$ht34 = $ht34 - 60;
}
$ht34 = (($ht34*100)/60);
$qtd = "$ht12.$ht34";
unset($aux_plan2);*/
return $qtd;
}
// RDO -> SUBCONTRATADA EFETIVO
function Sub_nfunc($coduser,$rdo,$codsub,$mo)
{
conectabd();
if ($mo=="indireta")
$sql = mysql_query("SELECT sum(r.nfunc) as qtd FROM rdomoisub r WHERE r.rdo_cod=$rdo AND r.subcontratadas_cod=$codsub ");
elseif ($mo=="direta")
$sql = mysql_query("SELECT sum(r.nfunc) as qtd FROM rdomodsub r WHERE r.rdo_cod=$rdo AND r.subcontratadas_cod=$codsub ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd = $linha_sql["qtd"]; }
mysql_close();
return $qtd;
}
// RDO -> SUBCONTRATADA HH
function Sub_hh($coduser,$rdo,$codsub,$mo)
{
conectabd();
if ($mo=="indireta")
$sql = mysql_query("SELECT sum(r.hh) as qtd FROM rdomoisub r WHERE r.rdo_cod=$rdo AND r.subcontratadas_cod=$codsub ");
elseif ($mo=="direta")
$sql = mysql_query("SELECT sum(r.hh) as qtd FROM rdomodsub r WHERE r.rdo_cod=$rdo AND r.subcontratadas_cod=$codsub ");
while($linha_sql = mysql_fetch_array($sql))
{ $qtd = $linha_sql["qtd"]; }
return $qtd;
}
// RDO -> TOTAL PARALIZACAO
function TotalParalizacao($coduser,$rdo)
{
conectabd();
$dados = mysql_query("SELECT m.cod, r.inicio, r.termino from motivospara m, rdoparalizacao r WHERE r.rdo_cod=$rdo AND r.motivospara_cod=m.cod order by m.cod ");
$soma_horas = 0;
$soma_min = 0;
while($linha = mysql_fetch_array($dados))
{
$cod_para = $linha["cod"];
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
if ($soma_min>59)
{
$soma_horas = $soma_horas + intval($soma_min/60);
$soma_min = $soma_min - intval($soma_min/60)*60;
}
if ($soma_horas<10)
$soma_horas = "0".$soma_horas;
if ($soma_min<10)
$soma_min = "0".$soma_min;
return $soma_horas.":".$soma_min;
}
// RDO -> TOTAL PARALIZACAO
function TotalParalizacaoT($coduser,$rdo,$t)
{
conectabd();
$dados = mysql_query("SELECT m.cod, r.inicio, r.termino from motivospara m, rdoparalizacao r WHERE r.turno='$t' AND r.rdo_cod=$rdo AND r.motivospara_cod=m.cod order by m.cod ");
$soma_horas = 0;
$soma_min = 0;
while($linha = mysql_fetch_array($dados))
{
$cod_para = $linha["cod"];
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
if ($soma_min>59)
{
$soma_horas = $soma_horas + intval($soma_min/60);
$soma_min = $soma_min - intval($soma_min/60)*60;
}
if ($soma_horas<10)
$soma_horas = "0".$soma_horas;
if ($soma_min<10)
$soma_min = "0".$soma_min;
return $soma_horas.":".$soma_min;
}
// RDO -> TOTAL DE HORAS TURNOS
function TotalTurnos($coduser,$rdo)
{
$soma_horas = 0;
$soma_min = 0;
$tempo_para = 0;
$x_inicio = "";
$x_termino = "";
conectabd();
$dados = mysql_query("SELECT r.inicio, r.termino FROM rdohorarios r WHERE r.rdo_cod=$rdo AND r.turno='D1' ");
while($linha = mysql_fetch_array($dados))
{
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
$tempo_para = 0;
$x_inicio = "";
$x_termino = "";
$dados = mysql_query("SELECT r.inicio, r.termino FROM rdohorarios r WHERE r.rdo_cod=$rdo AND r.turno='D2' ");
while($linha = mysql_fetch_array($dados))
{
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
$tempo_para = 0;
$x_inicio = "";
$x_termino = "";
$dados = mysql_query("SELECT r.inicio, r.termino FROM rdohorarios r WHERE r.rdo_cod=$rdo AND r.turno='N1' ");
while($linha = mysql_fetch_array($dados))
{
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
$tempo_para = 0;
$x_inicio = "";
$x_termino = "";
$dados = mysql_query("SELECT r.inicio, r.termino FROM rdohorarios r WHERE r.rdo_cod=$rdo AND r.turno='N2' ");
while($linha = mysql_fetch_array($dados))
{
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
if ($soma_min>59)
{
$soma_horas = $soma_horas + intval($soma_min/60);
$soma_min = $soma_min - intval($soma_min/60)*60;
}
if ($soma_horas<10)
$soma_horas = "0".$soma_horas;
if ($soma_min<10)
$soma_min = "0".$soma_min;
return $soma_horas.":".$soma_min;
}
function ParcialDiurno($coduser,$rdo)
{
$soma_horas = 0;
$soma_min = 0;
$tempo_para = 0;
$x_inicio = "";
$x_termino = "";
conectabd();
$dados = mysql_query("SELECT r.inicio, r.termino FROM rdohorarios r WHERE r.rdo_cod=$rdo AND r.turno='D1' ");
while($linha = mysql_fetch_array($dados))
{
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
$tempo_para = 0;
$x_inicio = "";
$x_termino = "";
$dados = mysql_query("SELECT r.inicio, r.termino FROM rdohorarios r WHERE r.rdo_cod=$rdo AND r.turno='D2' ");
while($linha = mysql_fetch_array($dados))
{
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
if ($soma_min>59)
{
$soma_horas = $soma_horas + intval($soma_min/60);
$soma_min = $soma_min - intval($soma_min/60)*60;
}
if ($soma_horas<10)
$soma_horas = "0".$soma_horas;
if ($soma_min<10)
$soma_min = "0".$soma_min;
return $soma_horas.":".$soma_min;
}
function ParcialNoturno($coduser,$rdo)
{
$soma_horas = 0;
$soma_min = 0;
$tempo_para = 0;
$x_inicio = "";
$x_termino = "";
conectabd();
$dados = mysql_query("SELECT r.inicio, r.termino FROM rdohorarios r WHERE r.rdo_cod=$rdo AND r.turno='N1' ");
while($linha = mysql_fetch_array($dados))
{
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
$tempo_para = 0;
$x_inicio = "";
$x_termino = "";
$dados = mysql_query("SELECT r.inicio, r.termino FROM rdohorarios r WHERE r.rdo_cod=$rdo AND r.turno='N2' ");
while($linha = mysql_fetch_array($dados))
{
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
if ($soma_min>59)
{
$soma_horas = $soma_horas + intval($soma_min/60);
$soma_min = $soma_min - intval($soma_min/60)*60;
}
if ($soma_horas<10)
$soma_horas = "0".$soma_horas;
if ($soma_min<10)
$soma_min = "0".$soma_min;
return $soma_horas.":".$soma_min;
}
function ParcialExtras($coduser,$rdo)
{
$soma_horas = 0;
$soma_min = 0;
$tempo_para = 0;
$x_inicio = "";
$x_termino = "";
conectabd();
$dados = mysql_query("SELECT r.inicio, r.termino FROM rdohorarios r WHERE r.rdo_cod=$rdo AND r.turno='E1' ");
while($linha = mysql_fetch_array($dados))
{
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
$tempo_para = 0;
$x_inicio = "";
$x_termino = "";
$dados = mysql_query("SELECT r.inicio, r.termino FROM rdohorarios r WHERE r.rdo_cod=$rdo AND r.turno='E2' ");
while($linha = mysql_fetch_array($dados))
{
$x_inicio = $linha["inicio"];
$x_termino = $linha["termino"];
if (($x_inicio!="") || ($x_termino!=""))
{
if (ValidaHoras($x_inicio,$x_termino,"periodo")==true)
{
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
}
}
}
if ($soma_min>59)
{
$soma_horas = $soma_horas + intval($soma_min/60);
$soma_min = $soma_min - intval($soma_min/60)*60;
}
if ($soma_horas<10)
$soma_horas = "0".$soma_horas;
if ($soma_min<10)
$soma_min = "0".$soma_min;
return $soma_horas.":".$soma_min;
}
function CalculaHora($coduser,$rdo,$h1,$h2)
{
$soma_horas = 0;
$soma_min = 0;
$tempo_para = 0;
$x_inicio = $h1;
$x_termino = $h2;
$tempo_para = CalculaTempo($x_inicio,$x_termino);
$hora = substr($tempo_para,0,2);
$min = substr($tempo_para,3,2);
$soma_horas = $soma_horas + $hora;
$soma_min = $soma_min + $min;
if ($soma_min>59)
{
$soma_horas = $soma_horas + intval($soma_min/60);
$soma_min = $soma_min - intval($soma_min/60)*60;
}
if ($soma_horas<10)
$soma_horas = "0".$soma_horas;
if ($soma_min<10)
$soma_min = "0".$soma_min;
return $soma_horas.":".$soma_min;
}
function SomaHoras($h1,$h2)
{
$a1 = substr($h1,0,2);
$a2 = substr($h1,3,2);
$b1 = substr($h2,0,2);
$b2 = substr($h2,3,2);
$hh = $a1 + $b1;
$hm = $a2 + $b2;
if ($hm > 59)
{
$hh = $hh + intval($hm/60);
$hm = $hm - (intval($hm/60));
}
if ((substr($a2,3,1)==0) && (substr($b2,3,1)==0) && ($a2+$b2 < 10))
$hm = '0'.$hm;
$ht = $hh.":".$hm;
return $ht;
}
function ConverteHoras($h1,$h2)
{
$a1 = substr($h1,0,2);
$a2 = substr($h1,3,2);
$b1 = substr($h2,0,2);
$b2 = substr($h2,3,2);
$hh = $a1 + $b1;
$hm = $a2 + $b2;
if ($hm > 59)
{
$hh = $hh + intval($hm/60);
$hm = $hm - (intval($hm/60));
}
$x = strpos($hm,'.');
$hm1 = substr($hm,0,$x-1);
$hm2 = substr($hm,$x+1,2);
$hm = $hm1.$hm2;
$hm = ($hm*100)/60;
$ht = $hh.".".$hm;
return $ht;
}
//PRODUTIVIDADE
function tabela_produtividade($obra)
{
###################################### AVANÇO FÍSICO RDO #######################################################
conectabd();
$dados = mysql_query("select sum(r.avanco) as rdohoje from rdo r where r.obras_cod=$obra AND r.aprovado='S' ");
while($linha = mysql_fetch_array($dados))
{ $hoje_rdo = $linha["rdohoje"]; }
$hoje_rdo = masc_2($hoje_rdo);
mysql_close();
###################################### RETORNA OS VALORES DE HORAS REALIZADAS HH - RDO ##########################
conectabd();
$tothr = 0;
$tothr1 = 0;
$cod_func = mysql_query("SELECT cod as cod_rdo FROM rdo r WHERE r.obras_cod = $obra");
while($linha_cod_func = mysql_fetch_array($cod_func))
{
$cod_rdo = $linha_cod_func["cod_rdo"];
$sql = mysql_query("SELECT sum(r.hh) as tothr FROM rdomod r WHERE r.rdo_cod = $cod_rdo");
while($linha_sql_usimec = mysql_fetch_array($sql))
{
$tothr = $tothr + $linha_sql_usimec["tothr"];
}
$sql = mysql_query("SELECT sum(r.hh) as tothr1 FROM rdomoi r WHERE r.rdo_cod = $cod_rdo");
while($linha_sql_usimec = mysql_fetch_array($sql))
{
$tothr1 = $tothr1 + $linha_sql_usimec["tothr1"];
}
}
$tothr = $tothr + $tothr1;
mysql_close();
#################################### SOMA DE HORAS PREVISTAS ##################################################
conectabd();
$dados = mysql_query("select sum(m.horas_previstas) as hrmo from modireta m where m.obras_cod=$obra");
while($linha = mysql_fetch_array($dados))
{ $hrmo = $linha["hrmo"]; }
$dados = mysql_query("select sum(m.horas_previstas) as hrmi from moindireta m where m.obras_cod=$obra");
while($linha = mysql_fetch_array($dados))
{ $hrmi = $linha["hrmi"]; }
$hrm = $hrmi + $hrmo;
############################ CÁLCULOS ####################################
$prod = ($tothr * 100) / $hrm ;
$prod = masc_2($prod);
@$produti = $hoje_rdo / $prod;
@$produtividade = $hoje_rdo / $prod * 100;
if ($produti >= 1)
$sinal = "<img src='../../imagens/marcador_verde.gif' border='0' alt='".masc_2($produti)."%' />";
else if ($prod >= 0.95 && $prod <= 0.99)
$sinal = "<img src='../../imagens/marcador_amarelo.gif' border='0' alt='".masc_2($produti)."%' />";
else
$sinal = "<img src='../../imagens/marcador3.gif' border='0' alt='".masc_2($produti)."%' />";
?>
<table id="tab_info_obra" width="500px" align="center" border="1" style="margin-left:230px">
<tr><td colspan='4' bgcolor="EFEFEF" align='center'> <b> Produtividade </b> </td></tr>
<tr>
<td width='250px' align='right'>% Obra:</td><td width='100px' align='center'><?=masc_2($hoje_rdo)?>%</td>
<td width='250px' align='right' rowspan='3'>Produtividade:</td>
<td width='100px' align='center' rowspan='3'><?php echo masc_2($produtividade)."%" ?>
</td>
</tr>
<tr>
<td width='250px' align='right'>% Horas RDO:</td>
<td width='100px' align='center'><?php echo masc_2($prod)."%";?></td>
</tr>
<tr>
<td width='250px' align='right' colspan='2'>Hrs RDO. / Hrs. Plan.</td>
</tr>
<tr>
<td width='250px' align='right' colspan='2'>Produtividade</td>
<td width='50px' align='right' colspan='2'> <?=$sinal?> </td>
</tr>
</table>
<?
}
//COMPARATIVO ORÇADO X PLANEJADO
function comparativo($coduser,$obra)
{
//Selecionar MOD Planejada
conectabd();
$sql_usimec = mysql_query("SELECT sum(m.horas_planejadas) as hp FROM modireta m
WHERE m.obras_cod=$obra");
while($linha_sql_usimec = mysql_fetch_array($sql_usimec))
{ $hplad = $linha_sql_usimec["hp"]; }
mysql_close();
//Selecionar MOI Planejada
conectabd();
$sql_usimec = mysql_query("SELECT sum(m.horas_planejadas) as hp FROM moindireta m
WHERE m.obras_cod=$obra");
while($linha_sql_usimec = mysql_fetch_array($sql_usimec))
{ $hplai = $linha_sql_usimec["hp"]; }
mysql_close();
//Selecionar MOI Orçada
conectabd();
$dados = mysql_query ("select sum(m.horas_previstas) as hprei from moindireta m where m.obras_cod=$obra");
while($linha = mysql_fetch_array($dados))
{ $hprei = $linha["hprei"]; }
mysql_close();
//Selecionar MOD Orçada
conectabd();
$dados = mysql_query ("select sum(m.horas_previstas) as hpred from modireta m where m.obras_cod=$obra");
while($linha = mysql_fetch_array($dados))
{ $hpred = $linha["hpred"]; }
mysql_close();
//Selecionar MOD Orçada
$custoorc = 0;
$custoplan = 0;
conectabd();
$dados = mysql_query ("select m.horas_previstas as hpre, m.horas_planejadas as hplan, m.valor_hh as val from modireta m where m.obras_cod=$obra");
while($linha = mysql_fetch_array($dados))
{
/*echo "H Previstas: ".$linha['hpre'];
echo "Val :".$linha['val'];
echo "<br />"; */
$custoorc = $custoorc + ($linha['hpre'] * $linha['val'] );
$custoplan = $custoplan + ($linha['hplan'] * $linha['val'] );
}
mysql_close();
conectabd();
$dados = mysql_query ("select m.horas_previstas as hpre, m.horas_planejadas as hplan, m.valor_hh as val from moindireta m where m.obras_cod=$obra");
while($linha = mysql_fetch_array($dados))
{
$custoorc = $custoorc + ($linha['hpre'] * $linha['val'] );
$custoplan = $custoplan + ($linha['hplan'] * $linha['val'] );
}
mysql_close();
?>
<table style="font-size:10px; font-family:verdana; border:solid 1px #999999;" align="center">
<tr><td colspan="5" align="center" style="border-bottom:1px solid #999999;"> COMPARATIVO ORÇADO x PLANEJADO</td></tr>
<tr><td colspan="5" align="center"> </td></tr>
<tr><td style="width:150px;" align="center">Horas MOD Orçada</td><td style="width:50px;" align="center"><?=$hpred?></td><td></td><td style="width:50px;" align="center"><?=$hplad?></td><td style="width:150px;" align="center">Horas MOD Planejada</td></tr>
<tr><td colspan="5" align="center"> </td></tr>
<tr><td style="width:150px;" align="center">Horas MOI Orçada</td><td style="width:50px;" align="center"><?=$hprei?></td><td></td><td style="width:50px;" align="center"><?=$hplai?></td><td style="width:150px;" align="center">Horas MOI Planejada</td></tr>
<tr><td colspan="5" align="center"> </td></tr>
<tr><td style="width:150px;" align="center">Custo MO Orçado</td><td style="width:50px;" align="center"><?=masc_real($custoorc)?></td><td></td><td><?=masc_real($custoplan)?></td><td style="width:150px;" align="center" align="center">Custo MO Planejado</td></tr>
</table>
<?
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* AUDITORIA *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# TABELA DE PERIODOS DAS CLASSES $mo tipo q mostra os periodos meses ou dias
function tabela_periodos($coduser,$obra,$tipo)
{
switch($tipo)
{
case "meses":
$acao_plan = new Planejamento;
//prazo contratual
$contratual = masc_2($acao_plan->periodoClasseMeses($coduser,$obra,1));
//prazo civil
$civil = masc_2($acao_plan->periodoClasseMeses($coduser,$obra,2));
//prazo mecanica
$mecanica = masc_2($acao_plan->periodoClasseMeses($coduser,$obra,3));
//prazo ei
$ei = masc_2($acao_plan->periodoClasseMeses($coduser,$obra,4));
//prazo jp
$jp = masc_2($acao_plan->periodoClasseMeses($coduser,$obra,5));
//prazo projeto
$projeto = masc_2($acao_plan->periodoClasseMeses($coduser,$obra,6));
//prazo andaime
$andaime = masc_2($acao_plan->periodoClasseMeses($coduser,$obra,7));
//prazo canteiro
$canteiro = masc_2($acao_plan->periodoClasseMeses($coduser,$obra,8));
unset($acao_plan);
$unidade = "meses";
break;
case "dias":
$acao_plan = new Planejamento;
//prazo contratual
$contratual = $acao_plan->periodo($coduser,$obra,1);
//prazo civil
$civil = $acao_plan->periodo($coduser,$obra,2);
//prazo mecanica
$mecanica = $acao_plan->periodo($coduser,$obra,3);
//prazo ei
$ei = $acao_plan->periodo($coduser,$obra,4);
//prazo jp
$jp = $acao_plan->periodo($coduser,$obra,5);
//prazo projeto
$projeto = $acao_plan->periodo($coduser,$obra,6);
//prazo andaime
$andaime = $acao_plan->periodo($coduser,$obra,7);
//prazo canteiro
$canteiro = $acao_plan->periodo($coduser,$obra,8);
unset($acao_plan);
$unidade = "dias";
break;
}
echo "<table id='tab_info_obra' width='700px' align='center' border='1'>";
echo "<tr>";
echo "<td width='250px' align='right'>Prazo de execução Contratual:</td>
<td width='100px' align='center'>".$contratual." $unidade</td>";
echo "<td width='250px' align='right'>Prazo de execução Civil:</td>
<td width='100px' align='center'>".$civil." $unidade</td>";
echo "</tr>";
echo "<tr>";
echo "<td width='250px' align='right'>Prazo de execução Mecânica:</td>
<td width='100px' align='center'>".$mecanica." $unidade</td>";
echo "<td width='250px' align='right'>Prazo de execução Elétr./Instrum.:</td>
<td width='100px' align='center'>".$ei." $unidade</td>";
echo "</tr>";
echo "<tr>";
echo "<td width='250px' align='right'>Prazo de execução Jato e Pintura:</td>
<td width='100px' align='center'>".$jp." $unidade</td>";
echo "<td width='250px' align='right'>Prazo de execução Projeto:</td>
<td width='100px' align='center'>".$projeto." $unidade</td>";
echo "</tr>";
echo "<tr>";
echo "<td width='250px' align='right'>Prazo de execução Andaimes:</td>
<td width='100px' align='center'>".$andaime." $unidade</td>";
echo "<td width='250px' align='right'>Prazo de execução Total Canteiro:</td>
<td width='100px' align='center'>".$canteiro." $unidade</td>";
echo "</tr>";
echo "</table>";
}
# EFETIVO -> AUDITORIA EFETIVO (tipo nodia , atedata , acumulado(hoje))
function AudEfetivo($coduser,$obra,$mo,$tipo,$data)
{
//data para ver se data de inicio das classes é menor
$data_sql = br_to_eua($data);
//EFETIVO MAO DE OBRA DIRETA
conectabd();
$dados = "select m.funcoes_cod, f.descricao, m.horas_planejadas, m.classes_cod ";
$dados = $dados."from funcoes f, modireta m ";
$dados = mysql_query($dados."where m.obras_cod=$obra AND m.funcoes_cod=f.cod order by f.descricao ");
$num=mysql_num_rows($dados);
echo "<table id='tab_info_obra' width='965px' align=center border='1'>";
echo "<tr>
<td colspan='2' align='center'></td>
<td bgcolor='#F7F7F7' colspan='2' align='center'><b>Histograma</b></td>
<td bgcolor='#EFEFEF' colspan='2' align='center'><b>Relógio</b></td>
<td bgcolor='#E4E4E4' colspan='2' align='center'><b>RDO</b></td>
<td colspan='2' align='center'><img src='../../imagens/sinaleira.png' border='0' /></td>
</tr>";
echo "<tr>
<td width='30px' align='center'></td>
<td align='center'><b>EFETIVO DIRETO</b></td>
<td width='80px' align='center'><b>HH Previsto</b></td>
<td width='80px' align='center'><b>Qtd./Efet</b></td>
<td width='80px' align='center'><b>HH Realizado</b></td>
<td width='80px' align='center'><b>Qtd./Efet</b></td>
<td width='80px' align='center'><b>HH Realizado</b></td>
<td width='80px' align='center'><b>Qtd./Efet</b></td>
<td width='30px' align='center'><b>HH</b></td>
<td width='30px' align='center'><b>Efet.</b></td>
</tr>";
if ($num==0)
{
echo "<tr><td colspan='4'> Nenhuma função em MO DIRETA encontrada. </td></tr>";
}
else
{
$total_hrs_direta = 0;
$total_prev_efetivo_direto = 0;
$total_qtd_mod_rdo = 0;
$total_hh_mod_rdo = 0;
$aux = new Planejamento;
while($linha = mysql_fetch_array($dados))
{
$funcao = $linha["funcoes_cod"];
$nome_funcao = $linha["descricao"];
$hprevista = $linha["horas_planejadas"];
$classe = $linha["classes_cod"];
$efetivo_rdo = 0;
$hh_rdo = 0;
switch($classe)
{
case 1; $img_classe = "classe_contrato.jpg"; $alt_classe = "Execução Contratual"; break;
case 2; $img_classe = "classe_civil.jpg"; $alt_classe = "Execução Civil"; break;
case 3; $img_classe = "classe_mecanica.jpg"; $alt_classe = "Execução Mecânica"; break;
case 4; $img_classe = "classe_eletrica.jpg"; $alt_classe = "Execução Elétr./Instrum"; break;
case 5; $img_classe = "classe_pintura.jpg"; $alt_classe = "Execução Jato e Pintura"; break;
case 6; $img_classe = "classe_projeto.jpg"; $alt_classe = "Execução Projeto"; break;
case 7; $img_classe = "classe_andaime.jpg"; $alt_classe = "Execução Andaimes"; break;
case 8; $img_classe = "classe_total_canteiro.jpg"; $alt_classe = "Execução Total Canteiro"; break;
}
//ver se é até o dia, até hoje (acumulado) ou no dia
if ($tipo=="nodia")
{
//verificar se data nao eh menor que a data de inicio da classe
$dados2 = mysql_query("select * from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe AND p.data_de<='$data_sql' AND p.data_ate>='$data_sql' ");
if (mysql_num_rows($dados2)==1)
{
# homens previstos por dia
$h_dia_funcao = $aux->H_previstos($coduser,$obra,$funcao,"direta",$classe);
# hh previsto
$hh_real_previsto = $h_dia_funcao*8.8;
}
else
{
$hh_real_previsto = 0;
$h_dia_funcao = 0;
}
# efetivo rdo
$efetivo_rdo = $aux->Efetivo_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
# hh rdo
$hh_rdo = $aux->HH_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
}
elseif ($tipo=="atedata")
{
//verificar se data nao eh menor que a data de inicio da classe
$dados2 = mysql_query("select * from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe AND p.data_de<='$data_sql' ");
if (mysql_num_rows($dados2)==1)
{
# homens previstos por dia
$h_dia_funcao = $aux->H_previstos($coduser,$obra,$funcao,"direta",$classe);
# hh previsto
$decorrido_util = $aux->decorrido_util($coduser,$obra,$classe,$data);
//$hh_real_previsto = ($h_dia_funcao*8.8)*$decorrido_util;
$hh_real_previsto = ($h_dia_funcao*8.8)*$decorrido_util;
$h_dia_funcao = ($hh_real_previsto/($decorrido_util/30))/184;
}
else
{
$hh_real_previsto = 0;
$h_dia_funcao = 0;
}
# efetivo rdo
$efetivo_rdo = $aux->Efetivo_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
# hh rdo
$hh_rdo = $aux->HH_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
///EFETIVO REAL
conectabd();
$cont = 0;
$select = mysql_query("SELECT * from avancoprevisto where obras_cod = $obra");
while($linha = mysql_fetch_array($select))
{ if ($cont==0) { $data1 = $linha['DIA']; $cont++; } }
$data_sql1 = explode("/",$data_sql);
$data2 = $data_sql1[0]."-".$data_sql1[1]."-".$data_sql1[2];
$data1 = eua_to_br($data1);
$data2 = eua_to_br($data2);
$diferenca = DiasUteis($data1,$data2);
$hmes = Hmes($data1,$data2);
$diferenca = $diferenca / 30;
$efetivo_rdo = $hh_rdo/$diferenca/184;
$efetivo_rdo = masc_2($efetivo_rdo);
//$efetivo_rdo = $hmes;
//$efetivo_rdo = $diferenca;
//FIM DO EFETIVO REAL
}
elseif ($tipo=="acumulado")
{
//verificar se data nao eh menor que a data de inicio da classe
$dados2 = mysql_query("select * from prazos_obra p where p.obras_cod=$obra AND p.classes_cod=$classe AND p.data_de<='$data_sql' ");
if (mysql_num_rows($dados2)==1)
{
# homens previstos por dia
$h_dia_funcao = $aux->H_previstos($coduser,$obra,$funcao,"direta",$classe);
# hh previsto
$decorrido_util = $aux->decorrido_util($coduser,$obra,$classe,$data);
//$hh_real_previsto = ($h_dia_funcao*8.8)*$decorrido_util;
$hh_real_previsto = ($h_dia_funcao*8.8)*$decorrido_util;
$h_dia_funcao = ($hh_real_previsto/($decorrido_util/30))/184;
}
else
{
$hh_real_previsto = 0;
$h_dia_funcao = 0;
}
# efetivo rdo
$efetivo_rdo = $aux->Efetivo_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
# hh rdo
$hh_rdo = $aux->HH_Aud_RDO($coduser,$obra,"direta",$tipo,$data_sql,$funcao,$classe);
////função
///EFETIVO REAL
conectabd();
$cont = 0;
$select = mysql_query("SELECT * from avancoprevisto where obras_cod = $obra");
while($linha = mysql_fetch_array($select))
{ if ($cont==0) { $data1 = $linha['DIA']; $cont++; } }
$data_sql1 = explode("/",$data_sql);
$data2 = $data_sql1[0]."-".$data_sql1[1]."-".$data_sql1[2];
$data1 = eua_to_br($data1);
$data2 = eua_to_br($data2);
$diferenca = DiasUteis($data1,$data2);
$diferenca = $diferenca / 30;
$efetivo_rdo = $hh_rdo/$diferenca/184;
$efetivo_rdo = masc_2($efetivo_rdo);
//$efetivo_rdo = $diferenca;
//FIM DO EFETIVO REAL
}
//se hh real previsto(vai aumentando conforme data) passou previsto(cadastro da obra) mostra somente o previsto com fundo vermelho
if ($hh_real_previsto>$hprevista)
{
$aux_cor = "bgcolor='#FFCCCC'";
$hh_real_previsto = $hprevista;
//$h_dia_funcao = 0;
}
else
$aux_cor = "";
# sinaleira
if ($hh_real_previsto>0) //se tem previsto
{
$sinal_hh = ($hh_rdo/$hh_real_previsto)*100;
if ($sinal_hh<=100)
$sinal_hh = "<img src='../../imagens/marcador_verde.gif' border='0' alt='".masc_1($sinal_hh)."%' />";
else
$sinal_hh = "<img src='../../imagens/marcador3.gif' border='0' alt='".masc_1($sinal_hh)."%' />";
}
else // se nao tem previsto
{
if ($hh_rdo>0) //mas tem hh no rdo
$sinal_hh = "<img src='../../imagens/marcador3.gif' border='0' alt='".masc_1($sinal_hh)."%' />";
else
$sinal_hh = "";
}
if ($h_dia_funcao>0) //se tem previsto
{
$sinal_efet = ($efetivo_rdo/$h_dia_funcao)*100;
if ($sinal_efet<=100)
$sinal_efet = "<img src='../../imagens/marcador_verde.gif' border='0' alt='".masc_1($sinal_efet)."%' />";
else
$sinal_efet = "<img src='../../imagens/marcador3.gif' border='0' alt='".masc_1($sinal_efet)."%' />";
}
else // se nao tem previsto
{
if ($efetivo_rdo>0) //mas tem efetivo no rdo
$sinal_efet = "<img src='../../imagens/marcador3.gif' border='0' alt='".masc_1($sinal_efet)."%' />";
else
$sinal_efet = "";
}
# somatórios
$total_prev_efetivo_direto = $total_prev_efetivo_direto+$h_dia_funcao;
$total_hrs_direta = $total_hrs_direta+$hh_real_previsto;
$total_qtd_mod_rdo = $total_qtd_mod_rdo + $efetivo_rdo; //total efetivo das funcoes
$total_hh_mod_rdo = $total_hh_mod_rdo + $hh_rdo; //total hh das funcoes */
//$total_prev_efetivo_direto = 0;
//$total_hrs_direta = 0;
//$total_qtd_mod_rdo = 0; //total efetivo das funcoes
//$total_hh_mod_rdo = $hh_rdo; //total hh das funcoes
echo "<tr>";
echo "<td align='center'><img src='../../imagens/$img_classe' border='0' alt='$alt_classe'></td>";
echo "<td align='left'>".(strtoupper($nome_funcao))."</td>";
echo "<td $aux_cor bgcolor='#F7F7F7' align='center'>".masc_1($hh_real_previsto)."</td>";
echo "<td bgcolor='#F7F7F7' align='center'>".masc_1($h_dia_funcao)."</td>";
//relogio
echo "<td bgcolor='#EFEFEF' align='center'>"; ?>
<!--<img src="../../imagens/relogio.gif" border="0" alt="Atualizar dados do relógio" onclick="" />-->
<div id="<?php echo "hh_indireta_".$funcao."_".$classe; ?>"></div> <?php
echo "</td>";
echo "<td bgcolor='#EFEFEF' align='center'>"; ?>
<div id="<?php echo "efet_indireta_".$funcao."_".$classe; ?>"></div> <?php
echo "</td>";
//rdo
echo "<td bgcolor='#E4E4E4' align='center'>".masc_1($hh_rdo)."</td>";
echo "<td bgcolor='#E4E4E4' align='center'>".$efetivo_rdo."</td>";
//sinaleira
echo "<td colspan='2' width='' align='center'>$sinal_hh $sinal_efet</td>";
echo "</tr>";
}
unset($aux); /// AQUI erro do parser>
Ok então, vo colocar os dois arquivos
index.php
<?php
echo "aqui1";
require_once ("../../includes/planejamento.inc.php");
Esse "aqui1" é exibido ?
Se você remover o require do planejamento o restante do código é exibido ?
>
Esse "aqui1" é exibido ?
Se você remover o require do planejamento o restante do código é exibido ?
Sim o aqui 1 é exibido, foi assim que descobri onde tava o problema.
se eu apagar a linha do require do planejamento exibe o resto, porém tranca no require do custos, que também ta com problemas.
Apagando os dois requires o navegador renderiza tudo certinho, porém quando vou precisar de resposta dos métodos não encontro nada pq nao tem como criar o objeto... as classes não foram incluidas...
Isso pode ter a ver com alguma configuração do apache ?
Bom amigo,
Olhando seu código por cima, fragmentado da forma que está, fica complicado saber onde está o problema.
Não consegui ver qualquer coisa que pudesse causar o erro de sintaxe, também não vi nada específico para o PHP 5.3+, dessa forma, deveria rodar no 5.2+
Você consegue testar esse código em mais algum servidor para ver se o problema é isolado nesse debian ?
>
Você consegue testar esse código em mais algum servidor para ver se o problema é isolado nesse debian ?
O debian na verdade é o ambiente de produção... se tu tas conseguindo analisar o código eu posso postar o resto, só não fiz pq o post ficou muito grande e o forum me impediu...
Eu posso testar em outro servidor com xampp, mas como a instalação é padrão, provavelmente vai chegar no mesmo ponto...
>
O debian na verdade é o ambiente de produção...
Sim, onde o erro está acontecendo, não é ?
>
se tu tas conseguindo analisar o código eu posso postar o resto, só não fiz pq o post ficou muito grande e o forum me impediu...
Utilize o Pastebin.com, depois poste o link aqui.
>
Eu posso testar em outro servidor com xampp, mas como a instalação é padrão, provavelmente vai chegar no mesmo ponto...
Sim, é provável, mas faça o teste também.
De qualquer forma, utilize o pastebin e poste os links dos códigos.
;)
>
Sim, onde o erro está acontecendo, não é ?
Não, o erro ocorre no meu servidor local, de teste... que ta rodando com xampp
o debian é o servidor de produção onde o sistema ta rodando...
Ok amigo, problema localizado...
Chama-se short_open_tags
Você tem dois caminhos a seguir:
**1**. O correto [http://forum.imasters.com.br/public/style_emoticons/](http://forum.imasters.com.br/public/style_emoticons/)default/seta.gif Corrija seu código, troque todas as ocorrências de **<? ?>** para **<?php ?>** e todas as ocorrências de **<?=$algumacoisa?>** para **<?php echo $algumacoisa; ?>**
A primeira ocorrência é na linha 1009:
onClick="window.open('../pierre/cad_planej.php?cod_obra=<?=$cod_obra?>
Existem várias ocorrências em todo o seu código, você deve corrigir todas.
2. O errado http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Vá até seu arquivo php.ini e procure por:
short_open_tag = Off
Modifique para:
short_open_tag = On
Qualquer uma das duas soluções resolverá seu problema.
;)
>
Ok amigo, problema localizado...
Chama-se short_open_tags
Você tem dois caminhos a seguir:
**1**. O correto [http://forum.imasters.com.br/public/style_emoticons/](http://forum.imasters.com.br/public/style_emoticons/)default/seta.gif Corrija seu código, troque todas as ocorrências de **<? ?>** para **<?php ?>** e todas as ocorrências de **<?=$algumacoisa?>** para **<?php echo $algumacoisa; ?>**
Qualquer uma das duas soluções resolverá seu problema.
;)
Bá! realmente era isso... Me botei a olhar chaves e ; e nem lembrei disso.
achei que não era pq corrigi uma(short open tag) por uma (no planejamento) e ainda deu erro... fui la e coloquei short_open_tag = On e nada...
ae apaguei o custos.php e funciono certinho
agora é só catar as short que restam no outro arquivo e imagino que tudo fique pronto...
Vários arquivos no sistema estão com algumas shorts...
Estranho que não adiantou editar o php.ini
nao é minha intenção mas era pra testar...
Sem palavras pra agradecer a ajuda e a aula...
>
Sem palavras pra agradecer a ajuda e a aula...
Vou marcar esse tópico como resolvido, mas antes vou lhe dar mais uma dica:
Expressão regular para substituir <?=$algumacoisa?> por <?php echo $algumacoisa; ?>
Busca http://forum.imasters.com.br/public/style_emoticons/default/seta.gif **\<\?\=([^\?]*)\?\>**
Substituição [http://forum.imasters.com.br/public/style_emoticons/](http://forum.imasters.com.br/public/style_emoticons/)default/seta.gif **<?php echo $1; ?>**
Não substitua tudo de uma vez, mande o IDE localizar ocorrência por ocorrência, analise e substitua se estiver correto.
Depois de ter substituído essa primeira parte, segue a próxima:
Expressão regular para substituir <? ?> por <?php ?>
Busca http://forum.imasters.com.br/public/style_emoticons/default/seta.gif \<\?\B
Substituição http://forum.imasters.com.br/public/style_emoticons/default/seta.gif <?php
Qualquer IDE que suporte busca e substituição com expressão regular fará seu trabalho ser muito menor.
Caso não tenha, ou não conheça nenhum, vai a sugestão de um free e open source http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Eclipse PDT
;)
Agora eu vou acender uma vela pra ti.
Como também não domino regex tava no google tentando "expressão regular" "short open tag"
E ja tinha desistido.
Valeu cara, eu uso netbeans e ele tem suporte a isso... (se não me engano)
@Djonatan Buss,
Leia atentamente as Orientações para uma boa participação, depois poste o código que está utilizando.
Caso o código seja muito grande, utilize a tag
para postá-lo