cfoch / SIGAD-business

Do What The F*ck You Want To Public License
0 stars 5 forks source link

Consulta Masiva #15

Closed paquinov closed 6 years ago

paquinov commented 6 years ago

Se tiene carga masiva de : Categoria de Productos, Perfiles, Usuarios, Proveedores, Insumos, Tiendas, Tipo de Movimientos, Permisos, Fragilidad de Producto, Perfil x Permiso, Productos y Producto x Insumo. Las respectivas validaciones: campos obligatorios en blanco, parseos Generación de plantilla personalizada (Excel con varias pestañas) mediante un formato brindado por el software para la carga masiva.

cfoch commented 6 years ago

Hola, ya probé la rama. He detectado un caso en el que no funciona, por ejemplo, si cargas un usuario y colocas un perfil que no existe. Adjunto un archivo con un template que reproduce el error: template.zip (el template está adentro, Github no me deja subir .xls)

Hibernate: alter table Reparto add constraint FKg46vpnd2hn6v96hxab2710xv0 foreign key (vehiculo_id) references Vehiculo
Hibernate: alter table Usuario add constraint FKb0s6qtq0ga0u7y0nxqd4x6133 foreign key (perfil_id) references Perfil
Hibernate: alter table Vehiculo add constraint FKmftc4q0womwu385m2c68wkc73 foreign key (tipo_id) references Vehiculo$Tipo
May 28, 2018 8:05:13 PM org.hibernate.tool.schema.internal.SchemaCreatorImpl applyImportSources
INFO: HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@716e7d2a'
May 28, 2018 8:05:13 PM com.sigad.sigad.helpers.cargaMasiva.CargaMasivaHelper CargaMasivaProceso
INFO: Se procede a inspeccionar archivo ...
May 28, 2018 8:05:13 PM com.sigad.sigad.helpers.cargaMasiva.CargaMasivaHelper CargaMasivaProceso
INFO: Hoja Usuarios reconocida, iniciando proceso ...
May 28, 2018 8:05:13 PM org.hibernate.hql.internal.QueryTranslatorFactoryInitiator initiateService
INFO: HHH000397: Using ASTQueryTranslatorFactory
Hibernate: select perfil0_.id as id1_16_, perfil0_.activo as activo2_16_, perfil0_.descripcion as descripc3_16_, perfil0_.nombre as nombre4_16_ from Perfil perfil0_ where perfil0_.nombre='NO EXISTE'
May 28, 2018 8:05:13 PM com.sigad.sigad.helpers.cargaMasiva.CargaMasivaHelper CargaMasivaProceso
SEVERE: Error al cargar masivamente, revisar la ruta del archivo
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

Tu consulta obviamente devuelve una lista vacía y creo que tú tratas de acceder al primer elemento. Para evitar complicaciones, en vez de validar que el perfil exista, simplemente pon una excepción y que falle toda la carga masiva (supongo que ahí haces rollback).