Automatizar a checagem do folio para empresa que usa impressora fiscal (bug #5785)
Tempo: 05 horas git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@39309 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
54ecf74e15
commit
c40fd0a8b7
|
@ -3,12 +3,13 @@ package com.rjconsultores.ventaboletos.service;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Aidf;
|
import com.rjconsultores.ventaboletos.entidad.Aidf;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Estacion;
|
import com.rjconsultores.ventaboletos.entidad.Estacion;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.EstacionImpresora;
|
||||||
import com.rjconsultores.ventaboletos.entidad.TipoMovimentacion;
|
import com.rjconsultores.ventaboletos.entidad.TipoMovimentacion;
|
||||||
|
|
||||||
public interface AutorizaFolioService {
|
public interface AutorizaFolioService {
|
||||||
|
|
||||||
public Boolean noChequeFolioPreimpresos(Aidf aidf, Estacion origem, Estacion destino, String numfolioinicial, String numfoliofinal, String numseriepreimpresa, Empresa empresaUsuario, TipoMovimentacion tipoMovimentacion);
|
public Boolean noChequeFolioPreimpresos(Aidf aidf, Estacion origem, Estacion destino, String numfolioinicial, String numfoliofinal, String numseriepreimpresa, Empresa empresaUsuario, TipoMovimentacion tipoMovimentacion);
|
||||||
|
|
||||||
public Boolean noChequeFolioPreimpresos(Estacion estacion);
|
public String noChequeFolioPreimpresos(EstacionImpresora estacionImpresora, boolean isImpressoraFiscal);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.service.impl;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.lang.math.NumberUtils;
|
import org.apache.commons.lang.math.NumberUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -59,7 +60,6 @@ public class AutorizaFolioServiceImpl implements AutorizaFolioService {
|
||||||
actualizaStatusRequisicion(requisicionBoleto);
|
actualizaStatusRequisicion(requisicionBoleto);
|
||||||
|
|
||||||
if (folio == null) {
|
if (folio == null) {
|
||||||
|
|
||||||
FolioPreimpreso folioPreimpreso = geraFolioPreimpreso(detAbastoBoleto, numfolioinicial);
|
FolioPreimpreso folioPreimpreso = geraFolioPreimpreso(detAbastoBoleto, numfolioinicial);
|
||||||
|
|
||||||
if (folioPreimpreso.getFoliopreimpresoId() == null)
|
if (folioPreimpreso.getFoliopreimpresoId() == null)
|
||||||
|
@ -76,7 +76,6 @@ public class AutorizaFolioServiceImpl implements AutorizaFolioService {
|
||||||
|
|
||||||
detAbastoBoletoService.desabilitaDetAbastos(origem, numfolioinicial, numfoliofinal, numseriepreimpresa);
|
detAbastoBoletoService.desabilitaDetAbastos(origem, numfolioinicial, numfoliofinal, numseriepreimpresa);
|
||||||
|
|
||||||
|
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -103,10 +102,6 @@ public class AutorizaFolioServiceImpl implements AutorizaFolioService {
|
||||||
private DetAbastoBoleto geraDetAbastoBoleto(AbastoBoleto abastoBoleto, String numfolioinicial, String numfoliofinal, String numseriepreimpresa) {
|
private DetAbastoBoleto geraDetAbastoBoleto(AbastoBoleto abastoBoleto, String numfolioinicial, String numfoliofinal, String numseriepreimpresa) {
|
||||||
|
|
||||||
Integer statusoperacion = 1;
|
Integer statusoperacion = 1;
|
||||||
// String numseriepreimpresa = abastoBoleto.getEstacion().getEstacionId().toString() + abastoBoleto.getEmpresa().getEmpresaId().toString();
|
|
||||||
// String numfolioinicial = INICIO_FOLIO.toString();
|
|
||||||
// String numfoliofinal = MAX_CANT_FOLIOS.toString();
|
|
||||||
|
|
||||||
Long nummovimiento = detAbastoBoletoService.getSecuencia();
|
Long nummovimiento = detAbastoBoletoService.getSecuencia();
|
||||||
|
|
||||||
DetAbastoBoleto detAbastoBoleto = new DetAbastoBoleto();
|
DetAbastoBoleto detAbastoBoleto = new DetAbastoBoleto();
|
||||||
|
@ -151,38 +146,36 @@ public class AutorizaFolioServiceImpl implements AutorizaFolioService {
|
||||||
return folioPreimpresoService.actualizacion(folioPreimpreso);
|
return folioPreimpresoService.actualizacion(folioPreimpreso);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean noChequeFolioPreimpresos(Estacion estacion) {
|
public String noChequeFolioPreimpresos(EstacionImpresora estacionImpresora, boolean isImpressoraFiscal) {
|
||||||
|
|
||||||
|
|
||||||
for (EstacionImpresora estacionImpresora : estacion.getLsEstacionImpresora()) {
|
|
||||||
Empresa empresa = estacionImpresora.getEmpresa();
|
Empresa empresa = estacionImpresora.getEmpresa();
|
||||||
|
FolioPreimpreso folio = folioPreimpresoService.buscaFolioPreImpressoEstacionImpresora(estacionImpresora.getEstacion(), empresa);
|
||||||
|
|
||||||
FolioPreimpreso folio = folioPreimpresoService.buscaFolioPreImpressoEstacionImpresora(estacion, empresa);
|
// condição para qd o folio foi gerado indevidamente pelo cliente de venda.
|
||||||
|
// antes de a rotina abaixo ter sido executada se o numserie é 0, é um folio inválido
|
||||||
//condição para qd o folio foi gerado indevidamente pelo cliente de venda. Antes de a rotina abaixo ter sido executada
|
|
||||||
//se o numserie é 0, é um folio inválido
|
|
||||||
if ((folio != null) && (folio.getNumeserie().equals("0"))) {
|
if ((folio != null) && (folio.getNumeserie().equals("0"))) {
|
||||||
folioPreimpresoService.borrar(folio);
|
folioPreimpresoService.borrar(folio);
|
||||||
folio = null;
|
folio = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( folio == null ) {
|
if ((folio != null) && isImpressoraFiscal) {
|
||||||
|
return "estacionServiceImpl.msg.noChequeFolioPreimpresos";
|
||||||
|
}
|
||||||
|
|
||||||
RequisicionBoleto requisicionBoleto = geraRequisicionBoleto(estacion, empresa);
|
if (folio == null) {
|
||||||
|
RequisicionBoleto requisicionBoleto = geraRequisicionBoleto(estacionImpresora.getEstacion(), empresa);
|
||||||
AbastoBoleto abastoBoleto = geraAbastoBoleto(requisicionBoleto);
|
AbastoBoleto abastoBoleto = geraAbastoBoleto(requisicionBoleto);
|
||||||
DetAbastoBoleto detAbastoBoleto = geraDetAbastoBoleto(abastoBoleto);
|
DetAbastoBoleto detAbastoBoleto = geraDetAbastoBoleto(abastoBoleto);
|
||||||
actualizaStatusRequisicion(requisicionBoleto);
|
actualizaStatusRequisicion(requisicionBoleto);
|
||||||
|
|
||||||
FolioPreimpreso folioPreimpreso = geraFolioPreimpreso(detAbastoBoleto);
|
FolioPreimpreso folioPreimpreso = geraFolioPreimpreso(detAbastoBoleto);
|
||||||
|
|
||||||
if (folioPreimpreso.getFoliopreimpresoId() == null) {
|
if (folioPreimpreso.getFoliopreimpresoId() == null) {
|
||||||
return Boolean.FALSE;
|
return "MSG.Error";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return Boolean.TRUE;
|
|
||||||
|
|
||||||
|
return StringUtils.EMPTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
private RequisicionBoleto geraRequisicionBoleto(Estacion estacion, Empresa empresa) {
|
private RequisicionBoleto geraRequisicionBoleto(Estacion estacion, Empresa empresa) {
|
||||||
|
|
|
@ -7,12 +7,14 @@ package com.rjconsultores.ventaboletos.service.impl;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import com.rjconsultores.ventaboletos.dao.EstacionDAO;
|
import com.rjconsultores.ventaboletos.dao.EstacionDAO;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Estacion;
|
import com.rjconsultores.ventaboletos.entidad.Estacion;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.EstacionImpresora;
|
||||||
import com.rjconsultores.ventaboletos.entidad.EstacionSitef;
|
import com.rjconsultores.ventaboletos.entidad.EstacionSitef;
|
||||||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||||
import com.rjconsultores.ventaboletos.exception.BusinessException;
|
import com.rjconsultores.ventaboletos.exception.BusinessException;
|
||||||
|
@ -34,6 +36,8 @@ public class EstacionServiceImpl implements EstacionService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private AutorizaFolioService autorizaFolioService;
|
private AutorizaFolioService autorizaFolioService;
|
||||||
|
|
||||||
|
public static final String BEMATECH_FISCAL = "BEMATECHFISCAL";
|
||||||
|
|
||||||
public List<Estacion> obtenerTodos() {
|
public List<Estacion> obtenerTodos() {
|
||||||
return estacionDAO.obtenerTodos();
|
return estacionDAO.obtenerTodos();
|
||||||
}
|
}
|
||||||
|
@ -79,18 +83,33 @@ public class EstacionServiceImpl implements EstacionService {
|
||||||
estacion.setFecmodif(Calendar.getInstance().getTime());
|
estacion.setFecmodif(Calendar.getInstance().getTime());
|
||||||
estacion.setActivo(Boolean.TRUE);
|
estacion.setActivo(Boolean.TRUE);
|
||||||
|
|
||||||
|
String errorNoChequeFolio = null;
|
||||||
|
for (EstacionImpresora ei : estacion.getLsEstacionImpresora()) {
|
||||||
|
if (ApplicationProperties.getInstance().generarRotinaFolios())
|
||||||
|
errorNoChequeFolio = autorizaFolioService.noChequeFolioPreimpresos(ei, false);
|
||||||
|
|
||||||
|
if (validacionImpressoraFiscal(ei))
|
||||||
|
errorNoChequeFolio = autorizaFolioService.noChequeFolioPreimpresos(ei, true);
|
||||||
|
}
|
||||||
|
|
||||||
if (estacion.getEstacionId() == null) {
|
if (estacion.getEstacionId() == null) {
|
||||||
estacion = estacionDAO.suscribir(estacion);
|
estacion = estacionDAO.suscribir(estacion);
|
||||||
} else {
|
} else {
|
||||||
estacion = estacionDAO.actualizacion(estacion);
|
estacion = estacionDAO.actualizacion(estacion);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ApplicationProperties.getInstance().generarRotinaFolios()) {
|
if (StringUtils.isNotBlank(errorNoChequeFolio)) {
|
||||||
autorizaFolioService.noChequeFolioPreimpresos(estacion);
|
throw new BusinessException(errorNoChequeFolio);
|
||||||
}
|
}
|
||||||
|
|
||||||
return estacion;
|
return estacion;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean validacionImpressoraFiscal(final EstacionImpresora ei) {
|
||||||
|
if (ei.getNombImpresora().equals(BEMATECH_FISCAL))
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validarEstoqueUpdate(Estacion estacion) throws BusinessException {
|
private void validarEstoqueUpdate(Estacion estacion) throws BusinessException {
|
||||||
|
|
Loading…
Reference in New Issue