= Alimentación vía Archivos Excel = == Descripción == Funcionalidad para cargar archivos de Excel que contengan el detalle de las planillas por año. Lo que se debe implementar es: * La creación de nuevos terceros * La creación de nuevas planillas * La creación de nuevos fondos de pensiones * La creación de aportes haciendo uso de los datos cargados para las otras tablas Si la vigencia existe en la base de datos, debe eliminarse y volverse a cargar. == Presentación == ||||= Carga de Aportes por vigencia =|| || Seleccione el archivo: || ''Browse'' || || Seleccione la vigencia: || ''Selección '' || == Estructura del archivo de Excel == * Fecha * Nit o CC Tercero * Tercero * Días Cotizados * Sueldo * Gastos Representación * Retroactivo Gastos Representación * Prima Técnica * Prima Técnica Mes Anterior * Prima Técnica Retroactiva * Sobre Sueldo Mes Anterior * Sobre Sueldo Antigüedad * Total Horas Extras * Reajuste Sueldo * Retro Activo Sobre Sueldo * Retro Activo Mes Anterior * IBC * VERIFICACION SOI IBC * Total Aporte * VERIFICACION SOI PENSIÓN * Fondo Solidaridad * VERIFICACION SOI FDS * VERIFICACION SOI FD SUBSISTENCIA * PLANILLA DE PAGO * Nit Fondo Pensión * Nombre Fondo Pensión * Nombre Cargo == Algoritmo sugerido == === Terceros === 1. Generar todos los diferentes terceros a partir del archivo 1. Cruzar los terceros generados con los existentes en la base de datos por num_doc para no agregar viejos 1. Insertar los nuevos, los campos son: '''num_doc, nombre_completo, id_tipo_doc''', id_tipo_doc es siempre el que corresponde a cédula. === Fondos === 1. Generar todos los diferentes fondos a partir del archivo 1. Cruzar los fondos generados con los existentes en la base de datos por num_doc para no agregar viejos 1. Insertar los nuevos, los campos son: '''num_doc, raz_soc''' === Planilla === 1. Generar todos las diferentes planillas a partir del archivo 1. No deben existir esos números de planilla en la base de datos para cada compañía-vigencia. 1. Insertar las planillas, los campos son: '''id_cia, id_control_planilla, num_planilla, id_periodo, vigencia'' === Aportes === Para los aportes se debe hacer uso de cada fila de excel para cruzar los datos que fueron generados anteriormente, una posibilidad SQL se vería así: {{{ #!text/x-sql INSERT INTO ase_detalle_aporte ( id_cia, id_tercero, id_control_planilla, id_fondo_pensiones, num_dias, valor_ibc, valor_aporte_pension, valor_fondo_solidaridad, valor_fondo_subsistencia, ... ) VALUES ( 1, (SELECT id_tercero FROM ase_tercero WHERE num_doc=''), (SELECT id_control_planilla FROM ase_control_planilla WHERE id_cia=1 AND num_planilla='' AND id_vigencia=''), (SELECT id_fondo_pensiones FROM ase_fondo_pensiones WHERE num_doc=''), , , , , ...); }}}