Advertisement
MX37S

Untitled

Apr 12th, 2023
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.56 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. + "and sac1.prefijo_guia = sac.prefijo_guia "
  291. + "and sac1.numero_guia_h = sac.numero_guia_h "
  292. + "and sac1.prefijo_guia_h = sac.prefijo_guia_h)";
  293.  
  294.  
  295. logger.info("query: "+ sql_guias_camara);
  296. List<StkAvisoCamara> stkAvisoCamaraList = getSimpleJdbcTemplate().query(sql_guias_camara,new StkAvisoCamaraMapper());
  297.  
  298. return stkAvisoCamaraList;
  299. }
  300.  
  301. public List<ManifiestoCabecera> getCabeceraDetalleManifiesto(String manifiesto){
  302.  
  303. logger.info("*** public List<ManifiestoCabecera> getCabeceraDetalleManifiesto(String manifiesto)***");
  304.  
  305. String sql_cabecera = "SELECT DISTINCT "
  306. + "WSUM.H_FECHA_ALTA AS FECHA, "
  307. + "WSUM.DS_INDICADORTRANSPORTEVACIO AS TRANSVACIO, "
  308. + "WSUM.DS_INDICADORMERCADERIABORDO AS MERCADERIABORDO, "
  309. + "DS_PAISTRANSPORTISTA AS COD_PAIS_TRANSP, "
  310. + "PT.DPAIS AS PAIS_TRANSP, "
  311. + "DS_PAISMEDIOTRANSPORTE COD_PAIS_NACIONALIDAD, "
  312. + "PM.DPAIS AS NACIONALIDAD, "
  313. + "DS_PAISPROCEDENCIA AS COD_PAIS_PROCEDENCIA, "
  314. + "NUMERO_VUELO AS NUMERO_VUELO, "
  315. + "PP.DPAIS AS PAIS_PROCEDENCIA, "
  316. + "WSUM.DS_NOMBRETRANSPORTISTA AS NOMBRE_TRANSP, "
  317. + "WSUM.DS_MATRICULAMEDIOTRANSPORTE AS MATRICULA, "
  318. + "WSUM.DS_NOMBRE_HABILITADO AS NOMBRE_HAB, "
  319. + "SUBSTR(wsum.DS_IDENTIFICADOR,0,2) AS ANIO, "
  320. + "SUBSTR(wsum.DS_IDENTIFICADOR,3,3) AS ADUANA, "
  321. + "SUBSTR(wsum.DS_IDENTIFICADOR,6,4) AS MANI, "
  322. + "SUBSTR(wsum.DS_IDENTIFICADOR,10,6) AS NUMERO, "
  323. + "SUBSTR(wsum.DS_IDENTIFICADOR,16,1) AS LETRA "
  324. + "FROM WIT_SLSUMARIABASES WSUM, "
  325. + "DOM_PAISES PT, "
  326. + "DOM_PAISES PP, "
  327. + "DOM_PAISES PM, "
  328. + "WIT_SLTITULOBASES STIT, "
  329. + "WIT_SLSUMARIANROVUELO WVUE "
  330. + "WHERE WSUM.DS_PAISTRANSPORTISTA = PT.CPAISMARIA "
  331. + "AND DS_PAISMEDIOTRANSPORTE = PM.CPAISMARIA "
  332. + "AND DS_PAISPROCEDENCIA = PP.CPAISMARIA "
  333. + "AND WVUE.DS_IDENTIFICADOR (+) = WSUM.DS_IDENTIFICADOR "
  334. + "AND PP.CSTATUS = 'A' "
  335. + "AND PM.CSTATUS = 'A' "
  336. + "AND PT.CSTATUS = 'A' "
  337. + "AND SUBSTR(STIT.IDS_IDENTIFICADORTITULO,-16) = WSUM.DS_IDENTIFICADOR "
  338. + "AND WSUM.DS_IDENTIFICADOR = ? ";
  339.  
  340. logger.info("query: "+ sql_cabecera);
  341.  
  342. List<ManifiestoCabecera> manifiestoCabList = getSimpleJdbcTemplate().query(sql_cabecera,new ManifiestoCabeceraMapper(), manifiesto );
  343.  
  344. String sql_detalle = "SELECT DISTINCT "
  345. + "WSUM.DS_IDENTIFICADOR AS MANIFIESTO, "
  346. + "SMER.NQ_CANTIDADPARCIAL AS CANTIDAD_PARCIAL, "
  347. + "SMER.DS_COMENTARIO AS COMENTARIO, "
  348. + "SMER.DS_TIPOMERCADERIA AS NATURALEZA, "
  349. + "STIT.DS_PUERTO AS PREFIJO, "
  350. + "STIT.DS_CARTAPORTE AS NUMERO, "
  351. + "STIT.DS_DESTINATARIOMERCADERIA AS DESTINATARIO, "
  352. + "STIT.DS_INDICCONSOLIDADO AS MARCA_CONSOLIDADO, "
  353. + "STIT.DS_INDICTRANSITOTRANSBORDO AS TRANSITO, "
  354. + "SMER.NN_PESOVOLUMENMANIFIESTO AS PESO, "
  355. + "SMER.NQ_CANTIDADTOTALMERCADERIA AS CANTIDAD_TOTAL "
  356. + "FROM WIT_SLSUMARIABASES WSUM, "
  357. + "WIT_SLTITULOBASES STIT, "
  358. + "WIT_SLLINEAMERCADERIAS SMER "
  359. + "WHERE STIT.IDS_IDENTIFICADORTITULO = SMER.DS_IDENTIFICADORTITULO "
  360. + "AND SUBSTR(STIT.IDS_IDENTIFICADORTITULO,-16) = WSUM.DS_IDENTIFICADOR "
  361. + "AND WSUM.DS_IDENTIFICADOR = ? "
  362. + "ORDER BY SUBSTR(STIT.DS_CARTAPORTE,LENGTH(STIT.DS_CARTAPORTE)) ";
  363.  
  364. logger.info("query: "+ sql_detalle);
  365.  
  366. List<ManifiestoDetalle> manifiestoDetList = getSimpleJdbcTemplate().query(sql_detalle,new ManifiestoDetalleMapper(), manifiesto );
  367.  
  368. for(ManifiestoCabecera m : manifiestoCabList ){
  369. m.setManifiestoDetalleList(manifiestoDetList);
  370. }
  371.  
  372. logger.info("*** Fin getCabeceraDetalleManifiesto() ***");
  373. return manifiestoCabList;
  374. }
  375. }
  376.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement