class SolicitacaoCompraON extends BaseBusiness {

	public void validaTipoDespesaAceitaMaterial(
			ScoSolicitacaoDeCompra solicitacaoDeCompra)
			throws ApplicationBusinessException {
		FccCentroCustos centroCusto = solicitacaoDeCompra
				.getCentroCustoAplicada();
		if (centroCusto == null) {
			throw new ApplicationBusinessException(
					SolicitacaoCompraRNExceptionCode.CENTRO_CUSTO_NAO_ENCONTRADO);
		}

		if (solicitacaoDeCompra.getMaterial() == null) {
			throw new ApplicationBusinessException(
					SolicitacaoCompraRNExceptionCode.MENSAGEM_ERRO_SC_MATERIAL_M13);
		}

		// Verifica se o Centro de Custo foi criado para Serviço. Nesse caso não
		// aceita SC de material.
		if (DominioTipoDespesa.S.equals(centroCusto.getIndTipoDespesa())) { // ServiÃ§o
			throw new ApplicationBusinessException(
					SolicitacaoCompraRNExceptionCode.MENSAGEM_ERRO_SC_CC_SERV_MAT_M10);
		}

		if (DominioTipoDespesa.O.equals(centroCusto.getIndTipoDespesa())) { // Obra
			if (!solicitacaoDeCompra.getMaterial().getGrupoMaterial()
					.getEngenhari()) {
				throw new ApplicationBusinessException(
						SolicitacaoCompraRNExceptionCode.MENSAGEM_ERRO_SC_CC_OBRA_MAT_ENG_M11);
			}
		}

	}

}