Ir para conteúdo

asacap1000

Members
  • Total de itens

    150
  • Registro em

  • Última visita

Tudo que asacap1000 postou

  1. asacap1000

    uma função desabilitando outra

    Olá galera, estou trabalhando em um sistema de agendamento. com horás pre-definidas que aparecem em uma página web em php. o evento está funcionando perfeitamente, porem o cliente solicitou que os "botões radio" fossem de outra cor quando estivessem disponíveis. Achei na net um esquema legal que aplica um css quando habilitado. Mas quando aplico este javascript alguns botões não funcionam. Segue a página com os arquivos se puderem me ajudar. <?php session_start(); $ticket = $_SESSION['protocolo']; ?> <TITLE><?php echo $L_TITULO; ?></TITLE> <link rel="stylesheet" href="fm.checkator.jquery.css"/> <style> body { font-family: sans-serif; margin: 0; padding: 0; } #wrapper { padding: 3px; } .radio1 { width: 20px; height: 20px; } .radio2 { width: 20px; height: 20px; } .checkbox1 { } .checkbox2 { width: 25px; height: 25px; } </style> //////////////////////apliquei o script abaixo para mudar as cores/////////// <script src="jquery-1.11.0.min.js"></script> <script src="fm.checkator.jquery.js"></script> <script Language="JavaScript"> function alterarsala(){ form = document.sala form.action = '' form.submit(); } function checkna() { if(document.sas.na.checked == true){ document.sas.ticket.value = "<?php echo $L_SEM_ADICIONAIS; ?>" document.sas.ticket.disabled = true } if(document.sas.na.checked == false){ document.sas.ticket.value = "" document.sas.ticket.disabled = false } } </script> <body topmargin="0" leftmargin="0" rightmargin="0" marginheight="0" marginwidth="0"> <?php include('conecta.php'); function mostrarsemana($data,$cod_sala,$qual_semana,$prox_semana,$dia_atual){ // INICIO_FUNCTION_MOSTRARSEMANA include('languages/padrao.inc.php'); include('conecta.php'); ?> ///////abaixo o script que é funcional com os botões radio normais//////// <script Language="JavaScript"> function alterarsala(){ form = document.sala form.action = '' form.submit(); } function checkna() { if(document.sas.na.checked == true){ document.sas.ticket.value = "<?php echo $L_SEM_ADICIONAIS; ?>" document.sas.ticket.disabled = true } if(document.sas.na.checked == false){ document.sas.ticket.value = "" document.sas.ticket.disabled = false } } function valida(){ form = document.sas reservar = form.reservar ticket = form.ticket.value marcado = -1 for (i=0; i<form.reservar.length; i++) { if (document.sas.reservar[i].checked) { marcado = i } } if (marcado == -1) { alert("<?php echo $L_ALERTA_01; ?>"); form.reservar[0].focus(); return; } marcado2 = -1 for (i=0; i<form.tempo.length; i++) { if (document.sas.tempo[i].checked) { marcado2 = i } } if(ticket == ''){ alert("<?php echo $L_MENSAGEM_01; ?>") form.ticket.focus() return; } form.action = '?enviar=sim' form.submit(); } function poshorario(){ form = document.sas reservar = form.reservar ticket = form.ticket.value marcado = -1 for (i=0; i<form.reservar.length; i++) { if (document.sas.reservar[i].checked) { marcado = i } } if (marcado == -1) { alert("<?php echo $L_AVISO_DE_COBRANCA; ?>") form.action = '?poshorario=sim' } marcado2 = -1 for (i=0; i<form.tempo.length; i++) { if (document.sas.tempo[i].checked) { form.action = '?poshorario=sim' } } if(ticket == ''){ form.action = '?poshorario=sim' } form.action = '?poshorario=sim' form.submit(); } </script> <div id="overDiv" style="position:absolute; visibility:hide; z-index:1;"></div> <script language="JavaScript" src="overlib.js" type="text/javascript"> </script> <?php function dias_feriados($ano = null) { if ($anoferiados === null) { $anoferiados = intval(date('Y')); } $pascoa = easter_date($ano); // Limite de 1970 ou após 2037 da easter_date PHP consulta http://www.php.net/manual/pt_BR/function.easter-date.php $dia_pascoa = date('j', $pascoa); $mes_pascoa = date('n', $pascoa); $ano_pascoa = date('Y', $pascoa); $feriados = array( // Tatas Fixas dos feriados Nacionail Basileiras mktime(0, 0, 0, 1, 1, $anoferiados), // Confraternização Universal - Lei nº 662, de 06/04/49 mktime(0, 0, 0, 4, 21, $anoferiados), // Tiradentes - Lei nº 662, de 06/04/49 mktime(0, 0, 0, 5, 1, $anferiadoso), // Dia do Trabalhador - Lei nº 662, de 06/04/49 mktime(0, 0, 0, 9, 7, $anoferiados), // Dia da Independência - Lei nº 662, de 06/04/49 mktime(0, 0, 0, 10, 12, $anoferiados), // N. S. Aparecida - Lei nº 6802, de 30/06/80 mktime(0, 0, 0, 11, 2, $anoferiados), // Todos os santos - Lei nº 662, de 06/04/49 mktime(0, 0, 0, 11, 15, $anoferiados), // Proclamação da republica - Lei nº 662, de 06/04/49 mktime(0, 0, 0, 12, 25, $anoferiados), // Natal - Lei nº 662, de 06/04/49 // These days have a date depending on easter mktime(0, 0, 0, $mes_pascoa, $dia_pascoa - 48, $ano_pascoa),//2ºferia Carnaval mktime(0, 0, 0, $mes_pascoa, $dia_pascoa - 47, $ano_pascoa),//3ºferia Carnaval mktime(0, 0, 0, $mes_pascoa, $dia_pascoa - 2 , $ano_pascoa),//6ºfeira Santa mktime(0, 0, 0, $mes_pascoa, $dia_pascoa , $ano_pascoa),//Pascoa mktime(0, 0, 0, $mes_pascoa, $dia_pascoa + 60, $ano_pascoa),//Corpus Cirist ); sort($feriados); return $feriados; } $data1=$data; $data_prox=$data; $data2=$data; $data=explode("-",$data); $fgh=explode("-",date("Y-m-d")); $mesfgh=$fgh[1]; $anofgh1=$fgh[0]; $dia=$data[2]; $dia2=$dia; $mes=$data[1]; $mesd=$data[1]; $ano=$data[0]; $data_sem=$ano."-".$mes."-".$dia; $ano2=$ano; $mes2=$mes; $novomes=0; $novomes2=0; $tempo = date("w", mktime(0, 0, 0, $mes, $dia, $ano)); $dia_da_semana2=$tempo; if($dia_da_semana2==1){ $dia_da_semana=$L_SEGUNDA_FEIRA; $inicio=0; $inicio2=0; $iniciok=1; $inicio_prox=7; } if($dia_da_semana2==2){ $dia_da_semana=$L_TERCA_FEIRA; $inicio=-1; $inicio2=-1; $iniciok=2; if($dia==1){ $inicio6=0; } $inicio_prox=8; } if($dia_da_semana2==3){ $dia_da_semana=$L_QUARTA_FEIRA; $inicio=-2; $inicio2=-2; $iniciok=3; if($dia==1){ $inicio6=-1; } if($dia==2){ $inicio6=0; } $inicio_prox=9; } if($dia_da_semana2==4){ $dia_da_semana=$L_QUINTA_FEIRA; $inicio=-3; $inicio2=-3; $iniciok=4; if($dia==1){ $inicio6=-2; } if($dia==2){ $inicio6=-1; } if($dia==3){ $inicio6=0; } $inicio_prox=10; } if($dia_da_semana2==5){ $dia_da_semana=$L_SEXTA_FEIRA; $inicio=-4; $inicio2=-4; $iniciok=5; if($dia==1){ $inicio6=-3; } if($dia==2){ $inicio6=-2; } if($dia==3){ $inicio6=-1; } if($dia==4){ $inicio6=0; } $inicio_prox=11; } if($dia_da_semana2==6){ $dia_da_semana=$L_SABADO; $inicio=-5; $inicio2=-5; $iniciok=6; if($dia==1){ $inicio6=-4; } if($dia==2){ $inicio6=-3; } if($dia==3){ $inicio6=-2; } if($dia==4){ $inicio6=-1; } $inicio_prox=12; } if($dia_da_semana2==7){ $dia_da_semana=$L_DOMINGO; $inicio=-6; $inicio2=-6; $iniciok=7; if($dia==1){ $inicio6=-5; } if($dia==2){ $inicio6=-4; } if($dia==3){ $inicio6=-3; } if($dia==4){ $inicio6=-2; } if($dia==5){ $inicio6=-1; } $inicio_prox=12; } if($dia_da_semana2==0){ $dia_da_semana=$L_DOMINGO; $dia++; $inicio=0; $inicio2=0; $iniciok=1; $inicio_prox=13; } //CASO SEJA DOMINGO $nomes_meses["01"]=$L_JANEIRO; $nomes_meses["02"]=$L_FEVEREIRO; $nomes_meses["03"]=$L_MARCO; $nomes_meses["04"]=$L_ABRIL; $nomes_meses["05"]=$L_MAIO; $nomes_meses["06"]=$L_JUNHO; $nomes_meses["07"]=$L_JULHO; $nomes_meses["08"]=$L_AGOSTO; $nomes_meses["09"]=$L_SETEMBRO; $nomes_meses["10"]=$L_OUTUBRO; $nomes_meses["11"]=$L_NOVEMBRO; $nomes_meses["12"]=$L_DEZEMBRO; $data_atual78=explode("-",$dia_atual); $dia78=$data_atual78[2]; $mes78=$data_atual78[1]; $ano78=$data_atual78[0]; $tempo78 = date("D", mktime(0, 0, 0, $mes78, $dia78, $ano78)); if($tempo78=="Mon"){ $tempo78=$L_SEGUNDA_FEIRA; } if($tempo78=="Tue"){ $tempo78=$L_TERCA_FEIRA; } if($tempo78=="Wed"){ $tempo78=$L_QUARTA_FEIRA; } if($tempo78=="Thu"){ $tempo78=$L_QUINTA_FEIRA; } if($tempo78=="Fri"){ $tempo78=$L_SEXTA_FEIRA; } if($tempo78=="Sat"){ $tempo78=$L_SABADO; } if($tempo78=="Sun"){ $tempo78=$L_DOMINGO; } $horaagora05=date("H"); $inicio3=$inicio; $inicio4=$inicio; $nome_semana[1]=$L_SEGUNDA; $nome_semana[2]=$L_TERCA; $nome_semana[3]=$L_QUARTA; $nome_semana[4]=$L_QUINTA; $nome_semana[5]=$L_SEXTA; $nome_semana[6]=$L_SABADO; $nome_semana[7]=$L_DOMINGO; $fonte[1]="<font face='arial' size='1'>"; $fonte[2]="<font face='arial' size='2'><center>"; $fonte[3]="<font face='arial' size='3'><center>"; $fonte[4]="<font face='arial' size='4'><center>"; $fonte[5]="<font face='arial' size='5'><center>"; $cor_fonte["azulescura"]="<font color='#001A66'>"; $cor_fonte["azul"]="<font color='#4682B4'>"; $cor_fonte["branca"]="<font color='#ffffff'>"; $cor_fonte["vermelho"]="<font color='#FF0000'>"; $cor_fonte["laranja"]="<font color='#FF4000'>"; $cor_fonte["preta"]="<font color='#000000'>"; $hora_inicio=7; // HORA INICIAL $hora_final=18; // HORA FINAL $hora_tab = 7; // HORA INICIAL $total_horas = ($hora_final-$hora_inicio)+1; // TOTAL HORAS + 1 $tamanho_celula=100; // LARGURA CELULAS $altura_celula="30"; // ALTURA CELULAS ?> <TABLE width="900" border="0" cellpadding="0" cellspacing="0"> <TR> <TD width="60%" align="left"> <?php if(($horaagora05>=00)&&($horaagora05<=11)){ echo("<b>$L_BOM_DIA</b> "); } if(($horaagora05>=12)&&($horaagora05<=17)){ echo("<b>$L_BOA_TARDE</b> "); } if(($horaagora05>=18)&&($horaagora05<=23)){ echo("<b>$L_BOA_NOITE</b> "); } echo $_SESSION["nome"]; if($sistema1==0){ echo(".<br> "); echo("$tempo78"); echo $dia78; echo(" $L_DE "); echo $nomes_meses["$mes78"]; echo(" $L_DE "); echo $ano78; } else { echo(".<br> "); echo("$tempo78");echo(" ");echo $dia78;echo(" "); echo $nomes_meses["$mes78"]; echo(" "); echo(" DE "); echo $ano78; } ?> <br> <br> <TABLE border="1" cellpadding="1" cellspacing="0" > <TR><TD> <TABLE width="600" border="0" cellpadding="0" cellspacing="0"> <TR> <TD class="bl3" align="left"><p> <form method="POST" action="" name="sala"> <?php echo $fonte[2]; echo $cor_fonte["laranja"]; ?> <?php echo "<strong><p align='left'>ESCOLHA A JANELA E CONFIRA OS HORÁRIOS DISPONÍVEIS =></strong>"; ?> <input type="hidden" name="env_cod_sala" border=1 value="Alterar Sala" style="font-size:18px"> <input border="0" type="hidden" name="inicio1" border=1 value="<?php echo $inicio; ?>"> <input border="0" type="hidden" name="prox_semana" border=1 value="<?php echo $prox_semana; ?>"> <input border="0" type="hidden" name="dia_atual" border=1 value="<?php echo $dia_atual; ?>"> <select class="select" style="background-color:#FFBE00" style="font-size:18px" name="cod_sala" OnChange="javascript:alterarsala();" size="0"> <?php mysql_select_db ($banco); $sql5 = "SELECT * from salas ORDER BY nome_sala"; $result5 = mysql_query($sql5) or die(mysql_error()); while($linha5=mysql_fetch_array($result5)) { ?> <option style="background-color:#F7F04A" value="<?php echo $linha5["cod_sala"]; ?>" <?php if($cod_sala==$linha5["cod_sala"]){ echo ("selected=\"\""); } ?> ><strong><p align="center" style="background-color:#F7F04A" ><?php echo $linha5['nome_sala']; ?></p></strong></option> <?php } ?> </select> <br><br><br><p> </form> </TD> <TD width="20" > <?php if($qual_semana==2){ ?> <form method="POST" action="" name="anterior"><br> <input border="0" type="hidden" name="cod_sala" border=0 value="<?php echo $cod_sala; ?>"> <input border="0" type="hidden" name="data1" border=0 value="<?php echo $data_prox; ?>"> <input border="0" type="hidden" name="inicio1" border=0 value="<?php echo $inicio; ?>"> <input border="0" type="hidden" name="prox_semana" border=0 value="<?php echo $prox_semana; ?>"> <input border="0" type="hidden" name="dia_atual" border=0 value="<?php echo $dia_atual; ?>"><br><br> <input border="0" class="bordas" type="Submit" name="anterior" border=0 value="SEMANA ANTERIOR"> </form> <?php } ?> </TD> <TD width="20" align="left" > <?php if($qual_semana==1){ // INICIO_IF_X ?> <form method="POST" action="" name="proxima"><br> <input border="0" type="hidden" name="cod_sala" border=0 value="<?php echo $cod_sala; ?>"> <input border="0" type="hidden" name="data1" border=0 value="<?php echo $data1; ?>"> <input border="0" type="hidden" name="inicio1" border=0 value="<?php echo $iniciok; ?>"> <input border="0" type="hidden" name="inicio_prox" border=0 value="<?php echo $inicio_prox; ?>"> <input border="0" type="hidden" name="prox_semana" border=0 value="<?php echo $prox_semana; ?>"> <input border="0" type="hidden" name="dia_atual" border=0 value="<?php echo $dia_atual; ?>"><br><br> <input border="0" class="bordas" type="Submit" name="proxima" border=0 value="PRÓXIMA SEMANA"> </form> <?php } // FIM IF_X ?> </TD> </TR> </TABLE> <br> <table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td background="" bgcolor="#FF4000"><img src="img/spacer.gif" width="1" height="1" alt=""><br></td></tr></table> <p> <br> <TABLE BORDER='0' background="" BGCOLOR='#FFFFFF'> <form method="POST" action="" name="sas"> <?php for($x=0;$x<=$total_horas;$x++){ // INICIO_FOR_LINHA ?> <TR> <?php if($SUNDAYES==1){ $n_dias_da_semana = 8; } else { $n_dias_da_semana = 6; }///<---////AQUI DETERMINA SE TERÁ CARREGAMENTO NO SÁBADO for($y=0;$y<$n_dias_da_semana;$y++){ // INICIO_FOR_COLUNA ?> <!-- <TD WIDTH='<?php echo $tamanho_celula; ?>' --> <?php if(($x>=1)&&($y==0)){ } ?> <?php if(($x==0)&&($y==0)){ ?> <TD WIDTH='<?php echo $tamanho_celula; ?>' HEIGHT='<?php echo $altura_celula; ?>' <?php echo(" bgcolor='#FF4000' "); ?> BORDER='0'> <?php echo $fonte[3]; echo $cor_fonte["branca"]; echo("<b> $L_HORARIO_INICIAL </b>"); } if(($x==0)&&($y>=1)){ // IMPRIMIR SEMANA 1a LINHA ?> <TD colspan=1 WIDTH='<?php echo $tamanho_celula; ?>' HEIGHT='<?php echo $altura_celula; ?>' <?php echo ("bgcolor='#FF4000'"); ?> BORDER='0' > <?php if($qual_semana==2){ $rt = date("d",mktime (0, 0, 0, date("m"), date("d")+$inicio+7, date("Y"))); $mes = date("m",mktime (0, 0, 0, date("m"), date("d")+$inicio+7, date("Y"))); $ano = date("Y",mktime (0, 0, 0, date("m"), date("d")+$inicio+7, date("Y"))); } else { $rt = date("d",mktime (0, 0, 0, date("m"), date("d")+$inicio, date("Y"))); $mes = date("m",mktime (0, 0, 0, date("m"), date("d")+$inicio, date("Y"))); $ano = date("Y",mktime (0, 0, 0, date("m"), date("d")+$inicio, date("Y"))); } echo $fonte[3]; echo $cor_fonte["branca"]; echo("<b>"); echo $nome_semana[$y]; echo("</b>"); echo ("<br>"); // if($rt<10){ $rt="0".$rt; } if($sistema1==0){ echo $fonte[3]; echo $rt; echo ("-"); echo $mes; echo ("-"); echo $ano; } else { echo $fonte[3]; echo $rt; echo ("-"); echo $mes; echo ("-"); echo $ano; } } $dia_mes_ativo = $rt. "-".$mes."-" .$ano; if(($x>=1)&&($y==0)){ // IMPRIMIR HORA 1a COLUNA E DEFINIR HORA ?> <TD WIDTH='<?php echo $tamanho_celula; ?>' HEIGHT='<?php echo $altura_celula; ?>' <?php echo ("bgcolor='#FF4000'"); ?> BORDER='0' > <?php if($sistema1==0){ echo $fonte[3]; echo $cor_fonte["branca"]; if($hora_inicio<=9){ echo("<b>");echo("0"); } echo("<b>"); echo $hora_inicio; echo(":00"); echo("</b>"); $hora_inicio++; if($hora_tab<=9){ $hora="0".$hora_tab; } else { $hora=$hora_tab; } $hora_tab++; } else { echo $fonte[3]; echo $cor_fonte["branca"]; if($hora_inicio<=9){ echo("<b>");echo("0"); } echo("<b>"); if($hora_inicio==13){ $hora_inicioFGH=3; } if($hora_inicio>=13){ if($hora_inicioFGH<=9){ echo("<b>");echo("1"); } echo ("$hora_inicioFGH"); $hora_inicioFGH++; } else { echo $hora_inicio; } echo(":00"); echo("</b>"); $hora_inicio++; if($hora_tab<=9){ $hora="0".$hora_tab; } else { $hora=$hora_tab; } $hora_tab++; } } $ano_=date("Y");// $ano_='2010'; foreach(dias_feriados($ano_) as $a) { $feriado_ativo=date("d-m-Y",$a) ; //echo $feriado_ativo.'<br>'; } if(($x>=1)&&($y>=1)){ // PREENCHER CELULAS DE RESERVA if($qual_semana==2){ $rt2 = date("d",mktime (0, 0, 0, date("m"), date("d")+$inicio2+7, date("Y"))); $mes2 = date("m",mktime (0, 0, 0, date("m"), date("d")+$inicio2+7, date("Y"))); $ano2 = date("Y",mktime (0, 0, 0, date("m"), date("d")+$inicio2+7, date("Y"))); } else { $rt2 = date("d",mktime (0, 0, 0, date("m"), date("d")+$inicio2, date("Y"))); $mes2 = date("m",mktime (0, 0, 0, date("m"), date("d")+$inicio2, date("Y"))); $ano2 = date("Y",mktime (0, 0, 0, date("m"), date("d")+$inicio2, date("Y"))); } // if($rt2<10){ $rt2="0".$rt2; } $datatempo=$ano2."-".$mes2."-".$rt2." ".$hora.":00:00"; $dataso=$ano2."-".$mes2."-".$rt2; $tempof=date($dia_atual); $diaso=explode("-",$tempof); $diaso1=$diaso[2]; $horaso=date("H"); if($diaso1<=9){ $diaso1="0".$diaso1; } if($horaso<=9){ $horaso="0".$horaso; } mysql_select_db ($banco); $sql = "SELECT * FROM reservas WHERE datatempo='$datatempo' AND cod_sala='$cod_sala'"; $resultado = mysql_query($sql) or die(mysql_error()); $linha=mysql_fetch_array($resultado); $dia_atual1=date("d"); $hora_atual=date("H") +06; $min_atual1=date("i"); $ano_atual=date("Y"); $mes_atual=date("m"); $dia_mes_ano = $rt2."-".$mes2."-".$ano2 ; if ('07-09-2015' == $dia_mes_ano) { echo("<TD bgcolor='#ffffff'><center>"); echo $fonte[2]; echo $cor_fonte["vermelho"]; echo("<strong><u>FERIADO</u></strong>"); } else if($linha["cod_sala"]==""){ echo("<TD bgcolor='#111010'><center>"); ?> <div id="wrapper"> <input type="radio" class="radio2" name="reservar" value="<?php echo $datatempo; ?>" <?php if($ano2<=$anofgh1){ if($mes2<$mesfgh){ echo(" hidden "); } if($mes2==$mesfgh){ if($rt2<$dia_atual1){ echo(" hidden "); $gh=1; } else { $gh=2; } if($rt2==$dia_atual1){ if($hora<$hora_atual){ echo(" hidden"); $gh=1; } else { $gh=2; } } } } ?> OnClick="javascript: alert('<?php echo $L_HORARIO_INICIO; ?> <?php if($sistema1==0){ echo $hora; } else { if($hora>=13){ echo $hora-12; echo(":00 pm"); } else { echo $hora; echo(":00 am"); } } ?>');"><?php echo("</TD>"); } else { echo("<TD bgcolor='#ffffff'><center>"); $matricula= $_SESSION["sobrenome"]; mysql_select_db ($banco); $sql1 = "SELECT * FROM sups WHERE matsup like '%$matricula'"; $resultado1 = mysql_query($sql1) or die(mysql_error()); $linha1=mysql_fetch_array($resultado1); $supervisor=$linha1["nome_sup"]; $ticket=$_SESSION['protocolo']; echo $fonte[2]; echo $cor_fonte["vermelho"]; echo("<strong><u>RESERVADO</u></strong>"); echo("</TD>"); } echo("</TD>"); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// mysql_select_db ($banco); ?> </TD> <?php if(($x==0)&&($y>=1)){ $inicio++; } if(($x>=1)&&($y>=1)){ $inicio2++; } } // FINAL_FOR_COLUNA $inicio2=$inicio3; $novomes2=0; $mes2=$mesd; // $marc2=0; ANTIGO ?> </TR> <?php } // FINAL_FOR_LINHA ?> </TABLE> <table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td background="" bgcolor="#F34B00"><img src="img/spacer.gif" width="1" height="1" alt=""><br></td></tr></table> <TABLE width="520" width="522" > <TR> <TD ><left> <input type="radio" name="tempo" hidden="01" disabled value="4" OnClick="javascript: alert('<?php //echo $L_DURACAO; ?>: 4 <?php //echo $L_HORAS; ?>');"> </TD> </TR> </TABLE> <TABLE BORDER="0" WIDTH="100%"> <TR> <TD ALIGN="LEFT" WIDTH="50%"> <Table> <tr> <TD> <b><br> </tD> <TD> <input type="text" name="ticket" disabled hidden="01" size="1" value="Sem Comentario"> <input type="checkbox" hidden="01" checked name="na" OnClick="javascript: checkna();" ><b><?php echo $fonte[1]; echo $cor_fonte["azul"]; ?><?php echo $L_SA; ?> </TD> </tr> </TABLE> </TD> /////////OS BOTÕES ABAIXO PARAM DE FUNCIONAR QUANDO APLICO O JAVASCRIPT///////// <TD ALIGN="LEFT" WIDTH="50%"> <input border="1" class="bordas" type="submit" name="enviar" value="<?php echo $L_RESERVARAP; ?>" onClick="javascript:poshorario();"> </TD> <TD ALIGN="CENTER" WIDTH="20%"> <?php echo $fonte[1]; echo $cor_fonte["branca"]; ?> <input border="0" class="bordas" type="hidden" name="cod_sala" value="<?php echo $cod_sala; ?>"> <input border="0" class="bordas" type="hidden" name="prox_semana" value="<?php echo $prox_semana; ?>"> <input border="0" class="bordas" type="hidden" name="dia_atual" value="<?php echo $dia_atual; ?>"> <input border="0" class="bordas" type="hidden" name="qualsemana1" value="<?php echo $qual_semana; ?>"> </TD> <TD> <!-- <BUTTON border="0" class="bordas" OnClick="AAA=window.open('http://LINK_USUARIO,'_blank');">URL adiconal</BUTTON> --> </TD> <TD ALIGN="RIGHT" WIDTH="50%"> <input border="1" class="bordas" type="button" name="enviar" value="<?php echo $L_RESERVAR; ?> >>" onClick="javascript:valida();"> </TD> </TR> </form> </TABLE> </TD></TR> </TABLE> <?php } // FINAL_FUNCTION_MOSTRARSEMANA // -------------------------------------------------------------------------------------------------- // // --------- ENVIAR -------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------- // $poshorario=$_GET["poshorario"]; if($poshorario=="sim"){ $ticket=$_SESSION['protocolo']; $_SESSION['protocolo'] = $ticket; echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=user2_apos_horario.php'>"; } $enviar=$_GET["enviar"]; if($enviar=="sim"){ // INICIO_ENVIAR_0 $matricula=$_SESSION["sobrenome"]; $prox_semana=$_POST["prox_semana"]; $dia_atual=$_POST["dia_atual"]; $senha=$_SESSION["senha"]; $cod_sala=$_POST["cod_sala"]; $qual_semana1=$_POST["qualsemana1"]; mysql_select_db ($banco); $sql1 = "SELECT * FROM sups WHERE matsup like '%$matricula'"; $resultado1 = mysql_query($sql1) or die(mysql_error()); $linha1=mysql_fetch_array($resultado1); if(($linha1["matsup"]==$matricula)){ // REL_000 $reservar=$_POST["reservar"]; if ($_SESSION['tb_vol'] <= 12) {$tempo=3;} if ($_SESSION['tb_vol'] > 12) {$tempo=4;} else {}; if($tempo==0){ $tempo_meio=1; } $dia_hora=explode(" ",$reservar); $dia_mes_ano=explode("-",$dia_hora[0]); $hora_min_seg=explode(":",$dia_hora[1]); $hora_inicio=$hora_min_seg[0]; $hora_inicio2=$hora_min_seg[0]; $min_inicio=$hora_min_seg[1]; $e_ano=$dia_mes_ano[0]; $e_mes=$dia_mes_ano[1]; $e_dia=$dia_mes_ano[2]; $email_data=$e_dia."/".$e_mes."/".$e_ano; $email_hora=$dia_hora[1]; $existe=0; mysql_select_db ($banco); $sql8 = "SELECT * FROM salas WHERE cod_sala='$cod_sala'"; $resultado8 = mysql_query($sql8) or die(mysql_error()); $linha8=mysql_fetch_array($resultado8); $datan=$dia_hora[0]; if(($min_inicio==00)&&($tempo==3)){ // REF_001 $verificar_existe=$datan." ".$hora_inicio.":00:00"; $ticket=$_SESSION['protocolo']; mysql_select_db ($banco); $sql = "SELECT * FROM reservas WHERE datatempo='$verificar_existe' AND cod_sala='$cod_sala'"; $resultado = mysql_query($sql) or die(mysql_error()); $linha=mysql_fetch_array($resultado); } // REF_001 if(($min_inicio==20)&&($tempo==3)){ // REF_002 $verificar_existe=$datan." ".$hora_inicio.":20:00"; $ticket=$_SESSION['protocolo']; mysql_select_db ($banco); $sql = "SELECT * FROM reservas WHERE datatempo='$verificar_existe' AND cod_sala='$cod_sala'"; $resultado = mysql_query($sql) or die(mysql_error()); $linha=mysql_fetch_array($resultado); } // REF_002 if(($min_inicio==20)&&($tempo==3)){ // REF_002 $verificar_existe=$datan." ".$hora_inicio.":40:00"; $ticket=$_SESSION['protocolo']; mysql_select_db ($banco); $sql = "SELECT * FROM reservas WHERE datatempo='$verificar_existe' AND cod_sala='$cod_sala'"; $resultado = mysql_query($sql) or die(mysql_error()); $linha=mysql_fetch_array($resultado); } // REF_002 if(($min_inicio==00)&&($tempo==4)){ // REF_003 for($i=1;$i<=$tempo;$i++){ $verificar_existe=$datan." ".$hora_inicio.":00:00"; $ticket=$_SESSION['protocolo']; mysql_select_db ($banco); $sql = "SELECT * FROM reservas WHERE datatempo='$verificar_existe' AND cod_sala='$cod_sala'"; $resultado = mysql_query($sql) or die(mysql_error()); $linha=mysql_fetch_array($resultado); if(($tempo==4)&&($tempo!=$i)){ $verificar_existe=$datan." ".$hora_inicio.":20:00"; $ticket=$_SESSION['protocolo']; mysql_select_db ($banco); $sql = "SELECT * FROM reservas WHERE datatempo='$verificar_existe' AND cod_sala='$cod_sala'"; $resultado = mysql_query($sql) or die(mysql_error()); $linha=mysql_fetch_array($resultado); }if(($tempo==4)&&($tempo!=$i)){ $verificar_existe=$datan." ".$hora_inicio.":40:00"; $ticket=$_SESSION['protocolo']; mysql_select_db ($banco); $sql = "SELECT * FROM reservas WHERE datatempo='$verificar_existe' AND cod_sala='$cod_sala'"; $resultado = mysql_query($sql) or die(mysql_error()); $linha=mysql_fetch_array($resultado); } if($hora_inicio<=9){ $hora_inicio="0".$hora_inicio+1; } else { $hora_inicio=$hora_inicio+1; } } } // REF_003 // FIM IF 2 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// mysql_select_db ($banco); $datam=$dia_hora[0]; if($existe==0){ // REF_004 if(($min_inicio==20)&&($tempo==3)){ $salvar_data=$datam." ".$hora_inicio2.":20:00"; mysql_select_db ($banco); $sql = "INSERT INTO reservas (datatempo,cod_sala,matricula,ticket) VALUES ('$salvar_data','$cod_sala','$matricula','$ticket')"; if(!mysql_query($sql)){ echo ("<b><font face=\"arial,verdana\" size=\"-1\"> $L_MENSAGEM_05 </i><br> ERRO MySQL:</b> ". mysql_error()); exit(); } } if(($min_inicio==40)&&($tempo==3)){ // INICIO IF 3 $salvar_data=$datam." ".$hora_inicio2.":40:00"; mysql_select_db ($banco); $sql = "INSERT INTO reservas (datatempo,cod_sala,matricula,ticket) VALUES ('$salvar_data','$cod_sala','$matricula','$ticket')"; if(!mysql_query($sql)){ echo ("<b><font face=\"arial,verdana\" size=\"-1\"> $L_MENSAGEM_05 </i><br> ERRO MySQL:</b> ". mysql_error()); exit(); } if($hora_inicio2<=9){ $hora_inicio2="0".$hora_inicio2+1; } else { $hora_inicio2=$hora_inicio2+1; } for($i=1;$i<=$tempo;$i++){ $salvar_data=$datam." ".$hora_inicio2.":00:00"; mysql_select_db ($banco); $sql = "INSERT INTO reservas (datatempo,cod_sala,matricula,ticket) VALUES ('$salvar_data','$cod_sala','$matricula','$ticket')"; if(!mysql_query($sql)){ echo ("<b><font face=\"arial,verdana\" size=\"-1\"> $L_MENSAGEM_05 </i><br> ERRO MySQL:</b> ". mysql_error()); exit(); } if($hora_inicio2<=9){ $hora_inicio2="0".$hora_inicio2+1; } else { $hora_inicio2=$hora_inicio2+1; } } } // FIM IF 3 if(($min_inicio==30)&&($tempo==1)){ // INICIO IF 5 $salvar_data=$datam." ".$hora_inicio2.":30:00"; mysql_select_db ($banco); $sql = "INSERT INTO reservas (datatempo,cod_sala,matricula,ticket) VALUES ('$salvar_data','$cod_sala','$matricula','$ticket')"; if(!mysql_query($sql)){ echo ("<b><font face=\"arial,verdana\" size=\"-1\"> $L_MENSAGEM_05 </i><br> ERRO MySQL:</b> ". mysql_error()); exit(); } if($hora_inicio2<=9){ $hora_inicio2="0".$hora_inicio2+1; } else { $hora_inicio2=$hora_inicio2+1; } $salvar_data=$datam." ".$hora_inicio2.":00:00"; mysql_select_db ($banco); $sql = "INSERT INTO reservas (datatempo,cod_sala,matricula,ticket) VALUES ('$salvar_data','$cod_sala','$matricula','$ticket')"; if(!mysql_query($sql)){ echo ("<b><font face=\"arial,verdana\" size=\"-1\"> $L_MENSAGEM_05 </i><br> ERRO MySQL:</b> ". mysql_error()); exit(); } } // FIM IF 5 if(($min_inicio==00)&&($tempo>=1)){ // INICIO IF 4 for($i=1;$i<=$tempo;$i++){ $salvar_data=$datam." ".$hora_inicio2.":00:00"; mysql_select_db ($banco); $sql = "INSERT INTO reservas (datatempo,cod_sala,matricula,ticket) VALUES ('$salvar_data','$cod_sala','$matricula','$ticket')"; if(!mysql_query($sql)){ echo ("<b><font face=\"arial,verdana\" size=\"-1\"> $L_MENSAGEM_05 </i><br> ERRO MySQL:</b> ". mysql_error()); exit(); } if($hora_inicio2<=9){ $hora_inicio2="0".$hora_inicio2+1; } else { $hora_inicio2=$hora_inicio2+1; } } $ticket=$_SESSION['protocolo']; $_SESSION['protocolo'] = $ticket; echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=../agenda_email.php'>"; } // FIM IF 4 //$para="Ighor Toth <ighor@brasilcenter.com.br>\n"; // ------------ ENVIO DE E-MAIL ------------- // $de="Return-Path: <sas@yourserver.com>\n"; $de=$linha1["nome_sup"]; $sala=$linha8["nome_sala"]; $titulo="SAS - RESERVA DE SALA - De: ".$de." - Sala: ".$sala." - Data: ".$email_data." - Hora: ".$email_hora." - Duração: ".$tempo; // "Return-Path: <$email>\n" // $recipient = "$adminName <$adminEmail>"; $texto="\n------------------------------------------------------------\nVocê acaba de receber um e-mail enviado através do\nSAS - Sistema de Agendamento de Sala (http://sas.seuservidor.com)\nOBS: Não responda esta mensagem.\n------------------------------------------------------------\n\nDe: ".$de."\nSala: ".$sala."\nData: ".$email_data."\nHora: ".$email_hora."\nDuração: ".$tempo." Hora(s)\n\nOBS: NÃO ESQUEÇA DE CONFIRMAR O AGENDAMENTO."; // mail ($para, $titulo, $texto, $de); ?> <SCRIPT LANGUAGE="JavaScript"> function tela(){ alert('<?php echo $L_MENSAGEM_07; ?>'); window.navigate('<?php echo $PHP_SELF; ?>?codsala=<?php echo $cod_sala; ?>&qualsemana=<?php echo $qual_semana1; ?>&prox_semana=<?php echo $prox_semana; ?>&dia_atual=<?php echo $dia_atual; ?>'); } </SCRIPT> <BODY OnLoad="javascript:tela();" > </body> <?php } // REF_004 } else { echo ("<SCRIPT LANGUAGE=\"JavaScript\"> function tela(){ alert(' $L_MENSAGEM_06; '); window.navigate('"); echo $PHP_SELF; echo("?codsala=$cod_sala&qualsemana=$qual_semana1&prox_semana=$prox_semana&dia_atual=$dia_atual'); } </SCRIPT> <BODY OnLoad=\"javascript:tela();\" > </body>"); } // REL_000 } else { // ELSE_ENVIAR_0 $env_cod_sala=$_POST["env_cod_sala"]; $proxima=$_POST["proxima"]; $anterior=$_POST["anterior"]; $data1=$_POST["data1"]; $inicio=$_POST["inicio1"]; $prox_semana=$_POST["prox_semana"]; $dia_atual=$_POST["dia_atual"]; if(($env_cod_sala)||($proxima)||($anterior)){ // REF_005 $cod_sala=$_POST["cod_sala"]; $tempo=date("Y-m-d"); if($proxima){ $qual_semana=2; mostrarsemana($prox_semana,$cod_sala,$qual_semana,$prox_semana,$dia_atual); } if($anterior){ $qual_semana=1; mostrarsemana($dia_atual,$cod_sala,$qual_semana,$prox_semana,$dia_atual); } if((!$proxima)&&(!$anterior)) { $qual_semana=1; //echo("3a"); //mostrarsemana($tempo,$cod_sala,$qual_semana); mostrarsemana($dia_atual,$cod_sala,$qual_semana,$prox_semana,$dia_atual); } } else { // ELSE_REF_005 $proxima=$_POST["proxima"]; $anterior=$_POST["anterior"]; $data1=$_POST["data1"]; $inicio=$_POST["inicio1"]; $prox_semana=$_POST["prox_semana"]; $dia_atual=$_POST["dia_atual"]; $codsala=$_GET["codsala"]; $qualsemana=$_GET["qualsemana"]; if($codsala){ // REF_006 $prox_semana=$_GET["prox_semana"]; $dia_atual=$_GET["dia_atual"]; if($qualsemana==2){ // REF_007 mostrarsemana($prox_semana,$codsala,$qualsemana,$prox_semana,$dia_atual); } else { // ELSE_REF_007 mostrarsemana($dia_atual,$codsala,$qualsemana,$prox_semana,$dia_atual); } // REF_007 } else { // ELSE_REF_006 // $tempo = getdate(mktime(0,0,0,$mes,$dia,$ano)); // $dia_da_semana=$tempo["weekday"]; // $week = strftime("%w", mktime(0, 0, 0, $mes, $dia, $ano)); // $dia_da_semana=$week; $tempo=date("Y-m-d"); $tempod=$tempo; $tempod=explode("-",$tempod); $dia=$tempod[2]; $mes=$tempod[1]; $ano=$tempod[0]; $tempo = date("w", mktime(0, 0, 0, $mes, $dia, $ano)); $dia_da_semana2=$tempo; $tempo=""; $tempo=date("Y-m-d"); $tempod=$tempo; $tempod=explode("-",$tempod); $dia=$tempod[2]; $dia=$dia+6; $mes=$tempod[1]; $ano=$tempod[0]; // echo $tempo; echo("lll"); echo $dia; echo(" -- "); echo $mes; echo (" -- "); echo $ano; echo (" KKKK "); $temp_ano=$ano."-12-31"; // echo $dia_da_semana; exit(); if($dia_da_semana2==1){ $dia_da_semana="Segunda"; $inicio=0; $inicio2=0; $iniciok=1; $inicio_prox=7; } if($dia_da_semana2==2){ $dia_da_semana="Terça"; $inicio=-1; $inicio2=-1; $iniciok=2; $inicio_prox=6; } if($dia_da_semana2==3){ $dia_da_semana="Quarta"; $inicio=-2; $inicio2=-2; $iniciok=3; $inicio_prox=5; } if($dia_da_semana2==4){ $dia_da_semana="Quinta"; $inicio=-3; $inicio2=-3; $iniciok=4; $inicio_prox=4; } if($dia_da_semana2==5){ $dia_da_semana="Sexta"; $inicio=-4; $inicio2=-4; $iniciok=5; $inicio_prox=3; } if($dia_da_semana2==6){ $dia_da_semana="Sábado"; $inicio=-5; $inicio2=-5; $iniciok=6; $inicio_prox=2; } if($dia_da_semana2==0){ $dia_da_semana="Domingo"; $dia++; $inicio=0; $inicio2=0; $inicio_prox=1; } //CASO SEJA DOMINGO if($dia<10){ $dia="0".$dia; } $prox_semana = date("Y-m-d",mktime (0, 0, 0, date("m"), date("d")+7, date("Y"))); // $lastmonth = mktime (0, 0, 0, date("m")-1, date("d"), date("Y")); // $nextyear = mktime (0, 0, 0, date("m"), date("d"), date("Y")+1); // echo $prox_semana; // exit(); // echo $tempo; echo("-"); echo $prox_semana; exit(); mostrarsemana($tempo,"1","1",$prox_semana,$tempo); // mostrarsemana("2004-04-04","1","1",$prox_semana,"2004-04-04"); } // FIM_REF_006 } // FIM_REF_005 } // FIM_ENVIAR_0 ?>
  2. asacap1000

    Insert multiplica as informações no hora de salvar

    Meu amigo você fez eu ganhar a semana com essa sua ajuda....perfeito. olha como ficou. $qtd = count($_GET['nome_motor']); //maior for ($i=0; $i<$qtd; $i++){ $nome_motor = $_GET['nome_motor'][$i]; $cpf_motor = $_GET['cpf_motor'][$i]; $cnh_motor = $_GET['cnh_motor'][$i]; $val_motor = $_GET['val_motor'][$i]; $plcar = $_GET['plcar'][$i]; $plcav = $_GET['plcav'][$i]; $bitr = $_GET['bitr'][$i]; $cont = $_GET['cont'][$i]; $insert = "INSERT INTO ordem (cod_cliente, tb_nome, tb_cnpj, tb_endereco, tb_numero, tb_bairro, tb_cep, tb_estado, tb_telefone, tb_email, datacoleta, tb_doc, nome_transp, cnpj_transp, cep_transp, end_transp, numero_transp, bairro_transp, cid_transp, uf_transp, tel_transp, email_transp, nome_motor, cpf_motor, cnh_motor, val_motor, plcar, plcav, bitr, cont) VALUES ('$cod_cliente', '$tb_nome', '$tb_cnpj', '$tb_endereco', '$tb_numero', '$tb_bairro', '$tb_cep', '$tb_estado', '$tb_telefone', '$tb_email', '$tb_agenda', '$tb_doc', '$nome_transp', '$cnpj_transp', '$cep_transp', '$end_transp', '$numero_transp', '$bairro_transp', '$cid_transp', '$uf_transp', '$tel_transp', '$email_transp', '{$nome_motor}', '{$cpf_motor}', '{$cnh_motor}', '{$val_motor}', '{$plcar}', '{$plcav}', '{$bitr}', '{$cont}')"; mysql_query ($insert) or die (mysql_error() .'<BR><BR>ERRO - NÃO FOI POSSIVEL ENVIAR OS DADOS') ; }
  3. asacap1000

    Insert multiplica as informações no hora de salvar

    Galera estou surtando aqui e não tem nem café mais rsrsrs. Preciso de uma ajuda. Tenho um formulário que carrega quase todas as informações vindo do banco. todas elas estão formatadas como array. Também neste formulário constam áreas para preenchimento. Após preencher os dados envio para a página que fará o insert. Chamei as informações na tela e ele me retornou desta forma. array 'cod_cliente' => array 0 => string '457' (length=3) 'tb_nome' => array 0 => string 'INTERNATIONAL TECN LTDA' (length=35) 'tb_cnpj' => array 0 => string '74404229000854' (length=14) 'tb_endereco' => array 0 => string 'LIBERDADE' (length=9) 'tb_numero' => array 0 => string '6315' (length=4) 'tb_bairro' => array 0 => string 'IPORANGA' (length=8) 'tb_cep' => array 0 => string '18087670' (length=8) 'tb_estado' => array 0 => string 'SP' (length=2) 'tb_telefone' => array 0 => string '15 1234 5678' (length=12) 'cep_transp' => array 0 => string '18084125' (length=8) 'cnpj_transp' => array 0 => string '0177784598545' (length=14) 'nome_transp' => array 0 => string 'TRANSPORTADORA' (length=30) 'end_transp' => array 0 => string 'Rodovia Senador' (length=40) 'numero_transp' => array 0 => string 'km11110,0' (length=6) 'bairro_transp' => array 0 => string 'Iporangaba' (length=8) 'cid_transp' => array 0 => string 'Campinas' (length=8) 'uf_transp' => array 0 => string 'SP' (length=2) 'tel_transp' => array 0 => string '32354884' (length=8) 'email_transp' => array 0 => string 'transportes@ALGUAMCOISA' (length=29) 'tb_email' => array 0 => string 'deivid.santos@ALGUMACOISA' (length=31) 'tb_veic' => array 0 => string '2' (length=1) 'tb_ajudante' => array 0 => string 'NAO' (length=3) 'tb_agenda' => array 0 => string '28/08/2015 07:00:00' (length=19) 'tb_doc' => array 0 => string ' 1515165363' (length=12) 'nome_motor' => array 0 => string 'MOTORISTA' (length=9) 1 => string 'MOTORISTA2' (length=10) 'cpf_motor' => array 0 => string 'CPF' (length=3) 1 => string 'CPF2' (length=4) 'cnh_motor' => array 0 => string 'CNH' (length=3) 1 => string 'CNH2' (length=4) 'val_motor' => array 0 => string 'VALIDADE' (length=8) 1 => string 'VALIDADE2' (length=9) 'plcav' => array 0 => string 'VEICULO' (length=8) 1 => string 'VEICULO2' (length=9) 'plcar' => array 0 => string 'CARRETA' (length=7) 1 => string 'CARRETA2' (length=8) 'bitr' => array 0 => string 'BITREM' (length=6) 1 => string 'BITREM2' (length=7) 'cont' => array 0 => string 'CONTAINER' (length=9) 1 => string 'CONTAINER2' (length=10) 'envia' => string 'Enviar' (length=6) Enviar Verificando as informações acima pode ver que quando entra as informações de motorista elas me trazem duas linhas cada, até aí perfeito pois se trata de um carregamento e serão utilizados dois veículos. Salvando no Mysql ele teria que salvar duas linhas repetindo as informações acima e alterando apenas os dados duplicados. Porém quando salvo ele multiplica, triplica, quadriplica e assim vai, fica uma bagunça no banco. o que eu preciso fazer para que isso não aconteça? abaixo o insert que estou utilizando. //DADOS DA EMRPESA - VARIÁVEL- foreach($_POST['cod_cliente'] as $dados => $cod_cliente) { foreach($_POST['tb_nome'] as $dados => $tb_nome) { foreach($_POST['tb_cnpj'] as $dados => $tb_cnpj) { foreach($_POST['tb_endereco'] as $dados => $tb_endereco) { foreach($_POST['tb_numero'] as $dados => $tb_numero) { foreach($_POST['tb_bairro'] as $dados => $tb_bairro) { foreach($_POST['tb_cep'] as $dados => $tb_cep) { foreach($_POST['tb_estado'] as $dados => $tb_estado) { foreach($_POST['tb_telefone'] as $dados => $tb_telefone) { foreach($_POST['tb_email'] as $dados => $tb_email) { foreach($_POST['tb_doc'] as $dados => $tb_doc) { //DADOS DA TRANSPORTADORA - VARIÁVEL- foreach($_POST['nome_transp'] as $dados => $nome_transp) { foreach($_POST['cnpj_transp'] as $dados => $cnpj_transp) { foreach($_POST['cep_transp'] as $dados => $cep_transp) { foreach($_POST['end_transp'] as $dados => $end_transp) { foreach($_POST['bairro_transp'] as $dados => $bairro_transp) { foreach($_POST['cid_transp'] as $dados => $cid_transp) { foreach($_POST['numero_transp'] as $dados => $numero_transp) { foreach($_POST['uf_transp'] as $dados => $uf_transp) { foreach($_POST['tel_transp'] as $dados => $tel_transp) { foreach($_POST['email_transp'] as $dados => $email_transp) { foreach($_POST['tb_agenda'] as $dados => $tb_agenda) { //DADOS DO MOTORISTA - VARIÁVEL- foreach($_POST['nome_motor'] as $dados => $nome_motor) { foreach($_POST['cpf_motor'] as $dados => $cpf_motor) { foreach($_POST['cnh_motor'] as $dados => $cnh_motor) { foreach($_POST['val_motor'] as $dados => $val_motor) { //DADOS DO VEÍCULO - VARIÁVEL- foreach($_POST['plcar'] as $dados => $plcar) { foreach($_POST['plcav'] as $dados => $plcav) { foreach($_POST['bitr'] as $dados => $bitr) { foreach($_POST['cont'] as $dados => $cont) { $insert = "INSERT INTO ordem (cod_cliente, tb_nome, tb_cnpj, tb_endereco, tb_numero, tb_bairro, tb_cep, tb_estado, tb_telefone, tb_email, datacoleta, tb_doc, nome_transp, cnpj_transp, cep_transp, end_transp, numero_transp, bairro_transp, cid_transp, uf_transp, tel_transp, email_transp, nome_motor, cpf_motor, cnh_motor, val_motor, plcar, plcav, bitr, cont) VALUES ('$cod_cliente', '$tb_nome', '$tb_cnpj', '$tb_endereco', '$tb_numero', '$tb_bairro', '$tb_cep', '$tb_estado', '$tb_telefone', '$tb_email', '$tb_agenda', '$tb_doc', '$nome_transp', '$cnpj_transp', '$cep_transp', '$end_transp', '$numero_transp', '$bairro_transp', '$cid_transp', '$uf_transp', '$tel_transp', '$email_transp', '".$nome_motor."', '".$cpf_motor."', '".$cnh_motor."', '".$val_motor."', '".$plcar."', '".$plcav."', '".$bitr."', '".$cont."')"; mysql_query ($insert) or die (mysql_error() .'<BR><BR>ERRO - NÃO FOI POSSIVEL ENVIAR OS DADOS') ; }}}}}}}}}}}}}}}}}}}}}}}}}}}}}} Se puderem me ajudar...
  4. asacap1000

    Insert multiplica as informações no hora de salvar

    Então como seria o correto, ja tentei mudar essas chaves pra tudo que é canto e nada. Se eu colocar a chave após foreach($_GET['nome_motor'] as $indice => $nome_motor) ele grava as duas linhas para o caso de dois motorista, porém o restante cadastra o ultimo registro. Ele deveria cadastrar motorista1 - veiculo1 etc... motorista2 - veiculo2 etc... mas ele está gravando... motorista1 - veiculo2 etc... motorista2 - veiculo2 etc... Se puder me orientar como deve ser feito vou ganhar a semana.
  5. asacap1000

    Insert multiplica as informações no hora de salvar

    Estou fazendo desta forma. //DADOS DA EMRPESA- $cod_cliente = $_GET['cod_cliente']; $tb_nome = $_GET['tb_nome']; $tb_cnpj = $_GET['tb_cnpj']; $tb_endereco = $_GET['tb_endereco']; $tb_numero = $_GET['tb_numero']; $tb_bairro = $_GET['tb_bairro']; $tb_cep = $_GET['tb_cep']; $tb_estado = $_GET['tb_estado']; $tb_telefone = $_GET['tb_telefone']; $tb_email = $_GET['tb_email']; //DADOS DA TRANSPORTADORA - $nome_transp = $_GET['nome_transp']; $cnpj_transp = $_GET['cnpj_transp']; $cep_transp = $_GET['cep_transp']; $end_transp = $_GET['end_transp']; $bairro_transp = $_GET['bairro_transp']; $cid_transp = $_GET['cid_transp']; $numero_transp = $_GET['numero_transp']; $uf_transp = $_GET['uf_transp']; $tel_transp = $_GET['tel_transp']; $email_transp = $_GET['email_transp']; $tb_agenda = $_GET['tb_agenda']; $tb_doc = $_GET['tb_doc']; { //DADOS DO MOTORISTA E VEICULOS- foreach($_GET['nome_motor'] as $indice => $nome_motor) foreach($_GET['cpf_motor'] as $indice => $cpf_motor) foreach($_GET['cnh_motor'] as $indice => $cnh_motor) foreach($_GET['val_motor'] as $indice => $val_motor) foreach($_GET['plcar'] as $indice => $plcar) foreach($_GET['plcav'] as $indice => $plcav) foreach($_GET['bitr'] as $indice => $bitr) foreach($_GET['cont'] as $indice => $cont) $insert = "INSERT INTO ordem (cod_cliente, tb_nome, tb_cnpj, tb_endereco, tb_numero, tb_bairro, tb_cep, tb_estado, tb_telefone, tb_email, datacoleta, tb_doc, nome_transp, cnpj_transp, cep_transp, end_transp, numero_transp, bairro_transp, cid_transp, uf_transp, tel_transp, email_transp, nome_motor, cpf_motor, cnh_motor, val_motor, plcar, plcav, bitr, cont) VALUES ('$cod_cliente', '$tb_nome', '$tb_cnpj', '$tb_endereco', '$tb_numero', '$tb_bairro', '$tb_cep', '$tb_estado', '$tb_telefone', '$tb_email', '$tb_agenda', '$tb_doc', '$nome_transp', '$cnpj_transp', '$cep_transp', '$end_transp', '$numero_transp', '$bairro_transp', '$cid_transp', '$uf_transp', '$tel_transp', '$email_transp', '".$nome_motor."', '".$cpf_motor."', '".$cnh_motor."', '".$val_motor."', '".$plcar."', '".$plcav."', '".$bitr."', '".$cont."')"; mysql_query ($insert) or die (mysql_error() .'<BR><BR>ERRO - NÃO FOI POSSIVEL ENVIAR OS DADOS') ; } mysql_close($db); ?>
  6. asacap1000

    Insert multiplica as informações no hora de salvar

    Realizei algumas alterações porém agora ele está gravando apenas a ultima entrada do formulário, se tiverem dois motoristas por exemplo ele pega apenas o ultimo e lança. Ela está trazendo desta forma agora. array 'cod_cliente' => string '457' (length=3) 'tb_nome' => string 'INTERNATIONAL TECN LTDA' (length=35) 'tb_cnpj' => string '744xxxxxxxx51' (length=14) 'tb_endereco' => string 'LIBERDADE' (length=9) 'tb_numero' => string '6315' (length=4) 'tb_bairro' => string 'IPORANGABA' (length=8) 'tb_cep' => string '18087190' (length=8) 'tb_estado' => string 'SP' (length=2) 'tb_telefone' => string '15 0009 0577' (length=12) 'cep_transp' => string '18000125' (length=8) 'cnpj_transp' => string '0100000000196' (length=14) 'nome_transp' => string 'SERVICOS LT' (length=30) 'end_transp' => string 'Rodovia Senador de Moraes' (length=40) 'numero_transp' => string 'km' (length=6) 'bairro_transp' => string 'Iporangaba' (length=8) 'cid_transp' => string 'Sorocaba' (length=8) 'uf_transp' => string 'SP' (length=2) 'tel_transp' => string '32354884' (length=8) 'email_transp' => string 'transportes@....' (length=29) 'tb_email' => string 'deivid.santos@....' (length=31) 'tb_veic' => string '2' (length=1) 'tb_ajudante' => string 'NAO' (length=3) 'tb_agenda' => string '01/09/2015 09:00:00' (length=19) 'tb_doc' => string ' 1515854869' (length=12) 'nome_motor' => array 0 => string 'MOTORISTA' (length=9) 1 => string 'MOTORISTA2' (length=10) 'cpf_motor' => array 0 => string 'CPF' (length=3) 1 => string 'CPF2' (length=4) 'cnh_motor' => array 0 => string 'CNH' (length=3) 1 => string 'CNH2' (length=4) 'val_motor' => array 0 => string 'VALIDADE' (length=8) 1 => string 'VALIDADE2' (length=9) 'plcav' => array 0 => string 'VEÃCULO' (length=8) 1 => string 'VEÃCULO2' (length=9) 'plcar' => array 0 => string 'CARRETA' (length=7) 1 => string 'CARRETA2' (length=8) 'bitr' => array 0 => string 'BITREM' (length=6) 1 => string 'BITREM2' (length=7) 'cont' => array 0 => string 'CONTAINER' (length=9) 1 => string 'CONTAINER2' (length=10) 457 INTERNATIONAL TECN LTDA 748978985551 LIBERDADE 6315 IPORANGABA 18087170 SP 15 0000 0577 00087125 00000036000196 E SERVICOS LT Rodovia Senado de Moraes km10,2 Iporanga Sorocaba SP 32354884 transportes@..... deivid.santos@..... 2 NAO 01/09/2015 09:00:00 1515098569 Array ( [0] => MOTORISTA [1] => MOTORISTA2 ) Array ( [0] => CPF [1] => CPF2 ) Array ( [0] => CNH [1] => CNH2 ) Array ( [0] => VALIDADE [1] => VALIDADE2 ) Array ( [0] => VEÃCULO [1] => VEÃCULO2 ) Array ( [0] => CARRETA [1] => CARRETA2 ) Array ( [0] => BITREM [1] => BITREM2 ) Array ( [0] => CONTAINER [1] => CONTAINER2 ) Se puderem me dar uma ajuda aí...
  7. asacap1000

    uso do foreach

    Fala galera. Preciso da ajuda de vocês. Estou com um formulário de cadastro que constam vários campos que são preenchidos de um select, até aí beleza. É um formulario de Ordem de Coleta. Então já constam cadastrados diversas informações no banco. porém existem alguns campos que precisam ser preenchidos na hora e são estes. <script type="text/javascript"> $(function(){ //troca fundo de linhas pares $('table#dg body tr:even').css('background','#FFFF99'); //troca fundo de linhas ímpares $('table#dg body tr:odd').css('background','#FFFFCC'); }); function duplicarCampos(){ var clone = document.getElementById('origem').cloneNode(true); var destino = document.getElementById('destino'); destino.appendChild (clone); var camposClonados = clone.getElementsByTagName('input'); for(i=0; i<camposClonados.length;i++){ camposClonados[i].value = ''; } } function removerCampos(id){ var node1 = document.getElementById('destino'); node1.removeChild(node1.childNodes[0]); } </script> <FORM method="post" action="ordem_agendamento.php"> <div id="origem" align="left"><P> <fieldset><legend><strong>DADOS DO MOTORISTA E VEÍCULO</strong></legend> NOME MOTORISTA<input type="text" id="nome_motor" name="nome_motor[]" required /> <td width="53"><div align="justify">CPF:</div></td> <input type="text" id="cpf_motor" name="cpf_motor[]"> CNH: <input type="text" id="cnh_motor" name="cnh_motor[]" > VALIDADE: <input type="text" id="val_motor" name="val_motor[]"> <hr> <label><strong>DADOS DO VEÍCULO</strong></label><br/><hr> <td width="101" height="24" bgcolor="#FFFFCC"><td width="136"> PLACA VEÍCULO: <input type="text" id="plcav" name="plcav[]" > PLACA CARRETA: <input type="text" id="plcar" name="plcar[]"> PLACA BITREM: <input type="text" id="bitr" name="bitr[]"> CONTAINER: <input type="text" id="cont" name="cont[]"><br> <tr> <img src="../img/add.gif" width="23" height="23" style="cursor: pointer;" title="ADICIONAR MOTORISTA E VEÍCULO " onclick="duplicarCampos();"> <img src="../img/cross.png" width="23" height="23" style="cursor: pointer;"title="REMOVER " onclick="removerCampos(this);"><th width="50"></th><th width="50" ></th></div> <div id="destino"> <input type="submit" name="envia"> Acredito que o formulário esteja correto, como pode ver estou utilizando um javascript para duplicar os campos no caso de serem mais motoristas. Agora na página do insert, não consigo trazer estes campos, os outros campos que trazem as informações do banco são inseridas mas estes ficam como array. Poderiam me ajudar a acertar estes campos ou de como deva ficar na pagina de insert. Segue a parte que realiza o insert no banco. $seach = mysql_query("SELECT * FROM transportadora WHERE CNPJ = '$cnpj_transp'"); if(@mysql_num_rows($search) > 0){ echo '';} else{ //se existir o arquivo if(isset($_FILES["arquivo"])){ $arquivo = $_FILES["arquivo"]; $pasta_dir = "../../../logotipo/";//diretorio dos arquivos //se nao existir a pasta ele cria uma if(!file_exists($pasta_dir)){ mkdir($pasta_dir); } $arquivo_nome = $pasta_dir . $arquivo["name"]; // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $arquivo_nome); // faz inserção $sql = mysql_query(" INSERT INTO transportadora (CNPJ,NOME,CEP,RUA,NUMERO,BAIRRO,CIDADE,UF,TELEFONE,EMAIL, logotipo) VALUES ('$cnpj_transp','$nome_transp','$cep_transp','$end_transp', '$numero_transp','$bairro_transp','$cid_transp','$uf_transp','$tel_transp','$email_transp','$arquivo_nome') "); }} $insert = "INSERT INTO ordem (cod_cliente, tb_nome, tb_cnpj, tb_endereco, tb_numero, tb_bairro, tb_cep, tb_estado, tb_telefone, tb_email, datacoleta, tb_doc, nome_transp, cnpj_transp, cep_transp, end_transp, numero_transp, bairro_transp, cid_transp, uf_transp, tel_transp, email_transp, nome_motor, cpf_motor, cnh_motor, val_motor, plcar, plcav, bitr, cont, adicionais) VALUES ('$cod_cliente', '$tb_nome', '$tb_cnpj', '$tb_endereco', '$tb_numero', '$tb_bairro', '$tb_cep', '$tb_estado', '$tb_telefone', '$tb_email','$datacoleta', '$tb_doc', '$nome_transp', '$cnpj_transp', '$cep_transp', '$end_transp', '$numero_transp', '$bairro_transp', '$cid_transp', '$uf_transp','$tel_transp', '$email_transp', '$nome_motor', '$cpf_motor', '$cnh_motor', '$val_motor', '$plcar', '$plcav', '$bitr', '$cont','$adicionais')"; mysql_query ($insert) or die (mysql_error() .'<BR><BR>ERRO - NÃO FOI POSSIVEL ENVIAR OS DADOS') ;
  8. asacap1000

    Transformar em java script

    Galera preciso de uma ajuda para uma situação. Estou com uma função do banco de dados Oracle para a validação de documentos. Eu preciso implantar esta validação na web, será que poderiam me dar uma força de como transformar a função abaixo em javascript? A linguagem que vou utilizar no site é em PHP. create or replace function fun_Cal_Dig_mod11(p_numero in varchar2, p_doc in varchar2, p_tp_doc in varchar2 default null)return VARCHAR2 is wretorna number:= p_numero; ws varchar2(2); waux number(3); begin if p_doc = 'DAENTR' then ws:= '2'; elsif p_doc = 'DINACI' then ws:= '2'; end if; wretorna:= ws||wretorna; waux:= mod((to_number(SUBSTR(wretorna,1,1))*3 + to_number(SUBSTR(wretorna,2,1))*2 + to_number(SUBSTR(wretorna,3,1))*9 + to_number(SUBSTR(wretorna,4,1))*8 + to_number(SUBSTR(wretorna,5,1))*7 + to_number(SUBSTR(wretorna,6,1))*6 + to_number(SUBSTR(wretorna,7,1))*5 + to_number(SUBSTR(wretorna,8,1))*4 + to_number(SUBSTR(wretorna,9,1))*3 + to_number(SUBSTR(wretorna,10,1))*2)*10,11); if waux >= '10' then return 0; else return nvl(waux,0); end if; end;
  9. asacap1000

    Como trazer uma lista de checkbox em duas ou tres colunas

    Galera, estou realizando uma consulta para trazer os dados em checkbox assim posso selecionar e dar um input em outro banco. a questão é que quando ele me traz as informações se forem muitas fica muito ruim visualizar pois ele acaba trazendo um em baixo do outro. Teria como dividir em colunas, e trazer por exemplo 20 na primeira 20 na segunda e assim por diante.... Minha tela está assim: <?php ociexecute($stmu); while (($row = oci_fetch_array($stmu, OCI_BOTH)) != false) { $documento = oci_result($stmu,1) ; $volume = oci_result($stmu,2) ; ?> <input style="margin-left:30px" name="tb_doc[]" type="checkbox" value="<?php echo $documento ?>"/> <?php echo $documento ?> <input type="hidden" name="volume<?php echo $documento ?>" value="<?php echo $volume ?>" /> <?php echo "VOL: ".$volume.""; ?> <br><div> <?php } ?></div> no resultado ele me traz assim os dados: 123456789 VOL: 11 123456789 VOL: 1 123456789 VOL: 6 123456789 VOL: 1 123456789 VOL: 1 123456789 VOL: - 123456789 VOL: 1 123456789 VOL: 1 123456789 VOL: 3 123456789 VOL: 3
  10. asacap1000

    Monstrar imagem que está salvo no banco

    Legal entendi sim, vou testar esse esquema e logo retorno, Valewww por enquanto
  11. asacap1000

    Monstrar imagem que está salvo no banco

    Galera estou com uma tabela que armazena infromações com foto. porém ele armazena com o caminho da rede. Ele salva da seguinte forma: F:\fotos\Alfandegado\FOTOS 2015\06.JUNHO\22.06\AVARIA LANG CN= DEHAM630550239 (3).JPG F:\fotos\Alfandegado\FOTOS 2015\06.JUNHO\22.06\AVARIA LANG CN= DEHAM630550239 (4).JPG Eu precisaria disponibilizar estas fotos na web. O select que utilizo é este SELECT d.id_damage nr_termo,ph.photo_path, d.nr_le UZ, d.id_artikel produto, w.bez tipo_avaria, d.mng qtde, d.nr_cntr FROM damage d, werte w, photodam ph WHERE d.charge = '&lote' AND w.werte_ber = 'DAMART' and ph.id_damage = d.id_damage AND d.class = w.wert(+)Seria possivel colocar? Este F:\ é de um servidor de arquivo. O Banco Oracle fica em outra máquina, e o servidor we em outra.
  12. asacap1000

    Monstrar imagem que está salvo no banco

    Então é um fileserver da empresa com compartilhamentos etc, no sistema o usuário faz o registro das informações necessárias e se houver alguma foto do produto para adicionar ele faz o upload, tudo via aplicação desktop. o sistema por sua vez executa uma procedure gravando o caminho da foto inserida. a pasta é aberta na rede esse F: é um mapeamento. Então dependeria do usuário ter acesso a este compartilhamento. Se eu colocar na web para verificar eu consigo trazer todas os dados que preciso que estão no banco porém as imagens não vem. Seria porque quem está solicitando como não está logado na rede interna ele não consegue buscar a foto?
  13. asacap1000

    Atualizar varios registros de uma só vez no Oracle

    Valeu Mota é isso mesmo.
  14. asacap1000

    Atualizar varios registros de uma só vez no Oracle

    Amigos estou precisando atualizar um campo de '1' para '0'. Porém a quantidade de resgistros é muito extensa. Teria como eu realizar um update na tabela e alterar de uma vez. Montei um select porém como não tem como no momento fazer um teste, estou com receito de rodar e dar "zica". Segue o script será que está certo? Update ARTLAG LA set la.knz_packing = '0' where (select art.id_artikel, la.knz_packing from ARTIKEL ART, ARTLAG LA where art.tp_artikel = 'ITEM' and ART.ID_KLIENT = '1384' and la.id_klient = art.id_klient and art.id_artikel = la.id_artikel and la.knz_packing = '1') no select depois do where estou definindo a busca dos itens será que está certo???
  15. asacap1000

    Soma total dividido por anos

    Vou testar tirando o ano. Os valores outros valores são iguais Meu amigo quem sabe sabe, não havia e atentado para o group. agora está 100%. Valeu mesmo
  16. asacap1000

    Soma total dividido por anos

    Galera estou com uma dúvida em um select. Eu preciso trazer a soma de entrada em valores por cliente, e eu preciso que este total venha dividido por anos. por exemplo cliente: Zacarias valor de entradas (1000 em 2013) ,(1000 em 2014) e (500 em 2015). Seria possível ele criar as colunas automaticamente com o nome dos anos trazendo o total de cada cliente dentro de cada ano? Meu select é este: ---IMPORTAÇÃO--- select contagem.cnpj_cpf, contagem.name,contagem.moeda, sum (contagem.valor_rec) from ( SELECT decode(length(w.suchbegriff), 14, substr(w.suchbegriff, 1, 2) || '.' || substr(w.suchbegriff, 3, 3) || '.' || substr(w.suchbegriff, 6, 3) || '/' || substr(w.suchbegriff, 9, 4) || '-' || substr(w.suchbegriff, 13, 2), substr(w.suchbegriff, 1, 3) || '.' || substr(w.suchbegriff, 4, 3) || '.' || substr(w.suchbegriff, 7, 3) || '-' || substr(w.suchbegriff, 10, 2)) cnpj_cpf, w.name, W.MOEDA, (sum(w.valor_cif)) valor_rec, TRUNC(w.data_base) data_base, W.LOTE FROM (SELECT k.id_klient, k.name, k.suchbegriff, a.bruecke_1 LOTE, a.einh_waehr moeda, MAX(a.valor_cif) valor_cif, MIN(we.datum_we) data_base FROM we, anliefpos a, klienten k WHERE we.lager = a.lager and k.id_klient = a.id_klient and k.id_klient = we.id_klient AND we.nr_anlief = a.nr_anlief AND we.nr_anlief_pos = a.nr_anlief_pos AND a.stat <> 80 AND a.bruecke_1 like 'A%' --importação GROUP BY a.lager, a.bruecke_1, k.name, k.suchbegriff, k.id_klient, a.einh_waehr) w WHERE w.data_base >= to_date('&inicio', 'dd/mm/yyyy') and w.data_base <= to_date('&fim', 'dd/mm/yyyy') GROUP BY TRUNC(w.data_base), w.name, decode(length(w.suchbegriff), 14, substr(w.suchbegriff, 1, 2) || '.' || substr(w.suchbegriff, 3, 3) || '.' || substr(w.suchbegriff, 6, 3) || '/' || substr(w.suchbegriff, 9, 4) || '-' || substr(w.suchbegriff, 13, 2), substr(w.suchbegriff, 1, 3) || '.' || substr(w.suchbegriff, 4, 3) || '.' || substr(w.suchbegriff, 7, 3) || '-' || substr(w.suchbegriff, 10, 2)), W.LOTE, W.MOEDA)contagem group by contagem.cnpj_cpf, contagem.name,contagem.moeda order by contagem.name asc
  17. asacap1000

    Soma total dividido por anos

    Desta forma ela apenas adiciona o zero se null, deixa eu tentar explicar: Segue imagem: Pode ver que o mesmo cliente me retorna 03 linhas uma para cada ano com valor de entrada. Eles me pediram para trazer em uma linha apenas.
  18. asacap1000

    Soma total dividido por anos

    Amigos o Motta me deu a maior força no select abaixo, este foi colocado em um tópico anterior, agora só para finalizar minha dúvida. A empresa gostou do relatório só que pediram para trazer na mesma linhas as informações. Por exemplo utilizando os Case ele cria uma linha para cada ano, por exemplo teve valores em 2013 ele preenche uma linha, e os outros campos ficam vazios se teve entrada em 2015 ele cria outra linha agora com os outros campos vazios e somente. Como eu poderia configurar para trazer na mesma linha? select distinct contagem.id_klient, contagem.cnpj_cpf, contagem.name, contagem.moeda, case when contagem.ano = 2012 then sum(contagem.valor_rec) end as "2012", case when contagem.ano = 2013 then sum(contagem.valor_rec) end as "2013", case when contagem.ano = 2014 then sum(contagem.valor_rec) end as "2014", case when contagem.ano = 2015 then sum(contagem.valor_rec) end as "2015" from (SELECT w.id_klient, decode(length(w.suchbegriff), 14, substr(w.suchbegriff, 1, 2) || '.' || substr(w.suchbegriff, 3, 3) || '.' || substr(w.suchbegriff, 6, 3) || '/' || substr(w.suchbegriff, 9, 4) || '-' || substr(w.suchbegriff, 13, 2), substr(w.suchbegriff, 1, 3) || '.' || substr(w.suchbegriff, 4, 3) || '.' || substr(w.suchbegriff, 7, 3) || '-' || substr(w.suchbegriff, 10, 2)) cnpj_cpf, w.name, W.MOEDA, (sum(w.valor_cif)) valor_rec, TRUNC(w.data_base) data_base, to_char(w.data_base, 'RRRR') ANO, W.LOTE FROM (SELECT k.id_klient, k.name, k.suchbegriff, a.bruecke_1 LOTE, a.einh_waehr moeda, MAX(a.valor_cif) valor_cif, MIN(we.datum_we) data_base FROM we, anliefpos a, klienten k WHERE we.lager = a.lager and k.id_klient = a.id_klient and k.id_klient = we.id_klient AND we.nr_anlief = a.nr_anlief AND we.nr_anlief_pos = a.nr_anlief_pos AND a.stat <> 80 AND a.bruecke_1 like 'A%' --importação GROUP BY a.lager, a.bruecke_1, k.name, k.suchbegriff, k.id_klient, a.einh_waehr) w WHERE w.data_base >= to_date('&inicio', 'dd/mm/yyyy') and w.data_base <= to_date('&fim', 'dd/mm/yyyy') --and w.id_klient = '862' GROUP BY TRUNC(w.data_base), w.id_klient, to_char(w.data_base, 'RRRR'), w.name, decode(length(w.suchbegriff), 14, substr(w.suchbegriff, 1, 2) || '.' || substr(w.suchbegriff, 3, 3) || '.' || substr(w.suchbegriff, 6, 3) || '/' || substr(w.suchbegriff, 9, 4) || '-' || substr(w.suchbegriff, 13, 2), substr(w.suchbegriff, 1, 3) || '.' || substr(w.suchbegriff, 4, 3) || '.' || substr(w.suchbegriff, 7, 3) || '-' || substr(w.suchbegriff, 10, 2)), W.LOTE, W.MOEDA) contagem group by contagem.cnpj_cpf, contagem.id_klient, contagem.name, contagem.moeda, contagem.ano order by contagem.name asc
  19. asacap1000

    Soma total dividido por anos

    Showww de bola Motta, olha como ficou. ---IMPORTAÇÃO--- select distinct contagem.cnpj_cpf, contagem.name, contagem.moeda, case when contagem.ano = 2012 then sum(contagem.valor_rec) end as "2012", case when contagem.ano = 2013 then sum(contagem.valor_rec) end as "2013", case when contagem.ano = 2014 then sum(contagem.valor_rec) end as "2014", case when contagem.ano = 2015 then sum(contagem.valor_rec) end as "2015" from (SELECT decode(length(w.suchbegriff), 14, substr(w.suchbegriff, 1, 2) || '.' || substr(w.suchbegriff, 3, 3) || '.' || substr(w.suchbegriff, 6, 3) || '/' || substr(w.suchbegriff, 9, 4) || '-' || substr(w.suchbegriff, 13, 2), substr(w.suchbegriff, 1, 3) || '.' || substr(w.suchbegriff, 4, 3) || '.' || substr(w.suchbegriff, 7, 3) || '-' || substr(w.suchbegriff, 10, 2)) cnpj_cpf, w.name, W.MOEDA, (sum(w.valor_cif)) valor_rec, TRUNC(w.data_base) data_base, to_char(w.data_base, 'yyyy') ANO, W.LOTE FROM (SELECT k.id_klient, k.name, k.suchbegriff, a.bruecke_1 LOTE, a.einh_waehr moeda, MAX(a.valor_cif) valor_cif, MIN(we.datum_we) data_base FROM we, anliefpos a, klienten k WHERE we.lager = a.lager and k.id_klient = a.id_klient and k.id_klient = we.id_klient AND we.nr_anlief = a.nr_anlief AND we.nr_anlief_pos = a.nr_anlief_pos AND a.stat <> 80 AND a.bruecke_1 like 'A%' --importação GROUP BY a.lager, a.bruecke_1, k.name, k.suchbegriff, k.id_klient, a.einh_waehr) w WHERE w.data_base >= to_date('&inicio', 'dd/mm/yyyy') and w.data_base <= to_date('&fim', 'dd/mm/yyyy') GROUP BY TRUNC(w.data_base), to_char(w.data_base, 'yyyy'), w.name, decode(length(w.suchbegriff), 14, substr(w.suchbegriff, 1, 2) || '.' || substr(w.suchbegriff, 3, 3) || '.' || substr(w.suchbegriff, 6, 3) || '/' || substr(w.suchbegriff, 9, 4) || '-' || substr(w.suchbegriff, 13, 2), substr(w.suchbegriff, 1, 3) || '.' || substr(w.suchbegriff, 4, 3) || '.' || substr(w.suchbegriff, 7, 3) || '-' || substr(w.suchbegriff, 10, 2)), W.LOTE, W.MOEDA) contagem group by contagem.cnpj_cpf, contagem.name, contagem.moeda,contagem.ano order by contagem.name asc
  20. asacap1000

    Minutos em horas e minutos

    Galera acredito que seja muito fácil mas a cabeça não ta ajudando em nada hoje, preciso pegar o resultado deste select em HH:mm. Mas não consigo acertar de jeito nenhum o campo é este: TRUNC ((io.time_out - io.time_in)* 1440) minutos, Se eu não colocar *1440 ele faz a contagem por dia. o que está faltando neste select, já coloquei *24, /24, /60, *60 etc etc e não sai nada certo
  21. asacap1000

    Minutos em horas e minutos

    Então os resultados de uma certa forma estão corretos, por exemplo se eu deixar para aparecer apenas horas e minutos blz, só que se eu adicionar a opção de dias aí fica estranho a infromação pois como exemplo ele irá mostrar. 09:58:33 => 09 dias 58 horas e 33 minutos. Como 58 horas? Acredito que teria que ter uma regra para que no calculo de horas quando ultrapassar 23 horas ele volta a zerar porém acrescentaria nos dias
  22. asacap1000

    Minutos em horas e minutos

    Estou reabrindo este chamado pois após um mês de testes encontrei um "bug". O select atual está desta forma hoje. SELECT COUNT(CLC.TICKET) QUANT_ENTRADAS, decode(length(CLC.CNPJ), 14, substr(CLC.CNPJ, 1, 2) || '.' || substr(CLC.CNPJ, 3, 3) || '.' || substr(CLC.CNPJ, 6, 3) || '/' || substr(CLC.CNPJ, 9, 4) || '-' || substr(CLC.CNPJ, 13, 2), substr(CLC.CNPJ, 1, 3) || '.' || substr(CLC.CNPJ, 4, 3) || '.' || substr(CLC.CNPJ, 7, 3) || '-' || substr(CLC.CNPJ, 10, 2)) CNPJ, CLC.CLIENTE, to_char(trunc(sum(CLC.MINUTOS_PERCORRIDOS) / 24 / 60), '00009') || ':' || to_char(trunc(mod(sum(CLC.MINUTOS_PERCORRIDOS), 3600) / 60), '09') || ':' || to_char(mod(mod(sum(CLC.MINUTOS_PERCORRIDOS), 3600), 60), '09') TOTAL_PERCORRIDO, to_char(trunc(avg(NVL(CLC.MINUTOS_PERCORRIDOS, 0)) / 24 / 60), '0009') || ':' || to_char(trunc(mod(avg(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600) / 60), '09') || ':' || to_char(mod(mod(avg(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600), 60), '09') MEDIA_PERCORRIDA, to_char(trunc(max(NVL(CLC.MINUTOS_PERCORRIDOS, 0)) / 24 / 60), '0009') || ':' || to_char(trunc(mod(max(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600) / 60), '09') || ':' || to_char(mod(mod(max(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600), 60), '09') MAXIMO_PERCORRIDO, to_char(trunc(min(NVL(CLC.MINUTOS_PERCORRIDOS, 0)) / 24 / 60), '0009') || ':' || to_char(trunc(mod(min(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600) / 60), '09') || ':' || to_char(mod(mod(min(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600), 60), '09') MINIMO_PERCORRIDA FROM (select distinct io.id_in_out ticket, k.id_klient, k.suchbegriff CNPJ, k.name cliente, TO_CHAR(io.time_arrival, 'DD/MM/YYYY HH24:MI:SS') chegada, TO_CHAR(io.time_release_in, 'DD/MM/YYYY HH24:MI:SS') liberacao, TO_CHAR(io.time_in, 'DD/MM/YYYY HH24:MI:SS') entrada, TO_CHAR(io.time_out, 'DD/MM/YYYY HH24:MI:SS') saida, case when (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) is null then TRUNC((io.time_release_pp - io.time_in) * 1440) when (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) > io.time_release_pp then TRUNC(((select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) - io.time_release_pp) * 1440) else TRUNC((io.time_release_pp - (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out)) * 1440) end MINUTOS_PERCORRIDOS, case when (select p.typ_document from in_out_pos p where p.lager = io.lager and p.id_in_out = io.id_in_out and rownum = 1) in ('DTA', 'DTC', 'DI', 'CARGA', 'IMP', 'MICDTA', 'TERMO') then 'IMPORTAÇÃO' when (select p.typ_document from in_out_pos p where p.lager = io.lager and p.id_in_out = io.id_in_out and rownum = 1) is null then 'INDEFINIDO' else 'EXPORTAÇÃO' end tp_lote, case when io.art_in_out = 'LI' then (select we.instru_arm from in_out_pos iop, we where iop.lager = io.lager and iop.id_in_out = io.id_in_out and we.lager = iop.lager and we.typ_doc = iop.typ_document and we.nr_doc = iop.document and we.nr_zoll = iop.container_num and rownum = 1) else '' end inst_arm, case when io.art_in_out in ('ECV', 'LI', 'MIC', 'RCC', 'RCV', 'VS') then 'ENTRADA' else 'SAÍDA' end sentido, (select upper(s.bez) from stati s where s.stat_ber = 'INOUT' and s.stat = io.stat and rownum = 1) status, case when io.art_in_out in ('ECV', 'LI', 'MIC', 'RCC', 'RCV', 'VS') and (select count(1) from in_out_pos iop, we where iop.lager = io.lager and iop.id_in_out = io.id_in_out and we.lager = iop.lager and we.typ_doc = iop.typ_document and we.nr_doc = iop.document and we.nr_zoll = iop.container_num and we.stat <> '90') = 0 then 'CONCLUIDO' when io.art_in_out not in ('ECV', 'LI', 'MIC', 'RCC', 'RCV', 'VS') and (select count(1) from in_out_pos iop, auftraege a where iop.lager = io.lager and iop.id_in_out = io.id_in_out and a.lager = iop.lager and replace(replace(a.hinw_zust, '/', ''), '-', '') = iop.document and a.art_auf = 'NORM' and a.stat <= 75) = 0 then 'CONCLUIDO' else 'PENDENTE' end status_oper from in_out_pos iop, klienten k, in_out io where k.id_klient = iop.id_klient and io.id_in_out = iop.id_in_out and io.stat <> '80' and (case when io.art_in_out in ('ECV', 'LI', 'MIC', 'RCC', 'RCV', 'VS') then 'ENTRADA' else 'SAÍDA' end) <> 'SAÍDA' and trunc(io.time_arrival) >= TO_DATE('&inicio', 'DD/MM/YYYY HH24:MI:SS') and trunc(io.time_arrival) <= TO_DATE('&fim', 'DD/MM/YYYY HH24:MI:SS') and k.id_klient like '&cliente' AND ( case when (select p.typ_document from in_out_pos p where p.lager = io.lager and p.id_in_out = io.id_in_out and rownum = 1) in ('DTA', 'DTC', 'DI', 'CARGA', 'IMP', 'MICDTA', 'TERMO') then 'IMPORTAÇÃO' when (select p.typ_document from in_out_pos p where p.lager = io.lager and p.id_in_out = io.id_in_out and rownum = 1) is null then 'INDEFINIDO' else 'EXPORTAÇÃO' end) = '&tipo' and (case when io.art_in_out = 'LI' then (select we.instru_arm from in_out_pos iop, we where iop.lager = io.lager and iop.id_in_out = io.id_in_out and we.lager = iop.lager and we.typ_doc = iop.typ_document and we.nr_doc = iop.document and we.nr_zoll = iop.container_num and rownum = 1) else '' end) = '&instrucao') CLC GROUP BY CLC.CLIENTE, decode(length(CLC.CNPJ), 14, substr(CLC.CNPJ, 1, 2) || '.' || substr(CLC.CNPJ, 3, 3) || '.' || substr(CLC.CNPJ, 6, 3) || '/' || substr(CLC.CNPJ, 9, 4) || '-' || substr(CLC.CNPJ, 13, 2), substr(CLC.CNPJ, 1, 3) || '.' || substr(CLC.CNPJ, 4, 3) || '.' || substr(CLC.CNPJ, 7, 3) || '-' || substr(CLC.CNPJ, 10, 2)) ORDER BY CLC.CLIENTE ASC Existem casos que na consulta ele me retorna com a quantidade de horas acima de 24. Como exemplo abaixo na pesquisa de um determinado cliente ele me mostra a quantidade de entradas 15, soma o tempo total gasto no processo de cada entrada me retornando 09 dias 58 horas 33 minutos. O que deve estar errado na montagem? QUANT_ENTRADAS CÓD_CLIENTE CNPJ CLIENTE TOTAL_PERCORRIDO MEDIA_PERCORRIDA MAXIMO_PERCORRIDO MINIMO_PERCORRIDO 15 códi cnpj cliente ​ 00009: 58: 33 000: 15: 54 000: 23: 21 000: 03: 05 Existe um subselect que transforma os tempos em minutos, está no case. case when (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) is null then TRUNC((io.time_release_pp - io.time_in) * 1440) when (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) > io.time_release_pp then TRUNC(((select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) - io.time_release_pp) * 1440) else TRUNC((io.time_release_pp - (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out)) * 1440) end MINUTOS_PERCORRIDOS, Estou reabrindo este chamado pois após um mês de testes encontrei um "bug". O select atual está desta forma hoje. SELECT COUNT(CLC.TICKET) QUANT_ENTRADAS, decode(length(CLC.CNPJ), 14, substr(CLC.CNPJ, 1, 2) || '.' || substr(CLC.CNPJ, 3, 3) || '.' || substr(CLC.CNPJ, 6, 3) || '/' || substr(CLC.CNPJ, 9, 4) || '-' || substr(CLC.CNPJ, 13, 2), substr(CLC.CNPJ, 1, 3) || '.' || substr(CLC.CNPJ, 4, 3) || '.' || substr(CLC.CNPJ, 7, 3) || '-' || substr(CLC.CNPJ, 10, 2)) CNPJ, CLC.CLIENTE, to_char(trunc(sum(CLC.MINUTOS_PERCORRIDOS) / 24 / 60), '00009') || ':' || to_char(trunc(mod(sum(CLC.MINUTOS_PERCORRIDOS), 3600) / 60), '09') || ':' || to_char(mod(mod(sum(CLC.MINUTOS_PERCORRIDOS), 3600), 60), '09') TOTAL_PERCORRIDO, to_char(trunc(avg(NVL(CLC.MINUTOS_PERCORRIDOS, 0)) / 24 / 60), '0009') || ':' || to_char(trunc(mod(avg(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600) / 60), '09') || ':' || to_char(mod(mod(avg(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600), 60), '09') MEDIA_PERCORRIDA, to_char(trunc(max(NVL(CLC.MINUTOS_PERCORRIDOS, 0)) / 24 / 60), '0009') || ':' || to_char(trunc(mod(max(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600) / 60), '09') || ':' || to_char(mod(mod(max(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600), 60), '09') MAXIMO_PERCORRIDO, to_char(trunc(min(NVL(CLC.MINUTOS_PERCORRIDOS, 0)) / 24 / 60), '0009') || ':' || to_char(trunc(mod(min(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600) / 60), '09') || ':' || to_char(mod(mod(min(NVL(CLC.MINUTOS_PERCORRIDOS, 0)), 3600), 60), '09') MINIMO_PERCORRIDA FROM (select distinct io.id_in_out ticket, k.id_klient, k.suchbegriff CNPJ, k.name cliente, TO_CHAR(io.time_arrival, 'DD/MM/YYYY HH24:MI:SS') chegada, TO_CHAR(io.time_release_in, 'DD/MM/YYYY HH24:MI:SS') liberacao, TO_CHAR(io.time_in, 'DD/MM/YYYY HH24:MI:SS') entrada, TO_CHAR(io.time_out, 'DD/MM/YYYY HH24:MI:SS') saida, case when (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) is null then TRUNC((io.time_release_pp - io.time_in) * 1440) when (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) > io.time_release_pp then TRUNC(((select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) - io.time_release_pp) * 1440) else TRUNC((io.time_release_pp - (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out)) * 1440) end MINUTOS_PERCORRIDOS, case when (select p.typ_document from in_out_pos p where p.lager = io.lager and p.id_in_out = io.id_in_out and rownum = 1) in ('DTA', 'DTC', 'DI', 'CARGA', 'IMP', 'MICDTA', 'TERMO') then 'IMPORTAÇÃO' when (select p.typ_document from in_out_pos p where p.lager = io.lager and p.id_in_out = io.id_in_out and rownum = 1) is null then 'INDEFINIDO' else 'EXPORTAÇÃO' end tp_lote, case when io.art_in_out = 'LI' then (select we.instru_arm from in_out_pos iop, we where iop.lager = io.lager and iop.id_in_out = io.id_in_out and we.lager = iop.lager and we.typ_doc = iop.typ_document and we.nr_doc = iop.document and we.nr_zoll = iop.container_num and rownum = 1) else '' end inst_arm, case when io.art_in_out in ('ECV', 'LI', 'MIC', 'RCC', 'RCV', 'VS') then 'ENTRADA' else 'SAÍDA' end sentido, (select upper(s.bez) from stati s where s.stat_ber = 'INOUT' and s.stat = io.stat and rownum = 1) status, case when io.art_in_out in ('ECV', 'LI', 'MIC', 'RCC', 'RCV', 'VS') and (select count(1) from in_out_pos iop, we where iop.lager = io.lager and iop.id_in_out = io.id_in_out and we.lager = iop.lager and we.typ_doc = iop.typ_document and we.nr_doc = iop.document and we.nr_zoll = iop.container_num and we.stat <> '90') = 0 then 'CONCLUIDO' when io.art_in_out not in ('ECV', 'LI', 'MIC', 'RCC', 'RCV', 'VS') and (select count(1) from in_out_pos iop, auftraege a where iop.lager = io.lager and iop.id_in_out = io.id_in_out and a.lager = iop.lager and replace(replace(a.hinw_zust, '/', ''), '-', '') = iop.document and a.art_auf = 'NORM' and a.stat <= 75) = 0 then 'CONCLUIDO' else 'PENDENTE' end status_oper from in_out_pos iop, klienten k, in_out io where k.id_klient = iop.id_klient and io.id_in_out = iop.id_in_out and io.stat <> '80' and (case when io.art_in_out in ('ECV', 'LI', 'MIC', 'RCC', 'RCV', 'VS') then 'ENTRADA' else 'SAÍDA' end) <> 'SAÍDA' and trunc(io.time_arrival) >= TO_DATE('&inicio', 'DD/MM/YYYY HH24:MI:SS') and trunc(io.time_arrival) <= TO_DATE('&fim', 'DD/MM/YYYY HH24:MI:SS') and k.id_klient like '&cliente' AND ( case when (select p.typ_document from in_out_pos p where p.lager = io.lager and p.id_in_out = io.id_in_out and rownum = 1) in ('DTA', 'DTC', 'DI', 'CARGA', 'IMP', 'MICDTA', 'TERMO') then 'IMPORTAÇÃO' when (select p.typ_document from in_out_pos p where p.lager = io.lager and p.id_in_out = io.id_in_out and rownum = 1) is null then 'INDEFINIDO' else 'EXPORTAÇÃO' end) = '&tipo' and (case when io.art_in_out = 'LI' then (select we.instru_arm from in_out_pos iop, we where iop.lager = io.lager and iop.id_in_out = io.id_in_out and we.lager = iop.lager and we.typ_doc = iop.typ_document and we.nr_doc = iop.document and we.nr_zoll = iop.container_num and rownum = 1) else '' end) = '&instrucao') CLC GROUP BY CLC.CLIENTE, decode(length(CLC.CNPJ), 14, substr(CLC.CNPJ, 1, 2) || '.' || substr(CLC.CNPJ, 3, 3) || '.' || substr(CLC.CNPJ, 6, 3) || '/' || substr(CLC.CNPJ, 9, 4) || '-' || substr(CLC.CNPJ, 13, 2), substr(CLC.CNPJ, 1, 3) || '.' || substr(CLC.CNPJ, 4, 3) || '.' || substr(CLC.CNPJ, 7, 3) || '-' || substr(CLC.CNPJ, 10, 2)) ORDER BY CLC.CLIENTE ASC Existem casos que na consulta ele me retorna com a quantidade de horas acima de 24. Como exemplo abaixo na pesquisa de um determinado cliente ele me mostra a quantidade de entradas 15, soma o tempo total gasto no processo de cada entrada me retornando 09 dias 58 horas 33 minutos. O que deve estar errado na montagem? TOTAL ENTRADAS 15 TEMPO TOTAL EM DIAS HORAS E MINUTOS 00009: 58: 33 MÉDIA EM DIAS HORAS E MINUTOS 000: 15: 54 MÁXIMO EM DIAS HORAS E MINUTOS 000: 23: 21 MÍNIMO EM DIAS HORAS E MINUTOS 000: 03: 05 Existe um subselect que transforma os tempos em minutos, está no case. case when (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) is null then TRUNC((io.time_release_pp - io.time_in) * 1440) when (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) > io.time_release_pp then TRUNC(((select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out) - io.time_release_pp) * 1440) else TRUNC((io.time_release_pp - (select max(doc.datum_integridade) from doccontrol doc, in_out_pos iop where doc.document = iop.document and iop.id_in_out = io.id_in_out)) * 1440) end MINUTOS_PERCORRIDOS,
  23. asacap1000

    Converter Minutos em horas e minutos

    Galera preciso de uma ajuda, Estou acostumado com as regras no Oracle mas no SQl achei que não mudava tanto. Estou com um campo em uma tabela que grava as horas em Minutos atingindo seus 1440 minutos por dia. Como eu faria para converter este valor em hh:mm?
  24. asacap1000

    Minutos em horas e minutos

    Se refere a data de saída ele é gravado nesta formatação 02/01/2015 17:54:14 e o io.time_in é entrada também na mesma formatação
  25. asacap1000

    Minutos em horas e minutos

    rsrsrsr eu também não entendi. Vou postar o select inteiro para ter idéia do rolo. select datas.nr_entrada,datas.entrada,datas.saída,to_char(trunc(datas.minutos /60/60),'09') ||':'|| to_char(trunc(mod(datas.minutos ,3600)/60),'09') ||':'|| to_char(mod(mod(datas.minutos ,3600),60),'09')duração from (select io.id_in_out nr_entrada, TO_CHAR(io.time_in,'DD/MM/YYYY HH24:MI:SS')ENTRADA, TO_CHAR(io.time_out,'DD/MM/YYYY HH24:MI:SS')SAÍDA, TRUNC ((io.time_out - io.time_in)* 1440) minutos, case when (select p.typ_document from in_out_pos p where p.lager = io.lager and p.id_in_out = io.id_in_out and rownum = 1) in ('DTA', 'DTC', 'DI', 'CARGA', 'IMP', 'MICDTA', 'TERMO') then 'IMPORTAÇÃO' when (select p.typ_document from in_out_pos p where p.lager = io.lager and p.id_in_out = io.id_in_out and rownum = 1) is null then 'INDEFINIDO' else 'EXPORTAÇÃO' end tp_lote, upper(sp.name) tranportadora, v.plate placa, case when io.art_in_out = 'LI' then (select we.instru_arm from in_out_pos iop, we where iop.lager = io.lager and iop.id_in_out = io.id_in_out and we.lager = iop.lager and we.typ_doc = iop.typ_document and we.nr_doc = iop.document and we.nr_zoll = iop.container_num and rownum = 1) else '' end inst_arm, case when io.art_in_out in ('ECV', 'LI', 'MIC', 'RCC', 'RCV', 'VS') then 'ENTRADA' else 'SAÍDA' end sentido, decode(length(kl.suchbegriff), 14, substr(kl.suchbegriff, 1, 2) || '.' || substr(kl.suchbegriff, 3, 3) || '.' || substr(kl.suchbegriff, 6, 3) || '/' || substr(kl.suchbegriff, 9, 4) || '-' || substr(kl.suchbegriff, 13, 2), substr(kl.suchbegriff, 1, 3) || '.' || substr(kl.suchbegriff, 4, 3) || '.' || substr(kl.suchbegriff, 7, 3) || '-' || substr(kl.suchbegriff, 10, 2)), upper(kl.name) cliente, (select upper(s.bez) from stati s where s.stat_ber = 'INOUT' and s.stat = io.stat and rownum = 1) status, case when io.art_in_out in ('ECV', 'LI', 'MIC', 'RCC', 'RCV', 'VS') and (select count(1) from in_out_pos iop, we where iop.lager = io.lager and iop.id_in_out = io.id_in_out and we.lager = iop.lager and we.typ_doc = iop.typ_document and we.nr_doc = iop.document and we.nr_zoll = iop.container_num and we.stat <> '90') = 0 then 'CONCLUIDO' when io.art_in_out not in ('ECV', 'LI', 'MIC', 'RCC', 'RCV', 'VS') and (select count(1) from in_out_pos iop, auftraege a where iop.lager = io.lager and iop.id_in_out = io.id_in_out and a.lager = iop.lager and replace(replace(a.hinw_zust, '/', ''), '-', '') = iop.document and a.art_auf = 'NORM' and a.stat <= 75) = 0 then 'CONCLUIDO' else 'PENDENTE' end status_oper from in_out io, vehicle v, spediteure sp, klienten kl where trunc (io.time_arrival) >= TO_DATE('&inicio','DD/MM/YYYY HH24:MI:SS') and trunc (io.time_arrival) <= TO_DATE('&fim','DD/MM/YYYY HH24:MI:SS') and io.lager = 'PSI' and io.stat <> '80' and io.lager = v.lager(+) and io.id_vehicle = v.id_vehicle(+) and io.lager = sp.lager(+) and io.id_spediteur = sp.id_spediteur(+) and io.lager = kl.lager(+) and io.id_klient = '&client' and io.id_klient = kl.id_klient(+) order by io.time_arrival)datas
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.