Modificação do webservice /cajasCerrados: Adicionado os campos para filtro cveusuario e turnoid (http://url:porta/ventaboletosadm/rest/cajasCerrados?fecha=...&cveusuario=...&turnoid=...)

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@33941 d1611594-4594-4d17-8e1d-87c2c4800839
master
alberto 2014-02-27 22:06:16 +00:00
parent dd99abfc74
commit ae01f70fce
12 changed files with 192 additions and 73 deletions

View File

@ -9,5 +9,5 @@ import com.rjconsultores.ventaboletos.vo.caja.UsuarioVO;
public interface CajaDAO {
public List<CajaVO> buscarCajaFecha(boolean yaCerrado, Date fechaDesde, Date fechaHasta);
public List<UsuarioVO> buscarCajaCerrado(Date fecha);
public List<UsuarioVO> buscarCajaCerrado(Date fecha, String cveusuario, String turnoid);
}

View File

@ -6,6 +6,8 @@ package com.rjconsultores.ventaboletos.dao;
import com.rjconsultores.ventaboletos.entidad.Empleado;
import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.vo.caja.UsuarioActivoVO;
import java.util.List;
/**
@ -21,4 +23,6 @@ public interface UsuarioDAO extends GenericDAO<Usuario, Integer> {
public List<Usuario> buscarPorEmpleado(Empleado empleado);
public List<Usuario> buscarPelaCveUsuario(String cveUsuario);
public List<UsuarioActivoVO> buscarUsuariosActivo();
}

View File

@ -24,7 +24,6 @@ import com.rjconsultores.ventaboletos.vo.caja.UsuarioVO;
@Repository("cajaDAO")
public class CajaHibernateDAO extends GenericHibernateDAO<Object, Long> implements CajaDAO {
@Autowired
private SQLBuilder sqlBuilder;
@ -77,17 +76,26 @@ public class CajaHibernateDAO extends GenericHibernateDAO<Object, Long> implemen
return sql.list();
}
public List<UsuarioVO> buscarCajaCerrado(Date fecha){
public List<UsuarioVO> buscarCajaCerrado(Date fecha, String cveusuario, String turnoid) {
try{
String sqlBuscarUsuariosCajaCerrado = sqlBuilder.getSQLBuscarUsuariosCajaCerrado(fecha);
String sqlBuscarUsuariosCajaCerrado = sqlBuilder.getSQLBuscarUsuariosCajaCerrado(fecha, cveusuario, turnoid);
SQLQuery sql = getSession().createSQLQuery(sqlBuscarUsuariosCajaCerrado)
.addScalar("usuarioId", IntegerType.INSTANCE)
.addScalar("nombusuario", StringType.INSTANCE);
.addScalar("cveusuario", StringType.INSTANCE)
.addScalar("puntoVentaId", IntegerType.INSTANCE)
.addScalar("fecCorte", DateType.INSTANCE)
.addScalar("turnoId", IntegerType.INSTANCE)
.addScalar("importeTotal", BigDecimalType.INSTANCE);
sql.setResultTransformer(new AliasToBeanResultTransformer(UsuarioVO.class));
List<UsuarioVO> usuarios = sql.list();
for (UsuarioVO u : usuarios){
String sqlBuscarCajaFecha = sqlBuilder.getSQLBuscarCajaCerrado(u.getUsuarioId(), fecha);
sql = getSession().createSQLQuery(sqlBuscarCajaFecha)
.addScalar("cajaId", LongType.INSTANCE)
.addScalar("numFolioSistema", StringType.INSTANCE)
@ -95,16 +103,11 @@ public class CajaHibernateDAO extends GenericHibernateDAO<Object, Long> implemen
.addScalar("destino", StringType.INSTANCE)
.addScalar("corridaId", IntegerType.INSTANCE)
.addScalar("precioBase", BigDecimalType.INSTANCE)
.addScalar("precioPagado", BigDecimalType.INSTANCE)
.addScalar("fecHorVenta", DateType.INSTANCE)
.addScalar("puntoVentaId", IntegerType.INSTANCE)
.addScalar("importeTaxaEmbarque", BigDecimalType.INSTANCE)
.addScalar("ruta", StringType.INSTANCE)
.addScalar("numAutorizacion", StringType.INSTANCE)
.addScalar("ordenSevicio", StringType.INSTANCE)
.addScalar("fecCorte", DateType.INSTANCE)
.addScalar("turnoId", IntegerType.INSTANCE)
.addScalar("importeTotal", BigDecimalType.INSTANCE)
.addScalar("secretaria", StringType.INSTANCE)
.addScalar("emissorTarjeta", StringType.INSTANCE)
.addScalar("tipoPasaje", StringType.INSTANCE);
@ -126,5 +129,4 @@ public class CajaHibernateDAO extends GenericHibernateDAO<Object, Long> implemen
return null;
}
}
}

View File

@ -5,13 +5,22 @@
package com.rjconsultores.ventaboletos.dao.hibernate;
import com.rjconsultores.ventaboletos.dao.UsuarioDAO;
import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
import com.rjconsultores.ventaboletos.entidad.Empleado;
import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.vo.caja.UsuarioActivoVO;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.hibernate.transform.AliasToBeanResultTransformer;
import org.hibernate.type.IntegerType;
import org.hibernate.type.StringType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
@ -21,8 +30,9 @@ import org.springframework.stereotype.Repository;
* @author rodrigo
*/
@Repository("usuarioDAO")
public class UsuarioHibernateDAO extends GenericHibernateDAO<Usuario, Integer>
implements UsuarioDAO {
public class UsuarioHibernateDAO extends GenericHibernateDAO<Usuario, Integer> implements UsuarioDAO {
@Autowired
private SQLBuilder sqlBuilder;
@Autowired
public UsuarioHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
@ -73,4 +83,18 @@ public class UsuarioHibernateDAO extends GenericHibernateDAO<Usuario, Integer>
return c.list();
}
@SuppressWarnings("unchecked")
public List<UsuarioActivoVO> buscarUsuariosActivo() {
String sqlBuscarUsuariosActivo = sqlBuilder.getSQLBuscarUsuariosActivo();
SQLQuery sql = getSession().createSQLQuery(sqlBuscarUsuariosActivo)
.addScalar("usuarioId", IntegerType.INSTANCE)
.addScalar("cveusuario", StringType.INSTANCE)
.addScalar("nombusuario", StringType.INSTANCE);
sql.setResultTransformer(new AliasToBeanResultTransformer(UsuarioActivoVO.class));
return sql.list();
}
}

View File

@ -44,10 +44,12 @@ public interface SQLBuilder {
public String getSQLBuscarCajaFecha(boolean yaCerrado, Date fechaDesde, Date fechaHasta);
public String getSQLBuscarUsuariosCajaCerrado(Date fecha);
public String getSQLBuscarUsuariosCajaCerrado(Date fecha, String cveusuario, String turnoid);
public String getSQLBuscarCajaCerrado(Integer usuarioId, Date fecha);
public String getSQLBuscarReceitasDespesasCaja(Integer usuarioId, Date fec);
public String getSQLBuscarUsuariosActivo();
}

View File

@ -7,7 +7,6 @@ import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
import com.rjconsultores.ventaboletos.dao.util.DBUtil;
public class SQLBuilderOracle implements SQLBuilder {
private static final Integer HORAS_NO_DIA = Integer.valueOf(24);
@Override
@ -608,14 +607,18 @@ public class SQLBuilderOracle implements SQLBuilder {
}
@Override
public String getSQLBuscarUsuariosCajaCerrado(Date fecha){
public String getSQLBuscarUsuariosCajaCerrado(Date fecha, String cveusuario, String turnoid) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
StringBuilder sb = new StringBuilder("");
sb.append(" select distinct ");
sb.append(" ");
sb.append(" u.usuario_id as \"usuarioId\", ");
sb.append(" u.nombusuario as \"nombusuario\" ");
sb.append(" u.cveusuario as \"cveusuario\", ");
sb.append(" c.PUNTOVENTA_ID as \"puntoVentaId\", ");
sb.append(" c.FECCORTE as \"fecCorte\", ");
sb.append(" c.TURNO_ID as \"turnoId\", ");
sb.append(" (select sum(importe) from conta_corrente_ptovta ccpv where ccpv.puntoventa_id = c.puntoventa_id and ccpv.usuario_id = c.usuario_id and ccpv.feccorte = c.feccorte and ccpv.turno_id = c.turno_id) as \"importeTotal\"");
sb.append(" ");
sb.append(" from ");
sb.append(" caja c ");
@ -625,6 +628,14 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" trunc(c.feccorte) = to_date('").append(sdf.format(fecha)).append("','yyyy-MM-dd')");
sb.append(" and c.turno_id is not null");
if (! cveusuario.equals("*")) {
sb.append(" and u.cveusuario like '" + cveusuario + "'");
}
if (! turnoid.equals("*")) {
sb.append(" and c.turno_id in(" + turnoid + ")");
}
return sb.toString();
}
@ -643,14 +654,10 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" c.PRECIOBASE as \"precioBase\", ");
sb.append(" c.PRECIOPAGADO as \"precioPagado\", ");
sb.append(" c.FECHORVENTA as \"fecHorVenta\", ");
sb.append(" c.PUNTOVENTA_ID as \"puntoVentaId\", ");
sb.append(" c.IMPORTETAXAEMBARQUE as \"importeTaxaEmbarque\", ");
sb.append(" ru.descruta as \"ruta\", ");
sb.append(" ct.numautorizacion as \"numAutorizacion\", ");
sb.append(" (case when cfp.formapago_id = 11 then cdp.numdocumento else null end) as \"ordenSevicio\", ");
sb.append(" c.FECCORTE as \"fecCorte\", ");
sb.append(" c.TURNO_ID as \"turnoId\", ");
sb.append(" (select sum(importe) from conta_corrente_ptovta ccpv where ccpv.puntoventa_id = c.puntoventa_id and ccpv.usuario_id = c.usuario_id and ccpv.feccorte = c.feccorte and ccpv.turno_id = c.turno_id) as \"importeTotal\", ");
sb.append(" s.descsecretaria as \"secretaria\", ");
sb.append(" ct.TIPOTARJETA as \"emissorTarjeta\", ");
sb.append(" cat.DESCCATEGORIA as \"tipoPasaje\" ");
@ -695,4 +702,22 @@ public class SQLBuilderOracle implements SQLBuilder {
return sb.toString();
}
@Override
public String getSQLBuscarUsuariosActivo() {
StringBuilder sb = new StringBuilder("");
sb.append(" select distinct");
sb.append(" u.usuario_id as \"usuarioId\",");
sb.append(" u.cveusuario as \"cveusuario\",");
sb.append(" u.NOMBUSUARIO||' '||u.NOMBPATERNO||' '||u.NOMBMATERNO as \"nombusuario\"");
sb.append(" from");
sb.append(" usuario u");
sb.append(" where");
sb.append(" u.activo = 1");
sb.append(" order by");
sb.append(" u.usuario_id");
return sb.toString();
}
}

