Advertisement
MX37S

Untitled

Apr 11th, 2023
1,421
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 14.40 KB | None | 0 0
  1. PACKAGE tca.manifiesto.impo.dao;
  2.  
  3. import JAVA.util.ArrayList;
  4. import JAVA.util.List;
  5.  
  6. import javax.annotation.PostConstruct;
  7. import javax.SQL.DataSource;
  8.  
  9. import org.apache.log4j.Logger;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;
  12. import org.springframework.stereotype.Repository;
  13.  
  14. import tca.manifiesto.impo.domain.ManifiestoCabecera;
  15. import tca.manifiesto.impo.domain.ManifiestoDTO;
  16. import tca.manifiesto.impo.domain.ManifiestoDetalle;
  17. import tca.manifiesto.impo.domain.StkAvisoCamara;
  18. import tca.manifiesto.impo.domain.WitAduana;
  19. import tca.manifiesto.impo.domain.WitLugareOperativo;
  20. import tca.manifiesto.impo.mapper.ManifiestoCabeceraMapper;
  21. import tca.manifiesto.impo.mapper.ManifiestoDTOMapper;
  22. import tca.manifiesto.impo.mapper.ManifiestoDetalleMapper;
  23. import tca.manifiesto.impo.mapper.StkAvisoCamaraMapper;
  24. import tca.manifiesto.impo.mapper.WitAduanaMapper;
  25. import tca.manifiesto.impo.mapper.WitLugareOperativoMapper;
  26. import tca.manifiesto.impo.mapper.TCAParametrosMapper;
  27. import tca.manifiesto.impo.domain.TCAParametros;
  28.  
  29. @SuppressWarnings("deprecation")
  30. @Repository
  31. PUBLIC class ManifiestoDaoJdbcImpl EXTENDS SimpleJdbcDaoSupport implements ManifiestoDaoJdbc {
  32.  
  33.     Logger logg = Logger.getLogger(ManifiestoDaoJdbcImpl.class);
  34.  
  35.     @Autowired
  36.     PUBLIC ManifiestoDaoJdbcImpl(DataSource dataSource) {
  37.         setDataSource(dataSource);
  38.     }
  39.  
  40.     @PostConstruct
  41.     void init() {
  42.     }
  43.  
  44.     PRIVATE int getValorDiasManiTCAParametros(String parametro){
  45.         logger.info("*** getValorDiasManiTCAParametros ***");
  46.  
  47.         try{
  48.             String q="select * from tca_parametros_apps where parametro = '"+parametro+"'";
  49.             List<TCAParametros> r = getSimpleJdbcTemplate().query(q,NEW TCAParametrosMapper());
  50.    
  51.            
  52.             int ret = INTEGER.parseInt(r.get(0).getValor());
  53.             logger.info("*** PARAMETRO ***"+parametro);
  54.             logger.info("*** dias cargados correctamente. Valor: ***"+ret);
  55.             RETURN ret;        
  56.         }
  57.         catch(EXCEPTION e){
  58.             //arbitrariamente en caso de error, retornamos 12 dias
  59.             logger.info("***getValorDiasManiTCAParametros: NO SE PUDO OBTENER LOS DIAS DESDE LA DB ***");  
  60.             RETURN 12;
  61.         }
  62.     }
  63.  
  64.     PRIVATE BOOLEAN getValorOcultarTerrestres(String parametro){
  65.         logger.info("*** getValorOcultarTerrestres ***");
  66.         //1 = Habilitado (Oculta los vuelos)
  67.         //0 = Deshabilitado (Muestra los vuelos)
  68.  
  69.         try{
  70.             String q="select * from tca_parametros_apps where parametro = '"+parametro+"'";
  71.             List<TCAParametros> r = getSimpleJdbcTemplate().query(q,NEW TCAParametrosMapper());
  72.    
  73.             int ret = INTEGER.parseInt(r.get(0).getValor());
  74.             logger.info("*** PARAMETRO ***"+parametro);
  75.             logger.info("*** valor oculto cargado correctamente. Valor: ***"+ret); 
  76.            
  77.             RETURN ret == 1;
  78.         }
  79.         catch(EXCEPTION e){
  80.             //arbitrariamente en caso de error, retornamos TRUE
  81.             logger.info("***getValorOcultarTerrestres: NO SE PUDO OBTENER EL VALOR DESDE LA DB ***");  
  82.             RETURN TRUE;
  83.         }
  84.     }
  85.  
  86.     PRIVATE String getValorCodVuelosOcultar(String parametro){
  87.         logger.info("*** getValorCodVuelosOcultar ***");
  88.         try{
  89.             String q="select * from tca_parametros_apps where parametro = '"+parametro+"'";
  90.             List<TCAParametros> r = getSimpleJdbcTemplate().query(q,NEW TCAParametrosMapper());
  91.    
  92.             String ret = r.get(0).getValor();
  93.             logger.info("*** PARAMETRO ***"+parametro);
  94.             logger.info("*** Cod. Vuelos cargados correctamente. Valor: \n"+ret+"***");
  95.            
  96.             RETURN ret;
  97.         }
  98.         catch(EXCEPTION e){
  99.             //arbitrariamente en caso de error, retornamos ""
  100.             logger.info("***getValorCodVuelosOcultar: NO SE PUDO OBTENER EL VALOR DESDE LA DB ***");   
  101.             RETURN "";
  102.         }
  103.     }
  104.  
  105.     PUBLIC List<WitAduana> getAduanas() {
  106.          
  107.           logger.info("*** public List<WitAduana> getAduanas() ***");
  108.        
  109.           String queryAduanas = "SELECT * "
  110.                 + "FROM WIT_ADUANAS "
  111.                 + "WHERE NM_HABILITADO = 1";
  112.          
  113.           logger.info("query: "+ queryAduanas);
  114.        
  115.           List<WitAduana> aduanas = getSimpleJdbcTemplate().query(queryAduanas,NEW WitAduanaMapper());
  116.          
  117.           logger.info("*** Fin getAduanas() ***");
  118.          
  119.           RETURN aduanas;
  120.     }
  121.  
  122.     PUBLIC BOOLEAN marcaImpreso(String manifiesto) {
  123.        
  124.         logger.info("*** public Boolean marcaImpreso(String manifiesto) ***");
  125.        
  126.         String SQL = "UPDATE SIDIN "
  127.                 + "SET MIMPRESION = 1 "
  128.                 + "WHERE SUBSTR(SIDIN.NANIO,3,2) || SIDIN.CADUANA || SIDIN.CTPDOCING || SIDIN.NREG || SIDIN.DLETRA = ?";
  129.        
  130.         logger.info("query: "+ SQL);
  131.        
  132.         int result = getSimpleJdbcTemplate().UPDATE(SQL, manifiesto);
  133.        
  134.         IF(result > 0){
  135.             logger.info("*** Fin marcaImpreso() ***");
  136.             RETURN TRUE;
  137.         }ELSE{
  138.             logger.info("*** Fin marcaImpreso() ***");
  139.             RETURN FALSE;
  140.         }
  141.    
  142.     }
  143.    
  144.     PUBLIC WitAduana getAduana(String codAduana) {
  145.        
  146.         logger.info("*** public WitAduana getAduana(String codAduana)***");
  147.        
  148.         String SQL = "SELECT * "
  149.                 + "FROM WIT_ADUANAS "
  150.                 + "WHERE NM_HABILITADO = 1 "
  151.                 + "AND COD_ADUANA = ?";
  152.        
  153.         logger.info("query: "+ SQL);
  154.  
  155.         WitAduana aduana = getSimpleJdbcTemplate().queryForObject(SQL,NEW WitAduanaMapper(),codAduana);
  156.        
  157.         logger.info("*** Fin getAduana() ***");
  158.         RETURN aduana;
  159.     }
  160.  
  161.     PUBLIC List<WitLugareOperativo> getLugarOperativo(String codAduana) {
  162.        
  163.         logger.info("*** public List<WitLugareOperativo> getLugarOperativo(String codAduana)***");
  164.        
  165.         String SQL = "SELECT DISTINCT SD_ADUANA_PAIS, SD_LUGAR_OPERATIVO, SD_DESCRIPCION, SD_CODIGO FROM  WIT_LUGAR_OPER_REFERENCIAL WHERE SD_ADUANA_PAIS = ? AND SD_LUGAR_OPERATIVO != '     '";
  166.        
  167.         logger.info("query: "+ SQL);
  168.        
  169.         List<WitLugareOperativo> lugaresOperativos = getSimpleJdbcTemplate().query(SQL,NEW WitLugareOperativoMapper(), codAduana); 
  170.        
  171.         logger.info("*** Fin getLugarOperativo() ***");
  172.         RETURN lugaresOperativos;  
  173.     }
  174.  
  175.     PUBLIC List<ManifiestoDTO> getManifiestos(String codAduana,String lugarOperativo) {
  176.            
  177.         logger.info("*** public List<WitLugareOperativo> getLugarOperativo(String codAduana)***");
  178.            
  179.         String SQL = "SELECT DISTINCT MAX(TO_CHAR(H_FECHA_ALTA,'yyyy/mm/dd hh24:mi:ss')) AS H_FECHA_ALTA,"  
  180.                 + " WSUM.DS_INDICADORTRANSPORTEVACIO,"  
  181.                 + " WSUM.DS_INDICADORMERCADERIABORDO,"  
  182.                 + " WSUM.DS_CODIGOADUANAREGISTRO,"  
  183.                 + " WSUM.DS_LUGAROPERATIVO,"
  184.                 + " DS_PAISTRANSPORTISTA,"  
  185.                 + " PT.DPAIS AS PAIS_TRANSP,"  
  186.                 + " DS_PAISMEDIOTRANSPORTE,"
  187.                 + " PM.DPAIS AS PAIS_MTRANSP,"
  188.                 + " DS_PAISPROCEDENCIA,"
  189.                 + " WSUM.DS_NOMBRETRANSPORTISTA,"
  190.                 + " DS_MATRICULAMEDIOTRANSPORTE,"  
  191.                 + " WSUM.DS_NOMBRE_HABILITADO,"  
  192.                 + " WSUM.DS_IDENTIFICADOR,"  
  193.                 + " WVUE.NUMERO_VUELO,"  
  194.                 + " DECODE(SIDIN.MIMPRESION,NULL,'NO',0,'NO',1,'SI') AS MIMPRESION"  
  195.                 + " FROM WIT_SLSUMARIABASES WSUM, DOM_PAISES PT, DOM_PAISES PP , DOM_PAISES PM, SIDIN, WIT_SLSUMARIANROVUELO WVUE"  
  196.                 + " WHERE WSUM.DS_PAISTRANSPORTISTA = PT.CPAISMARIA";  
  197.                
  198.                 BOOLEAN ocultarTerrestres = getValorOcultarTerrestres("parametro.ocultar.terrestres");
  199.                 String codVuelosOcultar = getValorCodVuelosOcultar("parametro.cod.vuelos.ocultar");
  200.  
  201.                 IF (ocultarTerrestres && codVuelosOcultar != NULL && !codVuelosOcultar.isEmpty()) {
  202.                     codVuelosOcultar = codVuelosOcultar.toUpperCase();
  203.                     SQL += " AND (WVUE.NUMERO_VUELO NOT IN (" +codVuelosOcultar+ ") OR WVUE.NUMERO_VUELO IS NULL)";
  204.  
  205.                     logger.info("getValorOcultarTerrestres: Es true");
  206.                 }
  207.                
  208.                 SQL += " AND WSUM.DS_IDENTIFICADOR = SUBSTR(SIDIN.NANIO,3,2) || SIDIN.CADUANA || SIDIN.CTPDOCING || SIDIN.NREG || SIDIN.DLETRA"  
  209.                 + " AND DS_PAISMEDIOTRANSPORTE = PM.CPAISMARIA"  
  210.                 + " AND WVUE.DS_IDENTIFICADOR(+) = WSUM.DS_IDENTIFICADOR"  
  211.                 + " AND DS_PAISPROCEDENCIA = PP.CPAISMARIA"  
  212.                 + " AND PP.CSTATUS = 'A' AND PM.CSTATUS = 'A' AND PT.CSTATUS = 'A'"  
  213.                 + " AND WSUM.DS_LUGAROPERATIVO = ?"
  214.                 + " AND WSUM.DS_CODIGOADUANAREGISTRO = ?"    
  215.                 + " AND WSUM.DS_IDENTIFICADOR IN"  
  216.                 + " (SELECT SUBSTR(SIDIN.NANIO,3,2) || SIDIN.CADUANA || SIDIN.CTPDOCING || SIDIN.NREG || SIDIN.DLETRA"  
  217.                 + " FROM SIING , SIDIN, SIGUI"  
  218.                 + " WHERE SIING.CESTADO = 'S'"  
  219.                 + " AND SIDIN.CREGISTRO = SIING.CREGISTRO"  
  220.                 + " AND SIDIN.CREGISTRO = SIGUI.CREGISTRO"  
  221.                 + " AND SIGUI.CINT_GUIA = SIING.CINT_ING"    
  222.                 + " AND (SIGUI.CTRANS <> 'CCC' AND SIGUI.CTRANS <> 'XXX')"  
  223.                 + " AND SIDIN.FHRECEPCION >= SYSDATE - " + getValorDiasManiTCAParametros("parametro.antiguedad.manifiestos") + ")"
  224.                 + " GROUP BY"
  225.                 + " WSUM.DS_INDICADORTRANSPORTEVACIO,"  
  226.                 + " WSUM.DS_INDICADORMERCADERIABORDO,"  
  227.                 + " WSUM.DS_CODIGOADUANAREGISTRO,"  
  228.                 + " WSUM.DS_LUGAROPERATIVO,"
  229.                 + " DS_PAISTRANSPORTISTA,"
  230.                 + " PT.DPAIS,"
  231.                 + " DS_PAISMEDIOTRANSPORTE,"
  232.                 + " PM.DPAIS,"
  233.                 + " DS_PAISPROCEDENCIA,"  
  234.                 + " WSUM.DS_NOMBRETRANSPORTISTA,"
  235.                 + " DS_MATRICULAMEDIOTRANSPORTE,"  
  236.                 + " WSUM.DS_NOMBRE_HABILITADO,"  
  237.                 + " WSUM.DS_IDENTIFICADOR,"  
  238.                 + " WVUE.NUMERO_VUELO,"
  239.                 + " DECODE(SIDIN.MIMPRESION,NULL,'NO',0,'NO',1,'SI')"
  240.                 + " ORDER BY 1 DESC";
  241.  
  242.         logger.info("query: "+ SQL);
  243.        
  244.         List<ManifiestoDTO> manifiestoDTOList = NEW ArrayList<ManifiestoDTO>();
  245.         try{
  246.             manifiestoDTOList = getSimpleJdbcTemplate().query(SQL,NEW ManifiestoDTOMapper(), lugarOperativo,codAduana );
  247.         }
  248.         catch(EXCEPTION e){
  249.             logger.info("***getManifiestos: Error al obtener la lista de manis ***");
  250.         }
  251.         logger.info("*** Fin getManifiestos() ***");
  252.        
  253.         RETURN manifiestoDTOList;  
  254.     }
  255.    
  256.     PUBLIC List<StkAvisoCamara> getListadoGuiasConAvisoCamara() {
  257.        
  258.         logger.info("*** public List<StkAvisoCamara> getListadoGuiasConAvisoCamara() ***");
  259.        
  260.         String sql_guias_camara = "SELECT ID, "
  261.                 + "NOMBRE, "
  262.                 + "NUMERO_GUIA, "
  263.                 + "FECHA_ESTIMADA_ARRIBO, "
  264.                 + "PREFIJO_GUIA, "
  265.                 + "USUARIO, "
  266.                 + "H_FECHA_MODIFICACION, "
  267.                 + "IMPORTADOR, "
  268.                 + "PREFIJO_GUIA_H, "
  269.                 + "NUMERO_GUIA_H, "
  270.                 + " H_FECHA_ALTA, "
  271.                 + "APELLIDO, "
  272.                 + "TELEFONO, "
  273.                 + "EMAIL, "
  274.                 + "BULTOS_GRADOS_ENTRE_15_25, "
  275.                 + "BULTOS_GRADOS_ENTRE_2_8, "
  276.                 + "BULTOS_GRADOS_MENOS_20, "
  277.                 + "BULTOS, "
  278.                 + "NOMBRE_IMPORTADOR, "
  279.                 + "BULTOS_AMBIENTE, "
  280.                 + "ESTADO, "
  281.                 + "SGUIA, "
  282.                 + "SDCTOING, "
  283.                 + "VUELO, "
  284.                 + "OBSERVACION "
  285.                 + "FROM STK_AVISO_CAMARA sac  "
  286.                 + "WHERE H_FECHA_ALTA >= SYSDATE - " + getValorDiasManiTCAParametros("parametro.antiguedad.manifiestos")
  287.                 + "AND ESTADO < 2 "
  288.                 + "AND H_FECHA_MODIFICACION = (select max(H_FECHA_MODIFICACION) from STK_AVISO_CAMARA sac1 "
  289.                 + "WHERE sac1.NUMERO_GUIA=sac.NUMERO_GUIA)";
  290.  
  291.        
  292.         logger.info("query: "+ sql_guias_camara);
  293.         List<StkAvisoCamara> stkAvisoCamaraList = getSimpleJdbcTemplate().query(sql_guias_camara,NEW StkAvisoCamaraMapper());
  294.        
  295.         RETURN stkAvisoCamaraList;
  296.     }
  297.    
  298.     PUBLIC List<ManifiestoCabecera> getCabeceraDetalleManifiesto(String manifiesto){   
  299.        
  300.         logger.info("*** public List<ManifiestoCabecera> getCabeceraDetalleManifiesto(String manifiesto)***");
  301.        
  302.         String sql_cabecera = "SELECT DISTINCT "
  303.                 + "WSUM.H_FECHA_ALTA AS FECHA, "
  304.                 + "WSUM.DS_INDICADORTRANSPORTEVACIO AS TRANSVACIO, "
  305.                 + "WSUM.DS_INDICADORMERCADERIABORDO AS MERCADERIABORDO, "
  306.                 + "DS_PAISTRANSPORTISTA AS COD_PAIS_TRANSP, "
  307.                 + "PT.DPAIS AS PAIS_TRANSP, "
  308.                 + "DS_PAISMEDIOTRANSPORTE COD_PAIS_NACIONALIDAD, "
  309.                 + "PM.DPAIS AS NACIONALIDAD, "
  310.                 + "DS_PAISPROCEDENCIA AS COD_PAIS_PROCEDENCIA, "
  311.                 + "NUMERO_VUELO AS NUMERO_VUELO, "
  312.                 + "PP.DPAIS AS PAIS_PROCEDENCIA, "
  313.                 + "WSUM.DS_NOMBRETRANSPORTISTA AS NOMBRE_TRANSP, "
  314.                 + "WSUM.DS_MATRICULAMEDIOTRANSPORTE AS MATRICULA, "
  315.                 + "WSUM.DS_NOMBRE_HABILITADO AS NOMBRE_HAB, "
  316.                 + "SUBSTR(wsum.DS_IDENTIFICADOR,0,2) AS ANIO, "
  317.                 + "SUBSTR(wsum.DS_IDENTIFICADOR,3,3) AS ADUANA, "
  318.                 + "SUBSTR(wsum.DS_IDENTIFICADOR,6,4) AS MANI, "
  319.                 + "SUBSTR(wsum.DS_IDENTIFICADOR,10,6) AS NUMERO, "
  320.                 + "SUBSTR(wsum.DS_IDENTIFICADOR,16,1) AS LETRA "
  321.                 + "FROM WIT_SLSUMARIABASES WSUM, "
  322.                 + "DOM_PAISES PT, "
  323.                 + "DOM_PAISES PP, "
  324.                 + "DOM_PAISES PM, "
  325.                 + "WIT_SLTITULOBASES STIT, "
  326.                 + "WIT_SLSUMARIANROVUELO WVUE "
  327.                 + "WHERE WSUM.DS_PAISTRANSPORTISTA = PT.CPAISMARIA "
  328.                 + "AND DS_PAISMEDIOTRANSPORTE = PM.CPAISMARIA "
  329.                 + "AND DS_PAISPROCEDENCIA = PP.CPAISMARIA "
  330.                 + "AND WVUE.DS_IDENTIFICADOR (+) = WSUM.DS_IDENTIFICADOR "
  331.                 + "AND PP.CSTATUS = 'A' "
  332.                 + "AND PM.CSTATUS = 'A' "
  333.                 + "AND PT.CSTATUS = 'A' "
  334.                 + "AND SUBSTR(STIT.IDS_IDENTIFICADORTITULO,-16) = WSUM.DS_IDENTIFICADOR "
  335.                 + "AND WSUM.DS_IDENTIFICADOR = ? ";
  336.        
  337.         logger.info("query: "+ sql_cabecera);
  338.        
  339.         List<ManifiestoCabecera> manifiestoCabList = getSimpleJdbcTemplate().query(sql_cabecera,NEW ManifiestoCabeceraMapper(), manifiesto );
  340.        
  341.         String sql_detalle = "SELECT DISTINCT "
  342.                 + "WSUM.DS_IDENTIFICADOR AS MANIFIESTO, "
  343.                 + "SMER.NQ_CANTIDADPARCIAL AS CANTIDAD_PARCIAL, "
  344.                 + "SMER.DS_COMENTARIO AS COMENTARIO, "
  345.                 + "SMER.DS_TIPOMERCADERIA AS NATURALEZA, "
  346.                 + "STIT.DS_PUERTO AS PREFIJO, "
  347.                 + "STIT.DS_CARTAPORTE AS NUMERO, "
  348.                 + "STIT.DS_DESTINATARIOMERCADERIA AS DESTINATARIO, "
  349.                 + "STIT.DS_INDICCONSOLIDADO AS MARCA_CONSOLIDADO, "
  350.                 + "STIT.DS_INDICTRANSITOTRANSBORDO AS TRANSITO, "
  351.                 + "SMER.NN_PESOVOLUMENMANIFIESTO AS PESO, "
  352.                 + "SMER.NQ_CANTIDADTOTALMERCADERIA AS CANTIDAD_TOTAL "
  353.                 + "FROM WIT_SLSUMARIABASES WSUM, "
  354.                 + "WIT_SLTITULOBASES STIT, "
  355.                 + "WIT_SLLINEAMERCADERIAS SMER "
  356.                 + "WHERE STIT.IDS_IDENTIFICADORTITULO = SMER.DS_IDENTIFICADORTITULO "
  357.                 + "AND SUBSTR(STIT.IDS_IDENTIFICADORTITULO,-16) = WSUM.DS_IDENTIFICADOR "
  358.                 + "AND WSUM.DS_IDENTIFICADOR = ? "
  359.                 + "ORDER BY  SUBSTR(STIT.DS_CARTAPORTE,LENGTH(STIT.DS_CARTAPORTE)) ";
  360.        
  361.         logger.info("query: "+ sql_detalle);
  362.        
  363.         List<ManifiestoDetalle> manifiestoDetList = getSimpleJdbcTemplate().query(sql_detalle,NEW ManifiestoDetalleMapper(), manifiesto );
  364.        
  365.         FOR(ManifiestoCabecera m : manifiestoCabList ){
  366.             m.setManifiestoDetalleList(manifiestoDetList);
  367.         }
  368.        
  369.         logger.info("*** Fin getCabeceraDetalleManifiesto() ***");
  370.         RETURN manifiestoCabList;
  371.     }
  372. }
  373.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement