Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bgssilva

Diferença entre horas e não entre dias

Recommended Posts

Tenho desenvolvido um controle de Horários livre, um pouco diferente de um controle de ponto convencional, onde as pessoas possuem uma carga X de horas e tem que cumpri-las independente do dia ou hora pra fazer isso.

 

Me foi solicitado como melhoria uns totalizadores que fiz sem problemas pois uso uma rotina que converte os dias em horas para que no final do mês ou a qq período solicitado tenha no final de meu relatório as seguintes informações ao final de 1 mês:

 

BASE DE HORAS----TOTAL TEMPO----TOTAL DE------TOTAL TEMPO--------TOTAL-------TOTAL ENTRE ITENS----TOTAL GERAL-----TOTAL

NO PERÍODO---------DE PAUSA-----SALVAMENTO-------DO ITEM-------ENTRE ITENS------DESCARTADOS-------DO PERÍODO--TRADUZIDO

90:00:00--------------07:11:54--------29:52:18----------88:56:08-------36:46:15-----------34:36:29------------118:48:26-----120:58:12

 

obs: não consegui alinhar coloquei esse mundo de traços ai em cima, desculpem.

 

Preciso colocar a informação de débito ou crédito do usuário que é (coloquei o nome dos campos para facilitar a compreenção)

'PARA DÉBITOS

IF BASE DE HORAS NO PERÍODO > TOTAL TRADUZIDO THEN

DÉBITO = BASE DE HORAS NO PERÍODO - TOTAL TRADUZIDO

ELSE

DÉBITO = #00:00:00#

END IF

 

'PARA CRÉDITOS

IF BASE DE HORAS NO PERÍODO < TOTAL TRADUZIDO THEN

CRÉDITO = TOTAL TRADUZIDO - BASE DE HORAS NO PERÍODO

ELSE

CRÉDITO = #00:00:00#

END IF

 

PENSEI EM FAZER ISSO, Na realidade fiz isso. Só que efetuando tal subtração sempre dá erro e não consigo obter o resultado.

 

Gostaria de contar com a ajuda de vocês para concluir esta operação.

 

Depois disso ainda terei que resgatar estas informações dinamicamente dos meses anteriores para somar débitos de hora ou descontar crétidos para que essa operação esteja correta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Código para análise:

 

obs.: O trecho em questão está em negrito

 

ASP
<%@LANGUAGE="VBSCRIPT" %>

<%

Session.LCID = 1046

server.ScriptTimeout = 60

 

Function calculaIntervaloTempo(intervalo)

 

Dim totalHoras

Dim totalMinutos

Dim totalSegundos

 

Dim dia , horas , minutos , segundos

 

dias = Int(CSng(intervalo))

totalHoras = Int(CSng(intervalo * 24))

totalMinutos = Int(CSng(intervalo * 1440))

totalSegundos = Int(CSng(intervalo * 86400))

 

horas = totalHoras Mod 24

minutos = totalMinutos Mod 60

segundos = totalSegundos Mod 60

 

if len(horas) = 1 then  

        horas = "0" & totalHoras Mod 24

end if

 

if len(minutos) = 1 then

        minutos = "0" & totalMinutos Mod 60

end if

 

if len(segundos) = 1 then

        segundos = "0" & totalSegundos Mod 60

end if

 

calculaIntervaloTempo = dias & " dias " & horas & " Horas " & minutos & " Minutos " ' & segundos & " Segundos "

 

End Function

 

Function CalculaIntervaloHoras(intervaloH)

Dim Hora, Minuto,  Segundo

 

        if not isnull(intervaloH) Then

                Hora = Int(CSng(intervaloH * 24))

                Minuto = Int(CSng(intervaloH * 1440)) Mod 60

                Segundo = Int(CSng(intervaloH * 86400)) mod 60

       

                if len(Hora) = 1 then

                        Hora = "0" & Hora

                end if

               

                if len(Minuto) = 1 then

                        Minuto = "0" & Minuto

                end if

               

                if len(Segundo) = 1 then

                        Segundo = "0" & Segundo

                end if

         

                CalculaIntervaloHoras = Hora & ":" & minuto  & ":" & segundo

       

        else

                CalculaIntervaloHoras = #00:00:00#

        end if

 

End Function

 

Dim Conexao

Dim RS

Dim SQL

 

V_MesEscolhido= cint(request.form("MesEscolhido"))

V_dataIni = request.form("dataini")

V_dataFim = request.form("datafim")

V_Nome = request.form("nome")

 

tipo = request.QueryString("tipo")

 

 

if request.form("MesEscolhido") = "" then

        V_MesEscolhido=cint(left(request.querystring("MesEscolhido"),1))

end if

 

if request.form("dataini") = "" then

        V_dataIni=request.querystring("dataini")

end if

 

if request.form("datafim") = "" then

        V_dataFim=request.querystring("dataFim")

end if

 

if request.form("nome") = "" then

        V_nome = request.querystring("nome")

end if

 

if V_dataIni = "" and V_dataFim = "" then

        select case V_MesEscolhido

                case 1

                        V_dataIni = #01/01/2007#

                        V_dataFim = #01/31/2007#

                case 2

                        V_dataIni = #02/01/2007#

                        V_dataFim = #02/28/2007#

                case 3

                        V_dataIni = #03/01/2007#

                        V_dataFim = #03/31/2007#

                case 4

                        V_dataIni = #04/01/2007#

                        V_dataFim = #04/30/2007#

                case 5

                        V_dataIni = #05/01/2007#

                        V_dataFim = #05/31/2007#

                case 6

                        V_dataIni = #06/01/2007#

                        V_dataFim = #06/30/2007#

                case 7

                        V_dataIni = #07/01/2007#

                        V_dataFim = #07/31/2007#

                case 8

                        V_dataIni = #08/01/2007#

                        V_dataFim = #08/31/2007#

                case 9

                        V_dataIni = #09/01/2007#

                        V_dataFim = #09/30/2007#

                case 10

                        V_dataIni = #10/01/2007#

                        V_dataFim = #10/31/2007#

                case 11

                        V_dataIni = #11/01/2007#

                        V_dataFim = #11/30/2007#

                case 12

                        V_dataIni = #12/01/2007#

                        V_dataFim = #12/31/2007#

        end select     

else

        V_dataIni = day(V_dataIni) & "/" & month(V_dataIni) & "/" & year(V_dataIni)

        V_dataFim = day(V_dataFim) & "/" & month(V_dataFim) & "/" & year(V_dataFim)

end if

pessoal = V_Nome

LINK=""

V_Pessoal = pessoal

select case pessoal

        case 4

                base = 6

                tipo_pessoal="R"

                link="consulta_rev_05.asp?nome="&pessoal&"&data="

        case 7

                base = 6

                tipo_pessoal="T"

                link="consulta_trad_05.asp?nome="&pessoal&"&data="

        case 8

                base = 6

                tipo_pessoal="T"

                link="consulta_trad_05.asp?nome="&pessoal&"&data="

        case 10

                base = 6

                tipo_pessoal="T"

                link="consulta_trad_05.asp?nome="&pessoal&"&data="

        case 15

                base = 6

                tipo_pessoal="T"

                link="consulta_trad_05.asp?nome="&pessoal&"&data="

        case 9

                base = 8

                tipo_pessoal="R"

                link="consulta_rev_05.asp?nome="&pessoal&"&data="

        case 21

                base = 6

                tipo_pessoal="T"       

                link="consulta_trad_05.asp?nome="&pessoal&"&data="

        case 31

                base = 4

                tipo_pessoal="T"

                link="consulta_trad_05.asp?nome="&pessoal&"&data="

        case 45

                base = 4

                tipo_pessoal="T"

                link="consulta_trad_05.asp?nome="&pessoal&"&data="

        case 40

                base = 8

                tipo_pessoal="T"

                link="consulta_trad_05.asp?nome="&pessoal&"&data="

        case 35

                base = 8

                tipo_pessoal="T"

                link="consulta_trad_05.asp?nome="&pessoal&"&data="

        case 23

                base = 8

                tipo_pessoal="T"

                link="consulta_trad_05.asp?nome="&pessoal&"&data="

        case else

       

end select

 

V_TipoPessoal = tipo_pessoal

 

if len(pessoal) = 1 then

        if tipo_pessoal = "T" then

                pessoal = "TRAD000" & pessoal

        else

                pessoal = "REV000" & pessoal

        end if

else

        if tipo_pessoal = "T" then

                pessoal = "TRAD00" & pessoal

        else

                pessoal = "REV00" & pessoal

        end if

end if

 

 

Set Conexao = SERVER.CreateObject("ADODB.CONNECTION")

Set RS = SERVER.CreateObject("ADODB.RECORDSET") 

Conexao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=controle.mdb;"

Conexao.CursorLocation = 3