View File

@ -16,16 +16,11 @@ public class CajaCerradoVO {
private String destino;
private Integer corridaId;
private BigDecimal precioBase;
private BigDecimal precioPagado;
private Date fecHorVenta;
private Integer puntoVentaId;
private BigDecimal importeTaxaEmbarque;
private String ruta;
private String numAutorizacion;
private String ordenSevicio;
private Date fecCorte;
private Integer turnoId;
private BigDecimal importeTotal;
private String secretaria;
private String emissorTarjeta;
private String tipoPasaje;
@ -37,22 +32,16 @@ public class CajaCerradoVO {
this.destino = "";
this.corridaId = new Integer(-1);
this.precioBase = new BigDecimal(0);
this.precioPagado = new BigDecimal(0);
this.fecHorVenta = new Date();
this.puntoVentaId = new Integer(-1);
this.importeTaxaEmbarque = new BigDecimal(0);
this.ruta = "";
this.numAutorizacion = "";
this.ordenSevicio = "";
this.fecCorte = new Date();;
this.turnoId = new Integer(-1);
this.importeTotal = new BigDecimal(0);
this.secretaria = "";
this.emissorTarjeta = "";
this.tipoPasaje = "";
}
public Long getCajaId() {
return cajaId;
}
@ -89,24 +78,12 @@ public class CajaCerradoVO {
public void setPrecioBase(BigDecimal precioBase) {
this.precioBase = precioBase;
}
public BigDecimal getPrecioPagado() {
return precioPagado;
}
public void setPrecioPagado(BigDecimal precioPagado) {
this.precioPagado = precioPagado;
}
public Date getFecHorVenta() {
return fecHorVenta;
}
public void setFecHorVenta(Date fecHorVenta) {
this.fecHorVenta = fecHorVenta;
}
public Integer getPuntoVentaId() {
return puntoVentaId;
}
public void setPuntoVentaId(Integer puntoVentaId) {
this.puntoVentaId = puntoVentaId;
}
public BigDecimal getImporteTaxaEmbarque() {
return importeTaxaEmbarque;
}
@ -131,24 +108,6 @@ public class CajaCerradoVO {
public void setOrdenSevicio(String ordenSevicio) {
this.ordenSevicio = ordenSevicio;
}
public Date getFecCorte() {
return fecCorte;
}
public void setFecCorte(Date fecCorte) {
this.fecCorte = fecCorte;
}
public Integer getTurnoId() {
return turnoId;
}
public void setTurnoId(Integer turnoId) {
this.turnoId = turnoId;
}
public BigDecimal getImporteTotal() {
return importeTotal;
}
public void setImporteTotal(BigDecimal importeTotal) {
this.importeTotal = importeTotal;
}
public String getCodigoSecretaria() {
return secretaria;
}

View File

@ -0,0 +1,37 @@
package com.rjconsultores.ventaboletos.vo.caja;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class UsuarioActivoVO {
private Integer usuarioId;
private String nombusuario;
private String cveusuario;
public UsuarioActivoVO() {
}
public Integer getUsuarioId() {
return usuarioId;
}
public void setUsuarioId(Integer usuarioId) {
this.usuarioId = usuarioId;
}
public String getNombusuario() {
return nombusuario;
}
public void setNombusuario(String nombusuario) {
this.nombusuario = nombusuario;
}
public String getCveusuario() {
return cveusuario;
}
public void setCveusuario(String cveUsuario) {
this.cveusuario = cveUsuario;
}
}

View File

@ -1,5 +1,7 @@
package com.rjconsultores.ventaboletos.vo.caja;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.xml.bind.annotation.XmlRootElement;
@ -7,10 +9,21 @@ import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class UsuarioVO {
private Integer usuarioId;
private String nombusuario;
private String cveusuario;
private Integer puntoVentaId;
private Integer turnoId;
private Date fecCorte;
private BigDecimal importeTotal;
private List<CajaCerradoVO> pasajes;
private List<ReceitaDespesaVO> diversos;
public UsuarioVO() {
this.puntoVentaId = new Integer(-1);
this.fecCorte = new Date();;
this.turnoId = new Integer(-1);
this.importeTotal = new BigDecimal(0);
}
public List<CajaCerradoVO> getPasajes() {
return pasajes;
}
@ -23,11 +36,11 @@ public class UsuarioVO {
public void setDiversos(List<ReceitaDespesaVO> diversos) {
this.diversos = diversos;
}
public String getNombusuario() {
return nombusuario;
public String getCveusuario() {
return cveusuario;
}
public void setNombusuario(String nombusuario) {
this.nombusuario = nombusuario;
public void setCveusuario(String cveusuario) {
this.cveusuario = cveusuario;
}
public Integer getUsuarioId() {
return usuarioId;
@ -35,4 +48,28 @@ public class UsuarioVO {
public void setUsuarioId(Integer usuarioId) {
this.usuarioId = usuarioId;
}
public Integer getPuntoVentaId() {
return puntoVentaId;
}
public void setPuntoVentaId(Integer puntoVentaId) {
this.puntoVentaId = puntoVentaId;
}
public Date getFecCorte() {
return fecCorte;
}
public void setFecCorte(Date fecCorte) {
this.fecCorte = fecCorte;
}
public Integer getTurnoId() {
return turnoId;
}
public void setTurnoId(Integer turnoId) {
this.turnoId = turnoId;
}
public BigDecimal getImporteTotal() {
return importeTotal;
}
public void setImporteTotal(BigDecimal importeTotal) {
this.importeTotal = importeTotal;
}
}

View File

@ -21,20 +21,26 @@ import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
public class CajaCerrado {
@GET
@Produces({ MediaType.APPLICATION_XML })
public List<UsuarioVO> buscarCajaCerrado(@QueryParam("fecha") String fecha) {
public List<UsuarioVO> buscarCajaCerrado(@QueryParam("fecha") String fecha, @QueryParam("cveusuario") String cveusuario, @QueryParam("turnoid") String turnoid) {
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Date fec = new Date(); Date fecHastaD = new Date();
Date fec = new Date();
try {
fec = StringUtils.isBlank(fecha) ? new Date() : sdf.parse(fecha);
} catch (Exception e) {
}
if (cveusuario == null) {
cveusuario = "*";
}
if (turnoid == null) {
turnoid = "*";
}
CajaDAO cajaDAO = (CajaDAO) AppContext.getApplicationContext().getBean("cajaDAO");
List<UsuarioVO> list = cajaDAO.buscarCajaCerrado(fec);
List<UsuarioVO> list = cajaDAO.buscarCajaCerrado(fec, cveusuario, turnoid);
return list;
}

View File

@ -18,7 +18,6 @@ import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
@Path("/cajas")
public class CajaRS {
@GET
@Produces({ MediaType.APPLICATION_XML })
public List<CajaVO> buscarCaja(@QueryParam("yaCerrado") boolean yaCerrado, @QueryParam("fecDesde") String fecDesde, @QueryParam("fecHasta") String fecHasta) {

View File

@ -0,0 +1,24 @@
package com.rjconsultores.ventaboletos.ws.rs;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.rjconsultores.ventaboletos.dao.UsuarioDAO;
import com.rjconsultores.ventaboletos.vo.caja.UsuarioActivoVO;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
@Path("/usuarios")
public class UsuarioRS {
@GET
@Produces({ MediaType.APPLICATION_XML })
public List<UsuarioActivoVO> buscarUsuarios() {
UsuarioDAO dao = (UsuarioDAO) AppContext.getApplicationContext().getBean("usuarioDAO");
List<UsuarioActivoVO> retorno = dao.buscarUsuariosActivo();
return retorno;
}
}