fixes bug #9528
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@72265 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
2f95e70e95
commit
5ce838803f
|
@ -4,7 +4,6 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
||||
import com.rjconsultores.ventaboletos.entidad.PtovtaComissao;
|
||||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.HistoricoComissao;
|
||||
|
|
|
@ -32,7 +32,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.zkoss.util.resource.Labels;
|
||||
|
||||
import com.rjconsultores.ventaboletos.constantes.Constantes;
|
||||
import com.rjconsultores.ventaboletos.dao.ConferenciaComissaoDAO;
|
||||
|
@ -158,6 +157,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
return;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private void carregarPuntoVentas(List<ConferenciaComissaoVO> lsConferencias, String competencia,
|
||||
Empresa empresa, PuntoVenta puntoVenta, Date dataMovimento) throws BusinessException {
|
||||
try {
|
||||
|
@ -205,20 +205,19 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private void carregarConferenciasRegistradas(List<ConferenciaComissaoVO> lsConferencias,
|
||||
String competencia, Empresa empresa, PuntoVenta puntoVenta, Date dataMovimento, Map<String, Object> parametros) throws BusinessException {
|
||||
try {
|
||||
if(parametros == null){
|
||||
parametros = carregarParametros(null, null, competencia, empresa, puntoVenta, dataMovimento, false);
|
||||
parametros = carregarParametros(null, null, competencia, empresa, puntoVenta, dataMovimento, false);
|
||||
}
|
||||
StringBuilder sQuery = new StringBuilder("SELECT co FROM Conferencia co ");
|
||||
sQuery.append("JOIN co.empresa em ").append("JOIN co.puntoVenta pv ")
|
||||
.append("WHERE co.activo = 1 ");
|
||||
if(dataMovimento != null){
|
||||
sQuery.append("AND co.datamovimento BETWEEN TO_DATE(:dataInicial,'DD/MM/YYYY HH24:MI') AND TO_DATE(:dataFinal,'DD/MM/YYYY HH24:MI')");
|
||||
}else{
|
||||
sQuery.append("AND co.datamovimento BETWEEN :dataInicial AND :dataFinal ");
|
||||
}
|
||||
sQuery.append("JOIN co.empresa em ")
|
||||
.append("JOIN co.puntoVenta pv ")
|
||||
.append("WHERE co.activo = 1 ")
|
||||
.append("AND co.datamovimento BETWEEN TO_DATE(:dataInicial,'DD/MM/YYYY HH24:MI') AND TO_DATE(:dataFinal,'DD/MM/YYYY HH24:MI') ");
|
||||
|
||||
if (parametros.containsKey("empresaId")) {
|
||||
sQuery.append("AND em.empresaId = :empresaId ");
|
||||
}
|
||||
|
@ -228,7 +227,9 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
|
||||
Query qr = getSession().createQuery(sQuery.toString());
|
||||
setParametros(qr, parametros);
|
||||
processarQueryConferencia(qr.list(), lsConferencias, competencia, dataMovimento, (Date) parametros.get("dataInicial"),(Date) parametros.get("dataFinal"));
|
||||
Date dataInicial = parametros.get("dataInicial") != null ? DateUtil.getDateFromString(parametros.get("dataInicial").toString(), "dd/MM/yyyy HH:mm") : null;
|
||||
Date dataFinal = parametros.get("dataFinal") != null ? DateUtil.getDateFromString(parametros.get("dataFinal").toString(), "dd/MM/yyyy HH:mm") : null;
|
||||
processarQueryConferencia(qr.list(), lsConferencias, competencia, dataMovimento, dataInicial, dataFinal);
|
||||
}
|
||||
catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
|
@ -236,6 +237,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
private void setParametros(Query qr, Map<String, Object> parametros) {
|
||||
for (Entry<String, Object> parametro : parametros.entrySet()) {
|
||||
if (parametro.getValue() instanceof Collection) {
|
||||
|
@ -257,7 +259,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
ResultSet rset = null;
|
||||
try {
|
||||
|
||||
Map<String, Object> parametros = carregarParametros(dataInicialDate, dataFinalDate, competencia, empresa, puntoVenta, dataMovimento, false);
|
||||
Map<String, Object> parametros = carregarParametros(dataInicialDate, dataFinalDate, competencia, empresa, puntoVenta, dataMovimento, false);
|
||||
|
||||
StringBuilder sQuery = new StringBuilder()
|
||||
.append("SELECT PV.PUNTOVENTA_ID AS \"puntoventaId\", PV.NUMPUNTOVENTA as \"numPuntoVenta\", ")
|
||||
|
@ -279,19 +281,8 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
|
||||
int idxParametro = 1;
|
||||
stmt = con.prepareStatement(sQuery.toString());
|
||||
String dataIncial = null;
|
||||
String dataFinal = null;
|
||||
|
||||
if (dataInicialDate != null) {
|
||||
dataIncial = DateUtil.getStringDate(DateUtil.inicioFecha(dataInicialDate), "dd/MM/yyyy HH:mm");
|
||||
dataFinal = DateUtil.getStringDate(DateUtil.fimFecha(dataFinalDate), "dd/MM/yyyy HH:mm");
|
||||
} else if (parametros.get("dataInicial") instanceof String) {
|
||||
dataIncial = (String) parametros.get("dataInicial");
|
||||
dataFinal = (String) parametros.get("dataFinal");
|
||||
} else {
|
||||
dataIncial = DateUtil.getStringDate(DateUtil.inicioFecha((Date) parametros.get("dataInicial")), "dd/MM/yyyy HH:mm");
|
||||
dataFinal = DateUtil.getStringDate(DateUtil.fimFecha((Date) parametros.get("dataFinal")), "dd/MM/yyyy HH:mm");
|
||||
}
|
||||
String dataIncial = (String) parametros.get("dataInicial");
|
||||
String dataFinal = (String) parametros.get("dataFinal");
|
||||
stmt.setString(idxParametro++, dataIncial );
|
||||
stmt.setString(idxParametro++, dataFinal);
|
||||
if (parametros.containsKey("empresaId")) {
|
||||
|
@ -488,20 +479,14 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
parametros.put("dataFinal", DateUtil.getStringDate(DateUtil.fimFecha(datamovimento), formatoData));
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(competencia)) {
|
||||
String[] vetCompetencia = competencia.split("/");
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.set(Calendar.MONTH, Integer.valueOf(vetCompetencia[0]) - 1);
|
||||
cal.set(Calendar.YEAR, Integer.valueOf(vetCompetencia[1]));
|
||||
|
||||
parametros.put("dataInicial", DateUtil.getDateFromString(
|
||||
cal.getActualMinimum(Calendar.DAY_OF_MONTH) + "/" + competencia + " 00:00:00", formatoData));
|
||||
parametros.put("dataFinal", DateUtil.getDateFromString(
|
||||
cal.getActualMaximum(Calendar.DAY_OF_MONTH) + "/" + competencia + " 23:59:59", formatoData));
|
||||
if (StringUtils.isNotBlank(competencia) && datamovimento == null) {
|
||||
parametros.put("dataInicial", DateUtil.getStringDate(DateUtil.inicioFecha(DateUtil.getDataInicialCompetencia(competencia)), formatoData));
|
||||
parametros.put("dataFinal", DateUtil.getStringDate(DateUtil.fimFecha(DateUtil.getDataFinalCompetencia(competencia)), formatoData));
|
||||
}
|
||||
|
||||
if(parametros.get("dataInicial") == null && dataInicial != null){
|
||||
parametros.put("dataInicial", dataInicial);
|
||||
parametros.put("dataFinal", dataFinal);
|
||||
parametros.put("dataInicial", DateUtil.getStringDate(dataInicial, formatoData));
|
||||
parametros.put("dataFinal", DateUtil.getStringDate(dataFinal, formatoData));
|
||||
}
|
||||
|
||||
return parametros;
|
||||
|
@ -609,10 +594,11 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<EventosFinanceirosVO> carregarEventosFinanceiros(Conferencia conferencia)
|
||||
throws BusinessException {
|
||||
try {
|
||||
Map<String, Object> parametros = carregarParametros(null, null, null, conferencia.getEmpresa(),
|
||||
Map<String, Object> parametros = carregarParametros(null, null, conferencia.getCompetencia(), conferencia.getEmpresa(),
|
||||
conferencia.getPuntoVenta(), conferencia.getDatamovimento(), true);
|
||||
StringBuilder sQuery = new StringBuilder()
|
||||
.append("SELECT EE.BOLETO_ID AS \"boletoId\", EE.EVENTOEXTRA_ID AS \"eventoextraId\", EE.NUMDOCUMENTO AS \"numdocumento\", ")
|
||||
|
@ -621,7 +607,9 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.append("TEE.INDTIPO AS \"indtipo\", U.NOMBUSUARIO AS \"nombusuario\", LOG.LOGCONFERENCIA_ID AS \"logconferenciaId\", ")
|
||||
.append("COMFP.COMEMPFORMAPAGO_ID AS \"comempformapagoId\", COMTEE.COMEMPTIPOEVENTOEXTRA_ID AS \"comemptipoeventoextraId\", ")
|
||||
.append("COALESCE(CEC.INDTIPO_DEB_CRED, 0) AS \"tipoeventoextradebcred\", ")
|
||||
.append("CEC.INDEVENTOSFINANCEIROS AS \"exigeConferenciaAba\", B.NUMFOLIOSISTEMA \"numFolioSistema\" ")
|
||||
.append("CEC.INDEVENTOSFINANCEIROS AS \"exigeConferenciaAba\", B.NUMFOLIOSISTEMA \"numFolioSistema\", ")
|
||||
.append("TEE.CVETIPOEVENTO AS \"cvetipoevento\", CD.FECCORTE AS \"feccorte\", ")
|
||||
.append("EI.ICMS as \"icmsBase\", NVL(EST.ESTADO_ID,0) as \"estadoId\" ")
|
||||
.append("FROM EVENTO_EXTRA EE ")
|
||||
.append("JOIN TIPO_EVENTO_EXTRA TEE ON EE.TIPOEVENTOEXTRA_ID = TEE.TIPOEVENTOEXTRA_ID ")
|
||||
.append("JOIN CAJA_DIVERSOS CD ON CD.EVENTOEXTRA_ID = EE.EVENTOEXTRA_ID ")
|
||||
|
@ -633,6 +621,12 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.append("LEFT JOIN COM_EMP_FORMAPAGO COMFP ON COMFP.FORMAPAGO_ID = FP.FORMAPAGO_ID AND COMFP.EMPRESA_ID = EE.EMPRESA_ID AND COMFP.ACTIVO = 1 ")
|
||||
.append("LEFT JOIN COM_EMP_TIPOEVENTOEXTRA COMTEE ON COMTEE.TIPOEVENTOEXTRA_ID = TEE.TIPOEVENTOEXTRA_ID AND COMTEE.EMPRESA_ID = EE.EMPRESA_ID AND COMTEE.ACTIVO = 1 ")
|
||||
.append("LEFT JOIN BOLETO B ON B.BOLETO_ID = EE.BOLETO_ID ")
|
||||
.append("LEFT JOIN PARADA ORI ON ORI.PARADA_ID = B.ORIGEN_ID ")
|
||||
.append("LEFT JOIN CIUDAD CID ON CID.CIUDAD_ID = ORI.CIUDAD_ID ")
|
||||
.append("LEFT JOIN ESTADO EST ON EST.ESTADO_ID = CID.ESTADO_ID ")
|
||||
.append("LEFT JOIN MARCA M ON B.MARCA_ID = M.MARCA_ID ")
|
||||
.append("LEFT JOIN EMPRESA E ON E.EMPRESA_ID = M.EMPRESA_ID ")
|
||||
.append("LEFT JOIN EMPRESA_IMPOSTO EI ON (EI.ESTADO_ID = EST.ESTADO_ID AND EI.EMPRESA_ID = E.EMPRESA_ID AND EI.ACTIVO = 1) ")
|
||||
.append("WHERE EE.ACTIVO = 1 ")
|
||||
.append("AND CD.FECCORTE BETWEEN TO_DATE(:dataInicial, 'DD/MM/YYYY') AND TO_DATE(:dataFinal, 'DD/MM/YYYY') ")
|
||||
;
|
||||
|
@ -652,7 +646,8 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.addScalar("numdocumento", Hibernate.STRING)
|
||||
.addScalar("impingreso", Hibernate.BIG_DECIMAL)
|
||||
.addScalar("desctipoevento", Hibernate.STRING)
|
||||
.addScalar("descinfo", Hibernate.STRING).addScalar("status", Hibernate.INTEGER)
|
||||
.addScalar("descinfo", Hibernate.STRING)
|
||||
.addScalar("status", Hibernate.INTEGER)
|
||||
.addScalar("formapagoId", Hibernate.INTEGER)
|
||||
.addScalar("descpago", Hibernate.STRING)
|
||||
.addScalar("comempformapagoId", Hibernate.INTEGER)
|
||||
|
@ -663,6 +658,10 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.addScalar("logconferenciaId", Hibernate.LONG)
|
||||
.addScalar("exigeConferenciaAba", Hibernate.BOOLEAN)
|
||||
.addScalar("numFolioSistema", Hibernate.STRING)
|
||||
.addScalar("cvetipoevento", Hibernate.STRING)
|
||||
.addScalar("feccorte", Hibernate.DATE)
|
||||
.addScalar("icmsBase", Hibernate.BIG_DECIMAL)
|
||||
.addScalar("estadoId", Hibernate.INTEGER)
|
||||
.setResultTransformer(Transformers.aliasToBean(EventosFinanceirosVO.class));
|
||||
setParametros(qr, parametros);
|
||||
|
||||
|
@ -681,6 +680,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<LogConferenciaVO> carregarLogConferencia(Conferencia conferencia)
|
||||
throws BusinessException {
|
||||
try {
|
||||
|
@ -793,12 +793,12 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<BoletoComissao> carregarBilhetesComissao(Conferencia conferencia)
|
||||
throws BusinessException {
|
||||
try {
|
||||
Map<String, Object> parametros = carregarParametros(null, null, null, conferencia.getEmpresa(),
|
||||
Map<String, Object> parametros = carregarParametros(null, null, conferencia.getCompetencia(), conferencia.getEmpresa(),
|
||||
conferencia.getPuntoVenta(), conferencia.getDatamovimento(), true);
|
||||
|
||||
StringBuilder sQuery = new StringBuilder()
|
||||
|
@ -810,7 +810,9 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.append("CF.IMPORTE AS \"importeFp\", COMFP.COMEMPFORMAPAGO_ID AS \"comempformapagoId\", COMCAT.COMEMPCATEGORIA_ID AS \"comempcategoriaId\", C.NOMBPASAJERO AS \"nombpasajero\", ")
|
||||
.append("E.INDCARBOLETOSDEVOLVIDOSCONF AS \"indcarboletosdevolvidosconf\", C.FECCORRIDA AS \"feccorrida\", C.CORRIDA_ID \"corridaId\", ")
|
||||
.append("NVL(T.PRECIO,0) + NVL(T.IMPORTEPEDAGIO,0) + NVL(T.IMPORTETAXAEMBARQUE,0) + NVL(T.IMPORTESEGURO,0) + NVL(T.IMPORTEOUTROS,0) AS \"valorTabela\", ")
|
||||
.append("C.INDCANCELACION AS \"indCancelacion\", C.INDREIMPRESION AS \"indreimpresion\" ")
|
||||
.append("C.INDCANCELACION AS \"indCancelacion\", C.INDREIMPRESION AS \"indreimpresion\", C.FECCORTE AS \"feccorte\", ")
|
||||
.append("EI.ICMS as \"icmsBase\", EST.ESTADO_ID as \"estadoId\", ")
|
||||
.append("CASE WHEN C.PTOVTAVENTA_ID = C.PUNTOVENTA_ID THEN 1 ELSE 0 END AS ptoVtaOrigem ")
|
||||
.append("FROM CAJA C ")
|
||||
.append("LEFT JOIN PARADA ORI ON ORI.PARADA_ID = C.ORIGEN_ID ")
|
||||
.append("LEFT JOIN CIUDAD CID ON CID.CIUDAD_ID = ORI.CIUDAD_ID ")
|
||||
|
@ -823,6 +825,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.append("INNER JOIN USUARIO U ON C.USUARIO_ID = U.USUARIO_ID ")
|
||||
.append("INNER JOIN MARCA M ON C.MARCA_ID = M.MARCA_ID ")
|
||||
.append("INNER JOIN EMPRESA E ON E.EMPRESA_ID = M.EMPRESA_ID ")
|
||||
.append("LEFT JOIN EMPRESA_IMPOSTO EI ON (EI.ESTADO_ID = EST.ESTADO_ID AND EI.EMPRESA_ID = E.EMPRESA_ID AND EI.ACTIVO = 1) ")
|
||||
.append("LEFT JOIN COM_EMP_FORMAPAGO COMFP ON COMFP.FORMAPAGO_ID = FP.FORMAPAGO_ID AND COMFP.EMPRESA_ID = M.EMPRESA_ID AND COMFP.ACTIVO = 1 ")
|
||||
.append("LEFT JOIN COM_EMP_CATEGORIA COMCAT ON COMCAT.CATEGORIA_ID = C.CATEGORIA_ID AND COMCAT.EMPRESA_ID = M.EMPRESA_ID AND COMCAT.ACTIVO = 1 ")
|
||||
.append("INNER JOIN TARIFA T ON (T.DESTINO_ID = C.DESTINO_ID AND T.CLASESERVICIO_ID = C.CLASESERVICIO_ID AND T.MARCA_ID = M.MARCA_ID AND T.ORIGEN_ID = C.ORIGEN_ID AND T.RUTA_ID = C.RUTA_ID) ")
|
||||
|
@ -878,9 +881,12 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.addScalar("corridaId", Hibernate.INTEGER)
|
||||
.addScalar("indCancelacion", Hibernate.BOOLEAN)
|
||||
.addScalar("indreimpresion", Hibernate.BOOLEAN)
|
||||
.addScalar("feccorte", Hibernate.DATE)
|
||||
.addScalar("icmsBase", Hibernate.BIG_DECIMAL)
|
||||
.addScalar("estadoId", Hibernate.INTEGER)
|
||||
.addScalar("ptoVtaOrigem", Hibernate.BOOLEAN)
|
||||
.setResultTransformer(Transformers.aliasToBean(BoletoComissao.class));
|
||||
setParametros(qr, parametros);
|
||||
//qr.setParameter("motivocancelacionIdQuitacaoOcd", Constantes.MVO_CANCEL_QUITACAO_OCD.intValue());
|
||||
|
||||
List<BoletoComissao> lsBoletoComissao = new ArrayList<BoletoComissao>();
|
||||
List<BoletoComissao> auxLsBoletoComissao = qr.list();
|
||||
|
@ -928,6 +934,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<OcdVO> carregarOcds(Conferencia conferencia) throws BusinessException {
|
||||
try {
|
||||
Map<String, Object> parametros = carregarParametros(null, null, null, conferencia.getEmpresa(),
|
||||
|
@ -1064,6 +1071,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<LogConferencia> carregarLogConferencia(Long conferenciaId) throws BusinessException {
|
||||
try {
|
||||
StringBuilder sQuery = new StringBuilder()
|
||||
|
@ -1124,15 +1132,16 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public DiaConferenciaComissaoVO carregarConferenciaRegistrada(Date datamovimento,
|
||||
Empresa empresa, PuntoVenta puntoVenta) throws BusinessException {
|
||||
try {
|
||||
String competencia = DateUtil.getStringDate(datamovimento, "MM/yyyy");
|
||||
Map<String, Object> parametros = carregarParametros(null, null, competencia, empresa, puntoVenta, null, false);
|
||||
Map<String, Object> parametros = carregarParametros(null, null, competencia, empresa, puntoVenta, datamovimento, false);
|
||||
StringBuilder sQuery = new StringBuilder("SELECT co FROM Conferencia co ")
|
||||
.append("JOIN co.empresa em ").append("JOIN co.puntoVenta pv ")
|
||||
.append("WHERE co.activo = 1 ")
|
||||
.append("AND co.datamovimento BETWEEN :dataInicial AND :dataFinal ");
|
||||
.append("AND co.datamovimento BETWEEN TO_DATE(:dataInicial,'DD/MM/YYYY HH24:MI') AND TO_DATE(:dataFinal,'DD/MM/YYYY HH24:MI') ");
|
||||
|
||||
if (parametros.containsKey("empresaId")) {
|
||||
sQuery.append("AND em.empresaId = :empresaId ");
|
||||
|
@ -1143,8 +1152,6 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
|
||||
Query qr = getSession().createQuery(sQuery.toString());
|
||||
setParametros(qr, parametros);
|
||||
qr.setParameter("dataInicial", datamovimento);
|
||||
qr.setParameter("dataFinal", datamovimento);
|
||||
|
||||
List<ConferenciaComissaoVO> lsConferenciaComissao = new ArrayList<ConferenciaComissaoVO>();
|
||||
processarQueryConferencia(qr.list(), lsConferenciaComissao, competencia, datamovimento, null, null);
|
||||
|
|
|
@ -85,6 +85,9 @@ public class Conferencia implements Serializable {
|
|||
@Transient
|
||||
private boolean semPendenciaConferencia;
|
||||
|
||||
@Transient
|
||||
private String competencia;
|
||||
|
||||
public Conferencia() {
|
||||
super();
|
||||
this.indboletogerado = Boolean.FALSE;
|
||||
|
@ -253,4 +256,12 @@ public class Conferencia implements Serializable {
|
|||
this.semPendenciaConferencia = semPendenciaConferencia;
|
||||
}
|
||||
|
||||
public String getCompetencia() {
|
||||
return competencia;
|
||||
}
|
||||
|
||||
public void setCompetencia(String competencia) {
|
||||
this.competencia = competencia;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -5,19 +5,20 @@ import java.util.List;
|
|||
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||
import com.rjconsultores.ventaboletos.exception.BusinessException;
|
||||
import com.rjconsultores.ventaboletos.exception.ComissaoException;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.HistoricoComissao;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.RegistroCalculo;
|
||||
|
||||
public interface CalculoComissaoService {
|
||||
|
||||
public RegistroCalculo relatorioCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException;
|
||||
public RegistroCalculo relatorioCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException, BusinessException;
|
||||
|
||||
public void registrarCalculoComissao(PuntoVenta puntoVenta, Empresa empresa, Date periodo, boolean ignorarComissaoGerada) throws ComissaoException;
|
||||
|
||||
public void cancelarCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException;
|
||||
|
||||
public List<RegistroCalculo> relatorioCalculoComissao(Integer empresaId, Date periodo) throws ComissaoException;
|
||||
public List<RegistroCalculo> relatorioCalculoComissao(Integer empresaId, Date periodo) throws ComissaoException, BusinessException;
|
||||
|
||||
public void registrarCalculoComissao(Empresa empresa, Date periodo, boolean ignorarComissaoGerada) throws ComissaoException;
|
||||
|
||||
|
|
|
@ -21,8 +21,11 @@ import org.springframework.stereotype.Service;
|
|||
import org.zkoss.util.resource.Labels;
|
||||
|
||||
import com.rjconsultores.ventaboletos.constantes.Constantes;
|
||||
import com.rjconsultores.ventaboletos.constantes.TipoEventoExtra;
|
||||
import com.rjconsultores.ventaboletos.dao.ComissaoDAO;
|
||||
import com.rjconsultores.ventaboletos.dao.ConferenciaComissaoDAO;
|
||||
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
||||
import com.rjconsultores.ventaboletos.entidad.Conferencia;
|
||||
import com.rjconsultores.ventaboletos.entidad.Constante;
|
||||
import com.rjconsultores.ventaboletos.entidad.DescontoComissao;
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
|
@ -32,6 +35,7 @@ import com.rjconsultores.ventaboletos.entidad.PtovtaComissao.Receita;
|
|||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||
import com.rjconsultores.ventaboletos.enums.IndStatusBoleto;
|
||||
import com.rjconsultores.ventaboletos.enums.MimeType;
|
||||
import com.rjconsultores.ventaboletos.exception.BusinessException;
|
||||
import com.rjconsultores.ventaboletos.exception.ComissaoException;
|
||||
import com.rjconsultores.ventaboletos.service.CalculoComissaoService;
|
||||
import com.rjconsultores.ventaboletos.service.ComissaoService;
|
||||
|
@ -47,6 +51,7 @@ import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao;
|
|||
import com.rjconsultores.ventaboletos.vo.comissao.ComissaoDesconto;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.ComissaoDesconto.TipoDesconto;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.ComissaoReceita;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.EventosFinanceirosVO;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.HistoricoComissao;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.RegistroCalculo;
|
||||
|
||||
|
@ -68,6 +73,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
@Autowired
|
||||
private ComissaoDAO comissaoDAO;
|
||||
|
||||
@Autowired
|
||||
private ConferenciaComissaoDAO conferenciaComissaoDAO;
|
||||
|
||||
@Autowired
|
||||
private ConferenciaComissaoService conferenciaComissaoService;
|
||||
|
||||
|
@ -186,7 +194,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public RegistroCalculo relatorioCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException {
|
||||
public RegistroCalculo relatorioCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException, BusinessException {
|
||||
return realizarCalculoComissao(puntoVentaId, empresaId, periodo);
|
||||
}
|
||||
|
||||
|
@ -291,12 +299,17 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public RegistroCalculo realizarCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException {
|
||||
public RegistroCalculo realizarCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException, BusinessException {
|
||||
|
||||
PtovtaComissao ptovtaComissao = ptovtaComissaoService.buscarPuntaVentaEmpresa(puntoVentaId, empresaId);
|
||||
if (ptovtaComissao != null) {
|
||||
|
||||
List<BoletoComissao> receitasBoleto = comissaoDAO.buscarReceitasComissoes(puntoVentaId, empresaId, periodo);
|
||||
Conferencia conferencia = new Conferencia();
|
||||
conferencia.setPuntoVenta(new PuntoVenta(puntoVentaId));
|
||||
conferencia.setEmpresa(new Empresa(empresaId));
|
||||
conferencia.setCompetencia(DateUtil.getStringDate(periodo, "MM/yyyy"));
|
||||
List<BoletoComissao> receitasBoleto = conferenciaComissaoDAO.carregarBilhetesComissao(conferencia);
|
||||
List<EventosFinanceirosVO> eventosFinanceirosVOs = conferenciaComissaoDAO.carregarEventosFinanceiros(conferencia);
|
||||
|
||||
Calendar calendario = Calendar.getInstance();
|
||||
calendario.setTime(periodo);
|
||||
|
@ -305,7 +318,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
int mes = calendario.get(Calendar.MONTH) + 1;
|
||||
int ano = calendario.get(Calendar.YEAR);
|
||||
|
||||
List<ComissaoReceita> receitas = calculaReceitaComissao(empresaId, ptovtaComissao, receitasBoleto, ultimodia, mes, ano);
|
||||
List<ComissaoReceita> receitas = calculaReceitaComissao(empresaId, ptovtaComissao, receitasBoleto, ultimodia, mes, ano, eventosFinanceirosVOs);
|
||||
|
||||
RegistroCalculo rc = new RegistroCalculo();
|
||||
rc.setNombpuntoventa(ptovtaComissao.getPuntoventaId().getNombpuntoventa());
|
||||
|
@ -422,7 +435,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
return false;
|
||||
}
|
||||
|
||||
private List<ComissaoReceita> calculaReceitaComissao(Integer empresaId, PtovtaComissao ptovtaComissao, List<BoletoComissao> receitasBoleto, Integer ultimodia, Integer mes, Integer ano) {
|
||||
private List<ComissaoReceita> calculaReceitaComissao(Integer empresaId, PtovtaComissao ptovtaComissao, List<BoletoComissao> receitasBoleto, Integer ultimodia, Integer mes, Integer ano, List<EventosFinanceirosVO> eventosFinanceirosVOs) {
|
||||
|
||||
List<EmpresaImposto> impostos = empresaImpostoService.buscarEmpresaImposto(empresaId);
|
||||
|
||||
|
@ -471,6 +484,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
isReceitaLiquida = true;
|
||||
}
|
||||
|
||||
/* Calculando comissão para os boletos */
|
||||
for (BoletoComissao rcc : list) {
|
||||
|
||||
boolean isAltaTemporada = validaAltaTemporada(impostos, mes, rcc.getEstadoId());
|
||||
|
@ -536,19 +550,6 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
|
||||
} else {
|
||||
|
||||
// Receitas calculadas sempre
|
||||
receitaExcessoBagagem = MoneyHelper.somar(receitaExcessoBagagem, rcc.getExcessoBagagem());
|
||||
BigDecimal excessoBagagem = calculoExcessoBagagem(isAltaTemporada, ptovtaComissao, rcc.getExcessoBagagem());
|
||||
comissaoExcessoBagagem = MoneyHelper.somar(comissaoExcessoBagagem, excessoBagagem);
|
||||
|
||||
receitaSeguroOpcional = MoneyHelper.somar(receitaSeguroOpcional, rcc.getSeguroOpcional());
|
||||
BigDecimal segOpcional = calculoSeguroOpcional(isAltaTemporada, ptovtaComissao, rcc.getSeguroOpcional());
|
||||
comissaoSegOpcional = MoneyHelper.somar(comissaoSegOpcional, segOpcional);
|
||||
|
||||
receitaSeguroOutros = MoneyHelper.somar(receitaSeguroOutros, rcc.getSeguroOutros());
|
||||
BigDecimal outros = calculoOutros(isAltaTemporada, ptovtaComissao, rcc.getSeguroOutros());
|
||||
comissaoOutros = MoneyHelper.somar(comissaoOutros, outros);
|
||||
|
||||
// Receita GAP
|
||||
if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue())) {
|
||||
receitaGAP = MoneyHelper.somar(receitaGAP, receitaItem);
|
||||
|
@ -575,7 +576,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
|
||||
if (statusBoleto.equals(IndStatusBoleto.C)) {
|
||||
// Devolução Receita
|
||||
if (rcc.getMotivoCancelacionId().equals(Constantes.MVO_CANCEL_DEVOLUCAO) || rcc.getMotivoCancelacionId().equals(Constantes.MVO_CANCEL_GERACAO_OCD)) {
|
||||
if (rcc.getMotivoCancelacionId().equals(Constantes.MVO_CANCEL_DEVOLUCAO.intValue()) || rcc.getMotivoCancelacionId().equals(Constantes.MVO_CANCEL_GERACAO_OCD.intValue())) {
|
||||
|
||||
// Devolução Receita GAP
|
||||
if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue())) {
|
||||
|
@ -609,6 +610,26 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
}
|
||||
}
|
||||
|
||||
/* Calculando comissão para os eventos extras */
|
||||
List<EventosFinanceirosVO> listEventosFinanceiros = verificaEventoFinanceiroProDia(eventosFinanceirosVOs, dia, mes);
|
||||
for (EventosFinanceirosVO eventosFinanceiros : listEventosFinanceiros) {
|
||||
boolean isAltaTemporada = validaAltaTemporada(impostos, mes, eventosFinanceiros.getEstadoId());
|
||||
|
||||
if(TipoEventoExtra.EXCESSO_BAGAGEM.toString().equals(eventosFinanceiros.getCvetipoevento())) {
|
||||
receitaExcessoBagagem = MoneyHelper.somar(receitaExcessoBagagem, eventosFinanceiros.getImpingreso());
|
||||
BigDecimal excessoBagagem = calculoExcessoBagagem(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso());
|
||||
comissaoExcessoBagagem = MoneyHelper.somar(comissaoExcessoBagagem, excessoBagagem);
|
||||
} else if(TipoEventoExtra.SEGURO_OPCIONAL.toString().equals(eventosFinanceiros.getCvetipoevento())) {
|
||||
receitaSeguroOpcional = MoneyHelper.somar(receitaSeguroOpcional, eventosFinanceiros.getImpingreso());
|
||||
BigDecimal segOpcional = calculoSeguroOpcional(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso());
|
||||
comissaoSegOpcional = MoneyHelper.somar(comissaoSegOpcional, segOpcional);
|
||||
} else {
|
||||
receitaSeguroOutros = MoneyHelper.somar(receitaSeguroOutros, eventosFinanceiros.getImpingreso());
|
||||
BigDecimal outros = calculoOutros(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso());
|
||||
comissaoOutros = MoneyHelper.somar(comissaoOutros, outros);
|
||||
}
|
||||
}
|
||||
|
||||
cr.setCancelados(cancelados);
|
||||
cr.setCanceladosGAP(canceladosGAP);
|
||||
cr.setDevolvidos(devolvidos);
|
||||
|
@ -656,31 +677,40 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
|
||||
}
|
||||
|
||||
private List<BoletoComissao> verificaCalculoComissaoProDia(List<BoletoComissao> list, Integer dia, Integer mes) {
|
||||
private List<EventosFinanceirosVO> verificaEventoFinanceiroProDia(List<EventosFinanceirosVO> eventosFinanceirosVOs, Integer dia, Integer mes) {
|
||||
List<EventosFinanceirosVO> aux = new ArrayList<EventosFinanceirosVO>();
|
||||
for (EventosFinanceirosVO rcc : eventosFinanceirosVOs) {
|
||||
Calendar calendario = Calendar.getInstance();
|
||||
calendario.setTime(rcc.getFeccorte());
|
||||
|
||||
List<BoletoComissao> aux = new ArrayList<BoletoComissao>();
|
||||
for (BoletoComissao rcc : list) {
|
||||
try {
|
||||
Calendar calendario = Calendar.getInstance();
|
||||
calendario.setTime(DateUtil.getDateFromString(rcc.getDatavenda(), "dd-MM-yyyy"));
|
||||
int diaItem = calendario.get(Calendar.DAY_OF_MONTH);
|
||||
int mesItem = calendario.get(Calendar.MONTH) + 1;
|
||||
|
||||
int diaItem = calendario.get(Calendar.DAY_OF_MONTH);
|
||||
int mesItem = calendario.get(Calendar.MONTH) + 1;
|
||||
|
||||
if (dia.equals(diaItem) && mes.equals(mesItem)) {
|
||||
aux.add(rcc);
|
||||
}
|
||||
|
||||
} catch (ParseException e) {
|
||||
log.error("ERRO - ao converter data", e);
|
||||
if (dia.equals(diaItem) && mes.equals(mesItem)) {
|
||||
aux.add(rcc);
|
||||
}
|
||||
}
|
||||
return aux;
|
||||
}
|
||||
|
||||
private List<BoletoComissao> verificaCalculoComissaoProDia(List<BoletoComissao> list, Integer dia, Integer mes) {
|
||||
List<BoletoComissao> aux = new ArrayList<BoletoComissao>();
|
||||
for (BoletoComissao rcc : list) {
|
||||
Calendar calendario = Calendar.getInstance();
|
||||
calendario.setTime(rcc.getFeccorte());
|
||||
|
||||
int diaItem = calendario.get(Calendar.DAY_OF_MONTH);
|
||||
int mesItem = calendario.get(Calendar.MONTH) + 1;
|
||||
|
||||
if (dia.equals(diaItem) && mes.equals(mesItem)) {
|
||||
aux.add(rcc);
|
||||
}
|
||||
}
|
||||
return aux;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RegistroCalculo> relatorioCalculoComissao(Integer empresaId, Date periodo) throws ComissaoException {
|
||||
public List<RegistroCalculo> relatorioCalculoComissao(Integer empresaId, Date periodo) throws ComissaoException, BusinessException {
|
||||
List<RegistroCalculo> registrosCalculo = new ArrayList<RegistroCalculo>();
|
||||
List<PuntoVenta> puntoventas = comissaoDAO.buscaPuntoVentasEmpresaComComissaoParametrizada(empresaId);
|
||||
for (PuntoVenta puntoVenta : puntoventas) {
|
||||
|
|
|
@ -85,6 +85,8 @@ public class BoletoComissao {
|
|||
|
||||
private Conferencia conferencia;
|
||||
|
||||
private Date feccorte;
|
||||
|
||||
public Integer getEmpresaId() {
|
||||
return empresaId;
|
||||
}
|
||||
|
@ -1009,4 +1011,12 @@ public class BoletoComissao {
|
|||
this.conferencia = conferencia;
|
||||
}
|
||||
|
||||
public Date getFeccorte() {
|
||||
return feccorte;
|
||||
}
|
||||
|
||||
public void setFeccorte(Date feccorte) {
|
||||
this.feccorte = feccorte;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -40,6 +40,12 @@ public class EventosFinanceirosVO {
|
|||
|
||||
private Conferencia conferencia;
|
||||
|
||||
private String cvetipoevento;
|
||||
|
||||
private Date feccorte;
|
||||
|
||||
private BigDecimal icmsBase;
|
||||
private Integer estadoId;
|
||||
|
||||
public Long getEventoextraId() {
|
||||
return eventoextraId;
|
||||
|
@ -248,4 +254,36 @@ public class EventosFinanceirosVO {
|
|||
this.conferencia = conferencia;
|
||||
}
|
||||
|
||||
public String getCvetipoevento() {
|
||||
return cvetipoevento;
|
||||
}
|
||||
|
||||
public void setCvetipoevento(String cvetipoevento) {
|
||||
this.cvetipoevento = cvetipoevento;
|
||||
}
|
||||
|
||||
public Date getFeccorte() {
|
||||
return feccorte;
|
||||
}
|
||||
|
||||
public void setFeccorte(Date feccorte) {
|
||||
this.feccorte = feccorte;
|
||||
}
|
||||
|
||||
public BigDecimal getIcmsBase() {
|
||||
return icmsBase;
|
||||
}
|
||||
|
||||
public void setIcmsBase(BigDecimal icmsBase) {
|
||||
this.icmsBase = icmsBase;
|
||||
}
|
||||
|
||||
public Integer getEstadoId() {
|
||||
return estadoId;
|
||||
}
|
||||
|
||||
public void setEstadoId(Integer estadoId) {
|
||||
this.estadoId = estadoId;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue