Verificar quando um periodo conflita com outro periodo
Ex: 01/01/2012 - 05/05/2012
O periodo 01/02/2012 a 15/02/2012 esta dentro do periodo base
O periodo 05/05/2012 a 21/05/2012 esta dentro do periodo base
O periodo 01/07/2012 a 08/07/2012 esta fora do periodo base
---------------------------------
Modelando uma solução
DI - Data Base Inicial
DF - Data Base Final
I - Data Inicial
F - Data Final
Casos onde existe conflito de periodos
DI DF
I F | R1
I | F | R1
I | F R1
I | | F R2
I F | R1
I F R1
I | F R1
| I F | R1
| I F R1
| I | F R1
| I F R1
IF | R1
| IF R1
Extrai-se a regra :
{
[ (I between DI and DF ) or (F between DI and DF) ] R1
OR
[ (I < DI) and (F > DF) ] R2
}
Comments