class ManterAltaConsultoriaRN extends BaseBusiness {

	@SuppressWarnings("PMD.NPathComplexity")
	protected void verificarPermissaoAlteracao(
			MpmAltaConsultoria altaConsultoria,
			MpmAltaConsultoria antigoAltaConsultoria)
			throws ApplicationBusinessException {

		Integer antigoScnSeq = antigoAltaConsultoria.getSolicitacaoConsultoria() != null
				&& antigoAltaConsultoria.getSolicitacaoConsultoria().getId() != null
				&& antigoAltaConsultoria.getSolicitacaoConsultoria().getId().getSeq() != null ?

		antigoAltaConsultoria.getSolicitacaoConsultoria().getId().getSeq() : Integer.valueOf(0);

		Integer novoScnSeq = altaConsultoria.getSolicitacaoConsultoria() != null
				&& altaConsultoria.getSolicitacaoConsultoria().getId() != null
				&& altaConsultoria.getSolicitacaoConsultoria().getId().getSeq() != null 
						? altaConsultoria.getSolicitacaoConsultoria().getId().getSeq()
						: Integer.valueOf(0);

		Integer antigoScnAtdSeq = antigoAltaConsultoria.getSolicitacaoConsultoria() != null
				&& antigoAltaConsultoria.getSolicitacaoConsultoria().getPrescricaoMedica() != null
				&& antigoAltaConsultoria.getSolicitacaoConsultoria().getPrescricaoMedica().getId() != null
				&& antigoAltaConsultoria.getSolicitacaoConsultoria().getPrescricaoMedica().getId().getAtdSeq() != null 
					? antigoAltaConsultoria.getSolicitacaoConsultoria().getPrescricaoMedica().getId().getAtdSeq() 
					: Integer.valueOf(0);

		Integer novoScnAtdSeq = altaConsultoria.getSolicitacaoConsultoria() != null
				&& altaConsultoria.getSolicitacaoConsultoria().getPrescricaoMedica() != null
				&& altaConsultoria.getSolicitacaoConsultoria().getPrescricaoMedica().getId() != null
				&& altaConsultoria.getSolicitacaoConsultoria().getPrescricaoMedica().getId().getAtdSeq() != null 
					? altaConsultoria.getSolicitacaoConsultoria().getPrescricaoMedica().getId().getAtdSeq()
					: Integer.valueOf(0);

		Short novoEspSeq = altaConsultoria.getAghEspecialidade().getSeq();

		Short antigoEspSeq = antigoAltaConsultoria.getAghEspecialidade().getSeq();

		if ((CoreUtil.modificados(altaConsultoria.getId().getAsuApaAtdSeq(),

				antigoAltaConsultoria.getId().getAsuApaAtdSeq())
				|| CoreUtil.modificados(altaConsultoria.getId().getAsuApaSeq(),
				antigoAltaConsultoria.getId().getAsuApaSeq())
				|| CoreUtil.modificados(altaConsultoria.getId().getAsuSeqp(),
				antigoAltaConsultoria.getId().getAsuSeqp())
				|| CoreUtil.modificados(altaConsultoria.getId().getSeqp(),
				antigoAltaConsultoria.getId().getSeqp())
				|| CoreUtil.modificados(altaConsultoria.getDescConsultoria(),
				antigoAltaConsultoria.getDescConsultoria())
				|| altaConsultoria.getDthrConsultoria().getTime() != antigoAltaConsultoria.getDthrConsultoria().getTime()
				|| CoreUtil.modificados(altaConsultoria.getIndCarga(),antigoAltaConsultoria.getIndCarga())
				|| novoScnAtdSeq.intValue() != antigoScnAtdSeq.intValue()
				|| novoScnSeq.intValue() != antigoScnSeq.intValue() || novoEspSeq.shortValue() != antigoEspSeq.shortValue())
				&& (altaConsultoria.getIndCarga().booleanValue())) {

			ManterAltaConsultoriaRNExceptionCode.MPM_02640.throwException();
		}
	}

}