Ir para conteúdo

Arquivado

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

crisaum

Contador de dias CIPA

Recommended Posts

galera, eu to fazendo um contador de dias sem acidentes da CIPA e estou com um probleminha, preciso tirar os feriados e finais de semana do resultado final, pois a empresa trabalha de segunda a sexta apenas.

 

Eis o código:

 

<%
data = select_Campo("SELECT data FROM cipa","data",SGBD)
recorde = select_Campo("SELECT recorde FROM cipa","recorde",SGBD)

dias = DateDiff("d",cdate(data),cdate(now))

if len(dias) < 4 then
	while not len(dias) = 4
		dias = 0 & dias
	wend
end if

atual_dia01 = left(dias,1)
atual_dia02 = left(dias,2)
atual_dia02 = right(atual_dia02,1)
atual_dia03 = right(dias,2)
atual_dia03 = left(atual_dia03,1)
atual_dia04 = right(dias,1)

recorde_dia01 = left(recorde,1)
recorde_dia02 = left(recorde,2)
recorde_dia02 = right(recorde_dia02,1)
recorde_dia03 = right(recorde,2)
recorde_dia03 = left(recorde_dia03,1)
recorde_dia04 = right(recorde,1)

%>
<div id="home_cipa">

	<div id="home_cipa_titulo">CIPA</div>
    
    <div id="home_cipa_contador">
    	<div id="home_cipa_contador_frase01">Estamos trabalhando há</div>
        <center><div id="home_cipa_contador_contador01"><span class="cipa_numero"><%=atual_dia01%></span><span class="cipa_numero"><%=atual_dia02%></span><span class="cipa_numero"><%=atual_dia03%></span><span class="cipa_numero"><%=atual_dia04%></span> dias</div></center>
        <div id="home_cipa_contador_frase02">sem acidentes com afastamento.<br />Nosso recorde é de</div>
        <center><div id="home_cipa_contador_contador02"><span class="cipa_numero"><%=recorde_dia01%></span><span class="cipa_numero"><%=recorde_dia02%></span><span class="cipa_numero"><%=recorde_dia03%></span><span class="cipa_numero"><%=recorde_dia04%></span> dias</div></center>
    </div>

</div>

<br clear="all" />

Está tudo funcionando certinho, só falta mesmo deixar apenas dias úteis no contador, alguém tem uma luz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

feriados acho que você terá que cadastra-los num bd e fazer um select que exclua os feriados, ou se o dia e mes forem iguais ao dia atual, não somar.

Sabados e domingos, se pegar o weekdayname e comparar com a data atual já deve dar para resolver.

Compartilhar este post


Link para o post
Compartilhar em outros sites

feriados acho que você terá que cadastra-los num bd e fazer um select que exclua os feriados, ou se o dia e mes forem iguais ao dia atual, não somar.

Sabados e domingos, se pegar o weekdayname e comparar com a data atual já deve dar para resolver.

 

Fala Vinicius, antes de mais nada, valeu pela resposta!!

 

Eu acho que resolve sim, mas tava pensando se de repente não exista alguma referência aos feriados em alguma função, referenciando com o LCID, será que é viagem minha?? hehehehe

 

De qualquer forma, eu vou fazer isso, pelo menos retirando os finais de semana já vai ficar bem mais próximo do ideal.

 

Mesmo que não exista nada parecido com o que eu tava tentando fazer, quem precisar já tem de onde partir http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que infelizmente não tem isso do LCID e feriados, pois é algo que pode variar bastante, por exemplo: 9 de julho é um feriado estadual (SP), o dia da consciencia negra é um "feriado" nacional, mas ainda tem vários lugares que não param por causa dessa data, pois é relativamente recente se comparada a feriados mais "consagrados" como 7 de setembro por exemplo.

Sem falar nos feriados municipais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que infelizmente não tem isso do LCID e feriados, pois é algo que pode variar bastante, por exemplo: 9 de julho é um feriado estadual (SP), o dia da consciencia negra é um "feriado" nacional, mas ainda tem vários lugares que não param por causa dessa data, pois é relativamente recente se comparada a feriados mais "consagrados" como 7 de setembro por exemplo.

Sem falar nos feriados municipais.

 

É verdade, eu não tinha pensado por esse lado, tinha pensado em considerar apenas os nacionais, mais tudo bem. Valeu pela ajuda!

 

[]s

 

De qualquer forma, acho que é uma coisa que outras pessoas podem utilizar, segue o código final excluindo os finais de semana:

 

<%

SGBD = conecta()

data = select_Campo("SELECT data FROM cipa","data",SGBD)
recorde = select_Campo("SELECT recorde FROM cipa","recorde",SGBD)

data_inicial = data
data_final = date()
dias_uteis = 0
weekend = 0

Function datas(data_inicial,data_final)
	diferenca = DateDiff("d",data_inicial,data_final)
	dia = Weekday(data_inicial)
	For contador = 0 to diferenca
		If dia = 1 Then weekend = weekend + 1
		If dia = 7 Then weekend = weekend + 1
			dia = dia + 1
		If dia > 7 Then dia = 1
	Next
	dias_uteis = diferenca - weekend
End Function

datas data_inicial,data_final

if len(dias_uteis) < 4 then
	while not len(dias_uteis) = 4
		dias_uteis = 0 & dias_uteis
	wend
end if

atual_dia01 = left(dias_uteis,1)
atual_dia02 = left(dias_uteis,2)
atual_dia02 = right(atual_dia02,1)
atual_dia03 = right(dias_uteis,2)
atual_dia03 = left(atual_dia03,1)
atual_dia04 = right(dias_uteis,1)

recorde_dia01 = left(recorde,1)
recorde_dia02 = left(recorde,2)
recorde_dia02 = right(recorde_dia02,1)
recorde_dia03 = right(recorde,2)
recorde_dia03 = left(recorde_dia03,1)
recorde_dia04 = right(recorde,1)

%>

<div id="home_cipa">

	<div id="home_cipa_titulo">CIPA</div>
    
    <div id="home_cipa_contador">
    	<div id="home_cipa_contador_frase01">Estamos trabalhando há</div>
        <center><div id="home_cipa_contador_contador01"><span class="cipa_numero"><%=atual_dia01%></span><span class="cipa_numero"><%=atual_dia02%></span><span class="cipa_numero"><%=atual_dia03%></span><span class="cipa_numero"><%=atual_dia04%></span> dias</div></center>
        <div id="home_cipa_contador_frase02">sem acidentes com afastamento.<br />Nosso recorde é de</div>
        <center><div id="home_cipa_contador_contador02"><span class="cipa_numero"><%=recorde_dia01%></span><span class="cipa_numero"><%=recorde_dia02%></span><span class="cipa_numero"><%=recorde_dia03%></span><span class="cipa_numero"><%=recorde_dia04%></span> dias</div></center>
    </div>

</div>

<br clear="all" />

Pode fechar o tópico e passa a régua!! hehehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia a todos,

 

sei que o topico é bem antigo mais to precisando de uma ajuda no meu tranalho.

 

tenho um script de logon que roda quando os usuarios fazem logon no dominio, e queria incluir um contador de dias da cipa.

 

essa é a msg que os usuarios visualizam quando fazem logon.

 

'Boas Vindas Ao Usuario

Set objUser = WScript.CreateObject("WScript.Network")
wuser=objUser.UserName
If Time <= "12:00:00" Then
MsgBox ("Bom Dia "+Wuser+", você acaba de ingressar na rede corporativa, por favor respeite as políticas de segurança e bom trabalho!")
ElseIf Time >= "12:00:01" And Time <= "18:00:00" Then
MsgBox ("Boa Tarde "+Wuser+", você acaba de ingressar na rede corporativa, por favor respeite as políticas de segurança e bom trabalho!")
Else
MsgBox ("Boa Noite "+wuser+", você acaba de ingressar na rede corporativa, por favor respeite as políticas de segurança e bom trabalho!")
End If

 

e queria incluir o contador no espaço em vermelho

 

'Boas Vindas Ao Usuario

Set objUser = WScript.CreateObject("WScript.Network")
wuser=objUser.UserName
If Time <= "12:00:00" Then
MsgBox ("Bom Dia "+Wuser+", Estamos a tantos dias sem acidentes. Você acaba de ingressar na rede corporativa, por favor respeite as políticas de segurança e bom trabalho!")
ElseIf Time >= "12:00:01" And Time <= "18:00:00" Then
MsgBox ("Boa Tarde "+Wuser+", Estamos a tantos dias sem acidentes. Você acaba de ingressar na rede corporativa, por favor respeite as políticas de segurança e bom trabalho!")
Else
MsgBox ("Boa Noite "+wuser+", Estamos a tantos dias sem acidentes. você acaba de ingressar na rede corporativa, por favor respeite as políticas de segurança e bom trabalho!")
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro ele gera ?

 

e quando for um post muito antigo, aconselho a criar um novo tópico

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o dateDiff para subtrair atraves do Now (data atual ), mas dae armazene a última data sem acidente no cookie e depois faça o datediff e exiba

Compartilhar este post


Link para o post
Compartilhar em outros sites

Access, SQL server, MySQL qualquer bd, pois vc fará na string SQL

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.