class MotivoReinternacaoRN extends BaseBusiness {

	public void preUpdateMpmMotivoReinternacao(MpmMotivoReinternacao mpmMotivoReinternacaoOld,
			MpmMotivoReinternacao mpmMotivoReinternacao) throws ApplicationBusinessException {
		RapServidores servidorLogado = getServidorLogadoFacade().obterServidorLogado();

		// valida ativação
		if (mpmMotivoReinternacaoOld.getIndSituacao().equals(DominioSituacao.I)
				&& mpmMotivoReinternacao.getIndSituacao().equals(DominioSituacao.A)) {
			throw new ApplicationBusinessException(ComissoesExceptionCode.MPM_02685);
		}

		if (servidorLogado == null) {
			throw new ApplicationBusinessException(ComissoesExceptionCode.RAP_00175);
		}
		mpmMotivoReinternacao.setServidor(servidorLogado);

		// MPM_02831
		if (!CoreUtil.igual(mpmMotivoReinternacao.getDescricao(), mpmMotivoReinternacaoOld.getDescricao())) {
			throw new ApplicationBusinessException(ComissoesExceptionCode.MPM_02831);
		}

		// MPM_02851
		if (mpmMotivoReinternacao.getIndOutros() && !mpmMotivoReinternacao.getIndExigeComplemento()) {
			throw new ApplicationBusinessException(ComissoesExceptionCode.MPM_02851);
		}
	}

}