public static boolean isPeriodoDentroMesSeguinte(FeriasPeriodo periodoNEW, FeriasPeriodo periodoDB) {
//Representa data com período mês/ano seguinte ao atual. Ex.: se o mês atual é maio/2011, representa junho/2011
Calendar dataMesSeguinteAoAtual = getDataMesSeguinte();
//Data inicial das férias original (no banco de dados), ou seja, a ques está sendo alterada
Calendar inicioOriginal = Calendar.getInstance();
inicioOriginal.setTime(periodoDB.getInicio());
//Nova data inicial do período de férias
Calendar inicioAlterado = Calendar.getInstance();
inicioAlterado.setTime(periodoNEW.getInicio());
//Verificação da RN08 - É possível alterar a data de início das férias do mês seguinte que possua movimentação financeira desde que a data de início permaneça no mesmo mês de gozo das férias.
if (inicioOriginal.get(Calendar.MONTH) == dataMesSeguinteAoAtual.get(Calendar.MONTH) && inicioOriginal.get(Calendar.YEAR) == dataMesSeguinteAoAtual.get(Calendar.YEAR)){
//Se o período inicial das férias inicia do mês seguinte, elas podem ser alteradas, porém devem permanecer no mês seguinte
if (inicioOriginal.get(Calendar.MONTH) != inicioAlterado.get(Calendar.MONTH) || inicioOriginal.get(Calendar.YEAR) != inicioAlterado.get(Calendar.YEAR)){
//Se a data de início não tiver dentro do próprio mês, ou seja, mes posterior à data atual
//Ex.: se o mês atual é maio/2011, e está alterando parcelas de férias que iniciam em junho/2011, as parcelas devem permanecer iniciando em junho/2011
//Está infringindo a RN08
return false;
}
}
return true;
}