class ManterAltaSumarioON extends BaseBusiness {

	public void calcularIdade(AltaSumarioVO altaSumarioVO) throws ApplicationBusinessException {

		Integer anos = DateUtil.obterQtdAnosEntreDuasDatas(altaSumarioVO.getDataNascimento(), altaSumarioVO.getDataAlta());
		Integer meses = DateUtil.obterQtdMesesEntreDuasDatas(altaSumarioVO.getDataNascimento(), altaSumarioVO.getDataAlta())%12;
		Integer dias = 0;
		String idadeFormatado = null;

		Calendar dataAlta = Calendar.getInstance();
		Calendar dataNascimento = Calendar.getInstance();

		if (altaSumarioVO.getDataAlta() != null) {
			dataAlta.setTime(altaSumarioVO.getDataAlta());
		} else {
			dataAlta.setTime(new Date());
		}
		dataNascimento.setTime(altaSumarioVO.getDataNascimento());

		if (dataAlta.get(Calendar.DAY_OF_MONTH) < dataNascimento.get(Calendar.DAY_OF_MONTH)) {
			int lastDayMonth = dataNascimento.getActualMaximum(Calendar.DAY_OF_MONTH);
			dias = lastDayMonth - dataNascimento.get(Calendar.DAY_OF_MONTH)
			+ dataAlta.get(Calendar.DAY_OF_MONTH);
		} else {
			dias = dataAlta.get(Calendar.DAY_OF_MONTH) - dataNascimento.get(Calendar.DAY_OF_MONTH);
		}

		if (anos == 0) {
			idadeFormatado = getLabelMes(meses) + getLabelDias(dias);
		} else if (anos > 1) {
			idadeFormatado = anos.toString() + " anos " + getLabelMes(meses);
		} else if (anos == 1) {
			idadeFormatado = anos.toString() + " ano " + getLabelMes(meses);
		}
		altaSumarioVO.setIdadeAnos(anos.shortValue());
		altaSumarioVO.setIdadeMeses(meses);
		altaSumarioVO.setIdadeDias(dias);
		altaSumarioVO.setIdadeFormatado(idadeFormatado);
	}

}