Conexao.Open

 

 

if data <> "" then

data_conv = split(data,"/")

data_corr = data_conv(1) & "/" & data_conv(0) & "/" & data_conv(2)

DataConv = data_corr

end if

 

if V_dataIni <> "" then

data_conv = split(V_dataIni,"/")

data_corr = data_conv(1) & "/" & data_conv(0) & "/" & data_conv(2)

DataIniConv = data_corr

end if

 

if V_dataFim <> "" then

data_conv = split(V_dataFim,"/")

data_corr = data_conv(1) & "/" & data_conv(0) & "/" & data_conv(2)

DataFimConv = data_corr

end if

 

if DataIniConv <> "" and DataFimConv <> "" then

        SQL = "SELECT calendario.data, calendario.pessoal, calendario.status, calendario.base FROM calendario GROUP BY calendario.data, calendario.pessoal, calendario.status, calendario.base HAVING calendario.data between #" & datainiconv & "# and #" & datafimconv & "# and pessoal = " & V_Pessoal

end if

 

'if DataIniConv <> "" and DataFimConv = "" then

'       SQL = "SELECT calendario.data, calendario.pessoal, calendario.status, calendario.base FROM calendario GROUP BY calendario.data, calendario.pessoal, calendario.status, calendario.base HAVING calendario.data data = #" & datainiconv & "# "

       

'end if

       

'if DataIniConv = "" and DataFimConv = "" then

'       SQL = "select * from calendario where data = date() "

'end if

Set RS = Conexao.Execute(SQL)

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>Consultas Via WEB

<% if V_TIPO <> "periodo" then %>

        <% if dataconv <> "" then %>

                <% =dataconv %>

        <% else %>

                <% =date() %>

        <% end if %>

<% ELSE %>

        <%="Entre " & DATAINIconv & " e " & datafimconv %>

<% end if %></title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style type="text/css">

<!--

.style1 {

        font-family: Verdana, Arial, Helvetica, sans-serif;

        font-size: 10px;

}

.style2 {

        font-family: Verdana, Arial, Helvetica, sans-serif;

        font-size: 18px;

        font-weight: bold;

}

.style6 {

        color: #FFFFFF;

        font-weight: bold;

}

.style7 {

        font-family: Verdana, Arial, Helvetica, sans-serif;

        font-size: 10px;

        color: #FFFFFF;

        font-weight: bold;

}

.style8 {font-weight: bold}

.style9 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #000000; font-weight: bold; }

