Clipper On Line • Ver Tópico - Calculo de diárias de Hotel

Calculo de diárias de Hotel

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Calculo de diárias de Hotel

Mensagempor valtecomjose » 21 Set 2019 14:16

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
valtecomjose
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 2
Data de registro: 21 Set 2019 13:22
Cidade/Estado: uberaba/mg
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Calculo de diárias de Hotel

Mensagempor JoséQuintas » 21 Set 2019 15:59

Não entendi, à primeira vista, suas palavras já disseram a solução.

dDiarias := dSaida - dEntrada
IF hEntrada < "12:00"
   dDiarias += 1
ENDIF
IF hSaida > "12:00"
   dDiarias += 1
ENDIF


Supondo que entrou as 9 e saiu as 15.... 2 diárias.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Calculo de diárias de Hotel

Mensagempor JoséQuintas » 21 Set 2019 18:02

valtecomjose escreveu:Calcular a diária a partir da 00:00 é fácil.


Nem tanto, seria a mesma coisa.

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 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,


Nesse mencionado.

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, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Calculo de diárias de Hotel

Mensagempor JoséQuintas » 21 Set 2019 18:11

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Calculo de diárias de Hotel

Mensagempor valtecomjose » 22 Set 2019 10:43

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
valtecomjose
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 2
Data de registro: 21 Set 2019 13:22
Cidade/Estado: uberaba/mg
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Calculo de diárias de Hotel

Mensagempor Nascimento » 22 Set 2019 10:50

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
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

Calculo de diárias de Hotel

Mensagempor JoséQuintas » 22 Set 2019 14:20

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.


Então... o cálculo vai dar exatamente isso.

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, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro