package br.com.centralit.citcorpore.negocio;
import java.util.ArrayList;
import br.com.centralit.citcorpore.bean.ControleContratoDTO;
import br.com.centralit.citcorpore.bean.ControleContratoModuloSistemaDTO;
import br.com.centralit.citcorpore.bean.ControleContratoOcorrenciaDTO;
import br.com.centralit.citcorpore.bean.ControleContratoPagamentoDTO;
import br.com.centralit.citcorpore.bean.ControleContratoTreinamentoDTO;
import br.com.centralit.citcorpore.bean.ControleContratoVersaoDTO;
import br.com.centralit.citcorpore.integracao.ControleContratoDao;
import br.com.centralit.citcorpore.integracao.ControleContratoModuloSistemaDao;
import br.com.centralit.citcorpore.integracao.ControleContratoOcorrenciaDao;
import br.com.centralit.citcorpore.integracao.ControleContratoPagamentoDao;
import br.com.centralit.citcorpore.integracao.ControleContratoTreinamentoDao;
import br.com.centralit.citcorpore.integracao.ControleContratoVersaoDao;
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;
/**
* @author Pedro
*
*/
public class ControleContratoServiceEjb extends CrudServiceImpl implements ControleContratoService {
private ControleContratoDao dao;
@Override
protected ControleContratoDao getDao() {
if (dao == null) {
dao = new ControleContratoDao();
}
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 {
ControleContratoDTO controleContratoDto = (ControleContratoDTO) model;
final ControleContratoDao controleContratoDao = this.getDao();
final ControleContratoVersaoDao controleContratoVersaoDao = new ControleContratoVersaoDao();
final ControleContratoPagamentoDao controleContratoPagamentoDao = new ControleContratoPagamentoDao();
final ControleContratoTreinamentoDao controleContratoTreinamentoDao = new ControleContratoTreinamentoDao();
final ControleContratoOcorrenciaDao controleContratoOcorrenciaDao = new ControleContratoOcorrenciaDao();
final ControleContratoModuloSistemaDao controleContratoModuloSistemaDao = new ControleContratoModuloSistemaDao();
final TransactionControler tc = new TransactionControlerImpl(controleContratoDao.getAliasDB());
try {
this.validaCreate(model);
/** TC **/
controleContratoDao.setTransactionControler(tc);
controleContratoVersaoDao.setTransactionControler(tc);
controleContratoPagamentoDao.setTransactionControler(tc);
controleContratoTreinamentoDao.setTransactionControler(tc);
controleContratoOcorrenciaDao.setTransactionControler(tc);
controleContratoModuloSistemaDao.setTransactionControler(tc);
tc.start();
/** MODEL **/
controleContratoDto = (ControleContratoDTO) controleContratoDao.create(model);
/** VERSAO **/
if (controleContratoDto.getLstVersao() != null && !controleContratoDto.getLstVersao().isEmpty()) {
ControleContratoVersaoDTO item = null;
// varre a lista de servi�os
for (int i = 0; i < controleContratoDto.getLstVersao().size(); i++) {
item = (ControleContratoVersaoDTO) controleContratoDto.getLstVersao().get(i);
item.setIdControleContrato(controleContratoDto.getIdControleContrato());
/* item.setIdCcVersao(controleContratoDto.getIdVersao()); */
// item.setNomeCcVersao(controleContratoDto.getNomeCcVersao());
// grava cada item da lista
controleContratoVersaoDao.create(item);
}
}
/** PAGAMENTO **/
if (controleContratoDto.getLstPagamento() != null && !controleContratoDto.getLstPagamento().isEmpty()) {
ControleContratoPagamentoDTO itemPagamento = null;
// varre a lista de servi�os
for (int i = 0; i < controleContratoDto.getLstPagamento().size(); i++) {
itemPagamento = (ControleContratoPagamentoDTO) controleContratoDto.getLstPagamento().get(i);
itemPagamento.setIdControleContrato(controleContratoDto.getIdControleContrato());
/*
* itemPagamento.setDataAtrasoCcPagamento(controleContratoDto.getDataAtrasoCcPagamento());
* itemPagamento.setDataCcPagamento(controleContratoDto.getDataCcPagamento());
* itemPagamento.setParcelaCcPagamento(controleContratoDto.getParcelaCcPagamento());
*/
// grava cada item da lista
controleContratoPagamentoDao.create(itemPagamento);
}
}
/** TREINAMENTO **/
if (controleContratoDto.getLstTreinamento() != null && !controleContratoDto.getLstTreinamento().isEmpty()) {
ControleContratoTreinamentoDTO itemTreinamento = null;
// varre a lista de servi�os
for (int i = 0; i < controleContratoDto.getLstTreinamento().size(); i++) {
itemTreinamento = (ControleContratoTreinamentoDTO) controleContratoDto.getLstTreinamento().get(i);
itemTreinamento.setIdControleContrato(controleContratoDto.getIdControleContrato());
/*
* itemTreinamento.setDataCcTreinamento(controleContratoDto.getDataCcTreinamento());
* itemTreinamento.setIdEmpregadoTreinamento(controleContratoDto.getIdEmpregadoTreinamento());
*/
// grava cada item da lista
controleContratoTreinamentoDao.create(itemTreinamento);
}
}
/** OCORRENCIA **/
if (controleContratoDto.getLstOcorrencia() != null && !controleContratoDto.getLstOcorrencia().isEmpty()) {
ControleContratoOcorrenciaDTO itemOcorrencia = null;
// varre a lista de servi�os
for (int i = 0; i < controleContratoDto.getLstOcorrencia().size(); i++) {
itemOcorrencia = (ControleContratoOcorrenciaDTO) controleContratoDto.getLstOcorrencia().get(i);
itemOcorrencia.setIdControleContrato(controleContratoDto.getIdControleContrato());
/*
* itemOcorrencia.setAssuntoCcOcorrencia(controleContratoDto.getAssuntoCcOcorrencia());
* itemOcorrencia.setDataCcOcorrencia(controleContratoDto.getDataCcOcorrencia());
* itemOcorrencia.setIdEmpregadoOcorrencia(controleContratoDto.getIdUsuarioOcorrencia());
*/
// grava cada item da lista
controleContratoOcorrenciaDao.create(itemOcorrencia);
}
}
/** MODULOS ATIVOS **/
if (controleContratoDto.getLstModulosAtivos() != null && !controleContratoDto.getLstModulosAtivos().isEmpty()) {
final ControleContratoModuloSistemaDTO item = new ControleContratoModuloSistemaDTO();
// varre a lista de servi�os
for (int i = 0; i < controleContratoDto.getLstModulosAtivos().size(); i++) {
item.setIdControleContrato(controleContratoDto.getIdControleContrato());
item.setIdModuloSistema(Integer.parseInt((String) controleContratoDto.getLstModulosAtivos().get(i)));
// grava cada item da lista
controleContratoModuloSistemaDao.create(item);
}
}
tc.commit();
tc.close();
} catch (final Exception e) {
e.printStackTrace();
this.rollbackTransaction(tc, e);
}
return controleContratoDto;
}
/*
* (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 ControleContratoDTO controleContratoDto = (ControleContratoDTO) model;
final ControleContratoDao controleContratoDao = this.getDao();
final ControleContratoVersaoDao controleContratoVersaoDao = new ControleContratoVersaoDao();
final ControleContratoPagamentoDao controleContratoPagamentoDao = new ControleContratoPagamentoDao();
final ControleContratoTreinamentoDao controleContratoTreinamentoDao = new ControleContratoTreinamentoDao();
final ControleContratoOcorrenciaDao controleContratoOcorrenciaDao = new ControleContratoOcorrenciaDao();
final ControleContratoModuloSistemaDao controleContratoModuloSistemaDao = new ControleContratoModuloSistemaDao();
final TransactionControler tc = new TransactionControlerImpl(controleContratoDao.getAliasDB());
try {
this.validaCreate(model);
/** TC **/
controleContratoDao.setTransactionControler(tc);
controleContratoVersaoDao.setTransactionControler(tc);
controleContratoPagamentoDao.setTransactionControler(tc);
controleContratoTreinamentoDao.setTransactionControler(tc);
controleContratoOcorrenciaDao.setTransactionControler(tc);
controleContratoModuloSistemaDao.setTransactionControler(tc);
tc.start();
/** MODEL **/
controleContratoDao.update(controleContratoDto);
/** VERSAO **/
controleContratoVersaoDao.deleteByIdControleContrato(controleContratoDto); // delete
if (controleContratoDto.getLstVersao() != null && !controleContratoDto.getLstVersao().isEmpty()) {
ControleContratoVersaoDTO item = null;
// varre a lista de servi�os
for (int i = 0; i < controleContratoDto.getLstVersao().size(); i++) {
item = (ControleContratoVersaoDTO) controleContratoDto.getLstVersao().get(i);
item.setIdControleContrato(controleContratoDto.getIdControleContrato());
/* item.setIdCcVersao(controleContratoDto.getIdVersao()); */
// item.setNomeCcVersao(controleContratoDto.getNomeCcVersao());
// grava cada item da lista
controleContratoVersaoDao.create(item);
}
}
/** PAGAMENTO **/
controleContratoPagamentoDao.deleteByIdControleContrato(controleContratoDto); // delete
if (controleContratoDto.getLstPagamento() != null && !controleContratoDto.getLstPagamento().isEmpty()) {
ControleContratoPagamentoDTO itemPagamento = null;
// varre a lista de servi�os
for (int i = 0; i < controleContratoDto.getLstPagamento().size(); i++) {
itemPagamento = (ControleContratoPagamentoDTO) controleContratoDto.getLstPagamento().get(i);
itemPagamento.setIdControleContrato(controleContratoDto.getIdControleContrato());
/*
* itemPagamento.setDataAtrasoCcPagamento(controleContratoDto.getDataAtrasoCcPagamento());
* itemPagamento.setDataCcPagamento(controleContratoDto.getDataCcPagamento());
* itemPagamento.setParcelaCcPagamento(controleContratoDto.getParcelaCcPagamento());
* // grava cada item da lista
*/controleContratoPagamentoDao.create(itemPagamento);
}
}
/** TREINAMENTO **/
controleContratoTreinamentoDao.deleteByIdControleContrato(controleContratoDto); // delete
if (controleContratoDto.getLstTreinamento() != null && !controleContratoDto.getLstTreinamento().isEmpty()) {
ControleContratoTreinamentoDTO itemTreinamento = null;
// varre a lista de servi�os
for (int i = 0; i < controleContratoDto.getLstTreinamento().size(); i++) {
itemTreinamento = (ControleContratoTreinamentoDTO) controleContratoDto.getLstTreinamento().get(i);
itemTreinamento.setIdControleContrato(controleContratoDto.getIdControleContrato());
/*
* itemTreinamento.setDataCcTreinamento(controleContratoDto.getDataCcTreinamento());
* itemTreinamento.setIdEmpregadoTreinamento(controleContratoDto.getIdEmpregadoTreinamento());
*/
// grava cada item da lista
controleContratoTreinamentoDao.create(itemTreinamento);
}
}
/** OCORRENCIA **/
controleContratoOcorrenciaDao.deleteByIdControleContrato(controleContratoDto); // delete
if (controleContratoDto.getLstOcorrencia() != null && !controleContratoDto.getLstOcorrencia().isEmpty()) {
ControleContratoOcorrenciaDTO itemOcorrencia = null;
// varre a lista de servi�os
for (int i = 0; i < controleContratoDto.getLstOcorrencia().size(); i++) {
itemOcorrencia = (ControleContratoOcorrenciaDTO) controleContratoDto.getLstOcorrencia().get(i);
itemOcorrencia.setIdControleContrato(controleContratoDto.getIdControleContrato());
/*
* itemOcorrencia.setAssuntoCcOcorrencia(controleContratoDto.getAssuntoCcOcorrencia());
* itemOcorrencia.setDataCcOcorrencia(controleContratoDto.getDataCcOcorrencia());
* itemOcorrencia.setIdEmpregadoOcorrencia(controleContratoDto.getIdUsuarioOcorrencia());
*/
// grava cada item da lista
controleContratoOcorrenciaDao.create(itemOcorrencia);
}
}
/** MODULOS ATIVOS **/
controleContratoModuloSistemaDao.deleteByIdControleContrato(controleContratoDto); // delete
if (controleContratoDto.getLstModulosAtivos() != null && !controleContratoDto.getLstModulosAtivos().isEmpty()) {
final ControleContratoModuloSistemaDTO item = new ControleContratoModuloSistemaDTO();
// varre a lista de servi�os
for (int i = 0; i < controleContratoDto.getLstModulosAtivos().size(); i++) {
item.setIdControleContrato(controleContratoDto.getIdControleContrato());
item.setIdModuloSistema(Integer.parseInt((String) controleContratoDto.getLstModulosAtivos().get(i)));
// grava cada item da lista
controleContratoModuloSistemaDao.create(item);
}
}
tc.commit();
tc.close();
} catch (final Exception e) {
e.printStackTrace();
this.rollbackTransaction(tc, e);
}
}
/*
* (non-Javadoc)
* @see br.com.citframework.service.CrudServicePojoImpl#restore(br.com.citframework.dto.IDto)
*/
@Override
public IDto restore(final IDto model) throws ServiceException, LogicException {
ControleContratoDTO controleContratoDto = (ControleContratoDTO) model;
final ControleContratoDao controleContratoDao = this.getDao();
new ControleContratoVersaoDao();
new ControleContratoPagamentoDao();
new ControleContratoTreinamentoDao();
new ControleContratoOcorrenciaDao();
new ControleContratoModuloSistemaDao();
try {
controleContratoDto = (ControleContratoDTO) controleContratoDao.restore(model);
final ControleContratoVersaoDTO controleContratoVersaoDTO = new ControleContratoVersaoDTO();
controleContratoVersaoDTO.setIdControleContrato(controleContratoDto.getIdControleContrato());
controleContratoDto.setLstVersao(new ArrayList(new ControleContratoVersaoDao().findByIdControleContrato(controleContratoVersaoDTO)));
final ControleContratoPagamentoDTO controleContratoPagamentoDTO = new ControleContratoPagamentoDTO();
controleContratoPagamentoDTO.setIdControleContrato(controleContratoDto.getIdControleContrato());
controleContratoDto.setLstPagamento(new ArrayList(new ControleContratoPagamentoDao().findByIdControleContrato(controleContratoPagamentoDTO)));
final ControleContratoTreinamentoDTO controleContratoTreinamentoDTO = new ControleContratoTreinamentoDTO();
controleContratoTreinamentoDTO.setIdControleContrato(controleContratoDto.getIdControleContrato());
controleContratoDto.setLstTreinamento(new ArrayList(new ControleContratoTreinamentoDao().findByIdControleContrato(controleContratoTreinamentoDTO)));
final ControleContratoOcorrenciaDTO controleContratoOcorrenciaDTO = new ControleContratoOcorrenciaDTO();
controleContratoOcorrenciaDTO.setIdControleContrato(controleContratoDto.getIdControleContrato());
controleContratoDto.setLstOcorrencia(new ArrayList(new ControleContratoOcorrenciaDao().findByIdControleContrato(controleContratoOcorrenciaDTO)));
final ControleContratoModuloSistemaDTO controleContratoModuloSistemaDTO = new ControleContratoModuloSistemaDTO();
controleContratoModuloSistemaDTO.setIdControleContrato(controleContratoDto.getIdControleContrato());
controleContratoDto.setLstModulosAtivos(new ArrayList(new ControleContratoModuloSistemaDao().findByIdControleContrato(controleContratoModuloSistemaDTO)));
} catch (final Exception e) {
e.printStackTrace();
throw new ServiceException(e);
}
return controleContratoDto;
}
/*
* @Override
* public Collection<CatalogoServicoDTO> listAllCatalogos() throws ServiceException, Exception {
* return this.controleContratoDao().list();
* }
*/
/*
* @Override
* public boolean verificaSeCatalogoExiste(CatalogoServicoDTO catalogoServicoDTO) throws PersistenceException, ServiceException {
* return this.catalogoServicoDao().verificaSeCatalogoExiste(catalogoServicoDTO);
* }
*/
}