feat: empaquetado .exe con instalador y fix conexion SCAII

- launcher.py reescrito para PyInstaller (Voila in-process, kernel router)
- build_exe.bat: script PyInstaller (onedir + collect-all dependencias Jupyter)
- build_installer.bat + installer.iss: instalador Inno Setup
- schema_registro_sqlite.sql: schema DataStage en SQLite
- _make_conn_str ahora respeta SCAII_TRUSTED (Windows Auth)
- .env.example: quitar variables DB_* (Postgres ya no usado por DataStage)
- requirements.txt: quitar psycopg2-binary

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-22 15:57:25 -05:00
parent a65f34d852
commit 71ef0b390a
8 changed files with 20935 additions and 4787 deletions

384
app/schema_registro_sqlite.sql Executable file
View File

@@ -0,0 +1,384 @@
CREATE TABLE IF NOT EXISTS "Registro501" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"TipoOperacion" TEXT,
"ClaveDocumento" TEXT,
"SeccionAduaneraEntrada" TEXT,
"CurpContribuyente" TEXT,
"Rfc" TEXT,
"CurpAgenteA" TEXT,
"TipoCambio" NUMERIC,
"TotalFletes" NUMERIC,
"TotalSeguros" NUMERIC,
"TotalEmbalajes" NUMERIC,
"TotalIncrementables" NUMERIC,
"TotalDeducibles" NUMERIC,
"PesoBrutoMercancia" NUMERIC,
"MedioTransporteSalida" TEXT,
"MedioTransporteArribo" TEXT,
"MedioTransporteEntrada_Salida" TEXT,
"DestinoMercancia" TEXT,
"NombreContribuyente" TEXT,
"CalleContribuyente" TEXT,
"NumInteriorContribuyente" TEXT,
"NumExteriorContribuyente" TEXT,
"CPContribuyente" TEXT,
"MunicipioContribuyente" TEXT,
"EntidadFedContribuyente" TEXT,
"PaisContribuyente" TEXT,
"TipoPedimento" TEXT,
"FechaRecepcionPedimento" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro502" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"RfcTransportista" TEXT,
"CurpTransportista" TEXT,
"NombreTransportista" TEXT,
"PaisTransporte" TEXT,
"IdentificadorTransporte" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro503" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"NumeroGuia" TEXT,
"TipoGuia" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro504" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"NumContenedor" TEXT,
"TipoContenedor" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro505" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"FechaFacturacion" TEXT,
"NumeroFactura" TEXT,
"TerminoFacturacion" TEXT,
"MonedaFacturacion" TEXT,
"ValorDolares" NUMERIC,
"ValorMonedaExtranjera" NUMERIC,
"PaisFacturacion" TEXT,
"EntidadFedFacturacion" TEXT,
"IndentFiscalProveedor" TEXT,
"ProveedorMercancia" TEXT,
"CalleProveedor" TEXT,
"NumInteriorProveedor" TEXT,
"NumExteriorProveedor" TEXT,
"CpProveedor" TEXT,
"MunicipioProveedor" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro506" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"TipoFecha" TEXT,
"FechaOperacion" TEXT,
"FechaValidacionPagoR" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro507" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"ClaveCaso" TEXT,
"IdentificadorCaso" TEXT,
"TipoPedimento" TEXT,
"ComplementoCaso" TEXT,
"FechaValidacionPagoR" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro508" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"InstitucionEmisora" TEXT,
"NumeroCuenta" TEXT,
"FolioConstancia" TEXT,
"FechaConstancia" TEXT,
"TipoCuenta" TEXT,
"ClaveGarantia" TEXT,
"ValorUnitarioTitulo" NUMERIC,
"TotalGarantia" NUMERIC,
"CantidadUnidades" NUMERIC,
"TitulosAsignados" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro509" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"ClaveContribucion" TEXT,
"TasaContribucion" NUMERIC,
"TipoTasa" TEXT,
"TipoPedimento" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro510" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"ClaveContribucion" TEXT,
"FormaPago" TEXT,
"ImportePago" NUMERIC,
"TipoPedimento" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro511" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"SecuenciaObservacion" TEXT,
"Observaciones" TEXT,
"TipoPedimento" TEXT,
"FechaValidacionPagoR" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro512" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"PatenteAduanalOrig" TEXT,
"PedimentoOriginal" TEXT,
"SeccionAduaneraDespOrig" TEXT,
"DocumentoOriginal" TEXT,
"FechaOperacionOrig" TEXT,
"FraccionOriginal" TEXT,
"UnidadMedida" TEXT,
"MercanciaDescargada" NUMERIC,
"TipoPedimento" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro520" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"IndentFiscalDestinatario" TEXT,
"NombreDestinatarioMercancia" TEXT,
"CalleDestinatario" TEXT,
"NumInteriorDestinatario" TEXT,
"NumExteriorDestinatario" TEXT,
"CpDestinatario" TEXT,
"MunicpioDestinatario" TEXT,
"PaisDestinatario" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro551" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"Fraccion" TEXT,
"SecuenciaFraccion" TEXT,
"SubdivisionFraccion" TEXT,
"DescripcionMercancia" TEXT,
"PrecioUnitario" NUMERIC,
"ValorAduana" NUMERIC,
"ValorComercial" NUMERIC,
"ValorDolares" NUMERIC,
"CantidadUMComercial" NUMERIC,
"UnidadMedidaComercial" TEXT,
"CantidadUMTarifa" NUMERIC,
"UnidadMedidaTarifa" TEXT,
"ValorAgregado" NUMERIC,
"ClaveVinculacion" TEXT,
"MetodoValorizacion" TEXT,
"CodigoMercanciaProducto" TEXT,
"MarcaMercanciaProducto" TEXT,
"ModeloMercanciaProducto" TEXT,
"PaisOrigenDestino" TEXT,
"PaisCompradorVendedor" TEXT,
"EntidadFedOrigen" TEXT,
"EntidadFedDestino" TEXT,
"EntidadFedComprador" TEXT,
"EntidadFedVendedor" TEXT,
"TipoOperacion" TEXT,
"ClaveDocumento" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro552" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"Fraccion" TEXT,
"SecuenciaFraccion" TEXT,
"VinNumeroSerie" TEXT,
"KilometrajeVehiculo" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro553" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"Fraccion" TEXT,
"SecuenciaFraccion" TEXT,
"ClavePermiso" TEXT,
"FirmaDescargo" TEXT,
"NumeroPermiso" TEXT,
"ValorComercialDolares" NUMERIC,
"CantidadMUMTarifa" NUMERIC,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro554" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"Fraccion" TEXT,
"SecuenciaFraccion" TEXT,
"ClaveCaso" TEXT,
"IdentificadorCaso" TEXT,
"ComplementoCaso" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro555" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"Fraccion" TEXT,
"SecuenciaFraccion" TEXT,
"InstitucionEmisora" TEXT,
"NumeroCuenta" TEXT,
"FolioConstancia" TEXT,
"FechaConstancia" TEXT,
"ClaveGarantia" TEXT,
"ValorUnitarioTitulo" NUMERIC,
"TotalGarantia" NUMERIC,
"CantidadUnidadesMedida" NUMERIC,
"TitulosAsignados" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro556" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"Fraccion" TEXT,
"SecuenciaFraccion" TEXT,
"ClaveContribucion" TEXT,
"TasaContribucion" NUMERIC,
"TipoTasa" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro557" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"Fraccion" TEXT,
"SecuenciaFraccion" TEXT,
"ClaveContribucion" TEXT,
"FormaPago" TEXT,
"ImportePago" NUMERIC,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro558" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"Fraccion" TEXT,
"SecuenciaFraccion" TEXT,
"SecuenciaObservacion" TEXT,
"Observaciones" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro701" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"ClaveDocumento" TEXT,
"FechaPago" TEXT,
"PedimentoAnterior" TEXT,
"PatenteAnterior" TEXT,
"SeccionAduaneraAnterior" TEXT,
"DocumentoAnterior" TEXT,
"FechaOperacionAnterior" TEXT,
"PedimentoOriginal" TEXT,
"PatenteAduanalOrig" TEXT,
"SeccionAduaneraDespOrig" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "Registro702" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"ClaveContribucion" TEXT,
"FormaPago" TEXT,
"ImportePago" NUMERIC,
"TipoPedimento" TEXT,
"FechaPagoReal" TEXT
);
CREATE TABLE IF NOT EXISTS "RegistroInci" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"ConsecutivoRemesa" TEXT,
"NumeroSeleccion" TEXT,
"FechaInicioReconocimiento" TEXT,
"HoraInicioReconocimiento" TEXT,
"FechaFinReconocimiento" TEXT,
"HoraFinReconocimiento" TEXT,
"Fraccion" TEXT,
"SecuenciaFraccion" TEXT,
"ClaveDocumento" TEXT,
"TipoOperacion" TEXT,
"GradoIncidencia" TEXT,
"FechaSeleccion" TEXT
);
CREATE TABLE IF NOT EXISTS "RegistroResumen" (
"Folio" TEXT,
"RFCoPatenteAduanal" TEXT,
"Fecha_Inicial" TEXT,
"Fecha_Final" TEXT,
"Fecha_Ejecucion" TEXT,
"Total_Fracciones" INTEGER,
"Total_Contribuciones" INTEGER
);
CREATE TABLE IF NOT EXISTS "RegistroSel" (
"Patente" TEXT,
"Pedimento" TEXT,
"SeccionAduanera" TEXT,
"ConsecutivoRemesa" TEXT,
"NumeroSeleccion" TEXT,
"FechaSeleccion" TEXT,
"HoraSeleccion" TEXT,
"SemaforoFiscal" TEXT,
"ClaveDocumento" TEXT,
"TipoOperacion" TEXT
);
CREATE TABLE IF NOT EXISTS base_numpartes (
numparte TEXT PRIMARY KEY,
descripcion TEXT,
unimed TEXT,
fraccion TEXT
);