eduardo.dicarde 2015-12-18 19:20:26 +00:00
parent 4f42fa8c19
commit 40170c63cb
3 changed files with 37 additions and 16 deletions

View File

@ -11,5 +11,5 @@ public interface CajaDAO {
public List<CajaVO> buscarCajaFecha(boolean yaCerrado, Date fechaDesde, Date fechaHasta); public List<CajaVO> buscarCajaFecha(boolean yaCerrado, Date fechaDesde, Date fechaHasta);
public List<UsuarioVO> buscarCajaCerrado(Date fecha, String cveusuario, String turnoid); public List<UsuarioVO> buscarCajaCerrado(Date fecha, String cveusuario, String turnoid);
List<UsuarioVO> buscarUsuarioCerrado(Date fecha); List<UsuarioVO> buscarUsuarioCerrado(Date fecha);
public boolean gerarVendaEmbarcada(VendaEmbarcadaVO vendaEmbarcada); public Integer gerarVendaEmbarcada(VendaEmbarcadaVO vendaEmbarcada);
} }

View File

@ -32,6 +32,12 @@ public class CajaHibernateDAO extends GenericHibernateDAO<Object, Long> implemen
private static Logger log = org.slf4j.LoggerFactory.getLogger(CajaHibernateDAO.class); private static Logger log = org.slf4j.LoggerFactory.getLogger(CajaHibernateDAO.class);
@Autowired @Autowired
private SQLBuilder sqlBuilder; 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 @Autowired
public CajaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { public CajaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
@ -177,13 +183,29 @@ public class CajaHibernateDAO extends GenericHibernateDAO<Object, Long> implemen
} }
@Override @Override
public boolean gerarVendaEmbarcada(VendaEmbarcadaVO vendaEmbarcada) { public Integer gerarVendaEmbarcada(VendaEmbarcadaVO vendaEmbarcada) {
boolean statusBoleto = inserirBoletoVendaEmbarcada(vendaEmbarcada); boolean statusBoleto = inserirBoletoVendaEmbarcada(vendaEmbarcada);
boolean statusBoletoFormaPago = inserirBoletoFormaPagoVendaEmbarcada(vendaEmbarcada); boolean statusBoletoFormaPago = inserirBoletoFormaPagoVendaEmbarcada(vendaEmbarcada);
boolean statusCaja = inserirCajaVendaEmbarcada(vendaEmbarcada); boolean statusCaja = inserirCajaVendaEmbarcada(vendaEmbarcada);
boolean statusCajaFormaPago = inserirCajaFormaPagoVendaEmbarcada(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){ private boolean inserirCajaVendaEmbarcada(VendaEmbarcadaVO vendaEmbarcada){

View File

@ -20,17 +20,16 @@ import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
@Path("vendaEmbarcada") @Path("vendaEmbarcada")
public class VendaEmbarcadaRS { public class VendaEmbarcadaRS {
private final int VENDA_GERADA_COM_SUCESSO = 0;
private final int CATEGORIA_NAO_SUPORTADA = 1; private final int CATEGORIA_NAO_SUPORTADA = 5;
private final int DATA_COM_FORMATO_INVALIDO = 2; private final int DATA_COM_FORMATO_INVALIDO = 6;
private final int ERRO_PROCESSO_VENDA = 3;
private final int TIPO_VENDA_NORMAL = 3; private final int TIPO_VENDA_NORMAL = 3;
@POST @POST
@Path("/gerarVenda/{numeroAssento}/{categoria}/{origemId}/{destinoId}/{servicoId}/{dataCorrida}/{dataVenda}/{preco}/{tipoVendaId}/{pontoVendaId}/{empresaCorridaId}/{estacaoId}/{usuarioId}/{empresaId}/{taxaEmbarque}/{pedagio}/{outros}/{seguro}/{rutaId}/{formaPagoId}/{classeServicoId}") @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}) @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("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("preco") BigDecimal preco, @PathParam("tipoVendaId") Integer tipoVendaId, @PathParam("pontoVendaId") Integer pontoVendaId,
@PathParam("empresaCorridaId") Integer empresaCorridaId, @PathParam("estacaoId") Integer estacaoId, @PathParam("usuarioId") Integer usuarioId, @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("outros") BigDecimal importeOutros, @PathParam("seguro") BigDecimal importeSeguro, @PathParam("rutaId") Integer rutaId, @PathParam("formaPagoId") Integer formaPagoId,
@PathParam("classeServicoId") Integer classeServicoId){ @PathParam("classeServicoId") Integer classeServicoId){
String retornoJson = "{'response':'";
try { try {
int categoriaId = 1; int categoriaId = 1;
if (!categoria.equalsIgnoreCase("normal")){ if (!categoria.equalsIgnoreCase("normal")){
return CATEGORIA_NAO_SUPORTADA; return retornoJson.concat(CATEGORIA_NAO_SUPORTADA + "'}");
} }
VendaEmbarcadaVO vendaEmbarcada = new VendaEmbarcadaVO(); VendaEmbarcadaVO vendaEmbarcada = new VendaEmbarcadaVO();
@ -59,7 +61,6 @@ public class VendaEmbarcadaRS {
vendaEmbarcada.setPrecio(preco); vendaEmbarcada.setPrecio(preco);
vendaEmbarcada.setNumAsiento(numeroAssento); vendaEmbarcada.setNumAsiento(numeroAssento);
vendaEmbarcada.setPuntoVentaId(pontoVendaId); vendaEmbarcada.setPuntoVentaId(pontoVendaId);
//fixme verificar campo empresaPuntoVentaId
vendaEmbarcada.setEmpresaPuntoVentaId(empresaId.intValue()); vendaEmbarcada.setEmpresaPuntoVentaId(empresaId.intValue());
vendaEmbarcada.setEstacionId(estacaoId); vendaEmbarcada.setEstacionId(estacaoId);
vendaEmbarcada.setRutaId(rutaId); vendaEmbarcada.setRutaId(rutaId);
@ -69,7 +70,7 @@ public class VendaEmbarcadaRS {
String data[] = dataCorrida.split("__"); String data[] = dataCorrida.split("__");
if (data.length != 2){ 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())); 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"); CajaDAO cajaDAO = (CajaDAO) AppContext.getApplicationContext().getBean("cajaDAO");
if (!cajaDAO.gerarVendaEmbarcada(vendaEmbarcada)){ int retornoVenda = cajaDAO.gerarVendaEmbarcada(vendaEmbarcada);
return ERRO_PROCESSO_VENDA;
}
return VENDA_GERADA_COM_SUCESSO; return retornoJson.concat(retornoVenda + "'}");
} catch (ParseException e) { } catch (ParseException e) {
e.printStackTrace(); e.printStackTrace();
return DATA_COM_FORMATO_INVALIDO; return retornoJson.concat(DATA_COM_FORMATO_INVALIDO + "'}");
} }
} }
} }