.style10 {color: #000000}

.style11 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #000000; }

.style12 {color: #FFFFFF}

.style16 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; }

.style15 {font-family: Verdana, Arial, Helvetica, sans-serif}

-->

</style>

 

<script language="JavaScript">

function AbreJanela(link)

{

var opcoes="toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, width=450, height=150";

window.open(link,"",opcoes);

}

</script>

</head>

<body>

<div align="center">

  <p>

        <span class="style2">Controle de Horários       

        <% if V_dataIni <> "" then %>

                <%="(De " & V_dataIni & " até " & V_dataFim & ")" %>

        <% else %>

                <% if data <> "" then %>

                        <%="(" & data & ")" %>

                <% else %>

                        <%="(" & date() & ")" %>

                <% end if %>

        <% end if %>

  </span></p>

  <%'=sql%>

   <%

        v_parametro = "?nome=" & V_Nome & "&dataini=" & V_dataIni & "&datafim=" & V_dataFim & "&mesescolhido=" & left(V_MesEscolhido,1)

        v_servidor = request.ServerVariables("HTTP_HOST")

        v_link = REQUEST.ServerVariables("PATH_INFO")

       

        link_novo = "http://" & v_servidor & v_link & v_parametro

        %>

       

<%'=sql%>

       

        <form name="form1" method="post" action="outros/gera_xls_para_horario.asp">

          <div align="right">

                <input name="link_novo" type="hidden" id="link_novo" value="<%=link_novo%>">

                <input type="submit" name="Submit" value="Generate Excel Spreadsheet">

          </div>

        </form>

</div>

</div>

<%

If not RS.eof then

%>

<table width="98%"  border="1" align="center">

<tr bgcolor="#009966" class="style11">

        <td ><div align="center"><span class="style7">DATA</span></div></td>

        <td  class="style7">DIA DA SEMANA </td>

        <td ><div align="center"><span class="style6"><span class="style1">PESSOAL</span></span></div></td>

        <td ><div align="center"><span class="style12"><strong>TEMPO<br>

        DE PAUSA </strong></span></div></td>

        <td ><div align="center"><span class="style12"><strong>TEMPO DE <br>

        SALVAMENTO</strong></span></div></td>

        <td ><div align="center"><span class="style12"><strong>TEMPO <br>

        DO ITEM </strong></span></div></td>

        <td ><div align="center"><span class="style12"><strong>TEMPO<br>

        ENTRE ITEM</strong></span></div></td>

        <td ><p align="center"><span class="style12"><strong>TEMPO ENTRE <br>

          ITEM NÃO CONSIDERADO</strong></span><br>

          </p>  </td>

        <td ><div align="center"><span class="style12"><strong>TOTAL(SALV.+ITEM)</strong></span></div></td>

        <td ><div align="center"><span class="style12"><strong>TOTAL</strong></span></div></td>

</tr>

<%

CONT = 0

V_TOT_ENTRE_ITENS = #00:00#

V_TOT_ENTRE_ITENS_DESC = #00:00#

 

V_TOT_GERAL = #00:00#

 

V_TOT_TEMPOITEM = #00:00:00#

V_TOT_SALVAMENTO = #00:00:00#

V_TOT_PAUSA = #00:00:00#

%>

<% WHILE NOT RS.EOF

IF RS("data") <> V_DATA THEN

        TOT_PAUSA = #00:00:00#

        TOT_SALVAMENTO = #00:00:00#

        TOT_TEMPOITEM = #00:00:00#

        if RS("data") <> "" then

                IF MONTH(RS("data")) <= 12 THEN

                        data_conv = split(RS("data"),"/")

                        data_corr = data_conv(1) & "/" & data_conv(0) & "/" & data_conv(2)

                        DataConv = data_corr

                ELSE

                        DataConv = RS("data")

                END IF

        end if

'contagem de entre itens - inicio

        if tipo_pessoal = "T" then

                SQL1 = "SELECT * FROM [somatorio de tempo - TRAD] WHERE DATA = #" & DataConv & "# AND TRADCODE = '" & pessoal & "' order by DATA, hora, horafinal"

        else

                SQL1 = "SELECT * FROM [somatorio de tempo - REV] WHERE DATA = #" & DataConv & "# AND REVCODE = '" & pessoal & "' order by DATA, hora, horafinal"

        end if

        Set RS1 = Conexao.Execute(SQL1)

        if not RS1.eof then

                        while not rs1.eof

                                if not isnull(rs1("TEMPOITEM")) then

                                        TOT_PAUSA = TOT_PAUSA  + rs1("TEMPOPAUSA")

                                        TOT_SALVAMENTO = TOT_SALVAMENTO  + rs1("TEMPOSALVAR")

                                        TOT_TEMPOITEM = TOT_TEMPOITEM + rs1("TEMPOITEM")       

                                        TOT_TOTAL = TOT_TOTAL + ( rs1("TEMPOSALVAR") + rs1("TEMPOITEM") )

                                end if

                                rs1.movenext

                        wend

        END IF

%>

  <%select case RS("status")

          case "R"

                v_color="#FFFFCC"

          case "D" 'bgcolor="#FFCC00" doença

                  v_color="#FFCC00"

          case "V","Férias" 'bgcolor="#00FF99" ferias

                v_color="#00FF99"

          case "F","Feriado" 'bgcolor="#FFFFCC"

                v_color="#FFFFCC"

          case "A","Dia Normal"

                  v_color="#FFFFFF"

                CONT=CONT+1

          case else

        end select

        if RS("DATA") = date () then

                v_color = "#00CCFF"

        end if

       

        %>

  <tr bgcolor="<%=v_color%>" class="style11">

  <td width="9%"><div align="center"><span class="style9"><a href="<%=link%><%=RS("data")%>" target="_blank"><%=RS("data")%></a><%'=RS("status")%></span></td>

        <td width="9%"><%=weekdayname(weekday(RS("data")),false)%></td>

        <td width="9%"><div align="center"><span class="style10"><strong><span class="style1"><%=pessoal%></span></strong></span></div></td>

        <td width="9%"><div align="center">

        <div align="center" class="style8"><%if TOT_TEMPOITEM <> #00:00:00# then%><%=CalculaIntervaloHoras(TOT_PAUSA)%><%else%>-<%end if%></div></td>

        <td width="10%"><div align="center">

        <div align="center" class="style8"><%if TOT_TEMPOITEM <> #00:00:00# then%><%=CalculaIntervaloHoras(TOT_SALVAMENTO)%><%else%>-<%end if%></div></td>

        <td width="9%"><div align="center">

        <div align="center" class="style8"><%if TOT_TEMPOITEM <> #00:00:00# then%><%=CalculaIntervaloHoras(TOT_TEMPOITEM)%><%else%>-<%end if%></div></td>

        <td width="11%"><div align="center"><span class="style8">

          <%

                V_TOT_SALVAMENTO = V_TOT_SALVAMENTO + TOT_SALVAMENTO

                V_TOT_TEMPOITEM = V_TOT_TEMPOITEM + TOT_TEMPOITEM

                V_TOT_PAUSA = V_TOT_PAUSA + TOT_PAUSA

        %>

          <%

'Calculo do total de tempo entre itens por data e revisor/tradutor

if V_Nome <> 4 and V_Nome <> 9 then

SQL2 = "SELECT Tradutor.ID, Tradutor.nome, Tradutor.Data, Tradutor.Hora, Tradutor.horafinal, Tradutor.ItemTrad, Tradutor.FoiPostado, Tradutor.Concluido, Tradutor.TempoPausa, Tradutor.TempoSalvar, Tradutor.TempoItem, Tradutor.ItemComDuvida as duvida, Tradutor.Obs, Tradutor.Obs1 FROM Tradutor WHERE Tradutor.Data = #"&DataConv&"#  and Tradutor.nome = "&V_Pessoal&" ORDER BY Tradutor.Data , nome, tradutor.hora, tradutor.horafinal; "

else

SQL2 = "SELECT revisor.ID, revisor.nome, revisor.Data, revisor.Hora, revisor.horafinal, revisor.Itemrev, revisor.FoiPostado, revisor.Concluido, revisor.TempoPausa, revisor.TempoSalvar, revisor.TempoItem, revisor.Duvida as duvida, revisor.Obs, revisor.Obs1 FROM revisor WHERE revisor.Data = #"&DataConv&"#  and revisor.nome = "&V_Pessoal&" ORDER BY revisor.Data , nome, revisor.hora, revisor.horafinal; "

end if

Set RS2 = Conexao.Execute(SQL2)

if not RS2.eof then

        EntreItens = #00:00#

        TotEntreItens = #00:00#

       

        while not rs2.eof

                if  V_HoraFimAnt <> "" then

                        if V_Data = rs2("data")   then

                                V_HoraIni = RS2("hora")

                                if V_HoraIni > V_HoraFimAnt then

                                        EntreItens = CalculaIntervaloHoras(V_HoraIni-V_HoraFimAnt)

                                end if

                                if isdate(EntreItens) then

                                        TotEntreItens = cdate(TotEntreItens) + cdate(EntreItens)

                                else

                                        TotEntreItens = cdate(TotEntreItens) + #00:00:00#

                                end if

                        else

                                EntreItens = CalculaIntervaloHoras(#00:00:00#)

                        end if

                end if

V_HoraFimAnt = rs2("horafinal")

V_Data = rs2("data")

rs2.movenext

wend

end if

%>     

<%if TOT_TEMPOITEM <> #00:00:00# then%>

        <%=TotEntreItens%>     

        <%V_TOT_ENTRE_ITENS = V_TOT_ENTRE_ITENS + TotEntreItens%>

<%else%>

-

<%end if%>

        </span></div></td>

        <td width="11%"><div align="center"><span class="style8">

          <%

                VD_TOT_SALVAMENTO = VD_TOT_SALVAMENTO + TOT_SALVAMENTO

                VD_TOT_TEMPOITEM = VD_TOT_TEMPOITEM + TOT_TEMPOITEM

                VD_TOT_PAUSA = VD_TOT_PAUSA + TOT_PAUSA

        %>

          <%

'Calculo do total de tempo entre itens por data e revisor/tradutor

if V_Nome <> 4 and V_Nome <> 9 then

SQL3 = "SELECT Tradutor.ID, Tradutor.nome, Tradutor.Data, Tradutor.Hora, Tradutor.horafinal, Tradutor.ItemTrad, Tradutor.FoiPostado, Tradutor.Concluido, Tradutor.TempoPausa, Tradutor.TempoSalvar, Tradutor.TempoItem, Tradutor.ItemComDuvida as duvida, Tradutor.Obs, Tradutor.Obs1 FROM Tradutor WHERE Tradutor.Data = #"&DataConv&"#  and Tradutor.nome = "&V_Pessoal&" ORDER BY Tradutor.Data , nome, tradutor.hora, tradutor.horafinal; "

else

SQL3 = "SELECT revisor.ID, revisor.nome, revisor.Data, revisor.Hora, revisor.horafinal, revisor.Itemrev, revisor.FoiPostado, revisor.Concluido, revisor.TempoPausa, revisor.TempoSalvar, revisor.TempoItem, revisor.Duvida as duvida, revisor.Obs, revisor.Obs1 FROM revisor WHERE revisor.Data = #"&DataConv&"#  and revisor.nome = "&V_Pessoal&" ORDER BY revisor.Data , nome, revisor.hora, revisor.horafinal; "

end if

Set RS3 = Conexao.Execute(SQL3)

if not RS3.eof then

        VD_EntreItens = #00:00:00#

        VD_TotEntreItens = #00:00:00#

       

        while not rs3.eof

                if  VD_HoraFimAnt <> "" then

                        if VD_Data = rs3("data")   then

                       

                                VD_HoraIni = RS3("hora")

                                if VD_HoraIni > VD_HoraFimAnt then

                                        VD_EntreItens = CalculaIntervaloHoras(VD_HoraIni-VD_HoraFimAnt)

                                end if

                               

                                select case VD_EntreItens

                                        case "00:00:01", "00:00:02", "00:00:03", "00:00:04", "00:00:05","00:00:06","00:00:07","00:00:08",

"00:00:09","00:00:10","00:00:11","00:00:12","00:00:13","00:00:14","00:00:15","00:00:16","00:00:17","00:00:18",

"00:00:19","00:00:20","00:00:21","00:00:22","00:00:23","00:00:24","00:00:25","00:00:26","00:00:27","00:00:28",

"00:00:29","00:00:30","00:00:31","00:00:32","00:00:33","00:00:34","00:00:35","00:00:36","00:00:37","00:00:38",

"00:00:39","00:00:40","00:00:41","00:00:42","00:00:43","00:00:44","00:00:45","00:00:46","00:00:47","00:00:48"

,"00:00:49","00:00:50","00:00:51","00:00:52","00:00:53","00:00:54","00:00:55","00:00:56","00:00:57","00:00:58"

,"00:00:59","00:01:00"',"00:01:01", "00:01:02", "00:01:03", "00:01:04", "00:01:05","00:01:06","00:01:07","00:01:08",

"00:01:09","00:01:10","00:01:11","00:01:12","00:01:13","00:01:14","00:01:15","00:01:16","00:01:17","00:01:18",

"00:01:19","00:01:20","00:01:21","00:01:22","00:01:23","00:01:24","00:01:25","00:01:26","00:01:27","00:01:28","00:01:29","00:01:30"

                                       

                                        CASE ELSE

                               

                                                if isdate(VD_EntreItens) then

                                                        VD_TotEntreItens = cdate(VD_TotEntreItens) + cdate(VD_EntreItens)

                                                else

                                                        VD_TotEntreItens = cdate(VD_TotEntreItens) + #00:00:00#

                                                end if

                                               

                                        END SELECT

                               

                        else

                                VD_EntreItens = CalculaIntervaloHoras(#00:00:00#)

                        end if

                end if

               

VD_HoraFimAnt = rs3("horafinal")

 

VD_Data = rs3("data")

rs3.movenext

wend

end if

%>

          <%if TOT_TEMPOITEM <> #00:00:00# then%>

                  <%=VD_TotEntreItens%>

                  <%VD_TOT_ENTRE_ITENS = VD_TOT_ENTRE_ITENS + VD_TotEntreItens%>

          <%else%>

          -

          <%end if%>

        </span></div></td>

        <td width="12%"><div align="center">

          <div align="center"><span class="style8">

                <%if TOT_TEMPOITEM <> #00:00:00# then%>

                <%V_Total_Dia=CalculaIntervaloHoras(TOT_TEMPOITEM+TOT_SALVAMENTO)%>

                <%=V_Total_Dia%>

                <%else%>

                -

                <%end if%>

        </span></div></td>

        <td width="11%">

          <div align="center"><strong>

                <%if TOT_TEMPOITEM <> #00:00:00# then%>

                <%V_Total_Dia_Traducao=CalculaIntervaloHoras((cdate(V_Total_Dia)+TotEntreItens)-VD_TotEntreItens)%>

                <%=V_Total_Dia_Traducao%>

                               

                           <%V_TOT_Dia_Traducao = cdate(V_TOT_Dia_Traducao) + cdate(V_Total_Dia_Traducao)%>

                                 <%'= "<BR>" & V_TOT_Dia_Traducao%>

                <%else%>

                -

                <%end if%>

          </strong></div></td>

  </tr>

<%end if%>

 

 

<%

V_TOT_GERAL = CalculaIntervaloHoras(TOT_TOTAL)

V_DATA = RS("data")

RS.MOVENEXT

WEND

%>

</table>

<br>

<%'=SQL1%>

<table width="98%" border="1" align="center">

  <tr bgcolor="#CCCCCC" class="style11">  

        <td width="9%" bgcolor="#009966"><div align="center">

          <div align="right" class="style7"><div align="center">BASE DE HORAS <br>

                  NO PERÍODO<img src="imagens/transp.gif" width="10" height="10">

                  </div>

                  <div align="left"></div>

        </div>          </td>

        <td width="9%" bgcolor="#009966"><div align="right"><span class="style7"><img src="imagens/transp.gif" width="10" height="10"></span></div></td>

        <td width="9%" bgcolor="#009966"> </td>

        <td width="9%" bgcolor="#009966"><div align="center"><span class="style12"><strong>TOTAL <br>

        TEMPO DE PAUSA </strong></span></div></td>

        <td width="11%" bgcolor="#009966"><div align="center"><span class="style12"><strong>TOTAL  DE SALVAMENTO</strong></span></div></td>

        <td width="9%" bgcolor="#009966" class="style7"><div align="center">TOTAL <br>

        TEMPO DO ITEM</div></td>

        <td width="10%" bgcolor="#009966"><div align="center" class="style7">TOTAL <br>

          ENTRE ITENS</div></td>

        <td width="12%" bgcolor="#009966"><div align="center"><span class="style7">TOTAL <br>

          ENTRE ITENS<br>

        DESCARTADOS</span></div></td>

        <td width="11%" bgcolor="#009966"><div align="center"><span class="style7">TOTAL GERAL <br>

          DO PERÍODO<br>

        </span></div></td>

        <td width="11%" bgcolor="#009966"><div align="center"><span class="style7">TOTAL <br>

        TRADUZIDO</span></div></td>

  </tr>

  <tr bgcolor="#CCCCCC" class="style11">

        <td width="9%" bgcolor="#CCCCCC"><div align="right"><strong>

          <% Tot_base = base * cont %>

          <%

        if len(Tot_base) = 1 then

                V_Tot_Base = "0" & Tot_base & ":00:00"

        else

                V_Tot_Base = Tot_base & ":00:00"

        end if

        %>

        <%=V_Tot_Base%><span class="style7"><img src="imagens/transp.gif" width="10" height="10"></span></strong></div></td>

        <td width="9%" bgcolor="#CCCCCC"><div align="right"><span class="style7"><img src="imagens/transp.gif" width="10" height="10"></span></div></td>

        <td width="9%" bgcolor="#CCCCCC"><div align="center"></div></td>

 

        <td width="9%" bgcolor="#CCCCCC"><div align="center"><strong><%=CalculaIntervaloHoras(V_TOT_PAUSA)%></strong></div></td>

        <td width="11%" bgcolor="#CCCCCC"><div align="center"><strong><%=CalculaIntervaloHoras(V_TOT_SALVAMENTO)%></strong></div></td>

        <td width="9%" bgcolor="#CCCCCC"><div align="center"><strong><%=CalculaIntervaloHoras(V_TOT_TEMPOITEM)%></strong></div></td>

        <td width="10%" bgcolor="#CCCCCC"><div align="center"><strong><%=CalculaIntervaloHoras(V_TOT_ENTRE_ITENS)%></strong></div></td>

        <td width="12%" bgcolor="#CCCCCC"><div align="center"><strong><%=CalculaIntervaloHoras(VD_TOT_ENTRE_ITENS)%></strong></div></td>

        <td width="11%" bgcolor="#CCCCCC"><div align="center"><strong><%=V_TOT_GERAL%></strong></div></td>

        <td width="11%" bgcolor="#CCCCCC"><div align="center"><strong><%=CalculaIntervaloHoras(V_TOT_Dia_Traducao)%></strong></div></td>

  </tr>

</table>

<br>

<span class="style7"><img src="imagens/transp.gif" width="14" height="50" align="left"></span>

<table width="300" border="1">

  <tr>

        <td bgcolor="#009966" class="style7"><div align="center">DÉBITO DE HORAS</div></td>

        <td bgcolor="#009966" class="style7"><div align="center">CRÉDITO DE HORAS</div></td>

  </tr>

  <tr>

        <td>

ASP
<%

        'V_debito =  #00:00:00#

        'V_Credito = #00:00:00#

        IF V_Tot_Base > CalculaIntervaloHoras(V_TOT_Dia_Traducao) THEN

                response.Write V_Tot_Base & "<BR>" & CalculaIntervaloHoras(V_TOT_Dia_Traducao)& "<BR>"

                'V_debito = CalculaIntervaloHoras(V_Tot_Base + V_TOT_Dia_Traducao)

        ELSE

                V_debito = #00:00:00#

        END IF

        response.Write CalculaIntervaloHoras(V_debito)

        %></td>

        <td>

        <%

        IF V_Tot_Base < CalculaIntervaloHoras(V_TOT_Dia_Traducao) THEN

        response.Write V_Tot_Base & "<BR>" & CalculaIntervaloHoras(V_TOT_Dia_Traducao)& "<BR>"

        '       V_Credito = CalculaIntervaloHoras(V_TOT_Dia_Traducao - CDATE(V_Tot_Base))

        ELSE

                V_Credito = #00:00:00#

        END IF

        %>

ASP
</td>

  </tr>

 

</table>

<p> </p>

<p><BR>

</p>

<table width="98%"  border="1" align="center">

  <tr class="style11">

        <td colspan="4"><div align="center" class="style16">LEGENDA</div></td>

  </tr>

  <tr class="style11">

        <td width="25%" bgcolor="#FFFFCC"><div align="center"><span class="style15">Sábados, Domingos e Feriados</span></div></td>

        <td width="25%" bgcolor="#00CCFF"><div align="center"><span class="style15">Dia Atual</span></div></td>

        <td width="25%" bgcolor="#00FF99"><div align="center"><span class="style15">Férias</span></div></td>

        <td width="25%" bgcolor="#FFCC00"><div align="center">Falta por Doença</div></td>

  </tr>

</table>

<p align="center">

  <%

else 'Executa a página

%>

       

  <span class="style1">Não existem registros a serem exibidos.</span>

  <%

end if

%>

  <%

Conexao.Close

Set RS = Nothing

Set Conexao = Nothing

%>

</p>

<div align="center"></div>

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu montei um que ele mostra a diferença em MINUTOS.

 

segue o código ai você só muda as variaveis.

 

no caso o meu pega uma hora do banco de dados,

caso você não queira isso, é só trocar pela hora desejada.

 

ASP
<%

Cod_Noticia = rsNoticia("Cod_Noticia")

foto = rsNoticia("foto")

titulo = mid(rsNoticia("Titulo").Value,1,30)

tempototal = DateDiff("n", rsNoticia("Hora"), Time())

data = rsNoticia("data")

dataatual = date()

%>

 

<% if tempototal =0 then

Response.write "<table width='95%' border='0' cellspacing='1' cellpadding='1'><tr><td width='5%' align='right' valign='middle'><img src='image/bolinha-vermelha.jpg' width='10' height='10'></td><td width='80%'><a href='noticias.asp?Cod_Noticia="& Cod_Noticia &"' class='fonte_noticia' id='azul'>"& titulo &"</td><td width='20%' align='right' class='fonte' id='red2'>Nova</td></tr></table>"

elseif data <dataatual & tempototal <60 then

Response.write ""

else

Response.write "<table width='95%' border='0' cellspacing='1' cellpadding='1'><tr><td width='5%' align='right' valign='middle'><img src='image/bolinha-vermelha.jpg' width='10' height='10'></td><td width='80%'><a href='noticias.asp?Cod_Noticia="& Cod_Noticia &"' class='fonte_noticia' id='azul'>"& titulo &"</td><td width='20%' align='right' class='fonte' id='red2'>"& tempototal &" Min</td></tr></table>" end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente deve ser um cálculo bem simples mas não estou conseguindo chegar nele, vejam

 

como resultado tenho

 

138:00:00

116:58:05

 

debito = 138:00:00 - 116:58:05

 

como string

 

usando o Cdate por exemplo recebo a mensagem de erro de tipos imcompatíveis.

 

o DateDiff funciona muito bem com as horas quando as mesmas não passam de 24h mas quando tenho um somatório tipo o exemplificado acima, por algum motivo, ou por falta de conhecimento meu, a função não exibe valores corretos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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