gerar p2 e f2 [bug#5610]
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@37946 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
98938d3130
commit
0b2b7e507c
|
@ -0,0 +1,12 @@
|
|||
package com.rjconsultores.ventaboletos.dao;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
|
||||
|
||||
public interface FiscalDAO {
|
||||
|
||||
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte);
|
||||
|
||||
}
|
|
@ -0,0 +1,134 @@
|
|||
package com.rjconsultores.ventaboletos.dao.hibernate;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.hibernate.Query;
|
||||
import org.hibernate.SessionFactory;
|
||||
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 com.rjconsultores.ventaboletos.dao.FiscalDAO;
|
||||
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
|
||||
|
||||
@Repository("fiscalDAO")
|
||||
public class FiscalHibernateDAO extends GenericHibernateDAO<String,String> implements FiscalDAO {
|
||||
|
||||
@Autowired
|
||||
public FiscalHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
||||
setSessionFactory(factory);
|
||||
}
|
||||
|
||||
|
||||
private int gerarRegistroP2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) {
|
||||
Integer[] idsCorrida = getIdsCorrida(lsEsquemaCorrida);
|
||||
|
||||
StringBuilder sb = new StringBuilder("");
|
||||
sb.append(" INSERT INTO FISCAL_P2 (CODPRODUTO,descricao,valorunitario_ta,valorunitario_tx,valorunitario_pe,valorunitario_ot,valorunitario_se,empresa_id,estado_origem,estado_aliascorrida,estado_aliasgeral) ");
|
||||
sb.append(" ");
|
||||
sb.append(" select DISTINCT ");
|
||||
sb.append(" CODPRODUTO(t.origen_id , t.destino_id , rc.ruta_id) AS CODPRODUTO, ");
|
||||
sb.append(" t.desctramo as descricao, ");
|
||||
sb.append(" tr.precio as valorunitario_ta, ");
|
||||
sb.append(" tr.importetaxaembarque as valorunitario_tx, ");
|
||||
sb.append(" tr.importepedagio as valorunitario_pe, ");
|
||||
sb.append(" tr.importeoutros as valorunitario_ot, ");
|
||||
sb.append(" tr.importeseguro as valorunitario_se, ");
|
||||
sb.append(" c.empresacorrida_id as empresa_id, ");
|
||||
sb.append(" co.estado_id as estado_origem, ");
|
||||
sb.append(" cas1.estado_id as estado_aliascorrida, ");
|
||||
sb.append(" cas2.estado_id as estado_aliasgeral ");
|
||||
sb.append(" ");
|
||||
sb.append(" from ");
|
||||
sb.append(" ruta_combinacion rc ");
|
||||
sb.append(" inner join tramo t on t.tramo_id = rc.tramo_id ");
|
||||
sb.append(" inner join parada po on po.parada_id = t.origen_id ");
|
||||
sb.append(" inner join parada pd on pd.parada_id = t.destino_id ");
|
||||
sb.append(" inner join corrida c on c.ruta_id = rc.ruta_id ");
|
||||
sb.append(" inner join corrida_tramo cto on cto.corrida_id = c.corrida_id and cto.feccorrida = c.feccorrida and t.origen_id = cto.origen_id ");
|
||||
sb.append(" inner join corrida_tramo ctd on ctd.corrida_id = c.corrida_id and ctd.feccorrida = c.feccorrida and t.destino_id = ctd.destino_id ");
|
||||
sb.append(" inner join tarifa tr on tr.ruta_id = rc.ruta_id and tr.origen_id = t.origen_id and tr.destino_id = t.destino_id ");
|
||||
sb.append(" inner join vigencia_tarifa vt on vt.vigenciatarifa_id = tr.vigenciatarifa_id ");
|
||||
sb.append(" inner join ciudad co on co.ciudad_id = po.ciudad_id ");
|
||||
sb.append(" left join alias_servico as1 on as1.corrida_id = as1.corrida_id and as1.origen_id = t.origen_id and as1.destino_id = t.destino_id and as1.ruta_id = rc.ruta_id ");
|
||||
sb.append(" left join parada pas1 on pas1.parada_id = as1.aliasorigen_id ");
|
||||
sb.append(" left join ciudad cas1 on cas1.ciudad_id = pas1.ciudad_id ");
|
||||
sb.append(" left join alias_servico as2 on as2.corrida_id is null and as2.origen_id = t.origen_id and as2.destino_id = t.destino_id and as2.ruta_id = rc.ruta_id ");
|
||||
sb.append(" left join parada pas2 on pas2.parada_id = as2.aliasorigen_id ");
|
||||
sb.append(" left join ciudad cas2 on cas2.ciudad_id = pas2.ciudad_id ");
|
||||
sb.append(" where ");
|
||||
sb.append(" rc.activo = 1 ");
|
||||
sb.append(" and cto.activo = 1 ");
|
||||
sb.append(" and ctd.activo = 1 ");
|
||||
sb.append(" and tr.activo = 1 ");
|
||||
sb.append(" and cto.fechorsalida between vt.feciniciovigencia and vt.fecfinvigencia ");
|
||||
sb.append(" and c.feccorrida between :datIni and :datFim ");
|
||||
sb.append(" and c.corrida_id in (:corridaId) ");
|
||||
sb.append(" and ROWNUM < 2 ");
|
||||
|
||||
|
||||
Query query = getSession().createSQLQuery(sb.toString());
|
||||
query.setParameterList("corridaId", idsCorrida);
|
||||
query.setDate("datIni", new java.sql.Date(dataDe.getTime()));
|
||||
query.setDate("datFim", new java.sql.Date(dataAte.getTime()));
|
||||
|
||||
return query.executeUpdate();
|
||||
}
|
||||
|
||||
private Integer[] getIdsCorrida(List<EsquemaCorrida> lsEsquemaCorrida) {
|
||||
Integer [] idsCorrida = new Integer[lsEsquemaCorrida.size()];
|
||||
int i = 0;
|
||||
for(EsquemaCorrida ec:lsEsquemaCorrida){
|
||||
idsCorrida[i] = ec.getNumCorrida();
|
||||
i++;
|
||||
}
|
||||
return idsCorrida;
|
||||
}
|
||||
|
||||
private int gerarRegistroF2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) {
|
||||
StringBuilder sb = new StringBuilder("");
|
||||
sb.append(" INSERT INTO FISCAL_F2 (cnpj, codigo_local_emissao,identificacao_linha, descricao_linha, data_partida, hora_partida, codigo_tipo_viagem) ");
|
||||
sb.append(" select distinct oc.cnpj, t.origen_id as codigo_local_emissao, r.prefixo as identificacao_linha, r.descruta as descricao_linha, to_char(cto.fechorsalida, 'YYYYMMdd') as data_partida, to_char(cto.fechorsalida, 'hh24miss') as hora_partida, (case nvl(c.tiposervicio_id, 0) when 2 then '01' else '00' end) as codigo_tipo_viagem ");
|
||||
sb.append(" from ");
|
||||
sb.append(" ruta_combinacion rc ");
|
||||
sb.append(" inner join ruta r on r.ruta_id = rc.ruta_id ");
|
||||
sb.append(" inner join orgao_concedente oc on oc.orgaoconcedente_id = r.orgaoconcedente_id ");
|
||||
sb.append(" inner join tramo t on t.tramo_id = rc.tramo_id ");
|
||||
sb.append(" inner join parada po on po.parada_id = t.origen_id ");
|
||||
sb.append(" inner join parada pd on pd.parada_id = t.destino_id ");
|
||||
sb.append(" inner join corrida c on c.ruta_id = rc.ruta_id ");
|
||||
sb.append(" inner join corrida_tramo cto on cto.corrida_id = c.corrida_id and cto.feccorrida = c.feccorrida and t.origen_id = cto.origen_id ");
|
||||
sb.append(" inner join corrida_tramo ctd on ctd.corrida_id = c.corrida_id and ctd.feccorrida = c.feccorrida and t.destino_id = ctd.destino_id ");
|
||||
sb.append(" inner join tarifa tr on tr.ruta_id = rc.ruta_id and tr.origen_id = t.origen_id and tr.destino_id = t.destino_id ");
|
||||
sb.append(" inner join vigencia_tarifa vt on vt.vigenciatarifa_id = tr.vigenciatarifa_id ");
|
||||
sb.append(" inner join punto_venta pv on pv.empresa_id = c.empresacorrida_id ");
|
||||
sb.append(" where ");
|
||||
sb.append(" rc.activo = 1 ");
|
||||
sb.append(" and cto.activo = 1 ");
|
||||
sb.append(" and ctd.activo = 1 ");
|
||||
sb.append(" and cto.fechorsalida between vt.feciniciovigencia and vt.fecfinvigencia ");
|
||||
sb.append(" and c.feccorrida between :datIni and :datFim ");
|
||||
sb.append(" and c.corrida_id in (:corridaId) ");
|
||||
sb.append(" and ROWNUM < 2 ");
|
||||
|
||||
Integer[] idsCorrida = getIdsCorrida(lsEsquemaCorrida);
|
||||
|
||||
Query query = getSession().createSQLQuery(sb.toString());
|
||||
query.setParameterList("corridaId", idsCorrida);
|
||||
query.setDate("datIni", new java.sql.Date(dataDe.getTime()));
|
||||
query.setDate("datFim", new java.sql.Date(dataAte.getTime()));
|
||||
|
||||
return query.executeUpdate();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) {
|
||||
int gerarRegistroP2 = this.gerarRegistroP2(lsEsquemaCorrida, dataDe, dataAte);
|
||||
int gerarRegistroF2 = this.gerarRegistroF2(lsEsquemaCorrida, dataDe, dataAte);
|
||||
return gerarRegistroP2+gerarRegistroF2;
|
||||
}
|
||||
}
|
|
@ -127,5 +127,9 @@ public class ApplicationProperties {
|
|||
String property = p.getProperty("contrasena.validaComplejidad", "0");
|
||||
return property.equals("1");
|
||||
}
|
||||
public boolean pafActivo() {
|
||||
String property = p.getProperty("paf.activo", "0");
|
||||
return property.equals("1");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -16,4 +16,7 @@ public class UtileriasFiscal {
|
|||
|
||||
return codProduto;
|
||||
}
|
||||
public static void main(String args[]){
|
||||
System.out.println(defineCodigoProduto(5410, 3603, 1));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue