Boa tarde amigos,
Estou enfrentando um problema, eu preciso calcular diárias de Hotel, o detalhe é que diárias de Hotel fecham ao meio dia e não a meia-noite, algum dos amigos tem alguma experiência ou função que faça esse cálculo?
Nesse cálculo é necessário calcular se a pessoa entrar as 9:00 da manhã a primeira diária fecha as 12:00 e se a pessoa sair no dia seguinte as 12:01 deverá cobrar 3 diárias, das 9:00 as 12:00, das 12:00 as 12:00 do outro dia e das 21:00 as 12:01, 3 diárias, é claro que terá a opção de desconto pois ninguém pagaria 1 minuto de diária, mas ai nesse caso é um detalhe.
Calcular a diária a partir da 00:00 é fácil.
Obrigado.
Valteçom
Uberaba MG Brasil
Calculo de diárias de Hotel
Moderador: Moderadores
-
valtecomjose
- Usuário Nível 1

- Mensagens: 2
- Registrado em: 21 Set 2019 13:22
- Localização: uberaba/mg
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Calculo de diárias de Hotel
Não entendi, à primeira vista, suas palavras já disseram a solução.
Supondo que entrou as 9 e saiu as 15.... 2 diárias.
Código: Selecionar todos
dDiarias := dSaida - dEntrada
IF hEntrada < "12:00"
dDiarias += 1
ENDIF
IF hSaida > "12:00"
dDiarias += 1
ENDIF
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Calculo de diárias de Hotel
Nem tanto, seria a mesma coisa.valtecomjose escreveu:Calcular a diária a partir da 00:00 é fácil.
Então... diárias são dias... diferença entre uma data e outra.
O horário, só afeta entrada e saída.
Se entrou meia noite... não sei se considera 23:59 do dia ou 00:00 do dia seguinte.
Se considerar dia anterior: vai ter um dia de diferença, mas não vai somar nada porque entrou depois das 12
Se considerar dia seguinte: vão ser zero dias, mas vai somar 1 porque entrou antes das 12
Ou seja, nos dois casos paga uma diária, considerando que saiu antes do meio dia.
Isso mostra uma coisa que tenho falado nos últimos posts: a gente que complica
Praticamente foi seu texto em formato de programação.
A programação, e o avanço da programação, é apenas tentar deixar tudo o mais "humano" possível.
É parar de pensar em bits e bytes, e pensar no jeito humano.
Nesse mencionado.Nesse cálculo é necessário calcular se a pessoa entrar as 9:00 da manhã a primeira diária fecha as 12:00 e se a pessoa sair no dia seguinte as 12:01 deverá cobrar 3 diárias,
dia seguinte - dia anterior = 1
entrada antes do meio dia = soma + 1
saída depois do meio dia = soma + 1
resultado = 3 diárias
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Calculo de diárias de Hotel
Pensei em outros casos: entrou as 9 e saiu as 10, ou entrou as 15 e saiu as 16
nos dois casos, diferenças de dias zero.
no primeiro caso: entrou antes das 9, soma 1
no segundo caso: saiu depois das 12, soma 1
Então... nos dois casos cobra uma diária.
À primeira vista, atende qualquer situação.
nos dois casos, diferenças de dias zero.
no primeiro caso: entrou antes das 9, soma 1
no segundo caso: saiu depois das 12, soma 1
Então... nos dois casos cobra uma diária.
À primeira vista, atende qualquer situação.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
valtecomjose
- Usuário Nível 1

- Mensagens: 2
- Registrado em: 21 Set 2019 13:22
- Localização: uberaba/mg
Calculo de diárias de Hotel
Amigo José Quintas,
Então, pode acontecer de entrar as 9:00 e sair as 10:00, ai hoje - hoje daria zero e eu teria de acrescer 1, mas poderá acontecer de entrar as 10:00 e sair as 14:00 continua sendo hoje - hoje resultando zero, mas ai seriam 2 diárias, pois ultrapassou 12:00.
Mas seus esclarecimentos já ajudou bastante.
Vou mexer no meu código.
Abraços.
Valteçom
Uberaba MG Brasil
Então, pode acontecer de entrar as 9:00 e sair as 10:00, ai hoje - hoje daria zero e eu teria de acrescer 1, mas poderá acontecer de entrar as 10:00 e sair as 14:00 continua sendo hoje - hoje resultando zero, mas ai seriam 2 diárias, pois ultrapassou 12:00.
Mas seus esclarecimentos já ajudou bastante.
Vou mexer no meu código.
Abraços.
Valteçom
Uberaba MG Brasil
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
Calculo de diárias de Hotel
vc tem que usar a data e a hora tambem
tenho um sistema de mótel, é bem parecido com hotel, só não tem os critérios de diaria igual a hotel
mais o principio de contar tempo é o mesmo, tipo, pernoites, horas excedentes etc etc
tenho um sistema de mótel, é bem parecido com hotel, só não tem os critérios de diaria igual a hotel
mais o principio de contar tempo é o mesmo, tipo, pernoites, horas excedentes etc etc
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Calculo de diárias de Hotel
Então... o cálculo vai dar exatamente isso.valtecomjose escreveu:Então, pode acontecer de entrar as 9:00 e sair as 10:00, ai hoje - hoje daria zero e eu teria de acrescer 1, mas poderá acontecer de entrar as 10:00 e sair as 14:00 continua sendo hoje - hoje resultando zero, mas ai seriam 2 diárias, pois ultrapassou 12:00.
Podem ficar zero, 1, 2, 60, 500 dias, tanto faz.
A quantidade de dias é a diferença entre datas.
Mas....
Na entrada, se entrou antes do meio dia soma 1
Na saída, se saiu depois do meio dia soma 1
Não é uma ou outra, são as duas SEMPRE.
Das 9 as 10.... soma 1, porque caiu numa condição
Das 10 as 14... soma 2, porque caiu nas duas condições
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/