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-87c2c4800839master
parent
eac9317d1d
commit
2232c48237
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue