package br.com.centralit.citcorpore.integracao;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import br.com.centralit.citcorpore.bean.CatalogoServicoDTO;
import br.com.centralit.citcorpore.bean.InfoCatalogoServicoDTO;
import br.com.citframework.dto.IDto;
import br.com.citframework.excecao.PersistenceException;
import br.com.citframework.integracao.CrudDaoDefaultImpl;
import br.com.citframework.integracao.Field;
import br.com.citframework.util.Constantes;
public class InfoCatalogoServicoDao extends CrudDaoDefaultImpl {
/**
* @author pedro
*/
private static final String SQL_DELETE =
"DELETE FROM infocatalogoservico WHERE idcatalogoservico = ? ";
private static final String SQL_FIND =
"SELECT * "
+ "FROM infocatalogoservico WHERE idcatalogoservico = ? ";
public InfoCatalogoServicoDao() {
super(Constantes.getValue("DATABASE_ALIAS"), null);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public Collection<Field> getFields() {
Collection<Field> listFields = new ArrayList<>();
listFields.add(new Field("idInfoCatalogoServico", "idInfoCatalogoServico", true, true, false, false));
listFields.add(new Field("idCatalogoServico", "idCatalogoServico", false, false, false, false));
listFields.add(new Field("descInfoCatalogoServico", "descInfoCatalogoServico", false, false, false, false));
listFields.add(new Field("nomeInfoCatalogoServico", "nomeInfoCatalogoServico", false, false, false, false));
listFields.add(new Field("idServicoCatalogo", "idServicoCatalogo", false, false, false, false));
listFields.add(new Field("nomeServicoContrato", "nomeServicoContrato", false, false, false, false));
return listFields;
}
public String getTableName() {
return "INFOCATALOGOSERVICO";
}
@SuppressWarnings("unchecked")
public Collection<InfoCatalogoServicoDTO> find(IDto obj) throws PersistenceException {
List<InfoCatalogoServicoDTO> ordem = new ArrayList<InfoCatalogoServicoDTO>();
return super.find(obj, ordem);
}
@SuppressWarnings("unchecked")
public Collection<InfoCatalogoServicoDTO> list() throws PersistenceException {
List<InfoCatalogoServicoDTO> list = new ArrayList<InfoCatalogoServicoDTO>();
return super.list(list);
}
@SuppressWarnings("rawtypes")
public Class getBean() {
return InfoCatalogoServicoDTO.class;
}
public void deleteByIdInfoCatalogo(CatalogoServicoDTO catalogo)
throws PersistenceException {
super.execUpdate(SQL_DELETE, new Object[]{catalogo.getIdCatalogoServico()});
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public Collection<InfoCatalogoServicoDTO> findByIdInfoCatalogo(InfoCatalogoServicoDTO infoCatalogoServicoDTO) throws PersistenceException {
return super.listConvertion(getBean(),
super.execSQL(SQL_FIND, new Object[]{infoCatalogoServicoDTO.getIdCatalogoServico()}),
new ArrayList(getFields()));
}
@SuppressWarnings("unchecked")
public Collection<InfoCatalogoServicoDTO> findByCatalogoServico (Integer idCatalogoServico) throws PersistenceException {
String sql = "SELECT idInfoCatalogoServico, idServicoCatalogo, nomeServicoContrato, nomeInfoCatalogoServico, descInfoCatalogoServico FROM " + getTableName() + " WHERE idCatalogoServico = ?";
List<InfoCatalogoServicoDTO> dados = this.execSQL(sql, new Object[] { idCatalogoServico });
List<String> fields = new ArrayList<String>();
fields.add("idInfoCatalogoServico");
fields.add("idServicoCatalogo");
fields.add("nomeServicoContrato");
fields.add("nomeInfoCatalogoServico");
fields.add("descInfoCatalogoServico");
return this.listConvertion(getBean(), dados, fields);
}
@SuppressWarnings("unchecked")
public boolean findByContratoServico (Integer idContratoServico) throws PersistenceException {
String sql = "select serv.idservico,nomeServico FROM servico serv inner join servicocontrato servcont on serv.idservico = servcont.idservico WHERE IDCONTRATO = ? ORDER BY NOMESERVICO";
List lista = this.execSQL(sql, new Object[] { idContratoServico });
if (lista.isEmpty()) {
return false;
}
else{
return true;
}
}
@SuppressWarnings("unchecked")
public InfoCatalogoServicoDTO findById(Integer idInfoCatalogo) throws PersistenceException {
String sql = "SELECT idInfoCatalogoServico, idServicoCatalogo, nomeServicoContrato, nomeInfoCatalogoServico, descInfoCatalogoServico FROM " + getTableName() + " WHERE idInfoCatalogoServico = ?";
List<InfoCatalogoServicoDTO> dados = this.execSQL(sql, new Object[] { idInfoCatalogo });
List<String> fields = new ArrayList<String>();
fields.add("idInfoCatalogoServico");
fields.add("idServicoCatalogo");
fields.add("nomeServicoContrato");
fields.add("nomeInfoCatalogoServico");
fields.add("descInfoCatalogoServico");
List<InfoCatalogoServicoDTO> resultado = this.listConvertion(getBean(), dados, fields);
return resultado != null && resultado.size() > 0 ? resultado.get(0) : null;
}
}