106 lines
3.3 KiB
Java
106 lines
3.3 KiB
Java
package com.rjconsultores.ventaboletos.dao.hibernate;
|
|
|
|
import java.sql.Connection;
|
|
import java.sql.PreparedStatement;
|
|
import java.sql.ResultSet;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import org.apache.log4j.Logger;
|
|
import org.hibernate.Criteria;
|
|
import org.hibernate.SessionFactory;
|
|
import org.hibernate.criterion.Restrictions;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.stereotype.Repository;
|
|
|
|
import com.rjconsultores.ventaboletos.dao.AidfDAO;
|
|
import com.rjconsultores.ventaboletos.entidad.Aidf;
|
|
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
|
import com.rjconsultores.ventaboletos.vo.aidf.AidfVo;
|
|
|
|
@Repository("aidfDAO")
|
|
public class AidfHibernateDAO extends GenericHibernateDAO<Aidf, Long> implements AidfDAO{
|
|
|
|
private static Logger log = Logger.getLogger(AidfHibernateDAO.class);
|
|
|
|
@Autowired
|
|
public AidfHibernateDAO(
|
|
@Qualifier("sessionFactory") SessionFactory factory) {
|
|
setSessionFactory(factory);
|
|
}
|
|
|
|
@Override
|
|
public List<Aidf> obtenerTodos() {
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
|
|
|
return (List<Aidf>)c.list();
|
|
}
|
|
|
|
@Override
|
|
public List<AidfVo> obtenerAidfFromSerieDocfiscal(String serie, String docfiscal, Connection conn){
|
|
|
|
PreparedStatement pstmt = null;
|
|
ResultSet rs = null;
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append(" select x.AIDF_ID, ");
|
|
sb.append(" x.ESTADO_ID, ");
|
|
sb.append(" REGEXP_REPLACE( x.docfiscal ,'[^[:alnum:]'' '']', NULL) , ");
|
|
sb.append(" x.ACFISCAL, ");
|
|
sb.append(" x.SERIE, ");
|
|
sb.append(" x.FORMINICIAL, ");
|
|
sb.append(" x.FORMFINAL, ");
|
|
sb.append(" x.FECADQUISICION, ");
|
|
sb.append(" x.FECVENCIMIENTO, ");
|
|
sb.append(" x.INSCESTADUAL, ");
|
|
sb.append(" x.EMPRESA_ID, ");
|
|
sb.append(" x.AIDFESP_ID, ");
|
|
sb.append(" x.AIDFTIPO_ID, ");
|
|
sb.append(" x.ACTIVO, ");
|
|
sb.append(" x.FECMODIF, ");
|
|
sb.append(" x.USUARIO_ID, ");
|
|
sb.append(" x.SUBSERIE, ");
|
|
sb.append(" x.CNPJ, ");
|
|
sb.append(" x.TIPOVALIDAVENTA ");
|
|
sb.append(" from AIDF x where x.SERIE like '"+serie+"' ");
|
|
sb.append(" and REGEXP_REPLACE( x.docfiscal ,'[^[:alnum:]'' '']', NULL) like '"+docfiscal+"' ");
|
|
sb.append(" and x.activo = 1 ");
|
|
|
|
|
|
List<AidfVo> ls = new ArrayList<AidfVo>();
|
|
|
|
try{
|
|
pstmt = conn.prepareStatement(sb.toString());
|
|
|
|
rs = pstmt.executeQuery();
|
|
while (rs.next()){
|
|
AidfVo a = new AidfVo();
|
|
a.setAidfId(rs.getLong(1));
|
|
a.setDocfiscal(rs.getString(3));
|
|
a.setSerie(rs.getString(5));
|
|
a.setForminicial(rs.getString(6));
|
|
a.setFormfinal(rs.getString(7));
|
|
ls.add(a);
|
|
}
|
|
} catch (Exception e){
|
|
log.error("", e);
|
|
} finally {
|
|
try { rs.close(); } catch (Exception ignore) { log.error("", ignore); }
|
|
try { pstmt.close(); } catch (Exception ignore) { log.error("", ignore); }
|
|
}
|
|
return ls;
|
|
};
|
|
|
|
@Override
|
|
public List<Aidf> buscaAidfsPorEmpresas(List<Empresa> empresas) {
|
|
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
|
c.add(Restrictions.in("empresa", empresas));
|
|
|
|
return (List<Aidf>)c.list();
|
|
}
|
|
}
|