Série para venda embarcada

bug#13748
dev:trevezani
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@91285 d1611594-4594-4d17-8e1d-87c2c4800839
master
alberto 2019-03-27 22:28:35 +00:00
parent eac9317d1d
commit 2232c48237
3 changed files with 15 additions and 18 deletions

View File

@ -23,12 +23,12 @@ public class CtrlSerieBPeHibernateDAO extends GenericHibernateDAO<CtrlSerieBPe,
public CtrlSerieBPe buscarPorEmpresaEstado(Integer empresaId, Integer estadoId) { public CtrlSerieBPe buscarPorEmpresaEstado(Integer empresaId, Integer estadoId) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("SELECT ctrl "); sb.append("SELECT ctrl ");
sb.append("FROM CtrlSerieBpe ctrl "); sb.append("FROM CtrlSerieBPe ctrl ");
sb.append("WHERE ctrl.activo = 1 AND ctrl.empresa.empresaId = :empresaId AND ctrl.estado.estadoId = :estadoId "); sb.append("WHERE ctrl.activo = 1 AND ctrl.empresa.empresaId = :empresaId AND ctrl.estado.estadoId = :estadoId ");
Query qr = getSession().createQuery(sb.toString()); Query qr = getSession().createQuery(sb.toString());
qr.setParameter("empresaId", empresaId); qr.setInteger("empresaId", empresaId);
qr.setParameter("estadoId", estadoId); qr.setInteger("estadoId", estadoId);
return (CtrlSerieBPe) qr.uniqueResult(); return (CtrlSerieBPe) qr.uniqueResult();
} }

View File

@ -165,13 +165,19 @@ public class CtrlSerieEmbarcadaHibernateDAO extends GenericHibernateDAO<CtrlSer
sb.append("where se.activo = 1 and se.indReutilizado = 0 and se.indBaixado = 1 and se.ctrlSerieEmbarcadaId in (:list)"); sb.append("where se.activo = 1 and se.indReutilizado = 0 and se.indBaixado = 1 and se.ctrlSerieEmbarcadaId in (:list)");
sb.append("order by se.serie "); sb.append("order by se.serie ");
Set<Long> ids = buscarIdsSeriesEmbarcadaDisponivel(empresaId, estadoId);
if (ids.isEmpty()) {
throw new SerieEmbarcadaNaoDisponivelException();
}
Session session = null; Session session = null;
try { try {
session = getSessionFactory().openSession(); session = getSessionFactory().openSession();
Query query = session.createQuery(sb.toString()); Query query = session.createQuery(sb.toString());
query.setParameterList("list", buscarIdsSeriesEmbarcadaDisponivel(empresaId, estadoId)); query.setParameterList("list", ids);
query.setLockOptions(LockOptions.UPGRADE); query.setLockOptions(LockOptions.UPGRADE);
query.setTimeout(20); query.setTimeout(20);

View File

@ -49,27 +49,18 @@ public class ControleSerieEmbarcadaServiceImpl implements ControleSerieEmbarcada
if (serieembarcada == null) { if (serieembarcada == null) {
CtrlSerieBPe ctrlSerieBpe = ctrlSerieBPeDAO.buscarPorEmpresaEstado(controleSerieEmbarcada.getEmpresa().getEmpresaId(), controleSerieEmbarcada.getEstado().getEstadoId()); CtrlSerieBPe ctrlSerieBpe = ctrlSerieBPeDAO.buscarPorEmpresaEstado(controleSerieEmbarcada.getEmpresa().getEmpresaId(), controleSerieEmbarcada.getEstado().getEstadoId());
if (ctrlSerieBpe == null) {
ctrlSerieBpe = new CtrlSerieBPe();
ctrlSerieBpe.setEmpresa(controleSerieEmbarcada.getEmpresa());
ctrlSerieBpe.setEstado(controleSerieEmbarcada.getEstado());
ctrlSerieBpe.setActivo(Boolean.TRUE);
}
ctrlSerieBpe.setFecmodif(new Date());
Integer serie = 0; Integer serie = 0;
if (ctrlSerieBpe != null) {
serie = Integer.valueOf(ctrlSerieBpe.getSerie());
}
do { do {
serie++; serie++;
} while (ctrlSerieEmbarcadaDAO.validaPossuiDispositivo(controleSerieEmbarcada.getEmpresa().getEmpresaId(), controleSerieEmbarcada.getEstado().getEstadoId(), serie.toString())); } while (ctrlSerieEmbarcadaDAO.validaPossuiDispositivo(controleSerieEmbarcada.getEmpresa().getEmpresaId(), controleSerieEmbarcada.getEstado().getEstadoId(), serie.toString()));
ctrlSerieBpe.setSerie(serie.toString());
ctrlSerieBpe = ctrlSerieBPeDAO.suscribir(ctrlSerieBpe);
serieembarcada = new SerieEmbarcada(); serieembarcada = new SerieEmbarcada();
serieembarcada.setSerie(ctrlSerieBpe.getSerie()); serieembarcada.setSerie(serie.toString());
serieembarcada.setNumero("1"); serieembarcada.setNumero("1");
} }