Jump to content
asacap1000

Calculo de datas e horas

Recommended Posts

Galera preciso de uma ajuda, não sei mais nem como procurar a cabeça está dando nó kkkk.

Tenho projeto que estará controlando o tempo de acesso no estabelecimento impondo um limite de 100 minutos.

Dentro do mesmo dia estou conseguindo realizar os calculos normais, porém se o usuário entrar 23:00 ele terá que sair no máximo às 00:40.

O horário eu consegui montar conforme o select abaixo a data mantém a mesma da entrada.

select aces.seqreg SEQUENCIA,
       aces.diracc SENTIDO,
       
	   aces.horacc MINUTOS, --acesso em minutos 
	   (aces.horacc + 100) LIMITE, --limite de acesso foi adicionado mais 100 minutos

	   CONVERT(varchar(2), Day(aces.datacc)) + '/' +
       CONVERT(varchar(2), MONTH(aces.datacc)) + '/' +
       CONVERT(varchar(4), Year(aces.datacc)) + '  ' +
       right( '00' + cast(aces.horacc / 60 as varchar), 2) + ':' +
       right( '00' + cast(aces.horacc - ((aces.horacc / 60) * 60) as varchar), 2 ) AS HORA,--data e hora  de entrada

	CONVERT(varchar(2), Day(aces.datacc)) + '/' +
    CONVERT(varchar(2), MONTH(aces.datacc)) + '/' +
    CONVERT(varchar(4), Year(aces.datacc)) + '  ' +
    right( '00' + cast( ((aces.horacc + 100)%1440)/60 as varchar), 2) + ':' +
    right( '00' + cast(((aces.horacc + 100)%1440)%60 as varchar), 2 ) 'SAIDA', --data e hora que deve sair
	
	Convert(Char(5),GetDate(),114) ATUAL
   
  from kansas.kansas.r070ara aces
  LEFT JOIN kansas.kansas.r090mvi mv
    on aces.numcra = mv.numcra
   and aces.numdoc = mv.numdoc
 where CONVERT(DATETIME, CONVERT(NVARCHAR(10), aces.datacc, 103), 103) >=
       CONVERT(DATETIME, '29/09/2018', 103)
   and CONVERT(DATETIME, CONVERT(VARCHAR(10), aces.datacc, 103), 103) <=
       CONVERT(DATETIME, '29/09/2018', 103)
   and (aces.coddsp like '1')
   and aces.numdoc = '325605397'
 order by aces.seqreg, aces.nompes, aces.coddsp

O problema está nesta parte do select:

 

CONVERT(varchar(2), Day(aces.datacc)) + '/' +
    CONVERT(varchar(2), MONTH(aces.datacc)) + '/' +
    CONVERT(varchar(4), Year(aces.datacc)) + '  ' +
    right( '00' + cast( ((aces.horacc + 100)%1440)/60 as varchar), 2) + ':' +
    right( '00' + cast(((aces.horacc + 100)%1440)%60 as varchar), 2 ) 'SAIDA', --data e hora que deve sair

A parte de data ele não traz a data seguinte na imagem abaixo a saída deveria ser 30/09/2018 01:27

 

image.png.99e360d4568aa033ae2a5b1a3396e321.png

 

Alguém poderia me dar uma força tenho que entregar essa semana este projeto no trabalho e está muito punk a bagaça...

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By david2007
      Endpointer Framework é um Framework PHP para construção de APIs REST com Programação Procedural.
       
      http://endpointer.com
       
      Endpointer Framework é Código Aberto sob a licença MIT
       

    • By MarcosAntonio
      boa tarde. 
      Estou precisando de um Select que retorne uma soma que ao chegar a determinado valor ela reinicie e continue fazendo sucessivamente
       select   pedido,   volume,   limite,   SUM(volume) over (order by pedido ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) saldo   from pedidos  group by pedido o select está retornando assim porém quero que toda vez que chegue ou passe do limite resete o saldo, por exemplo parar no 100 que é o limite e começar um novo saldo
      pedido     volume    limite    saldo  1             70            100        70  2             10            100        80  3             20            100        100  4             50            100        150  5             30            100        180  
      preciso que ele soma o volume enquanto o saldo seja <= que o "limite", quando passar pare de somar e comece outra soma começando do 0, como no exemplo abaixo.
      pedido    volume    limite    saldo  1             70            100        70  2             10            100        80  3             20            100        100  4             50            100        50  5             30            100        80  
    • By lezão
      Boa tarde, meus amigos!
      Td bem com vcs?
       
      Tenho um Select em ASP que tbm trabalho que roda normal.
      "SELECT * FROM Banners order by RND(INT(NOW*id_banners)-NOW*id_banners)"  
      E gostaria que roda se em PHP tbm mas infelizmente não estou conseguindo realizar esse acontecimento.
      "SELECT * FROM Produtos where Banners = 'Sim' order by RND(INT(NOW*Banners)-NOW*Banners)"  
      Desde ja muito obrigado!
       
    • By fideles
      Fala pessoal, tudo tranquilo?
       
      Venho recorrer a vós pois já não consigo mais.... 
       
      Tenho um campo select com algumas opções de nome.
      <select class="seleciona_nome"> <option value="Joao">Joao</option> <option value="Julio">Julio</option> <option value="Pedro">Pedro</option> </select>  
      E um campo input do tipo "text"
      <input type="text" class="opcaoSelect" autocomplete="off" disabled="disabled">  
      Preciso que ao selecionar uma opção do "Select" seja auto preenchido no input. Tenho um codigo que funcionava e não sei mais porque não funciona, veja abaixo;
       
      <script> $(document).ready(function(){ $('.seleciona_nome').on('change', addOption); }); function addOption(){ $('.opcaoSelect').val(this.value); } </script>  
      Peço ajuda ai caso alguém consiga me ajudar a entender porque este não funciona mais.
       
      Obrigado.
       
×

Important Information

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