package br.com.centralit.citcorpore.negocio; import java.util.Collection; import br.com.centralit.citcorpore.bean.AvaliacaoFornecedorDTO; import br.com.centralit.citcorpore.bean.AvaliacaoReferenciaFornecedorDTO; import br.com.centralit.citcorpore.bean.CriterioAvaliacaoFornecedorDTO; import br.com.centralit.citcorpore.integracao.AvaliacaoFornecedorDao; import br.com.centralit.citcorpore.integracao.AvaliacaoReferenciaFornecedorDao; import br.com.centralit.citcorpore.integracao.CriterioAvaliacaoFornecedorDao; import br.com.citframework.dto.IDto; import br.com.citframework.excecao.LogicException; import br.com.citframework.excecao.ServiceException; import br.com.citframework.integracao.TransactionControler; import br.com.citframework.integracao.TransactionControlerImpl; import br.com.citframework.service.CrudServiceImpl; public class AvaliacaoFornecedorServiceEjb extends CrudServiceImpl implements AvaliacaoFornecedorService { private AvaliacaoFornecedorDao dao; @Override protected AvaliacaoFornecedorDao getDao() { if (dao == null) { dao = new AvaliacaoFornecedorDao(); } return dao; } /* * (non-Javadoc) * @see br.com.citframework.service.CrudServicePojoImpl#create(br.com.citframework.dto.IDto) */ @Override public IDto create(final IDto model) throws ServiceException, LogicException { final AvaliacaoReferenciaFornecedorDao avaliacaoReferenciaFornecedorDao = new AvaliacaoReferenciaFornecedorDao(); final CriterioAvaliacaoFornecedorDao criterioAvaliacaoFornecedorDao = new CriterioAvaliacaoFornecedorDao(); AvaliacaoFornecedorDTO avaliacaoFornecedorDto = (AvaliacaoFornecedorDTO) model; final TransactionControler transactionControler = new TransactionControlerImpl(this.getDao().getAliasDB()); try { this.getDao().setTransactionControler(transactionControler); avaliacaoReferenciaFornecedorDao.setTransactionControler(transactionControler); criterioAvaliacaoFornecedorDao.setTransactionControler(transactionControler); transactionControler.start(); avaliacaoFornecedorDto = (AvaliacaoFornecedorDTO) this.getDao().create(avaliacaoFornecedorDto); if (avaliacaoFornecedorDto.getListAvaliacaoReferenciaFornecedor() != null) { for (final AvaliacaoReferenciaFornecedorDTO avaliacaoReferenciaFornecedorDto : avaliacaoFornecedorDto.getListAvaliacaoReferenciaFornecedor()) { if (avaliacaoFornecedorDto.getIdAvaliacaoFornecedor() != null && avaliacaoFornecedorDto.getIdAvaliacaoFornecedor() != 0) { if (avaliacaoReferenciaFornecedorDto.getDecisao().equalsIgnoreCase("Sim")) { avaliacaoReferenciaFornecedorDto.setDecisao("S"); } else { avaliacaoReferenciaFornecedorDto.setDecisao("N"); } avaliacaoReferenciaFornecedorDto.setIdAvaliacaoFornecedor(avaliacaoFornecedorDto.getIdAvaliacaoFornecedor()); avaliacaoReferenciaFornecedorDao.create(avaliacaoReferenciaFornecedorDto); } } } if (avaliacaoFornecedorDto.getListCriterioAvaliacaoFornecedor() != null) { for (final CriterioAvaliacaoFornecedorDTO criterioAvaliacaoFornecedorDto : avaliacaoFornecedorDto.getListCriterioAvaliacaoFornecedor()) { if (avaliacaoFornecedorDto.getIdAvaliacaoFornecedor() != null && avaliacaoFornecedorDto.getIdAvaliacaoFornecedor() != 0) { if (criterioAvaliacaoFornecedorDto.getValor().equalsIgnoreCase("Sim")) { criterioAvaliacaoFornecedorDto.setValorInteger(1); } else { if (criterioAvaliacaoFornecedorDto.getValor().equalsIgnoreCase("N�o")) { criterioAvaliacaoFornecedorDto.setValorInteger(0); } else { criterioAvaliacaoFornecedorDto.setValorInteger(2); } } criterioAvaliacaoFornecedorDto.setIdAvaliacaoFornecedor(avaliacaoFornecedorDto.getIdAvaliacaoFornecedor()); criterioAvaliacaoFornecedorDao.create(criterioAvaliacaoFornecedorDto); } } } transactionControler.commit(); transactionControler.close(); } catch (final Exception e) { e.printStackTrace(); this.rollbackTransaction(transactionControler, e); } return avaliacaoFornecedorDto; } /* * (non-Javadoc) * @see br.com.citframework.service.CrudServicePojoImpl#update(br.com.citframework.dto.IDto) */ @Override public void update(final IDto model) throws ServiceException, LogicException { final AvaliacaoReferenciaFornecedorDao avaliacaoReferenciaFornecedorDao = new AvaliacaoReferenciaFornecedorDao(); final CriterioAvaliacaoFornecedorDao criterioAvaliacaoFornecedorDao = new CriterioAvaliacaoFornecedorDao(); final AvaliacaoFornecedorDTO avaliacaoFornecedorDto = (AvaliacaoFornecedorDTO) model; final TransactionControler transactionControler = new TransactionControlerImpl(this.getDao().getAliasDB()); try { this.getDao().setTransactionControler(transactionControler); avaliacaoReferenciaFornecedorDao.setTransactionControler(transactionControler); criterioAvaliacaoFornecedorDao.setTransactionControler(transactionControler); transactionControler.start(); this.getDao().update(avaliacaoFornecedorDto); if (avaliacaoFornecedorDto.getListAvaliacaoReferenciaFornecedor() != null) { if (avaliacaoFornecedorDto.getIdAvaliacaoFornecedor() != null && avaliacaoFornecedorDto.getIdAvaliacaoFornecedor() != 0) { avaliacaoReferenciaFornecedorDao.deleteByIdAvaliacaoFornecedor(avaliacaoFornecedorDto.getIdAvaliacaoFornecedor()); for (final AvaliacaoReferenciaFornecedorDTO avaliacaoReferenciaFornecedorDto : avaliacaoFornecedorDto.getListAvaliacaoReferenciaFornecedor()) { if (avaliacaoReferenciaFornecedorDto.getDecisao().equalsIgnoreCase("Sim")) { avaliacaoReferenciaFornecedorDto.setDecisao("S"); } else { avaliacaoReferenciaFornecedorDto.setDecisao("N"); } avaliacaoReferenciaFornecedorDto.setIdAvaliacaoFornecedor(avaliacaoFornecedorDto.getIdAvaliacaoFornecedor()); avaliacaoReferenciaFornecedorDao.create(avaliacaoReferenciaFornecedorDto); } } } if (avaliacaoFornecedorDto.getListCriterioAvaliacaoFornecedor() != null) { if (avaliacaoFornecedorDto.getIdAvaliacaoFornecedor() != null && avaliacaoFornecedorDto.getIdAvaliacaoFornecedor() != 0) { criterioAvaliacaoFornecedorDao.deleteByIdAvaliacaoFornecedor(avaliacaoFornecedorDto.getIdAvaliacaoFornecedor()); for (final CriterioAvaliacaoFornecedorDTO criterioAvaliacaoFornecedorDto : avaliacaoFornecedorDto.getListCriterioAvaliacaoFornecedor()) { if (criterioAvaliacaoFornecedorDto.getValor().equalsIgnoreCase("Sim")) { criterioAvaliacaoFornecedorDto.setValorInteger(1); } else { if (criterioAvaliacaoFornecedorDto.getValor().equalsIgnoreCase("N�o")) { criterioAvaliacaoFornecedorDto.setValorInteger(0); } else { criterioAvaliacaoFornecedorDto.setValorInteger(2); } } criterioAvaliacaoFornecedorDto.setIdAvaliacaoFornecedor(avaliacaoFornecedorDto.getIdAvaliacaoFornecedor()); criterioAvaliacaoFornecedorDao.create(criterioAvaliacaoFornecedorDto); } } } transactionControler.commit(); transactionControler.close(); } catch (final Exception e) { e.printStackTrace(); this.rollbackTransaction(transactionControler, e); } } @Override public Collection findByIdFornecedor(final Integer parm) throws Exception { return this.getDao().findByIdFornecedor(parm); } @Override public boolean fornecedorQualificado(final Integer idFornecedor) throws Exception { boolean result = false; final Collection<AvaliacaoFornecedorDTO> colAvaliacoes = this.findByIdFornecedor(idFornecedor); if (colAvaliacoes != null) { for (final AvaliacaoFornecedorDTO avaliacaoFornecedorDto : colAvaliacoes) { if (avaliacaoFornecedorDto.getDecisaoQualificacao().equals("Q")) { result = true; break; } } } return result; } }