###############################################################
Trabalhando com datas, horas, verificando diferenças entre elas e somando minutos
###############################################################
Procedure ws_verifica_hora_servidor(DataHoraMobile)
Q is int = 0
ok, DataHoraValida, OkConn is boolean = False
Resultado is string= ""
dsQryDataHora is Data Source
DataHoraServidor is string = ""
OkConn = HOpenConnection(ConnNativa)
DataHoraServidorMaior, DataHoraServidorMenor, DataHoraMobileCompara is DateTime
IF OkConn = True AND DataHoraMobile <> "" AND DataHoraMobile <> Null THEN
ok = HExecuteSQLQuery(dsQryDataHora, ConnNativa, hQueryWithoutCorrection,"Select CURRENT_TIMESTAMP as datahoraatual")
IF ok = True THEN
FOR EACH dsQryDataHora
DataHoraServidor = dsQryDataHora.datahoraatual
END
END
IF Length(DataHoraMobile) < 17 THEN
Q = 17 - Length(DataHoraMobile)
DataHoraMobile = DataHoraMobile + RepeatString("0", Q)
END
IF Length(DataHoraServidor) < 17 THEN
Q = 17 - Length(DataHoraServidor)
DataHoraServidor = DataHoraServidor + RepeatString("0", Q)
END
DataHoraServidorMaior..Year = Middle(DataHoraServidor,01,04)
DataHoraServidorMaior..Month = Middle(DataHoraServidor,05,02)
DataHoraServidorMaior..Day = Middle(DataHoraServidor,07,02)
DataHoraServidorMaior..Hour = Middle(DataHoraServidor,09,02)
DataHoraServidorMaior..Minute = Middle(DataHoraServidor,11,02)
DataHoraServidorMaior..Minute += 30
DataHoraServidorMenor..Year = Middle(DataHoraServidor,01,04)
DataHoraServidorMenor..Month = Middle(DataHoraServidor,05,02)
DataHoraServidorMenor..Day = Middle(DataHoraServidor,07,02)
DataHoraServidorMenor..Hour = Middle(DataHoraServidor,09,02)
DataHoraServidorMenor..Minute = Middle(DataHoraServidor,11,02)
DataHoraServidorMenor..Minute -= 30
DataHoraMobileCompara..Year = Middle(DataHoraMobile,01,04)
DataHoraMobileCompara..Month = Middle(DataHoraMobile,05,02)
DataHoraMobileCompara..Day = Middle(DataHoraMobile,07,02)
DataHoraMobileCompara..Hour = Middle(DataHoraMobile,09,02)
DataHoraMobileCompara..Minute = Middle(DataHoraMobile,11,02)
IF Val(DataHoraMobileCompara) >= Val(DataHoraServidorMaior) OR Val(DataHoraMobileCompara) <= Val(DataHoraServidorMenor) THEN
DataHoraValida = False
ELSE
DataHoraValida = True
END
END
Resultado += "<Xml><Retorno>"
Resultado += "<AbriuConnexao>" + OkConn + "</AbriuConnexao>"
Resultado += "<DataHoraServidor>" + DataHoraServidor + "</DataHoraServidor>"
Resultado += "<DataHoraValida>" + DataHoraValida + "</DataHoraValida>"
IF OkConn = True
Resultado += ws_conexao_sucesso("Tabelas")
ELSE
Resultado += ws_conexao_falha("Tabelas")
END
OkConn = HCloseConnection(ConnNativa)
Resultado += "<FechouConnexao>" + OkConn + "</FechouConnexao>"
Resultado += "</Retorno></Xml>"
RESULT(Resultado)
|
Nenhum comentário:
Postar um comentário