diff --git a/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java b/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java index 01993bc6a..23040d48a 100644 --- a/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java @@ -11,5 +11,5 @@ public interface CajaDAO { public List buscarCajaFecha(boolean yaCerrado, Date fechaDesde, Date fechaHasta); public List buscarCajaCerrado(Date fecha, String cveusuario, String turnoid); List buscarUsuarioCerrado(Date fecha); - public boolean gerarVendaEmbarcada(VendaEmbarcadaVO vendaEmbarcada); + public Integer gerarVendaEmbarcada(VendaEmbarcadaVO vendaEmbarcada); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java index 492b1e8ad..2177a7e23 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java @@ -32,6 +32,12 @@ public class CajaHibernateDAO extends GenericHibernateDAO implemen private static Logger log = org.slf4j.LoggerFactory.getLogger(CajaHibernateDAO.class); @Autowired private SQLBuilder sqlBuilder; + + private final int VENDA_GERADA = 0; + private final int VENDA_BOLETO_ERROR = 1; + private final int VENDA_BOLETO_FORMAPAGO_ERROR = 2; + private final int VENDA_CAJA_ERROR = 3; + private final int VENDA_CAJA_FORMAPAGO_ERROR = 4; @Autowired public CajaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { @@ -177,13 +183,29 @@ public class CajaHibernateDAO extends GenericHibernateDAO implemen } @Override - public boolean gerarVendaEmbarcada(VendaEmbarcadaVO vendaEmbarcada) { + public Integer gerarVendaEmbarcada(VendaEmbarcadaVO vendaEmbarcada) { boolean statusBoleto = inserirBoletoVendaEmbarcada(vendaEmbarcada); boolean statusBoletoFormaPago = inserirBoletoFormaPagoVendaEmbarcada(vendaEmbarcada); boolean statusCaja = inserirCajaVendaEmbarcada(vendaEmbarcada); boolean statusCajaFormaPago = inserirCajaFormaPagoVendaEmbarcada(vendaEmbarcada); - return statusBoleto && statusCaja && statusCajaFormaPago && statusBoletoFormaPago; + if (!statusBoleto){ + return VENDA_BOLETO_ERROR; + } + + if (!statusBoletoFormaPago){ + return VENDA_BOLETO_FORMAPAGO_ERROR; + } + + if (!statusCaja){ + return VENDA_CAJA_ERROR; + } + + if (!statusCajaFormaPago){ + return VENDA_CAJA_FORMAPAGO_ERROR; + } + + return VENDA_GERADA; } private boolean inserirCajaVendaEmbarcada(VendaEmbarcadaVO vendaEmbarcada){ diff --git a/src/com/rjconsultores/ventaboletos/ws/rs/VendaEmbarcadaRS.java b/src/com/rjconsultores/ventaboletos/ws/rs/VendaEmbarcadaRS.java index 0f512da28..076050e8e 100644 --- a/src/com/rjconsultores/ventaboletos/ws/rs/VendaEmbarcadaRS.java +++ b/src/com/rjconsultores/ventaboletos/ws/rs/VendaEmbarcadaRS.java @@ -20,17 +20,16 @@ import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; @Path("vendaEmbarcada") public class VendaEmbarcadaRS { - private final int VENDA_GERADA_COM_SUCESSO = 0; - private final int CATEGORIA_NAO_SUPORTADA = 1; - private final int DATA_COM_FORMATO_INVALIDO = 2; - private final int ERRO_PROCESSO_VENDA = 3; + + private final int CATEGORIA_NAO_SUPORTADA = 5; + private final int DATA_COM_FORMATO_INVALIDO = 6; private final int TIPO_VENDA_NORMAL = 3; @POST @Path("/gerarVenda/{numeroAssento}/{categoria}/{origemId}/{destinoId}/{servicoId}/{dataCorrida}/{dataVenda}/{preco}/{tipoVendaId}/{pontoVendaId}/{empresaCorridaId}/{estacaoId}/{usuarioId}/{empresaId}/{taxaEmbarque}/{pedagio}/{outros}/{seguro}/{rutaId}/{formaPagoId}/{classeServicoId}") @Produces({MediaType.APPLICATION_JSON}) - public int gerarVenda(@PathParam("numeroAssento") String numeroAssento, @PathParam("categoria") String categoria, @PathParam("origemId") Integer origemId, + public String gerarVenda(@PathParam("numeroAssento") String numeroAssento, @PathParam("categoria") String categoria, @PathParam("origemId") Integer origemId, @PathParam("destinoId") Integer destinoId, @PathParam("servicoId") Integer servicoId, @PathParam("dataCorrida") String dataCorrida, @PathParam("dataVenda") String dataVenda, @PathParam("preco") BigDecimal preco, @PathParam("tipoVendaId") Integer tipoVendaId, @PathParam("pontoVendaId") Integer pontoVendaId, @PathParam("empresaCorridaId") Integer empresaCorridaId, @PathParam("estacaoId") Integer estacaoId, @PathParam("usuarioId") Integer usuarioId, @@ -38,12 +37,15 @@ public class VendaEmbarcadaRS { @PathParam("outros") BigDecimal importeOutros, @PathParam("seguro") BigDecimal importeSeguro, @PathParam("rutaId") Integer rutaId, @PathParam("formaPagoId") Integer formaPagoId, @PathParam("classeServicoId") Integer classeServicoId){ + + String retornoJson = "{'response':'"; + try { int categoriaId = 1; if (!categoria.equalsIgnoreCase("normal")){ - return CATEGORIA_NAO_SUPORTADA; + return retornoJson.concat(CATEGORIA_NAO_SUPORTADA + "'}"); } VendaEmbarcadaVO vendaEmbarcada = new VendaEmbarcadaVO(); @@ -59,7 +61,6 @@ public class VendaEmbarcadaRS { vendaEmbarcada.setPrecio(preco); vendaEmbarcada.setNumAsiento(numeroAssento); vendaEmbarcada.setPuntoVentaId(pontoVendaId); - //fixme verificar campo empresaPuntoVentaId vendaEmbarcada.setEmpresaPuntoVentaId(empresaId.intValue()); vendaEmbarcada.setEstacionId(estacaoId); vendaEmbarcada.setRutaId(rutaId); @@ -69,7 +70,7 @@ public class VendaEmbarcadaRS { String data[] = dataCorrida.split("__"); if (data.length != 2){ - return DATA_COM_FORMATO_INVALIDO; + return retornoJson.concat(DATA_COM_FORMATO_INVALIDO + "'}"); } vendaEmbarcada.setFecCorrida(new Date(new SimpleDateFormat("dd/MM/yyyy hh:mm:ss").parse(data[0].replace("_", "/").concat(" ").concat(data[1].replace("_", ":"))).getTime())); @@ -84,14 +85,12 @@ public class VendaEmbarcadaRS { CajaDAO cajaDAO = (CajaDAO) AppContext.getApplicationContext().getBean("cajaDAO"); - if (!cajaDAO.gerarVendaEmbarcada(vendaEmbarcada)){ - return ERRO_PROCESSO_VENDA; - } + int retornoVenda = cajaDAO.gerarVendaEmbarcada(vendaEmbarcada); - return VENDA_GERADA_COM_SUCESSO; + return retornoJson.concat(retornoVenda + "'}"); } catch (ParseException e) { e.printStackTrace(); - return DATA_COM_FORMATO_INVALIDO; + return retornoJson.concat(DATA_COM_FORMATO_INVALIDO + "'}"); } } } \ No newline at end of file