sigesp 1.1.40-20250123 → 1.1.41-20250124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +31 -31
- package/sigesp/esm2020/lib/core/interfaces/ITipoDepositos.mjs +2 -0
- package/{esm2020 → sigesp/esm2020}/lib/core/models/SIV/MTipoDepositos.model.mjs +4 -4
- package/{fesm2015 → sigesp/fesm2015}/sigesp.mjs +3 -3
- package/sigesp/fesm2015/sigesp.mjs.map +1 -0
- package/{fesm2020 → sigesp/fesm2020}/sigesp.mjs +3 -3
- package/sigesp/fesm2020/sigesp.mjs.map +1 -0
- package/{lib → sigesp/lib}/core/interfaces/ITipoDepositos.d.ts +1 -1
- package/{lib → sigesp/lib}/core/models/SIV/MTipoDepositos.model.d.ts +1 -1
- package/sigesp/package.json +31 -0
- package/esm2020/lib/core/interfaces/ITipoDepositos.mjs +0 -2
- package/fesm2015/sigesp.mjs.map +0 -1
- package/fesm2020/sigesp.mjs.map +0 -1
- /package/{LICENSE → sigesp/LICENSE} +0 -0
- /package/{README.md → sigesp/README.md} +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/app/app.component.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/app/app.module.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Auditoria.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Banco.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Catalogo.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/CentroCosto.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Clasificacion.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Cliente.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/ComprobantePresupuestario.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Comunidad.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Configuracion.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/ConfiguracionRPC.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/ConfiguracionSCG.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/ConfigurationSPG.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Constantes.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/CuentaEgresos.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/CuentaIngreso.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/CuentaIngresoEstructura.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/CuentaInstitucional.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/CuentaPresupuesto.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/CuentasPorPagar.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Documento.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/EntradaSuministro.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Especialidad.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/EstructuraPresupuestaria.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/FuenteFinanciamiento.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/IBancoCuentasPorPagar.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Integracion.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Lugares.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Moneda.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Nomina.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/PlanUnicoCuenta.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Presupuesto.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Proveedor.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/RecursosHumanos.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Request.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Response.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Seguridad.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Servicios.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Sistema.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Tributos.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/UnidadTributaria.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/Usuario.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/interfaces/UsuarioPrefijo.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/CFG/Empresa.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/CFG/Enterprise.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/CFG/MPrefijo.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/CFG/Procede.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/CFG/TasaCambio.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/CFG/comunidad.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/CFG/locations.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/CFG/moneda.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/CFG/userPrefix.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/CXP/MConceptosCXP.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/CXP/MTipoDocumentoCXP.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/RPC/clasification.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/RPC/configuracionRPC.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/RPC/document.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/RPC/proveedores.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/RPC/providerBeneficiary.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/RPC/specialty.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SCB/bank.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SCG/IncomeAccount.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SCG/accountMarriage.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SCG/centroCosto.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SCG/configuracionSCG.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SCG/cuentaInstitucional.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SCG/planUnicoCuenta.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SFV/MClienteModel.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SIV/MDetaContable.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SIV/MDetaEntrada.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SIV/MEntradaSuministro.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MAnticipoPrestaciones.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MArchivoTxtCampo.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MArchivosTxt.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MAsignacionCargo.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MAspectoEvaluacion.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MAuditoria.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MBeneficiario.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MCargaFamiliar.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MCargaMasiva.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MCargosPersonal.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MClasificacionObrero.mdel.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MCodigoUnicoRac.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MComponete.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MConceptoVacaciones.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MConceptosNomina.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MConceptosPersonalNomina.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MConcursante.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MConcurso.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MConfiguracionSNO.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MConstanteNomina.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MConstantePersonalNomina.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MDedicacion.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MDefinicionNomina.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MDefinicionesBasicas.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MDeudaAnterior.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MEncargaduria.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MEscalaEvaluacion.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MEscalaEvaluacionDt.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MEstructuraOrganizativa.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MFamiliares.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MFeriados.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MFideicomiso.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MFormacionAcademica.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MGrado.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MHojaTiempo.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MImpuestoSobreRenta.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MMetodoBanco.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MNominaSimple.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MPeriodoNomina.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MPermisos.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MPersonal.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MPersonalJubilado.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MPersonalNomina.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MPlanHorario.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MPlantillaConstancia.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MPrestamo.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MPrimaGrados.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MPrimasConcepto.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MRango.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MReportesRRHH.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MRequisitosConcursante.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MRequisitosConcursos.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MRequisitosMinimos.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MSalarioHistorico.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MSolicitudEmpleo.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MTablaVacaciones.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MTablaVacacionesPeriodo.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MTabulador.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MTipoEvaluacion.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MTipoPersonal.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MTiposEnfermedad.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MTrabajoAnterior.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MUbicacionFisica.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SNO/MVacacionesPersonal.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SOC/charge.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SOC/clause.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SOC/clauseModality.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SOC/configuracionSOC.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SOC/service.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SOC/serviceCharge.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SOC/serviceType.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SPG/UnidadAdministradoraCentral.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SPG/administrativeUnit.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SPG/comprobantePresupuestario.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SPG/configurationSPG.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SPG/cuentaPresupuesto.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SPG/estructuraPresupuestaria.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SPG/expensiveAccount.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SPG/fuenteFinanciamiento.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SPG/incomeStructureAccount.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SPG/organizationType.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SSS/component.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SSS/group.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SSS/log.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SSS/securityConfiguration.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SSS/sistema.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SSS/user.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SSS/userDetail.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SSS/userPermit.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/SSS/userRights.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/STB/MCargosAdicionales.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/STB/deduction.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/STB/deductionType.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/STB/unidadTributaria.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/core/models/basic-model.model.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/shared/components/catalogo/catalogo.component.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/shared/components/catalogo-doble-input/catalogo-doble-input.component.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/shared/components/catalogo-estructuras/catalogo-estructuras.component.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/shared/components/confirm/confirm.component.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/shared/components/icon/icon.component.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/shared/components/table-select/table-select.component.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/shared/material/customPaginator.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/shared/material/material.module.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/shared/pipes/iso-currency.pipe.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/shared/shared.module.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/sigesp.service.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/lib/validation.service.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/public-api.mjs +0 -0
- /package/{esm2020 → sigesp/esm2020}/sigesp.mjs +0 -0
- /package/{index.d.ts → sigesp/index.d.ts} +0 -0
- /package/{lib → sigesp/lib}/app/app.component.d.ts +0 -0
- /package/{lib → sigesp/lib}/app/app.module.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Auditoria.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Banco.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Catalogo.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/CentroCosto.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Clasificacion.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Cliente.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/ComprobantePresupuestario.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Comunidad.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Configuracion.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/ConfiguracionRPC.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/ConfiguracionSCG.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/ConfigurationSPG.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Constantes.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/CuentaEgresos.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/CuentaIngreso.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/CuentaIngresoEstructura.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/CuentaInstitucional.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/CuentaPresupuesto.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/CuentasPorPagar.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Documento.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/EntradaSuministro.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Especialidad.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/EstructuraPresupuestaria.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/FuenteFinanciamiento.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/IBancoCuentasPorPagar.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Integracion.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Lugares.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Moneda.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Nomina.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/PlanUnicoCuenta.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Presupuesto.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Proveedor.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/RecursosHumanos.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Request.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Response.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Seguridad.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Servicios.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Sistema.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Tributos.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/UnidadTributaria.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/Usuario.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/interfaces/UsuarioPrefijo.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/CFG/Empresa.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/CFG/Enterprise.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/CFG/MPrefijo.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/CFG/Procede.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/CFG/TasaCambio.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/CFG/comunidad.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/CFG/locations.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/CFG/moneda.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/CFG/userPrefix.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/CXP/MConceptosCXP.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/CXP/MTipoDocumentoCXP.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/RPC/clasification.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/RPC/configuracionRPC.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/RPC/document.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/RPC/proveedores.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/RPC/providerBeneficiary.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/RPC/specialty.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SCB/bank.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SCG/IncomeAccount.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SCG/accountMarriage.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SCG/centroCosto.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SCG/configuracionSCG.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SCG/cuentaInstitucional.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SCG/planUnicoCuenta.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SFV/MClienteModel.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SIV/MDetaContable.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SIV/MDetaEntrada.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SIV/MEntradaSuministro.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MAnticipoPrestaciones.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MArchivoTxtCampo.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MArchivosTxt.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MAsignacionCargo.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MAspectoEvaluacion.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MAuditoria.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MBeneficiario.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MCargaFamiliar.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MCargaMasiva.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MCargosPersonal.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MClasificacionObrero.mdel.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MCodigoUnicoRac.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MComponete.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MConceptoVacaciones.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MConceptosNomina.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MConceptosPersonalNomina.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MConcursante.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MConcurso.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MConfiguracionSNO.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MConstanteNomina.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MConstantePersonalNomina.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MDedicacion.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MDefinicionNomina.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MDefinicionesBasicas.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MDeudaAnterior.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MEncargaduria.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MEscalaEvaluacion.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MEscalaEvaluacionDt.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MEstructuraOrganizativa.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MFamiliares.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MFeriados.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MFideicomiso.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MFormacionAcademica.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MGrado.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MHojaTiempo.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MImpuestoSobreRenta.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MMetodoBanco.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MNominaSimple.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MPeriodoNomina.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MPermisos.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MPersonal.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MPersonalJubilado.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MPersonalNomina.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MPlanHorario.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MPlantillaConstancia.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MPrestamo.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MPrimaGrados.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MPrimasConcepto.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MRango.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MReportesRRHH.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MRequisitosConcursante.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MRequisitosConcursos.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MRequisitosMinimos.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MSalarioHistorico.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MSolicitudEmpleo.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MTablaVacaciones.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MTablaVacacionesPeriodo.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MTabulador.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MTipoEvaluacion.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MTipoPersonal.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MTiposEnfermedad.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MTrabajoAnterior.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MUbicacionFisica.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SNO/MVacacionesPersonal.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SOC/charge.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SOC/clause.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SOC/clauseModality.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SOC/configuracionSOC.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SOC/service.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SOC/serviceCharge.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SOC/serviceType.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SPG/UnidadAdministradoraCentral.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SPG/administrativeUnit.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SPG/comprobantePresupuestario.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SPG/configurationSPG.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SPG/cuentaPresupuesto.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SPG/estructuraPresupuestaria.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SPG/expensiveAccount.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SPG/fuenteFinanciamiento.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SPG/incomeStructureAccount.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SPG/organizationType.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SSS/component.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SSS/group.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SSS/log.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SSS/securityConfiguration.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SSS/sistema.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SSS/user.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SSS/userDetail.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SSS/userPermit.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/SSS/userRights.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/STB/MCargosAdicionales.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/STB/deduction.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/STB/deductionType.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/STB/unidadTributaria.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/core/models/basic-model.model.d.ts +0 -0
- /package/{lib → sigesp/lib}/shared/components/catalogo/catalogo.component.d.ts +0 -0
- /package/{lib → sigesp/lib}/shared/components/catalogo-doble-input/catalogo-doble-input.component.d.ts +0 -0
- /package/{lib → sigesp/lib}/shared/components/catalogo-estructuras/catalogo-estructuras.component.d.ts +0 -0
- /package/{lib → sigesp/lib}/shared/components/confirm/confirm.component.d.ts +0 -0
- /package/{lib → sigesp/lib}/shared/components/icon/icon.component.d.ts +0 -0
- /package/{lib → sigesp/lib}/shared/components/table-select/table-select.component.d.ts +0 -0
- /package/{lib → sigesp/lib}/shared/material/customPaginator.d.ts +0 -0
- /package/{lib → sigesp/lib}/shared/material/material.module.d.ts +0 -0
- /package/{lib → sigesp/lib}/shared/pipes/iso-currency.pipe.d.ts +0 -0
- /package/{lib → sigesp/lib}/shared/shared.module.d.ts +0 -0
- /package/{lib → sigesp/lib}/sigesp.service.d.ts +0 -0
- /package/{lib → sigesp/lib}/validation.service.d.ts +0 -0
- /package/{public-api.d.ts → sigesp/public-api.d.ts} +0 -0
package/fesm2020/sigesp.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sigesp.mjs","sources":["../../../projects/sigesp/src/lib/core/models/basic-model.model.ts","../../../projects/sigesp/src/lib/core/models/CFG/userPrefix.model.ts","../../../projects/sigesp/src/lib/core/models/CFG/MPrefijo.model.ts","../../../projects/sigesp/src/lib/core/models/CFG/Enterprise.model.ts","../../../projects/sigesp/src/lib/core/interfaces/Constantes.ts","../../../projects/sigesp/src/lib/core/models/SNO/MPersonalNomina.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MHojaTiempo.model.ts","../../../projects/sigesp/src/lib/core/models/SSS/user.model.ts","../../../projects/sigesp/src/lib/core/models/RPC/proveedores.model.ts","../../../projects/sigesp/src/lib/shared/components/catalogo/catalogo.component.ts","../../../projects/sigesp/src/lib/shared/components/catalogo/catalogo.component.html","../../../projects/sigesp/src/lib/core/models/SPG/cuentaPresupuesto.model.ts","../../../projects/sigesp/src/lib/core/models/SCG/cuentaInstitucional.model.ts","../../../projects/sigesp/src/lib/core/models/CFG/moneda.model.ts","../../../projects/sigesp/src/lib/core/models/STB/unidadTributaria.model.ts","../../../projects/sigesp/src/lib/shared/components/confirm/confirm.component.ts","../../../projects/sigesp/src/lib/shared/components/confirm/confirm.component.html","../../../projects/sigesp/src/lib/core/models/SCG/configuracionSCG.model.ts","../../../projects/sigesp/src/lib/shared/components/icon/icon.component.ts","../../../projects/sigesp/src/lib/shared/components/icon/icon.component.html","../../../projects/sigesp/src/lib/shared/components/table-select/table-select.component.ts","../../../projects/sigesp/src/lib/shared/components/table-select/table-select.component.html","../../../projects/sigesp/src/lib/core/models/SPG/configurationSPG.model.ts","../../../projects/sigesp/src/lib/core/models/SCG/centroCosto.model.ts","../../../projects/sigesp/src/lib/core/models/SPG/fuenteFinanciamiento.model.ts","../../../projects/sigesp/src/lib/core/models/SPG/expensiveAccount.model.ts","../../../projects/sigesp/src/lib/shared/components/catalogo-estructuras/catalogo-estructuras.component.ts","../../../projects/sigesp/src/lib/shared/components/catalogo-estructuras/catalogo-estructuras.component.html","../../../projects/sigesp/src/lib/shared/components/catalogo-doble-input/catalogo-doble-input.component.ts","../../../projects/sigesp/src/lib/shared/components/catalogo-doble-input/catalogo-doble-input.component.html","../../../projects/sigesp/src/lib/core/models/SSS/userRights.model.ts","../../../projects/sigesp/src/lib/core/models/SSS/userDetail.model.ts","../../../projects/sigesp/src/lib/core/models/SSS/sistema.ts","../../../projects/sigesp/src/lib/core/models/SPG/comprobantePresupuestario.model.ts","../../../projects/sigesp/src/lib/core/models/SCG/IncomeAccount.ts","../../../projects/sigesp/src/lib/core/models/SPG/incomeStructureAccount.model.ts","../../../projects/sigesp/src/lib/core/models/SPG/organizationType.model.ts","../../../projects/sigesp/src/lib/core/models/RPC/specialty.model.ts","../../../projects/sigesp/src/lib/core/models/RPC/document.model.ts","../../../projects/sigesp/src/lib/core/models/RPC/clasification.model.ts","../../../projects/sigesp/src/lib/core/models/CFG/locations.model.ts","../../../projects/sigesp/src/lib/core/models/RPC/providerBeneficiary.model.ts","../../../projects/sigesp/src/lib/core/models/SCB/bank.model.ts","../../../projects/sigesp/src/lib/core/models/RPC/configuracionRPC.model.ts","../../../projects/sigesp/src/lib/core/models/SOC/configuracionSOC.model.ts","../../../projects/sigesp/src/lib/core/models/STB/deductionType.model.ts","../../../projects/sigesp/src/lib/core/models/SOC/charge.model.ts","../../../projects/sigesp/src/lib/core/models/STB/deduction.model.ts","../../../projects/sigesp/src/lib/core/models/SSS/securityConfiguration.model.ts","../../../projects/sigesp/src/lib/core/models/SPG/administrativeUnit.model.ts","../../../projects/sigesp/src/lib/core/models/SSS/component.model.ts","../../../projects/sigesp/src/lib/core/models/SOC/serviceCharge.model.ts","../../../projects/sigesp/src/lib/core/models/CFG/Empresa.model.ts","../../../projects/sigesp/src/lib/core/models/CXP/MConceptosCXP.model.ts","../../../projects/sigesp/src/lib/core/models/CXP/MTipoDocumentoCXP.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MConfiguracionSNO.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MPeriodoNomina.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MDefinicionNomina.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MAsignacionCargo.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MNominaSimple.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MPersonal.model.ts","../../../projects/sigesp/src/lib/core/models/SIV/MDetaContable.model.ts","../../../projects/sigesp/src/lib/core/models/SIV/MDetaEntrada.model.ts","../../../projects/sigesp/src/lib/core/models/SIV/MEntradaSuministro.model.ts","../../../projects/sigesp/src/lib/core/models/SIV/MTipoDepositos.model.ts","../../../projects/sigesp/src/lib/core/models/CFG/comunidad.model.ts","../../../projects/sigesp/src/lib/core/models/CFG/TasaCambio.model.ts","../../../projects/sigesp/src/lib/core/models/STB/MCargosAdicionales.ts","../../../projects/sigesp/src/lib/core/models/SFV/MClienteModel.ts","../../../projects/sigesp/src/lib/sigesp.service.ts","../../../projects/sigesp/src/lib/validation.service.ts","../../../projects/sigesp/src/lib/app/app.component.ts","../../../projects/sigesp/src/lib/app/app.component.html","../../../projects/sigesp/src/lib/shared/material/material.module.ts","../../../projects/sigesp/src/lib/shared/pipes/iso-currency.pipe.ts","../../../projects/sigesp/src/lib/shared/shared.module.ts","../../../projects/sigesp/src/lib/app/app.module.ts","../../../projects/sigesp/src/lib/core/models/CFG/Procede.model.ts","../../../projects/sigesp/src/lib/core/models/SPG/UnidadAdministradoraCentral.ts","../../../projects/sigesp/src/lib/core/models/SPG/estructuraPresupuestaria.model.ts","../../../projects/sigesp/src/lib/core/models/SCG/planUnicoCuenta.model.ts","../../../projects/sigesp/src/lib/core/models/SCG/accountMarriage.model.ts","../../../projects/sigesp/src/lib/core/models/SOC/serviceType.model.ts","../../../projects/sigesp/src/lib/core/models/SOC/service.model.ts","../../../projects/sigesp/src/lib/core/models/SOC/clause.model.ts","../../../projects/sigesp/src/lib/core/models/SOC/clauseModality.model.ts","../../../projects/sigesp/src/lib/core/models/SSS/group.model.ts","../../../projects/sigesp/src/lib/core/models/SSS/userPermit.model.ts","../../../projects/sigesp/src/lib/core/models/SSS/log.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MAnticipoPrestaciones.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MArchivoTxtCampo.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MArchivosTxt.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MAspectoEvaluacion.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MBeneficiario.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MCargosPersonal.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MCargaFamiliar.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MClasificacionObrero.mdel.ts","../../../projects/sigesp/src/lib/core/models/SNO/MConceptoVacaciones.model.ts","../../../projects/sigesp/src/lib/core/interfaces/Nomina.ts","../../../projects/sigesp/src/lib/core/models/SNO/MConceptosNomina.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MConceptosPersonalNomina.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MConstanteNomina.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MConstantePersonalNomina.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MRango.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MComponete.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MConcursante.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MRequisitosConcursos.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MConcurso.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MTipoPersonal.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MDedicacion.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MDefinicionesBasicas.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MDeudaAnterior.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MEscalaEvaluacionDt.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MEscalaEvaluacion.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MEstructuraOrganizativa.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MFamiliares.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MFeriados.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MFideicomiso.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MFormacionAcademica.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MGrado.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MPrimasConcepto.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MPrimaGrados.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MRequisitosConcursante.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MRequisitosMinimos.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MSalarioHistorico.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MSolicitudEmpleo.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MTablaVacacionesPeriodo.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MTablaVacaciones.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MTabulador.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MTipoEvaluacion.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MTiposEnfermedad.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MTrabajoAnterior.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MUbicacionFisica.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MVacacionesPersonal.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MEncargaduria.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MCodigoUnicoRac.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MPersonalJubilado.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MPermisos.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MCargaMasiva.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MPlantillaConstancia.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MImpuestoSobreRenta.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MMetodoBanco.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MPrestamo.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MReportesRRHH.ts","../../../projects/sigesp/src/lib/core/interfaces/Auditoria.ts","../../../projects/sigesp/src/lib/core/models/SNO/MAuditoria.model.ts","../../../projects/sigesp/src/lib/core/models/SNO/MPlanHorario.model.ts","../../../projects/sigesp/src/lib/shared/material/customPaginator.ts","../../../projects/sigesp/src/public-api.ts","../../../projects/sigesp/src/sigesp.ts"],"sourcesContent":["export class MBasicModel{\r\n\r\n public isNew: boolean = false;\r\n public error: boolean = false;\r\n public selected: boolean = false;\r\n\r\n constructor(){}\r\n\r\n}","import { IUsuarioPrefijo } from \"../../interfaces/UsuarioPrefijo\";\r\nimport { MBasicModel } from \"../basic-model.model\";\r\n\r\nexport class MUsuarioPrefijo extends MBasicModel{\r\n public idEmpresa:number=0; \r\n public idEnteprise:number=0;\r\n public periodoFiscal:number=0;\r\n public id:number=0; \r\n public idUsuario:number=0;\r\n public idDtPrefijo:number=0;\r\n public prefijo:string='';\r\n public procede:string='';\r\n public codigoSistema:string='';\r\n public codigoUsuario:string='';\r\n public estatusActivo:boolean=true;\r\n\r\n constructor(e?: IUsuarioPrefijo) {\r\n super();\r\n if(e){\r\n this.idEmpresa=+e.id_empresa; \r\n this.idEnteprise=+e.id_enterprise;\r\n this.periodoFiscal = +e.perfiscal;\r\n this.id=+e.id; \r\n this.idUsuario=+e.id_usuario;\r\n this.idDtPrefijo=+e.id_dt_prefijo\r\n this.prefijo=e.prefijo;\r\n this.procede=e.procede;\r\n this.codigoSistema=e.codsis;\r\n this.codigoUsuario=e.codusu;\r\n this.estatusActivo=e.estact=='1';\r\n } else{\r\n this.isNew=true;\r\n } \r\n }\r\n\r\n public dataInterface():IUsuarioPrefijo{\r\n return{\r\n id_empresa:this.idEmpresa.toString(),\r\n id_enterprise:this.idEnteprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n id:this.id.toString(),\r\n id_usuario:this.idUsuario.toString(),\r\n id_dt_prefijo:this.idDtPrefijo.toString(),\r\n prefijo:this.prefijo,\r\n procede:this.procede,\r\n codsis:this.codigoSistema,\r\n codusu:this.codigoUsuario,\r\n estact:this.estatusActivo ? '1':'0',\r\n }\r\n }\r\n}","import { IPrefijo} from '../../interfaces/Configuracion';\r\nimport { MBasicModel } from '../basic-model.model';\r\nimport { MUsuarioPrefijo } from './userPrefix.model';\r\n\r\nexport class MPrefijo extends MBasicModel{\r\n public idEmpresa:number=0; \r\n public idEnterprise:number=0; \r\n public periodoFiscal:number=0; \r\n public id:number=0; \r\n public prefijo:string='';\r\n public procede:string='';\r\n public codsis:string='';\r\n public numeroInicial:number=0;\r\n public numeroFinal:number=0;\r\n public maximaLogitud:number=0;\r\n public numeroActual:number=0;\r\n public estatusActivo:boolean=true;\r\n public estatusInicializarComprobanteSCG:boolean=false;\r\n public estatusPrefijoGeneral:boolean=false;\r\n public estatusPrefijoFecha:boolean=false;\r\n public usuarios:MUsuarioPrefijo[]=[];\r\n\r\n constructor(e?: IPrefijo){\r\n super();\r\n if(e){\r\n this.idEmpresa=+e.id_empresa; \r\n this.idEnterprise=+e.id_enterprise; \r\n this.periodoFiscal = +e.perfiscal;\r\n this.id=+e.id; \r\n this.prefijo=e.prefijo;\r\n this.procede=e.procede;\r\n this.codsis=e.codsis;\r\n this.numeroInicial=+e.nro_inicial;\r\n this.numeroFinal=+e.nro_final;\r\n this.maximaLogitud=+e.maxlen;\r\n this.numeroActual=+e.nro_actual;\r\n this.estatusActivo=e.estact=='1';\r\n this.estatusInicializarComprobanteSCG=e.estcompscg=='1';\r\n this.estatusPrefijoGeneral=e.estpregral=='1';\r\n this.estatusPrefijoFecha=e.estprefec=='1';\r\n if(this.usuarios){\r\n this.usuarios = e.usuarios.map(e => new MUsuarioPrefijo(e)); \r\n } \r\n } else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IPrefijo{\r\n return{\r\n id_empresa:this.idEmpresa.toString(), \r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n id:this.id.toString(), \r\n prefijo:this.prefijo,\r\n procede:this.procede,\r\n codsis:this.codsis,\r\n nro_inicial:this.numeroInicial.toString(),\r\n nro_final:this.numeroFinal.toString(),\r\n maxlen:this.maximaLogitud.toString(),\r\n nro_actual:this.numeroActual.toString(),\r\n estact:this.estatusActivo ? '1':'0',\r\n estcompscg:this.estatusInicializarComprobanteSCG ? '1':'0',\r\n estpregral:this.estatusPrefijoGeneral ? '1':'0',\r\n estprefec:this.estatusPrefijoFecha ? '1':'0',\r\n usuarios: this.usuarios.map(function(e){return e.dataInterface()}), \r\n }\r\n }\r\n}\r\n","\r\nimport { IEnterprise } from '../../interfaces/Configuracion';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MEnterprise extends MBasicModel { \r\n public idEmpresa : number = 0;\r\n public idEnterprise: number = 0;\r\n public codigo : string = '';\r\n public razonSocial : string = '';\r\n public titulo : string = '';\r\n public logo : string = '';\r\n public rif : string = '';\r\n public direccion: string='';\r\n public cuentaIngreso : string = '';\r\n public CuentaPorCobrar : string = '';\r\n public CuentaIva : string = '';\r\n public cuentaInventario : string = '';\r\n public cuentaUtilidad : string = '';\r\n public cuentaPerdida : string = '';\r\n public cuentaPasivoDiferido : string = ''; \r\n public cuentAnterior : string = '';\r\n public cuentSobrante : string = '';\r\n public diaFechaVencimiento: number=0; \r\n\r\n\r\n constructor (e?:IEnterprise) {\r\n super();\r\n if (e){\r\n this.idEmpresa= +e.id_empresa;\r\n this.idEnterprise= +e.id_enterprise;\r\n this.codigo= e.codigo;\r\n this.razonSocial= e.denominacion;\r\n this.titulo=e.titulo\r\n this.logo= e.logo;\r\n this.rif=e.rif;\r\n this.direccion=e.direccion;\r\n this.cuentaIngreso= e.spi_cuenta;\r\n this.CuentaPorCobrar= e.sc_cuenta_cxc;\r\n this.CuentaIva= e.sc_cuenta_iva;\r\n this.cuentaInventario= e.sc_cuenta_inventario;\r\n this.cuentaUtilidad= e.sc_cuenta_utilidad;\r\n this.cuentaPerdida= e.sc_cuenta_perdida;\r\n this.cuentaPasivoDiferido= e.sc_cuenta_pasivo_diferido;\r\n this.cuentAnterior= e.sc_cuenta_ant;\r\n this.cuentSobrante= e.spi_cuenta_sobrante;\r\n this.diaFechaVencimiento=+e.diafecven;\r\n } else{\r\n this.isNew=true;\r\n } \r\n }\r\n\r\n public dataInterface():IEnterprise{\r\n return {\r\n id_empresa: this.idEmpresa.toString(),\r\n id_enterprise: this.idEnterprise.toString(),\r\n codigo: this.codigo,\r\n denominacion: this.razonSocial,\r\n titulo: this.titulo,\r\n logo: this.logo,\r\n rif: this.rif,\r\n direccion:this.direccion,\r\n spi_cuenta: this.cuentaIngreso,\r\n sc_cuenta_cxc: this.CuentaPorCobrar,\r\n sc_cuenta_iva: this.CuentaIva,\r\n sc_cuenta_inventario: this.cuentaInventario,\r\n sc_cuenta_utilidad: this.cuentaUtilidad,\r\n sc_cuenta_perdida: this.cuentaPerdida,\r\n sc_cuenta_pasivo_diferido: this.cuentaPasivoDiferido,\r\n sc_cuenta_ant: this.cuentAnterior,\r\n spi_cuenta_sobrante: this.cuentSobrante,\r\n diafecven:this.diaFechaVencimiento.toString(),\r\n }\r\n }\r\n}","export interface ISelect{\r\n value:string\r\n denominacion: string\r\n}\r\nexport interface ISelect1 {\r\n value:number;\r\n}\r\nexport interface ISelect3{ \r\n denominacion: string,\r\n valor: string,\r\n}\r\nexport interface ISelect7{\r\n value: number,\r\n descripcion: string,\r\n}\r\n\r\nexport interface ISelect4 {\r\n value:string;\r\n}\r\nexport interface ISelect5{\r\n tipo:string,\r\n tabla:string,\r\n value:string\r\n denominacion: string,\r\n}\r\n\r\n\r\nexport interface ICatalogo {\r\n columns: string[];\r\n dataSource: any[];\r\n title: string;\r\n tipo:string;\r\n id:number;\r\n idNomina?:number;\r\n idProceso?:number;\r\n estatus?:boolean;\r\n cantidad:number;\r\n columnNames?: string[];\r\n filterData: filterData[];\r\n\r\n}\r\nexport interface filterData {\r\n placeholder: string;\r\n property: string;\r\n}\r\n\r\nexport const TipoDefiniciones: ISelect[]=[\r\n {value: \"1\", denominacion: 'Categoria del Rango'} ,\r\n {value: \"2\", denominacion: 'Causa Retiro'} , \r\n {value: \"11\", denominacion: 'Centros Médicos'} ,\r\n {value: \"15\", denominacion: 'Clasificador Docente'} ,\r\n {value: \"9\", denominacion: 'Clasificación de Personal'} ,\r\n {value: \"3\", denominacion: 'Nivel de Selección'} ,\r\n {value: \"4\", denominacion: 'Profesiones' },\r\n {value: \"16\", denominacion: 'Permisos Personal'},\r\n {value: \"17\", denominacion: 'Rutas'},\r\n {value: \"14\", denominacion: 'Sindicato' },\r\n {value: \"5\", denominacion: 'Tipo de Accidentes'} ,\r\n {value: \"6\", denominacion: 'Tipo de Cobertura de Salud'}, \r\n {value: \"7\", denominacion: 'Tipo de Contrato'} ,\r\n {value: \"8\", denominacion: 'Tipo de Documento Legales'} , \r\n {value: \"10\", denominacion: 'Tipo de Personal'} ,\r\n {value: \"13\", denominacion: 'Tipo de Prestamo'} ,\r\n ]\r\n\r\nexport const EstadoCivil: ISelect[]=[\r\n {value: \"S\", denominacion: 'Soltero'} ,\r\n {value: \"C\", denominacion: 'Casado'} ,\r\n {value: \"D\", denominacion: 'Divorciado'} ,\r\n {value: \"V\", denominacion: 'Viudo'},\r\n {value: \"U\", denominacion: 'Unión libre'}\r\n]\r\n\r\nexport const Sexo: ISelect[]=[\r\n {value: \"F\", denominacion: 'F'},\r\n {value: \"M\", denominacion: 'M'}, \r\n]\r\n\r\nexport const Sexo2: ISelect[]=[\r\n {value: \"F\", denominacion: 'Feminino'},\r\n {value: \"M\", denominacion: 'Masculino'}, \r\n]\r\n\r\nexport const TipoCargo: ISelect[]=[\r\n {value: \"E\", denominacion: '(E)'},\r\n {value: \"N\", denominacion: '(N)'}, \r\n]\r\n\r\n\r\nexport const NivelAcademico: ISelect[]=[\r\n {value: \"0\", denominacion: 'Ninguno'},\r\n {value: \"1\", denominacion: 'Primaria'},\r\n {value: \"2\", denominacion: 'Bachiller'},\r\n {value: \"8\", denominacion: 'Técnico Media'}, \r\n {value: \"3\", denominacion: 'Técnico Superior'}, \r\n {value: \"4\", denominacion: 'Universitario'},\r\n {value: \"5\", denominacion: 'Maestria'},\r\n {value: \"6\", denominacion: 'Postgrado'},\r\n {value: \"7\", denominacion: 'Doctorado'},\r\n {value: \"9\", denominacion: 'Especialista'}, \r\n]\r\n\r\nexport const Turno: ISelect[]=[\r\n {value: \"D\", denominacion: 'Diurno'},\r\n {value: \"N\", denominacion: 'Nocturno'},\r\n {value: \"A\", denominacion: 'Ambos'},\r\n]\r\n\r\nexport const SituacionPersonal: ISelect[]=[\r\n {value: \"N\", denominacion: 'Ninguno'},\r\n {value: \"F\", denominacion: 'Fallecido'},\r\n {value: \"P\", denominacion: 'Pensionado'},\r\n {value: \"J\", denominacion: 'Jubilado'},\r\n {value: \"R\", denominacion: 'Retiro'}, \r\n]\r\n\r\nexport const CausaEgreso: ISelect[]=[\r\n {value: \"N\", denominacion: 'Ninguno'},\r\n {value: \"D\", denominacion: 'Despedido'},\r\n {value: \"R\", denominacion: 'Renuncia'},\r\n {value: \"P\", denominacion: 'Pensionado'},\r\n {value: \"T\", denominacion: 'Traslado'},\r\n {value: \"J\", denominacion: 'Jubilado'}, \r\n {value: \"F\", denominacion: 'Fallecido'}, \r\n]\r\n\r\nexport const EstatusPersonal: ISelect[]=[\r\n {value: \"2\", denominacion: 'N/A'},\r\n {value: \"0\", denominacion: 'PRE-INGRESO'},\r\n {value: \"1\", denominacion: 'ACTIVO'},\r\n {value: \"9\", denominacion: 'SUSPENDIDO'}, \r\n {value: \"3\", denominacion: 'EGRESADO'}, \r\n {value: \"4\", denominacion: 'REMOCIÓN'},\r\n {value: \"5\", denominacion: 'RETIRO'},\r\n {value: \"6\", denominacion: 'DESTITUCIÓN'},\r\n {value: \"7\", denominacion: 'LIQUIDADO'},\r\n {value: \"8\", denominacion: 'REINGRESO'},\r\n\r\n]\r\n\r\nexport const EstatusPersonalNomina: ISelect[]=[\r\n {value: \"0\", denominacion: 'No Asignado'},\r\n {value: \"1\", denominacion: 'ACTIVO'},\r\n {value: \"2\", denominacion: 'VACACIONES'},\r\n {value: \"3\", denominacion: 'EGRESADO'}, \r\n {value: \"4\", denominacion: 'SUSPENDIDO'},\r\n {value: \"5\", denominacion: 'FALLECIDO'},\r\n]\r\n\r\nexport const Estatus: ISelect[]=[\r\n {value: \"1\", denominacion: 'S'},\r\n {value: \"0\", denominacion: 'N'}, \r\n]\r\n\r\nexport const EstatusEstudio: ISelect[]=[\r\n {value: \"1\", denominacion: 'S'},\r\n {value: \"0\", denominacion: 'N'},\r\n {value: \"3\", denominacion: 'D'},\r\n \r\n]\r\n\r\nexport const Turnos: ISelect[]=[\r\n {value: \"D\", denominacion: 'Diurno'},\r\n {value: \"N\", denominacion: 'Nocturno'},\r\n {value: \"A\", denominacion: 'Ambos'}, \r\n]\r\n\r\nexport const TipoVivienda: ISelect[]=[\r\n {value: \"0\", denominacion: 'Ninguna'},\r\n {value: \"1\", denominacion: 'Propia'},\r\n {value: \"2\", denominacion: 'Alquilada'}, \r\n {value: \"3\", denominacion: 'De un Familiar'}, \r\n {value: \"4\", denominacion: 'No Tiene'}, \r\n]\r\n\r\nexport const LetraRif: ISelect[]=[\r\n {value: \"J\", denominacion: 'J'},\r\n {value: \"G\", denominacion: 'G'},\r\n {value: \"V\", denominacion: 'V'},\r\n {value: \"E\", denominacion: 'E'},\r\n]\r\n\r\nexport const Estudios: ISelect[]=[\r\n { value:\"1\", denominacion:'Primaria'}, \r\n { value:\"2\", denominacion:'Ciclo Básico'}, \r\n { value:\"3\", denominacion:'Ciclo Diversificado'},\r\n { value:\"4\", denominacion:'Pregrado'},\r\n { value:\"5\", denominacion:'Especialización'}, \r\n { value:\"6\", denominacion:'Maestria'}, \r\n { value:\"7\", denominacion:'Postgrado'},\r\n { value:\"8\", denominacion:'Doctorado'}, \r\n { value:\"9\", denominacion:'Diplomados'}, \r\n { value:\"10\", denominacion:'Taller'}, \r\n { value:\"11\", denominacion:'Curso'}, \r\n { value:\"12\", denominacion:'Seminario'}, \r\n]\r\n\r\nexport const academico: ISelect[] = [\r\n {value: '1', denominacion: 'Primaria'},\r\n {value: '2', denominacion: 'Bachiller'},\r\n {value: '3', denominacion: 'Técnico Medio'},\r\n {value: '4', denominacion: 'Técnico Superior'},\r\n {value: '5', denominacion: 'Universitaio'},\r\n {value: '6', denominacion: 'Maestría'},\r\n {value: '7', denominacion: 'Postgrado'},\r\n {value: '8', denominacion: 'Doctorado'},\r\n {value: '9', denominacion: 'Especialización'}\r\n ];\r\n\r\nexport const TipoEmpresa: ISelect[]=[\r\n { value:\"1\", denominacion:'Público'}, \r\n { value:\"0\", denominacion:'Privado'}, \r\n]\r\n\r\nexport const TipoPermiso: ISelect[]=[\r\n { value:\"1\", denominacion:'Estudios'}, \r\n { value:\"2\", denominacion:'Médico'}, \r\n { value:\"3\", denominacion:'Tramites'},\r\n { value:\"4\", denominacion:'Otros'},\r\n { value:\"5\", denominacion:'Reposo'}, \r\n { value:\"6\", denominacion:'Reposo Laboral'}, \r\n { value:\"7\", denominacion:'Ausencia'},\r\n { value:\"8\", denominacion:'Permiso Sindical'}, \r\n { value:\"9\", denominacion:'Compensatorio'}, \r\n]\r\n\r\nexport const Nexofamiliar : ISelect[]=[\r\n { value:\"C\", denominacion:'Conyugue'}, \r\n { value:\"H\", denominacion:'Hijo(a)'}, \r\n { value:\"P\", denominacion:'Progenitor'},\r\n { value:\"E\", denominacion:'Hermano(a)'},\r\n { value:\"V\", denominacion:'Viudo(a)'},\r\n]\r\n\r\nexport const NivelAcademicoFamiliar: ISelect[]=[\r\n { value:\"N\", denominacion:'Ninguno'}, \r\n { value:\"P\", denominacion:'Primaria'}, \r\n { value:\"D\", denominacion:'Diversificada'},\r\n { value:\"T\", denominacion:'Técnico'},\r\n { value:\"U\", denominacion:'Universitario'},\r\n \r\n]\r\n\r\n\r\n\r\nexport const TipoBeneficiario: ISelect[]=[\r\n { value:\"0\", denominacion:'Pensión Sobreviviente'}, \r\n { value:\"1\", denominacion:'Pensión Judicial'}, \r\n { value:\"2\", denominacion:'Pensión Alimenticia'},\r\n]\r\n\r\nexport const Nacionalidad: ISelect[]=[\r\n { value:\"V\", denominacion:'Venezolana'}, \r\n { value:\"E\", denominacion:'Extranjero'},\r\n]\r\n\r\nexport const FormaPago: ISelect[]=[\r\n { value:\"0\", denominacion:'Cheque'}, \r\n { value:\"1\", denominacion:'Trasferencias'}, \r\n]\r\n\r\nexport const EstatusVacaciones: ISelect[]=[\r\n { value:\"0\", denominacion:'Ninguna'}, \r\n { value:\"1\", denominacion:'Vencida'}, \r\n { value:\"2\", denominacion:'Programadas'},\r\n { value:\"3\", denominacion:'Disfrutadas'},\r\n]\r\n\r\nexport const TipoPeriodoNomina: ISelect[]=[\r\n { value:\"0\", denominacion:'Semanal'}, \r\n { value:\"1\", denominacion:'Quincenal'}, \r\n { value:\"2\", denominacion:'Mensual'},\r\n { value:\"3\", denominacion:'Anual'},\r\n]\r\n\r\nexport const TipoNomina: ISelect[]=[\r\n { value:\"1\", denominacion:'Empleado Fijo'}, \r\n { value:\"2\", denominacion:'Empleado Contratado'}, \r\n { value:\"3\", denominacion:'Obrero Fijo'},\r\n { value:\"4\", denominacion:'Obrero Contratado'},\r\n { value:\"5\", denominacion:'Docente Fijo'}, \r\n { value:\"6\", denominacion:'Docente Contratado'}, \r\n { value:\"7\", denominacion:'Jubilado'},\r\n { value:\"8\", denominacion:'Comisión de servicios'}, \r\n { value:\"9\", denominacion:'Libre Nombramiento'}, \r\n { value:\"10\", denominacion:'Militar'}, \r\n { value:\"11\", denominacion:'Honorarios Profesionales'}, \r\n { value:\"12\", denominacion:'Pensionados'},\r\n { value:\"13\", denominacion:'Suplentes'}, \r\n { value:\"14\", denominacion:'Incapacitado'}, \r\n { value:\"15\", denominacion:'Alto Nivel'}, \r\n { value:\"16\", denominacion:'Aprendiz Ince'}, \r\n { value:\"17\", denominacion:'Apoyo Institucional'}, \r\n]\r\n\r\nexport const ContabilizacionNomina:ISelect []=[\r\n { value:\"CP\", denominacion:'CAUSA Y PAGA'}, \r\n { value:\"O\", denominacion:'COMPROMETE'}, \r\n { value:\"OC\", denominacion:'COMPROMETE CAUSA'}, \r\n { value:\"OCP\", denominacion:'COMPROMETE CAUSA Y PAGA'}, \r\n]\r\n\r\nexport const Destino:ISelect[]=[\r\n { value:\"P\", denominacion:'Proveedor'}, \r\n { value:\"B\", denominacion:'Beneficiario'}, \r\n]\r\n\r\nexport const TipoHorario:ISelect[]=[\r\n { value:\"F\", denominacion:'Fijo'}, \r\n { value:\"R\", denominacion:'Rotativo'}, \r\n]\r\n\r\nexport const EstatusPrestamo:ISelect[]=[\r\n { value:\"1\", denominacion:'Activo'}, \r\n { value:\"2\", denominacion:'Suspendido'}, \r\n { value:\"3\", denominacion:'Cancelado'}, \r\n]\r\n\r\nexport const TipoCuota:ISelect[]=[\r\n { value:\"1\", denominacion:'Mensual'}, \r\n { value:\"0\", denominacion:'Por Periodo'}, \r\n]\r\n\r\nexport const Acciones:ISelect[]=[\r\n { value:\"0\", denominacion:'Ninguna'},\r\n { value:\"1\", denominacion:'Recalcular Cuotas'}, \r\n { value:\"2\", denominacion:'Suspender Cuotas'}, \r\n { value:\"3\", denominacion:'Amortizar'}, \r\n { value:\"4\", denominacion:'Refinanciar'}, \r\n]\r\n\r\nexport const Preaviso:ISelect[]=[\r\n { value:\"1\", denominacion:'Sin Preaviso'}, \r\n { value:\"2\", denominacion:'Preaviso Laboral'}, \r\n { value:\"3\", denominacion:'Preaviso 104'}, \r\n { value:\"4\", denominacion:'Preaviso 107'}, \r\n]\r\n\r\nexport const EstatusCliente:ISelect[]=[\r\n { value:\"A\", denominacion:'Activo'}, \r\n { value:\"B\", denominacion:'Bloqueado'}, \r\n { value:\"S\", denominacion:'Suspendido'}, \r\n { value:\"E\", denominacion:'No Activo'}, \r\n]\r\n\r\nexport const Orden: ISelect[]=[\r\n {value: \"1\", denominacion: 'Código del Personal'},\r\n {value: \"2\", denominacion: 'Apellido del Personal'},\r\n {value: \"3\", denominacion: 'Nombre del Personal'}, \r\n {value: \"4\", denominacion: 'Cédula del Personal'}, \r\n]\r\nexport const Longitud: ISelect1[]=[\r\n { value:1 },\r\n { value:2 },\r\n { value:3 },\r\n { value:4 },\r\n { value:5 },\r\n { value:6 },\r\n { value:7 },\r\n { value:8 },\r\n { value:9 },\r\n { value:10 },\r\n { value:11 },\r\n { value:12 },\r\n { value:14 },\r\n { value:15 },\r\n { value:16 },\r\n { value:17 },\r\n { value:18 },\r\n { value:19 },\r\n { value:20 },\r\n { value:21 },\r\n { value:22 },\r\n { value:23 },\r\n { value:24 },\r\n { value:25 },\r\n];\r\n\r\nexport const Nivel:ISelect7[] = [\r\n {value: 1, descripcion: 'Nivel 1'},\r\n {value: 2, descripcion: 'Nivel 2'},\r\n {value: 3, descripcion: 'Nivel 3'},\r\n {value: 4, descripcion: 'Nivel 4'},\r\n {value: 5, descripcion: 'Nivel 5'},\r\n {value: 6, descripcion: 'Nivel 6'},\r\n {value: 7, descripcion: 'Nivel 7'},\r\n {value: 8, descripcion: 'Nivel 8'},\r\n {value: 9, descripcion: 'Nivel 9'},\r\n {value: 10, descripcion: 'Nivel 10'},\r\n ];\r\n\r\nexport const Meses: ISelect[]=[\r\n { value:'01', denominacion:'Enero'},\r\n { value:'02', denominacion:'Febrero'},\r\n { value:'03', denominacion:'Marzo'},\r\n { value:'04', denominacion:'Abril'},\r\n { value:'05', denominacion:'Mayo'},\r\n { value:'06', denominacion:'Junio'},\r\n { value:'07', denominacion:'Julio'},\r\n { value:'08', denominacion:'Agosto'},\r\n { value:'09', denominacion:'Septiembre'},\r\n { value:'10', denominacion:'Octubre'},\r\n { value:'11', denominacion:'Noviembre'},\r\n { value:'12', denominacion:'Diciembre'},\r\n]\r\n\r\nexport const TipoJubilacion:ISelect[]=[\r\n { value:'1', denominacion:'Jubilación Reglamentaria'},\r\n { value:'2', denominacion:'Jubilacion Especial'},\r\n { value:'3', denominacion:'Pensión Invalidez'},\r\n]\r\n\r\nexport const camposConstaciaTrabajo: ISelect3[]=[ \r\n {denominacion: \"AÑO\", valor: 'Anio'},\r\n {denominacion: \"APELLIDOS\", valor: 'ApellidosPersonal'},\r\n {denominacion: \"CEDULA\", valor: 'CedulaPersonal'}, \r\n {denominacion: \"CÓDIGO CARGO\", valor: 'CodigoCargo'},\r\n {denominacion: \"DEDICACIÓN\", valor: 'Dedicacion'},\r\n {denominacion: \"DENOMINACIÓN DEL CARGO\", valor: 'DenominacionCargo'},\r\n {denominacion: \"DÍA\", valor: 'Dia'},\r\n {denominacion: \"DIRECCIÓN\", valor: 'Direccion'},\r\n {denominacion: \"EDO. CIVIL\", valor: 'EdoCivil'},\r\n {denominacion: \"ESTRUCTURA ORGANIZATIVA\", valor: 'EstructuraOrganizativa'},\r\n {denominacion: \"FECHA DE JUBILACIÓN\", valor: 'FechaJubilacion'},\r\n {denominacion: \"FECHA EGRESO INSTITUCIÓN (DD/MM/AAAA)\", valor: 'FechaEgresoInstitucionddmmaaaa'},\r\n {denominacion: \"FECHA INGRESO INSTITUCIÓN (DD/MM/AAAA)\", valor: 'FechaIngresoInstitucionddmmaaaa'},\r\n {denominacion: \"FECHA INGRESO NÓMINA\", valor: 'FechaIngresoNomina'},\r\n {denominacion: \"FECHA INGRESO NÓMINA (DD/MM/AAAA)\", valor: 'FechaIngresoNominaddmmaaaa'},\r\n {denominacion: \"FECHA NACIMIENTO (DD/MM/AAAA)\", valor: 'FechaNacimiento'},\r\n {denominacion: \"MES NUMERICO\", valor: 'Mes'},\r\n {denominacion: \"MES NOMBRE \", valor: 'NombreMes'},\r\n {denominacion: \"NACIONALIDAD\", valor: 'Nacionalidad'},\r\n {denominacion: \"NOMBRES\", valor: 'NombresPersonal'},\r\n {denominacion: \"RIF DEL EMPLEADO\", valor: 'RifPersonal'},\r\n {denominacion: \"SALARIO NORMAL\", valor: 'SalarioNormal'},\r\n {denominacion: \"SALARIO NORMAL LETRAS\", valor: 'SalarioNormalLetras'},\r\n {denominacion: \"SUELDO BASE\", valor: 'SueldoBase'},\r\n {denominacion: \"SUELDO BASE EN LETRAS\", valor: 'SueldoBaseLetras'},\r\n {denominacion: \"SUELDO INTEGRAL\", valor: 'SueldoIntegral'},\r\n {denominacion: \"SUELDO INTEGRAL EN LETRAS\", valor: 'SueldoIntegralLetras'},\r\n {denominacion: \"SUELDO VACACIONES \", valor: 'SueldoVacaciones'},\r\n {denominacion: \"SUELDO VACACIONES LETRAS\", valor: 'SueldoVacacionesLetras'},\r\n {denominacion: \"TELÉFONO HABITACIÓN\", valor: 'TelefonoHabitacion'},\r\n {denominacion: \"TELÉFONO MÓVIL\", valor: 'TelefonoMovil'},\r\n {denominacion: \"TIPO NÓMINA\", valor: 'TipoNomina'},\r\n {denominacion: \"TIPO PERSONAL\", valor: 'TipoPersonal'},\r\n {denominacion: \"CODIGO QR\", valor: 'QR'},\r\n ];\r\n\r\n export const MetodosTicket: ISelect[]=[\r\n {value: \"ticket\", denominacion: 'Cesta Ticket'} , \r\n];\r\n\r\nexport const DiasSemana: ISelect7[]=[\r\n {value: 1, descripcion: 'lunes'},\r\n {value: 2, descripcion: 'martes'},\r\n {value: 3, descripcion: 'miércoles'},\r\n {value: 4, descripcion: 'jueves'}, \r\n {value: 5, descripcion: 'viernes'},\r\n {value: 6, descripcion: 'sábado'},\r\n {value: 7, descripcion: 'domingo'},\r\n]\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { EstatusPersonalNomina } from '../../interfaces/Constantes';\r\nimport { IPersonalNomina } from '../../interfaces/Nomina';\r\nimport { MBasicModel } from '../basic-model.model';\r\nimport { TipoCargo } from '../../interfaces/Constantes'\r\n\r\nexport class MPersonalNomina extends MBasicModel {\r\n public idEmpresa:number=0; \r\n public idEnterprise:number=0;\r\n public idPersonalNomina:number=0; \r\n public idPersonal:number=0; \r\n public idNomina:number=1; \r\n public idTablaVacaciones:number=1; \r\n public idCargoPersonal:number=0; \r\n public codigoGrado:string=''; \r\n public codigoPaso:string='';\r\n public sueldoPersonal:number=0; \r\n public horaPerersonal:number=0; \r\n public idOrganigrama:number=0; \r\n public pagoPorBancoPersonal:number=0;\r\n public idCuentaBancoPersonal:number=0;\r\n public fechaIngreso:string='1900-01-01';\r\n public statusPersonal:number=1; \r\n public cuentaAbonoPersonal:string=''; \r\n public fechaCulminacionContrato:string='1900-01-01' \r\n public idDedicacion:number=0; \r\n public idTipoPersonal:number=0; \r\n public quincenaVacacionalPersonal:number=0; \r\n public idTabulador:number=0; \r\n public sueldoIntegralPersonal:number=0;\r\n public pagoEfectivoChequepersonal:number=0;\r\n public sueldoPromedioPersonal:number=0; \r\n public idAgencia:number=0; \r\n public fechaEgresoPersonal:string='1900-01-01';\r\n public causaEgresoPersonal:string=''; \r\n public fechaSuspencionPersonal:string='1900-01-01';\r\n public idUbicacionFisica:number=0;\r\n public conceptoJubilacion:string='0000'\r\n public categoriaJubilacion:string='001' \r\n public idCategoriaViaticos:number=0;\r\n public fechaAscesoPersonal:string='1900-01-01';\r\n public descripcionAsignacionCargo:string=''; \r\n public saldoNormalPersonal:number=0; \r\n public observacion:string='';\r\n public codigoUsuario:string='';\r\n public idBanco:number=0;\r\n public nombreBanco:string='';\r\n public nombrePersonal:string='';\r\n public codigoPersonal:string='';\r\n public cedulaPersonal:string='';\r\n public codigoTablaVacaciones:string='';\r\n public denominacionTablaVacaciones:string='';\r\n public codigoCargoPersonal:string='';\r\n public denominacionCargoPersonal:string='';\r\n public codigoOrganigrama:string='';\r\n public denominacionOrganigrama:string='';\r\n public cuentaBancoPersonal:string='';\r\n public codigoDedicacion:string='';\r\n public denominacionDedicacion:string='';\r\n public codigoTipoPersonal:string='';\r\n public denominacionTipoPersonal:string='';\r\n public codigoTabulador:string='';\r\n public denominacionTabulador:string='';\r\n public codigoAgencia:string='';\r\n public denominacionAgencia:string='';\r\n public codigoUbicacionFisica:string='';\r\n public denominacionUbicacionFisica:string='';\r\n public codigoCategoriaViaticos:string='';\r\n public denominacionCategoriaViaticos:string='';\r\n public denominacionCuentaAbono:string='';\r\n public tipoCuentaPersonal:string='';\r\n public fechaIngresoSistema: string='1900-01-01';\r\n public codigoBanco:string='';\r\n public idClasificacionObrero:number=0;\r\n public idCodigoUnicoRac:number=0;\r\n public montoCompensacionGrado:number=0;\r\n public horaAdicional1:number=0;\r\n public horaAdicional2:number=0; \r\n public estatusMPPPE:boolean=false;\r\n public montoSaldoGrado:number=0;\r\n public apellidoPersonal:string='';\r\n public denominacionEstatus:string='';\r\n public nombreCompleto:string='';\r\n public nominaRac:number=0;\r\n public situacionPersonal:string='';\r\n public montoPension:number=0;\r\n public nacionalidad:string=''; \r\n public idClasificadorDocente:number=0;\r\n public codigoClasificador:string='';\r\n public denominacionClasificador:string='';\r\n public idPlanHorario:number=0;\r\n public codigoPlanHorario:string='';\r\n public denominacionPlanHorario:string='';\r\n public idPermisoPersonal:number=0;\r\n public codigoPermisoPersonal:string='';\r\n public denominacionPermisoPersonal:string='';\r\n public tipoCargo:string='N';\r\n public denominacionTipoCargo:string='';\r\n public TipoCargo= TipoCargo; \r\n public sueldoNormalFijo:number=0;\r\n public sueldoNormalVariable:number=0;\r\n public sueldoNormalBonoVacaciones:number=0;\r\n public sueldoNormalBonoFinAnio:number=0;\r\n\r\n constructor(e:IPersonalNomina=null){\r\n super()\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise;\r\n this.idEmpresa=e.id_empresa; \r\n this.idPersonalNomina=parseInt(e.id_personalnomina);\r\n this.idPersonal=parseInt(e.id_personal);\r\n this.idNomina=parseInt(e.id_nomina);\r\n this.idTablaVacaciones=parseInt(e.id_tabvac);\r\n this.idCargoPersonal=parseInt(e.id_carper);\r\n this.codigoGrado=e.codgra;\r\n this.codigoPaso=e.codpas;\r\n this.sueldoPersonal=parseFloat(e.sueper);\r\n this.horaPerersonal=parseInt(e.horper);\r\n this.idOrganigrama=parseInt(e.id_organigrama);\r\n this.pagoPorBancoPersonal=parseInt(e.pagbanper);\r\n this.idCuentaBancoPersonal=parseInt(e.id_ctabanper);\r\n this.fechaIngreso=e.fecing;\r\n this.statusPersonal=parseInt(e.staper);\r\n this.cuentaAbonoPersonal=e.cueaboper;\r\n this.fechaCulminacionContrato=e.fecculcontr;\r\n this.idDedicacion=parseInt(e.id_dedicacion);\r\n this.idTipoPersonal=parseInt(e.id_tipopersonal);\r\n this.quincenaVacacionalPersonal=parseInt(e.quivacper);\r\n this.idTabulador=parseInt(e.id_tabulador);\r\n this.sueldoIntegralPersonal=+e.sueintper;\r\n this.pagoEfectivoChequepersonal=parseInt(e.pagefeper);\r\n this.sueldoPromedioPersonal=+e.sueproper;\r\n this.idAgencia=parseInt(e.id_agencia);\r\n this.fechaEgresoPersonal=e.fecegrper;\r\n this.causaEgresoPersonal=e.cauegrper;\r\n this.fechaSuspencionPersonal=e.fecsusper;\r\n this.idUbicacionFisica=parseInt(e.id_ubifis);\r\n this.conceptoJubilacion=e.conjub;\r\n this.categoriaJubilacion=e.catjub;\r\n this.idCategoriaViaticos=parseInt(e.id_claviaticos);\r\n this.fechaAscesoPersonal=e.fecascper;\r\n this.descripcionAsignacionCargo=e.descasicar;\r\n this.saldoNormalPersonal=+e.salnorper;\r\n this.observacion=e.observacion;\r\n this.codigoUsuario=e.codusu;\r\n this.nombrePersonal=e.nomper;\r\n this.codigoPersonal=e.codper;\r\n this.nacionalidad=e.nacper.toUpperCase();\r\n this.cedulaPersonal=e.cedper;\r\n this.codigoTablaVacaciones=e.codtabvac;\r\n this.denominacionTablaVacaciones=e.dentabvac;\r\n this.codigoCargoPersonal=e.codcar;\r\n this.denominacionCargoPersonal=e.descar;\r\n this.codigoOrganigrama=e.codestorg;\r\n this.denominacionOrganigrama=e.denestorg;\r\n this.cuentaBancoPersonal=e.ctabanper;\r\n this.codigoDedicacion=e.codded;\r\n this.denominacionDedicacion=e.dended;\r\n this.codigoTipoPersonal=e.codtipper;\r\n this.denominacionTipoPersonal=e.dentipper;\r\n this.codigoTabulador=e.codtab;\r\n this.denominacionTabulador=e.destab;\r\n this.codigoAgencia=e.codage;\r\n this.denominacionAgencia=e.nomage;\r\n this.codigoUbicacionFisica=e.codubifis;\r\n this.denominacionUbicacionFisica=e.denubifis;\r\n this.codigoCategoriaViaticos=e.codcatvia;\r\n this.denominacionCategoriaViaticos=e.dencatvia;\r\n this.tipoCuentaPersonal=e.nomtipcta;\r\n this.fechaIngresoSistema=e.fecregsis;\r\n this.idClasificacionObrero=parseInt(e.id_claobr);\r\n this.montoCompensacionGrado=parseFloat(e.moncomgra);\r\n this.horaAdicional1=parseFloat(e.horadi1);\r\n this.horaAdicional2=parseFloat(e.horadi2); \r\n this.estatusMPPPE = e.estmpppe=='1'? true:false; \r\n this.montoSaldoGrado= parseFloat(e.monsalgra);\r\n this.denominacionEstatus=(EstatusPersonalNomina.find(f=>f.value==e.staper).denominacion).toUpperCase(); \r\n this.apellidoPersonal=e.apeper;\r\n this.nombreCompleto= this.nombrePersonal+' '+this.apellidoPersonal;\r\n this.situacionPersonal=e.situacion; \r\n this.montoPension=+e.monpen;\r\n this.idClasificadorDocente=+e.id_clasificacion_docente;\r\n this.codigoClasificador=e.codcladoc;\r\n this.denominacionClasificador=e.dencladec;\r\n this.nominaRac=parseInt(e.racnom);\r\n if (this.nominaRac==0){\r\n this.idTabulador=0;\r\n this.codigoPaso='0';\r\n this.codigoGrado='0';\r\n } \r\n if(this.idTabulador>=0 && this.nominaRac==1 ){\r\n this.sueldoPersonal=this.montoSaldoGrado;\r\n }\r\n if(this.situacionPersonal=='J'){\r\n this.sueldoPersonal=this.montoPension;\r\n }\r\n\r\n if (this.idAgencia>0){\r\n this.codigoBanco=e.codban;\r\n this.nombreBanco=e.nomban;\r\n this.idBanco=parseInt(e.id_banco);\r\n } else {\r\n this.codigoBanco=e.codban_ctaper;\r\n this.nombreBanco=e.nomban_ctaper;\r\n this.idBanco=parseInt(e.id_banco_ctaper);\r\n }\r\n\r\n this.idPlanHorario=+e.id_planhor;\r\n this.codigoPlanHorario=e.codplanhor;\r\n this.denominacionPlanHorario=e.denplanhor;\r\n\r\n this.idPermisoPersonal= + e.id_perper;\r\n this.denominacionPermisoPersonal=e.denperper;\r\n this.codigoPermisoPersonal=e.codperper;\r\n this.tipoCargo=e.tipcar;\r\n this.denominacionTipoCargo=this.TipoCargo.find(e=>e.value==this.tipoCargo).denominacion;\r\n this.sueldoNormalFijo =+e.suenorfij;\r\n this.sueldoNormalVariable= +e.suenorvar\r\n this.sueldoNormalBonoVacaciones =+e.suenorbon;\r\n this.sueldoNormalBonoFinAnio=+e.suenorbonfin;\r\n \r\n\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IPersonalNomina{\r\n if(this.idTabulador>0 && this.nominaRac==1 ){\r\n this.sueldoPersonal=this.montoSaldoGrado;\r\n } else {\r\n this.idTabulador=0;\r\n this.codigoPaso='0';\r\n this.codigoGrado='0';\r\n }\r\n\r\n return { \r\n id_empresa:this.idEmpresa,\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_personalnomina:this.idPersonalNomina.toString(),\r\n id_personal:this.idPersonal.toString(),\r\n id_nomina:this.idNomina.toString(),\r\n id_tabvac:this.idTablaVacaciones.toString(),\r\n id_carper:this.idCargoPersonal.toString(),\r\n codgra:this.codigoGrado,\r\n codpas:this.codigoPaso,\r\n sueper:this.sueldoPersonal.toString(),\r\n horper:this.horaPerersonal.toString(),\r\n id_organigrama:this.idOrganigrama.toString(),\r\n pagbanper:this.pagoPorBancoPersonal.toString(),\r\n id_ctabanper:this.idCuentaBancoPersonal.toString(),\r\n fecing:this.fechaIngreso,\r\n staper:this.statusPersonal.toString(),\r\n cueaboper:this.cuentaAbonoPersonal,\r\n fecculcontr:this.fechaCulminacionContrato,\r\n id_dedicacion:this.idDedicacion.toString(),\r\n id_tipopersonal:this.idTipoPersonal.toString(),\r\n quivacper:this.quincenaVacacionalPersonal.toString(),\r\n id_tabulador:this.idTabulador.toString(),\r\n sueintper:this.sueldoIntegralPersonal.toString(),\r\n pagefeper:this.pagoEfectivoChequepersonal.toString(),\r\n sueproper:this.sueldoPromedioPersonal.toString(),\r\n id_agencia:this.idAgencia.toString(),\r\n fecegrper:this.fechaEgresoPersonal,\r\n cauegrper:this.causaEgresoPersonal,\r\n fecsusper:this.fechaSuspencionPersonal,\r\n id_ubifis:this.idUbicacionFisica.toString(),\r\n conjub:this.conceptoJubilacion,\r\n catjub:this.categoriaJubilacion,\r\n id_claviaticos:this.idCategoriaViaticos.toString(),\r\n fecascper:this.fechaAscesoPersonal,\r\n descasicar:this.descripcionAsignacionCargo,\r\n salnorper:this.saldoNormalPersonal.toString(),\r\n observacion:this.observacion,\r\n codusu:this.codigoUsuario, \r\n nomper:this.nombrePersonal,\r\n codper:this.codigoPersonal,\r\n cedper:this.cedulaPersonal,\r\n codtabvac:this.codigoTablaVacaciones,\r\n dentabvac:this.denominacionTablaVacaciones,\r\n codcar:this.codigoCargoPersonal,\r\n descar:this.denominacionCargoPersonal,\r\n codestorg:this.codigoOrganigrama,\r\n denestorg:this.denominacionOrganigrama,\r\n ctabanper:this.cuentaBancoPersonal,\r\n codded:this.codigoDedicacion,\r\n dended:this.denominacionDedicacion,\r\n codtipper:this.codigoTipoPersonal,\r\n dentipper:this.denominacionTipoPersonal,\r\n codtab:this.codigoTabulador,\r\n destab:this.denominacionTabulador,\r\n codage:this.codigoAgencia,\r\n nomage:this.denominacionAgencia,\r\n codubifis:this.codigoUbicacionFisica,\r\n denubifis:this.denominacionUbicacionFisica,\r\n codcatvia:this.codigoCategoriaViaticos,\r\n dencatvia:this.denominacionCategoriaViaticos, \r\n id_banco: this.idBanco.toString(),\r\n nomban: this.nombreBanco,\r\n nomtipcta:this.tipoCuentaPersonal,\r\n fecregsis:this.fechaIngresoSistema,\r\n codban:this.codigoBanco,\r\n nomban_ctaper:this.codigoBanco,\r\n codban_ctaper:this.nombreBanco,\r\n id_banco_ctaper:this.idBanco.toString(),\r\n id_claobr:this.idClasificacionObrero.toString(),\r\n moncomgra:this.montoCompensacionGrado.toString(),\r\n horadi1:this.horaAdicional1.toString(),\r\n horadi2:this.horaAdicional2.toString(),\r\n estmpppe:this.estatusMPPPE ? '1':'0',\r\n monsalgra:this.montoSaldoGrado.toString(),\r\n apeper:this.apellidoPersonal,\r\n id_clasificacion_docente:this.idClasificadorDocente.toString(),\r\n id_planhor:this.idPlanHorario.toString(),\r\n tipcar:this.tipoCargo,\r\n suenorfij:this.sueldoNormalFijo.toString(),\r\n suenorvar:this.sueldoNormalVariable.toString(),\r\n suenorbon:this.sueldoNormalBonoVacaciones.toString(),\r\n suenorbonfin:this.sueldoNormalBonoFinAnio.toString(), \r\n \r\n }\r\n }\r\n \r\n}\r\n","import { IHojaTiempo } from '../../interfaces/Nomina';\r\nimport { IHorario } from '../../interfaces/RecursosHumanos';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MHojaTiempo extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonalNomina:number=0;\r\n public idPeriodo:number=0; \r\n public idConstante:number=0;\r\n public idHojaTiempo:number=0;\r\n public idhora:number=0;\r\n public idNomina:number=0;\r\n public horaLaboral:number=0;\r\n public horaExtraLaboral:number=0;\r\n public reposoComida:number=0;\r\n public fechaHojaTiempo:string='1900-01-01';\r\n public estatusHojaTiempo:number=0;\r\n public codigoPeriodo:string='';\r\n public codigoHorario:string='';\r\n public nombreConstante:string='';\r\n public codigoConstante:string='';\r\n public fechaDesdePeriodo:string='1900-01-01';\r\n public fechaHastaPeriodo:string='1900-01-01';\r\n\r\n\r\n\r\n constructor(e:IHojaTiempo =null){\r\n super()\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonalNomina=+e.id_personalnomina;\r\n this.fechaHojaTiempo=e.fechojtie;\r\n this.estatusHojaTiempo=+e.esthojtie;\r\n this.codigoPeriodo=e.codperi;\r\n this.idhora=+e.id_hora;\r\n this.horaLaboral=+e.horlab;\r\n this.horaExtraLaboral=+e.horextlab;\r\n this.reposoComida=+e.repcom;\r\n this.idConstante=+e.id_constante;\r\n this.idHojaTiempo=+e.id_hojatiempo; \r\n this.codigoHorario=e.codhor; \r\n this.codigoConstante=e.codcons;\r\n this.nombreConstante=e.noncons;\r\n this.idNomina=+e.id_nomina;\r\n this.idPeriodo=+e.id_periodo;\r\n this.fechaDesdePeriodo=e.fecdesper;\r\n this.fechaHastaPeriodo=e.fechasper;\r\n this.codigoPeriodo=e.codperi;\r\n \r\n }else {\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataInterface():IHojaTiempo{\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personalnomina:this.idPersonalNomina.toString(),\r\n fechojtie:this.fechaHojaTiempo,\r\n esthojtie:this.estatusHojaTiempo.toString(),\r\n id_hora:this.idhora.toString(),\r\n horlab:this.horaLaboral.toString(),\r\n horextlab:this.horaExtraLaboral.toString(),\r\n repcom:this.reposoComida.toString(),\r\n id_constante:this.idConstante.toString(),\r\n id_hojatiempo:this.idHojaTiempo.toString(),\r\n codhor:this.codigoHorario,\r\n codcons:this.codigoConstante,\r\n noncons:this.nombreConstante,\r\n id_nomina:this.idNomina.toString(),\r\n id_periodo:this.idPeriodo.toString(),\r\n fecdesper:this.fechaDesdePeriodo,\r\n fechasper:this.fechaHastaPeriodo,\r\n codperi:this.codigoPeriodo,\r\n }\r\n }\r\n}\r\n\r\nexport class MHorario extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idHora:number=0;\r\n public codigoHorario:string='';\r\n public denominacionHorario:string='';\r\n public tipoHorario:string='F';\r\n public horaInicial:string='0';\r\n public horaFinal:string='0';\r\n public horasLaborales:string='0';\r\n public horaDescanco:string='0';\r\n constructor(e?:IHorario){\r\n super();\r\n if (e){\r\n this.idEmpresa=+e.id_empresa;\r\n this.idHora=+e.id_hora;\r\n this.codigoHorario=e.codhor;\r\n this.denominacionHorario=e.denhor;\r\n this.tipoHorario=e.tiphor;\r\n this.horaInicial=e.horini;\r\n this.horaFinal=e.horfin;\r\n this.horasLaborales=e.horlab;\r\n this.horaDescanco=e.hordes;\r\n }else {\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataInterface():IHorario {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_hora:this.idHora,\r\n codhor:this.codigoHorario,\r\n denhor:this.denominacionHorario,\r\n tiphor:this.tipoHorario,\r\n horini:this.horaInicial,\r\n horfin:this.horaFinal,\r\n horlab:this.horasLaborales,\r\n hordes:this.horaDescanco,\r\n }\r\n }\r\n\r\n}\r\n\r\n","import { IUsuario, IConexionDB, IEmpresa } from '../../interfaces/Usuario';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MUsuario extends MBasicModel{\r\n\r\n public nombre: string;\r\n public apellido: string;\r\n public conexionDB: IConexionDB;\r\n public enterprise:number;\r\n public empresa: IEmpresa;\r\n public token: string;\r\n public foto: string;\r\n public id: number;\r\n public procede?: string;\r\n public codsis?: string;\r\n public nomina?:number;\r\n public periodo?:number;\r\n public carpeta?:string;\r\n public sistema?:string;\r\n public fuente?:string;\r\n private interface: IUsuario = null;\r\n\r\n constructor(user?: IUsuario) {\r\n super();\r\n if (user){\r\n this.apellido = user.apellido;\r\n this.nombre = user.nombre; \r\n this.conexionDB = user.conexionDB;\r\n this.enterprise=+user.id_enterprise;\r\n this.empresa = user.empresa;\r\n this.token = user.token;\r\n this.procede = user.procede;\r\n this.codsis = user.codsis;\r\n this.foto = user.foto;\r\n this.id = +user.id_usuario;\r\n this.interface = user;\r\n this.nomina= +user.nomina;\r\n this.periodo= +user.periodo;\r\n this.carpeta=user.carpeta;\r\n this.sistema=user.sistema;\r\n this.fuente=user.fuente;\r\n } else {\r\n this.isNew=true;\r\n }\r\n\r\n } \r\n\r\n\r\n public getInterface(){\r\n return this.interface;\r\n }\r\n}","import { IProveedor } from '../../interfaces/Proveedor';\r\n\r\nexport class MProveedor {\r\n public codigo: string;\r\n public rif: string;\r\n public nombre: string;\r\n public tipo: string;\r\n\r\n constructor(proveedor: IProveedor) {\r\n this.codigo = proveedor.codigo;\r\n this.rif = proveedor.rif;\r\n this.nombre = proveedor.nombre;\r\n this.tipo = proveedor.tipo;\r\n }\r\n}","import { Component, OnInit, ViewChild, Optional, Inject } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ICatalogo } from '../../../core/interfaces/Catalogo';\r\n\r\n@Component({\r\n selector: 'app-catalogo',\r\n templateUrl: './catalogo.component.html',\r\n styleUrls: ['./catalogo.component.scss']\r\n})\r\nexport class CatalogoComponent implements OnInit {\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator; \r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n public dataSource: MatTableDataSource<ICatalogo>;\r\n public colunms: string[];\r\n public names: string[] = [];\r\n\r\n constructor(@Optional() private dialogRef: MatDialogRef<CatalogoComponent>,\r\n @Optional() @Inject(MAT_DIALOG_DATA) public dialogData: ICatalogo) { }\r\n\r\n ngOnInit() {\r\n this.colunms = this.dialogData.columns\r\n this.dataSource = new MatTableDataSource(this.dialogData.dataSource);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n if (this.dialogData.columnNames) {\r\n this.names = this.dialogData.columnNames\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n /**\r\n * @description Filtra la tabla de proveedores\r\n * @param filterValue Palabra clave para filtrar,\r\n * @return void\r\n * @author Miguel Ramírez\r\n */\r\n public filterTable(event: any): void {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n \r\n\r\n /**\r\n * @description Manda a cerrar el dialog\r\n * @param data Data que se va a mandar de respuesta\r\n * @return void\r\n * @author Miguel Ramírez\r\n */\r\n public closeDialog(data?: any): void {\r\n this.dialogRef.close((data) ? data : null);\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","<div class=\"container\">\r\n\r\n <!-- HEADER DE EL COMPONENTE -->\r\n <div class=\"header mainColor\">\r\n <!-- TÍTULO -->\r\n <h2>{{dialogData.title}}</h2>\r\n <!-- BTN CERRAR -->\r\n <div class=\"close\">\r\n <div class=\"btn\" (click)=\"closeDialog()\">\r\n <mat-icon>close</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- BODY -->\r\n <div class=\"body\">\r\n <!-- FILTER -->\r\n <div class=\"filter\">\r\n <mat-form-field class=\"input\">\r\n <input type=\"text\" matInput placeholder=\"Filtrar\" (keyup)=\"filterTable($event)\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <!-- TABLA -->\r\n <div class=\"table-container\">\r\n <table mat-table [dataSource]=\"dataSource\" matSort>\r\n <!-- DATA -->\r\n <ng-container *ngFor=\"let column of colunms;let i = index\" [matColumnDef]=\"column\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{ (names[i] ? names[i] : column) | uppercase}} \r\n </th>\r\n <td mat-cell *matCellDef=\"let row\" (click)=\"closeDialog(row)\">\r\n {{row[column]}} \r\n </td>\r\n </ng-container>\r\n \r\n <tr mat-header-row *matHeaderRowDef=\"colunms\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: colunms;\" class=\"row\"></tr>\r\n </table>\r\n </div>\r\n <mat-paginator [pageSizeOptions]=\"[5, 10, 25, 100]\" showFirstLastButtons class=\"paginator\"></mat-paginator>\r\n </div>\r\n\r\n</div>\r\n \r\n","import { ICuentaEgresos } from '../../interfaces/Presupuesto';\r\nimport { ICuentaPresupuesto } from '../../interfaces/CuentaPresupuesto';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MCuentaPresupuesto extends MBasicModel{\r\n public idEmpresa : number=0;\r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public cuenta: string='';\r\n public denominacion: string='';\r\n public status: string='';\r\n public tipo: string='';\r\n public denominacionTipo: string='';\r\n public denominacionStatus: string='';\r\n \r\n constructor(e?: ICuentaPresupuesto){\r\n super()\r\n if(e){\r\n this.idEmpresa = +e.id_empresa;\r\n this.idEnterprise = +e.id_enterprise;\r\n this.periodoFiscal = +e.perfiscal;\r\n this.cuenta= e.sig_cuenta;\r\n this.denominacion= e.denominacion;\r\n this.status= e.status;\r\n this.tipo= e.tipcta;\r\n e.tipcta=='R'? this.denominacionTipo='Rescurso':this.denominacionTipo='Egreso';\r\n e.status=='C'? this.denominacionStatus='Movimiento':this.denominacionStatus='Totalizadora';\r\n } else{\r\n this.isNew=true;\r\n }\r\n }\r\n public dataInterface(): ICuentaPresupuesto {\r\n return {\r\n id_empresa: this.idEmpresa.toString(),\r\n id_enterprise: this.idEnterprise.toString(),\r\n perfiscal: this.periodoFiscal.toString(),\r\n sig_cuenta: this.cuenta,\r\n denominacion: this.denominacion,\r\n status: this.status,\r\n tipcta: this.tipo,\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nexport class MCuentaEgresos{\r\n\r\n public idEmpresa: number = 0;\r\n public idEnterprise: number = 0;\r\n public periodoFiscal: number = 0;\r\n public nivel: number = 0;\r\n public denominacion: string = '';\r\n public cuenta: string = null;\r\n public cuentaContable: string = '';\r\n public clasificador: string = ''\r\n public referencia: string = '';\r\n public aumento: number = 0;\r\n public asignado: number = 0;\r\n public causado: number = 0;\r\n public disminucion: number = 0;\r\n public distribuir: number = 0;\r\n public precomprometido: number = 0;\r\n public pagado: number = 0;\r\n public enero: number = 0;\r\n public febrero: number = 0;\r\n public marzo: number = 0;\r\n public abril: number = 0;\r\n public mayo: number = 0;\r\n public junio: number = 0;\r\n public julio: number = 0;\r\n public agosto: number = 0;\r\n public septiembre: number = 0;\r\n public octubre: number = 0;\r\n public noviembre: number = 0;\r\n public diciembre: number = 0;\r\n public idEP1: number = 0;\r\n public idEP2: number = 0;\r\n public idEP3: number = 0;\r\n public idEP4: number = 0;\r\n public idEP5: number = 0;\r\n public codigoEP1: string = '';\r\n public codigoEP2: string = '';\r\n public codigoEP3: string = '';\r\n public codigoEP4: string = '';\r\n public codigoEP5: string = '';\r\n public estructura: string = '';\r\n public selected: boolean = false;\r\n public isNew: boolean = false;\r\n public error: boolean = false;\r\n public status: string='';\r\n public id: number = 0;\r\n public distribuirFF:number=0\r\n\r\n constructor(cuenta?: ICuentaEgresos, level?: number){\r\n if(cuenta){\r\n this.idEmpresa = +(cuenta.id_empresa);\r\n this.idEnterprise =+(cuenta.id_enterprise);\r\n this.periodoFiscal =+(cuenta.perfiscal);\r\n this.nivel = +(cuenta.nivel);\r\n this.denominacion = cuenta.denspgcta;\r\n this.cuenta = cuenta.spg_cuenta;\r\n this.cuentaContable = cuenta.sc_cuenta;\r\n this.status=cuenta.status;\r\n this.referencia = cuenta.referencia;\r\n this.aumento = +(cuenta.aumento);\r\n this.asignado = +(cuenta.asignado);\r\n this.causado = +(cuenta.causado);\r\n this.pagado = +(cuenta.pagado)\r\n this.distribuir = +(cuenta.distribuir);\r\n this.disminucion = +(cuenta.disminiucion);\r\n this.precomprometido = +(cuenta.precomprometido)\r\n this.enero = +(cuenta.enero);\r\n this.febrero = +(cuenta.febrero);\r\n this.marzo = +(cuenta.marzo);\r\n this.abril = +(cuenta.abril);\r\n this.mayo = +(cuenta.mayo);\r\n this.junio = +(cuenta.junio);\r\n this.julio = +(cuenta.julio);\r\n this.agosto = +(cuenta.agosto);\r\n this.septiembre = +(cuenta.septiembre);\r\n this.octubre = +(cuenta.octubre);\r\n this.noviembre = +(cuenta.noviembre);\r\n this.diciembre = +(cuenta.diciembre);\r\n this.clasificador = cuenta.codcuecla;\r\n this.idEP1 = +(cuenta.id_ep1);\r\n this.idEP2 = +(cuenta.id_ep2);\r\n this.idEP3 = +(cuenta.id_ep3);\r\n this.idEP4 = +(cuenta.id_ep4);\r\n this.idEP5 = +(cuenta.id_ep5);\r\n this.id = cuenta.id_del_spgcta ? +(cuenta.id_del_spgcta) : 0; \r\n this.codigoEP1 = cuenta.estructura ? cuenta.estructura.codestpro1 : '';\r\n this.codigoEP2 = cuenta.estructura ? cuenta.estructura.codestpro2 : '';\r\n this.codigoEP3 = cuenta.estructura ? cuenta.estructura.codestpro3 : '';\r\n this.codigoEP4 = cuenta.estructura ? cuenta.estructura.codestpro4 : '';\r\n this.codigoEP5 = cuenta.estructura ? cuenta.estructura.codestpro5 : '';\r\n \r\n if (cuenta.estructura && level) { \r\n if (this.idEP4==0) {\r\n this.estructura = `${this.codigoEP1}-${this.codigoEP2}-${this.codigoEP3}`\r\n } else {\r\n this.estructura = `${this.codigoEP1}-${this.codigoEP2}-${this.codigoEP3}-${this.codigoEP4}-${this.codigoEP5}`\r\n }\r\n } \r\n this.distribuirFF= +cuenta.distff;\r\n\r\n this.isNew = false \r\n } else{\r\n this.isNew = true\r\n }\r\n\r\n }\r\n\r\n public dataInterface():ICuentaEgresos{\r\n return {\r\n abril: this.abril.toString(),\r\n agosto: this.agosto.toString(),\r\n asignado: this.asignado.toString(),\r\n aumento: this.aumento.toString(),\r\n causado: this.causado.toString(),\r\n codcuecla: this.clasificador,\r\n denspgcta: this.denominacion,\r\n diciembre: this.diciembre.toString(),\r\n disminiucion: this.disminucion.toString(),\r\n distribuir: this.distribuir.toString(),\r\n enero: this.enero.toString(),\r\n febrero: this.febrero.toString(),\r\n id_empresa: this.idEmpresa.toString(),\r\n id_enterprise: this.idEnterprise.toString(),\r\n perfiscal: this.periodoFiscal.toString(),\r\n id_ep1: this.idEP1.toString(),\r\n id_ep2: this.idEP2.toString(),\r\n id_ep3: this.idEP3.toString(),\r\n id_ep4: this.idEP4.toString(),\r\n id_ep5: this.idEP5.toString(),\r\n julio: this.junio.toString(),\r\n junio: this.julio.toString(),\r\n marzo: this.marzo.toString(),\r\n mayo: this.mayo.toString(),\r\n nivel: this.nivel.toString(),\r\n noviembre: this.noviembre.toString(),\r\n octubre: this.octubre.toString(),\r\n pagado: this.pagado.toString(),\r\n precomprometido: this.precomprometido.toString(),\r\n referencia: this.referencia,\r\n sc_cuenta: this.cuentaContable,\r\n septiembre: this.septiembre.toString(),\r\n spg_cuenta: this.cuenta,\r\n status:this.status,\r\n id_del_spgcta:this.id.toString()\r\n }\r\n }\r\n\r\n}\r\n","import { ICuentaInstitucional } from '../../interfaces/CuentaInstitucional';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MCuentaInstitucional extends MBasicModel{\r\n public idEmpresa: string='0';\r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public cuenta: string='';\r\n public cueproacu: string='';\r\n public denominacion: string='';\r\n public enero: string='0';\r\n public febrero: string='0';\r\n public marzo: string='0';\r\n public abril: string='0';\r\n public mayo: string='0';\r\n public junio: string='0';\r\n public julio: string='0';\r\n public agosto: string='0';\r\n public septiembre: string='0';\r\n public octubre: string='0';\r\n public noviembre: string='0';\r\n public diciembre: string='0';\r\n public asignado: string='0';\r\n public distribuir: string='';\r\n public status: string='0'; \r\n public nivel: string='0';\r\n public referencia: string='';\r\n public denominacionCuentaProvisionAcumulada: string='';\r\n public denominacionCuentaReferencia: string='';\r\n public denominacionEstatus: string='';\r\n public isNew:boolean=false;\r\n public idDtCuenta: number=0;\r\n\r\n constructor(institucional?: ICuentaInstitucional) { \r\n super();\r\n if(institucional){\r\n this.idEnterprise= +institucional.id_enterprise;\r\n this.periodoFiscal=+institucional.perfiscal;\r\n this.cuenta = institucional.sc_cuenta;\r\n this.cueproacu = institucional.cueproacu;\r\n this.denominacion = institucional.denominacion;\r\n this.enero = institucional.enero;\r\n this.febrero = institucional.febrero;\r\n this.marzo = institucional.marzo;\r\n this.abril = institucional.abril;\r\n this.mayo = institucional.mayo;\r\n this.junio = institucional.junio;\r\n this.julio = institucional.julio;\r\n this.agosto = institucional.agosto;\r\n this.septiembre = institucional.septiembre;\r\n this.octubre = institucional.octubre;\r\n this.noviembre = institucional.noviembre;\r\n this.diciembre = institucional.diciembre;\r\n this.asignado = institucional.asignado;\r\n this.distribuir = institucional.distribuir;\r\n this.status = institucional.estatus;\r\n this.idEmpresa = institucional.id_empresa;\r\n this.nivel = institucional.nivel;\r\n this.referencia = institucional.referencia;\r\n this.denominacionCuentaProvisionAcumulada= institucional.dencueproacu;\r\n this.denominacionCuentaReferencia= institucional.denctareferecia;\r\n institucional.estatus=='C'? this.denominacionEstatus='Movimiento':this.denominacionEstatus='Totalizadora';\r\n this.idDtCuenta=+institucional.id_dt_cuenta;\r\n } else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():ICuentaInstitucional{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n sc_cuenta: this.cuenta,\r\n cueproacu: this.cueproacu,\r\n denominacion: this.denominacion, \r\n dencueproacu:this.denominacionCuentaProvisionAcumulada,\r\n enero: this.enero,\r\n febrero: this.febrero,\r\n marzo: this.marzo,\r\n abril: this.abril,\r\n mayo: this.mayo,\r\n junio: this.junio,\r\n julio: this.julio,\r\n agosto: this.agosto,\r\n septiembre: this.septiembre,\r\n octubre: this.octubre,\r\n noviembre: this.noviembre,\r\n diciembre: this.diciembre,\r\n asignado: this.asignado,\r\n distribuir: this.distribuir,\r\n estatus: this.status,\r\n id_empresa: this.idEmpresa,\r\n nivel: this.nivel,\r\n id_dt_cuenta:this.idDtCuenta.toString(),\r\n \r\n }}\r\n}","import { IMoneda, IMonedaConfig } from '../../interfaces/Moneda';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MMoneda extends MBasicModel {\r\n public idMoneda: number=0;\r\n public denominacion: string='';\r\n public iso: string='';\r\n public simbolo: string='';\r\n public separadorDecimal: string = '';\r\n public separadorMiles: string = '';\r\n public decimales: number = 0;\r\n public decimalesAlternos: number = 0;\r\n\r\n\r\n constructor(moneda?: IMoneda) {\r\n super();\r\n if(moneda){\r\n this.idMoneda = +moneda.id_moneda;\r\n this.denominacion = moneda.denmon;\r\n this.iso = moneda.codiso;\r\n this.simbolo = moneda.simmon;\r\n this.separadorDecimal = moneda.separadordec;\r\n this.separadorMiles = moneda.separadormil;\r\n this.decimales = parseInt(moneda.decimal); \r\n this.decimalesAlternos= parseInt(moneda.decimal_alt); \r\n }\r\n \r\n }\r\n public dataInterface():IMonedaConfig{\r\n return {\r\n id_moneda: this.idMoneda.toString(),\r\n denmon: this.denominacion,\r\n codiso: this.iso,\r\n simmon: this.simbolo,\r\n separadordec: this.separadorDecimal,\r\n separadormil: this.separadorMiles,\r\n decimal: this.decimales.toString(), \r\n decimal_alt: this.decimalesAlternos.toString(), \r\n }\r\n }\r\n\r\n}\r\n\r\nexport class MMonedaConfig extends MBasicModel{\r\n public idMoneda: number=0;\r\n public denominacion: string = '';\r\n public codigoIso: string = '';\r\n public simbolo: string = '';\r\n public separadorDecimal: string = '';\r\n public separadorMiles: string = '';\r\n public decimales: number = 0;\r\n public decimalesAlternos: number = 0;\r\n\r\n\r\n constructor(moneda?: IMonedaConfig) {\r\n super();\r\n if(moneda){\r\n this.idMoneda = +moneda.id_moneda;\r\n this.denominacion = moneda.denmon;\r\n this.codigoIso = moneda.codiso;\r\n this.separadorDecimal = moneda.separadordec;\r\n this.separadorMiles = moneda.separadormil;\r\n this.simbolo = moneda.simmon;\r\n this.decimales = parseInt(moneda.decimal); \r\n this.decimalesAlternos= parseInt(moneda.decimal_alt); \r\n }\r\n }\r\n\r\n public dataInterface():IMonedaConfig{\r\n return {\r\n id_moneda: this.idMoneda.toString(),\r\n denmon: this.denominacion,\r\n codiso: this.codigoIso,\r\n simmon: this.simbolo,\r\n separadordec: this.separadorDecimal,\r\n separadormil: this.separadorMiles,\r\n decimal: this.decimales.toString(),\r\n decimal_alt: this.decimalesAlternos.toString(), \r\n \r\n }\r\n }\r\n}","import { IUnidadTributaria } from '../../interfaces/UnidadTributaria';\r\n\r\nexport class MUnidadTributaria {\r\n public año: string;\r\n public nro_decreto: string;\r\n public fecha_decreto: string;\r\n public entrada_vigencia: string;\r\n public publicacion_gaceta: string;\r\n public nro_gaceta: string;\r\n public idEmpresa: string;\r\n public idUnidadTributaria: string;\r\n public valorut: string;\r\n\r\n constructor(unidad: IUnidadTributaria) {\r\n this.año = unidad.anno;\r\n this.nro_decreto = unidad.decnro;\r\n this.fecha_decreto = unidad.fecdec;\r\n this.entrada_vigencia = unidad.fecentvig;\r\n this.publicacion_gaceta = unidad.fecpubgac;\r\n this.nro_gaceta = unidad.gacofinro;\r\n this.idEmpresa = unidad.id_empresa;\r\n this.idUnidadTributaria = unidad.id_ut;\r\n this.valorut = unidad.valunitri;\r\n }\r\n}","import { Component, OnInit, Inject, Optional } from '@angular/core';\r\n\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-confirm',\r\n templateUrl: './confirm.component.html',\r\n styleUrls: ['./confirm.component.scss']\r\n})\r\nexport class ConfirmComponent implements OnInit {\r\n\r\n constructor(@Optional() private dialogRef: MatDialogRef<ConfirmComponent>,\r\n @Optional() @Inject(MAT_DIALOG_DATA) public dialogData: ConfirmData) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n /**\r\n * @description Manda a cerrar la modal\r\n * @param resp Respuesta de la modal\r\n */\r\n closeDialog(resp: boolean): void {\r\n this.dialogRef.close(resp);\r\n }\r\n\r\n}\r\n\r\ninterface ConfirmData {\r\n title: string,\r\n message: string\r\n}\r\n","<div class=\"container\">\r\n <!-- HEADER -->\r\n <div class=\"header mainColor\">\r\n <h2 mat-dialog-title>{{ dialogData.title }}</h2>\r\n </div>\r\n\r\n <div class=\"body\" *ngIf=\"dialogData.message\">\r\n <p class=\"message\">{{ dialogData.message }}</p>\r\n </div>\r\n\r\n <div class=\"buttons\">\r\n <button mat-raised-button class=\"cancel\" (click)=\"closeDialog(false)\">Cancelar</button>\r\n <button mat-raised-button color=\"primary\" class=\"accept\" (click)=\"closeDialog(true)\">Aceptar</button>\r\n </div>\r\n</div>\r\n","import { MBasicModel } from '../basic-model.model';\r\nimport { IConfiguracionSCG } from '../../interfaces/ConfiguracionSCG';\r\n\r\nexport class MConfiguracionSCG extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public idSCG: number=0;\r\n public activo: string='';\r\n public cuentaSituacionDelTesoroFinanciera: string='';\r\n public CuentaSituacionDelTesoroFiscal: string='';\r\n public cuentaResultadoActual: string='';\r\n public cuentaResultadoAnterior: string='';\r\n public capital: string='';\r\n public clasificacionCuentasContables: string='0';\r\n public cuentaConsolidadaResultadoActual: string='';\r\n public cuentaConsolidadaResultadoAnterior: string='';\r\n public grupoCuentaDeProvicionesAcumuladaYReservaTecnica: string='';\r\n public grupoCuentaDeDepresiacionAcumulada: string='';\r\n public estadoCierreContable: string='0';\r\n public tipoContabilidadPatrimonialOFiscal: string='1';\r\n public formatoCuentaContable: string='';\r\n public gasto: string='';\r\n public idEmpresa: number=0; \r\n public ingreso: string='';\r\n public m01: number=0;\r\n public m02: number=0;\r\n public m03: number=0;\r\n public m04: number=0;\r\n public m05: number=0;\r\n public m06: number=0;\r\n public m07: number=0;\r\n public m08: number=0;\r\n public m09: number=0;\r\n public m10: number=0;\r\n public m11: number=0;\r\n public m12: number=0;\r\n public cuentasOrdenDeudor: string='';\r\n public cuentasOrdenAcreedor: string='';\r\n public pasivo: string='';\r\n public resultado: string='';\r\n public SCFActivoHacienda: string='';\r\n public SCFActivoTesoro: string='';\r\n public SCFGastoFiscal: string='';\r\n public SCFIngresoFiscal: string='';\r\n public SCFOrdenDeudorFiscal: string='';\r\n public SCFOrdenHacienda: string='';\r\n public SCFPasivoHacienda: string='';\r\n public SCFPasivoTesoro: string='';\r\n public SCFResultadoHacienda: string='';\r\n public SCFResultadoTesoro: string='';\r\n public costo: number = 0;\r\n public cuentaResultadoPresupuesto:string='';\r\n public codigoEnterprise:string='';\r\n public denominacionEnterprise:string='';\r\n\r\n\r\n constructor(configuracion?: IConfiguracionSCG) {\r\n super();\r\n if(configuracion){\r\n this.idEnterprise =+configuracion.id_enterprise;\r\n this.periodoFiscal =+configuracion.perfiscal;\r\n this.activo = configuracion.activo;\r\n this.cuentaSituacionDelTesoroFinanciera = configuracion.c_financiera_t;\r\n this.CuentaSituacionDelTesoroFiscal = configuracion.c_fiscal_t;\r\n this.cuentaResultadoActual = configuracion.c_resultadoact;\r\n this.cuentaResultadoAnterior = configuracion.c_resultadoant;\r\n this.capital = configuracion.capital;\r\n this.clasificacionCuentasContables = configuracion.clactacon;\r\n this.cuentaConsolidadaResultadoActual = configuracion.ctaresconact;\r\n this.cuentaConsolidadaResultadoAnterior = configuracion.ctaresconant;\r\n this.grupoCuentaDeProvicionesAcumuladaYReservaTecnica = configuracion.cuedepamo;\r\n this.grupoCuentaDeDepresiacionAcumulada = configuracion.cueproacu;\r\n this.estadoCierreContable = configuracion.estciescg;\r\n this.tipoContabilidadPatrimonialOFiscal = configuracion.esttipcon;\r\n this.formatoCuentaContable = configuracion.formcont;\r\n this.gasto = configuracion.gasto;\r\n this.idEmpresa = parseInt(configuracion.id_empresa);\r\n this.idSCG = parseInt(configuracion.id_scg);\r\n this.ingreso = configuracion.ingreso;\r\n this.m01 = parseInt(configuracion.m01);\r\n this.m02 = parseInt(configuracion.m02);\r\n this.m03 = parseInt(configuracion.m03);\r\n this.m04 = parseInt(configuracion.m04);\r\n this.m05 = parseInt(configuracion.m05);\r\n this.m06 = parseInt(configuracion.m06);\r\n this.m07 = parseInt(configuracion.m07);\r\n this.m08 = parseInt(configuracion.m08);\r\n this.m09 = parseInt(configuracion.m09);\r\n this.m10 = parseInt(configuracion.m10);\r\n this.m11 = parseInt(configuracion.m11);\r\n this.m12 = parseInt(configuracion.m12);\r\n this.cuentasOrdenDeudor = configuracion.orden_d;\r\n this.cuentasOrdenAcreedor = configuracion.orden_h;\r\n this.pasivo = configuracion.pasivo;\r\n this.resultado = configuracion.resultado;\r\n this.SCFActivoHacienda = configuracion.scf_activo_h;\r\n this.SCFActivoTesoro = configuracion.scf_activo_t;\r\n this.SCFGastoFiscal = configuracion.scf_gasto_f;\r\n this.SCFIngresoFiscal = configuracion.scf_ingreso_f;\r\n this.SCFOrdenDeudorFiscal = configuracion.scf_orden_d;\r\n this.SCFOrdenHacienda = configuracion.scf_orden_h;\r\n this.SCFPasivoHacienda = configuracion.scf_pasivo_h;\r\n this.SCFPasivoTesoro = configuracion.scf_pasivo_t;\r\n this.SCFResultadoHacienda = configuracion.scf_resultado_h;\r\n this.SCFResultadoTesoro = configuracion.scf_resultado_t;\r\n this.costo = parseInt(configuracion.costo);\r\n this.cuentaResultadoPresupuesto=configuracion.ctaejeprecie;\r\n this.codigoEnterprise=configuracion.codigo;\r\n this.denominacionEnterprise=configuracion.titulo;\r\n \r\n }\r\n }\r\n\r\n public dataInterface():IConfiguracionSCG{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n activo: this.activo,\r\n c_financiera_t:this.cuentaSituacionDelTesoroFinanciera,\r\n c_fiscal_t:this.CuentaSituacionDelTesoroFiscal,\r\n c_resultadoact:this.cuentaResultadoActual,\r\n c_resultadoant:this.cuentaResultadoAnterior,\r\n capital: this.capital,\r\n clactacon:this.clasificacionCuentasContables,\r\n ctaresconact: this.cuentaConsolidadaResultadoActual,\r\n ctaresconant:this.cuentaConsolidadaResultadoAnterior,\r\n cuedepamo:this.grupoCuentaDeProvicionesAcumuladaYReservaTecnica,\r\n cueproacu:this.grupoCuentaDeDepresiacionAcumulada,\r\n estciescg:this.estadoCierreContable,\r\n esttipcon: this.tipoContabilidadPatrimonialOFiscal,\r\n formcont: this.formatoCuentaContable,\r\n gasto:this.gasto,\r\n id_empresa: this.idEmpresa.toString(),\r\n id_scg:this.idSCG.toString(),\r\n ingreso:this.ingreso,\r\n m01:this.m01.toString(),\r\n m02:this.m02.toString(),\r\n m03:this.m03.toString(),\r\n m04:this.m04.toString(),\r\n m05:this.m05.toString(),\r\n m06:this.m06.toString(),\r\n m07:this.m07.toString(),\r\n m08:this.m08.toString(),\r\n m09:this.m09.toString(),\r\n m10:this.m10.toString(),\r\n m11:this.m11.toString(),\r\n m12:this.m12.toString(),\r\n orden_d:this.cuentasOrdenDeudor,\r\n orden_h:this.cuentasOrdenAcreedor,\r\n pasivo:this.pasivo,\r\n resultado:this.resultado,\r\n scf_activo_h:this.SCFActivoHacienda,\r\n scf_activo_t:this.SCFActivoTesoro,\r\n scf_gasto_f:this.SCFGastoFiscal,\r\n scf_ingreso_f:this.SCFIngresoFiscal,\r\n scf_orden_d:this.SCFOrdenDeudorFiscal,\r\n scf_orden_h:this.SCFOrdenHacienda,\r\n scf_pasivo_h:this.SCFPasivoHacienda,\r\n scf_pasivo_t:this.SCFPasivoTesoro,\r\n scf_resultado_h:this.SCFResultadoHacienda,\r\n scf_resultado_t:this.SCFResultadoTesoro,\r\n costo:this.costo.toString(),\r\n ctaejeprecie:this.cuentaResultadoPresupuesto,\r\n }\r\n }\r\n}","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'icon-m',\r\n templateUrl: './icon.component.html',\r\n styleUrls: ['./icon.component.scss']\r\n})\r\nexport class IconComponent implements OnInit {\r\n\r\n @Input() public name: string;\r\n @Input() public size: string;\r\n @Input() public color: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<mat-icon [ngStyle]=\"{ \r\n 'font-size': size,\r\n 'color': color\r\n }\">\r\n {{ name }}\r\n</mat-icon>\r\n","import { Component,Optional, Inject, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\n\r\n@Component({\r\n selector: 'app-table-select',\r\n templateUrl: './table-select.component.html',\r\n styleUrls: ['./table-select.component.scss']\r\n})\r\nexport class TableSelectComponent implements AfterViewInit {\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator; \r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n columns: string[] = ['select'];\r\n columnsAux: string[];\r\n data: any[];\r\n dataSource: MatTableDataSource<any>;\r\n selection: SelectionModel<any> = new SelectionModel<any>(true, []);\r\n selections: any[] = [];\r\n names: string[] = [];\r\n loaded: boolean = false;\r\n //disableMasterToggle: boolean = false;\r\n\r\n constructor(@Optional() private dialogRef: MatDialogRef<TableSelectComponent>,\r\n @Optional() @Inject(MAT_DIALOG_DATA) public dialogData: ISelect) { \r\n \r\n this.columns.push(...dialogData.columns);\r\n this.columnsAux = dialogData.columns;\r\n this.data = dialogData.dataSource;\r\n this.dataSource = new MatTableDataSource(this.data);\r\n if (this.dialogData.columnNames) {\r\n this.names = this.dialogData.columnNames\r\n }\r\n // this.disableMasterToggle = this.dialogData.disableMasterToggle\r\n }\r\n \r\n\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n \r\n\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.dataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n\r\n masterToggle() { \r\n this.isAllSelected() ?\r\n this.selection.clear() :\r\n this.dataSource.data.forEach(row => this.selection.select(row));\r\n } \r\n\r\n checkboxLabel(row?: any): string {\r\n if (!row) {\r\n return `${this.isAllSelected() ? 'select' : 'deselect'} all`;\r\n }\r\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\r\n }\r\n\r\n closeDialog(): void {\r\n this.dialogRef.close(this.selection.selected);\r\n }\r\n\r\n cancelDialog(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n public filterTable(event: any): void {\r\n this.selection.clear(); //nuevo \r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase(); \r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n public getFilter(){\r\n if(this.dataSource.filter!=''){\r\n return false;\r\n }else{ \r\n return true;\r\n }\r\n } \r\n\r\n}\r\n\r\ninterface ISelect {\r\n columns: string[],\r\n dataSource: any[],\r\n title: string,\r\n columnNames?: string[],\r\n // disableMasterToggle: boolean\r\n}\r\n","<div class=\"container\">\r\n <!-- HEADER DE EL COMPONENTE -->\r\n <div class=\"header mainColor\">\r\n <!-- TÍTULO -->\r\n <h2>{{dialogData.title}}</h2>\r\n <!-- BTN CERRAR -->\r\n <div class=\"close\">\r\n <div class=\"btn\" (click)=\"cancelDialog()\">\r\n <icon-m [name]=\"'close'\" [color]=\"'black'\"></icon-m>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- BODY -->\r\n <div class=\"body\">\r\n <!-- FILTER -->\r\n <div class=\"filter\">\r\n <mat-form-field class=\"input\">\r\n <input type=\"text\" matInput placeholder=\"Filtrar\"\r\n (keyup)=\"filterTable($event)\">\r\n </mat-form-field>\r\n </div>\r\n <!-- TABLA -->\r\n <div class=\"table-container\">\r\n <table mat-table [dataSource]=\"dataSource\" matSort>\r\n\r\n <!-- CHECKS -->\r\n <ng-container matColumnDef=\"select\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [disabled]=\"getFilter()\" color=\"primary\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\" \r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\r\n [aria-label]=\"checkboxLabel()\"\r\n ></mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selection.toggle(row) : null\"\r\n [checked]=\"selection.isSelected(row)\" color=\"primary\"\r\n [aria-label]=\"checkboxLabel(row)\"></mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- DATA -->\r\n <ng-container *ngFor=\"let column of columnsAux; let i = index\" [matColumnDef]=\"column\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{(names[i] ? names[i] : column) | uppercase}} \r\n </th>\r\n <td mat-cell *matCellDef=\"let row\"> \r\n {{row[column]}} \r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columns;\"\r\n (click)=\"selection.toggle(row)\">\r\n </tr>\r\n </table>\r\n \r\n <mat-paginator \r\n [pageSizeOptions]=\"[5, 10, 25, 100]\" \r\n showFirstLastButtons class=\"paginator\">\r\n </mat-paginator>\r\n </div>\r\n\r\n <div class=\"buttons\">\r\n <button mat-raised-button color=\"primary\" \r\n [disabled]=\"selection.selected.length==0\"\r\n (click)=\"closeDialog()\">Aceptar</button>\r\n </div>\r\n </div>\r\n</div>\r\n","import { IConfigurationSPG } from '../../interfaces/ConfigurationSPG';\r\nimport { MMonedaConfig } from '../CFG/moneda.model';\r\n\r\nexport class MConfigurationSPG { \r\n public idEmpresa: string;\r\n public IdSPG: string;\r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public estatusCierrePresupuestoGasto: string;\r\n public estatusCierrePresupuestoIngreso: string;\r\n public estatusModoEstructuraPresupuestaria: string;\r\n public estatusPresupuestoIngreso: string;\r\n public estatusDecimalesPresupuestoGasto: string;\r\n public estatusDecimalesPresupuestoIngreso: string;\r\n public formatoPresupuestoGasto: string;\r\n public digitosCuentasPresupuestoContabilidadGeneralParaGastos: string; \r\n public digitoCuentaPresupuestoContabilidadParaIngresos: string;\r\n public longitudesCodigoEstructuraPresupuestria: string[] = [];\r\n public nombresEstructuraPresupuestaria: string[] = [];\r\n public numerosNiveles: string;\r\n public estatusModoAperturaCuentas: string;\r\n public moneda: MMonedaConfig = null;\r\n public codigoONAPRE=null;\r\n public idUnidadAdministrativa:number=0;\r\n public idFuenteFinanciaminto:number=0;\r\n public idCentroCosto:number=0;\r\n public cuentaDiferencialCambiario:string='';\r\n public idEP1:number=0;\r\n public idEP2:number=0;\r\n public idEP3:number=0;\r\n public idEP4:number=0;\r\n public idEP5:number=0; \r\n public denominacionUnidadAdministrativa:string='';\r\n public codigoUnidadAdministrativa:string='';\r\n public denominacionFuenteFinanciaminto:string=''; \r\n public codigoFuenteFinanciaminto:string=''; \r\n public denominacionCentroCosto:string='';\r\n public codigoCentroCosto:string='';\r\n public estructuraPresupuestaria:string=''; \r\n public editable:boolean=false;\r\n public codigoEnterprise:string='';\r\n public denominacionEnterprise:string='';\r\n public cuentaContableDiferencial:string='';\r\n public denominacionCuentaContableDiferencial:string='';\r\n\r\n constructor(configuration?: IConfigurationSPG) {\r\n if(configuration){\r\n this.idEnterprise=+configuration.id_enterprise;\r\n this.periodoFiscal=+configuration.perfiscal;\r\n this.estatusCierrePresupuestoGasto = configuration.estciespg;\r\n this.estatusCierrePresupuestoIngreso = configuration.estciespi;\r\n this.estatusModoEstructuraPresupuestaria = configuration.estmodest;\r\n this.estatusPresupuestoIngreso = configuration.estpreing;\r\n this.estatusDecimalesPresupuestoGasto = configuration.estspgdecimal;\r\n this.estatusDecimalesPresupuestoIngreso = configuration.estspidecimal;\r\n this.formatoPresupuestoGasto = configuration.formpre;\r\n this.digitosCuentasPresupuestoContabilidadGeneralParaGastos = configuration.gasto_p;\r\n this.idEmpresa = configuration.id_empresa;\r\n this.IdSPG = configuration.id_spg;\r\n this.digitoCuentaPresupuestoContabilidadParaIngresos = configuration.ingreso_p;\r\n this.longitudesCodigoEstructuraPresupuestria.push(configuration.loncodestpro1);\r\n this.longitudesCodigoEstructuraPresupuestria.push(configuration.loncodestpro2);\r\n this.longitudesCodigoEstructuraPresupuestria.push(configuration.loncodestpro3);\r\n this.longitudesCodigoEstructuraPresupuestria.push(configuration.loncodestpro4);\r\n this.longitudesCodigoEstructuraPresupuestria.push(configuration.loncodestpro5);\r\n this.nombresEstructuraPresupuestaria.push(configuration.nomestpro1);\r\n this.nombresEstructuraPresupuestaria.push(configuration.nomestpro2);\r\n this.nombresEstructuraPresupuestaria.push(configuration.nomestpro3);\r\n this.nombresEstructuraPresupuestaria.push(configuration.nomestpro4);\r\n this.nombresEstructuraPresupuestaria.push(configuration.nomestpro5);\r\n this.numerosNiveles = configuration.numniv;\r\n this.estatusModoAperturaCuentas = configuration.estmodape;\r\n this.codigoONAPRE= configuration.codasiona;\r\n this.cuentaDiferencialCambiario=configuration.cuenta_diferencial;\r\n this.idEP1=+configuration.id_ep1;\r\n this.idEP2=+configuration.id_ep2;\r\n this.idEP3=+configuration.id_ep3;\r\n this.idEP4=+configuration.id_ep4;\r\n this.idEP5=+configuration.id_ep5;\r\n this.idFuenteFinanciaminto=+configuration.id_fuefin;\r\n this.idUnidadAdministrativa=+configuration.id_uniadm;\r\n this.denominacionUnidadAdministrativa=configuration.denuniadm;\r\n this.codigoUnidadAdministrativa=configuration.coduniadm;\r\n this.denominacionFuenteFinanciaminto=configuration.denfuefin;\r\n this.codigoFuenteFinanciaminto=configuration.codigoftefin;\r\n this.denominacionCentroCosto=configuration.dencencos;\r\n this.codigoCentroCosto=configuration.codcencos;\r\n this.estructuraPresupuestaria=configuration.estpre; \r\n this.editable=configuration.editable=='0';\r\n this.codigoEnterprise=configuration.codigo;\r\n this.denominacionEnterprise=configuration.titulo;\r\n this.cuentaContableDiferencial=configuration.sc_cuenta;\r\n this.denominacionCuentaContableDiferencial=configuration.denominacion;\r\n }\r\n \r\n }\r\n\r\n public dataInteface():IConfigurationSPG{\r\n return{\r\n id_empresa: this.idEmpresa.toString(),\r\n id_spg: this.IdSPG.toString(),\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(), \r\n estciespg: this.estatusCierrePresupuestoGasto,\r\n estciespi: this.estatusCierrePresupuestoIngreso,\r\n estmodest: this.estatusModoEstructuraPresupuestaria,\r\n estpreing: this.estatusCierrePresupuestoIngreso,\r\n estspgdecimal:this.estatusDecimalesPresupuestoGasto,\r\n estspidecimal:this.estatusDecimalesPresupuestoIngreso,\r\n formpre: this.formatoPresupuestoGasto, \r\n gasto_p: this.digitosCuentasPresupuestoContabilidadGeneralParaGastos, \r\n ingreso_p: this.digitoCuentaPresupuestoContabilidadParaIngresos.toString(),\r\n loncodestpro1: this.longitudesCodigoEstructuraPresupuestria[0],\r\n loncodestpro2: this.longitudesCodigoEstructuraPresupuestria[1],\r\n loncodestpro3: this.longitudesCodigoEstructuraPresupuestria[2],\r\n loncodestpro4: this.longitudesCodigoEstructuraPresupuestria[3],\r\n loncodestpro5: this.longitudesCodigoEstructuraPresupuestria[4],\r\n nomestpro1: this.nombresEstructuraPresupuestaria[0],\r\n nomestpro2: this.nombresEstructuraPresupuestaria[0],\r\n nomestpro3: this.nombresEstructuraPresupuestaria[0],\r\n nomestpro4: this.nombresEstructuraPresupuestaria[0],\r\n nomestpro5: this.nombresEstructuraPresupuestaria[0],\r\n numniv: this.numerosNiveles,\r\n codasiona:this.codigoONAPRE,\r\n estmodape: this.estatusModoAperturaCuentas,\r\n cuenta_diferencial:this.cuentaDiferencialCambiario,\r\n id_ep1:this.idEP1.toString(),\r\n id_ep2:this.idEP2.toString(),\r\n id_ep3:this.idEP3.toString(),\r\n id_ep4:this.idEP4.toString(),\r\n id_ep5:this.idEP5.toString(),\r\n id_fuefin:this.idFuenteFinanciaminto.toString(),\r\n id_cencos:this.idCentroCosto.toString(),\r\n id_uniadm:this.idUnidadAdministrativa.toString(),\r\n estpre:this.estructuraPresupuestaria,\r\n\r\n \r\n }\r\n }\r\n}","import { IUsuariosCentroCosto } from './../../interfaces/CentroCosto';\r\nimport { ICentroCosto } from '../../interfaces/CentroCosto';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MCentroCosto extends MBasicModel{\r\n public idEmpresa:number=0;;\r\n public idEnterprise:number=0;\r\n public idCentroCosto:number=0;\r\n public periodoFical:number=0;\r\n public centro: string;\r\n public denominacion: string;\r\n public idUnidadAdministradora:number=0;\r\n public idDetalle:number=0;\r\n\r\n constructor(centroCosto?: ICentroCosto) {\r\n super();\r\n if(centroCosto){\r\n this.idEmpresa=+centroCosto.id_empresa;\r\n this.idEnterprise=+centroCosto.id_enterprise;\r\n this.idCentroCosto=+centroCosto.id_cencos\r\n this.centro = centroCosto.codcencos \r\n this.denominacion = centroCosto.denominacion;\r\n this.periodoFical= +centroCosto.perfiscal;\r\n this.idUnidadAdministradora =+centroCosto.id_uniadmin;\r\n this.idDetalle =+centroCosto.id_dt;\r\n \r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():ICentroCosto{\r\n return {\r\n id_empresa:this.idEmpresa.toString(), \r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFical.toString(),\r\n id_cencos:this.idCentroCosto.toString(),\r\n codcencos:this.centro, \r\n denominacion:this.denominacion,\r\n id_dt:this.idDetalle.toString(),\r\n id_uniadmin:this.idUnidadAdministradora.toString(),\r\n }\r\n }\r\n}\r\n\r\n\r\nexport class MUsuarioCentroCosto extends MBasicModel{\r\n public idEmpresa:number=0;\r\n public idEnterprise:number=0;\r\n public idCentroCosto:number=0;\r\n public codigoCentroCosto:string='';\r\n public codigoUsuario:string='';\r\n public usuario:string='';\r\n public idUsuario:number=0;\r\n public idDtCentro:number=0;\r\n\r\n constructor(e?: IUsuariosCentroCosto) {\r\n super();\r\n if(e){\r\n this.idEmpresa=+e.id_empresa;\r\n this.idEnterprise=+e.id_enterprise;\r\n this.idCentroCosto=+e.id_cencos\r\n this.codigoCentroCosto = e.codcencos;\r\n this.codigoUsuario= e.codusu;\r\n this.usuario=e.nomusu+' '+e.apeusu;\r\n this.idDtCentro = +e.id_dt_cencos; \r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IUsuariosCentroCosto{\r\n return {\r\n id_empresa:this.idEmpresa.toString(),\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_cencos:this.idCentroCosto.toString(),\r\n codcencos:this.codigoCentroCosto,\r\n codusu:this.codigoUsuario,\r\n id_usuario:this.idUsuario.toString(),\r\n id_dt_cencos:this.idDtCentro.toString(),\r\n }\r\n }\r\n}","import { IFuenteFinanciamiento } from '../../interfaces/FuenteFinanciamiento';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MFuenteFinanciamiento extends MBasicModel{\r\n public codigoFuenteFinanciamiento: string='';\r\n public denominacionFuenteFinanciamiento: string='';\r\n public explicacionFuenteFinanciamiento: string='';\r\n public idEmpresa: number=0;\r\n public idEnterprise: number=0;\r\n public idFuenteFinanciamiento: number=0;\r\n public periodofiscal: number=0;\r\n public idEp1:number=0; \r\n public idEp2:number=0;\r\n public idEp3:number=0;\r\n public idEp4:number=0;\r\n public idEp5:number=0;\r\n\r\n constructor(fuente?: IFuenteFinanciamiento) {\r\n super();\r\n if(fuente){\r\n this.codigoFuenteFinanciamiento = fuente.codigoftefin;\r\n this.denominacionFuenteFinanciamiento = fuente.denfuefin;\r\n this.explicacionFuenteFinanciamiento = fuente.expfuefin;\r\n this.idEmpresa = +fuente.id_empresa;\r\n this.idFuenteFinanciamiento = +fuente.id_fuefin\r\n this.periodofiscal = +fuente.perfiscal\r\n this.idEnterprise = +fuente.id_enterprise;\r\n this.idEp1 = +fuente.id_ep1;\r\n this.idEp2 = +fuente.id_ep2;\r\n this.idEp3 = +fuente.id_ep3;\r\n this.idEp4 = +fuente.id_ep4;\r\n this.idEp5 = +fuente.id_ep5;\r\n } else {\r\n this.isNew=true\r\n } \r\n }\r\n\r\n public dataInterface():IFuenteFinanciamiento{\r\n return{\r\n codigoftefin: this.codigoFuenteFinanciamiento,\r\n denfuefin: this.denominacionFuenteFinanciamiento,\r\n expfuefin: this.explicacionFuenteFinanciamiento,\r\n id_empresa: this.idEmpresa.toString(),\r\n id_enterprise: this.idEnterprise.toString(),\r\n id_fuefin: this.idFuenteFinanciamiento.toString(),\r\n perfiscal: this.periodofiscal.toString(),\r\n id_ep1:this.idEp1.toString(),\r\n id_ep2:this.idEp2.toString(),\r\n id_ep3:this.idEp3.toString(),\r\n id_ep4:this.idEp4.toString(),\r\n id_ep5:this.idEp5.toString(),\r\n }\r\n }\r\n}","import { ICuentaEgresos } from '../../interfaces/CuentaEgresos';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MCuentaEgresos extends MBasicModel{\r\n\r\n public idEmpresa: number = 0;\r\n public idEnterprise: number = 0;\r\n public periodoFiscal: number = 0;\r\n public nivel: number = 0;\r\n public denominacion: string = '';\r\n public cuenta: string = '';\r\n public cuentaContable: string = '------------';\r\n public clasificador: string = '------------';\r\n public referencia: string = '';\r\n public aumento: number = 0;\r\n public asignado: number = 0;\r\n public causado: number = 0;\r\n public disminucion: number = 0;\r\n public distribuir: number = 0;\r\n public precomprometido: number = 0;\r\n public pagado: number = 0;\r\n public enero: number = 0;\r\n public febrero: number = 0;\r\n public marzo: number = 0;\r\n public abril: number = 0;\r\n public mayo: number = 0;\r\n public junio: number = 0;\r\n public julio: number = 0;\r\n public agosto: number = 0;\r\n public septiembre: number = 0;\r\n public octubre: number = 0;\r\n public noviembre: number = 0;\r\n public diciembre: number = 0;\r\n public idEP1: number = 0;\r\n public idEP2: number = 0;\r\n public idEP3: number = 0;\r\n public idEP4: number = 0;\r\n public idEP5: number = 0;\r\n public codigoEp1: string = '';\r\n public codigoEp2: string = '';\r\n public codigoEp3: string = '';\r\n public codigoEp4: string = '';\r\n public codigoEp5: string = '';\r\n public estructura: string = '';\r\n public selected: boolean = false;\r\n public isNew: boolean = false;\r\n public error: boolean = false;\r\n public status: string='';\r\n public id: number = 0;\r\n public denominacionEstructura:string='';\r\n \r\n constructor(cuenta?: ICuentaEgresos){\r\n super();\r\n if(cuenta){\r\n this.idEmpresa = parseInt(cuenta.id_empresa);\r\n this.idEnterprise = +cuenta.id_enterprise;\r\n this.periodoFiscal = +cuenta.perfiscal;\r\n this.nivel = parseInt(cuenta.nivel);\r\n this.denominacion = cuenta.denspgcta;\r\n this.cuenta = cuenta.spg_cuenta;\r\n this.cuentaContable = cuenta.sc_cuenta;\r\n this.status=cuenta.status;\r\n this.referencia = cuenta.referencia;\r\n this.aumento = parseFloat(cuenta.aumento);\r\n this.asignado = parseFloat(cuenta.asignado);\r\n this.causado = parseFloat(cuenta.causado);\r\n this.pagado = parseFloat(cuenta.pagado)\r\n this.distribuir = parseFloat(cuenta.distribuir);\r\n this.disminucion = parseFloat(cuenta.disminiucion);\r\n this.precomprometido = parseFloat(cuenta.precomprometido)\r\n this.enero = parseFloat(cuenta.enero);\r\n this.febrero = parseFloat(cuenta.febrero);\r\n this.marzo = parseFloat(cuenta.marzo);\r\n this.abril = parseFloat(cuenta.abril);\r\n this.mayo = parseFloat(cuenta.mayo);\r\n this.junio = parseFloat(cuenta.junio);\r\n this.julio = parseFloat(cuenta.julio);\r\n this.agosto = parseFloat(cuenta.agosto);\r\n this.septiembre = parseFloat(cuenta.septiembre);\r\n this.octubre = parseFloat(cuenta.octubre);\r\n this.noviembre = parseFloat(cuenta.noviembre);\r\n this.diciembre = parseFloat(cuenta.diciembre);\r\n this.clasificador = cuenta.codcuecla;\r\n this.idEP1 = parseInt(cuenta.id_ep1);\r\n this.idEP2 = parseInt(cuenta.id_ep2);\r\n this.idEP3 = parseInt(cuenta.id_ep3);\r\n this.idEP4 = parseInt(cuenta.id_ep4);\r\n this.idEP5 = parseInt(cuenta.id_ep5);\r\n this.id = cuenta.id_del_spgcta ? parseInt(cuenta.id_del_spgcta) : 0; \r\n this.isNew = false\r\n this.codigoEp1=cuenta.codestpro1,\r\n this.codigoEp2=cuenta.codestpro2,\r\n this.codigoEp3=cuenta.codestpro3,\r\n this.codigoEp4=cuenta.codestpro4,\r\n this.codigoEp5=cuenta.codestpro5,\r\n this.estructura=cuenta.estructura; \r\n this.denominacionEstructura=cuenta.denestructura; \r\n } else{\r\n this.isNew = true\r\n }\r\n\r\n }\r\n \r\n }","import { Component, OnInit, ViewChild, Optional, Inject } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MConfigurationSPG } from '../../../core/models/SPG/configurationSPG.model';\r\n\r\n\r\n@Component({\r\n selector: 'app-catalogo-estructuras',\r\n templateUrl: './catalogo-estructuras.component.html',\r\n styleUrls: ['./catalogo-estructuras.component.scss']\r\n})\r\nexport class CatalogoEstructurasComponent implements OnInit {\r\n\r\n @ViewChild(MatPaginator, {static: true}) public paginator: MatPaginator;\r\n @ViewChild(MatSort, {static: true}) public sort: MatSort;\r\n\r\n public dataSource: MatTableDataSource<any[]>;\r\n public colunms: string[];\r\n\r\n constructor(@Optional() private dialogRef: MatDialogRef<CatalogoEstructurasComponent>,\r\n @Optional() @Inject(MAT_DIALOG_DATA) public dialogData: IDialogData) { }\r\n\r\n ngOnInit() {\r\n const { nombresEstructuraPresupuestaria } = this.dialogData.configuration;\r\n const [one, two, three, four, five] = nombresEstructuraPresupuestaria;\r\n if (+this.dialogData.configuration.numerosNiveles > 3) {\r\n this.colunms = [one, two, three, four, five, 'Denominación', 'Tipo'];\r\n } else {\r\n this.colunms = [one, two, three, 'Denominación', 'Tipo'];\r\n }\r\n this.dataSource = new MatTableDataSource(this.dialogData.data);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n /**\r\n * @description Filtra la tabla de proveedores\r\n * @param filterValue Palabra clave para filtrar,\r\n * @return void\r\n * @author Miguel Ramírez\r\n */\r\n public filterTable(filterValue: any): void {\r\n this.dataSource.filter = filterValue.target.value.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n /**\r\n * @description Manda a cerrar el dialog\r\n * @param data Data que se va a mandar de respuesta\r\n * @return void\r\n * @author Miguel Ramírez\r\n */\r\n public closeDialog(data?: any): void {\r\n this.dialogRef.close((data) ? data : null);\r\n }\r\n\r\n}\r\n\r\ninterface IDialogData {\r\n data: any[],\r\n configuration: MConfigurationSPG\r\n}\r\n","<div class=\"container\">\r\n\r\n <!-- HEADER DE EL COMPONENTE -->\r\n <div class=\"header mainColor\">\r\n <!-- TÍTULO -->\r\n <h2>Catálogo Estructura Presupuestaria</h2>\r\n <!-- BTN CERRAR -->\r\n <div class=\"close\" (click)=\"closeDialog()\">\r\n <div class=\"btn\">\r\n <mat-icon>close</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- BODY -->\r\n <div class=\"body\">\r\n <!-- FILTER -->\r\n <div class=\"filter\">\r\n <mat-form-field class=\"input\">\r\n <input type=\"text\" matInput placeholder=\"Filtrar\" (keyup)=\"filterTable($event)\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <!-- TABLA -->\r\n <div class=\"table-container\">\r\n <table mat-table [dataSource]=\"dataSource\" matSort>\r\n <!-- columna 1 -->\r\n <ng-container [matColumnDef]=\"colunms[0]\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{ colunms[0] | uppercase }} \r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.codigoEstructuraProgramaticaOne}} </td>\r\n </ng-container>\r\n <!-- columna 2 -->\r\n <ng-container [matColumnDef]=\"colunms[1]\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{ colunms[1] | uppercase }} \r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.codigoEstructuraProgramaticaTwo}} </td>\r\n </ng-container>\r\n\r\n <!-- SI EL NÚMERO DE NIVELES ES MAYOR A 3 -->\r\n <ng-container *ngIf=\"dialogData.configuration.nombresEstructuraPresupuestaria.length > 3\">\r\n <!-- columna 3 -->\r\n <ng-container [matColumnDef]=\"colunms[2]\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{ colunms[2] | uppercase }} \r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.codigoEstructuraProgramaticaThree}} </td>\r\n </ng-container>\r\n <!-- columna 4 -->\r\n <ng-container [matColumnDef]=\"colunms[3]\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{ colunms[3] | uppercase }} \r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.codigoEstructuraProgramaticaFour}} </td>\r\n </ng-container>\r\n <!-- columna 5 -->\r\n <ng-container [matColumnDef]=\"colunms[4]\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{ colunms[4] | uppercase }} \r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.codigoEstructuraProgramatica}} </td>\r\n </ng-container>\r\n <!-- columna 6 -->\r\n <ng-container [matColumnDef]=\"colunms[5]\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{ colunms[5] | uppercase }} \r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"> \r\n {{ element.denominacionEstructuraProgramatica }} \r\n </td>\r\n </ng-container>\r\n <!-- columna 7 -->\r\n <ng-container [matColumnDef]=\"colunms[6]\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{ colunms[6] | uppercase }} \r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"> PROGRAMÁTICA </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- SI EL NÚMERO DE NIVELES ES MENOR A 3 -->\r\n <ng-container *ngIf=\"dialogData.configuration.nombresEstructuraPresupuestaria.length <= 3\">\r\n <!-- columna 3 -->\r\n <ng-container [matColumnDef]=\"colunms[2]\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{ colunms[2] | uppercase }} \r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"> \r\n {{element.codigoEstructuraProgramatica}} \r\n </td>\r\n </ng-container>\r\n <!-- columna 4 -->\r\n <ng-container [matColumnDef]=\"colunms[5]\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{ colunms[3] | uppercase }} \r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"> \r\n {{ element.denominacionEstructuraProgramatica }} \r\n </td>\r\n </ng-container>\r\n <!-- columna 5 -->\r\n <ng-container [matColumnDef]=\"colunms[6]\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> \r\n {{ colunms[4] | uppercase }} \r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ (element.estatusClasificacion == 'P') ? 'PROYECTO' : 'ACCIÓN' }}\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"colunms\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: colunms;\" class=\"row\" (click)=\"closeDialog(row)\"></tr>\r\n </table>\r\n </div>\r\n <mat-paginator [pageSizeOptions]=\"[5, 10, 25, 100]\" showFirstLastButtons class=\"paginator\"></mat-paginator>\r\n </div>\r\n\r\n</div>\r\n","import { Component, OnInit, ViewChild, Optional, Inject } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ICatalogo, filterData } from '../../../core/interfaces/Catalogo';\r\nimport { CatalogoComponent } from '../catalogo/catalogo.component';\r\n\r\n@Component({\r\n selector: 'app-catalogo-doble-input',\r\n templateUrl: './catalogo-doble-input.component.html',\r\n styleUrls: ['./catalogo-doble-input.component.scss']\r\n})\r\nexport class CatalogoDobleInputComponent implements OnInit {\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator; \r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n public dataSource: MatTableDataSource<any>;\r\n public colunms: string[];\r\n public names: string[] = [];\r\n public filterData: filterData[] = [];\r\n public first: string = '';\r\n public second: string = '';\r\n\r\n constructor(@Optional() private dialogRef: MatDialogRef<CatalogoComponent>,\r\n @Optional() @Inject(MAT_DIALOG_DATA) public dialogData: ICatalogo) { }\r\n\r\n ngOnInit() {\r\n this.colunms = this.dialogData.columns\r\n this.dataSource = new MatTableDataSource(this.dialogData.dataSource);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.filterData = this.dialogData.filterData\r\n if (this.dialogData.columnNames) {\r\n this.names = this.dialogData.columnNames\r\n } \r\n\r\n this.dataSource.filterPredicate = (data, filter) => {\r\n let f: string = data[this.filterData[0].property].toString().toLowerCase();\r\n let s: string = data[this.filterData[1].property].toString().toLowerCase();\r\n return (f.includes(this.first.toLowerCase()) && s.includes(this.second.toLowerCase()));\r\n }\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n\r\n /**\r\n * @description Filtra la tabla de proveedores\r\n * @param filterValue Palabra clave para filtrar,\r\n * @return void\r\n * @author Carlos Albornoz\r\n */\r\n public filterTable(filterValue: string, event: KeyboardEvent): void {\r\n if (event.key !== 'Tab') {\r\n this.dataSource.filter = filterValue.toLowerCase(); \r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n }\r\n\r\n /**\r\n * @description Manda a cerrar el dialog\r\n * @param data Data que se va a mandar de respuesta\r\n * @return void\r\n * @author Miguel Ramírez\r\n */\r\n public closeDialog(data?: any): void {\r\n this.dialogRef.close((data) ? data : null);\r\n }\r\n\r\n}\r\n","<div class=\"container\">\r\n\r\n <!-- HEADER DE EL COMPONENTE -->\r\n <div class=\"header mainColor\">\r\n <!-- TÍTULO -->\r\n <h2>{{dialogData.title}}</h2>\r\n <!-- BTN CERRAR -->\r\n <div class=\"close\">\r\n <div class=\"btn\" (click)=\"closeDialog()\">\r\n <mat-icon>close</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- BODY -->\r\n <div class=\"body\">\r\n <!-- FILTER -->\r\n <div class=\"filter\">\r\n <mat-form-field class=\"input\">\r\n <input type=\"text\" matInput \r\n placeholder=\"Filtrar por {{filterData[0].placeholder}}\"\r\n (keyup)=\"filterTable(first, $event)\"\r\n [(ngModel)]=\"first\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"filter\">\r\n <mat-form-field class=\"input\">\r\n <input type=\"text\" matInput \r\n placeholder=\"Filtrar por {{filterData[1].placeholder}}\"\r\n (keyup)=\"filterTable(second, $event)\"\r\n [(ngModel)]=\"second\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <!-- TABLA -->\r\n <div class=\"table-container\">\r\n <table mat-table [dataSource]=\"dataSource\" matSort>\r\n <!-- DATA -->\r\n <ng-container *ngFor=\"let column of colunms;let i = index\" [matColumnDef]=\"column\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\r\n {{ (names[i] ? names[i] : column) | uppercase}}\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\" (click)=\"closeDialog(row)\">\r\n {{row[column]}}\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"colunms\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: colunms;\" class=\"row\"></tr>\r\n </table>\r\n </div>\r\n <mat-paginator [pageSizeOptions]=\"[5, 10, 25, 100]\" showFirstLastButtons class=\"paginator\"></mat-paginator>\r\n </div>\r\n\r\n</div>\r\n\r\n","import { MBasicModel } from '../basic-model.model';\r\nimport { IRights } from '../../interfaces/Seguridad'\r\n\r\nexport class MRights extends MBasicModel {\r\n\r\n public id: number = null;\r\n public userId: number = null;\r\n public groupId: number = null;\r\n public componentId: number = null;\r\n public systemCode: string = null;\r\n public admin: boolean = false;\r\n public insert: boolean = false;\r\n public update: boolean = false;\r\n public get: boolean = false;\r\n public delete: boolean = false;\r\n public cancel: boolean = false;\r\n public download: boolean = false;\r\n public executeProcess: boolean = false;\r\n public sendEmail: boolean = false;\r\n public print: boolean = false;\r\n public visible: boolean = false;\r\n public aprobar: boolean=false;\r\n public revaprobar: boolean=false;\r\n public anular_sc: boolean=false;\r\n public revanular_sc : boolean=false;\r\n public contabilizar: boolean=false;\r\n public revcontabilizar: boolean=false;\r\n public anular_c: boolean=false;\r\n public revanular_c: boolean=false; \r\n public children: MRights[] = [];\r\n public icon: string = '';\r\n public componentName: string = '';\r\n public all: boolean = false;\r\n public fatherId: number = null;\r\n\r\n constructor(right: IRights = null){\r\n\r\n super()\r\n\r\n if (right) {\r\n\r\n this.userId = right.id_usuario ? parseInt(right.id_usuario.toString()) : null;\r\n this.groupId = right.id_grupo ? parseInt(right.id_grupo.toString()) : null;\r\n this.componentId = parseInt(right.id_component.toString());\r\n this.systemCode = right.codsis;\r\n this.admin = right.administrador == \"1\";\r\n this.insert = right.insertar == \"1\";\r\n this.update = right.actualizar == \"1\";\r\n this.get = right.consultar == \"1\";\r\n this.delete = right.eliminar == \"1\";\r\n this.cancel = right.anular == \"1\";\r\n this.download = right.descargar == \"1\";\r\n this.executeProcess = right.ejecutar__procesar_ == \"1\";\r\n this.sendEmail = right.enviar__correo_ == \"1\";\r\n this.print = right.imprimir == \"1\";\r\n this.visible = right.visible == \"1\";\r\n this.aprobar = right.aprobar == \"1\";\r\n this.revaprobar = right.revaprobar == \"1\";\r\n this.anular_sc = right.anular_sc == \"1\";\r\n this.revanular_sc = right.revanular_sc == \"1\";\r\n this.contabilizar = right.contabilizar == \"1\";\r\n this.revcontabilizar = right.revcontabilizar == \"1\";\r\n this.anular_c = right.anular_c == \"1\";\r\n this.revanular_c = right.revanular_c == \"1\";\r\n this.children = right.children.map(e => new MRights(e));\r\n this.icon = right.icono;\r\n this.id = parseInt(right.id.toString());\r\n this.componentName = right.nomcom;\r\n this.fatherId = right.id_padre ? parseInt(right.id_padre.toString()): null;\r\n \r\n } else {\r\n this.isNew = true;\r\n }\r\n\r\n }\r\n\r\n public interface(): IRights{\r\n return {\r\n actualizar: this.update ? \"1\" : \"0\",\r\n administrador: this.admin ? \"1\" : \"0\",\r\n anular: this.cancel ? \"1\" : \"0\",\r\n children: this.children.map(e => e.interface()),\r\n codsis: this.systemCode,\r\n consultar: this.get ? \"1\" : \"0\",\r\n descargar: this.download ? \"1\" : \"0\",\r\n ejecutar__procesar_: this.executeProcess ? \"1\" : \"0\",\r\n eliminar: this.delete ? \"1\" : \"0\",\r\n enviar__correo_: this.sendEmail ? \"1\" : \"0\",\r\n id_component: this.componentId,\r\n id_empresa: 0,\r\n imprimir: this.print ? \"1\" : \"0\",\r\n insertar: this.insert ? \"1\" : \"0\",\r\n visible: this.visible ? \"1\" : \"0\",\r\n aprobar: this.aprobar ? \"1\" : \"0\",\r\n revaprobar: this.revaprobar ? \"1\" : \"0\",\r\n anular_sc: this.anular_sc ? \"1\" : \"0\",\r\n revanular_sc: this.revanular_sc ? \"1\" : \"0\",\r\n contabilizar: this.contabilizar ? \"1\" : \"0\",\r\n revcontabilizar: this.revcontabilizar ? \"1\" : \"0\",\r\n anular_c: this.anular_c ? \"1\" : \"0\",\r\n revanular_c: this.revanular_c ? \"1\" : \"0\",\r\n codusu: '---',\r\n id_grupo: this.groupId,\r\n id_usuario: this.userId,\r\n icono: this.icon,\r\n id: this.id,\r\n nomcom: this.componentName,\r\n id_padre: this.fatherId,\r\n isNew: this.isNew ? \"1\" : \"0\"\r\n }\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IUserDetail } from '../../interfaces/Seguridad';\r\nimport { MRights } from '../SSS/userRights.model';\r\nimport { formatDate } from '@angular/common';\r\n\r\nexport class MUserDetail extends MBasicModel {\r\n public id: number = 0;\r\n public idCompany: number=0;\r\n public idEnterprise:number=0;\r\n public lastName: string = '';\r\n public identification: string = '';\r\n public username: string;\r\n public email: string='';\r\n public status: number;\r\n public blockDate: string = '1900-01-01';\r\n public passDate: string = '1900-01-01';\r\n public birthday:string = '1900-01-01';\r\n public registrationDate:string =formatDate(new Date(), 'yyyy-MM-dd', 'en-US');\r\n public photo: string = 'default.png';\r\n public name: string = '';\r\n public notes: string = '';\r\n public password: string = '';\r\n public telephone: string = '';\r\n public admin: boolean = false;\r\n public rights: MRights[] = [];\r\n public ultcon:string='';\r\n public id_personal:number=0;\r\n\r\n constructor(user?: IUserDetail){\r\n super();\r\n if (user) {\r\n this.idCompany=parseInt(user.id_empresa);\r\n this.idEnterprise=parseInt(user.id_enterprise);\r\n this.id = parseInt(user.id_usuario);\r\n this.lastName = user.apeusu;\r\n this.identification = user.cedusu;\r\n this.username = user.codusu;\r\n this.email = user.emausu;\r\n this.status = parseInt(user.estusu);\r\n this.blockDate = user.fecblousu;\r\n this.passDate = user.feccampwd;\r\n this.birthday = user.fecnac;\r\n this.registrationDate = user.fecregusu,\r\n this.photo = user.fotusu;\r\n this.name = user.nomusu;\r\n this.notes = user.obsusu;\r\n this.password = user.pwdusu;\r\n this.telephone = user.telusu;\r\n this.admin = user.usuadm == \"1\";\r\n this.ultcon=user.ultcon;\r\n this.id_personal= +user.id_personal;\r\n this.rights = user.derechos ? user.derechos.map(e => new MRights(e)) : [];\r\n } else {\r\n this.isNew = true;\r\n }\r\n }\r\n\r\n public turnToInterface(): IUserDetail{\r\n return {\r\n apeusu: this.lastName,\r\n cedusu: this.identification,\r\n codusu: this.username,\r\n emausu: this.email,\r\n estusu: this.status.toString(),\r\n fecblousu: this.blockDate,\r\n feccampwd: this.passDate,\r\n fecnac: this.birthday,\r\n fecregusu: this.registrationDate,\r\n fotusu: this.photo,\r\n id_empresa: this.idCompany.toString(),\r\n id_enterprise: this.idEnterprise.toString(),\r\n id_usuario: this.id.toString(),\r\n nomusu: this.name,\r\n obsusu: this.notes,\r\n pwdusu: this.password,\r\n telusu: this.telephone,\r\n usuadm: this.admin ? '1' : '2',\r\n ultcon:this.ultcon,\r\n id_personal:this.id_personal.toString(),\r\n derechos: this.rights.map(e => e.interface())\r\n }\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { ISistema, IUsuarioSistema } from '../../interfaces/Sistema';\r\nimport { MUserDetail } from './userDetail.model';\r\n\r\nexport class MSistema extends MBasicModel{\r\n\r\n public nombre: string = null;\r\n public codigo: string = null;\r\n public estado: string = null;\r\n public imagen: string = null;\r\n public usuarios: MUserDetail[] = [];\r\n public eliminados: MUserDetail[] = [];\r\n\r\n constructor(sis?: ISistema){\r\n super();\r\n if(sis){\r\n this.nombre = sis.nomsis;\r\n this.codigo = sis.codsis;\r\n this.estado = sis.estsis;\r\n this.imagen =sis.imgsis;\r\n if(sis.usuarios){\r\n this.usuarios = sis.usuarios.map(e => new MUserDetail(e)); \r\n }\r\n } else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():ISistema{\r\n return{\r\n codsis: this.nombre,\r\n nomsis: this.codigo,\r\n estsis: this.estado,\r\n imgsis: this.imagen,\r\n usuarios: this.usuarios.map(function(e){return e.turnToInterface()}), \r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\nexport class MUsuarioSistema extends MBasicModel{\r\n public idEmpresa: number= 0; \r\n public idUsuario: number= 0; \r\n public codigoSistema: string= '';\r\n public nombreSistema: string= ''; \r\n public estausSistema: number= 0; \r\n public imagenSistema: string= ''; \r\n public ruta: string= ''; \r\n public tipoSistema: number= 0; \r\n \r\n\r\n constructor(sis?: IUsuarioSistema){\r\n super();\r\n if(sis){\r\n this.idEmpresa= +sis.id_empresa; \r\n this.idUsuario=+sis.id_usuario; \r\n this.codigoSistema=sis.codsis;\r\n this.nombreSistema=sis.nomsis; \r\n this.estausSistema=+sis.estsis; \r\n this.imagenSistema=sis.imgsis; \r\n this.ruta=sis.accsis; \r\n this.tipoSistema=+sis.tipsis; \r\n \r\n } else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IUsuarioSistema{\r\n return{\r\n id_empresa: this.idEmpresa.toString(), \r\n id_usuario: this.idUsuario.toString(), \r\n codsis: this.codigoSistema,\r\n nomsis: this.nombreSistema, \r\n estsis: this.estausSistema.toString(), \r\n imgsis: this.imagenSistema, \r\n accsis: this.ruta, \r\n tipsis: this.tipoSistema.toString(), \r\n }\r\n }\r\n\r\n\r\n\r\n}","import { IComprobantePresupuestarioEgresos, IComprobantePresupuestarioIngresos } from '../../interfaces/ComprobantePresupuestario';\r\n\r\nexport class MComprobantePresupuestarioEgresos {\r\n public idEmpresa: number;\r\n public idEnterprise:number=0;\r\n public idComprobante: number;\r\n public periodoFiscal: number;\r\n public idEp1: number;\r\n public idEp2: number;\r\n public idEp3: number;\r\n public idEp4: number;\r\n public idEp5: number;\r\n public SPGCuenta: number;\r\n public operacion: string;\r\n public idfuenteFinanciamiento:number=0\r\n public codigoFuenteFinanciamiento: string;\r\n public procede_DOC: string;\r\n public documento: string;\r\n public codigoCentroCosto: string;\r\n public fechaComprobante: string;\r\n public decripcionComprobante: string;\r\n public montoComprobante: number;\r\n public orden: string;\r\n public numeroCompromiso: string;\r\n public idDetalle: number;\r\n public idCentroCosto:number=0;\r\n public idMoneda:number=0;\r\n public codigoMoneda:string='';\r\n public tasaCambio:number=0;\r\n public idTasaCambio:number=0;\r\n public montoComprobanteDivisa:number=0;\r\n\r\n constructor(comprobante: IComprobantePresupuestarioEgresos) {\r\n if(comprobante){\r\n this.idEmpresa = parseInt(comprobante.id_empresa);\r\n this.periodoFiscal = +comprobante.perfiscal;\r\n this.idEnterprise=+comprobante.id_enterprise;\r\n this.idComprobante = parseInt(comprobante.id_comprobante);\r\n this.idEp1 = parseInt(comprobante.id_ep1);\r\n this.idEp2 = parseInt(comprobante.id_ep2);\r\n this.idEp3 = parseInt(comprobante.id_ep3);\r\n this.idEp4 = parseInt(comprobante.id_ep4);\r\n this.idEp5 = parseInt(comprobante.id_ep5);\r\n this.SPGCuenta = parseInt(comprobante.spg_cuenta);\r\n this.operacion = comprobante.operacion;\r\n this.idfuenteFinanciamiento= +comprobante.id_fuefin;\r\n this.codigoFuenteFinanciamiento =comprobante.codigoftefin;\r\n this.procede_DOC = comprobante.procede_doc;\r\n this.documento = comprobante.documento;\r\n this.codigoCentroCosto = comprobante.codcencos;\r\n this.fechaComprobante = comprobante.feccmp;\r\n this.decripcionComprobante = comprobante.descmp;\r\n this.montoComprobante = parseFloat(comprobante.moncmp);\r\n this.orden = comprobante.orden;\r\n this.numeroCompromiso = comprobante.numconcom;\r\n this.idDetalle = parseInt(comprobante.id_dt_spgcmp);\r\n this.periodoFiscal=+comprobante.perfiscal,\r\n this.idMoneda=+comprobante.id_moneda;\r\n this.idTasaCambio = +comprobante.id_tascam;\r\n this.codigoMoneda = comprobante.codmon;\r\n this.montoComprobanteDivisa = +comprobante.moncmpdiv;\r\n this.tasaCambio = +comprobante.tascam;\r\n }\r\n }\r\n\r\n public dataInterface():IComprobantePresupuestarioEgresos{\r\n return {\r\n id_ep1: this.idEp1.toString(),\r\n id_ep2: this.idEp2.toString(),\r\n id_ep3: this.idEp3.toString(),\r\n id_ep4: this.idEp4.toString(),\r\n id_ep5: this.idEp5.toString(),\r\n spg_cuenta: this.SPGCuenta.toString(),\r\n operacion: this.operacion,\r\n id_fuefin:this.idfuenteFinanciamiento.toString(),\r\n codigoftefin: this.codigoFuenteFinanciamiento,\r\n documento: this.documento,\r\n id_cencos:this.idCentroCosto.toString(),\r\n codcencos: this.codigoCentroCosto,\r\n moncmp: this.montoComprobante.toString(),\r\n id_dt_spgcmp: this.idDetalle.toString(),\r\n id_empresa: this.idEmpresa.toString(),\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_comprobante: this.idComprobante.toString(),\r\n numconcom: this.numeroCompromiso,\r\n orden:this.orden.toString(),\r\n descmp:this.decripcionComprobante,\r\n procede_doc:this.procede_DOC,\r\n feccmp:this.fechaComprobante,\r\n perfiscal:this.periodoFiscal.toString(),\r\n id_moneda:this.idMoneda.toString(),\r\n id_tascam:this.idTasaCambio.toString(),\r\n codmon:this.codigoMoneda,\r\n moncmpdiv:this.montoComprobanteDivisa.toString(),\r\n tascam:this.tasaCambio.toString()\r\n\r\n }\r\n \r\n }\r\n}\r\n\r\nexport class MComprobantePresupuestarioIngresos {\r\n public idEmpresa: number;\r\n public idEnterprise:number=0; \r\n public idComprobante: number;\r\n public idEp1: number;\r\n public idEp2: number;\r\n public idEp3: number;\r\n public idEp4: number;\r\n public idEp5: number;\r\n public cuenta: number;\r\n public operacion: string;\r\n public idCentroCosto:string;\r\n public centroCosto: string;\r\n public procede: string;\r\n public documento: string;\r\n public fecha: string;\r\n public decripcion: string;\r\n public monto: number;\r\n public orden: string;\r\n public numeroCompromiso: string;\r\n public id: number;\r\n\r\n constructor(comprobante: IComprobantePresupuestarioIngresos) {\r\n this.idEmpresa = parseInt(comprobante.id_empresa);\r\n this.idEnterprise=+comprobante.id_enterprise;\r\n this.idComprobante = parseInt(comprobante.id_comprobante);\r\n this.idEp1 = parseInt(comprobante.id_ep1);\r\n this.idEp2 = parseInt(comprobante.id_ep2);\r\n this.idEp3 = parseInt(comprobante.id_ep3);\r\n this.idEp4 = parseInt(comprobante.id_ep4);\r\n this.idEp5 = parseInt(comprobante.id_ep5);\r\n this.cuenta = parseInt(comprobante.spi_cuenta);\r\n this.operacion = comprobante.operacion;\r\n this.procede = comprobante.procede_doc;\r\n this.documento = comprobante.documento;\r\n this.idCentroCosto=comprobante.id_cencos;\r\n this.centroCosto = comprobante.codcencos;\r\n this.fecha = comprobante.feccmp;\r\n this.decripcion = comprobante.descmp;\r\n this.monto = parseFloat(comprobante.moncmp);\r\n this.orden = comprobante.orden;\r\n // this.numeroCompromiso = comprobante.numconcom;\r\n this.id = parseInt(comprobante.id_dt_spicmp);\r\n }\r\n}\r\n\r\n// TERMINAR EL MODELO","import { ICuentaIngresos } from '../../interfaces/CuentaIngreso';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MCuentaIngresos extends MBasicModel{\r\n\r\n public idEmpresa: number = 0;\r\n public idEnterprise: number = 0;\r\n public periodoFiscal: number = 0;\r\n public nivel: number = 0;\r\n public denominacion: string = '';\r\n public cuenta: string = null;\r\n public cuentaContable: string = null;\r\n public clasificador: string = null;\r\n public referencia: number = null;\r\n public estado: string = null;\r\n public aumento: number = 0;\r\n public cobrado: number = 0;\r\n public anticipoCobrado: number = 0;\r\n public devengado: number = 0;\r\n public disminucion: number = 0;\r\n public distribuir: number = 0;\r\n public previsto: number = 0;\r\n public enero: number = 0;\r\n public febrero: number = 0;\r\n public marzo: number = 0;\r\n public abril: number = 0;\r\n public mayo: number = 0;\r\n public junio: number = 0;\r\n public julio: number = 0;\r\n public agosto: number = 0;\r\n public septiembre: number = 0;\r\n public octubre: number = 0;\r\n public noviembre: number = 0;\r\n public diciembre: number = 0;\r\n public selected: boolean = false;\r\n public isNew: boolean = false;\r\n public error: boolean = false;\r\n public idEP1: number = 0;\r\n public idEP2: number = 0;\r\n public idEP3: number = 0;\r\n public idEP4: number = 0;\r\n public idEP5: number = 0;\r\n public id: number = null;\r\n public estructura: string = null; \r\n\r\n constructor(cuenta: ICuentaIngresos = null){\r\n super();\r\n if (cuenta) {\r\n this.idEmpresa = parseInt(cuenta.id_empresa);\r\n this.idEnterprise= +cuenta.id_enterprise;\r\n this.periodoFiscal =+cuenta.perfiscal;\r\n this.nivel = parseInt(cuenta.nivel);\r\n this.denominacion = cuenta.denspi;\r\n this.cuenta = cuenta.spi_cuenta;\r\n this.cuentaContable = cuenta.sc_cuenta;\r\n this.referencia = parseInt(cuenta.referencia);\r\n this.estado = cuenta.stamov;\r\n this.aumento = parseInt(cuenta.aumento);\r\n this.cobrado = parseInt(cuenta.cobrado);\r\n this.anticipoCobrado = parseInt(cuenta.cobrado_anticipado);\r\n this.devengado = parseInt(cuenta.devengado);\r\n this.distribuir = parseInt(cuenta.distribuir);\r\n this.devengado = parseInt(cuenta.devengado);\r\n this.previsto = parseInt(cuenta.previsto);\r\n this.enero = parseInt(cuenta.enero);\r\n this.febrero = parseInt(cuenta.febrero);\r\n this.marzo = parseInt(cuenta.marzo);\r\n this.abril = parseInt(cuenta.abril);\r\n this.mayo = parseInt(cuenta.mayo);\r\n this.junio = parseInt(cuenta.junio);\r\n this.julio = parseInt(cuenta.julio);\r\n this.agosto = parseInt(cuenta.agosto);\r\n this.septiembre = parseInt(cuenta.septiembre);\r\n this.octubre = parseInt(cuenta.octubre);\r\n this.noviembre = parseInt(cuenta.noviembre);\r\n this.diciembre = parseInt(cuenta.diciembre);\r\n this.clasificador = cuenta.codcuecla;\r\n this.idEP1 = parseInt(cuenta.id_ep1);\r\n this.idEP2 = parseInt(cuenta.id_ep2);\r\n this.idEP3 = parseInt(cuenta.id_ep3);\r\n this.idEP4 = parseInt(cuenta.id_ep4);\r\n this.idEP5 = parseInt(cuenta.id_ep5);\r\n this.id = cuenta.id_del_spicta ? parseInt(cuenta.id_del_spicta) : 0\r\n this.estructura = cuenta.estructura ? cuenta.estructura : \"\" \r\n }else{\r\n this.isNew = true;\r\n\r\n }\r\n }\r\n\r\n public dataInterface():ICuentaIngresos{\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n abril:this.abril.toString(),\r\n agosto:this.agosto.toString(),\r\n aumento:this.aumento.toString(),\r\n cobrado:this.cobrado.toString(),\r\n cobrado_anticipado:this.anticipoCobrado.toString(),\r\n denspi:this.denominacion.toString(),\r\n devengado:this.devengado.toString(),\r\n diciembre:this.diciembre.toString(),\r\n disminucion:this.disminucion.toString(),\r\n distribuir:this.distribuir.toString(),\r\n enero:this.enero.toString(),\r\n febrero:this.febrero.toString(),\r\n id_empresa:this.idEmpresa.toString(),\r\n julio:this.julio.toString(),\r\n junio:this.junio.toString(),\r\n marzo:this.marzo.toString(),\r\n mayo:this.mayo.toString(),\r\n nivel:this.nivel.toString(),\r\n noviembre:this.noviembre.toString(),\r\n octubre:this.octubre.toString(),\r\n previsto:this.previsto.toString(),\r\n referencia:this.referencia.toString(),\r\n sc_cuenta:this.cuentaContable,\r\n septiembre:this.septiembre.toString(),\r\n spi_cuenta:this.cuenta.toString(),\r\n stamov:this.estado.toString(),\r\n codcuecla:this.clasificador.toString(),\r\n id_ep1:this.idEP1.toString(),\r\n id_ep2:this.idEP2.toString(), \r\n id_ep3:this.idEP3.toString(), \r\n id_ep4:this.idEP4.toString(), \r\n id_ep5:this.idEP5.toString(),\r\n id_del_spicta:this.id.toString(),\r\n estructura:this.estructura.toString(),\r\n }\r\n }\r\n\r\n \r\n\r\n}\r\n","import { IIncomeStructureAccount } from '../../interfaces/CuentaIngresoEstructura';\r\n\r\nexport class MIncomeStructureAccount{\r\n\r\n public idEmpresa: number = null;\r\n public idEnterprise: number = null;\r\n public periodoFiscal: number = null;\r\n public idEP1: string = null;\r\n public idEP2: string = null;\r\n public idEP3: string = null;\r\n public idEP4: string = null;\r\n public idEP5: string = null;\r\n public codestpro1: string = null;\r\n public codestpro2: string = null;\r\n public codestpro3: string = null;\r\n public codestpro4: string = null;\r\n public codestpro5: string = null;\r\n public denestpro1: string = null;\r\n public denestpro2: string = null;\r\n public denestpro3: string = null;\r\n public denestpro4: string = null;\r\n public denestpro5: string = null;\r\n public cuenta: string = null;\r\n public previsto: number = null;\r\n public enero: number = null;\r\n public febrero: number = null;\r\n public marzo: number = null;\r\n public abril: number = null;\r\n public mayo: number = null;\r\n public junio: number = null;\r\n public julio: number = null;\r\n public agosto: number = null;\r\n public septiembre: number = null;\r\n public octubre: number = null;\r\n public noviembre: number = null;\r\n public diciembre: number = null;\r\n public new: boolean = false;\r\n public structure: string = '';\r\n public distribuir: number = -1;\r\n public denominacion: string = '';\r\n\r\n constructor(account: IIncomeStructureAccount, level: number){\r\n this.idEmpresa = parseInt(account.id_empresa);\r\n this.idEnterprise = +account.id_enterprise;\r\n this.periodoFiscal = +account.perfiscal;\r\n this.idEP1 = account.id_ep1;\r\n this.idEP2 = account.id_ep2;\r\n this.idEP3 = account.id_ep3;\r\n this.idEP4 = account.id_ep4;\r\n this.idEP5 = account.id_ep5;\r\n this.codestpro1 = account.estructura.codestpro1;\r\n this.codestpro2 = account.estructura.codestpro2;\r\n this.codestpro3 = account.estructura.codestpro3;\r\n this.codestpro4 = account.estructura.codestpro4;\r\n this.codestpro5 = account.estructura.codestpro5;\r\n this.denestpro1 = account.estructura.denestpro1;\r\n this.denestpro2 = account.estructura.denestpro2;\r\n this.denestpro3 = account.estructura.denestpro3;\r\n this.denestpro4 = account.estructura.denestpro4;\r\n this.denestpro5 = account.estructura.denestpro5;\r\n this.cuenta = account.spi_cuenta;\r\n this.previsto = parseFloat(account.previsto);\r\n this.enero = parseFloat(account.enero);\r\n this.febrero = parseFloat(account.febrero);\r\n this.marzo = parseFloat(account.marzo);\r\n this.abril = parseFloat(account.abril);\r\n this.mayo = parseFloat(account.mayo);\r\n this.junio = parseFloat(account.junio);\r\n this.julio = parseFloat(account.julio);\r\n this.agosto = parseFloat(account.agosto);\r\n this.septiembre = parseFloat(account.septiembre);\r\n this.octubre = parseFloat(account.octubre);\r\n this.noviembre = parseFloat(account.noviembre);\r\n this.diciembre = parseFloat(account.diciembre);\r\n\r\n if (level == 3) {\r\n this.structure = `${this.codestpro1}-${this.codestpro2}-${this.codestpro3}`;\r\n this.denominacion = account.estructura.denestpro3;\r\n } else if (level == 4) {\r\n this.structure = `${this.codestpro1}-${this.codestpro2}-${this.codestpro3}-${this.codestpro4}`;\r\n this.denominacion = account.estructura.denestpro4;\r\n } else {\r\n this.structure = `${this.codestpro1}-${this.codestpro2}-${this.codestpro3}-${this.codestpro4}-${this.codestpro5}`;\r\n this.denominacion = account.estructura.denestpro5\r\n }\r\n }\r\n\r\n}\r\n","import { IOrganizationType } from '../../interfaces/Proveedor';\r\n\r\nexport class MOrganizationType{\r\n\r\n public id: number = null;\r\n public denomination: string = null;\r\n public selected: boolean = false;\r\n public error: boolean = false;\r\n public isNew: boolean = false;\r\n\r\n constructor(type: IOrganizationType){\r\n this.id = parseInt(type.id_tiporg);\r\n this.denomination = type.dentiporg;\r\n }\r\n\r\n}","import { ISpecialty } from '../../interfaces/Especialidad';\r\n\r\nexport class MSpecialty{\r\n public id: number = null;\r\n public denomination: string = null;\r\n public selected: boolean = false;\r\n public isNew: boolean = false;\r\n public error: boolean = false;\r\n\r\n constructor(s: ISpecialty){\r\n this.id = parseInt(s.id_especialidad);\r\n this.denomination = s.denesp;\r\n }\r\n}","import { IDocument } from '../../interfaces/Documento';\r\n\r\nexport class MDocument{\r\n\r\n public id: number = null;\r\n public idEmpresa: number = null;\r\n public denomination: string = null;\r\n public type: number = null;\r\n public isNew: boolean = false;\r\n public error: boolean = false;\r\n public selected: boolean = false;\r\n\r\n constructor(doc: IDocument){\r\n this.id = parseInt(doc.id_doc);\r\n this.idEmpresa = parseInt(doc.id_empresa);\r\n this.denomination = doc.dendoc;\r\n this.type = parseInt(doc.tipdoc);\r\n }\r\n\r\n}","import { IClasification } from '../../interfaces/Clasificacion';\r\n\r\nexport class MClasification {\r\n \r\n public id: number = null;\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public denomination: string = null;\r\n public isNew: boolean = false;\r\n public error: boolean = false;\r\n public selected: boolean = false;\r\n\r\n constructor(clasi: IClasification){\r\n \r\n this.id = parseInt(clasi.id_clasificacion);\r\n this.idEmpresa = parseInt(clasi.id_empresa);\r\n this.idEnterprise=+clasi.id_enterprise;\r\n\r\n this.denomination = clasi.dencla;\r\n }\r\n\r\n}","import { ICountry, IState, IMunicipality, IParish, ICity, ICommunity } from '../../interfaces/Lugares';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MCountry extends MBasicModel{\r\n\r\n public code: string = null;\r\n public name: string = null;\r\n public monofi: number = null;\r\n public monsec: number = null;\r\n\r\n constructor(country?: ICountry){ \r\n super(); \r\n if(country){\r\n this.code = country.codpai.trim();\r\n this.name = country.despai.trim();\r\n this.monofi = parseInt(country.monofi);\r\n this.monsec = parseInt(country.monsec);\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():ICountry {\r\n return {\r\n codpai: this.code,\r\n despai: this.name,\r\n monofi: this.monofi.toString(),\r\n monsec: this.monsec.toString(), \r\n }\r\n }\r\n}\r\n\r\nexport class MState extends MBasicModel{\r\n\r\n public code: string = null;\r\n public countryCode: string = null;\r\n public name: string = null;\r\n public capital: string = null;\r\n\r\n constructor(state?: IState){\r\n super();\r\n if(state){\r\n this.code = state.codest.trim();\r\n this.countryCode = state.codpai.trim();\r\n this.name = state.desest.trim();\r\n this.capital = state.ciucapest.trim();\r\n } else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IState {\r\n return {\r\n codpai: this.countryCode,\r\n codest: this.code,\r\n desest: this.name,\r\n ciucapest: this.capital\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\nexport class MMunicipality extends MBasicModel{\r\n\r\n public code: string = null;\r\n public countryCode: string = null;\r\n public stateCode: string = null;\r\n public name: string = null;\r\n public capital: string='';\r\n\r\n constructor(mun?: IMunicipality){\r\n super();\r\n if(mun){\r\n this.code = mun.codmun.trim();\r\n this.countryCode = mun.codpai.trim();\r\n this.stateCode = mun.codest.trim();\r\n this.name = mun.desmun.trim();\r\n this.capital = mun.capmun.trim(); \r\n } else {\r\n this.isNew=true\r\n }\r\n }\r\n\r\n public dataInterface():IMunicipality {\r\n return {\r\n codpai:this.countryCode,\r\n codest:this.stateCode,\r\n codmun:this.code,\r\n desmun:this.name,\r\n capmun: this.capital, \r\n }\r\n }\r\n}\r\n\r\nexport class MParish extends MBasicModel{\r\n\r\n public code: string = null;\r\n public countryCode: string = null;\r\n public stateCode: string = null;\r\n public municipalityCode: string = null;\r\n public name: string = null;\r\n\r\n constructor(parish?: IParish){\r\n super();\r\n if (parish){\r\n this.code = parish.codpar.trim();\r\n this.countryCode = parish.codpai.trim();\r\n this.stateCode = parish.codest.trim();\r\n this.municipalityCode = parish.codmun.trim();\r\n this.name = parish.despar.trim();\r\n } else {\r\n this.isNew=true\r\n }\r\n }\r\n public dataInterface():IParish {\r\n return {\r\n codpai:this.countryCode ,\r\n codest: this.stateCode,\r\n codmun: this.municipalityCode,\r\n codpar: this.code,\r\n despar: this.name,\r\n }\r\n }\r\n}\r\n\r\nexport class MCity extends MBasicModel{\r\n public code: string = null;\r\n public countryCode: string = null;\r\n public stateCode: string = null;\r\n public name: string = null;\r\n\r\n constructor(city?: ICity){\r\n super();\r\n if (city){\r\n this.code = city.codciu.trim();\r\n this.countryCode = city.codpai.trim();\r\n this.stateCode = city.codest.trim();\r\n this.name = city.desciu.trim(); \r\n } else {\r\n this.isNew=true\r\n }\r\n }\r\n public dataInterface():ICity {\r\n return {\r\n codpai: this.countryCode,\r\n codest: this.stateCode,\r\n codciu: this.code,\r\n desciu: this.name,\r\n }\r\n }\r\n\r\n}\r\nexport class MCommunity extends MBasicModel{\r\n\r\n public code: string = null;\r\n public countryCode: string = null;\r\n public stateCode: string = null;\r\n public municipalityCode: string = null;\r\n public parishCode: string = null;\r\n public name: string = null;\r\n \r\n constructor(e?: ICommunity){\r\n super();\r\n if (e){\r\n this.code = e.codcom.trim();\r\n this.countryCode = e.codpai.trim();\r\n this.stateCode = e.codest.trim();\r\n this.municipalityCode = e.codmun.trim();\r\n this.parishCode=e.codpar.trim();\r\n this.name = e.descom.trim();\r\n } else {\r\n this.isNew=true\r\n }\r\n }\r\n public dataInterface():ICommunity {\r\n return {\r\n codpai:this.countryCode,\r\n codest: this.stateCode,\r\n codmun: this.municipalityCode,\r\n codpar: this.parishCode,\r\n codcom: this.code,\r\n descom: this.name,\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n","import { IProviderBeneficiary, IProviderBankAccount, IDocumentProv, IDeductionProv, ISpecialtyProv } from '../../interfaces/Proveedor';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MProviderBeneficiary extends MBasicModel {\r\n public idEmpresa: number=0;\r\n public idEnterprise:number=0;\r\n public id: number=0;\r\n public rif: string='';\r\n public cedben: string='';\r\n public name: string='';\r\n public address: string='';\r\n public nit: string='';\r\n public telephone: string='';\r\n public mobileTelephone: string='';\r\n public nationality: string='';\r\n public email: string='';\r\n public webAddress: string='';\r\n public status: number=0;\r\n public type: string='';\r\n public typeDesignation: string='';\r\n public observation: string='';\r\n public contribuiterType: string='';\r\n public countryCode: string='';\r\n public stateCode: string='';\r\n public municipalityCode: string='';\r\n public parishCode: string='';\r\n public currencyCode: string='';\r\n public organizationType: number=0;\r\n public systemLogDate: string='';\r\n public licenceNumber: string='';\r\n public providerSubalternLogDate: string='1900-01-01';\r\n public subscribedShareCapital: number=0;\r\n public idRNC: string='';\r\n public dateRNC: string='1900-01-01';\r\n public expirationDateRNC: string='1900-01-01';\r\n public statusRNC: string='';\r\n public subalternId: string='';\r\n public subalternLogDate: string='';\r\n public socialSecurityId: string='';\r\n public socialSecurityExpirationDate: string='';\r\n public idINCE: string='';\r\n public expirationDateINCE: string='';\r\n public registryNumber: string='';\r\n public registryTome: string='';\r\n public idFolio: string='';\r\n public registryModification: string='';\r\n public registryModificationDate: string='';\r\n public tomeModification: string='';\r\n public folioModification: string='';\r\n public inspector: string='';\r\n public accountableAccount: string='';\r\n public advanceAccountableAccount: string='';\r\n public receptionAccountableAccount: string='';\r\n public estpropri: string='';\r\n public passport: string='';\r\n public accounts: MProviderBankAccount[];\r\n public deductions: MDeductionProv[];\r\n public documents: MDocumentProv[];\r\n public specialties: MSpecialtyProv[];\r\n public fechaRegistroProveedor:string\r\n\r\n public personType: string='';\r\n public isNew: boolean=false;\r\n \r\n constructor(proben: IProviderBeneficiary){\r\n super()\r\n if (proben){ \r\n this.idEmpresa=+proben.id_empresa;\r\n this.idEnterprise = +proben.id_enterprise;\r\n this.id=+proben.id_proveedor;\r\n this.rif=proben.rifpro;\r\n this.cedben=proben.cedben;\r\n this.name=proben.nompro;\r\n this.address=proben.dirpro;\r\n this.nit=proben.nitpro;\r\n this.telephone=proben.telpro;\r\n this.mobileTelephone=proben.telmovpro;\r\n this.nationality=proben.nacpro;\r\n this.email=proben.emapro;\r\n this.webAddress=proben.webpro;\r\n this.status=+proben.estpro;\r\n this.type=proben.tippro;\r\n this.observation=proben.obspro;\r\n this.contribuiterType=proben.tipconpro;\r\n this.countryCode=proben.codpai;\r\n this.stateCode=proben.codest;\r\n this.municipalityCode=proben.codmun;\r\n this.parishCode=proben.codpar;\r\n this.currencyCode=proben.id_moneda;\r\n this.organizationType=+proben.id_tiporg;\r\n this.systemLogDate=proben.fecregsis;\r\n this.licenceNumber=proben.numlic;\r\n this.providerSubalternLogDate=proben.fecregsub;\r\n this.subscribedShareCapital=+proben.capsocpro;\r\n this.idRNC=proben.numrnc;\r\n this.dateRNC=proben.fecrnc;\r\n this.expirationDateRNC=proben.fecvenrnc;\r\n this.statusRNC=proben.estrnc;\r\n this.subalternId=proben.numregsub;\r\n this.subalternLogDate=proben.fecregsub;\r\n this.socialSecurityId=proben.numregsso;\r\n this.socialSecurityExpirationDate=proben.fecvensso;\r\n this.idINCE=proben.numregince;\r\n this.expirationDateINCE=proben.fecvenince;\r\n this.registryNumber=proben.numreg;\r\n this.registryTome=proben.tomreg;\r\n this.idFolio=proben.numfol;\r\n this.registryModification=proben.regmod;\r\n this.registryModificationDate=proben.fecregmod;\r\n this.tomeModification=proben.tommod;\r\n this.folioModification=proben.folmod;\r\n this.inspector=proben.inspector;\r\n this.accountableAccount=proben.sc_cuenta;\r\n this.advanceAccountableAccount=proben.sc_cuentaant;\r\n this.personType=proben.tipperpro;\r\n this.estpropri=proben.estpropri;\r\n this.passport=proben.pasaporte;\r\n if (proben.cuentas) { this.accounts=proben.cuentas.map(e=> new MProviderBankAccount(e));}\r\n if (proben.especialidad ) { this.specialties=proben.especialidad.map(e=> new MSpecialtyProv(e)); }\r\n if (proben.deducciones ) { this.deductions=proben.deducciones.map(e=> new MDeductionProv(e)); }\r\n if (proben.documentos ) { this.documents=proben.documentos.map(e=> new MDocumentProv(e)); }\r\n \r\n }\r\n };\r\n\r\n public dataInterface():IProviderBeneficiary{\r\n return {\r\n id_empresa:this.idEmpresa.toString(),\r\n id_enterprise: this.idEnterprise.toString(),\r\n id_proveedor:this.id.toString(),\r\n rifpro:this.rif,\r\n cedben:this.cedben,\r\n nompro:this.name,\r\n dirpro:this.address,\r\n nitpro:this.nit,\r\n telpro:this.telephone,\r\n telmovpro:this.mobileTelephone,\r\n nacpro:this.nationality,\r\n emapro:this.email,\r\n webpro:this.webAddress,\r\n estpro:this.status.toString(),\r\n tippro:this.type,\r\n obspro:this.observation,\r\n tipconpro:this.contribuiterType,\r\n codpai:this.countryCode,\r\n codest:this.stateCode,\r\n codmun:this.municipalityCode,\r\n codpar:this.parishCode,\r\n id_moneda:this.currencyCode,\r\n id_tiporg:this.organizationType.toString(),\r\n fecregsis:this.systemLogDate,\r\n numlic:this.licenceNumber,\r\n fecregsub:this.providerSubalternLogDate,\r\n capsocpro:this.subscribedShareCapital.toString(),\r\n numrnc:this.idRNC,\r\n fecrnc:this.dateRNC,\r\n fecvenrnc:this.expirationDateRNC,\r\n estrnc:this.statusRNC,\r\n numregsub:this.subalternId,\r\n fecregpro:this.fechaRegistroProveedor,\r\n numregsso:this.socialSecurityId,\r\n fecvensso:this.socialSecurityExpirationDate,\r\n numregince:this.idINCE,\r\n fecvenince:this.expirationDateINCE,\r\n numreg:this.registryNumber,\r\n tomreg:this.registryTome,\r\n numfol:this.idFolio,\r\n regmod:this.registryModification,\r\n fecregmod:this.registryModificationDate,\r\n tommod:this.tomeModification,\r\n folmod:this.folioModification,\r\n inspector:this.inspector,\r\n sc_cuenta:this.accountableAccount,\r\n sc_cuentaant:this.advanceAccountableAccount,\r\n tipperpro:this.personType,\r\n estpropri:this.estpropri,\r\n pasaporte:this.passport,\r\n cuentas: this.accounts.map(e=> e.dataInterface()),\r\n especialidad : this.specialties.map(e=> e.dataInterface()),\r\n deducciones : this.deductions.map(e=> e.dataInterface()),\r\n documentos : this.documents.map(e=> e.dataInterface())\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\n\r\nexport class MProviderBankAccount {\r\n public id: number = null;\r\n public companyId: number = null;\r\n public providerId: number = null;\r\n public bankCode: number = null;\r\n public account: string = null;\r\n public accountType: number = null;\r\n public status: boolean = false;\r\n public active: boolean = false;\r\n public isNew: boolean = false;\r\n public selected: boolean = false;\r\n public error: boolean = false;\r\n public accountDenomination:string=null; \r\n\r\n constructor(account: IProviderBankAccount) {\r\n this.id = parseInt(account.id_ctabcoprov);\r\n this.companyId = parseInt(account.id_empresa);\r\n this.providerId = parseInt(account.id_proveedor);\r\n this.bankCode = parseInt(account.codban.trim());\r\n this.account = account.ctaban;\r\n this.accountType = parseInt(account.codtipcta.trim());\r\n this.status = account.estctabco == '1'\r\n this.active = account.tipcta == '1'\r\n this.accountDenomination=account.denctabcoprov;\r\n }\r\n\r\n public dataInterface():IProviderBankAccount{\r\n return{\r\n id_ctabcoprov:this.id.toString(),\r\n id_empresa:this.companyId.toString(),\r\n id_proveedor:this.providerId.toString(),\r\n codban:this.bankCode.toString(),\r\n ctaban:this.account,\r\n codtipcta:this.accountType.toString(),\r\n estctabco:this.status ? '1':'0',\r\n tipcta:this.active ? '1':'0',\r\n denctabcoprov:this.accountDenomination, \r\n }\r\n }\r\n}\r\n\r\nexport class MDocumentProv {\r\n public providerId: number = 0;\r\n public documentId: number;\r\n public denomination: string = \"\";\r\n public dateReception: string = \"\";\r\n public dateExpiration: string = \"\";\r\n public statusDocument: number = 0;\r\n public statusOriginal: number = 0;\r\n public observation: string = \"\";\r\n //public type: number;\r\n public isNew: boolean;\r\n public error: boolean;\r\n public selected: boolean;\r\n\r\n constructor(doc: IDocumentProv){\r\n this.providerId = doc.id_proveedor;\r\n this.documentId = doc.id_doc; \r\n this.denomination = doc.dendoc ;\r\n this.dateReception = doc.fecrecdoc;\r\n this.dateExpiration = doc.fecvendoc;\r\n this.statusDocument = doc.estdoc;\r\n \tthis.statusOriginal = doc.estoridoc;\r\n this.observation = doc.obsdocpro;\r\n };\r\n\r\n public dataInterface():IDocumentProv {\r\n return{ \r\n id_proveedor: this.providerId, \r\n id_doc: this.documentId,\r\n dendoc: this.denomination,\r\n fecrecdoc: this.dateReception,\r\n fecvendoc: this.dateExpiration,\r\n estdoc: this.statusDocument,\r\n estoridoc: this.statusOriginal,\r\n obsdocpro: this.observation,\r\n }\r\n }\r\n}\r\n\r\nexport class MDeductionProv {\r\n public providerId: number;\r\n public id: number;\r\n public codigo: string;\r\n public denomination: string;\r\n public isNew: boolean;\r\n public error: boolean;\r\n public selected: boolean\r\n\r\n constructor(ded: IDeductionProv){\r\n this.providerId = ded.id_proveedor;\r\n this.id = ded.id_deduccion;\r\n this.codigo = ded.codded;\r\n this.denomination = ded.dended ;\r\n };\r\n\r\n public dataInterface():IDeductionProv{\r\n return{ \r\n id_proveedor: this.providerId, \r\n id_deduccion: this.id,\r\n codded: this.codigo,\r\n dended: this.denomination\r\n }\r\n }\r\n}\r\n\r\nexport class MSpecialtyProv {\r\n public providerId: number;\r\n public id: number;\r\n public denomination: string;\r\n public isNew: boolean;\r\n public error: boolean;\r\n public selected: boolean\r\n\r\n constructor(ded: ISpecialtyProv){\r\n this.providerId = ded.id_proveedor;\r\n this.id = ded.id_especialidad;\r\n this.denomination = ded.denesp ;\r\n };\r\n\r\n public dataInterface():ISpecialtyProv{\r\n return{ \r\n id_proveedor: this.providerId, \r\n id_especialidad: this.id,\r\n denesp: this.denomination\r\n }\r\n }\r\n}","import { ISigecofBank, IBank, IBankAccountType, IAgencia, ICuentaBanco } from '../../interfaces/Banco'\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MSigecofBank extends MBasicModel{\r\n\r\n public code: string = null;\r\n public denomination: string = null;\r\n\r\n constructor(bank?: ISigecofBank) {\r\n super();\r\n if(bank){\r\n this.code = bank.codbansig.trim();\r\n this.denomination = bank.denbansig; \r\n }\r\n }\r\n\r\n dataInterface():ISigecofBank{\r\n return {\r\n codbansig: this.code.toString(),\r\n denbansig: this.denomination,\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class MBank extends MBasicModel{\r\n\r\n public idEmpresa: number = 0;\r\n public id: number = 0;\r\n public idEnterprise:number=0;\r\n public name: string = null;\r\n public address: string = null;\r\n public manager: string = null;\r\n public telephone: string = null;\r\n public contact: string = null;\r\n public contactMobile: string = null;\r\n public status: boolean = null;\r\n public sudebanCode: string = null;\r\n public swiftCode: string = null;\r\n public code:string=null;\r\n public email:string=null;\r\n public enableBox: boolean = false;\r\n\r\n constructor(bank?: IBank){\r\n super();\r\n if(bank){\r\n this.idEmpresa = parseInt(bank.id_empresa);\r\n this.idEnterprise=+bank.id_enterprise;\r\n this.id = parseInt(bank.id_banco);\r\n this.name = bank.nomban;\r\n this.address = bank.dirban;\r\n this.manager = bank.gerban;\r\n this.telephone = bank.telban;\r\n this.contact = bank.conban;\r\n this.contactMobile = bank.movcon;\r\n this.status = bank.esttesnac == '1';\r\n this.sudebanCode = bank.codsudeban;\r\n this.swiftCode = bank.codswift;\r\n this.code = bank.codban;\r\n this.email = bank.emailcon;\r\n this.enableBox = bank.habcaja =='1';\r\n }\r\n }\r\n\r\n dataInterface():IBank{\r\n return {\r\n id_empresa:this.idEmpresa.toString(), \r\n id_enterprise:this.idEnterprise.toString(),\r\n id_banco:this.id.toString(), \r\n codban:this.code,\r\n nomban:this.name, \r\n dirban:this.address, \r\n gerban:this.manager, \r\n telban:this.telephone, \r\n conban:this.contact, \r\n movcon:this.contactMobile, \r\n esttesnac:this.status? '1':'0', \r\n codsudeban:this.sudebanCode,\r\n codswift:this.swiftCode,\r\n emailcon:this.email,\r\n habcaja:this.enableBox? '1':'0',\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class MBankAccountType extends MBasicModel{\r\n\r\n public id: number = null;\r\n public idEmpresa: number = null;\r\n public name: string = null;\r\n\r\n constructor(type?: IBankAccountType) {\r\n super();\r\n if(type){\r\n this.id = parseInt(type.id_tipocta);\r\n this.idEmpresa = parseInt(type.id_empresa);\r\n this.name = type.nomtipcta;\r\n }\r\n }\r\n\r\n public dataInterface():IBankAccountType {\r\n return {\r\n id_empresa:this.idEmpresa.toString(),\r\n id_tipocta:this.id.toString(),\r\n nomtipcta:this.name\r\n }\r\n }\r\n \r\n}\r\n\r\n\r\nexport class MAgenciaBanco extends MBasicModel{ \r\n public idEmpresa:number=0; \r\n public idAgencia:number=0; \r\n public idBanco:number=0; \r\n public codigoAgencia:string=''; \r\n public nombreAgencia:string='';\r\n\r\n constructor(agencia?: IAgencia) {\r\n super()\r\n if(agencia){\r\n this.idEmpresa=parseInt(agencia.id_empresa);\r\n this.idAgencia=parseInt(agencia.id_agencia); \r\n this.idBanco=parseInt(agencia.id_banco);\r\n this.codigoAgencia=agencia.codage.trim();\r\n this.nombreAgencia=agencia.nomage.trim();\r\n }\r\n }\r\n\r\n public dataInterface():IAgencia{\r\n return {\r\n id_empresa:this.idEmpresa.toString(), \r\n id_agencia: this.idAgencia.toString(), \r\n id_banco:this.idBanco.toString(), \r\n codage: this.codigoAgencia, \r\n nomage:this.nombreAgencia\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\nexport class MCuentaBanco extends MBasicModel {\r\n public idCuentaBanco: number= 0;\r\n public idEnterprise:number=0;\r\n public idEmpresa: number=0;\r\n public idBanco:number= 0; \r\n public idTipoCuenta: number= 0; \r\n public cuentaBanco:string=''; \r\n public cuentaExtendida: string = ''; \r\n public denominacionCuenta: string= '';\r\n public cuentaContable: string='';\r\n public fechaApertura: string= '1900-01-01';\r\n public fechaCierre: string = '1900-01-01';\r\n public estatus: number= 0;\r\n public fechaUltimaConciliacion:string='1900-01-01' \r\n public denomCuentaContable: string= ''\r\n public nombrebanco='';\r\n public nombretipocta:string= '';\r\n \r\n constructor(cb?: ICuentaBanco){\r\n super();\r\n if(cb){\r\n this.idCuentaBanco=parseInt(cb.id_ctabanco);\r\n this.idEnterprise=+cb.id_enterprise;\r\n this.idEmpresa=parseInt(cb.id_empresa);\r\n this.idBanco=parseInt(cb.id_banco);\r\n this.idTipoCuenta=parseInt(cb.id_tipocta);\r\n this.cuentaBanco=cb.ctabanco;\r\n this.cuentaExtendida=cb.ctabanext;\r\n this.denominacionCuenta= cb.dencta;\r\n this.cuentaContable=cb.sc_cuenta;\r\n this.fechaApertura=cb.fecapr;\r\n this.fechaCierre=cb.feccie;\r\n this.estatus=parseInt(cb.estact);\r\n this.denomCuentaContable= cb.denominacioncta;\r\n this.nombrebanco= cb.nombrebanco;\r\n this.nombretipocta= cb.nombretipocta\r\n }\r\n }\r\n\r\n dataInterface():ICuentaBanco {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_ctabanco:this.idCuentaBanco.toString(),\r\n id_empresa:this.idEmpresa.toString(),\r\n id_banco:this.idBanco.toString(), \r\n id_tipocta:this.idTipoCuenta.toString(),\r\n ctabanco:this.cuentaBanco, \r\n ctabanext:this.cuentaExtendida, \r\n dencta:this.denominacionCuenta, \r\n sc_cuenta:this.cuentaContable, \r\n fecapr:this.fechaApertura, \r\n feccie:this.fechaCierre, \r\n estact:this.estatus.toString(),\r\n fecultcon:this.fechaUltimaConciliacion,\r\n denominacioncta: this.denominacionCuenta,\r\n nombrebanco:this.nombrebanco,\r\n nombretipocta:this.nombretipocta,\r\n habcaja:this.idCuentaBanco.toString(),\r\n codban:this.idCuentaBanco.toString(),\r\n }\r\n }\r\n}","import { IConfigurationRPC } from \"../../interfaces/ConfiguracionRPC\";\r\n\r\nexport class MConfigurationRPC{\r\n\r\n public id: number = null;\r\n public companyId: number = null;\r\n public useProviderAccount: boolean = false;\r\n public useBeneficiaryAccount: boolean = false;\r\n public providerAccount: string = '';\r\n public beneficiaryAccount: string = '';\r\n public contractorsAccount: string = '';\r\n public registryAccount: string = '';\r\n\r\n constructor(config: IConfigurationRPC = null){\r\n if (config) {\r\n this.id = parseInt(config.id_rpc);\r\n this.companyId = parseInt(config.id_empresa);\r\n this.useProviderAccount = config.estctaunicap == '1';\r\n this.useBeneficiaryAccount = config.estctaunicab == '1';\r\n this.providerAccount = config.ctaunicaprov;\r\n this.beneficiaryAccount = config.ctaunicaben;\r\n this.contractorsAccount = config.sc_cuentaant;\r\n this.registryAccount = config.sc_cuentarecdoc;\r\n }\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IConfigSOC } from '../../interfaces/Servicios';\r\n\r\nexport class MConfigSOC extends MBasicModel{\r\n\r\n public id: number = 0\r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public companyId: number = 0;\r\n public serviceOrder: number = 0;\r\n public purchaseOrder: number = 0;\r\n public aprobeDocuments: boolean = false;\r\n public imputation: boolean = false;\r\n public opening: boolean = false; \r\n public services: string[] = [];\r\n public goods: string[] = [];\r\n public statusMultiSpendingStructure: boolean = false;\r\n public statusMultiAdministrativeUnit: boolean = false;\r\n public statusMultiCostCenter: boolean = false;\r\n public statusMultiChargeStructure: boolean = false;\r\n\r\n\r\n constructor(config: IConfigSOC = null){\r\n super();\r\n if (config) {\r\n this.id = parseInt(config.id_soc);\r\n this.idEnterprise=+config.id_enterprise;\r\n this.periodoFiscal = +config.perfiscal;\r\n this.companyId = parseInt(config.id_empresa);\r\n this.serviceOrder = parseInt(config.numordser);\r\n this.purchaseOrder = parseInt(config.numordcom);\r\n this.aprobeDocuments = config.estaprdocsindisp == '1';\r\n this.imputation = config.estmodpartsoc == '1';\r\n this.opening = config.estapesoc == '1'\r\n if (config.soc_servicios != '') { \r\n this.services = config.soc_servicios.split(',');\r\n }\r\n if (config.soc_bienes != '') {\r\n this.goods = config.soc_bienes.split(',');\r\n }\r\n this.statusMultiSpendingStructure = parseInt(config.estmulestgas) == 1\r\n this.statusMultiChargeStructure = parseInt(config.estmulestcar) == 1\r\n this.statusMultiAdministrativeUnit = parseInt(config.estmuluniadm) == 1\r\n this.statusMultiCostCenter = parseInt(config.estmulcencos) == 1\r\n }else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataAsInterface(): IConfigSOC{\r\n return {\r\n id_soc: this.id.toString(),\r\n id_empresa: this.companyId.toString(),\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n soc_bienes: this.goods.join(','),\r\n soc_servicios: this.services.join(','),\r\n estapesoc: this.opening ? '1' : '0',\r\n estaprdocsindisp: this.aprobeDocuments ? '1' : '0',\r\n estmodpartsoc: this.imputation ? '1' : '0',\r\n numordser: this.serviceOrder.toString(),\r\n numordcom: this.purchaseOrder.toString(),\r\n estmulestgas: this.statusMultiSpendingStructure ? '1' : '0' ,\r\n estmuluniadm: this.statusMultiAdministrativeUnit ? '1' : '0',\r\n estmulcencos: this.statusMultiCostCenter ? '1' : '0',\r\n estmulestcar: this.statusMultiChargeStructure ? '1' : '0',\r\n\r\n }\r\n }\r\n\r\n}","import { IDeductionType } from '../../interfaces/Tributos';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MDeductionType extends MBasicModel{\r\n\r\n public code: string = null;\r\n public description: string = null;\r\n public abbreviation: string = null;\r\n public id: number = null;\r\n\r\n constructor(type: IDeductionType = null){\r\n super();\r\n if (type) {\r\n this.id = parseInt(type.id_tipded)\r\n this.code = type.codtipded;\r\n this.description = type.destipded;\r\n this.abbreviation = type.abrtipded;\r\n } else {\r\n this.isNew = true;\r\n }\r\n }\r\n\r\n}","import { ICargo } from '../../interfaces/Tributos';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MCargo extends MBasicModel{\r\n\r\n public isNew: boolean = false;\r\n public error: boolean = false;\r\n public idEmpresa: number = 0;\r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public id: number = -1;\r\n public codigo: string = \"\";\r\n public denominacion: string = \"\";\r\n public codigoEstructuraEgreso: string = \"\";\r\n public porcentaje: number = 0;\r\n public estadoLibroCompras: boolean = false;\r\n public formula: string = \"\";\r\n public estadoClasificacionEgreso: string = \"A\";\r\n public tipoIva: number = 0;\r\n public cuentaEgreso: string = \"\";\r\n public cuentaIngreso: string = \"\";\r\n public codigoEstructuraIngreso: string = \"\";\r\n public estadoClasificacionIngreso: string = \"A\";\r\n public estadoTipoPresupuesto: string = \"E\"\r\n\r\n constructor(charge?: ICargo){\r\n\r\n super();\r\n\r\n if (charge){\r\n\r\n this.idEmpresa = parseInt(charge.id_empresa);\r\n this.idEnterprise=+charge.id_enterprise;\r\n this.periodoFiscal = +charge.perfiscal;\r\n this.id = parseInt(charge.id_cargo);\r\n this.codigo = charge.codcar;\r\n this.denominacion = charge.dencar;\r\n this.codigoEstructuraEgreso = charge.codestpro;\r\n this.porcentaje = parseFloat(charge.porcar);\r\n this.estadoLibroCompras = charge.estlibcom == \"1\";\r\n this.formula = charge.formula;\r\n this.estadoClasificacionEgreso = charge.estcla;\r\n this.tipoIva = parseInt(charge.tipiva);\r\n this.cuentaEgreso = charge.spg_cuenta;\r\n this.cuentaIngreso = charge.spi_cuenta;\r\n this.codigoEstructuraIngreso = charge.codestprospi;\r\n this.estadoClasificacionIngreso = charge.estclaspi;\r\n this.estadoTipoPresupuesto = charge.esttippre\r\n\r\n } else {\r\n\r\n this.isNew = true;\r\n\r\n }\r\n\r\n }\r\n\r\n public interface(): ICargo{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n codcar: this.codigo,\r\n codestpro: this.codigoEstructuraEgreso,\r\n codestprospi: this.codigoEstructuraIngreso,\r\n dencar: this.denominacion,\r\n estcla: this.estadoClasificacionEgreso,\r\n estclaspi: this.estadoClasificacionIngreso,\r\n estlibcom: this.estadoLibroCompras ? '1' : '0',\r\n esttippre: this.estadoTipoPresupuesto,\r\n formula: this.formula,\r\n id_cargo: this.id.toString(),\r\n id_empresa: this.idEmpresa.toString(),\r\n porcar: this.porcentaje.toString(),\r\n spg_cuenta: this.cuentaEgreso,\r\n spi_cuenta: this.cuentaIngreso,\r\n tipiva: this.tipoIva.toString()\r\n }\r\n }\r\n\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IConceptoRetencion, IDeduction } from '../../interfaces/Tributos';\r\n\r\nexport class MDeduction extends MBasicModel{\r\n\r\n public companyId:number=null;\r\n public idEnterprise:number=0;\r\n public id: number = null;\r\n public deductionType: number = null;\r\n public codeDeduction:string=\"\";\r\n public description: string = \"\";\r\n public formula: string = \"\";\r\n public account: string = \"\";\r\n public percentage: number = 0;\r\n public deducible: number = 0;\r\n public tipopers: string = null;\r\n public id_conret: number = 0;\r\n public customerRetentionAccount: string = \"\";\r\n public statusCommercial: number=0;\r\n\r\n constructor(deduction?: IDeduction){\r\n super();\r\n\r\n if (deduction) {\r\n this.id = parseInt(deduction.id_deduccion);\r\n this.idEnterprise=+deduction.id_enterprise;\r\n this.deductionType = parseInt(deduction.id_tipded);\r\n this.description = deduction.dended;\r\n this.formula = deduction.formula;\r\n this.account = deduction.sc_cuenta;\r\n this.percentage = parseFloat(deduction.porded);\r\n this.deducible = parseFloat(deduction.deducible);\r\n this.tipopers = deduction.tipopers;\r\n this.id_conret = parseFloat(deduction.id_conret);\r\n this.codeDeduction=deduction.codded;\r\n this.companyId=parseInt(deduction.id_empresa);\r\n this.customerRetentionAccount=deduction.sc_cuenta_retcli\r\n this.statusCommercial= +deduction.estdedaplcom;\r\n } else {\r\n this.isNew = true;\r\n }\r\n }\r\n\r\n public dataInterface():IDeduction {\r\n return {\r\n id_empresa: this.companyId.toString(),\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_deduccion: this.id.toString(),\r\n codded:this.codeDeduction,\r\n id_tipded: this.id.toString(),\r\n dended: this.description,\r\n porded: this.percentage.toString(),\r\n formula: this.formula,\r\n sc_cuenta: this.account,\r\n deducible: this.deducible.toString(),\r\n tipopers: this.tipopers.toString(),\r\n id_conret: this.id_conret.toString(),\r\n sc_cuenta_retcli:this.customerRetentionAccount,\r\n estdedaplcom: this.statusCommercial.toString(),\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class MConceptoRetencion extends MBasicModel{\r\n\r\n public idEmpresa:number=0; \r\n public idEnterprise:number=0;\r\n public idConceptoRetencion:number=0;\r\n public codigoConceptoRetencion:string='';\r\n public descripcionActividad:string='';\r\n public observacionConceptoRetencion:string='';\r\n\r\n\r\n constructor(concepto?: IConceptoRetencion){\r\n super();\r\n if (concepto) {\r\n this.idEmpresa=parseInt(concepto.id_empresa);\r\n this.idEnterprise=+concepto.id_enterprise; \r\n this.idConceptoRetencion=parseInt(concepto.id_conret);\r\n this.codigoConceptoRetencion=concepto.codconret;\r\n this.descripcionActividad=concepto.desact;\r\n this.observacionConceptoRetencion=concepto.obsconret;\r\n } else {\r\n this.isNew = true;\r\n }\r\n }\r\n\r\n public dataInterface():IConceptoRetencion {\r\n return {\r\n id_empresa: this.idEmpresa.toString(), \r\n id_enterprise:this.idEnterprise.toString(),\r\n id_conret:this.idConceptoRetencion.toString(),\r\n codconret:this.codigoConceptoRetencion,\r\n desact:this.descripcionActividad,\r\n obsconret: this.observacionConceptoRetencion,\r\n } \r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IConfigSSS } from '../../interfaces/Seguridad';\r\n\r\nexport class MConfigSSS extends MBasicModel{\r\n\r\n public id: number = null;\r\n public blockTime: number = 1000;\r\n public chances: number = 0;\r\n public blockUsers: boolean = false;\r\n\r\n constructor(config?: IConfigSSS){\r\n\r\n super();\r\n\r\n if (config) {\r\n this.id = parseInt(config.id_sss);\r\n this.blockTime = parseFloat(config.tiemaxesp);\r\n this.chances = parseInt(config.nromaxclvinv);\r\n this.blockUsers = config.blousuclvinv == '1';\r\n } else {\r\n this.isNew = true;\r\n }\r\n\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { ICuentasSpSc, IEstructuras, IUnitAdministrative } from '../../interfaces/Presupuesto';\r\nimport { MFuenteFinanciamiento } from './fuenteFinanciamiento.model';\r\nimport { MCentroCosto } from '../SCG/centroCosto.model';\r\n\r\nexport class MAdministrativeUnit extends MBasicModel {\r\n public idEmpresa: number = 0;\r\n public idEnterprise: number=0; \r\n public periodoFiscal: number=0; \r\n public codigo: string = '';\r\n public denominacion: string = '';\r\n public idUnidadCentral: number = 0; \r\n public emiteRequisicion: boolean = true;\r\n public id: number = 0;\r\n public denominacionUnidadCentral:string='';\r\n public codigoUnidadCentral:string='';\r\n public estructuras:MEstructuras[]=[];\r\n public centroCosto: MCentroCosto[]=[];\r\n\r\n \r\n constructor(unidad?: IUnitAdministrative){\r\n super();\r\n if(unidad){\r\n this.idEmpresa = +unidad.id_empresa;\r\n this.idEnterprise = +unidad.id_enterprise;\r\n this.periodoFiscal= +unidad.perfiscal;\r\n this.id = +unidad.id_uniadm;\r\n this.codigo = unidad.coduniadm;\r\n this.denominacion = unidad.denuniadm; \r\n this.idUnidadCentral = +unidad.id_uac;\r\n this.emiteRequisicion = unidad.estemireq=='1'? true:false;\r\n this.denominacionUnidadCentral= unidad.denuac;\r\n this.codigoUnidadCentral=unidad.codigouac;\r\n \r\n if(unidad.estructuras){\r\n this.estructuras=unidad.estructuras.map(e=> new MEstructuras(e));\r\n } \r\n if(unidad.estructuras){\r\n this.centroCosto=unidad.centros.map(e=> new MCentroCosto(e)); \r\n } \r\n } else{\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataInterface():IUnitAdministrative{\r\n return{\r\n id_empresa: this.idEmpresa.toString(),\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n coduniadm: this.codigo,\r\n id_uac: this.idUnidadCentral.toString(), \r\n denuniadm: this.denominacion,\r\n estemireq: this.emiteRequisicion? '1':'0',\r\n id_uniadm: this.id.toString(), \r\n estructuras: this.estructuras.map(function (e) { return e.dataInterface(); }),\r\n centros: this.centroCosto.map(function (e) { return e.dataInterface(); }),\r\n\r\n }\r\n }\r\n }\r\n\r\n export class MEstructuras extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public idEmpresa:number=0;\r\n public cuentaContable: string;\r\n public cuentaPresupuestaria: string;\r\n public denominacion: string;\r\n public estructura: string;\r\n public idEp1: number;\r\n public idEp2: number;\r\n public idEp3: number;\r\n public idEp4: number;\r\n public idEp5: number;\r\n public monto: number;\r\n public estatus: string; \r\n public codigoEep1: string;\r\n public codigoEep2: string;\r\n public codigoEep3: string;\r\n public codigoEep4: string;\r\n public codigoEep5: string;\r\n public denominacionEstructura: string;\r\n public denominacion5: string;\r\n public denominacion3: string;\r\n public idDtUni: number;\r\n public idUnidadAdministrativa: number;\r\n public estatusClasificacion: string;\r\n public denominacionEstatusClasificacion: string;\r\n public fuentes: MFuenteFinanciamiento[]=[]; \r\n constructor(dt?:IEstructuras){\r\n super();\r\n if(dt){\r\n this.cuentaContable= dt.sc_cuenta;\r\n this.cuentaPresupuestaria= dt.spg_cuenta;\r\n this.denominacion= dt.denominacion;\r\n this.estructura= dt.estructura; \r\n this.idEp1= parseInt(dt.id_ep1); \r\n this.idEp2= parseInt(dt.id_ep2); \r\n this.idEp3= parseInt(dt.id_ep3);\r\n this.idEp4= parseInt(dt.id_ep4);\r\n this.idEp5= parseInt(dt.id_ep5);\r\n this.monto= parseFloat(dt.monto); \r\n this.estatus= dt.status;\r\n this.codigoEep1= dt.codestpro1;\r\n this.codigoEep2= dt.codestpro1;\r\n this.codigoEep3= dt.codestpro1;\r\n this.codigoEep4= dt.codestpro1;\r\n this.codigoEep5= dt.codestpro1;\r\n this.denominacionEstructura= dt.denestructura;\r\n this.denominacion5= dt.denestpro5;\r\n this.denominacion3= dt.denestpro3;\r\n this.estatus= dt.estcla;\r\n this.idDtUni= parseInt(dt.id_dt_uniadm);\r\n this.idEmpresa = +dt.id_empresa;\r\n this.idEnterprise = +dt.id_enterprise;\r\n this.periodoFiscal = +dt.perfiscal;\r\n this.estatusClasificacion =dt.estcla;\r\n this.denominacionEstatusClasificacion=dt.denestcla;\r\n this.idUnidadAdministrativa= parseInt(dt.id_uniadm);\r\n if(dt.fuentes){\r\n this.fuentes=dt.fuentes.map(e=> new MFuenteFinanciamiento(e));\r\n }\r\n }\r\n } \r\n\r\n public dataInterface():IEstructuras{\r\n return{\r\n id_empresa:this.idEmpresa.toString(),\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n id_ep1: this.idEp1.toString(),\r\n id_ep2: this.idEp2.toString(), \r\n id_ep3: this.idEp3.toString(),\r\n id_ep4: this.idEp4.toString(),\r\n id_ep5: this.idEp5.toString(),\r\n id_dt_uniadm: this.idDtUni.toString(),\r\n id_uniadm: this.idUnidadAdministrativa.toString(), \r\n estcla:this.estatusClasificacion,\r\n estructura:this.estructura,\r\n }\r\n }\r\n\r\n\r\n} \r\n\r\n\r\nexport class MCuentasSpSC extends MBasicModel {\r\n public codioCentroCosto: string;\r\n public codigoFFMostrar: string;\r\n public codigoUnidadAdministradora: string;\r\n public denominacionCuenta: string;\r\n public estructura: string;\r\n public cuentaContable: string;\r\n public cuentaPresupuestaria: string;\r\n public estatusClasificacion: string;\r\n public denominacionEstatusClasificacion:string;\r\n public tipo:string;\r\n\r\n constructor(dt: ICuentasSpSc){\r\n super();\r\n if(dt){\r\n this.codioCentroCosto= dt.codcencos;\r\n this.codigoFFMostrar= dt.codigoftefin;\r\n this.codigoUnidadAdministradora= dt.coduniadm;\r\n this.denominacionCuenta= dt.denominacion;\r\n this.estructura= dt.estructura;\r\n this.cuentaContable= dt.cuentacontable;\r\n this.cuentaPresupuestaria= dt.cuentapresupuestaria;\r\n this.estatusClasificacion= dt.estcla;\r\n this.denominacionEstatusClasificacion= dt.denestcla;\r\n this.tipo =dt.tipo;\r\n } \r\n }\r\n}\r\n","import { IComponent } from '../../interfaces/Seguridad';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MComponent extends MBasicModel{\r\n\r\n id: number = null;\r\n systemCode: string = '';\r\n name: string = '';\r\n internalName: string = '';\r\n url: string = '';\r\n type: number = 0;\r\n icon: string = '';\r\n order: number = 0;\r\n fatherId: number = null;\r\n children: MComponent[] = [];\r\n\r\n constructor(comp: IComponent = null){\r\n super();\r\n if (comp) {\r\n this.id = parseInt(comp.id_component);\r\n this.systemCode = comp.codsis;\r\n this.name = comp.nomcom;\r\n this.internalName = comp.nomintcom;\r\n this.url = comp.url;\r\n this.type = parseInt(comp.tipo);\r\n this.icon = comp.icono;\r\n this.order = parseInt(comp.orden);\r\n this.fatherId = comp.id_padre ? parseInt(comp.id_padre) : null;\r\n this.children = comp.children.map(e => new MComponent(e));\r\n }\r\n }\r\n\r\n public interface(): IComponent{\r\n\r\n return {\r\n children: this.children.map(e => e.interface()),\r\n codsis: this.systemCode,\r\n icono: this.icon,\r\n id_component: this.id.toString(),\r\n id_padre: this.fatherId ? this.fatherId.toString() : null,\r\n nomcom: this.name,\r\n nomintcom: this.internalName,\r\n orden: this.order.toString(),\r\n url: this.url,\r\n tipo: this.type.toString(),\r\n new: this.isNew ? '1' : '0'\r\n }\r\n\r\n }\r\n\r\n}","import { IServiceCharges } from '../../interfaces/Servicios';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MServiceCharge extends MBasicModel{\r\n public companyId: number = 0; \r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public id: number = -1;\r\n public serviceId: number = 0; \r\n public denomination: string = ''; \r\n public code: string = ''; \r\n public status:boolean=false; \r\n\r\n constructor(ser?: IServiceCharges){\r\n super();\r\n if (ser) { \r\n this.idEnterprise=+ser.id_enterprise;\r\n this.periodoFiscal = +ser.perfiscal;\r\n this.companyId = parseInt(ser.id_empresa);\r\n this.id = parseInt(ser.id_cargo);\r\n this.serviceId = parseInt(ser.id_servicio);\r\n this.denomination = ser.dencar; \r\n this.code = ser.codcar; \r\n this.status= ser.estcarpri=='1'? true:false; \r\n } else {\r\n this.isNew = true;\r\n }\r\n }\r\n\r\n public interface():IServiceCharges{\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n id_empresa:this.companyId.toString(),\r\n id_cargo:this.id.toString(),\r\n id_servicio:this.serviceId.toString(),\r\n codcar:this.code,\r\n dencar:this.denomination,\r\n estcarpri:this.status? '1':'0'\r\n }\r\n }\r\n}","import { IEmpresa } from '../../interfaces/Configuracion';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MEmpresa extends MBasicModel{\r\n public idEmpresa:number=0;\r\n public rif:string=''; \r\n public nit:string=''; \r\n public nombre:string=''; \r\n public titulo:string=''; \r\n public direccion:string=''; \r\n public telefono:string=''; \r\n public fax:string=''; \r\n public email:string='';\r\n\tpublic paginaWeb:string=''; \r\n public CIIU:string=''; \r\n public numeroLicencia:string=''; \r\n public codigoPostal:string=''; \r\n public codigoPais:string=''; \r\n public codigoEstado:string=''; \r\n public codigoMunicipio:string=''; \r\n public codigoParroquia:string=''; \r\n public codigoComunidad:string=''; \r\n\tpublic idMoneda:number=0; \r\n public nombreRepresentanteLegal:string=''; \r\n public cedulaRepresentanteLegal:string=''; \r\n public telefonoRepresentanteLegal:string=''; \r\n public carreraRepresentanteLegal:string=''; \r\n public telefonoOficinaRepresentanteLegal:string=''; \r\n public periodoFiscal:string=''; \r\n public numeroSeguroSocial:string=''; \r\n public estatusPresupuesto:boolean=false;\r\n public descripcionPais:string=''; \r\n public descripcionEstado:string=''; \r\n public descripcionMunicipio:string=''; \r\n public descripcionParroquia:string=''; \r\n public descripcionComunidad:string=''; \r\n \r\n public tipoEmpresa:number=0;\r\n\r\n constructor(e?: IEmpresa) {\r\n super();\r\n if(e){\r\n this.idEmpresa=+e.id_empresa;\r\n this.rif=e.rifemp; \r\n this.nit=e.nitemp; \r\n this.nombre=e.nomemp; \r\n this.titulo=e.titemp; \r\n this.direccion=e.diremp; \r\n this.telefono=e.telemp; \r\n this.fax=e.faxemp; \r\n this.email=e.emaemp;\r\n this.paginaWeb=e.webemp; \r\n this.CIIU=e.ciiuemp; \r\n this.numeroLicencia=e.numlic; \r\n this.codigoPostal=e.codpos; \r\n this.codigoPais=e.codpai; \r\n this.codigoEstado=e.codest; \r\n this.codigoMunicipio=e.codmun; \r\n this.codigoParroquia=e.codpar; \r\n this.codigoComunidad=e.codmun; \r\n this.idMoneda=+e.id_moneda; \r\n this.nombreRepresentanteLegal=e.nomrepleg; \r\n this.cedulaRepresentanteLegal=e.cedrepleg; \r\n this.telefonoRepresentanteLegal=e.telrepleg; \r\n this.carreraRepresentanteLegal=e.carrepleg; \r\n this.telefonoOficinaRepresentanteLegal=e.telrepleg; \r\n this.periodoFiscal=e.perfiscal; \r\n this.numeroSeguroSocial=e.nroivss; \r\n this.estatusPresupuesto=e.presupuesto=='1';\r\n this.descripcionPais=e.despai; \r\n this.descripcionEstado=e.desest; \r\n this.descripcionMunicipio=e.desmun; \r\n this.descripcionParroquia=e.despar; \r\n this.descripcionComunidad=e.descom;\r\n \r\n this.tipoEmpresa=+e.tipoempresa;\r\n } else{\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataInterface():IEmpresa {\r\n return {\r\n id_empresa:this.idEmpresa.toString(),\r\n rifemp:this.rif,\r\n nitemp:this.nit,\r\n nomemp:this.nombre,\r\n titemp:this.titulo,\r\n diremp:this.direccion,\r\n telemp:this.telefono,\r\n faxemp:this.fax,\r\n emaemp:this.email,\r\n webemp:this.paginaWeb,\r\n ciiuemp:this.CIIU,\r\n numlic:this.numeroLicencia,\r\n codpos:this.codigoPostal, \r\n despai:this.descripcionPais,\r\n desest:this.descripcionEstado,\r\n desmun:this.descripcionMunicipio,\r\n despar:this.descripcionParroquia,\r\n descom:this.descripcionComunidad, \r\n codpai:this.codigoPais,\r\n codest:this.codigoEstado,\r\n codmun:this.codigoMunicipio,\r\n codpar:this.codigoParroquia,\r\n codcom:this.codigoComunidad,\r\n id_moneda:this.idMoneda.toString(),\r\n nomrepleg:this.nombreRepresentanteLegal,\r\n cedrepleg:this.cedulaRepresentanteLegal,\r\n telrepleg:this.telefonoRepresentanteLegal,\r\n carrepleg:this.carreraRepresentanteLegal,\r\n telofirep:this.telefonoOficinaRepresentanteLegal,\r\n perfiscal:this.periodoFiscal,\r\n nroivss: this.numeroSeguroSocial, \r\n presupuesto:this.estatusPresupuesto?'1':'0', \r\n tipoempresa:this.tipoEmpresa.toString(),\r\n }\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IConceptosCXP } from \"../../interfaces/CuentasPorPagar\";\r\n\r\nexport class MConceptosCXP extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConceptoCXP:number=0;\r\n public denominacionConceptoCXP:string=''; \r\n public cuenta:string='';\r\n public estatusActivo:number=0;\r\n\r\n constructor(concepto?:IConceptosCXP){\r\n super();\r\n if(concepto){\r\n this.idEnterprise=+concepto.id_enterprise;\r\n this.idEmpresa=concepto.id_empresa;\r\n this.idConceptoCXP=parseInt(concepto.id_concxp);\r\n this.denominacionConceptoCXP=concepto.denconcxp\r\n this.cuenta=concepto.sc_cuenta\r\n this.estatusActivo=parseInt(concepto.estact);\r\n } else {\r\n this.isNew = true;\r\n }\r\n }\r\n\r\n dataInterface():IConceptosCXP{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concxp:this.idConceptoCXP.toString(),\r\n denconcxp:this.denominacionConceptoCXP,\r\n sc_cuenta:this.cuenta,\r\n estact:this.estatusActivo.toString(),\r\n }\r\n }\r\n}\r\n","import { ITipoDocumentoCXP } from \"../../interfaces/CuentasPorPagar\";\r\n\r\nexport class MTipoDocumentoCXP {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idTipoDocumento:number=0;\r\n public denominacionTipoDocumento:string=''; \r\n public estatusContable:number=0;\r\n public estatusPresupuestario:number=0;\r\n public impuestoTesoreriaNacional:number=0;\r\n public estatusDonaciones:number=0;\r\n public estatusAnticipo:number=0;\r\n public estatusCreditos:number=0;\r\n public estatusDebitos:number=0;\r\n\r\n constructor(tipo?:ITipoDocumentoCXP){\r\n if (tipo){\r\n this.idEnterprise=+tipo.id_enterprise; \r\n this.idEmpresa=+tipo.id_empresa \r\n this.idTipoDocumento=parseInt(tipo.id_tipodocumento);\r\n this.denominacionTipoDocumento=tipo.dentipden;\r\n this.estatusContable=parseInt(tipo.estcon);\r\n this.estatusPresupuestario=parseInt(tipo.estpre);\r\n this.impuestoTesoreriaNacional=parseInt(tipo.imptesnac);\r\n this.estatusDonaciones=parseInt(tipo.estdon);\r\n this.estatusAnticipo=parseInt(tipo.estant);\r\n this.estatusCreditos=parseInt(tipo.estcre);\r\n this.estatusDebitos=parseInt(tipo.estdeb);\r\n }\r\n }\r\n\r\n dataInterface():ITipoDocumentoCXP{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tipodocumento:this.idTipoDocumento.toString(),\r\n dentipden:this.denominacionTipoDocumento,\r\n estcon:this.estatusContable.toString(),\r\n estpre:this.estatusPresupuestario.toString(),\r\n imptesnac:this.impuestoTesoreriaNacional.toString(),\r\n estdon:this.estatusDonaciones.toString(),\r\n estant:this.estatusAnticipo.toString(),\r\n estcre:this.estatusCreditos.toString(),\r\n estdeb:this.estatusDebitos.toString(),\r\n } \r\n \r\n }\r\n\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IConfiguracionSNO } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MConfiguracionSNO extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n\tpublic idNomina: number=0; \r\n\tpublic estatusCambiarDenominacionSueldoIntegral:number=1; \r\n\tpublic denominacionSueltoIntegral: string='Sueldo Integral'; \r\n\tpublic desincorporarVacacionesNomina: number=0; \r\n\tpublic metodoVacacion: number=0; \r\n\tpublic estatusReportarVacaciones: number=0;\r\n\tpublic permitirSalidaPersonalMesAnteriorFechaVencimiento: number=1; \r\n\tpublic prestamoPersonalDesincorporaNominaPeriodoVacaciones:number=0;\r\n\tpublic validarParametrosNomina: number=0;\r\n\tpublic agruparContable: number=0;\r\n\tpublic aplicarCuentaContableRegistroGastoXpagar:number=0;\r\n\tpublic idProveedor: number=0;\r\n\tpublic tipoContabilizacionNomina: string='CCP';\r\n\tpublic generarRecepcionDocumentoNomina: number=0;\r\n\tpublic idTipoDocumento: number=0;\r\n\tpublic denominacionTipoDocumento:string=''\r\n\tpublic CuentaContable: string='';\r\n\tpublic generarNotaDebitoBanco: number=0;\r\n\tpublic generarRecepcionDocumentoCausa: number=0;\r\n\tpublic idTipoDocumentoCausado: number=0;\r\n\tpublic generarRecepcionDocumentoAutomaticaPagoPersonalCheque: number=0;\r\n\tpublic tipoContabilizacionAporte: string='CCP';\r\n\tpublic generarRecepcionDocumentoAporte: number=0; \r\n\tpublic idTipoDocumentoAporte: number=0; \r\n\tpublic agruparRetencionesAportes: number=0; \r\n\tpublic idTipoDocumentoPagoPersonal: number=0; \r\n\tpublic tipoContabilizacionPrestacionAntiguedad: string='CCP';\r\n\tpublic generarRecepcionDocumentoPrestacionSocial: number=0; \r\n\tpublic idTipoDocumentoPrestacionSocial: number=0; \r\n\tpublic idBeneficiarioPrestacionesSociales: number=0; \r\n\tpublic cedulaBeneficiario: string='-'; \r\n\tpublic ordenarConstantes: string='CODIGO'; \r\n\tpublic ordenarConceptos: string='CODIGO'; \r\n\tpublic excluirPersonasSuspendidasPostCalculosReporte: number=0; \r\n\tpublic noPermitirPersonasRepetidasEntreNominasNormales: number=1; \r\n\tpublic fechaTopeFA: string='1900-01-01'; \r\n\tpublic metodoCalculoPrestacionAntiguedad: number=0; \r\n\tpublic codigoConceptoSueldoAnterior: string='XXXXXXXXXX'; \r\n\tpublic configurarPrestamo: string='CUOTAS'; \r\n\tpublic cambiarUnidadAdministrativaNominaRac: number=0; \r\n\tpublic cambiarPasoGradoNominaRac: number=0; \r\n\tpublic cambiarDedicacionTipoPersonalNominaRac: number=0; \r\n\tpublic cambiarSueldoNominaObreroRac: number=0; \r\n\tpublic incluirPersonalAutomaticamenteModuloBeneficiarios: number=1; \t\r\n\tpublic cuentaContableBeneficiarios: string=''; \r\n\tpublic implementarCodigoUnicoRac: number=0; \r\n\tpublic compensacionAutomaticaTabuladoresRac: number=1; \r\n\tpublic ajusteSueldoSegunCompensacion: number=0; \r\n\tpublic modificarDatosPensiones: number=0; \r\n\tpublic validarCuotasPrestamosNoMayores: number=1; \r\n\tpublic permitirAlfanumericosCodigoPersonal: number=0; \r\n\tpublic validarLongitudCuentaBancaria: number=0; \r\n\tpublic valorLongitudCuentaBancaria: number=0; \r\n\tpublic noPermitirMultiplesPrestamosMismoTipo: number=1; \r\n\tpublic permitirSobregiroCuentasPersonalCalculoNomina: number=0; \r\n\tpublic permitirPersonalCobreMontoCero: number=0; \r\n\tpublic generarPagoDirectoPersonalCobraCheques: number=0; \r\n\tpublic numeroEmpresaIvss: string='000000000'; \r\n\tpublic metodoIvss: string='sueldo basico'; \r\n\tpublic noTomarCuentaNominaEspeciales: number=0; \r\n\tpublic directorTalentoHumano: string='-'; \r\n\tpublic ceduladirectorTalentoHumano: string='----------'; \r\n\tpublic codigoOrganismoFondoPensionesJubilaciones: string='--------'; \r\n\tpublic codigoConceptoFondoPensionesJubilaciones: string='';\r\n\tpublic metodoFondoPensionesJubilaciones: string='';\r\n\tpublic parametrosFondoPensionesJubilacionesEdadYearServicios: number=0; \r\n\tpublic edadPesonalMasculino: number=0; \r\n\tpublic edadPersonalFemenino: number=0; \r\n\tpublic yearServiciosMinimosFPJ: number=0.00; \r\n\tpublic yearServiciosMaximosFPJ: number=0.00; \r\n\tpublic codigoConceptoViviendaHabitad: string='';\r\n\tpublic metotodViviendaHabitadBanavih: string='sin metodo'; \r\n\tpublic diferenciarConceptosNomina: number=0; \r\n\tpublic conceptoSueldoIntegralBanavihLote: string='-'; \r\n\tpublic conceptoSalarioBaseFjtssFondoJubilacionesTesoreria: string='-'; \r\n\tpublic conceptoCompensacionAntiguedadFjtss: string='-'; \r\n\tpublic conceptoCompensacionEficienciaFjtss: string='-'; \r\n\tpublic conceptoOtrasPrimasFjtss: string='-'; \r\n\tpublic metodoFondoPlanAhorro: string='sin metodo'; \r\n\tpublic antiguedadComplementariaPrestacion: number=1; \r\n\tpublic fraccionAlicuotaPrestacionAntiguedad: number=0; \r\n\tpublic incluirAlicuotaBonoVacacionalAlicuotaBonoFA: number=0; \r\n\tpublic aplicarAsignacionExtraSueldoDiario: number=0; \r\n\tpublic metodoFondoPrestacionesSociales: string='sin metodo'; \r\n\tpublic incluirDiasAdicionalesBonoVacacional: number=1; \r\n\tpublic calcularInteresesPrestacionAntiguedad: number=1; \r\n\tpublic calcularInteresesPersonalConfigurado: number=0; \r\n\tpublic porcentajeMaximoAnticipoPrestacionesSociales: number=75.00; \r\n\tpublic idTipoDocumentoAnticipo: number=0; \r\n\tpublic calcularPersonasActivasMes: number=0; \r\n\tpublic tomarAcumuladoIntegralDiasAdicionales: number=1; \r\n\tpublic prestacionesSocialesYear97: number=0; \r\n\tpublic metodoCalcularAlicuotaBonoVacacional: string='salario integral'; \r\n\tpublic antiguedadComplementaria1erYear: number=0; \r\n\tpublic formaCalculoPrestacionSocial: string='TFI'; \r\n\tpublic salarioNormalCalculoDepositoGarantiaVacaciones: string='UME'; \r\n\tpublic salarioNormalCalculoDgvDiasAdicionales: string='UME'; \r\n\tpublic salarioNormalCalculoDgvVacaciones: string='UME'; \r\n\tpublic metodoResumenContableMantenimiento: string='sin metodo'; \r\n\tpublic activarBloqueoFormulaConceptos: number=0;\r\n\tpublic idBanco: number=0; \r\n\tpublic idCuentaBanco: number=0; \r\n\tpublic nombrebanco:string='';\r\n\tpublic cuentaBanco:string='';\r\n\tpublic bancoViviendaHabitad: number=0; \r\n\tpublic nombreBancoViviendaHabitad:string='';\r\n\tpublic cuentaViviendaHabitad: number=0; \r\n\tpublic denominacionCuentaViviendaHabitad:string='';\r\n\tpublic nombreProveedor: string='';\r\n\tpublic rifProveedor: string='';\r\n\tpublic tipoProveedor: string='N'; //destino contabilizacion\r\n\tpublic idConceptoVacacion: number=0;\r\n\tpublic idConceptoFondoPlanAhorro: number=0; \r\n\tpublic idConceptoFondoPensionesJubilaciones: number=0; \r\n\tpublic idConceptoViviendaHabitad: number=0;\r\n\tpublic codigoConceptoVacacion: string='';\r\n\tpublic codigoConceptoFondoPlanAhorro: string=''; \t\r\n\tpublic ConceptoMantenimientoCuentasConceptos: string=''; \r\n\tpublic registropermisoincidencia: string='C00';\r\n\tpublic registroferiadoincidencia: string='C00';\r\n\tpublic registroasistenciaincidencia: string='C00';\r\n\tpublic manejoIndependienteModulo: number=0;\r\n\tpublic digitosCodigoConcepto: number = 10;\r\n\tpublic registroDescansoIncidencia:string='C00';\r\n\tpublic registroLaboralIncidencia:string='C00';\r\n\tpublic codigoConceptoVaccaiones:string='';\r\n\tpublic incluirBeneficiarioDelPersonalAutomaticamenteModuloBeneficiarios: number=1; \r\n\tpublic cuentaContableProveedorBeneficiario: string=''; \r\n\tpublic procesarSueldosHistoricos: number=1;\r\n\tpublic altoVolumenDatos: number=0;\r\n constructor (I?:IConfiguracionSNO) {\r\n super();\r\n if (I){\r\n\t\tthis.idEnterprise=+I.id_enterprise; \r\n\t\tthis.idEmpresa=+I.id_empresa \r\n\t\tthis.idNomina=parseInt(I.id_sno);\r\n\t\tthis.estatusCambiarDenominacionSueldoIntegral=parseInt(I.estcamdensueint);\r\n\t\tthis.denominacionSueltoIntegral=I.densueint;\r\n\t\tthis.desincorporarVacacionesNomina=parseInt(I.desvacnom);\r\n\t\tthis.metodoVacacion=parseInt(I.metvac);\r\n\t\tthis.estatusReportarVacaciones=parseInt(I.estreportvac);\r\n\t\tthis.permitirSalidaPersonalMesAnteriorFechaVencimiento=parseInt(I.persalmesantfecven);\r\n\t\tthis.prestamoPersonalDesincorporaNominaPeriodoVacaciones=parseInt(I.preperdesnomvac);\r\n\t\tthis.validarParametrosNomina=parseInt(I.valparnom);\r\n\t\tthis.agruparContable=parseInt(I.agrucontable);\r\n\t\tthis.aplicarCuentaContableRegistroGastoXpagar=parseInt(I.ctaconreggasxpag);\r\n\t\tthis.idProveedor=parseInt(I.id_proveedor);\r\n\t\tthis.nombreProveedor=I.nompro;\r\n\t\tthis.rifProveedor=I.rifpro;\r\n\t\tthis.tipoProveedor=I.tippro;\r\n\t\tthis.tipoContabilizacionNomina=I.tipconnom;\r\n\t\tthis.generarRecepcionDocumentoNomina=parseInt(I.genrecdocnom);\r\n\t\tthis.idTipoDocumento=parseInt(I.id_tipdocnom);\r\n\t\tthis.denominacionTipoDocumento=I.dentipden;\r\n\t\tthis.CuentaContable=I.sc_cuenta;\r\n\t\tthis.generarNotaDebitoBanco=parseInt(I.gennotdebbco);\r\n\t\tthis.generarRecepcionDocumentoCausa=parseInt(I.genrecdoccausa);\r\n\t\tthis.idTipoDocumentoCausado=parseInt(I.id_tipdoccausa);\r\n\t\tthis.generarRecepcionDocumentoAutomaticaPagoPersonalCheque=parseInt(I.rdautpagperche);\r\n\t\tthis.tipoContabilizacionAporte=I.tipconapo;\r\n\t\tthis.generarRecepcionDocumentoAporte=parseInt(I.genrecdocapo);\r\n\t\tthis.idTipoDocumentoAporte=parseInt(I.id_tipdocapo);\r\n\t\tthis.agruparRetencionesAportes=parseInt(I.agruretapo);\r\n\t\tthis.idTipoDocumentoPagoPersonal=parseInt(I.id_tipdocpagper);\r\n\t\tthis.tipoContabilizacionPrestacionAntiguedad=I.tipconps;\r\n\t\tthis.generarRecepcionDocumentoPrestacionSocial=parseInt(I.genrecdocpresoc);\r\n\t\tthis.idTipoDocumentoPrestacionSocial=parseInt(I.id_tipdocpresoc);\r\n\t\tthis.idBeneficiarioPrestacionesSociales=parseInt(I.id_beneficiario);\r\n\t\tthis.cedulaBeneficiario=I.cedben;\r\n\t\tthis.ordenarConstantes=I.ordenar_constantes;\r\n\t\tthis.ordenarConceptos=I.ordenar_conceptos;\r\n\t\tthis.excluirPersonasSuspendidasPostCalculosReporte=parseInt(I.excpersuspostcalrep);\r\n\t\tthis.noPermitirPersonasRepetidasEntreNominasNormales=parseInt(I.noperrepnomnor);\r\n\t\tthis.fechaTopeFA=I.fectopfinano;\r\n\t\tthis.metodoCalculoPrestacionAntiguedad=parseInt(I.metcalpreant);\r\n\t\tthis.codigoConceptoSueldoAnterior=I.codconsueant;\r\n\t\tthis.configurarPrestamo=I.confprestamo;\r\n\t\tthis.cambiarUnidadAdministrativaNominaRac=parseInt(I.camuniadmnomrac);\r\n\t\tthis.cambiarPasoGradoNominaRac=parseInt(I.campasogradonomrac);\r\n\t\tthis.cambiarDedicacionTipoPersonalNominaRac=parseInt(I.camdedtippernomrac);\r\n\t\tthis.cambiarSueldoNominaObreroRac=parseInt(I.camsuenomobrrac);\r\n\t\tthis.incluirPersonalAutomaticamenteModuloBeneficiarios=parseInt(I.incperautmodben);\r\n\t\tthis.cuentaContableBeneficiarios=I.sc_contableben;\r\n\t\tthis.implementarCodigoUnicoRac=parseInt(I.impcodunirac);\r\n\t\tthis.compensacionAutomaticaTabuladoresRac=parseInt(I.comauttabrac);\r\n\t\tthis.ajusteSueldoSegunCompensacion=parseInt(I.ajusuecom);\r\n\t\tthis.modificarDatosPensiones=parseInt(I.moddatpen);\r\n\t\tthis.validarCuotasPrestamosNoMayores=parseInt(I.cuoprestnomaysue);\r\n\t\tthis.permitirAlfanumericosCodigoPersonal=parseInt(I.alfanumcodper);\r\n\t\tthis.validarLongitudCuentaBancaria=parseInt(I.vallonctaban);\r\n\t\tthis.valorLongitudCuentaBancaria=parseInt(I.lonctaban);\r\n\t\tthis.noPermitirMultiplesPrestamosMismoTipo=parseInt(I.nomulprestamo);\r\n\t\tthis.permitirSobregiroCuentasPersonalCalculoNomina=parseInt(I.sobregiroctapercalnom);\r\n\t\tthis.permitirPersonalCobreMontoCero=parseInt(I.percobmoncero);\r\n\t\tthis.generarPagoDirectoPersonalCobraCheques=parseInt(I.genpagdirpercobcheq);\t\r\n\t\tthis.numeroEmpresaIvss=I.numempivss;\r\n\t\tthis.metodoIvss=I.metivss;\r\n\t\tthis.noTomarCuentaNominaEspeciales=parseInt(I.notomarnomesp);\r\n\t\tthis.directorTalentoHumano=I.dirtalhum;\r\n\t\tthis.ceduladirectorTalentoHumano=I.ceddirtalhum;\r\n\t\tthis.codigoOrganismoFondoPensionesJubilaciones=I.codorgfpj;\r\n\t\tthis.metodoFondoPensionesJubilaciones=I.metfpj;\r\n\t\tthis.parametrosFondoPensionesJubilacionesEdadYearServicios=parseInt(I.parfpjxedaano);\r\n\t\tthis.edadPesonalMasculino=parseInt(I.edadpermasfpj);\r\n\t\tthis.edadPersonalFemenino=parseInt(I.edadperfemfpj);\r\n\t\tthis.yearServiciosMinimosFPJ=parseFloat(I.anoserminfpj);\r\n\t\tthis.yearServiciosMaximosFPJ=parseFloat(I.anosermaxfpj);\r\n\t\tthis.metotodViviendaHabitadBanavih=I.metrpvyh;\r\n\t\tthis.diferenciarConceptosNomina=parseInt(I.difconxnom);\r\n\t\tthis.conceptoSueldoIntegralBanavihLote=I.consueintbanxlote;\r\n\t\tthis.conceptoSalarioBaseFjtssFondoJubilacionesTesoreria=I.consalbasfjtss;\r\n\t\tthis.conceptoCompensacionAntiguedadFjtss=I.concomxantfjtss;\r\n\t\tthis.conceptoCompensacionEficienciaFjtss=I.concomxefifjtss;\r\n\t\tthis.conceptoOtrasPrimasFjtss=I.conxotrprifjtss;\t\r\n\t\tthis.metodoFondoPlanAhorro=I.metfpa;\r\n\t\tthis.antiguedadComplementariaPrestacion=parseInt(I.antcompreant);\r\n\t\tthis.fraccionAlicuotaPrestacionAntiguedad=parseInt(I.fraalipreant);\r\n\t\tthis.incluirAlicuotaBonoVacacionalAlicuotaBonoFA=parseInt(I.alibonvacalibonfinano);\r\n\t\tthis.aplicarAsignacionExtraSueldoDiario=parseInt(I.aplasiextsuedia);\r\n\t\tthis.metodoFondoPrestacionesSociales=I.metfps;\r\n\t\tthis.incluirDiasAdicionalesBonoVacacional=parseInt(I.incdiaadibonvac);\r\n\t\tthis.calcularInteresesPrestacionAntiguedad=parseInt(I.calintpreant);\r\n\t\tthis.calcularInteresesPersonalConfigurado=parseInt(I.calintperconf);\r\n\t\tthis.porcentajeMaximoAnticipoPrestacionesSociales=parseFloat(I.pormaxantpresoc);\r\n\t\tthis.idTipoDocumentoAnticipo=parseInt(I.id_tipdoc_anticipo);\r\n\t\tthis.calcularPersonasActivasMes=parseInt(I.calperactmesps);\r\n\t\tthis.tomarAcumuladoIntegralDiasAdicionales=parseInt(I.acumintdiaadips);\r\n\t\tthis.prestacionesSocialesYear97=parseInt(I.diaadiano97ps);\r\n\t\tthis.metodoCalcularAlicuotaBonoVacacional=I.metalibonvac;\r\n\t\tthis.antiguedadComplementaria1erYear=parseInt(I.antcompriano);\r\n\t\tthis.formaCalculoPrestacionSocial=I.formcalpsl;\r\n\t\tthis.salarioNormalCalculoDepositoGarantiaVacaciones=I.salnordgvquidia;\r\n\t\tthis.salarioNormalCalculoDgvDiasAdicionales=I.salnordgvdiaadi;\r\n\t\tthis.salarioNormalCalculoDgvVacaciones=I.salnordgvvac;\r\n\t\tthis.metodoResumenContableMantenimiento=I.metresconman;\r\n\t\tthis.activarBloqueoFormulaConceptos=parseInt(I.actbloforcon);\r\n\t\tthis.idBanco=parseInt(I.id_banco);\r\n\t\tthis.idCuentaBanco=parseInt(I.id_ctabanco);\r\n\t\tthis.nombrebanco=I.nomban;\r\n\t\tthis.cuentaBanco=I.ctabanco;\r\n\t\tthis.bancoViviendaHabitad=parseInt(I.bancorpvyh);\r\n\t\tthis.cuentaViviendaHabitad=parseInt(I.cuentarpvyh);\r\n\t\tthis.denominacionCuentaViviendaHabitad=I.ctabanco_cvh;\r\n\t\tthis.nombreBancoViviendaHabitad=I.nomban_cvh;\r\n\t\tthis.idConceptoVacacion=parseInt(I.id_conceptovac);\r\n\t\tthis.idConceptoFondoPensionesJubilaciones=parseInt(I.id_conceptofpj);\r\n\t\tthis.idConceptoViviendaHabitad=parseInt(I.id_conceptorpvyh);\r\n\t\tthis.idConceptoFondoPlanAhorro=parseInt(I.id_conceptofpa);\r\n\t\tthis.codigoConceptoVacacion=I.codconvac ;\r\n\t\tthis.codigoConceptoFondoPensionesJubilaciones=(I.codconfpj);\r\n\t\tthis.codigoConceptoViviendaHabitad=I.codconrpvyh;\r\n\t\tthis.codigoConceptoFondoPlanAhorro=I.codconfpa;\r\n\t\tthis.ConceptoMantenimientoCuentasConceptos=I.cueconman; //cuenta\r\n\t\tthis.registropermisoincidencia=I.regperinc;\r\n\t\tthis.registroferiadoincidencia=I.regferinc;\r\n\t\tthis.registroasistenciaincidencia=I.regasiinc;\r\n\t\tthis.manejoIndependienteModulo=parseInt(I.manindmod);\r\n this.digitosCodigoConcepto=parseInt(I.digcodcon);\r\n\t\tthis.registroDescansoIncidencia=I.regdesinc;\r\n\t\tthis.registroLaboralIncidencia=I.reglabinc;\r\n\t\tthis.incluirBeneficiarioDelPersonalAutomaticamenteModuloBeneficiarios=parseInt(I.incbenperautmodben);\r\n\t\tthis.cuentaContableProveedorBeneficiario=I.sc_cuentarecdoc;\r\n\t\tthis.procesarSueldosHistoricos=+I.prosuehis;\r\n\t\tthis.altoVolumenDatos=+I.altvoldat;\r\n }else {\r\n\t\t this.isNew=true;\r\n\t }\r\n }\r\n\r\n public dataInterface():IConfiguracionSNO {\r\n\t\r\n return {\t\t\t\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa.toString(),\r\n\t\t\tid_sno: this.idNomina.toString(),\r\n\t\t\testcamdensueint: this.estatusCambiarDenominacionSueldoIntegral.toString(),\r\n\t\t\tdensueint: this.denominacionSueltoIntegral,\r\n\t\t\tdesvacnom: this.desincorporarVacacionesNomina.toString(),\r\n\t\t\tmetvac: this.metodoVacacion.toString(),\r\n\t\t\testreportvac: this.estatusReportarVacaciones.toString(),\r\n\t\t\tpersalmesantfecven: this.permitirSalidaPersonalMesAnteriorFechaVencimiento.toString(),\r\n\t\t\tpreperdesnomvac: this.prestamoPersonalDesincorporaNominaPeriodoVacaciones.toString(),\r\n\t\t\tvalparnom: this.validarParametrosNomina.toString(),\r\n\t\t\tagrucontable: this.agruparContable.toString(),\r\n\t\t\tctaconreggasxpag: this.aplicarCuentaContableRegistroGastoXpagar.toString(),\r\n\t\t\tid_proveedor: this.idProveedor.toString(),\r\n\t\t\tnompro: this.nombreProveedor,\r\n\t\t\trifpro: this.rifProveedor,\r\n\t\t\ttippro: this.tipoProveedor,\r\n\t\t\ttipconnom: this.tipoContabilizacionNomina,\r\n\t\t\tgenrecdocnom: this.generarRecepcionDocumentoNomina.toString(),\r\n\t\t\tid_tipdocnom: this.idTipoDocumento.toString(),\r\n\t\t\tsc_cuenta: this.CuentaContable,\r\n\t\t\tgennotdebbco: this.generarNotaDebitoBanco.toString(),\r\n\t\t\tgenrecdoccausa: this.generarRecepcionDocumentoCausa.toString(),\r\n\t\t\tid_tipdoccausa: this.idTipoDocumentoCausado.toString(),\r\n\t\t\trdautpagperche: this.generarRecepcionDocumentoAutomaticaPagoPersonalCheque.toString(),\r\n\t\t\ttipconapo: this.tipoContabilizacionAporte,\r\n\t\t\tgenrecdocapo: this.generarRecepcionDocumentoAporte.toString(),\r\n\t\t\tid_tipdocapo: this.idTipoDocumentoAporte.toString(),\r\n\t\t\tagruretapo: this.agruparRetencionesAportes.toString(),\r\n\t\t\tid_tipdocpagper: this.idTipoDocumentoPagoPersonal.toString(),\r\n\t\t\ttipconps: this.tipoContabilizacionPrestacionAntiguedad,\r\n\t\t\tgenrecdocpresoc: this.generarRecepcionDocumentoPrestacionSocial.toString(),\r\n\t\t\tid_tipdocpresoc: this.idTipoDocumentoPrestacionSocial.toString(),\r\n\t\t\tid_beneficiario: this.idBeneficiarioPrestacionesSociales.toString(),\r\n\t\t\tcedben: this.cedulaBeneficiario,\r\n\t\t\tordenar_constantes: this.ordenarConstantes,\r\n\t\t\tordenar_conceptos: this.ordenarConceptos,\r\n\t\t\texcpersuspostcalrep: this.excluirPersonasSuspendidasPostCalculosReporte.toString(),\r\n\t\t\tnoperrepnomnor: this.noPermitirPersonasRepetidasEntreNominasNormales.toString(),\r\n\t\t\tfectopfinano: this.fechaTopeFA,\r\n\t\t\tmetcalpreant: this.metodoCalculoPrestacionAntiguedad.toString(),\r\n\t\t\tcodconsueant: this.codigoConceptoSueldoAnterior,\r\n\t\t\tconfprestamo: this.configurarPrestamo,\r\n\t\t\tcamuniadmnomrac: this.cambiarUnidadAdministrativaNominaRac.toString(),\r\n\t\t\tcampasogradonomrac: this.cambiarPasoGradoNominaRac.toString(),\r\n\t\t\tcamdedtippernomrac: this.cambiarDedicacionTipoPersonalNominaRac.toString(),\r\n\t\t\tcamsuenomobrrac: this.cambiarSueldoNominaObreroRac.toString(),\r\n\t\t\tincperautmodben: this.incluirPersonalAutomaticamenteModuloBeneficiarios.toString(),\r\n\t\t\tsc_contableben: this.cuentaContableBeneficiarios,\r\n\t\t\timpcodunirac: this.implementarCodigoUnicoRac.toString(),\r\n\t\t\tcomauttabrac: this.compensacionAutomaticaTabuladoresRac.toString(),\r\n\t\t\tajusuecom: this.ajusteSueldoSegunCompensacion.toString(),\r\n\t\t\tmoddatpen: this.modificarDatosPensiones.toString(),\r\n\t\t\tcuoprestnomaysue: this.validarCuotasPrestamosNoMayores.toString(),\r\n\t\t\talfanumcodper: this.permitirAlfanumericosCodigoPersonal.toString(),\r\n\t\t\tvallonctaban: this.validarLongitudCuentaBancaria.toString(),\r\n\t\t\tlonctaban: this.valorLongitudCuentaBancaria.toString(),\r\n\t\t\tnomulprestamo: this.noPermitirMultiplesPrestamosMismoTipo.toString(),\r\n\t\t\tsobregiroctapercalnom: this.permitirSobregiroCuentasPersonalCalculoNomina.toString(),\r\n\t\t\tpercobmoncero: this.permitirPersonalCobreMontoCero.toString(),\r\n\t\t\tgenpagdirpercobcheq: this.generarPagoDirectoPersonalCobraCheques.toString(),\t\t\t\r\n\t\t\tnumempivss: this.numeroEmpresaIvss,\r\n\t\t\tmetivss: this.metodoIvss,\r\n\t\t\tnotomarnomesp: this.noTomarCuentaNominaEspeciales.toString(),\r\n\t\t\tdirtalhum: this.directorTalentoHumano,\r\n\t\t\tceddirtalhum: this.ceduladirectorTalentoHumano,\r\n\t\t\tcodorgfpj: this.codigoOrganismoFondoPensionesJubilaciones, \r\n\t\t\tmetfpj: this.metodoFondoPensionesJubilaciones,\r\n\t\t\tparfpjxedaano: this.parametrosFondoPensionesJubilacionesEdadYearServicios.toString(),\r\n\t\t\tedadpermasfpj: this.edadPesonalMasculino.toString(),\r\n\t\t\tedadperfemfpj: this.edadPersonalFemenino.toString(),\r\n\t\t\tanoserminfpj: this.yearServiciosMinimosFPJ.toString(),\r\n\t\t\tanosermaxfpj: this.yearServiciosMaximosFPJ.toString(),\r\n\t\t\tmetrpvyh: this.metotodViviendaHabitadBanavih,\t\t\t\r\n\t\t\tdifconxnom: this.diferenciarConceptosNomina.toString(),\r\n\t\t\tconsueintbanxlote: this.conceptoSueldoIntegralBanavihLote,\r\n\t\t\tconsalbasfjtss: this.conceptoSalarioBaseFjtssFondoJubilacionesTesoreria,\r\n\t\t\tconcomxantfjtss: this.conceptoCompensacionAntiguedadFjtss,\r\n\t\t\tconcomxefifjtss: this.conceptoCompensacionEficienciaFjtss,\r\n\t\t\tconxotrprifjtss: this.conceptoOtrasPrimasFjtss, \r\n\t\t\tmetfpa: this.metodoFondoPlanAhorro,\r\n\t\t\tantcompreant: this.antiguedadComplementariaPrestacion.toString(),\r\n\t\t\tfraalipreant: this.fraccionAlicuotaPrestacionAntiguedad.toString(),\r\n\t\t\talibonvacalibonfinano: this.incluirAlicuotaBonoVacacionalAlicuotaBonoFA.toString(),\r\n\t\t\taplasiextsuedia: this.aplicarAsignacionExtraSueldoDiario.toString(),\r\n\t\t\tmetfps: this.metodoFondoPrestacionesSociales,\r\n\t\t\tincdiaadibonvac: this.incluirDiasAdicionalesBonoVacacional.toString(),\r\n\t\t\tcalintpreant: this.calcularInteresesPrestacionAntiguedad.toString(),\r\n\t\t\tcalintperconf: this.calcularInteresesPersonalConfigurado.toString(),\r\n\t\t\tpormaxantpresoc: this.porcentajeMaximoAnticipoPrestacionesSociales.toString(),\r\n\t\t\tid_tipdoc_anticipo: this.idTipoDocumentoAnticipo.toString(),\r\n\t\t\tcalperactmesps: this.calcularPersonasActivasMes.toString(),\r\n\t\t\tacumintdiaadips: this.tomarAcumuladoIntegralDiasAdicionales.toString(),\r\n\t\t\tdiaadiano97ps: this.prestacionesSocialesYear97.toString(),\r\n\t\t\tmetalibonvac: this.metodoCalcularAlicuotaBonoVacacional,\r\n\t\t\tantcompriano: this.antiguedadComplementaria1erYear.toString(),\r\n\t\t\tformcalpsl: this.formaCalculoPrestacionSocial,\r\n\t\t\tsalnordgvquidia: this.salarioNormalCalculoDepositoGarantiaVacaciones,\r\n\t\t\tsalnordgvdiaadi: this.salarioNormalCalculoDgvDiasAdicionales,\r\n\t\t\tsalnordgvvac: this.salarioNormalCalculoDgvVacaciones,\r\n\t\t\tmetresconman: this.metodoResumenContableMantenimiento,\r\n\t\t\tactbloforcon:this.activarBloqueoFormulaConceptos.toString(),\r\n\t\t\tdentipden:this.denominacionTipoDocumento,\t\t\t\r\n\t\t\tnomban:this.nombrebanco,\r\n\t\t\tctabanco:this.cuentaBanco,\r\n\t\t\tid_banco: this.idBanco.toString(),\r\n\t\t\tid_ctabanco: this.idCuentaBanco.toString(), \r\n\t\t\tbancorpvyh: this.bancoViviendaHabitad.toString(),\r\n\t\t\tcuentarpvyh: this.cuentaViviendaHabitad.toString(),\r\n\t\t\tctabanco_cvh: this.denominacionCuentaViviendaHabitad,\r\n\t\t\tnomban_cvh: this.nombreBancoViviendaHabitad,\t\r\n\t\t\tid_conceptovac: this.idConceptoVacacion.toString(),\r\n\t\t\tid_conceptofpj: this.idConceptoFondoPensionesJubilaciones.toString(),\r\n\t\t\tid_conceptorpvyh: this.idConceptoViviendaHabitad.toString(),\r\n\t\t\tid_conceptofpa: this.idConceptoFondoPlanAhorro.toString(),\r\n\t\t\tcodconvac: this.codigoConceptoVacacion,\r\n\t\t\tcodconfpj: this.codigoConceptoFondoPensionesJubilaciones,\r\n\t\t\tcodconrpvyh: this.codigoConceptoViviendaHabitad,\r\n\t\t\tcodconfpa: this.codigoConceptoFondoPlanAhorro,\r\n\t\t\tcueconman: this.ConceptoMantenimientoCuentasConceptos,\r\n\t\t\tregperinc: this.registropermisoincidencia,\r\n\t\t\tregferinc: this.registroferiadoincidencia,\r\n\t\t\tregasiinc: this.registroasistenciaincidencia,\r\n\t\t\tmanindmod: this.manejoIndependienteModulo.toString(),\r\n\t\t\tdigcodcon: this.digitosCodigoConcepto.toString(),\r\n\t\t\tregdesinc:this.registroDescansoIncidencia,\r\n\t\t\treglabinc:this.registroLaboralIncidencia,\r\n\t\t\tincbenperautmodben:this.incluirBeneficiarioDelPersonalAutomaticamenteModuloBeneficiarios.toString(),\r\n\t\t\tsc_cuentarecdoc:this.cuentaContableProveedorBeneficiario,\r\n\t\t\tprosuehis:this.procesarSueldosHistoricos.toString(),\r\n\t\t\taltvoldat:this.altoVolumenDatos.toString(),\r\n\t\t }\r\n }\r\n}\r\n","import { IPeriodoNomina, IProcesoNomina } from '../../interfaces/Nomina';\r\nimport { MBasicModel } from '../basic-model.model';\r\nexport class MPeriodoNomina extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idNomina:number=0;\r\n public idPeriodo:number=0;\r\n public codigoPeriodo:string='';\r\n public fechaDesdePeriodo:string='1900-01-01';\r\n public fechaHastaperiodo:string='1900-01-01';\r\n public cerrarPeriodo:number=0;\r\n public totalPeriodo:number=0;\r\n public contabiliazadoPeriodo:number=0;\r\n public aporteContabilizadoPeriodo:number=0;\r\n public observacionPeriodo:string='';\r\n public periodoAdicional:number=0;\r\n public ingresoContabilizadoPeriodo:number=0;\r\n public fideicomisoContabilizado:number=0;\r\n public fideicomisoInteresContabilizadoPeriodo:number=0;\r\n public mes:number=0;\r\n public denominacionEstatus:string='';\r\n\r\n constructor(e:IPeriodoNomina=null){\r\n super()\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idNomina=parseInt(e.id_nomina);\r\n this.idPeriodo=parseInt(e.id_periodo);\r\n this.codigoPeriodo=e.codperi;\r\n this.fechaDesdePeriodo=e.fecdesper;\r\n this.fechaHastaperiodo=e.fechasper;\r\n this.cerrarPeriodo=parseInt(e.cerper);\r\n this.totalPeriodo=+e.totper;\r\n this.contabiliazadoPeriodo=parseInt(e.conper);\r\n this.aporteContabilizadoPeriodo=parseInt(e.apoconper);\r\n this.observacionPeriodo=e.obsper\r\n this.periodoAdicional=parseInt(e.peradi);\r\n this.ingresoContabilizadoPeriodo=parseInt(e.ingconper);\r\n this.fideicomisoContabilizado=parseInt(e.fidconper);\r\n this.fideicomisoInteresContabilizadoPeriodo=parseInt(e.fidintconper);\r\n this.denominacionEstatus=this.estatusPeriodo();\r\n this.mes=+e.mes;\r\n }\r\n }\r\n\r\n public dataInterface():IPeriodoNomina{\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_nomina:this.idNomina.toString(),\r\n id_periodo:this.idPeriodo.toString(),\r\n codperi:this.codigoPeriodo,\r\n fecdesper:this.fechaDesdePeriodo,\r\n fechasper:this.fechaHastaperiodo,\r\n cerper:this.cerrarPeriodo.toString(),\r\n totper:this.totalPeriodo.toString(), \r\n conper:this.contabiliazadoPeriodo.toString(),\r\n apoconper:this.aporteContabilizadoPeriodo.toString(),\r\n obsper:this.observacionPeriodo.toString(),\r\n peradi:this.periodoAdicional.toString(),\r\n ingconper:this.ingresoContabilizadoPeriodo.toString(),\r\n fidconper:this.fideicomisoContabilizado.toString(),\r\n fidintconper:this.fideicomisoInteresContabilizadoPeriodo.toString(),\r\n mes:this.mes.toString(),\r\n\r\n }\r\n }\r\n\r\n public estatusPeriodo():string {\r\n if (this.cerrarPeriodo ==0){\r\n return 'ABIERTO'\r\n } else if (this.cerrarPeriodo==1 && this.contabiliazadoPeriodo==0 && this.aporteContabilizadoPeriodo==0){\r\n return 'CERRADO'\r\n } else if (this.cerrarPeriodo==1 && this.contabiliazadoPeriodo==1 && this.aporteContabilizadoPeriodo==0){\r\n return 'PERIODO CONTABILIZADO'\r\n } else if (this.cerrarPeriodo==1 && this.contabiliazadoPeriodo==1 && this.aporteContabilizadoPeriodo==1){\r\n return 'PERIODO Y APORTES CONTABILIZADOS'\r\n } else if (this.cerrarPeriodo==1 && this.contabiliazadoPeriodo==0 && this.aporteContabilizadoPeriodo==1){\r\n return 'APORTES CONTABILIZADOS'\r\n } \r\n }\r\n\r\n public periodoEditable():boolean {\r\n if (this.cerrarPeriodo == 0 && this.contabiliazadoPeriodo==0 && this.aporteContabilizadoPeriodo==0){\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n \r\n } \r\n \r\n}\r\n\r\nexport class MProcesosNomina extends MBasicModel {\r\n public idEmpresa:number=0; \r\n public idEnterprise: number;\r\n public idNomina:number=0;\r\n public idPeriodo:number=0; \r\n public idProceso:number=0; \r\n public codigoProceso:string=''; \r\n public nombreProceso:string='';\r\n public fechaProceso: string='1900-01-01';\r\n public cerrarProceso: number=0;\r\n public totalProceso: number=0;\r\n public contabiliazadoProceso: number=0;\r\n public aporteContabilizadoProceso: number=0;\r\n public precalculo: boolean=false;\r\n public calculado: boolean=false;\r\n public mes: number=0;\r\n public asignarTodos:boolean=false; \r\n public codigoNomina:string='';\r\n public codigoPeriodo:string='';\r\n public fechaDesdePeriodo:string='1900-01-01';\r\n public fechaHastaPeriodo:string='1900-01-01'; \r\n public denominacionEstado:string='No calculado' \r\n public nominaLiquidacion:number=0;\r\n public desincorporarVacacionesNomina:number=0;\r\n public cantidadPersonalProceso:number=0;\r\n public cantidadProcesada:number=0;\r\n public porcentajeProcesada:number=0;\r\n\r\n constructor(e?:IProcesoNomina){\r\n super();\r\n if (e){\r\n this.idEmpresa = +e.id_empresa; \r\n this.idNomina= +e.id_nomina;\r\n this.idProceso= +e.id_proceso; \r\n this.idPeriodo= +e.id_periodo; \r\n this.codigoProceso= e.codpro; \r\n this.nombreProceso= e.nompro; \r\n this.fechaProceso=e.fecpro\r\n this.cerrarProceso = +e.cerpro;\r\n this.totalProceso= +e.totpro;\r\n this.contabiliazadoProceso= +e.conpro;\r\n this.aporteContabilizadoProceso= +e.apocontpro;\r\n this.precalculo= e.precalculo=='1';\r\n this.calculado= e.calculado=='1';\r\n this.codigoNomina= e.codnom\r\n this.codigoPeriodo=e.codper;\r\n this.fechaDesdePeriodo =e.fecdesper;\r\n this.fechaHastaPeriodo=e.fechasper;\r\n this.asignarTodos = e.aplitod=='1'; \r\n (this.contabiliazadoProceso==1 || this.aporteContabilizadoProceso==1)?\r\n this.denominacionEstado='Contabilizado': \r\n this.cerrarProceso==1? this.denominacionEstado='Cerrado':\r\n this.calculado? this.denominacionEstado='Calculado':\r\n this.precalculo? this.denominacionEstado='Precalculado':\r\n this.denominacionEstado='No Calculado';\r\n\r\n }\r\n }\r\n\r\n public getEstatus():string {\r\n if (this.cerrarProceso ==0 && !this.calculado && !this.precalculo){\r\n return 'ABIERTO'\r\n } else if (this.cerrarProceso==1 && this.contabiliazadoProceso==0 && this.aporteContabilizadoProceso==0){\r\n return 'CERRADO'\r\n } else if (this.cerrarProceso==1 && this.contabiliazadoProceso==1 && this.aporteContabilizadoProceso==0){\r\n return 'PROCESO CONTABILIZADO'\r\n } else if (this.cerrarProceso==1 && this.contabiliazadoProceso==1 && this.aporteContabilizadoProceso==1){\r\n return 'PROCESO Y APORTES CONTABILIZADOS'\r\n } else if (this.cerrarProceso==1 && this.contabiliazadoProceso==0 && this.aporteContabilizadoProceso==1){\r\n return 'APORTES CONTABILIZADOS'\r\n } else if (this.cerrarProceso ==0 && this.calculado && this.precalculo){\r\n return 'PRECALCULADO/CALCULADO'\r\n } else if (this.cerrarProceso ==0 && this.calculado && !this.precalculo){\r\n return 'CALCULADO'\r\n } else if (this.cerrarProceso ==0 && !this.calculado && this.precalculo){\r\n return 'PRECALCULADO'\r\n } \r\n\r\n (this.contabiliazadoProceso==1 && this.aporteContabilizadoProceso==1)?\r\n this.denominacionEstado='Contabilizado': \r\n this.calculado? this.denominacionEstado='Calculado':\r\n this.precalculo? this.denominacionEstado='Precalculado':\r\n this.denominacionEstado='No Calculado';\r\n return this.denominacionEstado\r\n \r\n }\r\n\r\n public dataInterface():IProcesoNomina{\r\n return {\r\n id_empresa:this.idEmpresa.toString(),\r\n id_nomina:this.idNomina.toString(),\r\n id_periodo:this.idPeriodo.toString(),\r\n id_proceso:this.idProceso.toString(),\r\n codpro:this.codigoProceso,\r\n nompro:this.nombreProceso,\r\n fecpro: this.fechaProceso,\r\n cerpro: this.cerrarProceso.toPrecision(),\r\n tolpro: this.totalProceso.toString(),\r\n conpro: this.contabiliazadoProceso.toString(),\r\n apocontpro: this.aporteContabilizadoProceso.toString(),\r\n precalculo: this.precalculo? '1':'0',\r\n calculado: this.calculado? '1':'0',\r\n totpro:this.totalProceso.toString(),\r\n mes: this.mes.toString(),\r\n aplitod: this.asignarTodos? '1':'0',\r\n nomliq:this.nominaLiquidacion.toString(),\r\n desvacnom:this.desincorporarVacacionesNomina.toString(),\r\n }\r\n }\r\n \r\n}\r\n","import { MBasicModel } from '../basic-model.model';\r\nimport { INomina, } from '../../interfaces/Nomina';\r\nimport { MPeriodoNomina, MProcesosNomina } from './MPeriodoNomina.model';\r\nimport { formatDate } from '@angular/common';\r\n\r\nexport class MDefinicionNomina extends MBasicModel { \r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idNomina:number=0; \r\n public codigoNomina:string='';\r\n public denominacionNomina:string='';\r\n public tipoPeroiodoNomina:string='';\r\n public descripcionPeriodoNomina:string='';\r\n public anoCursoNomina:number=0;\r\n public fechaInicioNomina:string='1900-01-01';\r\n public periodoActualNomina:string='001';\r\n public numeroPeriodoNomina:number=0;\r\n public tipoNomina:number=0;\r\n public racNomina:number=0;\r\n public adelantoPagoNomina:number=0;\r\n public ContabilizacionNomina:string='CCP';\r\n public idProveedor:number=0;\r\n public cuentaContableNomina:string='';\r\n public notaDebitoBanco:number=0;\r\n public tipoDocumentoNomina:number=0;\r\n public contabilizacionAporteNomina:string='CCP';\r\n public tipoDocumentoAporte:number=0;\r\n public periodoARestableceNomina:string='';\r\n public validarContabilizacionPeriodoAnteriorNomina:number=0;\r\n public tituloReporteNomina:string='';\r\n public tipoDocumentoFideicomiso:number=0;\r\n public idBeneficiarioFideicomiso:number=0;\r\n public cuentaContableFideicomiso:string='';\r\n public informacionParaReporte:string='';\r\n public dividirConceptoQuincena:number=0;\r\n public tipoDocumentoPagoPersonalCheque:number=0;\r\n public estatusCuentaAlternativa:number=0;\r\n public idFuenteFinanciamiento:number=0;\r\n public codigoFuenteFinanciamiento:string='';\r\n public cerrarSinDisponibilidad:number=0;\r\n public tipoDocumentoCausa:number=0;\r\n public idConceptoClasificacionParaNomina:number=0;\r\n public idConceptoClasificacionParaAporte:number=0;\r\n public idConceptoClasificacionParaCausa:number=0;\r\n public idConceptoClasificacionParaPersonal:number=0;\r\n public idConceptoClasificacionParaFideicomiso:number=0;\r\n public denominacionConceptoClasificacionParaNomina='';\r\n public denominacionConceptoClasificacionParaAporte='';\r\n public denominacionConceptoClasificacionParaCausa='';\r\n public denominacionConceptoClasificacionParaPersonal='';\r\n public denominacionTipoDocumentoNomina:string='';\r\n public denominacionTipoDocumentoCausa:string='';\r\n public denominacionTipoDocumentoPagoPersonalCheque:string='';\r\n public denominacionTipoDocumentoAporte='';\r\n public denominacionCodigoFuenteFinanciamiento:string=''; \r\n public nombreProveedor:string='';\r\n public codigoCentroCosto:string='---';\r\n public idCentroCosto:number=0;\r\n public idUsuario:number=0;\r\n public denominacionCentroConsto:string='';\r\n public denominacionCuentaContable:string='';\r\n public idPeriodoNomina:number=0;\r\n public idPeriodoRestablecerNomina:number=0;\r\n public estatusIncidencia:number=0;\r\n\tpublic segmentarPersonal:number=3000;\r\n public idUnidadAdministradora:number=0;\r\n public denominacionUnidadAdministradora:string='';\r\n public periodosNomina:MPeriodoNomina[]=[];\r\n public procesosNomina:MProcesosNomina[]=[];\r\n public destinoComprobanteNomina:string='';\r\n\r\n\r\n constructor(e:INomina=null){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa;\r\n this.idNomina=parseInt(e.id_nomina);\r\n this.codigoNomina=e.codnom;\r\n this.denominacionNomina=e.dennom;\r\n this.tipoPeroiodoNomina=e.tippernom;\r\n this.descripcionPeriodoNomina=e.despernom;\r\n this.anoCursoNomina=parseInt(e.anocurnom);\r\n this.fechaInicioNomina=e.fecininom;\r\n this.periodoActualNomina=e.peractnom;\r\n this.numeroPeriodoNomina=parseInt(e.numpernom);\r\n this.tipoNomina=parseInt(e.tipnom);\r\n this.racNomina=parseInt(e.racnom);\r\n this.adelantoPagoNomina=parseInt(e.adenom);\r\n this.ContabilizacionNomina=e.consulnom;\r\n this.idProveedor=parseInt(e.id_proveedor);\r\n this.destinoComprobanteNomina=e.tippro;\r\n this.cuentaContableNomina=e.cueconnom;\r\n this.notaDebitoBanco=parseInt(e.notdebnom);\r\n this.tipoDocumentoNomina=parseInt(e.tipdocnom);\r\n this.contabilizacionAporteNomina=e.conaponom;\r\n this.tipoDocumentoAporte=parseInt(e.tipdocapo);\r\n this.periodoARestableceNomina=e.perresnom;\r\n this.validarContabilizacionPeriodoAnteriorNomina=parseInt(e.conpernom);\r\n this.tituloReporteNomina=e.titrepnom;\r\n this.tipoDocumentoFideicomiso=parseInt(e.tipdocfid);\r\n this.idBeneficiarioFideicomiso=parseInt(e.id_benfid);\r\n this.cuentaContableFideicomiso=e.cueconfid;\r\n this.informacionParaReporte=e.informa;\r\n this.dividirConceptoQuincena=parseInt(e.divcon);\r\n this.tipoDocumentoPagoPersonalCheque=parseInt(e.tipdocpagperche);\r\n this.estatusCuentaAlternativa =parseInt(e.estctaalt);\r\n this.idFuenteFinanciamiento=+e.id_fuefin;\r\n this.codigoFuenteFinanciamiento=e.codigoftefin;\r\n this.cerrarSinDisponibilidad=parseInt(e.cersindis);\r\n this.tipoDocumentoCausa=parseInt(e.tipdoccaunom);\r\n this.idConceptoClasificacionParaNomina=parseInt(e.id_concxpnom);\r\n this.idConceptoClasificacionParaAporte=parseInt(e.id_concxpapo);\r\n this.codigoCentroCosto=e.codcencos;\r\n this.idCentroCosto=+e.id_cencos;\r\n this.denominacionCentroConsto=e.dencencos;\r\n this.denominacionCodigoFuenteFinanciamiento=e.codigoftefin+' - '+e.denfuefin ; \r\n this.denominacionCuentaContable= e.denctacont \r\n this.nombreProveedor= e.nompro;\r\n this.estatusIncidencia=parseInt(e.estincidencia);\r\n if(e.periodos){\r\n this.periodosNomina=e.periodos.map(e=>new MPeriodoNomina(e));\r\n }\r\n if(e.procesos){\r\n this.procesosNomina=e.procesos.map(e=>new MProcesosNomina(e));\r\n }\r\n this.idPeriodoNomina=parseInt(e.id_periodoactual);\r\n this.idPeriodoRestablecerNomina=parseInt(e.id_perresnom); \r\n this.idUnidadAdministradora=+e.id_uniadm;\r\n this.denominacionUnidadAdministradora=e.coduniadm+' - '+e.denuniadm \r\n this.segmentarPersonal=parseInt(e.segper); \r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():INomina {\r\n this. getPeriodoNomina();\r\n if(this.segmentarPersonal==0){\r\n this.segmentarPersonal=10000;\r\n }\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_nomina:this.idNomina.toString(),\r\n codnom:this.codigoNomina,\r\n dennom:this.denominacionNomina,\r\n tippernom:this.tipoPeroiodoNomina,\r\n despernom:this.descripcionPeriodoNomina,\r\n anocurnom:this.anoCursoNomina.toString(),\r\n fecininom:this.fechaInicioNomina,\r\n peractnom:this.periodoActualNomina,\r\n numpernom:this.numeroPeriodoNomina.toString(),\r\n tipnom:this.tipoNomina.toString(),\r\n racnom:this.racNomina.toString(),\r\n adenom:this.adelantoPagoNomina.toString(),\r\n consulnom:this.ContabilizacionNomina,\r\n id_proveedor:this.idProveedor.toString(),\r\n cueconnom:this.cuentaContableNomina,\r\n notdebnom:this.notaDebitoBanco.toString(),\r\n tipdocnom:this.tipoDocumentoNomina.toString(),\r\n conaponom:this.contabilizacionAporteNomina,\r\n tipdocapo:this.tipoDocumentoAporte.toString(),\r\n perresnom:this.periodoARestableceNomina,\r\n conpernom:this.validarContabilizacionPeriodoAnteriorNomina.toString(),\r\n titrepnom:this.tituloReporteNomina,\r\n tipdocfid:this.tipoDocumentoFideicomiso.toString(),\r\n id_benfid:this.idBeneficiarioFideicomiso.toString(),\r\n cueconfid:this.cuentaContableFideicomiso,\r\n informa:this.informacionParaReporte,\r\n divcon:this.dividirConceptoQuincena.toString(),\r\n tipdocpagperche:this.tipoDocumentoPagoPersonalCheque.toString(),\r\n estctaalt:this.estatusCuentaAlternativa .toString(),\r\n id_fuefin:this.idFuenteFinanciamiento.toString(),\r\n codigoftefin:this.codigoFuenteFinanciamiento,\r\n cersindis:this.cerrarSinDisponibilidad.toString(),\r\n tipdoccaunom:this.tipoDocumentoCausa.toString(),\r\n id_concxpnom:this.idConceptoClasificacionParaNomina.toString(),\r\n id_concxpapo:this.idConceptoClasificacionParaAporte.toString(),\r\n id_cencos:this.idCentroCosto.toString(), \r\n codcencos:this.codigoCentroCosto,\r\n id_usuario:this.idUsuario.toString(),\r\n denfuefin:this.denominacionCodigoFuenteFinanciamiento,\r\n dencencos: this.denominacionCentroConsto,\r\n denctacont: this.denominacionCuentaContable,\r\n nompro:this.nombreProveedor,\r\n id_periodoactual:this.idPeriodoNomina.toString(),\r\n id_perresnom:this.idPeriodoRestablecerNomina.toString(),\r\n estincidencia:this.estatusIncidencia.toString(),\r\n segper:this.segmentarPersonal.toString(),\r\n id_uniadm:this.idUnidadAdministradora.toString(), \r\n tippro:this.destinoComprobanteNomina, \r\n periodos:this.periodosNomina.map((function (e) { return e.dataInterface(); })),\r\n procesos:this.procesosNomina.map((function (e) { return e.dataInterface(); })), \r\n }\r\n }\r\n\r\n public getPeriodoNomina(){\r\n if (this.tipoPeroiodoNomina=='0'){\r\n this.numeroPeriodoNomina=52\r\n } else if (this.tipoPeroiodoNomina=='1'){\r\n this.numeroPeriodoNomina=24\r\n } else if (this.tipoPeroiodoNomina=='2'){\r\n this.numeroPeriodoNomina=12\r\n } else if (this.tipoPeroiodoNomina=='3'){\r\n this.numeroPeriodoNomina=1\r\n } \r\n }\r\n\r\n /**\r\n * \r\n * @returns Tipo de nomina {Semanal, Quincenal,Mensual,Anual}\r\n */\r\n public denominacionNumeroNomina():string{\r\n if (this.numeroPeriodoNomina==52){\r\n return 'Semanal'\r\n } else if (this.numeroPeriodoNomina==24){\r\n return 'Quincenal'\r\n } else if (this.numeroPeriodoNomina==12){\r\n return 'Mensual'\r\n } else if (this.numeroPeriodoNomina==1){\r\n return 'Anual'\r\n } \r\n }\r\n\r\n /**\r\n * \r\n * @returns posicion del array donde esta el periodo actual de la nomina, de lo contrario -1\r\n */\r\n public indice():number { \r\n return this.periodosNomina.findIndex(e=> e.codigoPeriodo== this.periodoActualNomina);\r\n }\r\n\r\n\r\n /**\r\n * @returns Fecha final de la nomina\r\n */\r\n public fechaFinalNomina():string{\r\n let i= this.periodosNomina.length-1;\r\n let fechaFin= this.periodosNomina[i].fechaHastaperiodo;\r\n return formatDate(fechaFin, 'yyyy-MM-dd', 'es-ES');\r\n }\r\n \r\n /** \r\n * @returns fecha de inicio a fin de la nomina\r\n */\r\n public fechaNomina():string{\r\n let i= this.periodosNomina.length-1;\r\n let fechaFin= this.periodosNomina[i].fechaHastaperiodo;\r\n let fechaIni= this.periodosNomina[i].fechaDesdePeriodo;\r\n return formatDate(fechaFin, 'dd-MM-yyyy', 'es-ES')+' al '+formatDate(fechaIni, 'dd-MM-yyyy', 'es-ES');\r\n }\r\n\r\n /**\r\n * \r\n * @returns Retorna es estatus del periodo actual de la nomina {\r\n * Sin Calcular, contabilizada,Periodo Contabilizado,\r\n * Periodo y Aporte Contabilizado, Aporte Contabilizado }\r\n */\r\n\r\n public estatusNomina():string {\r\n let i = this.indice();\r\n if (i>=0){\r\n return this.periodosNomina[i].estatusPeriodo()\r\n } \r\n }\r\n\r\n /**\r\n * \r\n * @returns Si la nomina puede ser modificada (verdadero, falso)\r\n */\r\n public editable():boolean {\r\n let i= this.indice();\r\n return this.periodosNomina[i].periodoEditable()\r\n } \r\n\r\n /**\r\n * @returns indica si el perido actual esta abierto\r\n * @returns verdadero/falso\r\n */ \r\n public periodoCerrado():boolean {\r\n let i= this.indice();\r\n return this.periodosNomina[i].cerrarPeriodo==1\r\n } \r\n\r\n\r\n /**\r\n * @returns Fecha inicio del periodo actual de la nomina\r\n */\r\n public fechaIncioPeriodoActual():string{\r\n let i= this.indice();\r\n return this.periodosNomina[i].fechaDesdePeriodo;\r\n }\r\n\r\n/**\r\n * @returns Fecha final del periodo actual de la nomina\r\n */\r\n public fechaFinaPeriodoActual():string{\r\n return this.periodosNomina[this.indice()].fechaHastaperiodo;\r\n }\r\n\r\n public ultimoPeriodoNomina():string {\r\n if (this.numeroPeriodoNomina==52){\r\n return '052'\r\n } else if (this.numeroPeriodoNomina==24){\r\n return '024'\r\n } else if (this.numeroPeriodoNomina==12){\r\n return '012'\r\n } else if (this.numeroPeriodoNomina==1){\r\n return '001'\r\n } \r\n \r\n }\r\n \r\n} ","import { IAsignacionCargo, ICargoNomina, ICargoOrganigrama } from '../../interfaces/Nomina';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MAsignacionCargo extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idAsignacionCargo: number=0;\r\n public codigoAsignacionCargo: string=''; \r\n public denominacionAsignacionCargo: string='';\r\n public idEp1: number=0;\r\n public idEp2: number=0;\r\n public idEp3: number=0;\r\n public idEp4: number=0;\r\n public idEp5: number=0;\t\r\n public codigoEstructura: string='';\r\n public denominacionEstructura: string='';\r\n\tpublic claseCargo: string='';\r\n public idDedicacion: number=0;\t\r\n public codigoDedicacion: string='';\r\n public denominacionDedicacion: string='';\r\n public idTipoPersonal: number=0;\r\n public codigoTipoPersonal: string='';\r\n public denominacionTipoPersonal: string='';\t\r\n public idTabulador: number=0;\t\r\n public codigoTabulador: string='';\r\n public denominacionTabulador: string='';\r\n public codigoGrado: string='';\r\n public codigoPaso: string='';\r\n public salario: number=0;\r\n public compensacion: number=0;\r\n public totalCargos: number=0;\r\n public numeroCargosOcupados: number=0;\r\n public disponibilidadCargos: number=0;\r\n public detallesNominas: MCargosNominas[]=[];\r\n public nominaEliminar: number[]=[];\r\n public detallesOrganigrama: MCargoEstructuraOrganizativa[]=[];\r\n public organigramaEliminar: number[]=[];\r\n public idUsuarioAsignacion:number=-1;\r\n public idUsuarioCese:number=-1;\r\n public fechaAsignacion:number=0;\r\n public fechaCese:number=0;\r\n \r\n constructor (e?:IAsignacionCargo){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idAsignacionCargo=parseInt(e.id_carper);\r\n this.codigoAsignacionCargo=e.codcar;\r\n this.denominacionAsignacionCargo=e.descar;\r\n this.idEp1=parseInt(e.id_ep1);\r\n this.idEp2=parseInt(e.id_ep2);\r\n this.idEp3=parseInt(e.id_ep3);\r\n this.idEp4=parseInt(e.id_ep4);\r\n this.idEp5=parseInt(e.id_ep5);\r\n this.codigoEstructura=e.codigo_estructura;\r\n this.denominacionEstructura=e.denominacion_estructura;\r\n this.claseCargo=e.clacar;\r\n this.idDedicacion=parseInt(e.id_dedicacion);\r\n this.codigoDedicacion=e.codded;\r\n this.denominacionDedicacion=e.dended;\r\n this.idTipoPersonal=parseInt(e.id_tipopersonal);\r\n this.codigoTipoPersonal=e.codtipper;\r\n this.denominacionTipoPersonal=e.dentipper;\r\n this.idTabulador=parseInt(e.id_tabulador);\r\n this.codigoTabulador=e.codtab;\r\n this.denominacionTabulador=e.destab;\r\n this.codigoGrado=e.codgra;\r\n this.codigoPaso=e.codpas;\r\n this.salario=parseInt(e.monsalgra);\r\n this.compensacion=parseInt(e.moncomgra);\r\n this.totalCargos=parseInt(e.totcar);\r\n this.numeroCargosOcupados=parseInt(e.numocucar);\r\n this.disponibilidadCargos=parseInt(e.disponibilidad);\r\n if(e.detalles_nomina){\r\n this.detallesNominas=e.detalles_nomina.map(e=> new MCargosNominas(e));\r\n }\r\n if(e.detalles_organigrama){\r\n this.detallesOrganigrama=e.detalles_organigrama.map(e=> new MCargoEstructuraOrganizativa(e));\r\n }\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IAsignacionCargo{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa:this.idEmpresa,\r\n id_carper:this.idAsignacionCargo.toString(),\r\n codcar:this.codigoAsignacionCargo,\r\n descar:this.denominacionAsignacionCargo,\r\n id_ep1:this.idEp1.toString(),\r\n id_ep2:this.idEp2.toString(),\r\n id_ep3:this.idEp3.toString(),\r\n id_ep4:this.idEp4.toString(),\r\n id_ep5:this.idEp5.toString(),\r\n clacar:this.claseCargo,\r\n id_dedicacion:this.idDedicacion.toString(),\r\n id_tipopersonal:this.idTipoPersonal.toString(),\r\n id_tabulador:this.idTabulador.toString(),\r\n codgra:this.codigoGrado,\r\n codpas:this.codigoPaso,\r\n totcar:this.totalCargos.toString(),\r\n numocucar:this.numeroCargosOcupados.toString(),\r\n detalles_nomina: this.detallesNominas.map(function (e) { return e.dataInterface(); }),\r\n detalles_organigrama:this.detallesOrganigrama.map(function (e){ return e.dataInterface(); }),\r\n eliminar_nomina:this.nominaEliminar,\r\n eliminar_organigrama:this.organigramaEliminar,\r\n }\r\n }\r\n}\r\n\r\nexport class MCargoEstructuraOrganizativa extends MBasicModel {\r\n public idEmpresa:number=0;\r\n public idEnterprise:number=0;\r\n public idCargoPersonal:number=0;\r\n public codigoCargo:string='';\r\n public descripcionCargo:string='';\r\n public idOrganigrama:number=0;\r\n public idDtCargoEstructura:number=0;\r\n public idPersonal:number=0;\r\n public codigoEstructuraOrganizativa:string='';\r\n public denominacionEstructuraOrganizativa:string='';\r\n public cogigoUnidadOrganizativa:string='';\r\n public denominacionUnidadOrganizativa:string='';\r\n public codigoEstructuraPresupuestaria:string='';\r\n public idCentroCosto:number=0;\r\n public codigoCentroCosto:string='';\r\n public dnominacionCentroCosto:string='';\r\n\r\n public nivel: number =0;\r\n\r\n constructor (e:ICargoOrganigrama=null) { \r\n super();\r\n if (e){\r\n this.idEmpresa=parseInt(e.id_empresa); \r\n this.idEnterprise=parseInt(e.id_enterprise); \r\n this.idCargoPersonal=parseInt(e.id_carper);\r\n this.idOrganigrama=parseInt(e.id_organigrama);\r\n this.codigoEstructuraOrganizativa=e.codestorg;\r\n this.codigoCargo=e.codcar;\r\n this.descripcionCargo=e.descar;\r\n this.denominacionEstructuraOrganizativa=e.denestorg; \r\n this.idPersonal=parseInt(e.id_personal); \r\n this.nivel=parseInt(e.nivel);\r\n this.codigoEstructuraPresupuestaria=e.estructura;\r\n this.codigoCentroCosto=e.codcencos;\r\n this.dnominacionCentroCosto=e.denominacion;\r\n this.idDtCargoEstructura=parseInt(e.id_dt); \r\n this.cogigoUnidadOrganizativa=e.coduniadm;\r\n this.denominacionUnidadOrganizativa=e.denuniadm; \r\n this.idCentroCosto=+e.id_cencos; \r\n \r\n \r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n\r\n public dataInterface():ICargoOrganigrama {\r\n return {\r\n id_empresa: this.idEmpresa.toString(),\r\n id_enterprise: this.idEnterprise.toString(),\r\n id_carper:this.idCargoPersonal.toString(),\r\n id_organigrama:this.idOrganigrama.toString(),\r\n id_dt:this.idDtCargoEstructura.toString(),\r\n id_personal:this.idPersonal.toString(),\r\n id_cencos:this.idCentroCosto.toString(),\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class MCargosNominas extends MBasicModel{\r\n public idEmpresa: number=0;\r\n public idNomina: number=0;\r\n public idEnterprise: number=0;\r\n public idCargo:number=0;\r\n public codigoNomina: string='';\r\n public denominacionNomina: string='';\r\n public estatus: string='';\r\n public idDtNomina: number=0;\r\n public periodoActualNomina:string='001';\r\n public idPeriodoActual:number=0; \r\n public nominaRac:number=0;\r\n public descripcionPeriodoNomina:string='';\r\n public prenomina:boolean=false;\r\n public editables:boolean=false;\r\n public calculada:boolean=false;\r\n public idOrganigrama:number=0;\r\n public codigoEstructuraOrganizativa:string='';\r\n public denominacionEstructuraOrganizativa:string='';\r\n \r\n constructor (e:ICargoNomina=null) { \r\n super();\r\n if (e){\r\n this.idEmpresa=parseInt(e.id_empresa); \r\n this.idEnterprise= +e.id_enterprise \r\n this.idNomina=parseInt(e.id_nomina);\r\n this.idCargo=parseInt(e.id_carper);\r\n this.codigoNomina=e.codnom;\r\n this.denominacionNomina=e.dennom;\r\n this.idDtNomina=parseInt(e.id_dt_carnom);\r\n this.periodoActualNomina=e.peractnom;\r\n (e.calculado)? this.calculada=parseInt(e.calculado)>0? true:false:this.calculada=false;\r\n (e.prenomina)? this.prenomina=parseInt(e.prenomina)>0? true:false:this.prenomina=false; \r\n this.estatus=this.calculada ? 'Calculada': \r\n !this.calculada && this.prenomina ? 'Pre-Calculada': 'Sin Calcular'\r\n this.editables=(this.calculada||this.prenomina)? false:true; \r\n this.idOrganigrama=+e.id_organigrama; \r\n this.codigoEstructuraOrganizativa=e.codestorg; \r\n this.denominacionEstructuraOrganizativa=e.denestorg; \r\n\r\n\r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n \r\n public dataInterface():ICargoNomina{\r\n return {\r\n id_empresa: this.idEmpresa.toString(),\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_nomina: this.idNomina.toString(),\r\n id_carper:this.idCargo.toString(), \r\n id_dt_carnom: this.idDtNomina.toString(),\r\n }\r\n }\r\n \r\n}\r\n\r\n","import { EstatusPersonalNomina } from \"../../interfaces/Constantes\";\r\nimport { INominaSimple } from \"../../interfaces/Nomina\";\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MNominaSimple extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idNomina:number=0; \r\n public codigoNomina:string='';\r\n public denominacioNomina:string='';\r\n public idPeriodoActual:number=0;\r\n public totalPeriodo:number=0;\r\n public estatus:string='';\r\n public estatusPeriodo:number=0;\r\n public idCargo:number=0;\r\n public codigoCargo:string='';\r\n public denominacionCargo:string='';\r\n public nominaRac:number=0;\r\n public simbolo: string='';\r\n public color: string='';\r\n public estatusPersonal:number=0;\r\n public denominacionEstatuspersonal:string='';\r\n public descripcionPeriodoNomina:string='';\r\n public periodoActualNomina:string='';\r\n public editable:boolean=false;\r\n public idOrganigrama:number=0;\r\n public codigoEstructuraOrganizativa:string='';\r\n public denominacionEstructuraOrganizativa:string='';\r\n public idPersonal:number=0;\r\n public idPersonalNomina:number=0;\r\n public idPlanHorario:number=0;\r\n public codigoPlanHorario:string='';\r\n public denominacionPlanHorario:string='';\r\n\r\n\r\n\r\n\r\n constructor(e:INominaSimple=null){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idNomina=parseInt(e.id_nomina); \r\n this.codigoNomina= e.codnom;\r\n this.denominacioNomina=e.dennom;\r\n this.idPeriodoActual= +e.id_periodoactual;\r\n this.totalPeriodo=parseFloat(e.totper), \r\n this.estatusPeriodo=parseInt(e.cerper);\r\n this.idCargo=parseInt(e.id_carper);\r\n this.codigoCargo=e.codcar;\r\n this.denominacionCargo=e.descar;\r\n this.nominaRac=parseInt(e.racnom);\r\n this.nominaRac==1? this.simbolo='check': this.simbolo='';\r\n this.nominaRac==1? this.color='primary': this.color='';\r\n this.estatusPersonal=parseInt(e.staper);\r\n this.denominacionEstatuspersonal=(EstatusPersonalNomina.find(f=>f.value==e.staper).denominacion).toUpperCase(); \r\n this.descripcionPeriodoNomina=e.despernom;\r\n this.periodoActualNomina=e.peractnom; \r\n this.idOrganigrama=+e.id_organigrama; \r\n this.codigoEstructuraOrganizativa=e.codestorg; \r\n this.denominacionEstructuraOrganizativa=e.denestorg; \r\n this.idPersonal = +e.id_personal;\r\n this.idPersonalNomina= +e.id_personalnomina;\r\n this.idPlanHorario=+e.id_planhor;\r\n this.codigoPlanHorario=e.codplanhor;\r\n this.denominacionPlanHorario=e.denplanhor; \r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n\r\n public dataInterface():INominaSimple {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_nomina:this.idNomina.toString(),\r\n id_carper:this.idCargo.toString(),\r\n id_personal: this.idPersonal.toString(),\r\n id_personalnomina:this.idPersonalNomina.toString(),\r\n id_organigrama:this.idOrganigrama.toString(),\r\n id_planhor:this.idPlanHorario.toString()\r\n }\r\n }\r\n\r\n}\r\n\r\n","import { EstatusEstudio, EstatusPersonal, Estudios, SituacionPersonal } from '../../interfaces/Constantes';\r\nimport { ICambioEstatusPersonal, IEstudioRealizado, IPersonal, IPersonalCuentasBancarias, IPrestacionesAntiguedad } from '../../interfaces/RecursosHumanos';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MPersonal extends MBasicModel {\r\n public idEmpresa:number=0; \r\n public idEnterprise:number=0;\r\n public idPersonal: number=0; \r\n public codigoPersonal: string='';//10 \r\n public cedulaPersonal: string= ''; //10 \r\n public rifPersonal: string='';//15 \r\n public nombrePersonal: string='';//60 \r\n public apellidoPersonal: string=''; \r\n public fechaNacimientoPersonal: string='1900-01-01'; \r\n public codigoPaisNacimiento:string ='--'; \r\n public codigoEstadoNacimiento:string ='---'; \r\n public codigoMunicipioNacimiento:string ='---'; \r\n public codigoParroquiaNacimiento:string ='---'; \r\n public nacionalidadPersonal:string=''; \r\n public estadoCivilPersonal:string='S';\r\n public telefonoHabitacionPersonal:string=''; //15\r\n public telefonoMovilPersobal:string=''; //15\r\n public correoElectronicoPersonal:string=''; //60\r\n public direccionPersonal:string=''; //255\r\n public codigoPais:string='--'; \r\n public codigoEstado:string='--'; \r\n public codigoMunicipio:string='---'; \r\n public codigoParroquia:string='---';\r\n public sexoPersonal:string=''; \r\n public numeroHijo:number=0; \r\n public conyugueTrabaja:number=0; \r\n public cedulaBeneficiarioPersonal:string=''; \r\n public estatura: number=0; \r\n public peso: number=0; \r\n public tallaCamisa:string=''; \r\n public tallaPantalon:string=''; \r\n public tallaZapato:string=''; \r\n public idProfesion:number=0; \r\n public nivelAcademicoPersonal:string=''; //1\r\n public idComponente: number=0; \r\n public idRango: number=0; \r\n public fotoPersonal:string=''; \r\n public observacionPersonal:string=''; \r\n public estatusPersonal:string='1'; \r\n public idClasificacionPersonal: number=0; \r\n public centroMedicoIVVS:string=''; //155\r\n public turnoPersonal:string=''; //1\r\n public horarioPersonal:string=''; //10\r\n public estatusHCMPersonal:number=0; \r\n public tipoSangrePersonal:string='';//10\r\n public numeroExpedientePersonal:string=''; //20\r\n public cargoOriginalPersonal:string=''; //100\r\n public tipoViviendaPersonal:number=0; //ojo\r\n public tenenciaViviendaPersonal:string=''; //40/ojo\r\n public montoPagadoViviendaPersonal:number =0; \r\n public estatusCajaAhorro:number=0; \r\n public cuentaCajaAhorroPersonal:string=''; //25\r\n public porcentajeCajaAhorro:number=0; \r\n public cuetaLeyPoliticaHabitacionaPersonal:string=''; //25\r\n public cuentaFideicomiso:string=''; //25\r\n public estatusSindicato: number=0;\r\n public fechaIngresoAdministracionPublica:string='1900-01-01'; \r\n public anoServicioPrevioFijoAP:number=0; //integer\r\n public anoServicioPrevioContratadoAP:number=0; //integer\r\n public anoPersonalObrero:number=0; //integer\r\n public anoServicioPrevioPersonal:number=0; //integer\r\n public mesesServicioPrevioPersonal:number=0; //integer\r\n public diasServicioPrevioPersonal:number=0; //integer\r\n public fechaIngerosPersonal:string='1900-01-01'; \r\n public fechaReingresoPersonal:string='1900-01-01'; \r\n public fechajubilacionPersonal:string='1900-01-01'; \r\n public fechaEgresoPersonal:string='1900-01-01'; \r\n public causaEgresoPersonal:string='N'; //1\r\n public observacionEgresoPersonal:string=''; //254\r\n public preaviso:string='0'; //1\r\n public fechaLOSFAN:string='1900-01-01'; \r\n public situacion:string='N'; //1\r\n public fechaSituacion:string='1900-01-01'; \r\n public idCausales: number =0; \r\n public fechaRegistroSistema:string='1900-01-01'; \r\n public codidoUsuario:string=''; \r\n public observacion: string ='';\r\n public idCentroMedico: number=0; \r\n public idTipoPersonal:number=0; \r\n public codigoComponente: string ='';\r\n public denominacionComponente: string ='';\r\n public codigoRango: string ='';\r\n public denominacionRango: string =''; \r\n public codigoCentroMedico: string ='';\r\n public denominacionCentroMedico: string ='';\r\n public codigoTipoPersonal: string ='';\r\n public denominacionTipoPersonal: string ='';\r\n public codigoCausaRetiro:string=''; \r\n public denominacionCausaRetiro: string='';\r\n public idProveedorBeneficiario:number=0; \r\n public denominacionEstatus:string='';\r\n public conapdis:boolean=false;\r\n public idSindicato:number=0;\r\n public codigoSindicato:string='00000';\r\n public denominacionSindicato:string=''; \r\n public nombrePais:string='';\r\n public nombreEstado:string='';\r\n public nombreMunicipio:string='';\r\n public nombreParroquia:string='';\r\n public nombrePaisNacimiento:string='';\r\n public nombreEstadoNacimiento:string='';\r\n public nombreMunicipioNacimiento:string='';\r\n public nombreParroquiaNacimiento:string='';\r\n public codigoProfesion: string='';\r\n public denominacionProfesion: string='';\r\n public montoPension:number=0;\r\n public idPlanHorario:number=0;\r\n public idHora:number=0;\r\n public descripcionPlanHorario:string='';\r\n public codigoPlanHorario:string='--'; \r\n public idPuestoTrabajo:number=0;\r\n public descripcionPuestoTrabajo:string='';\r\n public codigoPuestoTrabajo:string='--';\r\n public descripcionHorario:string=''; \r\n public fechaDefuncion:string='1900-01-01'; ;\r\n public fechaActaDefuncion:string='1900-01-01'; ; \r\n public numeroActaDefuncion:string='';\r\n public denominacionSituacion:string=''; \r\n public codigoClasificadorPersonal:string='';\r\n public denominacionClasificadorPersonal:string='';\r\n public idPermisoPersonal:number=0;\r\n public codigoPermisoPersonal:string='';\r\n public denominacionPermisoPersonal:string='';\r\n public idRuta:number=0;\r\n public denominacionRuta:string='';\r\n public centoVotacion:string='';\r\n public puntoReferencia:string='';\r\n\r\n\r\n constructor (p:IPersonal=null){\r\n super()\r\n if (p){\r\n this.idEnterprise=+p.id_enterprise;\r\n this.idEmpresa=p.id_empresa; \r\n this.idPersonal= +p.id_personal;\r\n this.codigoPersonal= p.codper;\r\n this.cedulaPersonal= p.cedper;\r\n this.rifPersonal= p.rifper;\r\n this.nombrePersonal= p.nomper; \r\n this.apellidoPersonal= p.apeper;\r\n this.fechaNacimientoPersonal= p.fecnacper;\r\n this.codigoPaisNacimiento= p.codpainac;\r\n this.codigoEstadoNacimiento= p.codestnac; \r\n this.codigoMunicipioNacimiento= p.codmunnac;\r\n this.codigoParroquiaNacimiento= p.codparnac;\r\n this.nacionalidadPersonal= p.nacper;\r\n this.estadoCivilPersonal= p.estcivper;\r\n this.telefonoHabitacionPersonal= p.telhabper;\r\n this.telefonoMovilPersobal= p.telmovper;\r\n this.correoElectronicoPersonal= p.coreleper;\r\n this.direccionPersonal= p.dirper;\r\n this.codigoPais= p.codpai;\r\n this.codigoEstado= p.codest;\r\n this.codigoMunicipio= p.codmun;\r\n this.codigoParroquia= p.codpar;\r\n this.sexoPersonal= p.sexper;\r\n this.numeroHijo=+p.numhijper; \r\n this.conyugueTrabaja= +p.contra; \r\n this.cedulaBeneficiarioPersonal= p.cedbenper; \r\n this.estatura=+p.estatura;\r\n this.peso=+p.peso;\r\n this.tallaCamisa= p.tallcam\r\n this.tallaPantalon=p.tallpan;1 \r\n this.tallaZapato= p.tallzap;\r\n this.idProfesion= +p.id_profesion; \r\n this.nivelAcademicoPersonal= p.nivacaper;\r\n this.idComponente=+p.id_componente;\r\n this.idRango=+p.id_rango;\r\n this.fotoPersonal= p.fotper;\r\n this.observacionPersonal= p.obsegrper;\r\n this.estatusPersonal= p.estper;\r\n this.idClasificacionPersonal=+p.id_claper;\r\n this.turnoPersonal= p.turper;\r\n this.horarioPersonal= p.horper;\r\n this.estatusHCMPersonal= +p.hcmper; \r\n this.tipoSangrePersonal= p.tipsanper;\r\n this.numeroExpedientePersonal= p.numexpper;\r\n this.cargoOriginalPersonal= p.caroriper;\r\n this.tipoViviendaPersonal= +p.tipvivper; \r\n this.tenenciaViviendaPersonal= p.tenvivper;\r\n this.montoPagadoViviendaPersonal= +p.monpagvivper; \r\n this.estatusCajaAhorro= +p.estcajaho; \r\n this.cuentaCajaAhorroPersonal= p.cuecajahoper;\r\n this.porcentajeCajaAhorro= +p.porcajaho; \r\n this.cuetaLeyPoliticaHabitacionaPersonal= p.cuelphper;\r\n this.cuentaFideicomiso= p.cuefidper;1\r\n this.estatusSindicato=+p.estsindicato;\r\n this.fechaIngresoAdministracionPublica= p.fecingadmpubper;\r\n this.anoServicioPrevioFijoAP= +p.anoservprefijo;\r\n this.anoServicioPrevioContratadoAP= +p.anoservprecont; \r\n this.anoPersonalObrero= +p.anoperobr;\r\n this.anoServicioPrevioPersonal= +p.anoservpreper; \r\n this.mesesServicioPrevioPersonal= +p.messervpreper; \r\n this.diasServicioPrevioPersonal= +p.diaservpreper; \r\n this.fechaIngerosPersonal= p.fecingper; \r\n this.fechaReingresoPersonal= p.fecreingper; \r\n this.fechajubilacionPersonal= p.fecjubper; \r\n this.fechaEgresoPersonal= p.fecegrper; \r\n this.causaEgresoPersonal= p.cauegrper;\r\n this.observacionEgresoPersonal= p.obsegrper;\r\n this.preaviso= p.preaviso;\r\n this.fechaLOSFAN= p.feclossfan;\r\n this.situacion= p.situacion;\r\n this.fechaSituacion= p.fecsitu;\r\n this.idCausales= +p.id_causales;\r\n this.fechaRegistroSistema= p.fecregsis;\r\n this.codidoUsuario= p.codusu;\r\n this.observacion =p.observacion;\r\n this.idCentroMedico= p.id_cenmedss, \r\n this.idTipoPersonal= p.id_tipopersonal,\r\n this.codigoComponente=p.codcom;\r\n this.denominacionComponente=p.dencom;\r\n this.codigoRango=p.codran;\r\n this.denominacionRango=p.denran; \r\n this.codigoCentroMedico=p.codcenmedss;\r\n this.denominacionCentroMedico=p.dencenmedss;\r\n this.codigoTipoPersonal=p.codtipper;\r\n this.denominacionTipoPersonal=p.dentipper;\r\n this.codigoCausaRetiro=p.dencau;\r\n this.denominacionCausaRetiro=p.codcau;\r\n this.idProveedorBeneficiario=parseInt(p.id_proveedorbeneficiario);\r\n this.idSindicato=parseInt(p.id_sindicato);\r\n this.codigoSindicato=p.codsin;\r\n this.denominacionSindicato=p.densin;\r\n this.denominacionEstatus= (EstatusPersonal.find(e=>e.value==p.estper).denominacion).toUpperCase(); \r\n this.conapdis=p.conapdis=='1'? true:false;\r\n this.idSindicato= parseInt(p.id_sindicato);\r\n this.codigoSindicato=p.codsin;\r\n this.denominacionSindicato=p.densin;\r\n this.nombrePais=p.despai;\r\n this.nombreEstado=p.desest;\r\n this.nombreMunicipio=p.desmun;\r\n this.nombreParroquia=p.despar; \r\n this.nombreEstadoNacimiento=p.desest_nac;\r\n this.nombrePaisNacimiento=p.despai_nac;\r\n this.codigoProfesion=p.codpro;\r\n this.denominacionProfesion=p.denpro;\r\n this.montoPension=+p.monpen;\r\n this.idPlanHorario=+p.id_planhor; \r\n this.idHora=+p.id_hora;\r\n this.fechaDefuncion=p.fecdef;\r\n this.fechaActaDefuncion=p.fecactdef; \r\n this.numeroActaDefuncion=p.numactdef;\r\n if(this.idPlanHorario>0){\r\n this.codigoPlanHorario=p.codplanhor;\r\n this.descripcionPlanHorario=p.denplanhor;\r\n } else if(this.idHora>0){ \r\n this.descripcionHorario=p.horini+'-'+p.horfin;\r\n }\r\n this.descripcionPuestoTrabajo=p.despuetra;\r\n this.codigoPuestoTrabajo=p.codpuetra;\r\n this.denominacionSituacion= (SituacionPersonal.find(e=>e.value==p.situacion).denominacion).toLocaleUpperCase();\r\n this.codigoClasificadorPersonal=p.codclaper;\r\n this.denominacionClasificadorPersonal=p.denclaper; \r\n this.idPermisoPersonal= + p.id_perper;\r\n this.denominacionPermisoPersonal=p.denperper;\r\n this.codigoPermisoPersonal=p.codperper;\r\n this.idRuta=+p.id_ruta\r\n this.denominacionRuta=p.denrut;\r\n this.centoVotacion=p.cenvot;\r\n this.puntoReferencia=p.punref;\r\n \r\n\r\n } else {\r\n this.isNew=true; \r\n }\r\n }\r\n\r\n public dataInterface():IPersonal {\r\n return {\r\n id_empresa:this.idEmpresa,\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_personal:+this.idPersonal,\r\n codper:this.codigoPersonal,\r\n cedper:this.cedulaPersonal,\r\n rifper:this.rifPersonal,\r\n nomper:this.nombrePersonal,\r\n apeper:this.apellidoPersonal,\r\n fecnacper:this.fechaNacimientoPersonal,\r\n codpainac:this.codigoPaisNacimiento,\r\n codestnac:this.codigoEstadoNacimiento,\r\n codmunnac:this.codigoMunicipioNacimiento,\r\n codparnac:this.codigoParroquiaNacimiento,\r\n nacper:this.nacionalidadPersonal,\r\n estcivper:this.estadoCivilPersonal,\r\n telhabper:this.telefonoHabitacionPersonal,\r\n telmovper:this.telefonoMovilPersobal,\r\n coreleper:this.correoElectronicoPersonal,\r\n dirper:this.direccionPersonal,\r\n codpai:this.codigoPais,\r\n codest:this.codigoEstado,\r\n codmun:this.codigoMunicipio,\r\n codpar:this.codigoParroquia,\r\n sexper:this.sexoPersonal,\r\n numhijper:+this.numeroHijo,\r\n contra:+this.conyugueTrabaja,\r\n cedbenper:this.cedulaBeneficiarioPersonal,\r\n estatura:this.estatura,\r\n peso:this.peso,\r\n tallcam:this.tallaCamisa,\r\n tallpan:this.tallaPantalon,\r\n tallzap:this.tallaZapato,\r\n id_profesion:this.idProfesion,\r\n nivacaper:this.nivelAcademicoPersonal,\r\n id_componente:+this.idComponente,\r\n id_rango:+this.idRango,\r\n fotper:this.fotoPersonal,\r\n obsper:this.observacionPersonal,\r\n estper:this.estatusPersonal, \r\n id_claper:+this.idClasificacionPersonal, \r\n turper:this.turnoPersonal,\r\n horper:this.horarioPersonal,\r\n hcmper:this.estatusHCMPersonal,\r\n tipsanper:this.tipoSangrePersonal,\r\n numexpper:this.numeroExpedientePersonal,\r\n caroriper:this.cargoOriginalPersonal,\r\n tipvivper:this.tipoViviendaPersonal,\r\n tenvivper:this.tenenciaViviendaPersonal,\r\n monpagvivper:this.montoPagadoViviendaPersonal,\r\n estcajaho:this.estatusCajaAhorro,\r\n cuecajahoper:this.cuentaCajaAhorroPersonal,\r\n porcajaho:this.porcentajeCajaAhorro,\r\n cuelphper:this.cuetaLeyPoliticaHabitacionaPersonal,\r\n cuefidper:this.cuentaFideicomiso,\r\n estsindicato:this.estatusSindicato,\r\n fecingadmpubper:this.fechaIngresoAdministracionPublica,\r\n anoservprefijo:this.anoServicioPrevioFijoAP,\r\n anoservprecont:this.anoServicioPrevioContratadoAP,\r\n anoperobr:this.anoPersonalObrero,\r\n anoservpreper:this.anoServicioPrevioPersonal,\r\n messervpreper:this.mesesServicioPrevioPersonal,\r\n diaservpreper:this.diasServicioPrevioPersonal,\r\n fecingper:this.fechaIngerosPersonal,\r\n fecreingper:this.fechaReingresoPersonal,\r\n fecjubper:this.fechajubilacionPersonal,\r\n fecegrper:this.fechaEgresoPersonal,\r\n cauegrper:this.causaEgresoPersonal,\r\n obsegrper:this.observacionEgresoPersonal,\r\n preaviso:this.preaviso,\r\n feclossfan:this.fechaLOSFAN,\r\n situacion:this.situacion,\r\n fecsitu:this.fechaSituacion,\r\n id_causales:+this.idCausales,\r\n fecregsis:this.fechaRegistroSistema,\r\n codusu:this.codidoUsuario,\r\n observacion:this.observacion, \r\n id_cenmedss:+this.idCentroMedico, \r\n id_tipopersonal:+this.idTipoPersonal, \r\n codcom:this.codigoComponente,\r\n dencom:this.denominacionComponente,\r\n codran:this.codigoRango,\r\n denran:this.denominacionRango,\r\n codcenmedss:this.codigoCentroMedico,\r\n dencenmedss:this.denominacionCentroMedico,\r\n codtipper:this.codigoTipoPersonal,\r\n dentipper:this.denominacionTipoPersonal,\r\n codcau:this.codigoCausaRetiro,\r\n dencau:this.denominacionCausaRetiro, \r\n id_proveedorbeneficiario:this.idProveedorBeneficiario.toString(), \r\n id_sindicato:this.idSindicato.toString(),\r\n codsin:this.codigoSindicato,\r\n densin:this.denominacionSindicato, \r\n conapdis:this.conapdis? '1':'0',\r\n despai:this.nombrePais,\r\n desest:this.nombreEstado,\r\n desmun:this.nombreMunicipio,\r\n despar:this.nombreParroquia, \r\n desest_nac:this.nombreEstadoNacimiento,\r\n despai_nac:this.nombrePaisNacimiento,\r\n id_planhor:this.idPlanHorario.toString(),\r\n id_hora:this.idHora.toString(),\r\n id_puetra:this.idPuestoTrabajo.toString(),\r\n fecdef:this.fechaDefuncion,\r\n fecactdef:this.fechaActaDefuncion,\r\n numactdef:this.numeroActaDefuncion,\r\n id_perper: this.idPermisoPersonal.toString(),\r\n denperper: this.denominacionPermisoPersonal,\r\n codperper: this.codigoPermisoPersonal,\r\n id_ruta:this.idRuta.toString(),\r\n denrut:this.denominacionRuta,\r\n cenvot:this.centoVotacion,\r\n punref:this.puntoReferencia,\r\n \r\n } \r\n } \r\n\r\n}\r\n\r\nexport class MCambioEstatusPersonal extends MBasicModel{\r\n public idEmpresa:number=0; \r\n public idEnterprise:number=0;\r\n public idPersonal: number=0;\r\n public codigoPersonal: string='';\r\n public estatusActual: string='2';\r\n public estatusNuevo: string='2';\r\n public fechaEgreso: string='';\r\n public causaEgreso: string='';\r\n public preaviso: string='1';\r\n public idCausales: number=0;\r\n public observacion: string=''; \r\n public fechaReingreso:string='1900-01-01';\r\n\r\n constructor (e:ICambioEstatusPersonal=null) { \r\n super();\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise;\r\n this.idEmpresa=e.id_empresa; \r\n this.idPersonal = e.idPersonal;\r\n this.codigoPersonal = e.codigoPersonal;\r\n this.estatusActual = e.estatusActual;\r\n this.estatusNuevo = e.estatusNuevo;\r\n this.fechaEgreso = e.fechaEgreso;\r\n this.causaEgreso = e.causaEgreso;\r\n this.preaviso = e.preaviso;\r\n this.idCausales= e.idCausales;\r\n this.observacion = e.observacion; \r\n this.fechaReingreso= e.fechaReingreso;\r\n \r\n }\r\n }\r\n public dataInterface():ICambioEstatusPersonal{\r\n return {\r\n id_empresa:this.idEmpresa,\r\n id_enterprise:this.idEnterprise.toString(),\r\n idPersonal: this.idPersonal,\r\n codigoPersonal: this.codigoPersonal,\r\n estatusActual: this.estatusActual,\r\n estatusNuevo: this.estatusNuevo,\r\n fechaEgreso: this.fechaEgreso,\r\n causaEgreso: this.causaEgreso,\r\n preaviso: this.preaviso,\r\n idCausales: this.idCausales,\r\n observacion: this.observacion, \r\n fechaReingreso:this.fechaReingreso,\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\nexport class MPersonalCuentaBanco extends MBasicModel {\r\n public idEmpresa:number=0; \r\n public idEnterprise:number=0;\r\n public idPersonal:number=0;\r\n public idCuentaBancoPersonal:number=-1;\r\n public codigoCuentaBancoPersonal:string='';\r\n public denominacionCuentaBancoPersonal:string='';\r\n public idBanco:number=0; \r\n public idTipoCuentaBanco:number=0;\r\n public cuentaBancoPersonal:string='';\r\n public estatusCuentaBanco:boolean=true;\r\n public tipoCuentaPrincipal:boolean=false;\r\n public codigoBanco:string='';\r\n public cuentaReducida:string='';\r\n public nombreBanco:string='';\r\n public nombreTipoCuentaBanco:string='';\r\n\r\n constructor(e?:IPersonalCuentasBancarias){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise;\r\n this.idEmpresa=e.id_empresa; \r\n this.idPersonal=parseInt(e.id_personal);\r\n this.idCuentaBancoPersonal=parseInt(e.id_ctabanper);\r\n this.codigoCuentaBancoPersonal=e.codctabanper;\r\n this.denominacionCuentaBancoPersonal=e.denctabanper;\r\n this.idBanco=parseInt(e.id_banco);\r\n this.idTipoCuentaBanco=parseInt(e.id_tipocta);\r\n this.cuentaBancoPersonal=e.ctabanper;\r\n this.estatusCuentaBanco=e.estctabco=='1'? true:false;\r\n this.tipoCuentaPrincipal=e.tipctapri=='1'? true:false;\r\n this.codigoBanco=this.cuentaBancoPersonal.substring(0,4);\r\n this.cuentaReducida=this.cuentaBancoPersonal.slice(4)\r\n this.nombreBanco=e.nomban;\r\n this.nombreTipoCuentaBanco=e.nomtipcta;\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n dataInterface():IPersonalCuentasBancarias{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa:this.idEmpresa, \r\n id_personal:this.idPersonal.toString(), \r\n id_ctabanper:this.idCuentaBancoPersonal.toString(), \r\n codctabanper:this.codigoCuentaBancoPersonal, \r\n denctabanper:this.denominacionCuentaBancoPersonal, \r\n id_banco:this.idBanco.toString(), \r\n id_tipocta:this.idTipoCuentaBanco.toString(), \r\n ctabanper:this.cuentaBancoPersonal, \r\n estctabco:this.estatusCuentaBanco? '1':'0', \r\n tipctapri:this.tipoCuentaPrincipal? '1':'0',\r\n \r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nexport class MEstudiosRealizados {\r\n public idEmpresa:number=0;\r\n public idEnterprise:number=0;\r\n public idPersonal:number=0;\r\n public idEstudio:number=0;\r\n public codigoEstudioRealizado:string='';\r\n public tipoEstudioRealizado:string='1';\r\n public denominacionEstudioRealizado:string='1';\r\n public institutoEstudioRealizado:string='';\r\n public descripcionEstudioRealizado:string=''; \r\n public tituloEstudioRealizado:string=''; \r\n public calificacionEstudioRealizado:number=0;\r\n public escalaValores:string=''; \r\n public fechaInicioEstudioRealizado:string='1900-01-01'; \r\n public fechaFinEstudioRealizado:string='1900-01-01'; \r\n public fechaGradoEstudioRealizado:string='1900-01-01'; \r\n public aprobacionEstudioRealizado:string='1'; \r\n public denominacionAprobacionEstudioRealizado:string; \r\n public anoAprobacionEstudioRealizado:number=0;\r\n public horasEstudioRealizado:number=0;\r\n public TipoEstudio=Estudios\r\n public Aprobado=EstatusEstudio\r\n\r\n constructor (e:IEstudioRealizado= null){\r\n if(e){\r\n this.idEmpresa= e.id_empresa;\r\n this.idEnterprise=+e.id_enterprise;\r\n this.idPersonal= parseInt(e.id_personal);\r\n this.idEstudio= parseInt(e.id_estudio);\r\n this.codigoEstudioRealizado= e.codestrea;\r\n this.tipoEstudioRealizado= e.tipestrea;\r\n this.institutoEstudioRealizado= e.insestrea;\r\n this.descripcionEstudioRealizado= e.desestrea; \r\n this.tituloEstudioRealizado= e.titestrea; \r\n this.calificacionEstudioRealizado= +e.calestrea;\r\n this.escalaValores= e.escval; \r\n this.fechaInicioEstudioRealizado= e.fecinireaest;\r\n this.fechaFinEstudioRealizado= e.fecfinestrea;\r\n this.fechaGradoEstudioRealizado= e.fecgraestrea;\r\n this.aprobacionEstudioRealizado= e.aprestrea; \r\n this.anoAprobacionEstudioRealizado= parseInt(e.anoaprestrea);\r\n this.horasEstudioRealizado= parseInt(e.horestrea); \r\n this.denominacionEstudioRealizado=this.TipoEstudio.find(e=>e.value==this.tipoEstudioRealizado).denominacion \r\n this.denominacionAprobacionEstudioRealizado=this.Aprobado.find(e=>e.value==this.aprobacionEstudioRealizado).denominacion \r\n } \r\n }\r\n\r\n public dataInterface():IEstudioRealizado{\r\n return {\r\n id_empresa:this.idEmpresa, \r\n id_enterprise:this.idEnterprise.toString(),\r\n id_personal:this.idPersonal.toString(),\r\n id_estudio:this.idEstudio.toString(),\r\n codestrea:this.codigoEstudioRealizado,\r\n tipestrea:this.tipoEstudioRealizado,\r\n insestrea:this.institutoEstudioRealizado,\r\n desestrea:this.descripcionEstudioRealizado, \r\n titestrea:this.tituloEstudioRealizado, \r\n calestrea:this.calificacionEstudioRealizado, \r\n escval:this.escalaValores, \r\n fecinireaest:this.fechaInicioEstudioRealizado, \r\n fecfinestrea:this.fechaFinEstudioRealizado, \r\n fecgraestrea:this.fechaGradoEstudioRealizado, \r\n aprestrea:this.aprobacionEstudioRealizado,\r\n anoaprestrea:this.anoAprobacionEstudioRealizado.toString(), \r\n horestrea:this.horasEstudioRealizado.toString(),\r\n }\r\n }\r\n}\r\n\r\nexport class MPrestacionesAntiguedad extends MBasicModel{\r\n public idEmpresa:number=0;\r\n public idEnterprice:number=0;\r\n public idPersonal:number=0;\r\n public idFideicomiso:number=0;\r\n public anoCurPeriodo:number=0;\r\n public mesCurPeriodo:number=0;\r\n public sueldoIntegralPersonal:number=0;\r\n public bonoExtraPersonal:number=0;\r\n public bonoVacacionesPersonal:number=0;\r\n public bonoFinAnnoPersonal:number=0;\r\n public aportePersonal:number=0;\r\n public diaFideicomiso:number=0\r\n public diaAdicional:number=0;\r\n public metodoPresatciones:string='';\r\n public metodoDiasAdicionales:string='';\r\n public bonoVacacionalDiasAdicionalesPersonal:number=0;\r\n public bonoFinAnnoDiasAdicionalesPersonal:number=0;\r\n public sueldoIntegralDiasAdicionalesPersonal:number=0;\r\n public aportePrestacionesPersonal:number=0;\r\n public aporteAdicionalPersonal:number=0;\r\n public codigoUsuario:string='';\r\n public idDtFideicomisoPeriodo:number=0;\r\n \r\n constructor(e:IPrestacionesAntiguedad=null){\r\n super();\r\n if (e) {\r\n this.idEmpresa=e.id_empresa; \r\n this.idEmpresa=+e.id_enterprise\r\n this.idPersonal=parseInt(e.id_personal);\r\n this.idFideicomiso=parseInt(e.id_fideicomiso);\r\n this.anoCurPeriodo=parseInt(e.anocurper);\r\n this.mesCurPeriodo=parseInt(e.mescurper);\r\n this.sueldoIntegralPersonal=+e.sueintper;\r\n this.bonoExtraPersonal=+e.bonextper;\r\n this.bonoVacacionesPersonal=+e.bonvacper;\r\n this.bonoFinAnnoPersonal=+e.bonfinper;\r\n this.aportePersonal=+e.apoper;\r\n this.diaFideicomiso=+e.diafid;\r\n this.diaAdicional=+e.diaadi;\r\n this.metodoPresatciones=e.metodopre;\r\n this.metodoDiasAdicionales=e.metodoadi;\r\n this.bonoVacacionalDiasAdicionalesPersonal=+e.bonvacadiper;\r\n this.bonoFinAnnoDiasAdicionalesPersonal=+e.bonfinadiper;\r\n this.sueldoIntegralDiasAdicionalesPersonal=+e.sueintadiper;\r\n this.aportePrestacionesPersonal=+e.apopreper;\r\n this.aporteAdicionalPersonal=+e.apoadiper;\r\n this.codigoUsuario=e.codusu;\r\n this.idDtFideicomisoPeriodo=parseInt(e.id_dt_fideiperiodo);\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IPrestacionesAntiguedad{\r\n return{\r\n id_empresa:this.idEmpresa,\r\n id_enterprise:this.idEnterprice.toString(),\r\n id_personal:this.idPersonal.toString(),\r\n id_fideicomiso:this.idFideicomiso.toString(),\r\n anocurper:this.anoCurPeriodo.toString(),\r\n mescurper:this.mesCurPeriodo.toString(),\r\n sueintper:this.sueldoIntegralPersonal,\r\n bonextper:this.bonoExtraPersonal,\r\n bonvacper:this.bonoVacacionesPersonal,\r\n bonfinper:this.bonoFinAnnoPersonal,\r\n apoper:this.aportePersonal,\r\n diafid:this.diaFideicomiso,\r\n diaadi:this.diaAdicional,\r\n metodopre:this.metodoPresatciones,\r\n metodoadi:this.metodoDiasAdicionales,\r\n bonvacadiper:this.bonoVacacionalDiasAdicionalesPersonal,\r\n bonfinadiper:this.bonoFinAnnoDiasAdicionalesPersonal,\r\n sueintadiper:this.sueldoIntegralDiasAdicionalesPersonal,\r\n apopreper:this.aportePrestacionesPersonal,\r\n apoadiper:this.aporteAdicionalPersonal,\r\n codusu:this.codigoUsuario,\r\n id_dt_fideiperiodo:this.idDtFideicomisoPeriodo.toString(),\r\n }\r\n }\r\n\r\n \r\n}\r\n\r\n","import { IDetaContable } from \"../../interfaces/EntradaSuministro\";\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\n\r\nexport class MDetaContable extends MBasicModel {\r\n public idEmpresa: number=0;\r\n public idArticulo: number=0;\r\n public codigoArticulo: string='';\r\n public nombreArticulo: string='';\r\n // public idComprobante: number=0;\r\n public fecchaComprobante: string='';\r\n public cuenta: string='';\r\n public nombreCuenta: string='';\r\n public codigoCentroCosto: string='---';\r\n public debehaber: string='';\r\n public idProceso: number=0;\r\n public tipoProceso: string=''; //D, P, T, M, R\r\n public idAlmacen: number=0;\r\n public montoDede: number=0;\r\n public montoHaber: number=0;\r\n public idDetalle: number=0;\r\n \r\n constructor (e:IDetaContable=null) { \r\n super()\r\n if (e){\r\n this.idEmpresa=parseInt(e.id_empresa);\r\n this.idArticulo=parseInt(e.id_articulo);\r\n this.codigoArticulo=e.cod_art;\r\n this.nombreArticulo=e.name_art;\r\n this.fecchaComprobante=e.feccmp;\r\n this.cuenta=e.sc_cuenta;\r\n this.nombreCuenta=e.name_cta;\r\n this.codigoCentroCosto=e.codcencos;\r\n this.debehaber=e.debhab;\r\n this.idProceso=parseInt(e.id_proceso);\r\n this.tipoProceso=e.tipo;\r\n this.idAlmacen=parseInt(e.id_almacen);\r\n this.montoDede=parseFloat(e.montod);\r\n this.montoHaber=parseFloat(e.montoh);\r\n this.idDetalle=parseInt(e.id_detalle);\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n \r\n public dataInterface():IDetaContable{\r\n return {\r\n id_empresa: this.idEmpresa.toString(),\r\n id_articulo: this.idArticulo.toString(), \r\n cod_art: this.codigoArticulo,\r\n name_art: this.nombreArticulo,\r\n feccmp: this.fecchaComprobante, \r\n sc_cuenta: this.cuenta, \r\n name_cta: this.nombreCuenta,\r\n codcencos: this.codigoCentroCosto, \r\n debhab: this.debehaber, \r\n id_proceso: this.idProceso.toString(), \r\n tipo: this.tipoProceso, \r\n id_almacen: this.idAlmacen.toString(), \r\n montod: this.montoDede.toString(), \r\n montoh: this.montoHaber.toString(), \r\n id_detalle: this.idDetalle.toString(),\r\n }\r\n }\r\n} ","import { IDetaEntrada } from \"../../interfaces/EntradaSuministro\";\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\n\r\nexport class MDetaEntrada extends MBasicModel {\r\n public idEmpresa: number=0;\r\n public idArticulo: number=0;\r\n public codigoArticulo: string='';\r\n public nombreArticulo: string='';\r\n public cuentaContable: string='';\r\n public nameCtaContable: string='';\r\n public idEntrega: number=0;\r\n public modalidad: string=''; \r\n public idUnidadMedida: number=0; \r\n public nombreUniMedida: string='';\r\n public unidetal: string='';\r\n public cantOrigen: number=0; //canoriart\r\n public cantRecibida: number=0; //canrecart\r\n public pendiente: number=0; //canpenart\r\n public lote: string='';\r\n public serial: string=''; \r\n public costoUnitario: number=0; //preuniart\r\n public subTotal: number=0; //monsubart \r\n public costoTotal: number=0; //montotart\r\n public idDetalleEntrega: number=0; \r\n public idUnidadAdministradora: number=0;\r\n public codigoUniAdm:string ='---'; //coduniadm \r\n public nameUniAdm:string ='---'; //denuniadm\r\n public centroCosto:string ='---';\r\n public nameCentroCosto: string='';//denominacion\r\n public existencia: number=0;\r\n public idDetalleExistencia: number=0; \r\n\r\n constructor (e:IDetaEntrada=null) { \r\n super()\r\n if (e){\r\n this.idEmpresa=parseInt(e.id_empresa);\r\n this.idArticulo=parseInt(e.id_articulo);\r\n this.codigoArticulo=e.codigo_articulo;\r\n this.nombreArticulo= e.nombre_articulo;\r\n this.cuentaContable=e.sc_cuenta;\r\n this.nameCtaContable=e.name_cta;\r\n this.idEntrega=parseInt(e.id_recepcion);\r\n this.modalidad= e.modalidad; \r\n this.idUnidadMedida=parseInt(e.id_unimed); \r\n this.nombreUniMedida= e.nombre_unimed;\r\n this.unidetal=e.unidetal;\r\n this.cantOrigen=parseFloat(e.canoriart); //canoriart\r\n this.cantRecibida=parseFloat(e.canrecart); //canrecart\r\n this.pendiente=parseFloat(e.canpenart); //canpenart\r\n this.lote= e.lote;\r\n this.serial= e.numserial;\r\n this.costoUnitario=parseFloat(e.preuniart); //preuniart\r\n this.subTotal=parseFloat(e.monsubart); //monsubart \r\n this.costoTotal=parseFloat(e.montotart); //montotart\r\n this.idDetalleEntrega=parseInt(e.id_dt_recepcion); \r\n this.idUnidadAdministradora= parseInt(e.id_uniadm);\r\n this.codigoUniAdm=e.coduniadm;\r\n this.nameUniAdm=e.denuniadm;\r\n this.centroCosto = e.codcencos;\r\n this.nameCentroCosto =e.denominacion;\r\n this.existencia= parseFloat(e.existencia);\r\n this.idDetalleExistencia = parseInt(e.id_artalm);\r\n } \r\n }\r\n \r\n public dataInterface():IDetaEntrada{\r\n return {\r\n id_empresa: this.idEmpresa.toString(),\r\n id_articulo: this.idArticulo.toString(), \r\n id_recepcion: this.idEntrega.toString(),\r\n codigo_articulo: this.codigoArticulo,\r\n nombre_articulo: this.nombreArticulo,\r\n sc_cuenta: this.cuentaContable,\r\n name_cta: this.nameCtaContable,\r\n modalidad: this.modalidad, \r\n id_unimed: this.idUnidadMedida.toString(), \r\n nombre_unimed: this.nombreUniMedida,\r\n unidetal: this.unidetal,\r\n canoriart: this.cantOrigen.toString(), \r\n canrecart: this.cantRecibida.toString(), \r\n canpenart: this.pendiente.toString(), \r\n lote: this.lote, \r\n numserial: this.serial, \r\n preuniart: this.costoUnitario.toString(), \r\n monsubart: this.subTotal.toString(), \r\n montotart: this.costoTotal.toString(), \r\n id_dt_recepcion: this.idDetalleEntrega.toString(), \r\n id_uniadm: this.idUnidadAdministradora.toString(), \r\n coduniadm: this.codigoUniAdm,\r\n denuniadm: this.nameUniAdm,\r\n codcencos: this.centroCosto,\r\n denominacion: this.nameCentroCosto,\r\n existencia: this.existencia.toString(),\r\n id_artalm: this.idDetalleExistencia.toString(),\r\n }\r\n }\r\n} ","import { IEntradaSuministros } from '../../interfaces/EntradaSuministro';\r\nimport { MBasicModel } from '../basic-model.model';\r\nimport { MDetaContable } from './MDetaContable.model';\r\nimport { MDetaEntrada } from './MDetaEntrada.model';\r\n\r\nexport class MEntradaSuministros extends MBasicModel{\r\n public idEmpresa: number=0;\r\n public idEntrada: number=0;\r\n public idAlmacen: number=0;\r\n public codigoAlmacen: string='';\r\n public NameAlmacen: string='';\r\n public cuentaContableES: string='';\r\n public nameCuentaContable: string='';\r\n public idProveedor: number=0; //soc id_proveedor\r\n public NameProveedor: string=''; //soc nompro\r\n public rifPro: string=''; //soc \r\n public codigoDocumentoEntrada: string=''; //soc numordcom //15\r\n public codigo: string=''; //15\r\n public numeroLote: string=''; //15\r\n public fechaRegistro: string=''; \r\n public observacion: string='Ninguna'; \r\n public tipoEntrega: string='';// tipentrece completa o parcial C ó P\r\n public tipoEntrada: number=null; //estprodoc 0 orden de compra, 1 factura: cxp\r\n public tipodoc: string='';\r\n public estatusEntrada: number=0; \r\n public aprobado: number=0;\r\n public afectacion: number=0; \r\n public centroCosto: string='---'; //soc codcencos\r\n public nameCencos: string=''; //soc namecencos\r\n public idUnidadEjecutora: number=0; //soc codcencos\r\n public codigoUnidadEjecutora: string=''; //soc codcencos\r\n public nameUnidadEjecutora: string=''; //soc codcencos\r\n public integrado: number=0;\r\n public fechaApro: string='1900-01-01'; \r\n public fechaCon: string='1900-01-01'; \r\n public fechaAnu: string='1900-01-01'; \r\n public usuRegistro: string=''; \r\n public usuAprobacion: string=''; \r\n public usuContabilizar: string=''; \r\n public usuAnulacion: string=''; \r\n public recepcion: string='';\r\n public conanu:string='';\r\n public fechaesp:string='';\r\n public detalleEntrada: MDetaEntrada[]=[];\r\n public detalleContable: MDetaContable[]=[];\r\n\r\n constructor (e:IEntradaSuministros=null) { \r\n super()\r\n if (e){\r\n this.idEmpresa=parseInt(e.id_empresa);\r\n this.idEntrada=parseInt(e.id_recepcion);\r\n this.idAlmacen=parseInt(e.id_almacen);\r\n this.NameAlmacen=e.nomfisalm;\r\n this.cuentaContableES=e.sc_cuenta;\r\n this.nameCuentaContable=e.name_sc_cta;\r\n this.codigoAlmacen=e.codalm;\r\n this.idProveedor=parseInt(e.id_proveedor);\r\n this.NameProveedor=e.name_proveedor;\r\n this.rifPro=e.rifpro;\r\n this.codigoDocumentoEntrada=e.numordfac; //15\r\n this.codigo=e.codrec; //15\r\n this.numeroLote=e.numlote; //15\r\n this.fechaRegistro=e.fecrec; \r\n this.observacion=e.obsrec; \r\n this.tipoEntrega=e.tipentrec;// tipentrece completa o parcial C ó P\r\n this.tipoEntrada=parseInt(e.estprodoc); //estprodoc 0 orden de compra, 1 factura: cxp, 2 inventario inicial\r\n this.tipodoc=e.tipodoc;\r\n this.estatusEntrada=parseInt(e.estrec);\r\n this.aprobado=parseInt(e.estapr);\r\n this.afectacion=parseInt(e.estafe);\r\n this.centroCosto=e.codcencos; \r\n this.nameCencos=e.name_cencos;\r\n this.idUnidadEjecutora=parseInt(e.id_uniadm);\r\n this.codigoUnidadEjecutora=e.codigo_uniadm;\r\n this.nameUnidadEjecutora=e.name_uniadm;\r\n this.integrado=parseInt(e.estint);\r\n this.fechaApro=e.fecapr; \r\n this.fechaCon=e.feccon; \r\n this.fechaAnu=e.fecanu; \r\n this.usuRegistro=e.codusureg; \r\n this.usuAprobacion=e.codusuapr; \r\n this.usuContabilizar=e.codusucon;\r\n this.usuAnulacion=e.codusuanu;\r\n this.recepcion=e.recepcion;\r\n this.conanu=e.conanu;\r\n this.fechaesp=e.fecesp;\r\n this.detalleEntrada=e.detalle_entrada.map(e=> new MDetaEntrada(e));\r\n this.detalleContable=e.detalle_contable.map(e=> new MDetaContable(e));\r\n } \r\n }\r\n \r\n public dataInterface():IEntradaSuministros{\r\n return {\r\n id_empresa: this.idEmpresa.toString(),\r\n id_recepcion: this.idEntrada.toString(),\r\n id_almacen: this.idAlmacen.toString(),\r\n nomfisalm: this.NameAlmacen,\r\n sc_cuenta: this.cuentaContableES,\r\n name_sc_cta: this.nameCuentaContable,\r\n codalm: this.codigoAlmacen,\r\n id_proveedor: this.idProveedor.toString(),\r\n name_proveedor: this.NameProveedor,\r\n rifpro: this.rifPro,\r\n numordfac: this.codigoDocumentoEntrada, \r\n codrec: this.codigo, \r\n numlote: this.numeroLote, \r\n fecrec: this.fechaRegistro, \r\n obsrec: this.observacion,\r\n tipentrec: this.tipoEntrega, \r\n estprodoc: this.tipoEntrada.toString(),\r\n tipodoc: this.tipodoc,\r\n estrec: this.estatusEntrada.toString(),\r\n estapr: this.aprobado.toString(),\r\n estafe: this.afectacion.toString(),\r\n codcencos: this.centroCosto,\r\n name_cencos: this.nameCencos,\r\n id_uniadm: this.idUnidadEjecutora.toString(),\r\n codigo_uniadm: this.codigoUnidadEjecutora,\r\n name_uniadm: this.nameUnidadEjecutora,\r\n estint: this.integrado.toString(),\r\n fecapr: this.fechaApro, \r\n feccon: this.fechaCon, \r\n fecanu: this.fechaAnu, \r\n codusureg: this.usuRegistro, \r\n codusuapr: this.usuAprobacion, \r\n codusucon: this.usuContabilizar,\r\n codusuanu: this.usuAnulacion, \r\n recepcion:this.recepcion,\r\n conanu: this.conanu,\r\n fecesp: this.fechaesp,\r\n detalle_entrada: this.detalleEntrada.map(function (e) { return e.dataInterface(); }),\r\n detalle_contable: this.detalleContable.map(function (e) { return e.dataInterface(); }),\r\n }\r\n }\r\n} ","import { ITipoDepositos } from \"../../interfaces/ITipoDepositos\";\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\n\r\nexport class MTipoDepositos extends MBasicModel {\r\n\tpublic idEmpresa: number=0;\r\n\tpublic idEnterprise: number=0;\r\n\tpublic idAlmacen: number=0;\r\n\tpublic idDeposito: number=0;\r\n\tpublic idTipoDeposito: number=0;\r\n\tpublic idArticulo: number=0;\r\n\tpublic idUbicacion:number=0;\r\n\tpublic idLote:number=0;\r\n public codigoAlmacen:string='';\r\n\tpublic nombreAlmacen:string='';\r\n\tpublic codigoTipoDeposito:string='';\r\n\tpublic denominacionTipoDeposito:string='';\r\n\tpublic codigoDeposito:string='';\r\n\tpublic denominacionDeposito:string='';\r\n\tpublic codigoArticulo:string='';\r\n\tpublic denominacionArticulo:string='';\r\n\tpublic codigoLote:string='';\r\n\tpublic zona:string='';\r\n public pasillo:string='';\r\n public nivel:string='';\r\n public subnivel:string='';\r\n public codigo:string='';\r\n public recepcion: number=0;\r\n public reservacion: number=0;\r\n public despacho: number=0;\r\n public disponible: number=0;\r\n\tpublic seriaLote:string='';\r\n\tpublic cantidad:number=0;\r\n\r\n \r\n\r\n\tconstructor (e?:ITipoDepositos) { \r\n super();\r\n\t\tif (e){\r\n\t\t\tthis.idEmpresa= +e.id_empresa;\r\n\t\t\tthis.idEnterprise= +e.id_enterprise;\r\n\t\t\tthis.idAlmacen= +e.id_almacen;\r\n\t\t\tthis.idDeposito= +e.id_deposito;\r\n\t\t\tthis.idTipoDeposito= +e.id_tipodeposito;\r\n\t\t\tthis.idUbicacion = +e.id_ubicacion;\r\n\t\t\tthis.idArticulo= +e.id_articulo;\r\n\t\t\tthis.idLote =+e.id_lote;\r\n\t\t\tthis.codigoAlmacen= e.codalm;\r\n\t\t\tthis.nombreAlmacen= e.nomfisalm;\r\n\t\t\tthis.codigoTipoDeposito= e.codtipalm;\r\n\t\t\tthis.denominacionTipoDeposito= e.dentipalm;\r\n\t\t\tthis.codigoDeposito= e.coddep;\r\n\t\t\tthis.denominacionDeposito= e.dendep;\r\n\t\t\tthis.codigoArticulo= e.codart;\r\n\t\t\tthis.denominacionArticulo= e.denart;\r\n\t\t\tthis.zona= e.zona;\r\n\t\t\tthis.pasillo= e.pasillo;\r\n\t\t\tthis.nivel= e.nivel;\r\n\t\t\tthis.subnivel= e.subnivel;\r\n\t\t\tthis.codigo= e.codigo;\r\n\t\t\tthis.recepcion= +e.recepcion;\r\n\t\t\tthis.reservacion= +e.reservacion;\r\n\t\t\tthis.despacho= +e.despacho;\r\n\t\t\tthis.disponible= +e.disponible;\r\n\t\t\tthis.codigoLote =e.codlote;\r\n\t\t\tthis.seriaLote =e.serlot;\r\n\t\t\tthis.cantidad= +e.cantidad;\r\n\r\n\t\t} else{\r\n this.isNew=true;\r\n } \r\n\t}\r\n \r\n\tpublic dataInterface():ITipoDepositos{\r\n\t\treturn {\r\n\t\t\tid_empresa: this.idEmpresa.toString(),\r\n\t\t\tid_enterprise:this.idEnterprise.toString(),\r\n\t\t\tid_almacen:this.idAlmacen.toString(),\r\n\t\t\tid_deposito:this.idDeposito.toString(),\r\n\t\t\tid_tipodeposito: this.idTipoDeposito.toString(),\r\n\t\t\tid_articulo:this.idArticulo.toString(),\t\r\n\t\t\tid_ubicacion:this.idUbicacion.toString(),\t\r\n\t\t\tid_lote: this.idLote.toString(),\r\n\t\t\tcodlote: this.codigoLote, \r\n\t\t\tserlot:this.seriaLote,\r\n\t\t\tcodalm: this.codigoAlmacen,\r\n\t\t\tnomfisalm: this.nombreAlmacen,\r\n\t\t\tcodtipalm:this.codigoTipoDeposito,\r\n\t\t\tdentipalm: this.denominacionTipoDeposito,\r\n\t\t\tcoddep:this.codigoDeposito,\r\n\t\t\tdendep:this.denominacionTipoDeposito,\r\n\t\t\tcodart: this.codigoArticulo,\r\n\t\t\tdenart: this.denominacionArticulo,\r\n\t\t\tzona:this.zona,\r\n\t\t\tpasillo:this.pasillo,\r\n\t\t\tnivel:this.nivel,\r\n\t\t\tsubnivel:this.subnivel,\r\n\t\t\tcodigo:this.codigo, \r\n\t\t\trecepcion: this.recepcion.toString(),\r\n\t\t\treservacion: this.reservacion.toString(),\r\n\t\t\tdespacho: this.despacho.toString(),\r\n\t\t\tdisponible:this.disponible.toString(),\r\n\t\t\tcantidad:this.cantidad.toString()\r\n\t\t}\r\n\t}\r\n} ","import { IComunidad } from '../../interfaces/Comunidad';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MComunidad extends MBasicModel{\r\n public codestado: string;\r\n public codigo: string;\r\n public codmunicipio: string;\r\n public codparroquia: string;\r\n public comunidad: string;\r\n public estado: string;\r\n public municipio: string;\r\n public pais: string;\r\n public parroquia: string;\r\n public prefijo: string;\r\n\r\n constructor(comunidad?: IComunidad) {\r\n super();\r\n if(comunidad){this.codestado = comunidad.codestado;\r\n this.codigo = comunidad.codigo;\r\n this.codmunicipio = comunidad.codmunicipio;\r\n this.codparroquia = comunidad.codparroquia;\r\n this.comunidad = comunidad.comunidad;\r\n this.estado = comunidad.estado;\r\n this.municipio = comunidad.municipio;\r\n this.pais = comunidad.pais;\r\n this.parroquia = comunidad.parroquia;\r\n this.prefijo = comunidad.prefijo;\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n \r\n}","import { ITasaCambio } from \"../../interfaces/Configuracion\";\r\nimport { MBasicModel } from \"../basic-model.model\";\r\n\r\nexport class MExchangeRate extends MBasicModel{\r\n public idTasaCambio:number=0;\r\n public idMoneda:number=0;\r\n public fechaDesde:string='1900-01-01';\r\n public horaCambioTasa:string=''; \r\n public fechaHasta:string='1900-01-01';\r\n public montoTasa:number=0;\r\n public denominacionMoneda:string='';\r\n \r\n\r\n constructor(e?: ITasaCambio){ \r\n super(); \r\n if(e){\r\n this.idTasaCambio=+e.id_tascam;\r\n this.idMoneda=+e.id_moneda;\r\n this.fechaDesde=e.fectasdes;\r\n this.horaCambioTasa=e.horcamtas; \r\n this.fechaHasta=e.fectashas;\r\n this.montoTasa=+e.montascam;\r\n this.denominacionMoneda=e.denmon;\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():ITasaCambio {\r\n return {\r\n id_tascam:this.idTasaCambio.toString(), \r\n id_moneda:this.idMoneda.toString(), \r\n fectasdes:this.fechaDesde, \r\n horcamtas:this.horaCambioTasa, \r\n fectashas:this.fechaHasta, \r\n montascam:this.montoTasa.toString(),\r\n denmon:this.denominacionMoneda,\r\n }\r\n }\r\n}","import { ICargoAdicional } from \"../../interfaces/Tributos\";\r\nimport { MBasicModel } from \"../basic-model.model\";\r\n\r\nexport class MCargosAdicionales extends MBasicModel{\r\n\r\n public isNew: boolean = false;\r\n public error: boolean = false;\r\n public idEmpresa: number = 0;\r\n public id: number = 0;\r\n public codigo: string = \"\";\r\n public denominacion: string = \"\";\r\n public codigoEstruraPresupuestaria: string ='';\r\n public porcentaje: number = 0;\r\n public formula: string = \"\";\r\n public tipo: number = 0;\r\n public cuenta: string = \"\";\r\n public idEp1:number=0;\r\n public idEp2:number=0;\r\n public idEp3:number=0;\r\n public idEp4:number=0;\r\n public idEp5:number=0;\r\n public idCentroCosto:number=0;\r\n public idFuenteFinanciamiento:number=0;\r\n public denominacionCuenta:string=''\r\n public idUnidadOrganizativa:number=0;\r\n public codigoUnidadOrganizativa:string=''\r\n public denominacionUnidadOrganizativa:string=''\r\n public codigoCentroCosto:string='---';\r\n public denominacionCentroCosto:string='';\r\n public codigoFuenteFinanciamiento:number=0;\r\n public codigoFuenteFinanciamientoMostrar:string='';\r\n public denominacionFuenteFinanciamiento:string='';\r\n\r\n\r\n\r\n \r\n //public estadoTipoPresupuesto: string = \"E\"\r\n\r\n constructor(charge?: ICargoAdicional){\r\n super();\r\n if (charge){\r\n this.idEmpresa = parseInt(charge.id_empresa);\r\n this.id = parseInt(charge.id_cargoadi);\r\n this.codigo = charge.codcar;\r\n this.denominacion = charge.dencar;\r\n this.codigoEstruraPresupuestaria = charge.codestpre;\r\n this.porcentaje = parseFloat(charge.porcar);\r\n this.formula = charge.formula;\r\n this.tipo = parseInt(charge.tipo);\r\n this.cuenta = charge.cuenta;\r\n this.idEp1=+charge.id_ep1;\r\n this.idEp2=+charge.id_ep2;\r\n this.idEp3=+charge.id_ep3;\r\n this.idEp4=+charge.id_ep4;\r\n this.idEp5=+charge.id_ep5;\r\n this.denominacionCuenta=charge.dencuenta;\r\n this.denominacionCuenta=charge.dencuenta;\r\n this.idUnidadOrganizativa=+charge.id_uniadm;\r\n this.codigoUnidadOrganizativa=charge.coduniadm;\r\n this.denominacionUnidadOrganizativa=charge.denuniadm;\r\n this.codigoCentroCosto=charge.codcencos;\r\n this.denominacionCentroCosto=charge.dencencos;\r\n this.codigoFuenteFinanciamiento=+charge.id_fuenfin;\r\n this.codigoFuenteFinanciamientoMostrar=charge.codigoftefin;\r\n this.denominacionFuenteFinanciamiento=charge.denfuefin;\r\n\r\n } else {\r\n this.isNew = true;\r\n }\r\n }\r\n\r\n public dataInterface():ICargoAdicional{\r\n return {\r\n id_empresa: this.idEmpresa.toString(),\r\n id_cargoadi: this.id.toString(),\r\n codcar: this.codigo,\r\n dencar: this.denominacion,\r\n codestpre: this.codigoEstruraPresupuestaria,\r\n porcar: this.porcentaje.toString(),\r\n formula: this.formula,\r\n tipo: this.tipo.toString(),\r\n cuenta: this.cuenta,\r\n id_ep1:this.idEp1.toString(),\r\n id_ep2:this.idEp2.toString(),\r\n id_ep3:this.idEp3.toString(),\r\n id_ep4:this.idEp4.toString(),\r\n id_ep5:this.idEp5.toString(),\r\n dencuenta:this.denominacionCuenta,\r\n id_uniadm:this.idUnidadOrganizativa.toString(),\r\n codcencos:this.codigoCentroCosto,\r\n id_cencos:this.idCentroCosto.toString(),\r\n id_fuenfin:this.idFuenteFinanciamiento.toString(),\r\n }\r\n }\r\n\r\n\r\n}","import { IClient } from \"../../interfaces/Cliente\";\r\nimport { EstatusCliente } from \"../../interfaces/Constantes\";\r\n\r\nexport class MClient {\r\n public idEmpresa : number = 0;\r\n public idCliente : number = 0;\r\n public idCategoria : number = 0;\r\n public idVendedor : number = 0;\r\n public estatusTipoCliente : number = 0;\r\n public codigo : string = '';\r\n public cedulaRifCliente : string = '';\r\n public nombreCliente : string = '';\r\n public direccionCliente : string = '';\r\n public telefonoClientePrincipal : string = '';\r\n public telefonoClienteSecundario : string = '';\r\n public fechaRegistroCliente : string = '';\r\n public emailCliente : string = '';\r\n public estatusCliente : string = '';\r\n public cedulaRepresentante : string = '';\r\n public nombreRepresentante : string = '';\r\n public emailRepresentante : string = '';\r\n public comentario : string = '';\r\n public codigoPais: string = '';\r\n public codigoEstado : string = '';\r\n public codigoMunicipio : string = '';\r\n public codigoParroquia : string = '';\r\n public codigoPostal : string = '';\r\n public nompreApellidoContato : string = '';\r\n public ubicacionContacto : string = '';\r\n public telelefonoContacto : string = '';\r\n public emailContacto : string = '';\r\n public aplicarCuentaPorCobrar :number = 0;\r\n public descripcionParroquia : string = '';\r\n public descripcionMunicipio : string = '';\r\n public descripcionEstado : string = '';\r\n public descripcionPais : string = '';\r\n public clienteEspecial : number = 0;\r\n public limiteCredito :number = 0;\r\n public denominacionEstataus:string='';\r\n \r\n constructor (e?:IClient) {\r\n if (e){\r\n this.idEmpresa=e.id_empresa;\r\n this.idCliente=e.id_cliente;\r\n this.idCategoria=e.id_categoria;\r\n this.idVendedor=e.id_vendedor;\r\n this.estatusTipoCliente=e.esttipcli;\r\n this.codigo=e.codigo\r\n this.cedulaRifCliente=e.cedrifcli;\r\n this.nombreCliente=e.nomcli;\r\n this.direccionCliente=e.dircli;\r\n this.telefonoClientePrincipal=e.telclipri;\r\n this.telefonoClienteSecundario=e.telclisec;\r\n this.fechaRegistroCliente=e.fecregcli;\r\n this.emailCliente=e.emacli;\r\n this.estatusCliente=e.estcli;\r\n this.cedulaRepresentante=e.cedrep;\r\n this.nombreRepresentante=e.nomrep;\r\n this.emailRepresentante=e.emarep;\r\n this.comentario=e.comentario;\r\n this.codigoPais=e.codpai;\r\n this.codigoEstado=e.codest;\r\n this.codigoMunicipio=e.codmun;\r\n this.codigoParroquia=e.codpar;\r\n this.codigoPostal=e.codpos;\r\n this.nompreApellidoContato=e.nomapecon;\r\n this.ubicacionContacto=e.ubicon;\r\n this.telelefonoContacto=e.telcon;\r\n this.emailContacto=e.emacon;\r\n this.aplicarCuentaPorCobrar=e.aplicarcxc;\r\n this.descripcionParroquia=e.despar;\r\n this.descripcionMunicipio=e.desmun;\r\n this.descripcionEstado=e.desest;\r\n this.descripcionPais=e.despai;\r\n this.clienteEspecial=e.cliesp;\r\n this.limiteCredito=e.limitecredito; \r\n this.denominacionEstataus=EstatusCliente.find(e=>e.value=this.estatusCliente).denominacion;\r\n }\r\n }\r\n\r\n public dataInterface():IClient{\r\n return {\r\n id_empresa: this.idEmpresa,\r\n id_cliente: this.idCliente,\r\n id_categoria: this.idCategoria,\r\n id_vendedor: this.idVendedor,\r\n codigo: this.codigo,\r\n cedrifcli: this.cedulaRifCliente,\r\n nomcli: this.nombreCliente,\r\n dircli: this.direccionCliente,\r\n telclipri: this.telefonoClientePrincipal,\r\n telclisec: this.telefonoClienteSecundario,\r\n fecregcli: this.fechaRegistroCliente,\r\n emacli: this.emailCliente,\r\n estcli: this.estatusCliente,\r\n cedrep: this.cedulaRepresentante,\r\n nomrep: this.nombreCliente,\r\n emarep: this.emailRepresentante,\r\n comentario: this.comentario,\r\n codpai: this.codigoPais,\r\n codest:this.codigoEstado,\r\n codmun:this.codigoMunicipio,\r\n codpar:this.codigoParroquia,\r\n codpos:this.codigoPostal,\r\n nomapecon:this.nompreApellidoContato,\r\n ubicon:this.ubicacionContacto,\r\n telcon:this.telelefonoContacto,\r\n emacon:this.emailContacto,\r\n aplicarcxc:this.aplicarCuentaPorCobrar, \r\n despar: this.descripcionPais,\r\n desmun: this.descripcionMunicipio,\r\n desest: this.descripcionEstado,\r\n despai: this.descripcionPais,\r\n cliesp: this.clienteEspecial,\r\n limitecredito: this.limiteCredito,\r\n esttipcli:this.estatusTipoCliente,\r\n }\r\n }\r\n}\r\n","import { MPrefijo } from './core/models/CFG/MPrefijo.model';\r\nimport { MEnterprise } from './core/models/CFG/Enterprise.model';\r\nimport { MPersonalNomina } from './core/models/SNO/MPersonalNomina.model';\r\nimport { MHojaTiempo } from './core/models/SNO/MHojaTiempo.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { MUsuario } from './core/models/SSS/user.model';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport { IRequest } from './core/interfaces/Request';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { MProveedor } from './core/models/RPC/proveedores.model';\r\nimport { map, catchError, retry } from 'rxjs/operators';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MUsuarioPrefijo } from './core/models/CFG/userPrefix.model';\r\nimport { ICatalogo, filterData } from './core/interfaces/Catalogo';\r\nimport { CatalogoComponent } from './shared/components/catalogo/catalogo.component';\r\nimport { MCuentaPresupuesto } from './core/models/SPG/cuentaPresupuesto.model';\r\nimport { MCuentaInstitucional } from './core/models/SCG/cuentaInstitucional.model';\r\nimport { MMoneda, MMonedaConfig } from './core/models/CFG/moneda.model';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { MUnidadTributaria } from './core/models/STB/unidadTributaria.model';\r\nimport { AbstractControl, UntypedFormGroup } from '@angular/forms';\r\nimport { ConfirmComponent } from './shared/components/confirm/confirm.component';\r\nimport { MConfiguracionSCG } from './core/models/SCG/configuracionSCG.model';\r\nimport { IConexion } from './core/interfaces/Usuario';\r\nimport { TableSelectComponent } from './shared/components/table-select/table-select.component';\r\nimport { MConfigurationSPG } from './core/models/SPG/configurationSPG.model';\r\nimport { MCentroCosto } from './core/models/SCG/centroCosto.model';\r\nimport { MFuenteFinanciamiento } from './core/models/SPG/fuenteFinanciamiento.model';\r\nimport { MCuentaEgresos } from './core/models/SPG/expensiveAccount.model';\r\nimport { CatalogoEstructurasComponent } from './shared/components/catalogo-estructuras/catalogo-estructuras.component';\r\nimport { IUpdateDistribution, IUpdateDistribution2, IUpdateDistributionIngresos, IUpdateDistributionIngresos2 } from './core/interfaces/CuentaEgresos';\r\nimport { CatalogoDobleInputComponent } from './shared/components/catalogo-doble-input/catalogo-doble-input.component';\r\nimport { MSistema, MUsuarioSistema } from './core/models/SSS/sistema';\r\nimport { IComprobantePresupuestarioEgresos, IComprobantePresupuestarioIngresos } from './core/interfaces/ComprobantePresupuestario';\r\nimport { MComprobantePresupuestarioEgresos, MComprobantePresupuestarioIngresos } from './core/models/SPG/comprobantePresupuestario.model';\r\nimport { MCuentaIngresos } from './core/models/SCG/IncomeAccount';\r\nimport { MIncomeStructureAccount } from './core/models/SPG/incomeStructureAccount.model';\r\nimport { MOrganizationType } from './core/models/SPG/organizationType.model';\r\nimport { MSpecialty } from './core/models/RPC/specialty.model';\r\nimport { MDocument } from './core/models/RPC/document.model';\r\nimport { MClasification } from './core/models/RPC/clasification.model';\r\nimport { MCountry, MState, MMunicipality, MParish, MCity, MCommunity } from './core/models/CFG/locations.model';\r\nimport { MProviderBeneficiary } from './core/models/RPC/providerBeneficiary.model';\r\nimport { MSigecofBank, MBank, MBankAccountType, MAgenciaBanco, MCuentaBanco } from './core/models/SCB/bank.model';\r\nimport { IResponse } from './core/interfaces/Response';\r\nimport { MConfigurationRPC } from './core/models/RPC/configuracionRPC.model';\r\nimport { MConfigSOC } from './core/models/SOC/configuracionSOC.model';\r\nimport { MDeductionType } from './core/models/STB/deductionType.model';\r\nimport { MCargo } from './core/models/SOC/charge.model';\r\nimport { MConceptoRetencion, MDeduction } from './core/models/STB/deduction.model';\r\nimport { MConfigSSS } from './core/models/SSS/securityConfiguration.model';\r\nimport { MAdministrativeUnit, MEstructuras } from './core/models/SPG/administrativeUnit.model';\r\nimport { MComponent } from './core/models/SSS/component.model';\r\nimport { MLog } from './core/models/SSS/log.model';\r\nimport { MServiceCharge } from './core/models/SOC/serviceCharge.model';\r\nimport { MEmpresa } from './core/models/CFG/Empresa.model';\r\nimport { MConceptosCXP } from './core/models/CXP/MConceptosCXP.model';\r\nimport { MTipoDocumentoCXP } from './core/models/CXP/MTipoDocumentoCXP.model';\r\nimport { MConfiguracionSNO } from './core/models/SNO/MConfiguracionSNO.model';\r\nimport { MDefinicionNomina } from './core/models/SNO/MDefinicionNomina.model';\r\nimport { MAsignacionCargo } from './core/models/SNO/MAsignacionCargo.model';\r\nimport { MNominaSimple } from './core/models/SNO/MNominaSimple.model';\r\nimport { MPersonal } from './core/models/SNO/MPersonal.model';\r\nimport { MEntradaSuministros } from './core/models/SIV/MEntradaSuministro.model';\r\nimport Swal from 'sweetalert2'\r\nimport * as CryptoJS from 'crypto-js'; \r\nimport { MSnoLog } from './core/models/SNO/MAuditoria.model';\r\nimport { MTipoDepositos } from './core/models/SIV/MTipoDepositos.model';\r\nimport { MComunidad } from './core/models/CFG/comunidad.model';\r\nimport { MExchangeRate } from './core/models/CFG/TasaCambio.model';\r\nimport { MCargosAdicionales} from './core/models/STB/MCargosAdicionales';\r\nimport { MClient } from './core/models/SFV/MClienteModel';\r\n\r\n \r\n @Injectable({\r\n providedIn: 'root'\r\n })\r\n export class SigespService {\r\n\r\n public usuarioActivo: MUsuario = null;\r\n public URL: string;\r\n public currentComponent: MComponent = null;\r\n public userMenu = null; \r\n public ip_adress = '127.0.0.1';\r\n // public URL: string = \"http://192.168.1.67/sigesp_php\";\r\n // usuarioActivo: MUsuario = {\r\n // conexionDB: {\r\n // baseDeDatos: \"db_sigesp_demov3\",\r\n // gestor: \"postgres\",\r\n // login: \"postgres\",\r\n // nombre: \"SIGESP C.A, servidor 85 (SE PUEDE USAR)\",\r\n // password: \"adminsigesp\",\r\n // puerto: \"5432\",\r\n // servidor: \"192.168.1.67\",\r\n // },\r\n // empresa: {\r\n // id: 1,\r\n // periodoFiscal: \"2019-01-01\",\r\n // titulo: \"SIGESP C.A.\"\r\n // },\r\n // nombre: \"SIGESP\",\r\n // token: \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzM4NCJ9.eyJwYXNzd29yZF91c3UiOiIxMjM0NTY3OCIsImlkX2VtcHJlc2EiOiIxIiwidGl0ZW1wIjoiU0lHRVNQIEMuQS4iLCJwZXJmaXNjYWwiOiIyMDE5LTAxLTAxIiwibF91c3VhcmlvIjoiU0lHRVNQIiwic2Vydmlkb3IiOiIxOTIuMTY4LjEuNjciLCJwdWVydG8iOiI1NDMyIiwiYmFzZWRlZGF0b3MiOiJkYl9zaWdlc3BfZGVtb3YzIiwibG9naW4iOiJwb3N0Z3JlcyIsInBhc3N3b3JkIjoiYWRtaW5zaWdlc3AifQ.PISBSfueRAdsWsJ1AaGcVCgW-2aJkgtvLdsW0Bgo5ltyYowD8oy_nqK5sjE2URGk\"\r\n // }\r\n // procede: string = 'SCGCMP';\r\n // codsis: string = 'SCG';\r\n\r\n\r\n constructor(private http: HttpClient, private dialog: MatDialog, private toast: ToastrService) { }\r\n\r\n /**\r\n * @description Valida que selo se escriban guiones y 9\r\n * @param event\r\n */\r\n public onlyGuionesAndNine(event: any) {\r\n if (event.key === '-' || event.key === '9') {\r\n return true;\r\n }\r\n return false;\r\n }\r\n /**\r\n * @description Actualiza el moncmp de sigesp_comprobante\r\n */\r\n public updateComprobanteAmount(amount: number, idComprobante: number): Observable<any> {\r\n return this.http.put<any>(`${this.URL}/dao/sig/comprobante_dao.php?monto=true`, {\r\n moncmp: amount,\r\n id_comprobante: idComprobante\r\n }, {\r\n headers: this.getHttpHeaders()\r\n });\r\n }\r\n\r\n /**\r\n * @description Actualiza el comprobante prsupuestario de Egresos\r\n * @param comprobante\r\n */\r\n public updateComprobantePresupuestarioEgresos(comprobante: IComprobantePresupuestarioEgresos): Observable<any> {\r\n return this.http.put<any>(`${this.URL}/dao/spg/comprobante_presupuestario_egresos_dao.php`,\r\n { ...comprobante, id: comprobante.id_dt_spgcmp }, { headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Obtiene el comprobante presupuestario de Egresos\r\n */\r\n public getComprobantePresupuestarioEgresos(): Observable<MComprobantePresupuestarioEgresos[]> {\r\n return this.http.get<MComprobantePresupuestarioEgresos[]>(`${this.URL}/dao/spg/comprobante_presupuestario_egresos_dao.php`, {\r\n headers: this.getHttpHeaders()\r\n }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => res.data.map(element => new MComprobantePresupuestarioEgresos(element)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Actualiza el comprobante prsupuestario de Ingresos\r\n * @param comprobante\r\n */\r\n public updateComprobantePresupuestarioIngresos(comprobante: IComprobantePresupuestarioIngresos): Observable<any> {\r\n return this.http.put<any>(`${this.URL}/dao/spg/comprobante_presupuestario_egresos_dao.php`,\r\n { ...comprobante, id: comprobante.id_dt_spicmp }, { headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Obtiene el comprobante presupuestario de Ingresos\r\n */\r\n public getComprobantePresupuestarioIngresos(): Observable<MComprobantePresupuestarioIngresos[]> {\r\n return this.http.get<MComprobantePresupuestarioIngresos[]>(`${this.URL}/dao/spi/comprobante_presupuestario_ingresos_dao.php`, {\r\n headers: this.getHttpHeaders()\r\n }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => res.data.map(element => new MComprobantePresupuestarioIngresos(element)))\r\n );\r\n }\r\n\r\n /**\r\n * @Actualiza la distribución de la cuenta de egreso\r\n * @param distribution\r\n */\r\n public updateDistributionExpenseAccount(distribution: IUpdateDistribution): Observable<any> {\r\n return this.http.put(`${this.URL}/dao/spg/cuentas_egresos_dao.php`, distribution,\r\n {headers: this.getHttpHeaders()});\r\n }\r\n\r\n /**\r\n * @Actualiza la distribución de la cuenta de egreso\r\n * @param distribution\r\n */\r\n public updateDistributionExpenseAccount2(distribution: IUpdateDistribution2[]): Observable<any> {\r\n return this.http.put(`${this.URL}/dao/spg/cuentas_egresos_dao.php`, distribution,\r\n {headers: this.getHttpHeaders()});\r\n }\r\n\r\n /**\r\n * @Actualiza la distribución de la cuenta de Ingreso\r\n * @param distribution\r\n */\r\n public updateDistributionIncomeAccount(distribution: IUpdateDistributionIngresos): Observable<IResponse> {\r\n return this.http.put<IResponse>(`${this.URL}/dao/spi/cuentas_ingresos_dao.php`, distribution,\r\n {headers: this.getHttpHeaders()})\r\n .pipe(\r\n map((res: any) => {\r\n if (res.success){\r\n res.data = new MCuentaIngresos(res.data);\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n public updateDistributionIncomeAccount2(distribution: IUpdateDistributionIngresos2[]): Observable<IResponse> {\r\n return this.http.put<IResponse>(`${this.URL}/dao/spi/cuentas_ingresos_dao.php`, distribution,\r\n {headers: this.getHttpHeaders()})\r\n .pipe(\r\n map((res: any) => {\r\n if (res.success){\r\n res.data = new MCuentaIngresos(res.data);\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @Actualiza la distribución de la cuenta de Ingreso de Estructura\r\n * @param distribution\r\n */\r\n public updateDistributionIncomeStructureAccount(distribution: IUpdateDistributionIngresos, level: number): Observable<IResponse> {\r\n return this.http.put<IResponse>(`${this.URL}/dao/spi/cuenta_estructura_ingresos_dao.php`, distribution,\r\n {headers: this.getHttpHeaders()})\r\n .pipe(\r\n map((res: any) => {\r\n if (res.success){\r\n res.data = new MIncomeStructureAccount(res.data, level);\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene el plan de cuentas\r\n * @param level Número de niveles de la configuración\r\n * @param id de la estructura el idEp3 o idEp5\r\n * @return Observable<MCuentaEgresos[]>\r\n */\r\n public planInstitucionalSPG(tipo:string='plan',idEnterprise:number,periodoFiscal:number, idEP3o5:number,nivel:number,estatus:string=''): Observable<MCuentaEgresos[]>{\r\n return this.http.get<MCuentaEgresos[]>(`${this.URL}/dao/spg/cuentas_egresos_dao.php?tipo=${tipo}&e=${idEnterprise}&periodo=${periodoFiscal}&id=${idEP3o5}&nivel=${nivel}&est=${estatus}`,\r\n {headers: this.getHttpHeaders()})\r\n .pipe(\r\n map((res:any) => res.data.map(element => new MCuentaEgresos(element)))\r\n )\r\n }\r\n\r\n \r\n /**\r\n * @description Abre el catálogo de estructura presupuesaria\r\n * @param data Data que se va a mostrar\r\n * @param configuration Configuración de la estructura\r\n * @return Promise<any>\r\n * @author Miguel Ramírez\r\n */\r\n public openCatalogoEstructuraPresupuestaria(data: any[], configuration: MConfigurationSPG): Promise<any> {\r\n const catalogo = this.dialog.open(CatalogoEstructurasComponent, {\r\n data: {\r\n data,\r\n configuration\r\n },\r\n width: '1000px',\r\n maxHeight: '90vh'\r\n });\r\n return catalogo.afterClosed().toPromise();\r\n }\r\n\r\n\r\n /**\r\n * \r\n * @param tipo {1,2,3,4,completa}\r\n * @param idEnterprise \r\n * @param periodoFiscal \r\n * @param codigo {codigo de la estructura }\r\n * @returns \r\n */\r\n public getBudgetStructureComplete(tipo:string='completa',idEnterprise:number, periodoFiscal:number,codigo:string='' ): Observable<MEstructuras[]> {\r\n return this.http.get<MEstructuras[]>(\r\n `${this.URL}/dao/spg/estructura_presupuestaria_dao.php?tipo=${tipo}&e=${idEnterprise}&per=${periodoFiscal}&cod=${codigo}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((resp: any) => resp.data.map(e => new MEstructuras(e)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene las configuraciones de la estructura presupuestaria\r\n * @return Observable<MConfigurationSPG[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getConfigurationSPG(idEnterprise:number, periodoFiscal:number): Observable<MConfigurationSPG> {\r\n\r\n return this.http.get<MConfigurationSPG>(`${this.URL}/dao/spg/configuracion_presupuestaria_dao.php?e=${idEnterprise}&periodo=${periodoFiscal}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((resp: any) => new MConfigurationSPG(resp.data[0]))\r\n );\r\n }\r\n /**\r\n * @description Obtiene las configuraciones de los proveedores\r\n * @return Observable<MConfigurationRPC[]>\r\n * @author Carlos Albornoz\r\n */\r\n public getConfigurationRPC(): Observable<IResponse> {\r\n\r\n return this.http.get<MConfigurationRPC>(`${this.URL}/dao/rpc/proveedor_config_dao.php`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((resp: IResponse) => {\r\n if (resp.success) {\r\n resp.data = new MConfigurationRPC(resp.data)\r\n }\r\n return resp\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene las MConfiguracionSNO de la nomina\r\n * @return Observable<MConfiguracionSNO[]>\r\n * @date 27-07-2021\r\n */\r\n public getConfigurationSNO(idEnterprise:number): Observable<IResponse> {\r\n\r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/configuracion_dao.php?tipo=${'configuracion'}&e=${idEnterprise}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((resp: IResponse) => {\r\n if (resp.success) {\r\n if(resp.data !=null){\r\n resp.data = resp.data.map(e => new MConfiguracionSNO(e));\r\n }\r\n }\r\n return resp\r\n })\r\n );\r\n }\r\n\r\n\r\n public dateToString(date: Date): string{\r\n return `${date.getFullYear()}-${\r\n date.getMonth() + 1 >= 10 ? date.getMonth() + 1 : `0${date.getMonth() + 1}`\r\n }-${\r\n date.getDate() >= 10 ? date.getDate() : `0${date.getDate()}`\r\n }`\r\n }\r\n\r\n /**\r\n * @description Obtiene las configuraciones de Seguridad\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getConfigSSS(idEnterprise:number=0): Observable<IResponse> {\r\n\r\n return this.http.get<IResponse>(`${this.URL}/dao/sss/seguridad_config_dao.php?e=${idEnterprise}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((resp: IResponse) => {\r\n if (resp.success) {\r\n resp.data = new MConfigSSS(resp.data)\r\n }\r\n return resp\r\n })\r\n );\r\n }\r\n\r\n public getComponents(systemCode: string = null, permit: boolean): Observable<IResponse>{\r\n\r\n return this.http.get<IResponse>(\r\n `${this.URL}/dao/sss/componentes_dao.php?${systemCode ? `codsis=${systemCode}${\r\n permit ? `&permit=true` : ''\r\n }` : ''}`,\r\n { headers: this.getHttpHeaders() }\r\n ).pipe(\r\n \r\n map(res => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MComponent(e));\r\n }\r\n return res;\r\n })\r\n )\r\n \r\n }\r\n\r\n /**\r\n * @description Obtiene las fuentes de financiamiento\r\n * @return Observable<MFuenteFinanciamiento[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getFuenteFinanciamiento(idEnterprise:number,periodoFiscal:number): Observable<MFuenteFinanciamiento[]> {\r\n return this.http.get<MFuenteFinanciamiento[]>(`${this.URL}/dao/spg/fuente_financiamiento_dao.php?e=${idEnterprise}&per=${periodoFiscal}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((resp: any) => resp.data.map(element => new MFuenteFinanciamiento(element)))\r\n );\r\n } \r\n\r\n /**\r\n * @description Obtiene los centros de costo\r\n * @return Observable<IResponse>\r\n * modificado 28-12-2022\r\n */\r\n public getCentroCosto(tipo:string,idEnterprise:number,periodoFiscal:number): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/scg/centro_costo_dao.php?tipo=${tipo}&e=${idEnterprise}&periodo=${periodoFiscal}`, \r\n {headers: this.getHttpHeaders()}\r\n ).pipe(\r\n map((res: IResponse) => {\r\n if (res.success) {\r\n res.data = res.data.map(element => new MCentroCosto(element))\r\n }\r\n return res\r\n })\r\n );\r\n }\r\n\r\n public getCentroCostoUnidadOrganizativa(tipo:string,idEnterprise:number,periodoFiscal:number,idUnidadAdministrativa:number): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/spg/unidad_administrativa_dao.php?tipo=${tipo}&e=${idEnterprise}&periodo=${periodoFiscal}&id=${idUnidadAdministrativa}`, \r\n {headers: this.getHttpHeaders()}\r\n ).pipe(\r\n map((res: IResponse) => {\r\n if (res.success) {\r\n res.data = res.data.map(element => new MCentroCosto(element))\r\n }\r\n return res\r\n })\r\n );\r\n }\r\n\r\n public getEstructurasUnidadOrganizativa(tipo:string,idEnterprise:number,periodoFiscal:number,idUnidadAdministrativa:number): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/spg/unidad_administrativa_dao.php?tipo=${tipo}&e=${idEnterprise}&periodo=${periodoFiscal}&id=${idUnidadAdministrativa}`, \r\n {headers: this.getHttpHeaders()}\r\n ).pipe(\r\n map((res: IResponse) => {\r\n if (res.success) {\r\n res.data = res.data.map(element => new MEstructuras(element))\r\n }\r\n return res\r\n })\r\n );\r\n }\r\n\r\n\r\n \r\n\r\n\r\n /**\r\n * @description Abre el dialog de checkks\r\n * @param columns Columnas que va a tener la tabla\r\n * @param title Título de la modal\r\n * @param dataSource Data que s eva a mostrar en la tabla\r\n */\r\n public openDialogMultiSelect(\r\n // columns: string[], \r\n // title: string, \r\n // dataSource: any[],\r\n // columnNames?: string[]\r\n columns: string[], \r\n title: string, \r\n dataSource: any[], \r\n columnNames: string[] = null, \r\n width: string = '1000px',\r\n options: {\r\n hasBackdrop?: boolean,\r\n disableClose?: boolean,\r\n // disableMasterToggle?: boolean\r\n } = {\r\n disableClose: false, \r\n hasBackdrop: false, \r\n // disableMasterToggle: false\r\n }\r\n ): Promise<any[]> {\r\n let dialogRef = this.dialog.open(TableSelectComponent, {\r\n data: {\r\n title: title,\r\n columns: columns,\r\n dataSource: dataSource,\r\n columnNames,\r\n // disableMasterToggle: options.disableMasterToggle\r\n },\r\n width: width,\r\n maxHeight: '90vh',\r\n hasBackdrop: options.hasBackdrop,\r\n disableClose: options.disableClose\r\n });\r\n\r\n return dialogRef.afterClosed().toPromise();\r\n }\r\n \r\n\r\n\r\n /**\r\n * @description Obtiene la configuración de SCG\r\n * @return Observable<MConfiguracionSCG[]>\r\n * @author Miguel Ramírez\r\n * @modifit 25-07-2021\r\n */\r\n public getConfigurationSCG(lineaEmpresa:number,periodoFiscal:number): Observable<MConfiguracionSCG[]> { \r\n return this.http.get<MConfiguracionSCG[]>(`${this.URL}/dao/scg/configuracion_contabilidad_dao.php?tipo=${'default'}&e=${lineaEmpresa}&periodo=${periodoFiscal}`,\r\n {headers: this.getHttpHeaders()}\r\n ).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((resp: any) => resp.data.map(element => new MConfiguracionSCG(element)))\r\n )\r\n }\r\n\r\n /**\r\n * @description Abre un dialog de confirmación\r\n * @param title Título de la modal de confirm\r\n * @param message Mensaje (opcional) para el ususario\r\n * @return Promise<boolean>\r\n * @author Miguel Ramírez\r\n */\r\n public openDialogConfirm(title: string, message?: string): Promise<boolean> {\r\n let dialogRef = this.dialog.open(ConfirmComponent, {\r\n data: {\r\n title: title,\r\n message: (message) ? message : null\r\n },\r\n width: '1000px',\r\n maxHeight: '90vh'\r\n });\r\n\r\n return dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n /**\r\n * @description Convierte el contenido de un AbstractControl en mayúscula (Usar en evento keyup)\r\n * @param formGroup Formulario dónde se va a buscar el AbstractControl\r\n * @param name Nombre del AbstractControl\r\n * @return void\r\n * @author Miguel Ramírez\r\n */\r\n public changeToUpperCase(formGroup: UntypedFormGroup, name: string): void {\r\n this.getAbstractControl(formGroup, name).setValue(this.getAbstractControl(formGroup, name).value.toUpperCase());\r\n }\r\n\r\n /**\r\n * @description Obtiene el AbstractControl de un formulario\r\n * @param formGroup Formulario donde se va a buscar el AbstractControl\r\n * @param name Nombre del AbstractControl\r\n * @return AbstractControl\r\n * @author Miguel Ramírez\r\n */\r\n public getAbstractControl(formGroup: UntypedFormGroup, name: string): AbstractControl {\r\n return formGroup.get(name);\r\n }\r\n\r\n /**\r\n * @description Previene que se escriban letras en el input (Usar en keypress)\r\n * @param event Evento del teclado\r\n * @return boolean\r\n * @author Miguel Ramírez\r\n * @modificado como onlyNumero para corregir codigo, usar currency-input si quiere usar decimales \r\n */\r\n public onlyDecimal(event?: any): boolean {\r\n if (!isNaN(+event.key) && event.keyCode != 32) {\r\n return true;\r\n }\r\n return false; \r\n }\r\n\r\n /**\r\n * @description Previene que se escriban letras en el input (Usar en keypress)\r\n * @param event Evento del teclado\r\n * @return boolean\r\n * @author Miguel Ramírez\r\n */\r\n public onlyNumbers(event?: any): boolean {\r\n // console.log(event);\r\n if (!isNaN(+event.key) && event.keyCode != 32) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * @description Acepta solo numero, delete y backspace\r\n * @param event Evento del teclado\r\n * @return boolean\r\n * @author Dimaly Crespo\r\n */\r\n public onlyNumbers2(event?: any): boolean {\r\n if (!isNaN(+event.key) || event.keyCode == 8 || event.keyCode == 46) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * @description Acepta solo numero,guiones, parentesis,espacios\r\n * @param event Evento del teclado\r\n * @return boolean\r\n * @author Dimaly Crespo\r\n */\r\n public typeNumbersHyphen(event?: any): boolean {\r\n if (!isNaN(+event.key) || event.keyCode == 8 || event.keyCode == 32 || event.keyCode == 46 \r\n || event.keyCode == 58 || event.keyCode == 57 || event.keyCode == 189) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * @description Permite (a-z A-Z á-ú ñÑ üÜ ',.) que se escriban numeros en el input (Usar en keypress)\r\n * @param event Evento del teclado\r\n * @return boolean\r\n * @date 14-05-2022\r\n * \r\n */\r\n public typeName(event?: any): boolean {\r\n if ((event.key>='a' && event.key<='z') || (event.key>='A' && event.key<='Z') || event.key==\"ñ\" || event.key==\"Ñ\" \r\n || (event.key>='á' && event.key<='ú') || event.key>='ü' || event.key>='Ü' || event.key==\"'\" || event.keyCode==32 \r\n || event.key==\".\" || event.key==\",\" || event.keyCode == 8 || event.keyCode == 32 || event.keyCode == 46 ){\r\n return true;\r\n }\r\n return false;\r\n }\r\n /**\r\n * @description Permite (0-9 a-z A-Z á-ú ñÑ üÜ ',.-_/:()%#º&$€£¥) que se escriban en el input (Usar en keypress)\r\n * @param event Evento del teclado\r\n * @return boolean\r\n * @date 14-05-2022\r\n * \r\n */\r\n public typeText(event?: any): boolean { \r\n if ((event.key>='a' && event.key<='z') || (event.key>='A' && event.key<='Z') || event.key==\"ñ\" || event.key==\"Ñ\" \r\n || (event.key>='á' && event.key<='ú') || event.key=='ü' || event.key=='Ü' || event.key==\"'\" || isNaN(+event.key) \r\n || event.key==\".\" || event.key==\",\" || event.key==\"&\" || event.key==\"_\"|| event.key==\"-\" || event.key==\"#\"\r\n || event.key==\"º\" || event.key==\"$\" || event.key==\"(\" || event.key==\")\" || event.key==\"%\" || event.key==' '\r\n || event.key==':' ||event.key=='/'|| event.keyCode==8364 || event.keyCode==165 ||event.keyCode==163 \r\n || event.keyCode == 8 || event.keyCode == 32 || event.keyCode == 46 ){\r\n return true;\r\n } \r\n return false; \r\n }\r\n\r\n /**\r\n * @description Permite (0-9 a-z A-Z ñÑ .-_) que se escriban en el input (Usar en keypress)\r\n * @param event Evento del teclado\r\n * @return boolean\r\n * @date 14-05-2022\r\n */\r\n public typeCode(event?: any): boolean {\r\n if ((event.key>='a' && event.key<='z') || (event.key>='A' && event.key<='Z') || event.key==\"ñ\" || event.key==\"Ñ\" \r\n ||isNaN(+event.key) || event.key==\".\" || event.key==\"_\" || event.key==\"-\" || event.keyCode == 8 || event.keyCode == 32 || event.keyCode == 46 ){\r\n return true;\r\n } \r\n return false; \r\n }\r\n\r\n /**\r\n * @description Abre el dialog de las comunidades\r\n * @return Promise<MComunidad>\r\n * @author Miguel Ramírez\r\n */\r\n public async openDialogUnidadesTributarias(): Promise<any> {\r\n let udTributarias: MUnidadTributaria[] = await this.getUnidadesTributarias().toPromise();\r\n let dialogRef = this.dialog.open(CatalogoComponent, {\r\n data: {\r\n columns: ['año', 'nro_decreto', 'fecha_decreto', 'entrada_videncia', 'publicacion_gaceta', 'nro_gaceta', 'valorut'],\r\n title: 'Catálogo de Unidades Tributarias',\r\n dataSource: udTributarias\r\n } as ICatalogo,\r\n width: '1000x',\r\n maxHeight: '90vh'\r\n });\r\n return dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n /**\r\n * @description Obtiene las unidades tributarias\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public getUnidadesTributarias(): Observable<MUnidadTributaria[]> {\r\n const request: IRequest = {\r\n operacion: 'obtenerData',\r\n sigesp_conexion: {\r\n servidor: this.URL,\r\n usuario: this.usuarioActivo.getInterface()\r\n }\r\n }\r\n return this.http.post<MUnidadTributaria[]>(`${this.URL}/dao/cfg/undtributaria_dao.php`, request).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((resp: any[]) => resp.map(element => new MUnidadTributaria(element)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Abre una modal génerica\r\n * @param columns Columnas que va a tener la tabla\r\n * @param title Título del dialog\r\n * @param dataSource Data que se va a mostrar en la tabla\r\n * @return Promise<any>\r\n * @author Miguel Ramírez\r\n */\r\n public async openCatalogoGenerico(\r\n columns: string[], \r\n title: string, \r\n dataSource: any[], \r\n columnNames: string[] = null, \r\n width: string = '1000px',\r\n options: {\r\n hasBackdrop?: boolean,\r\n disableClose?: boolean\r\n } = {disableClose: false, hasBackdrop: false}\r\n ): Promise<any> {\r\n let dialogRef = this.dialog.open(CatalogoComponent, {\r\n data: {\r\n columns,\r\n title,\r\n dataSource,\r\n columnNames\r\n } as ICatalogo,\r\n width: width,\r\n maxHeight: '90vh',\r\n hasBackdrop: options.hasBackdrop ? options.hasBackdrop : false,\r\n disableClose: options.disableClose ? options.disableClose : false,\r\n });\r\n return dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n /**\r\n * @description Abre una modal génerica con 2 inputs\r\n * @param columns Columnas que va a tener la tabla\r\n * @param title Título del dialog\r\n * @param dataSource Data que se va a mostrar en la tabla\r\n * @return Promise<any>\r\n * @author Carlos Albornoz\r\n */\r\n public async openCatalogoDosInputs(\r\n columns: string[],\r\n title: string, \r\n dataSource: any[], \r\n filterData: filterData[],\r\n columnNames: string[] = null,\r\n width: string = \"1000px\"\r\n ): Promise<any> {\r\n let dialogRef = this.dialog.open(CatalogoDobleInputComponent, {\r\n data: {\r\n columns,\r\n title,\r\n dataSource,\r\n columnNames,\r\n filterData\r\n } as ICatalogo,\r\n width: width,\r\n maxHeight: '90vh'\r\n });\r\n return dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n /**\r\n * @description Abre el dialog de las comunidades\r\n * @return Promise<MComunidad>\r\n * @author Miguel Ramírez\r\n */\r\n public async openDialogComunidad(): Promise<MComunidad> {\r\n let comunidades: MComunidad[] = await this.getComunidades().toPromise();\r\n let dialogRef = this.dialog.open(CatalogoComponent, {\r\n data: {\r\n columns: ['prefijo', 'pais', 'estado', 'municipio', 'parroquia', 'codigo', 'comunidad'],\r\n title: 'Catálogo de Comunidades',\r\n dataSource: comunidades\r\n } as ICatalogo,\r\n width: '1000px',\r\n maxHeight: '90vh'\r\n });\r\n return dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n /**\r\n * @description Obtiene las comunidades\r\n * @return Observable<MComunidad[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getComunidades(): Observable<MComunidad[]> {\r\n const request: IRequest = {\r\n operacion: 'obtenerData',\r\n sigesp_conexion: {\r\n servidor: this.URL,\r\n usuario: this.usuarioActivo.getInterface()\r\n }\r\n }\r\n return this.http.post<MComunidad[]>(`${this.URL}/dao/cfg/comunidades_dao.php`, request).pipe( \r\n map((resp: any[]) => resp.map(element => new MComunidad(element)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Abre el dialog de las las monedas\r\n * @return Promise<MMoneda>\r\n * @author Miguel Ramírez\r\n */\r\n public async openDialogMonedas(): Promise<MMoneda> {\r\n let coins: MMoneda[] = await this.getMonedas('todas').toPromise();\r\n let dialogRef = this.dialog.open(CatalogoComponent, {\r\n data: {\r\n columns: ['codigo', 'denominacion', 'codigoIso', 'simbolo'],\r\n title: 'Catálogo de Monedas',\r\n columnNames: ['código', 'denominación', 'iso', 'simbolo'],\r\n dataSource: coins\r\n } as ICatalogo,\r\n width: '1000px',\r\n maxHeight: '90vh'\r\n });\r\n return dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n /**\r\n * @description Obtiene las monedas\r\n * @return Observable<MMoneda[]>\r\n * @author Miguel Ramírez\r\n * actualizado 4-12-2022\r\n * @param tipo :string {'todas','uno','actual}\r\n * @param id : number\r\n * @returns \r\n */ \r\n \r\n \r\n public getMonedas(tipo:string,id?:number): Observable<MMoneda[]> { \r\n return this.http.get<MMoneda[]>(`${this.URL}/dao/cfg/moneda_dao.php?tipo=${tipo}&id=${id}`,\r\n { headers: this.getHttpHeaders()}).pipe( \r\n map((resp: any) => resp.data.map(element => new MMoneda(element)))\r\n );\r\n }\r\n\r\n\r\n /**\r\n * @Description: Obtiene la tasa de cambio asociadas a uno o varias monedas\r\n * @param tipo string\r\n * @param id codigo moneda\r\n * @returns array/null\r\n * @tipo:all->todas, (moneda->una moneda id->id de moneda)\r\n */\r\n public getCurrencyExchangeRate(tipo: 'all'| 'moneda'= null, id?:number): Observable<MExchangeRate[]> { \r\n return this.http.get<MExchangeRate[]>(`${this.URL}/dao/cfg/tasa_cambio_dao.php?tipo=${tipo}&id=${id}`,\r\n { headers: this.getHttpHeaders()}).pipe( \r\n map((resp: any) => resp.data.map(element => new MExchangeRate(element)))\r\n );\r\n }\r\n\r\n\r\n\r\n \r\n\r\n /**\r\n * @description Abre el dialog de las las cuentas contables (Cuentas Institucionales)\r\n * @return Promise<McuentaInstitucional>\r\n * @author Miguel Ramírez\r\n */\r\n public async openDialogCuentasInstitucionales(idEnterprise:number, periodoFiscal:number): Promise<MCuentaInstitucional> {\r\n let accounts: MCuentaInstitucional[] = await this.getCuentasInstitucionales(idEnterprise, periodoFiscal).toPromise();\r\n let dialogRef = this.dialog.open(CatalogoComponent, {\r\n data: {\r\n columns: ['cuenta', 'denominacion'],\r\n columnNames: ['cuenta', 'denominación'],\r\n title: 'Catálogo de Plan de Cuenta Institucional',\r\n dataSource: accounts\r\n } as ICatalogo,\r\n width: '1000px',\r\n maxHeight: '90vh'\r\n });\r\n return dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n /**\r\n * @description Obtiene las cuentas contables (Cuentas Institucionales)\r\n * @return Observable<MCuentaInstitucional[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getCuentasInstitucionales(idEnterprise:number, periodoFiscal:number, inventory?: boolean): Observable<MCuentaInstitucional[]> {\r\n return this.http.get<MCuentaInstitucional[]>(`${this.URL}/dao/scg/cuentas_dao.php?e=${idEnterprise}&periodo=${periodoFiscal}${(inventory)? '&inventory=true' : ''}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((resp: any) => resp.data.map(element => new MCuentaInstitucional(element)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Abre el dialog de las cuentas de presupuesto (Recursos y Egresos)\r\n * @return Promise<MCuentaPresupuesto>\r\n * @author Miguel Ramírez\r\n */\r\n public async openDialogCuentasPresupuesto(idEnterprise:number,periodoFiscal:number): Promise<MCuentaPresupuesto> {\r\n let accounts: MCuentaPresupuesto[] = await this.getCuentasPresupuesto(idEnterprise,periodoFiscal).toPromise();\r\n let dialogRef = this.dialog.open(CatalogoComponent, {\r\n data: {\r\n columnNames: ['cuenta', 'denominación'],\r\n columns: ['cuenta', 'denominacion'],\r\n title: 'Catálogo de Cuentas de Presupuesto',\r\n dataSource: accounts\r\n } as ICatalogo,\r\n width: '1000px',\r\n maxHeight: '90vh'\r\n });\r\n return dialogRef.afterClosed().toPromise();\r\n \r\n }\r\n\r\n /** \r\n * @description Obtiene las cuentas de recursos y egresos\r\n * @return Observable<MCuentaPresupuesto>\r\n * @author Miguel Ramírez \r\n * @param filter {numero,sno,C,egreso,ingreso}\r\n * @param idEnterprise \r\n * @param peridoFiscal \r\n * @returns \r\n */\r\n public getCuentasPresupuesto(idEnterprise:number,peridoFiscal:number,filter:string='default'): Observable<MCuentaPresupuesto[]> {\r\n return this.http.get<MCuentaPresupuesto>(`${this.URL}/dao/spg/plan_cuentas_recursos_egresos_dao.php?filter=${filter}&e=${idEnterprise}&per=${peridoFiscal}`,\r\n { headers: this.getHttpHeaders() }).pipe( map((res: any) => res.data.map(element => new MCuentaPresupuesto(element))));\r\n }\r\n\r\n\r\n /**\r\n * @description Abre el cátalogo de cuentas de la tabla \"spg_cuentas\"\r\n * @returns Promise<MCuentaEgresos>\r\n * @author Carlos Albornoz\r\n * @params presupuesto: Indica si se a trabajar con estructura de presupuesto o no\r\n */\r\n public async openCatalogoCuentasEgreso(idEnterprise:number, periodoFiscal:number,titulo: string, presupuesto: boolean = true,ancho: string = \"1000px\"): Promise<MCuentaEgresos>{\r\n let cuentas: MCuentaEgresos[] = [];\r\n await this.getExpenseAccounts(idEnterprise,periodoFiscal).toPromise().then(res => {\r\n cuentas = res\r\n cuentas = cuentas.filter(e => {\r\n return e.status == \"C\"\r\n }).map(e => {\r\n e['provStatus'] = e.status == \"C\" ? \"Movimientos\" : \"Totalizadora\"\r\n return e;\r\n })\r\n })\r\n if (presupuesto) {\r\n return this.openCatalogoDosInputs(\r\n [\"cuenta\",\"denominacion\",\"estructura\",\"provStatus\"],\r\n titulo,\r\n cuentas,\r\n [{\r\n placeholder: \"Cuenta\",\r\n property: \"cuenta\"\r\n }, {\r\n placeholder: \"Estructura\",\r\n property: \"estructura\"\r\n }],\r\n [\"Cuenta\", \"Denominación\", \"Estructura\", \"Estado\"],\r\n ancho\r\n )\r\n } else {\r\n let filteredAccounts: MCuentaEgresos[] = [];\r\n cuentas.forEach(c => {\r\n if (!filteredAccounts.find(e => e.cuenta == c.cuenta)) {\r\n filteredAccounts.push(c)\r\n }\r\n })\r\n return this.openCatalogoGenerico(\r\n [\"cuenta\",\"denominacion\",\"provStatus\"],\r\n titulo,\r\n filteredAccounts,\r\n [\"Cuenta\", \"Denominación\", \"Estado\"],\r\n ancho\r\n )\r\n }\r\n }\r\n\r\n public getExpenseAccounts(idEnterprise:number,periodoFiscal:number,estatus?:string): Observable<MCuentaEgresos[]>{\r\n return this.http.get<MCuentaEgresos[]>(`${this.URL}/dao/spg/cuentas_egresos_dao.php?e=${idEnterprise}&periodo=${periodoFiscal}&est=${estatus}`,\r\n {headers: this.getHttpHeaders()})\r\n .pipe(\r\n map((res:any) => res.data.map(element => new MCuentaEgresos(element)))\r\n )\r\n }\r\n\r\n\r\n \r\n /**\r\n * @description Abre el cátalogo de cuentas de la tabla \"scg_plan_unico_re\"\r\n * @returns Promise<MCuentaPresupuesto>\r\n * @author Carlos Albornoz\r\n * @params filtro: Indica bajo que parametros se va a filtrar el catalogo\r\n */\r\n public async openCatalogoCuentasPresuspuesto( \r\n titulo: string, \r\n idEnterprise:number,\r\n periodoFiscal:number, \r\n filtro: filtroCuentasPresupuesto = null,\r\n ancho: string = '1000px', \r\n ): Promise<MCuentaPresupuesto> {\r\n let cuentas: MCuentaPresupuesto[] = [];\r\n \r\n await this.getCuentasPresupuesto(idEnterprise,periodoFiscal).toPromise().then((res) => {\r\n cuentas = res;\r\n if (filtro) {\r\n if (filtro.estado) {\r\n cuentas = cuentas.filter(c => {\r\n return c.status == filtro.estado\r\n })\r\n }\r\n if (filtro.tipo) {\r\n cuentas = cuentas.filter(c => {\r\n return c.tipo == filtro.tipo\r\n })\r\n }\r\n }\r\n cuentas = cuentas.map(e => {\r\n e['provStatus'] = e.status == \"C\" ? \"Movimientos\" : \"Totalizadora\"\r\n e['provType'] = e.status == \"R\" ? \"Recursos\" : \"Ingresos\"\r\n return e\r\n })\r\n })\r\n return this.openCatalogoGenerico(\r\n [\"cuenta\",\"denominacion\",\"provStatus\",\"provType\"],\r\n titulo,\r\n cuentas,\r\n [\"Cuenta\",\"Denominación\",\"Estado\",\"Tipo\"],\r\n ancho\r\n )\r\n }\r\n\r\n\r\n\r\n\r\n /**\r\n * @description Abre el cátalogo de cuentas de la tabla \"spi_cuentas\"\r\n * @returns Promise<MCuentaIngresos>\r\n * @author Carlos Albornoz\r\n * @params presupuesto: Indica si se a trabajar con estructura de presupuesto o no\r\n */\r\n public async openCatalogoCuentasIngreso(idEnterprise:number,periodoFiscal:number,nivel:number,idEP:number,titulo: string,ancho: string = \"1000px\", presupuesto:boolean=false\r\n ): Promise<MCuentaIngresos>{\r\n let cuentas: MCuentaIngresos[] = [];\r\n await this.getIncomeAccounts('default',idEnterprise,periodoFiscal,nivel,idEP).toPromise().then((res: IResponse) => {\r\n cuentas = res.data\r\n cuentas = cuentas.filter(e => {\r\n return e.estado == \"C\"\r\n }).map(e => {\r\n e['provStatus'] = e.estado == \"C\" ? \"Movimientos\" : \"Totalizadora\"\r\n return e;\r\n })\r\n })\r\n if (presupuesto) {\r\n return this.openCatalogoDosInputs(\r\n [\"cuenta\",\"denominacion\",\"estructura\",\"provStatus\"],\r\n titulo,\r\n cuentas,\r\n [{\r\n placeholder: \"Cuenta\",\r\n property: \"cuenta\"\r\n }, {\r\n placeholder: \"Estructura\",\r\n property: \"estructura\"\r\n }],\r\n [\"Cuenta\", \"Denominación\", \"Estructura\", \"Estado\"],\r\n ancho\r\n )\r\n } else {\r\n let filteredAccounts: MCuentaIngresos[] = [];\r\n cuentas.forEach(c => {\r\n if (!filteredAccounts.find(e => e.cuenta == c.cuenta)) {\r\n filteredAccounts.push(c)\r\n }\r\n })\r\n return this.openCatalogoGenerico(\r\n [\"cuenta\",\"denominacion\",\"provStatus\"],\r\n titulo,\r\n filteredAccounts,\r\n [\"Cuenta\", \"Denominación\", \"Estado\"],\r\n ancho\r\n )\r\n }\r\n } \r\n\r\n public getUnidadAdministrativa(tipo?:string,idEnterprise?:number,periodoFiscal?:number,idUnidadOrganizativa?:number){\r\n return this.http.get(`${this.URL}/dao/spg/unidad_administrativa_dao.php?tipo=${tipo}&e=${idEnterprise}&periodo=${periodoFiscal}&id=${idUnidadOrganizativa}`,\r\n {headers: this.getHttpHeaders()})\r\n .pipe(\r\n map((res:any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MAdministrativeUnit(e));\r\n }\r\n return res;\r\n }) \r\n )\r\n }\r\n\r\n /** \r\n * @description Obtiene los cargos de servicios\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getServiceCharges(serviceId:number = null): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/soc/servicio_cargo_dao.php${\r\n serviceId ? `?service_id=${serviceId}` : ''\r\n }`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MServiceCharge(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /** \r\n * @description Obtiene los paises\r\n * @return Observable<MCountry>\r\n * @author Carlos Albornoz\r\n * @modified 10-01-2022\r\n * @param codigo: Codigo del pais\r\n\r\n */\r\n public getCountries(codigo?:string): Observable<MCountry[]> {\r\n \r\n return this.http.get<MCountry>(`${this.URL}/dao/cfg/paises_dao.php?codigo=${codigo}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => res.data.map(e => new MCountry(e)))\r\n );\r\n }\r\n \r\n /**\r\n * @description Obtiene los estados\r\n * @return Observable<MState>\r\n * @author Carlos Albornoz\r\n * @modificado 4-12-2022\r\n * @param codigo: Codigo del pais\r\n */\r\n public getStates(codigo?:string): Observable<MState[]> {\r\n return this.http.get<MState>(`${this.URL}/dao/cfg/estados_dao.php?codigo=${codigo}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => res.data.map(e => new MState(e)))\r\n );\r\n }\r\n \r\n /**\r\n * @description Obtiene los municipios\r\n * @return Observable<MMunicipality>\r\n * @author Carlos Albornoz\r\n * @modificado 10-01-2022\r\n * @param pais: Codigo del pais ,\r\n * @param estado: Codigo del estado\r\n * @actualizado 4-12-2022\r\n */\r\n public getMunicipalities(pais?:string,estado?:string): Observable<MMunicipality[]> {\r\n return this.http.get<MMunicipality>(`${this.URL}/dao/cfg/municipios_dao.php?pais=${pais}&estado=${estado}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => res.data.map(e => new MMunicipality(e)))\r\n );\r\n }\r\n \r\n /**\r\n * @description Obtiene las parroquias \r\n * @return Observable<MParish>\r\n * @author Carlos Albornoz\r\n * @modificado 10-01-2022\r\n * @param pais: Codigo del pais\r\n * @param estado: Codigo del estado\r\n * @param municipio:codigo Municipio\r\n * @actualizado 4-12-2022\r\n\r\n */\r\n public getParishes(pais?:string,estado?:string,municipio?:string): Observable<MParish[]> {\r\n return this.http.get<MParish>(`${this.URL}/dao/cfg/parroquias_dao.php?pais=${pais}&estado=${estado}&municipio=${municipio}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => res.data.map(e => new MParish(e)))\r\n );\r\n }\r\n \r\n /**\r\n * @description Obtiene las ciudades\r\n * @return Observable<MParish>\r\n * @author Carlos Albornoz\r\n * @modificado 10-01-2022\r\n * @param pais: Codigo del pais\r\n * @param estado: Codigo del estado\r\n\r\n\r\n */\r\n public getCity(pais?:string,estado?:string): Observable<MCity[]> {\r\n return this.http.get<MCity>(`${this.URL}/dao/cfg/ciudades_dao.php?pais=${pais}&estado=${estado}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => res.data.map(e => new MCity(e)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene las ciudades\r\n * @return Observable<MParish>\r\n * @author Dimaly Crespo\r\n * @modificado 10-01-2022\r\n * @param pais: Codigo del pais\r\n\r\n */\r\n public getCommunities(pais?:string,estado?:string, municipio?:string,parroquia?:string): Observable<MCommunity[]> {\r\n return this.http.get<MCommunity>(`${this.URL}/dao/cfg/comunidades_dao.php?pais=${pais}&estado=${estado}&municipio=${municipio}&parroquia=${parroquia}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => res.data.map(e => new MCommunity(e)))\r\n );\r\n }\r\n \r\n /**\r\n * @description Obtiene los sistemas activas\r\n * @return Observable<MSistema>\r\n * @author Carlos Albornoz\r\n */\r\n public getSistemas(): Observable<MSistema[]> {\r\n return this.http.get<MSistema>(`${this.URL}/dao/sss/sistemas_dao.php`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => res.data.map(e => new MSistema(e)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene la moneda actual\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n * @actualizado: 4-12-20222\r\n * @params id: id de la moneda,\r\n * @params tipo: todas->obtiene todas las moneda, (uno-> obtiene una moneda + id)\r\n * (mon:formato para inputCurrency + id )\r\n */\r\n public getCurrentCurrency(tipo:'todas'|'uno'|'mon'=null,id?:number): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/cfg/moneda_dao.php?tipo=${tipo}&id=${id}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => {\r\n if (res.success) {\r\n if(tipo=='todas'){\r\n res.data = res.data.map(e => new MMonedaConfig(e));\r\n } else {\r\n res.data = new MMonedaConfig(res.data);\r\n }\r\n \r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene la linea empresa\r\n * @return Observable<IResponse>\r\n * @author Dimaly Crespo\r\n * @actualizado: 5-12-20222\r\n */\r\n public getEnterprise(tipo:'linea' |'proceso'|'default'=null ,id?:number): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/cfg/enterprise_dao.php?tipo=${tipo}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MEnterprise(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n \r\n\r\n /**\r\n * @description Obtiene los tipos de organizacion\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getOrganizationTypes(): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/rpc/tipo_organizacion_dao.php`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MOrganizationType(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene los tipos de organizacion\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getSpecialties(): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/rpc/especialidad_dao.php`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MSpecialty(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene los documentos\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getDocuments(): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/rpc/documento_dao.php`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MDocument(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene las clasificaciones\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getClasifications(): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/rpc/clasificacion_dao.php`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MClasification(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene el prefijo de los usuarios\r\n * @param procede De que módulo procede\r\n * @param codsis Código del sistema\r\n * @return Observable<MUsuarioPrefijo[]>\r\n * @author Carlos Albornoz\r\n */\r\n public getUserPrefix(filter: 'detail' = null, code: string = null, idEnterprise:number, periodo:number): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/cfg/control_numero_dao.php${\r\n filter ? `?filter=${filter}&code=${code}&e=${idEnterprise}&periodo=${periodo}` : ''\r\n }`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MUsuarioPrefijo(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\n /**\r\n * @description Obtiene los pefijo\r\n * @param procede De que módulo procede\r\n * @param codsis Código del sistema\r\n * @return Observable<MUsuarioPrefijo[]>\r\n * @author DimalyCrespo 17-12-2022\r\n */\r\n public getPrefix(filter: 'all' | 'one' = null, code: string = null): Observable<IResponse> {\r\n\r\n return this.http.get<IResponse>(`${this.URL}/dao/cfg/control_numero_dao.php${\r\n filter ? `?filter=${filter}&code=${code}` : ''\r\n }`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MPrefijo(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Abre el dialog para buscar los proveedores\r\n * @return Promise<MProveedor>\r\n * @author Miguel Ramírez\r\n */\r\n public async openDialogProveedores(idEnterprise:number): Promise<MProveedor> {\r\n let proveedores: MProveedor[] = await this.getProveedores(idEnterprise).toPromise();\r\n let dialogRef = this.dialog.open(CatalogoComponent, {\r\n data: {\r\n columns: ['tipo', 'rif', 'nombre'],\r\n title: 'Catálogo de Proveedores y Beneficiarios',\r\n dataSource: proveedores\r\n } as ICatalogo,\r\n width: '450px',\r\n maxHeight: '90vh'\r\n });\r\n\r\n return dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n /**\r\n * @description Obtiene los proveedores\r\n * @return Observable<MProveedor[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getProveedores(idEnterprise:number): Observable<MProveedor[]> {\r\n let request: IRequest = {\r\n operacion: 'obtenerData',\r\n sigesp_conexion: {\r\n servidor: this.URL,\r\n usuario: this.usuarioActivo.getInterface()\r\n }\r\n }\r\n return this.http.post<MProveedor[]>(`${this.URL}/dao/rpc/proveedor_beneficiario_dao.php?e=${idEnterprise}`, request).pipe(\r\n map((res: any) => res.map(element => new MProveedor(element)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene los proveedores y beneficiarios\r\n * @Note Si quiere solo los datos basicos use los parametros ('S','P','N')\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n * @type ={'P','B','S'}\r\n * @destination ={'P','B','C','A','N'}≈{Proveedor,Beneficiario,Contatista,Ambos,Ninguno}\r\n * @account ={'S','N'} para traer las cuentas bancarias del proveedor por defecto esta en N\r\n * @modificado 17-07-2023\r\n */\r\n\r\n public getProvidersAndBeneficiaries(type: string ='default', idEnterprise:number,destination:string=null, account:string='N'): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/rpc/proveedor_beneficiario_dao.php${type ? `?provider_type=${type}` : ''}&e=${idEnterprise}&destination=${destination}&account=${account}`, \r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MProviderBeneficiary(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\n /**\r\n * @description Obtiene un Usuario segun su ID\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getUserById(id: number): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/sss/usuario_dao.php?id=${id}`, \r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = new MUsuario(res.data);\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene los bancos\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getBanks(idEnterprise?:number): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/scb/banco_dao.php?e=${idEnterprise}`, \r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MBank(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene los tipos de cuenta bancarias\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getBankAccountTypes(): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/scb/banco_tipo_cuenta_dao.php`, \r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MBankAccountType(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\n /**\r\n * @description obtiene las cuenta segun el id\r\n * @param tipo {'banco', 'default'}\r\n * @param id para la opcion banco usar id=idBanco, opcion defaulf id=idEnterprise\r\n * @returns \r\n */\r\n public getAllBankAccount(tipo:string,id:number){ \r\n return this.http.get(`${this.URL}/dao/scb/cuenta_banco_dao.php?tipo=${tipo}&e=${id}`,\r\n {headers: this.getHttpHeaders()})\r\n .pipe(\r\n map((res:any) => {\r\n if (res.success) {\r\n res.data = res.data.map(element => new MCuentaBanco(element));\r\n } else {\r\n res.data = [];\r\n }\r\n return res\r\n }) \r\n )\r\n } \r\n\r\n /**\r\n * @description Obtiene los bancos sigecof\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getSigecofBanks(): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/cfg/banco_sigecof_dao.php`, \r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MSigecofBank(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene la configuracion de SOC\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getConfigSOC(idEnterprise:number): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/soc/configuracion_dao.php?e=${idEnterprise}`, \r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = new MConfigSOC(res.data);\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene los tipos de deduccion\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getDeductionTypes(): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/stb/tipo_deduccion_dao.php`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MDeductionType(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n public getIncomeAccounts(tipo:string,idEnterprise:number,periodoFiscal:number,nivel=0,idEP?:number,estatus:string=''): Observable<any>{\r\n return this.http.get(`${this.URL}/dao/spi/cuentas_ingresos_dao.php?tipo=${tipo}&e=${idEnterprise}&per=${periodoFiscal}&niv=${nivel}&ep=${idEP}&est=${estatus}`,\r\n {headers: this.getHttpHeaders()}).pipe(\r\n map((res:any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MCuentaIngresos(e))\r\n }\r\n return res;\r\n })\r\n )\r\n }\r\n\r\n public getCharges(idEnterprise:number){\r\n\r\n return this.http.get<IResponse>(\r\n `${this.URL}/dao/stb/cargos_dao.php?linea=${idEnterprise}`, \r\n { headers: this.getHttpHeaders() }\r\n ).pipe(\r\n map((res: IResponse) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MCargo(e))\r\n }\r\n return res;\r\n })\r\n )\r\n \r\n }\r\n\r\n public getDeductions(idEnterprise:number){\r\n return this.http.get<IResponse>(\r\n `${this.URL}/dao/stb/deducciones_dao.php?linea=${idEnterprise}`, \r\n { headers: this.getHttpHeaders() }\r\n ).pipe(\r\n map((res: IResponse) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MDeduction(e))\r\n }\r\n return res;\r\n })\r\n ) \r\n }\r\n\r\n /** \r\n * @description Obtiene la los datos de Empresa\r\n * @return Observable<IResponse>\r\n * @author Dimaly Crespo\r\n * \r\n */\r\n public getCompany(tipo?:string,id?:number): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/cfg/empresas_dao.php?tipo=${tipo}&id=${id}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MEmpresa(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /** \r\n * @description Obtiene los tipos de documentos registrados en CXP\r\n * @return Observable<IResponse>\r\n * @author Dimaly Crespo\r\n * @date 20-07-2021\r\n */\r\n public getTiposDocumetos(idEnterprise:number): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/cxp/tipo_documento_dao.php?operacion=${'buscar'}&i=${idEnterprise}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MTipoDocumentoCXP(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param get toma los valores: [ idOrdenCompra ,'recepcion','existen','codigo', 'ordenesSOC', 'op', 'art' ]\r\n * @param n codigo Documento Orden, se usa para obtener los detalles de la orden de compra, es obligatorio al combinar con la opcion get: idOrdenCompra\r\n * @description 'recepcion': Obtine las ordenes de suministro,\r\n * existe y codigo: Obtiene los codigos registrados, \r\n * ordenesSOC: obtiene las ordenes de compra,\r\n * op: obtiene las ordenes pendientes\r\n * art: obtiene los articulos \r\n * @return Observable<IResponse>\r\n * @date 3-10-2021\r\n * @returns \r\n */\r\n public getEntradaSuministros(get:any, n?:string): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/siv/entrada_suministro_dao.php?get=${get}&n=${n}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MEntradaSuministros(e))\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n /** \r\n * @description Obtiene los tipos de documentos registrados en CXP\r\n * @return Observable<IResponse>\r\n * @author Dimaly Crespo\r\n * @date 20-07-2021\r\n */\r\n\r\n public getConceptosCxP(idEnterprise:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/cxp/concepto_dao.php?operacion=${'buscar'}&i=${idEnterprise}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MConceptosCXP(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /** \r\n * @description Obtiene los los conceptos Retencion ISRL\r\n * @return Observable<IResponse>\r\n * @author Dimaly Crespo\r\n * @date 26-07-2021\r\n */\r\n\r\n public getConceptosRetencion(tipo:string,idTipoDeduccion:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/stb/deducciones_dao.php?tipo=${tipo}&code=${idTipoDeduccion}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MConceptoRetencion(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /** \r\n * @description Obtiene la configuración de RRHH y de SNO\r\n * @return Observable<IResponse>\r\n * @author Dimaly Crespo\r\n */\r\n public obtenerConfiguracionSNO(idEnterprise:number){\r\n \r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/configuracion_dao.php?tipo=${'configuracion'}e=${idEnterprise}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) { \r\n if (res.data.length>0){\r\n res.data = res.data.map(e => new MConfiguracionSNO(e)); \r\n } \r\n }\r\n return res;\r\n })\r\n );\r\n \r\n }\r\n\r\n /**\r\n * \r\n * @param tipo ['default', 'uno', 'cargos','linea'] dafault:Todas las nominas, uno: una nomina, \r\n * 'cargos': nominas por cargos, 'linea': nominas activas por lineas\r\n * @param id : Para los tipo: uno y cargos el id es idNomina. Para linea: id es el idEnterprise\r\n * @returns array() \r\n * @description Obtiene las nominas registradas\r\n * @return Observable<IResponse>\r\n * @date 20-10-21\r\n * @actualizado 26-05-2024\r\n *\r\n */ \r\n\r\n public getNomina(tipo:string,idEnterprise:number,id?:number,act?:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/definicion_nomina_dao.php?tipo=${tipo}&id=${id}&e=${idEnterprise}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MDefinicionNomina(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene los cargos de las nomina\r\n * @param tipo ['codigo','default'] ->codigo: obtiene el proximo codigo. ->default: obtiene todos los cargos de la nomina\r\n * @param id id de la nomina\r\n * @returns array()\r\n */\r\n public getCargosNomina(tipo:string,id?:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/asignacion_cargos_dao.php?tipo=${tipo}&id=${id}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MAsignacionCargo(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n } \r\n \r\n /**\r\n * @description Obtiene un personal de la nómina\r\n * @return Observable<IResponse>\r\n * @author Dimaly Crespo\r\n */\r\n public getPersonalSRH(tipo:string,idEnterprise:number,id?:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/personal_dao.php?tipo=${tipo}&id=${id}&e=${idEnterprise}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MPersonal(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n } \r\n\r\n /**\r\n * @description Obtiene las agencia de banco\r\n * @return Observable<IResponse>\r\n * @author Dimaly Crespo\r\n */\r\n public getAgenciaBanco(tipo:string,idEnterprise?:number, id?:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/scb/agencia_dao.php?code=${tipo}&id=${id}e=${idEnterprise}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MAgenciaBanco(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n } \r\n\r\n /**\r\n * @description Obtiene la hojas de tiempo\r\n * @return Observable<IResponse>\r\n * @author Dimaly Crespo\r\n */\r\n public getHojaTiempo(tipo:string,idPersonal?:number,idNomina?:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/hoja_tiempo_dao.php?idPersonal=${idPersonal}&idNomina=${idNomina}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MHojaTiempo(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n } \r\n \r\n /**\r\n * @description Obtiene los clientes \r\n * @return Observable<IResponse>\r\n * @author Dimaly Crespo\r\n * @tipo [basico,codigo,cedula]\r\n * \r\n */\r\n\r\n public getCliente(tipo: string ='default', id:number=0, codigo:string='', cedula:string=''): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/sfv/client_dao.php?tipo=${tipo}&id=${id}&codigo=${codigo}&cedrifcli=${cedula}`, \r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = res.data.map(e => new MClient(e));\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Valida si la fecha esta dentro del periodo fiscal y el mes esta abierto o cerrado\r\n * @return Observable<IResponse>\r\n * @param fecha: fecha a comparar\r\n * @param lineaEmpresa: linea empresa del documento\r\n * @param periodoFiscal : fecha del periodo a evaluar '1900-01-01'\r\n * @author Dimaly Crespo\r\n * @fecha 11-10-2023\r\n * \r\n */\r\n public getValidarPeriodo(fecha:string, periodoFiscal:string, lineaEmpresa:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/scg/configuracion_contabilidad_dao.php?tipo=${'validaFecha'}&fecha=${fecha}&periodo=${periodoFiscal}&e=${lineaEmpresa}`,\r\n { headers: this.getHttpHeaders() }).pipe(map((res: any) => { return res;}));\r\n } \r\n\r\n /**\r\n * @description Obtiene los periodo fiscales configurados en SCG y SPG menores o iguales al periodo fiscal actual.\r\n * @return Observable<IResponse>\r\n * @param lineaEmpresa: linea empresa del documento\r\n * @author Dimaly Crespo\r\n * @fecha 01-10-2024 \r\n */\r\n public getPeriodosConfigurados(lineaEmpresa:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/scg/configuracion_contabilidad_dao.php?tipo=${'periodoConfig'}&e=${lineaEmpresa}`,\r\n { headers: this.getHttpHeaders() }).pipe(map((res: any) => { return res;}));\r\n } \r\n\r\n\r\n /**\r\n * @description Obtiene los periodo fiscales configurados en SCG y SPG menores al periodo fiscal actual y el inmediato.\r\n * @return Observable<IResponse>\r\n * @param lineaEmpresa: linea empresa del documento\r\n * @author Dimaly Crespo\r\n * @fecha 01-10-2024 \r\n */\r\n public getPeriodosConfiguradosSCGSPG(lineaEmpresa:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/scg/configuracion_contabilidad_dao.php?tipo=${'periodoSCGSPG'}&e=${lineaEmpresa}`,\r\n { headers: this.getHttpHeaders() }).pipe(map((res: any) => { return res;}));\r\n } \r\n\r\n\r\n public userHasRights(column:'administrador' | 'insertar' | 'actualizar' | 'consultar' \r\n | 'eliminar' | 'anular' |'descargar' | 'ejecutar__procesar_' | 'imprimir' \r\n | 'enviar__correo_' | 'visible'){\r\n\r\n return this.http.get<IResponse>(\r\n `${this.URL}/dao/sss/derechos_usuario_dao.php?idComponent=${\r\n this.currentComponent.id\r\n }&column=${column}`, \r\n { headers: this.getHttpHeaders() }\r\n )\r\n\r\n }\r\n\r\n /**\r\n * @description Retorna los headers para hacer las peticiones\r\n * @params type: Tipo MIME permitido por defecto se toma application/json\r\n * @return HttpHeaders\r\n * @author Miguel Ramírez\r\n * @date-update: 15-06-2022 \r\n */\r\n public getHttpHeaders(type?:string): HttpHeaders { \r\n !type? type='application/json':''; \r\n const headers = new HttpHeaders({\r\n 'Content-Type': type,\r\n 'Authorization': `${this.usuarioActivo.token}`\r\n });\r\n return headers;\r\n }\r\n\r\n /**\r\n * @description Obtiene el servidor guardado en el sessionStorage\r\n * @return string\r\n * @author Miguel Ramírez\r\n */\r\n public getServer(): string {\r\n return this.URL;\r\n }\r\n\r\n /**\r\n * @description Obtiene el usuario guardado en el sessionStorage\r\n * @return MUsuario\r\n * @author Miguel Ramírez\r\n */\r\n public async getUser() {\r\n let conexion: IConexion = await (sessionStorage.getItem('user')) ? JSON.parse(atob(sessionStorage.getItem('user'))) : null;\r\n //console.log(conexion)\r\n // debugger\r\n if (conexion) {\r\n this.usuarioActivo = new MUsuario(conexion.usuario);\r\n this.URL = conexion.servidor;\r\n }\r\n\r\n }\r\n\r\n /**\r\n * @description Muestra un toast de success\r\n * @param message Mensaje que se va a mostrar\r\n * @return void\r\n * @author Miguel Ramírez\r\n */\r\n public showToastSuccess(message: string): void {\r\n this.toast.success(message);\r\n }\r\n\r\n /**\r\n * @description Muestra un toast de error\r\n * @param message Mensaje que se va a mostrar\r\n * @return void\r\n * @author Miguel Ramírez\r\n */\r\n public showToastError(message: string): void {\r\n this.toast.error(message);\r\n }\r\n\r\n /**\r\n * @description Muestra un sweetalert2 de éxito\r\n * @param message Mensaje que se va a mostrar\r\n * @return void\r\n * @date 22-11-2021\r\n */\r\n public showToastSuccessSwal(message: string): void {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Éxito',\r\n text: message, \r\n })\r\n }\r\n\r\n \r\n\r\n /**\r\n * @description Muestra un sweetalert2 de error\r\n * @param message Mensaje que se va a mostrar\r\n * @return void\r\n * @date 22-11-2021\r\n */\r\n public showToastErrorSwal(message: string): void {\r\n Swal.fire({\r\n icon: 'error',\r\n title: '¡Error!',\r\n text: message, \r\n \r\n })\r\n }\r\n\r\n /**\r\n * @description Guarda el usuario logueado en el SessionStorage\r\n * @param user Usuario que se va a guardar en el SessionStorage\r\n * @return void\r\n * @author Miguel Ramírez\r\n */\r\n public saveUser(data: IConexion): void {\r\n this.usuarioActivo = new MUsuario(data.usuario);\r\n this.URL = data.servidor;\r\n let encryptedUser: string = btoa(JSON.stringify(data));\r\n sessionStorage.setItem('user', encryptedUser);\r\n }\r\n\r\n /**\r\n * @description Sete a la url a la cual se le van a realizar peticiones al backEnd\r\n * @param url URl donde se van a realizar las peticiones\r\n * @return void\r\n * @author Miguel Ramírez\r\n */\r\n public setUrl(url: string): void {\r\n this.URL = url;\r\n }\r\n\r\n /**\r\n * @description Inicializa el servicio de sigesp\r\n * @return void\r\n * @author Miguel Ramírez\r\n */\r\n public init(): void {\r\n // Verificamos si hay un usuario en la sessionStorage, esto es necesario para recargar la página\r\n if (sessionStorage.getItem('user')) {\r\n // console.log(sessionStorage.getItem('user'))\r\n this.getUser();\r\n }\r\n }\r\n\r\n /**\r\n * @description Verifica si un usuario está logueado\r\n * @return Promise<boolean>\r\n * @author Miguel Ramírez\r\n */\r\n public async isLogged(): Promise<boolean> {\r\n return new Promise((resolve, reject) => {\r\n if (sessionStorage.getItem('user')) {\r\n resolve(true)\r\n } else {\r\n resolve(false)\r\n }\r\n })\r\n }\r\n\r\n private handlerError(error: HttpErrorResponse): any {\r\n return throwError('Ocurrió un error')\r\n }\r\n\r\n /**\r\n * @description obtiene el personal segun filtro\r\n * @return Observable<IResponse>\r\n * @date 15-11-2021\r\n * @param tipo: valores ['catalogo','catalogoSno','default','nomina','responsables']\r\n * @params dato:object {nombre:string, apellido:string, cedula.string} use para la opcion 'catalogo' o 'catalogoSno'\r\n */\r\n public getPersonal(tipo:string, dato?:any){\r\n let cedula='';\r\n let nombre='';\r\n let apellido='';\r\n let idEnterprise=0;\r\n if(dato){\r\n cedula=dato.cedula\r\n nombre=dato.nombre\r\n apellido=dato.apellido\r\n idEnterprise=dato.idEnterprise\r\n } \r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/personal_dao.php?tipo=${tipo}&cedula=${cedula}&nombre=${nombre}&apellido=${apellido}&e=${idEnterprise}`,\r\n { headers: this.getHttpHeaders() }).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MPersonal(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n } \r\n\r\n /**\r\n * @description obtener personal Nomina segun filtro\r\n * @return Observable<IResponse>\r\n * @date 15-11-2021\r\n * * @param tipo: valores ['catalogo','default','nomina']\r\n * @params dato:object {nombre:string, apellido:string, cedula.string} use para la opcion 'catalogo'\r\n\r\n */\r\n public getPersonalNomina(tipo:string,dato?:any){\r\n let cedula='';\r\n let nombre='';\r\n let apellido='';\r\n let idEnterprise=0;\r\n let idNomina=0;\r\n if(dato){\r\n cedula=dato.cedula\r\n nombre=dato.nombre\r\n apellido=dato.apellido\r\n idEnterprise=dato.idEnterprise\r\n idNomina=dato.idNomina\r\n } \r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/asignacion_personal_nomina_dao.php?\r\n tipo=${tipo}&cedula=${cedula}&nombre=${nombre}&apellido=${apellido}&idNomina=${idNomina}&idEnterprise=${idEnterprise}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MPersonalNomina(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\n /**\r\n * @param idPersonal: id del personal\r\n * @param tipo: valores['nomina_personal'] \r\n * @description Obtiene las nominas del personal resumida\r\n * @deprecated; 20-01-22\r\n * @returns \r\n */\r\n \r\n public getPersonalNominaResumida(idPersonal:number,tipo:string){\r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/personal_dao.php?idPersonal=${idPersonal}&tipo=${tipo}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MNominaSimple(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene el Json Sistemas para el usuario definido segun su permisologia del Sistema\r\n * @return Json data\r\n * @author Ing. Dimaly Crespo\r\n */\r\n public getPerfilSistema(id_usuario:number ){\r\n return this.http.get(`${this.URL}/dao/sss/usuarios_sistemas_dao.php?id_usuario=${id_usuario}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => { \r\n if(res.data.length>0){\r\n res.data = res.data.map(e => new MUsuarioSistema(e)); \r\n }\r\n return res; \r\n })\r\n \r\n );\r\n \r\n }\r\n\r\n \r\n /**\r\n * @description Obtiene el Json Menu para el usuario definido segun su permisologia del Sistema\r\n * @return Json data\r\n * @author Ing. Wilmer Briceno\r\n */\r\n public getPerfilNoComponent(id_usuario:number,sistema:string, nameComponent: string ){\r\n return this.http.get(`${this.URL}/dao/sss/derechos_usuario_dao.php?id_usuario=${id_usuario}&sistema=${sistema}&namecomponent=${nameComponent}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => { \r\n return res;\r\n })\r\n );\r\n \r\n }\r\n \r\n /**\r\n * @description Obtiene el Json Menu para el usuario definido segun su permisologia del Sistema\r\n * @return Json data\r\n * @author Ing. Wilmer Briceno\r\n */\r\n public getJsonMenu(id_usuario:number,sistema:string){\r\n return this.http.get(`${this.URL}/dao/sss/menu_dao.php?id_usuario=${id_usuario}&sistema=${sistema}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => { \r\n this.userMenu = res.data;\r\n return this.userMenu;\r\n })\r\n );\r\n \r\n }\r\n\r\n /**\r\n * @description Obtiene el Json Menu para el usuario definido segun su permisologia del Sistema\r\n * @return Json data\r\n * @author Ing. Wilmer Briceno\r\n */\r\n public log(body: MLog ){ \r\n\r\n return this.http.post(`${this.URL}/dao/sss/log_dao.php`, body , {\r\n headers: this.getHttpHeaders()\r\n }).pipe( \r\n map((res: any) => { \r\n \r\n return res;\r\n })\r\n )\r\n \r\n }\r\n\r\n \r\n \r\n /**\r\n * @name EncryptData\r\n * @description Enscripta una expresion data\r\n * @author Ing. Wilmer Briceño\r\n */\r\n public EncryptData( expresion : string){\r\n const key = CryptoJS.enc.Utf8.parse (\"0123456789SIGESP\"); // número hexadecimal de 16 dígitos como clave\r\n const iv = CryptoJS.enc.Utf8.parse ('SIGESP0123456789'); // Número hexadecimal como desplazamiento de clave\r\n let srcs = CryptoJS.enc.Utf8.parse(expresion);\r\n let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });\r\n return encrypted.ciphertext.toString().toUpperCase();\r\n }\r\n \r\n /**\r\n * @name DecryptData\r\n * @description Desencripta una expresion data\r\n * @author Ing. Wilmer Briceño\r\n */\r\n public DecryptData( expresion : string){\r\n const key = CryptoJS.enc.Utf8.parse (\"0123456789SIGESP\"); // número hexadecimal de 16 dígitos como clave\r\n const iv = CryptoJS.enc.Utf8.parse ('SIGESP0123456789'); // Número hexadecimal como desplazamiento de clave\r\n let encryptedHexStr = CryptoJS.enc.Hex.parse(expresion);\r\n let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);\r\n let decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });\r\n let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\r\n return decryptedStr.toString();\r\n }\r\n \r\n \r\n /**\r\n * @name getResponsePerfilToolbar\r\n * @description Metodo que obtiene una respuesta true o false basado en una estructura sring binanria segun \r\n * la posicion dada del toolbar. se pasa string binario que contiene 1 y 0 en representacion \r\n * de las propiestades administrador,consultar,ejecutar,imprimir etc ... cada posicion secuencial \r\n * si esta en 1 es true y 0 en false y devuleve el valor segun lo requiera el usuario:\r\n * stringbinario : '1011' y posicion es 2, por tanto se tare 0 y es false que representa opcion consultar.\r\n * Estructura string binario:\r\n * Posición :\r\n * 0. Administrador 6. Descargar 12. Reversar aprobar 18. Reversar anular contabilizado\r\n * 1. insertar 7. Ejecutar 13. Anular.\r\n * 2. Actualizar 8. Enviar 14. reversar anular\r\n * 3. consultar 9. Imprimir 15. contabilizar\r\n * 4. Eliminar 10. Visible 16. reversar contabilizar\r\n * 5. Anular 11. Aprobar 17. anular contabilizado \r\n * \r\n * @author Ing. Wilmer Briceño\r\n */\r\n public getResponsePerfilToolbar( stringbinario : string, position : number ){\r\n let binario = stringbinario.substring(position,position+1) ;\r\n if (binario==\"1\"){\r\n return true; \r\n } \r\n return false; \r\n }\r\n\r\n /**\r\n * @description Obtiene el Ip del cliente\r\n * @return Json data\r\n * @author Ing. Wilmer Briceno\r\n */\r\n public getIPAddress(){ \r\n\r\n return this.http.get(\"http://api.ipify.org/?format=json\") \r\n .pipe(\r\n catchError((err) => {\r\n console.log('error caught in service')\r\n console.error(err);\r\n sessionStorage.setItem('ip_adress', '127.0.0.1');\r\n //Handle the error here\r\n\r\n return throwError(err); //Rethrow it back to component\r\n })\r\n );\r\n \r\n }\r\n /**\r\n * @description Obtiene el Ip del cliente\r\n * @return Json data\r\n * @author Ing. Wilmer Briceno\r\n */\r\n public setIpAdress(){\r\n this.getIPAddress().subscribe( (resp: any) => {\r\n sessionStorage.setItem('ip_adress', resp.ip);\r\n this.ip_adress = resp.ip;\r\n }); \r\n } \r\n /**\r\n * @description Obtiene el Ip del cliente\r\n * @return Json data\r\n * @author Ing. Wilmer Briceno\r\n */\r\n public getIpAdress(){\r\n this.ip_adress = sessionStorage.getItem('ip_adress'); \r\n } \r\n\r\n /**\r\n * @description Obtiene el Ip del cliente\r\n * @return Json data\r\n * @dia 19-05-2022\r\n */ \r\n\r\n public createAuditoria(sno:MSnoLog[]){\r\n let body=[];\r\n sno.forEach(e=> {body.push(e.dataInteface())});\r\n return this.http.post<IResponse>(`${this.URL}/dao/sno/seguridad_dao.php?`,body,\r\n { headers: this.getHttpHeaders()})\r\n .pipe(\r\n map((res: any) => {return res;})\r\n );\r\n } \r\n\r\n /** \r\n * @description Obtiene los tipos de depositos * \r\n * @param procede : procede del modulo\r\n * @param idMaterial : id del articulo\r\n * @param idUsuario : id usuario permitido\r\n * @returns \r\n * @author Dimaly Crespo\r\n * @date 23-01-2025\r\n */ \r\n public getDepositType(procede:string,idMaterial:number,idEnterprise:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/siv/catalogo_parametrizado_dao.php?get=${procede}&id=${idMaterial}&i=${idEnterprise}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MTipoDepositos(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n /** \r\n * @description Obtiene Cargos Adicionales * \r\n * @param tipo : one,default\r\n * @param id : id del cargo \r\n * @returns \r\n * @author Dimaly Crespo\r\n * @date 13-11-2022\r\n */ \r\n public getCargosAdicionales(tipo:string,id?:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/stb/cargos_adicionales_dao.php?tipo=${tipo}&id=${id}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => {\r\n if (res.success) { \r\n res.data = res.data.map(e => new MCargosAdicionales(e)); \r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\n /** \r\n * @description Obtiene los release \r\n * @param tipo : release (obtiene el ultimo release del sistema),verificar(verifica si se ejecuto el ultimo release)\r\n * @param sistema : sistema \r\n * @param seccion : tipo 'RELEASE' \r\n * @returns string\r\n * @author Dimaly Crespo\r\n * @date 21-06-2024\r\n */ \r\n public getVerificarRelease(tipo:string,sistema:string,seccion:string=null){\r\n return this.http.get<IResponse>(`${this.URL}/dao/ins/instala_dao.php?tipo=${tipo}&sistema=${sistema}&seccion=${seccion}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((res: any) => {return res;})\r\n );\r\n } \r\n\r\n\r\n public getReportePersonalizado(tipo:string='default',idEnterprise:number,sistema:string,caso:string){\r\n return this.http.get<IResponse>(`${this.URL}/dao/cfg/configuracionErp_dao.php?tipo=${tipo}&e=${idEnterprise}&sis=${sistema}&cas=${caso}`,\r\n { headers: this.getHttpHeaders() }).pipe( map((res: any) => {return res.data;}) );\r\n } \r\n}\r\n\r\n\r\n \r\ninterface filtroCuentasPresupuesto {\r\n tipo?: 'E' | 'R',\r\n estado?: 'C' | 'S'\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { MMonedaConfig } from './core/models/CFG/moneda.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CurrencyService {\r\n\r\n constructor() { }\r\n\r\n public checkNumber(e: KeyboardEvent){\r\n if (\r\n // Allow: Delete, Backspace, Tab, Escape, Enter, Dot\r\n [46, 8, 9, 27, 13, 110].indexOf(e.keyCode) !== -1 ||\r\n (e.keyCode === 65 && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.keyCode === 67 && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.keyCode === 86 && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.keyCode === 88 && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.keyCode === 65 && e.metaKey === true) || // Cmd+A (Mac)\r\n (e.keyCode === 67 && e.metaKey === true) || // Cmd+C (Mac)\r\n (e.keyCode === 86 && e.metaKey === true) || // Cmd+V (Mac)\r\n (e.keyCode === 88 && e.metaKey === true) || // Cmd+X (Mac)\r\n (e.keyCode >= 35 && e.keyCode <= 39) // Home, End, Left, Right\r\n ) {\r\n return; // let it happen, don't do anything\r\n }\r\n if (\r\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n return false;\r\n }\r\n return;\r\n }\r\n\r\n private returnNumber(\r\n event: string, \r\n decimal: string = ',', \r\n thousands: string = '.',\r\n amountDecimals: number = 6\r\n ): number{\r\n if (!decimal || decimal.trim() == '') {\r\n decimal = ','\r\n }\r\n if (!thousands || thousands.trim() == '') {\r\n thousands = '.'\r\n }\r\n let sections: string[] = event.split(decimal);\r\n sections[0] = sections[0].split(thousands).join('')\r\n let number: string = sections.join('.')\r\n if (number.trim() == '') {\r\n number = '0'\r\n }\r\n return +((+number));\r\n }\r\n\r\n private validateCurrency(e: KeyboardEvent, number: string, decimal: string = ',', decimalAmount: number = 2){\r\n if (!decimal || decimal.trim() == '') {\r\n decimal = ','\r\n }\r\n\r\n if (\r\n // Allow: Delete, Backspace, Tab, Escape, Enter\r\n [46, 8, 9, 27, 13].indexOf(e.keyCode) !== -1 ||\r\n (e.keyCode === 65 && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.keyCode === 67 && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.keyCode === 86 && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.keyCode === 88 && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.keyCode === 65 && e.metaKey === true) || // Cmd+A (Mac)\r\n (e.keyCode === 67 && e.metaKey === true) || // Cmd+C (Mac)\r\n (e.keyCode === 86 && e.metaKey === true) || // Cmd+V (Mac)\r\n (e.keyCode === 88 && e.metaKey === true) || // Cmd+X (Mac)\r\n (e.keyCode >= 35 && e.keyCode <= 39) // Home, End, Left, Right\r\n ) {\r\n return;\r\n }\r\n if (number.indexOf(decimal) == -1) {\r\n if (e.key == decimal) {\r\n return\r\n } \r\n } else {\r\n if (decimalAmount) {\r\n let sections = number.split(decimal);\r\n if (sections[1].length >= decimalAmount) {\r\n return false;\r\n }\r\n }\r\n }\r\n if (\r\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n return false;\r\n }\r\n return;\r\n }\r\n\r\n public transformString(\r\n value: number, \r\n decimal: string = ',', \r\n thousands: string = '.',\r\n amountDecimals: number = 5\r\n\r\n \r\n ): string {\r\n if (!decimal || decimal.trim() == '') {\r\n decimal = ','\r\n }\r\n if (!thousands || thousands.trim() == '') {\r\n thousands = '.'\r\n }\r\n if (value && decimal != thousands) {\r\n let string = value.toString();\r\n let sections: string[] = string.split('.');\r\n let mainPart: string[] = this.splitStringFromEnd(sections[0], 3)\r\n sections[0] = mainPart.join(thousands);\r\n return sections.join(decimal)\r\n } else {\r\n return '';\r\n }\r\n }\r\n \r\n private splitStringFromEnd(customString, every): string[] {\r\n var result = [], counter = every;\r\n // loop that captures substring chungs of \"every\" length e.g.: 1000.00 -> [\"000\", \".00\"]\r\n for (var i = counter; counter <= customString.length; counter += every) {\r\n result.unshift(customString.substr(customString.length - counter, every))\r\n }\r\n // check if there is a remainder and grabs it.\r\n // Using our 1000.00 example: diff = 9 - 7; remainder = 3 - 2; -> [\"1\", \"000\", \".00\"]\r\n var diff = counter - customString.length;\r\n var remainder = every - diff;\r\n if(remainder > 0) { result.unshift(customString.substr(0, remainder)) }\r\n return result;\r\n }\r\n\r\n public transformNumber(string: string, currency:MMonedaConfig): number{\r\n return this.returnNumber(\r\n string,\r\n currency.separadorDecimal,\r\n currency.separadorMiles,\r\n )\r\n }\r\n\r\n public checkCurrency(\r\n e: KeyboardEvent, \r\n number: string, \r\n currency: MMonedaConfig\r\n ): boolean {\r\n return this.validateCurrency(\r\n e, \r\n number, \r\n currency.separadorDecimal,\r\n currency.decimales\r\n )\r\n }\r\n\r\n public checkCurrencyAlt(\r\n e: KeyboardEvent, \r\n number: string, \r\n currency: MMonedaConfig\r\n ): boolean {\r\n return this.validateCurrency(\r\n e, \r\n number, \r\n currency.separadorDecimal,\r\n currency.decimalesAlternos\r\n )\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-app',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<p>app works!</p>\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CdkTreeModule } from '@angular/cdk/tree';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { MatButtonModule} from '@angular/material/button';\r\nimport { MatToolbarModule} from '@angular/material/toolbar';\r\nimport { MatNativeDateModule} from '@angular/material/core';\r\nimport { MatCommonModule} from '@angular/material/core';\r\nimport { MatRippleModule} from '@angular/material/core'; \r\nimport { MatIconModule} from '@angular/material/icon';\r\nimport { MatSidenavModule} from '@angular/material/sidenav';\r\nimport { MatListModule} from '@angular/material/list';\r\nimport { MatSelectModule} from '@angular/material/select';\r\nimport { MatInputModule} from '@angular/material/input';\r\nimport { MatProgressSpinnerModule} from '@angular/material/progress-spinner';\r\nimport { MatDividerModule} from '@angular/material/divider';\r\nimport { MatExpansionModule} from '@angular/material/expansion';\r\nimport { MatPaginatorModule} from '@angular/material/paginator';\r\nimport { MatSortModule} from '@angular/material/sort';\r\nimport { MatAutocompleteModule} from '@angular/material/autocomplete';\r\nimport { MatBadgeModule} from '@angular/material/badge';\r\nimport { MatBottomSheetModule} from '@angular/material/bottom-sheet';\r\nimport { MatButtonToggleModule} from '@angular/material/button-toggle';\r\nimport { MatCardModule} from '@angular/material/card';\r\nimport { MatCheckboxModule} from '@angular/material/checkbox';\r\nimport { MatChipsModule} from '@angular/material/chips';\r\nimport { MatStepperModule} from '@angular/material/stepper';\r\nimport { MatDatepickerModule} from '@angular/material/datepicker';\r\nimport { MatDialogModule} from '@angular/material/dialog';\r\nimport { MatGridListModule} from '@angular/material/grid-list';\r\nimport { MatMenuModule} from '@angular/material/menu';\r\nimport { MatProgressBarModule} from '@angular/material/progress-bar';\r\nimport { MatRadioModule} from '@angular/material/radio'; \r\nimport { MatSliderModule} from '@angular/material/slider';\r\nimport { MatSlideToggleModule} from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule} from '@angular/material/snack-bar';\r\nimport { MatTableModule} from '@angular/material/table';\r\nimport { MatTabsModule} from '@angular/material/tabs';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n A11yModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatCommonModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ScrollingModule\r\n ],\r\n exports: [\r\n A11yModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatCommonModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ScrollingModule,\r\n ],\r\n})\r\nexport class CustonMaterialModule { }","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'iso'\r\n})\r\nexport class IsoCurrencyPipe implements PipeTransform {\r\n\r\n transform(\r\n value: number, \r\n args: Arguments = {decimal:',', thousands:'.'}\r\n ): string {\r\n if (!args.decimal || args.decimal.trim() == '') {\r\n args.decimal = ','\r\n }\r\n if (!args.thousands || args.thousands.trim() == '') {\r\n args.thousands = '.'\r\n }\r\n if (value && args.decimal != args.thousands) {\r\n let string = value.toString();\r\n let sections: string[] = string.split('.');\r\n let mainPart: string[] = this.splitStringFromEnd(sections[0], 3)\r\n sections[0] = mainPart.join(args.thousands);\r\n return sections.join(args.decimal)\r\n } else {\r\n return '';\r\n }\r\n }\r\n \r\n private splitStringFromEnd(customString, every): string[] {\r\n var result = [], counter = every;\r\n for (var i = counter; counter <= customString.length; counter += every) {\r\n result.unshift(customString.substr(customString.length - counter, every))\r\n }\r\n var diff = counter - customString.length;\r\n var remainder = every - diff;\r\n if(remainder > 0) { result.unshift(customString.substr(0, remainder)) }\r\n return result;\r\n }\r\n\r\n}\r\n\r\ninterface Arguments{\r\n decimal?: string, thousands?: string\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CustonMaterialModule } from './material/material.module';\r\nimport { CatalogoComponent } from './components/catalogo/catalogo.component';\r\nimport { ConfirmComponent } from './components/confirm/confirm.component';\r\nimport { IconComponent } from './components/icon/icon.component';\r\nimport { TableSelectComponent } from './components/table-select/table-select.component';\r\nimport { CatalogoEstructurasComponent } from './components/catalogo-estructuras/catalogo-estructuras.component';\r\nimport { CatalogoDobleInputComponent } from './components/catalogo-doble-input/catalogo-doble-input.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { IsoCurrencyPipe } from './pipes/iso-currency.pipe';\r\nimport { CurrencyService } from '../validation.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n CatalogoComponent,\r\n ConfirmComponent,\r\n IconComponent,\r\n TableSelectComponent,\r\n CatalogoEstructurasComponent,\r\n CatalogoDobleInputComponent,\r\n IsoCurrencyPipe,\r\n ],\r\n imports: [\r\n CommonModule,\r\n CustonMaterialModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n CatalogoComponent,\r\n ConfirmComponent,\r\n IconComponent,\r\n TableSelectComponent,\r\n CatalogoEstructurasComponent,\r\n IsoCurrencyPipe\r\n ],\r\n providers: [\r\n CurrencyService\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AppComponent } from './app.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { SigespService } from '../sigesp.service';\r\n\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n ToastrModule.forRoot()\r\n ], \r\n providers: [\r\n SigespService\r\n ],\r\n exports: [SharedModule]\r\n})\r\nexport class AppModule { }\r\n","import { MBasicModel } from '../basic-model.model';\r\nimport { IProcedencia } from './../../interfaces/Configuracion';\r\n\r\nexport class MProcedencia extends MBasicModel{\r\n\r\n public procede: string = '';\r\n public codigoSistema: string = '';\r\n public operacion: string = '';\r\n public descripcion: string = '';\r\n public estatus:number = 1;\r\n\r\n constructor(e?: IProcedencia){\r\n super();\r\n if(e){\r\n this.procede=e.procede\r\n this.codigoSistema=e.codsis\r\n this.operacion=e.opeproc\r\n this.descripcion=e.desproc\r\n this.estatus=+e.estdel\r\n } else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IProcedencia{\r\n return{\r\n procede:this.procede,\r\n codsis:this.codigoSistema,\r\n opeproc:this.operacion,\r\n desproc:this.descripcion,\r\n estdel:this.estatus.toString(), \r\n }\r\n }\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IUnidadAdministradoraCentral } from '../../interfaces/Presupuesto';\r\nimport { MAdministrativeUnit } from './administrativeUnit.model';\r\n\r\nexport class MUnidadAdministradoraCentral extends MBasicModel {\r\n public idEmpresa: number = 0;\r\n public idEnterprise: number=0;\r\n public periodoFiscal: number=0;\r\n public idUnidadAdministradora: number = 0; \r\n public codigoUnidadCentral: string = '';\r\n public denominacionUnidadCentral: string = ''; \r\n public tipoUnidad: boolean=false;\r\n public responsableUnidad:string='';\r\n public unidadOrganizativa:MAdministrativeUnit[]=[];\r\n \r\n constructor(e?: IUnidadAdministradoraCentral){\r\n super();\r\n if(e){\r\n this.idEmpresa = e.id_empresa;\r\n this.idEnterprise = e.id_enterprise;\r\n this.idUnidadAdministradora= +e.id_uac;\r\n this.codigoUnidadCentral = e.codigouac;\r\n this.denominacionUnidadCentral = e.denuac;\r\n this.tipoUnidad = e.tipuac=='1';\r\n this.responsableUnidad= e.resuac;\r\n this.periodoFiscal=+e.perfiscal;\r\n if(e.unidad_organizativa){\r\n this.unidadOrganizativa=e.unidad_organizativa.map(e=> new MAdministrativeUnit(e));\r\n } \r\n } else{\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataInterface():IUnidadAdministradoraCentral {\r\n return {\r\n id_enterprise:this.idEnterprise,\r\n id_empresa: this.idEmpresa,\r\n id_uac:this.idUnidadAdministradora.toString(),\r\n codigouac:this.codigoUnidadCentral, \r\n denuac:this.denominacionUnidadCentral, \r\n resuac:this.responsableUnidad, \r\n tipuac:this.tipoUnidad? '1':'0',\r\n perfiscal:this.periodoFiscal.toString(),\r\n unidad_organizativa:this.unidadOrganizativa.map(function (e) { return e.dataInterface(); }),\r\n }\r\n }\r\n }\r\n\r\n","import { MBasicModel } from '../basic-model.model';\r\nimport { IEstructuraPresupuestariaOne, IEstructuraPresupuestariaTwo,\r\n IEstructuraPresupuestariaThree, IEstructuraPresupuestariaFour, \r\n IEstructuraPresupuestariaFiveComplete, IEstructuraPresupuestariaFive,\r\n IEstructuraPresupuestariaThreeComplete \r\n} from '../../interfaces/EstructuraPresupuestaria';\r\n\r\nexport class MEstructuraPresupuestariaOne {\r\n public codigoEstructuraProgramatica: string;\r\n public denominacionEstructuraProgramatica: string;\r\n public estatusClasificacion: string;\r\n public idEmpresa: string;\r\n public cuentaContable: string;\r\n public idEstructura: string;\r\n public isNew: boolean = false;\r\n\r\n constructor(eP: IEstructuraPresupuestariaOne) {\r\n this.codigoEstructuraProgramatica = eP.codestpro1;\r\n this.denominacionEstructuraProgramatica = eP.denestpro1;\r\n this.idEmpresa = eP.id_empresa;\r\n this.cuentaContable = eP.sc_cuenta;\r\n this.estatusClasificacion = eP.estcla;\r\n this.idEstructura = eP.id_ep1;\r\n }\r\n}\r\n\r\nexport class MEstructuraPresupuestariaTwo {\r\n public codigoEstructuraProgramatica: string;\r\n public denominacionEstructuraProgramatica: string;\r\n public estatusClasificacion: string;\r\n public idEmpresa: string;\r\n public idEstructuraOne: string;\r\n public idEstructuraTwo: string;\r\n public idFuenteFinanciamiento: string;\r\n public isNew: boolean = false;\r\n\r\n constructor(eP: IEstructuraPresupuestariaTwo) {\r\n this.codigoEstructuraProgramatica = eP.codestpro2;\r\n this.denominacionEstructuraProgramatica = eP.denestpro2;\r\n this.idEmpresa = eP.id_empresa;\r\n this.estatusClasificacion = eP.estcla;\r\n this.idEstructuraOne = eP.id_ep1;\r\n this.idEstructuraTwo = eP.id_ep2;\r\n\r\n }\r\n}\r\n\r\nexport class MEstructuraPresupuestariaThree {\r\n public codigoCentroCosto: string;\r\n public codigoEstructuraProgramatica: string;\r\n public estatusClasificacion: string;\r\n public idEmpresa: string;\r\n public idEstructuraOne: string;\r\n public idEstructuraTwo: string;\r\n public idEstructuraThree: string;\r\n public isNew: boolean = false;\r\n\r\n constructor(ep: IEstructuraPresupuestariaThree) {\r\n this.codigoCentroCosto = ep.codcencos;\r\n this.codigoEstructuraProgramatica = ep.codestpro3;\r\n this.estatusClasificacion = ep.estcla;\r\n this.idEmpresa = ep.id_empresa;\r\n this.idEstructuraOne = ep.id_ep1;\r\n this.idEstructuraTwo = ep.id_ep2;\r\n this.idEstructuraThree = ep.id_ep3;\r\n }\r\n}\r\n\r\nexport class MEstructuraPresupuestariaThreeComplete {\r\n public idEmpresa: string;\r\n public idEstricturaOne: string;\r\n public idEstricturaTwo: string;\r\n public idEstricturaThree: string;\r\n public codigoEstructuraProgramaticaOne: string;\r\n public codigoEstructuraProgramaticaTwo: string;\r\n public codigoEstructuraProgramaticaThree: string;\r\n public denominacionEstructuraProgramaticaOne: string;\r\n public denominacionEstructuraProgramaticaTwo: string;\r\n public denominacionEstructuraProgramaticaThree: string;\r\n public estatusClasificacion: string;\r\n public codigoCentroCosto: string;\r\n public codigoFuenteFinanciamiento: string;\r\n public isNew: boolean = false;\r\n\r\n constructor(ep: IEstructuraPresupuestariaThreeComplete) {\r\n this.idEmpresa = ep.id_empresa;\r\n this.idEstricturaOne = ep.id_ep1;\r\n this.idEstricturaTwo = ep.id_ep2;\r\n this.idEstricturaThree = ep.id_ep3;\r\n this.codigoEstructuraProgramaticaOne = ep.codestpro1;\r\n this.codigoEstructuraProgramaticaTwo = ep.codestpro2;\r\n this.codigoEstructuraProgramaticaThree = ep.codestpro3;\r\n this.denominacionEstructuraProgramaticaOne = ep.denestpro1;\r\n this.denominacionEstructuraProgramaticaTwo = ep.denestpro2;\r\n this.denominacionEstructuraProgramaticaThree = ep.denestpro3;\r\n this.estatusClasificacion = ep.estcla;\r\n }\r\n}\r\n\r\nexport class MEstructuraPresupuestariaFour {\r\n public codigoEstructuraProgramatica: string;\r\n public denominacionEstructuraProgramatica: string;\r\n public estatusClasificacion: string;\r\n public idEmpresa: string;\r\n public idEstructuraOne: string;\r\n public idEstructuraTwo: string;\r\n public idEstructuraThree: string;\r\n public idEstructuraFour: string;\r\n public isNew: boolean = false;\r\n\r\n constructor(ep: IEstructuraPresupuestariaFour) {\r\n this.codigoEstructuraProgramatica = ep.codestpro4;\r\n this.denominacionEstructuraProgramatica = ep.denestpro4;\r\n this.estatusClasificacion = ep.estcla;\r\n this.idEmpresa = ep.id_empresa;\r\n this.idEstructuraOne = ep.id_ep1;\r\n this.idEstructuraTwo = ep.id_ep2;\r\n this.idEstructuraThree = ep.id_ep3;\r\n this.idEstructuraFour = ep.id_ep4;\r\n }\r\n}\r\n\r\nexport class MEstructuraPresupuestariaFive {\r\n public idEmpresa: string;\r\n public idEstructuraOne: string;\r\n public idEstructuraTwo: string;\r\n public idEstructuraThree: string;\r\n public idEstructuraFour: string;\r\n public idEstructuraFive: string;\r\n public codigoEstructuraProgramatica: string;\r\n public denominacionEstructuraProgramatica: string;\r\n public estatusClasificacion: string;\r\n public isNew: boolean = false;\r\n\r\n\r\n constructor(ep: IEstructuraPresupuestariaFive) {\r\n this.idEmpresa = ep.id_empresa;\r\n this.idEstructuraOne = ep.id_ep1;\r\n this.idEstructuraTwo = ep.id_ep2;\r\n this.idEstructuraThree = ep.id_ep3;\r\n this.idEstructuraFour = ep.id_ep4;\r\n this.idEstructuraFive = ep.id_ep5;\r\n this.codigoEstructuraProgramatica = ep.codestpro5;\r\n this.denominacionEstructuraProgramatica = ep.denestpro5;\r\n this.estatusClasificacion = ep.estcla; \r\n }\r\n public dataInterface():IEstructuraPresupuestariaFive {\r\n return{\r\n id_empresa: this.idEmpresa,\r\n id_ep1: this.idEstructuraOne,\r\n id_ep2: this.idEstructuraTwo,\r\n id_ep3: this.idEstructuraThree,\r\n id_ep4: this.idEstructuraFour,\r\n id_ep5: this.idEstructuraFive,\r\n codestpro5: this.codigoEstructuraProgramatica,\r\n denestpro5: this.denominacionEstructuraProgramatica,\r\n estcla: this.estatusClasificacion,\r\n }\r\n }\r\n}\r\n\r\nexport class MEstructuraPresupuestariaFiveComplete extends MBasicModel{\r\n public codigoEstructuraProgramaticaOne: string='';\r\n public codigoEstructuraProgramaticaTwo: string='';\r\n public codigoEstructuraProgramaticaThree: string='';\r\n public codigoEstructuraProgramaticaFour: string='';\r\n public codigoEstructuraProgramaticaFive: string='';\r\n public denominacionEstructuraProgramaticaOne: string='';\r\n public denominacionEstructuraProgramaticaTwo: string='';\r\n public denominacionEstructuraProgramaticaThree: string='';\r\n public denominacionEstructuraProgramaticaFour: string='';\r\n public denominacionEstructuraProgramaticaFive: string='';\r\n public estatusClasificacion: string='';\r\n public tipo: string='';\r\n public idEmpresa: number=0;\r\n public idEnterprise: number=0;\r\n public periodoFiscal: number=0; \r\n public idEstructuraOne:number=0;\r\n public idEstructuraTwo:number=0;\r\n public idEstructuraThree: number=0;\r\n public idEstructuraFor: number=0;\r\n public idEstructuraFive: number=0;\r\n public estructura: string = '';\r\n public denominacion: string = '';\r\n public level: number = 0;\r\n public isNew: boolean = false;\r\n\r\n constructor(ep: IEstructuraPresupuestariaFiveComplete, level: number = null) {\r\n super()\r\n if(ep){\r\n this.codigoEstructuraProgramaticaOne = ep.codestpro1;\r\n this.codigoEstructuraProgramaticaTwo = ep.codestpro2;\r\n this.codigoEstructuraProgramaticaThree = ep.codestpro3;\r\n this.codigoEstructuraProgramaticaFour = ep.codestpro4 ? ep.codestpro4 : '---';\r\n this.codigoEstructuraProgramaticaFive = ep.codestpro5 ? ep.codestpro5 : '---';\r\n this.denominacionEstructuraProgramaticaOne = ep.denestpro1;\r\n this.denominacionEstructuraProgramaticaTwo = ep.denestpro2;\r\n this.denominacionEstructuraProgramaticaThree = ep.denestpro3;\r\n this.denominacionEstructuraProgramaticaFour = ep.denestpro4 ? ep.denestpro4 : '---';\r\n this.denominacionEstructuraProgramaticaFive = ep.denestpro5 ? ep.denestpro5 : '---';\r\n this.estatusClasificacion = ep.estcla;\r\n this.tipo = ep.estcla == \"P\" ? \"PROYECTO\" : \"ACC. CENT.\";\r\n this.idEmpresa = +ep.id_empresa;\r\n this.idEstructuraOne = +ep.id_ep1;\r\n this.idEstructuraTwo = +ep.id_ep2;\r\n this.idEstructuraThree = +ep.id_ep3;\r\n this.idEstructuraFor = +ep.id_ep4;;\r\n this.idEstructuraFive = +ep.id_ep5;\r\n this.level = level;\r\n if (level == 3) {\r\n this.estructura = `${ep.codestpro1}-${ep.codestpro2}-${ep.codestpro3}`\r\n this.denominacion = this.denominacionEstructuraProgramaticaThree\r\n } else {\r\n this.estructura = `${ep.codestpro1}-${ep.codestpro2}-${ep.codestpro3}-${ep.codestpro4}-${ep.codestpro5}`\r\n this.denominacion = this.denominacionEstructuraProgramaticaFive\r\n } \r\n }else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IEstructuraPresupuestariaFiveComplete{\r\n return {\r\n codestpro1: this.codigoEstructuraProgramaticaOne,\r\n codestpro2: this.codigoEstructuraProgramaticaTwo,\r\n codestpro3: this.codigoEstructuraProgramaticaThree,\r\n codestpro4: this.codigoEstructuraProgramaticaFour,\r\n codestpro5: this.codigoEstructuraProgramaticaFive,\r\n denestpro1: this.denominacionEstructuraProgramaticaOne,\r\n denestpro2: this.denominacionEstructuraProgramaticaTwo,\r\n denestpro3: this.denominacionEstructuraProgramaticaThree,\r\n denestpro4: this.denominacionEstructuraProgramaticaFour,\r\n denestpro5: this.denominacionEstructuraProgramaticaFive,\r\n estcla: this.estatusClasificacion,\r\n id_empresa: this.idEmpresa.toString(),\r\n id_enterprise: this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n id_ep1: this.idEstructuraOne.toString(),\r\n id_ep2: this.idEstructuraTwo.toString(),\r\n id_ep3: this.idEstructuraThree.toString(),\r\n id_ep4: this.idEstructuraFor.toString(),\r\n id_ep5: this.idEstructuraFive.toString(),\r\n }\r\n }\r\n}\r\n\r\nexport class MAllStructure {\r\n public structureOne: MEstructuraPresupuestariaOne[];\r\n public structureTwo: MEstructuraPresupuestariaTwo[];\r\n public structureThree: MEstructuraPresupuestariaThree[];\r\n public structureFour: MEstructuraPresupuestariaFour[];\r\n public structureFive: MEstructuraPresupuestariaFive[];\r\n\r\n constructor({structureOne, structureTwo, structureThree, structureFour, structureFive}) {\r\n this.structureOne = structureOne;\r\n this.structureTwo = structureTwo;\r\n this.structureThree = structureThree;\r\n this.structureFour = structureFour;\r\n this.structureFive = structureFive\r\n }\r\n}","import { IPlanUnicoCuenta } from '../../interfaces/PlanUnicoCuenta';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MPlanUnicoCuenta extends MBasicModel {\r\n public denominacion: string;\r\n public cuenta: string;\r\n\r\n constructor(plan?: IPlanUnicoCuenta) {\r\n super();\r\n if(plan){\r\n this.denominacion = plan.denominacion;\r\n this.cuenta = plan.sc_cuenta;\r\n } \r\n }\r\n\r\n public dataInterface():IPlanUnicoCuenta{\r\n return{\r\n denominacion: this.denominacion, \r\n sc_cuenta: this.cuenta,\r\n }\r\n }\r\n}","import { IAccountMarriage } from '../../interfaces/Integracion';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MAccountMarriage extends MBasicModel{\r\n\r\n public idEmpresa: number = null;\r\n public cuentaContable: number = null;\r\n public cuentaInstitucional: number = null;\r\n public idDt:number=0;\r\n public isNew: boolean=false\r\n\r\n constructor(marriage?: IAccountMarriage){\r\n super();\r\n if(marriage){\r\n this.idEmpresa = parseInt(marriage.id_empresa);\r\n this.cuentaContable = parseInt(marriage.sig_cuenta);\r\n this.cuentaInstitucional = parseInt(marriage.sc_cuenta);\r\n this.idDt= +marriage.id_dt_cuenta;\r\n } else {\r\n this.isNew;\r\n }\r\n }\r\n\r\n public dataInterface():IAccountMarriage{\r\n return{\r\n id_empresa: this.idEmpresa.toString(),\r\n sc_cuenta: this.cuentaContable.toString(),\r\n sig_cuenta: this.cuentaInstitucional.toString(),\r\n id_dt_cuenta:this.idDt.toString(),\r\n }\r\n }\r\n\r\n}\r\n","import { MBasicModel } from '../basic-model.model';\r\nimport { IServiceType } from '../../interfaces/Servicios';\r\n\r\nexport class MServiceType extends MBasicModel{\r\n\r\n public id: number = -1;\r\n public idEmpresa: number = 0;\r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public denomination: string = null;\r\n public observation: string = null;\r\n\r\n constructor(type: IServiceType = null) {\r\n super();\r\n if (type) {\r\n this.idEmpresa = parseInt(type.id_empresa);\r\n this.idEnterprise=+type.id_enterprise;\r\n this.periodoFiscal = +type.perfiscal;\r\n this.id = parseInt(type.id_tiposervicio);\r\n this.denomination = type.dentipser;\r\n this.observation = type.obstipser;\r\n }else{\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataAsInterface(): IServiceType{\r\n return {\r\n id_empresa: this.idEmpresa.toString(),\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n dentipser: this.denomination,\r\n id_tiposervicio: this.id.toString(),\r\n obstipser: this.observation\r\n }\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IService } from '../../interfaces/Servicios';\r\nimport { MServiceCharge } from './serviceCharge.model';\r\n\r\nexport class MService extends MBasicModel{\r\n\r\n public id: number = -1;\r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public code: string = '';\r\n public companyId: number = 0;\r\n public serviceTypeId: number = 0;\r\n public denomination: string = '';\r\n public amount: number = 0;\r\n public expensesAccount: string = '';\r\n public charges: MServiceCharge[] = [];\r\n\r\n constructor(service: IService = null){\r\n super();\r\n if (service) {\r\n this.idEnterprise=+service.id_enterprise;\r\n this.periodoFiscal=+service.perfiscal;\r\n this.id = parseInt(service.id_servicio);\r\n this.companyId = parseInt(service.id_empresa);\r\n this.serviceTypeId = parseInt(service.id_tiposervicio);\r\n this.denomination = service.denser;\r\n this.amount = parseFloat(service.monser);\r\n this.expensesAccount = service.spg_cuenta;\r\n this.code = service.codser;\r\n if (service.cargos) {\r\n this.charges = service.cargos.map(e => new MServiceCharge(e));\r\n }\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataAsInterface(): IService{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n denser: this.denomination,\r\n id_empresa: this.companyId.toString(),\r\n id_servicio: this.id.toString(),\r\n id_tiposervicio: this.serviceTypeId.toString(),\r\n monser: this.amount.toString(),\r\n spg_cuenta: this.expensesAccount,\r\n cargos: this.charges.map(e => e.interface()),\r\n codser: this.code\r\n }\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IClause } from '../../interfaces/Servicios';\r\n\r\nexport class MClause extends MBasicModel{\r\n\r\n public id: number = -1\r\n public companyId: number = 0;\r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public clause: string = '';\r\n public denomination: string = '';\r\n\r\n constructor(clause: IClause = null){\r\n super();\r\n if (clause) { \r\n this.companyId = parseInt(clause.id_empresa); \r\n this.idEnterprise=+clause.id_enterprise;\r\n this.periodoFiscal =+clause.perfiscal;\r\n this.clause = clause.codcla;\r\n this.denomination = clause.dencla\r\n this.id = parseInt(clause.id_clausula);\r\n }else{\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataAsInterface(): IClause{\r\n return{\r\n codcla: this.clause,\r\n dencla: this.denomination,\r\n perfiscal:this.periodoFiscal.toString(),\r\n id_empresa: this.companyId ? this.companyId.toString() : null,\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_clausula: this.id ? this.id.toString() : null\r\n }\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IClauseModality } from '../../interfaces/Servicios';\r\nimport { MClause } from './clause.model';\r\n\r\nexport class MClauseModality extends MBasicModel{\r\n\r\n public id: number = -1;\r\n public companyId: number = 0;\r\n public idEnterprise:number=0;\r\n public periodoFiscal:number=0;\r\n public code: string = '';\r\n public denomination: string = '';\r\n public clauses: MClause[] = [];\r\n\r\n constructor(mod: IClauseModality = null){\r\n super();\r\n if (mod) {\r\n this.idEnterprise=+mod.id_enterprise;\r\n this.periodoFiscal =+mod.perfiscal;\r\n this.id = parseInt(mod.id_modcla);\r\n this.companyId = parseInt(mod.id_empresa);\r\n this.code = mod.codmodcla;\r\n this.denomination = mod.denmodcla;\r\n this.clauses = mod.clausulas.map((e) => new MClause(e));\r\n } else{\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataAsInterface(): IClauseModality{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n perfiscal:this.periodoFiscal.toString(),\r\n clausulas: this.clauses.map((e) => e.dataAsInterface()),\r\n codmodcla: this.code,\r\n denmodcla: this.denomination,\r\n id_modcla: this.id ? this.id.toString() : null,\r\n id_empresa: this.companyId ? this.companyId.toString() : null\r\n }\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IGroup } from '../../interfaces/Seguridad';\r\nimport { MRights } from './userRights.model';\r\nimport { MUserDetail } from './userDetail.model';\r\n\r\nexport class MGroup extends MBasicModel {\r\n\r\n public id: number = null;\r\n public code: string = '';\r\n public name: string = '';\r\n public status: boolean = true;\r\n public notes: string = '';\r\n public users: MUserDetail[] = [];\r\n public deletedUsers: MUserDetail[] = [];\r\n public rights: MRights[] = []\r\n\r\n constructor(group?: IGroup){\r\n super();\r\n\r\n if (group) {\r\n \r\n this.id = parseInt(group.id_grupo);\r\n this.code = group.codgru;\r\n this.name = group.nomgru;\r\n this.status = group.estgru == '1';\r\n this.notes = group.obsgru;\r\n this.rights = group.derechos ? group.derechos.map(e => new MRights(e)) : [];\r\n this.users = group.usuarios.map(e => new MUserDetail(e));\r\n\r\n }\r\n\r\n }\r\n\r\n public deleteAll(){\r\n this.deletedUsers = this.users;\r\n this.users = [];\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IUserPermit } from '../../interfaces/Seguridad';\r\n\r\nexport class MUserPermit extends MBasicModel {\r\n\r\n public id: number = null;\r\n public systemCode: string = '---';\r\n public internalPermit: string = null;\r\n public active: boolean = false;\r\n public userData: {\r\n id: number,\r\n name: string,\r\n lastname: string,\r\n username: string\r\n } = {\r\n id: null,\r\n name: null,\r\n lastname: null,\r\n username: null\r\n }\r\n public descripcion: string;\r\n public id_record: number;\r\n\r\n constructor(permit: IUserPermit = null){\r\n\r\n super();\r\n\r\n if (permit) {\r\n this.id = parseInt(permit.id_permiso);\r\n this.systemCode = permit.codsis;\r\n this.internalPermit = permit.codintper;\r\n this.active = permit.activo == '1';\r\n this.userData.id = parseInt(permit.id_usuario);\r\n this.userData.name = permit.nomusu;\r\n this.userData.lastname = permit.apeusu;\r\n this.userData.username = permit.codusu;\r\n this.descripcion = permit.descripcion;\r\n this.id_record = parseInt(permit.id_record);\r\n } else {\r\n this.isNew = true;\r\n }\r\n\r\n }\r\n\r\n public interface(): IUserPermit{\r\n return {\r\n activo: this.active ? '1' : '0',\r\n codintper: this.internalPermit,\r\n codsis: this.systemCode,\r\n descripcion: this.descripcion,\r\n id_record: this.id_record.toString(),\r\n id_permiso: this.id.toString(),\r\n id_usuario: this.userData.id ? this.userData.id.toString() : null,\r\n apeusu: this.userData.lastname ? this.userData.lastname : null,\r\n codusu: this.userData.username ? this.userData.username : null,\r\n nomusu: this.userData.name ? this.userData.name : null,\r\n isNew: this.isNew ? '1' : '0'\r\n }\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { ILog } from '../../interfaces/Seguridad';\r\n\r\nexport class MLog extends MBasicModel {\r\n\r\n public id_usuario : number = 0;\r\n public id_component : number = 0;\r\n public codsis: string = '';\r\n public evento: string = '';\r\n public deslog: string = '';\r\n public equlog: string = '';\r\n public fecsys: string = '';\r\n public feclog: string = '';\r\n public id_empresa: number = 0; \r\n public id_log: number = 0;\r\n \r\n constructor(record: ILog=null){\r\n\r\n super();\r\n if (record){\r\n this.id_usuario = record.id_usuario;\r\n this.id_component = record.id_component;\r\n this.codsis = record.codsis;\r\n this.evento = record.evento;\r\n this.deslog = record.deslog;\r\n this.equlog = record.equlog;\r\n this.fecsys = record.fecsys; \r\n this.feclog = record.feclog; \r\n this.id_empresa = record.id_empresa; \r\n this.id_log = parseInt(record.id_log);\r\n }\r\n \r\n }\r\n\r\n \r\n }","import { MBasicModel } from '../basic-model.model';\r\nimport { IAnticipoPrestacion } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MAnticipoPrestaciones extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0; \r\n public idAnticipo:number=0; \r\n public codigoAntiguedad:string=''; \r\n public estatusAnticipo:number=1; \r\n public fechaAnticipo:string='0'; \r\n public montoPrestacionAntiguedad:number=0; \r\n public montoInteresAntigueada:number=0; \r\n public montoAnteriorAntiguedad:number=0; \r\n public montoAnteriorInteres:number=0; \r\n public porcentajeAntiguedad:number=0; \r\n public porcentajeInteres: number=0;\r\n public montoAnticipo:number=0; \r\n public montoInteres:number=0; \r\n public motivoAnticipo:string=''; \r\n public observacionAnticipo:string='';\r\n public codigoUsuario:string='';\r\n public montoMaximoAntiguedad:number=0;\r\n public montoMaximoInteres:number=0;\r\n public denominacionEstatus:string='';\r\n\r\n\r\n constructor(e?:IAnticipoPrestacion){\r\n super();\r\n if(e) { \r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal=+e.id_personal \r\n this.idAnticipo=+e.id_anticipops \r\n this.codigoAntiguedad =e.codant \r\n this.estatusAnticipo =+e.estant \r\n this.fechaAnticipo=e.fecant\r\n this.montoPrestacionAntiguedad=+e.monpreant\r\n this.montoInteresAntigueada=+e.monintant\r\n this.montoAnteriorAntiguedad =+e.monantant\r\n this.montoAnteriorInteres=+e.monantint \r\n this.porcentajeAntiguedad=+e.porant \r\n this.porcentajeInteres=+e.porint\r\n this.montoAnticipo=+e.monant\r\n this.montoInteres=+e.monint \r\n this.motivoAnticipo=e.motant \r\n this.observacionAnticipo=e.obsant \r\n this.codigoUsuario=e.codusu \r\n this.estatus();\r\n this.calcularAntiguedad();\r\n this.calcularInteres();\r\n } else {\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataInterface():IAnticipoPrestacion{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal :this.idPersonal,\r\n id_anticipops :this.idAnticipo,\r\n codant :this.codigoAntiguedad ,\r\n estant :this.estatusAnticipo ,\r\n fecant:this.fechaAnticipo,\r\n monpreant:this.montoPrestacionAntiguedad,\r\n monintant :this.montoInteresAntigueada,\r\n monantant :this.montoAnteriorAntiguedad ,\r\n monantint :this.montoAnteriorInteres,\r\n porant :this.porcentajeAntiguedad,\r\n porint: this.porcentajeInteres,\r\n monant:this.montoAnticipo,\r\n monint :this.montoInteres,\r\n motant :this.motivoAnticipo,\r\n obsant :this.observacionAnticipo,\r\n codusu:this.codigoUsuario, \r\n }\r\n }\r\n//montos maximos a solicitar\r\n public calcularAntiguedad(){\r\n this.montoMaximoAntiguedad=this.montoPrestacionAntiguedad-this.montoAnteriorAntiguedad\r\n }\r\n\r\n public calcularInteres(){\r\n this.montoMaximoInteres=this.montoInteresAntigueada-this.montoAnteriorInteres\r\n }\r\n\r\n\r\n public calcularPorcentajeAntiguedad(){\r\n this.montoAnticipo=this.montoMaximoAntiguedad*(this.porcentajeAntiguedad/100)\r\n }\r\n\r\n public calcularPorcentajeInteres(){\r\n this.montoInteres=this.montoMaximoInteres*(this.porcentajeInteres/100)\r\n }\r\n\r\n public estatus(){\r\n if (this.estatusAnticipo==1){\r\n this.denominacionEstatus=\"EMITIDO\"\r\n } else if (this.estatusAnticipo==2){\r\n this.denominacionEstatus=\"APROBADO\"\r\n } else if (this.estatusAnticipo==3){\r\n this.denominacionEstatus=\"CONTABILIZADO\"\r\n }\r\n \r\n }\r\n \r\n \r\n \r\n}\r\n\r\n","import { MBasicModel } from '../basic-model.model';\r\nimport { IArchivoTxtCampos } from '../../interfaces/RecursosHumanos';\r\n\r\nexport class MArchivoTxtCampo extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idArchivoTxt: number=0; \r\n public codigoCampo: number=0; \r\n public descripcionCampo: string=''; \r\n public inicioCampo: string=''; \r\n public longitudCampo: string=''; \r\n public editableCampo: string='N'; \r\n public claveCampo: string='N'; \r\n public actualizarCampo: string='N'; \r\n public criteroCampo: string=''; \r\n public tablaRelacionCampo: string=''; \r\n public itemRelacionCampo: string='informativo'; \r\n public tipoCampo: string=''; \r\n public idDtCampo: number=0; \r\n\r\n constructor(e?:IArchivoTxtCampos){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idArchivoTxt= parseInt(e.id_archivotxt); \r\n this.codigoCampo= parseInt(e.codcam); \r\n this.descripcionCampo= e.descam; \r\n this.inicioCampo= e.inicam; \r\n this.longitudCampo= e.loncam; \r\n this.editableCampo= e.edicam; \r\n this.claveCampo= e.clacam; \r\n this.actualizarCampo= e.actcam; \r\n this.criteroCampo= e.cricam; \r\n this.tablaRelacionCampo= e.tabrelcam; \r\n this.itemRelacionCampo= e.iterelcam; \r\n this.tipoCampo= e.tipcam; \r\n this.idDtCampo= parseInt(e.id_dt_campo); \r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IArchivoTxtCampos {\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_archivotxt:this.idArchivoTxt.toString(), \r\n codcam: this.codigoCampo.toString(), \r\n descam: this.descripcionCampo,\r\n inicam: this.inicioCampo, \r\n loncam: this.longitudCampo,\r\n edicam: this.editableCampo, \r\n clacam: this.claveCampo, \r\n actcam: this.actualizarCampo, \r\n cricam: this.criteroCampo, \r\n tabrelcam: this.tablaRelacionCampo,\r\n iterelcam: this.itemRelacionCampo,\r\n tipcam: this.tipoCampo, \r\n id_dt_campo: this.idDtCampo.toString(),\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IArchivoTxt } from \"../../interfaces/RecursosHumanos\";\r\nimport { MArchivoTxtCampo } from \"./MArchivoTxtCampo.model\";\r\n\r\nexport class MArchivosTxt extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idArchivoTxt:number=0; \r\n public codigoArchivo:string='';\r\n public denominacionArchivo :string='';\r\n public tipoArchivo:string='I'; \r\n public acumularMonto:boolean=false; \r\n public campos: MArchivoTxtCampo[]=[]; \r\n\r\n constructor (e?:IArchivoTxt) { \r\n super();\r\n if (e){\r\n e.acumon=='1'? this.acumularMonto= true:this.acumularMonto= false; \r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa;\r\n this.idArchivoTxt= parseInt(e.id_archivotxt);\r\n this.codigoArchivo= e.codarch;\r\n this.denominacionArchivo= e.denarch;\r\n this.tipoArchivo= e.tiparch \r\n this.campos=e.campos.map(e=> new MArchivoTxtCampo(e));\r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n \r\n public dataInterface():IArchivoTxt{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_archivotxt:this.idArchivoTxt.toString(), \r\n codarch:this.codigoArchivo,\r\n denarch :this.denominacionArchivo, \r\n tiparch:this.tipoArchivo, \r\n acumon:this.acumularMonto? '1':'0', \r\n campos: this.campos.map(function (e) { return e.dataInterface(); }),\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n","import { MBasicModel } from '../basic-model.model';\r\nimport { IAspectoEvaluacion, IItemsEvaluacion } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MAspectoEvaluacion extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idTipoEvaluacion: number=0;\r\n public idAspectoEvaluacion: number=0;\r\n public codigoTipoEvaluacion: string='';\r\n public denominacionTipoEvaluacion: string='';\r\n public codigoAspecto: string='';\r\n public denominacionAspecto: string ='';\r\n\r\n constructor (e?:IAspectoEvaluacion) {\r\n super()\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idTipoEvaluacion= parseInt(e.id_tipoeval);\r\n this.idAspectoEvaluacion= parseInt(e.id_aspecto);\r\n this.codigoTipoEvaluacion= e.codtipeval;\r\n this.denominacionTipoEvaluacion= e.dentipeval;\r\n this.codigoAspecto= e.codasp\r\n this.denominacionAspecto= e.denasp;\r\n } else {\r\n this.isNew=true;\r\n }\r\n \r\n }\r\n\r\n public dataInterface():IAspectoEvaluacion{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tipoeval: this.idTipoEvaluacion.toString(), \r\n id_aspecto: this.idAspectoEvaluacion.toString(), \r\n codasp: this.codigoAspecto,\r\n denasp: this.denominacionAspecto,\r\n codtipeval:this.codigoTipoEvaluacion,\r\n dentipeval:this.denominacionTipoEvaluacion, \r\n }\r\n }\r\n}\r\n\r\nexport class MItemsEvalucion extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idTipoEvaluacion: number=0;\r\n public idAspectoEvaluacion: number=0;\r\n public idItems: number=0;\r\n public codigoItems: string=''; \r\n public denominacionItems:string=''; \r\n public valorMaximo: number=0; \r\n public codigoTipoEvaluacion: string='';\r\n public denominacionTipoEvaluacion: string='';\r\n public codigoAspecto: string='';\r\n public denominacionAspecto: string ='';\r\n\r\n constructor (e:IItemsEvaluacion=null) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idTipoEvaluacion= parseInt(e.id_tipoeval);\r\n this.idAspectoEvaluacion= parseInt(e.id_aspecto);\r\n this.idItems= parseInt(e.id_item);\r\n this.codigoItems= e.codite; \r\n this.denominacionItems= e.denite;\r\n this.valorMaximo= e.valormax;\r\n this.codigoTipoEvaluacion= e.codtipeval;\r\n this.denominacionTipoEvaluacion= e.dentipeval;\r\n this.codigoAspecto= e.codasp\r\n this.denominacionAspecto= e.denasp;\r\n }else {\r\n this.isNew=true;\r\n }\r\n \r\n }\r\n\r\n public dataInterface():IItemsEvaluacion{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tipoeval: this.idTipoEvaluacion.toString(), \r\n id_aspecto: this.idAspectoEvaluacion.toString(), \r\n id_item: this.idItems.toString(), \r\n codite: this.codigoItems, \r\n denite: this.denominacionItems, \r\n valormax: this.valorMaximo, \r\n codasp: this.codigoAspecto,\r\n denasp: this.denominacionAspecto,\r\n codtipeval:this.codigoTipoEvaluacion,\r\n dentipeval:this.denominacionTipoEvaluacion, \r\n }\r\n }\r\n}\r\n\r\n","import { MBasicModel } from '../basic-model.model';\r\nimport { IBenefiaciario } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MBeneficiario extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idDtBeneficiario:number=0;\r\n public idPersonal:number=0; \r\n public idFamiliar:number=0;\r\n public telefonoFamiliar:string=''; \r\n public codigoPais: string='---';\r\n public codigoEstado: string='---';\r\n public codigoMunicipio: string='---';\r\n public codigoParroquia: string='---';\r\n public descripcionPais: string='---'; \r\n public descripcionEstado: string='---'; \r\n public descripcionMunicipio: string='---'; \r\n public descripcionParroquia: string='---'; \r\n public codigoBeneficiario:string='';\r\n public tipoBeneficiario:string='';\r\n public nombreFamiliar:string='';\r\n public apellidoFamiliar:string='';\r\n public cedulaFamiliar:string='';\r\n public direccionFamiliar:string=''; \r\n public nexoFamiliar:string=''; \r\n //Datos Resolucion \r\n public medidaActiva:boolean=false;\r\n public tribunal:string='';\r\n public fechaResolucion='1900-01-01';\r\n public numeroResolucion:string='';\r\n public porcentajePagoBeneficiario:number=0; \r\n public montoPagoBeneficiario:number=0; \r\n public idProveedor:number=0; \r\n public idCuentaBancoProveedor:number=0;\r\n public numeroExpedienteBeneficiario:string=''; \r\n //Autorizado\r\n public nombreCheque:string=''; \r\n public cedulaAutorizado:string=''; \r\n public rifProveedor:string='';\r\n public idBanco:number=0;\r\n public idTipoCuenta:number=0; \r\n public cuentaBancoBeneficiario:string='';\r\n public formaPagoBeneficiario:string=''; \r\n public nombreBanco:string='';\r\n public denominacionTipoCuenta:string='';\r\n public cuentaPagoProveedores: string=''; \r\n public direccionProveedor: string='';\r\n public telelefonoProveedor: string='';\r\n\r\n constructor(e?:IBenefiaciario){\r\n super()\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal=parseInt(e.id_personal); \r\n this.idFamiliar=parseInt(e.id_familiar);\r\n this.idProveedor=parseInt(e.id_proveedor);\r\n this.idBanco=parseInt(e.id_banco);\r\n this.idTipoCuenta=parseInt(e.id_tipocta);\r\n this.codigoBeneficiario=e.codben;\r\n this.tipoBeneficiario=e.tipben;\r\n this.formaPagoBeneficiario=e.forpagben\r\n this.numeroExpedienteBeneficiario=e.numexpben;\r\n this.porcentajePagoBeneficiario=parseFloat(e.porpagben);\r\n this.montoPagoBeneficiario=parseFloat(e.monpagben); \r\n this.medidaActiva=e.medact=='1'? true:false;\r\n this.tribunal=e.tribunal; \r\n this.nombreCheque=e.nompro;\r\n this.cedulaAutorizado=e.cedpro; \r\n this.nombreFamiliar=e.nomfam;\r\n this.apellidoFamiliar =e.apefam;\r\n this.cedulaFamiliar =e.cedfam;\r\n this.direccionFamiliar=e.dirfam; \r\n this.telefonoFamiliar=e.telfam;\r\n this.nexoFamiliar= e.nexfam;\r\n this.nombreBanco= e.nomban;\r\n this.denominacionTipoCuenta =e.nomtipcta;\r\n this.fechaResolucion=e.fecres;\r\n this.numeroResolucion=e.numres;\r\n this.direccionProveedor=e.numres;\r\n this.telelefonoProveedor=e.numres;\r\n this.codigoPais=e.codpai;\r\n this.codigoEstado=e.codest;\r\n this.codigoMunicipio=e.codmun;\r\n this.codigoParroquia=e.codpar;\r\n this.descripcionPais=e.despai; \r\n this.descripcionEstado=e.desest; \r\n this.descripcionMunicipio=e.desmun; \r\n this.descripcionParroquia=e.despar; \r\n this.idDtBeneficiario=+e.id_dt_ben; \r\n this.cuentaPagoProveedores=e.sc_cuentarecdoc; \r\n this.rifProveedor=e.rifpro; \r\n this.idCuentaBancoProveedor=+e.id_ctabcoprov; \r\n this.cuentaBancoBeneficiario=e.ctabanben;\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IBenefiaciario {\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal.toString(), \r\n id_familiar:this.idFamiliar.toString(), \r\n id_proveedor:this.idProveedor.toString(),\r\n id_tipocta:this.idTipoCuenta.toString(), \r\n codben:this.codigoBeneficiario, \r\n id_banco:this.idBanco.toString(), \r\n tipben:this.tipoBeneficiario,\r\n porpagben:this.porcentajePagoBeneficiario.toString(), \r\n monpagben:this.montoPagoBeneficiario.toString(), \r\n ctabanben:this.cuentaBancoBeneficiario,\r\n forpagben:this.formaPagoBeneficiario, \r\n numexpben:this.numeroExpedienteBeneficiario, \r\n medact:this.medidaActiva? '1':'0',\r\n tribunal:this.tribunal,\r\n fecres:this.fechaResolucion,\r\n numres:this.numeroResolucion,\r\n dirpro:this.direccionProveedor,\r\n telpro:this.telelefonoProveedor,\r\n codpai:this.codigoPais,\r\n codest:this.codigoEstado,\r\n codmun:this.codigoMunicipio,\r\n codpar:this.codigoParroquia,\r\n despai:this.descripcionPais, \r\n desest:this.descripcionEstado, \r\n desmun:this.descripcionMunicipio, \r\n despar:this.descripcionParroquia,\r\n nomfam:this.nombreFamiliar,\r\n cedpro:this.cedulaAutorizado,\r\n nompro:this.nombreCheque,\r\n id_dt_ben:this.idDtBeneficiario.toString(),\r\n sc_cuentarecdoc:this.cuentaPagoProveedores,\r\n rifpro:this.rifProveedor,\r\n id_ctabcoprov:this.idCuentaBancoProveedor.toString(),\r\n } \r\n }\r\n}","import { MCargoEstructuraOrganizativa } from './MAsignacionCargo.model';\r\nimport { MBasicModel } from '../basic-model.model';\r\nimport { ICargosPersonal } from \"../../interfaces/RecursosHumanos\";\r\nimport { MNominaSimple } from './MNominaSimple.model';\r\n\r\nexport class MCargosPersonal extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0;\r\n public idCargo:number=0;\r\n public codigoCargo: string='';\r\n public descripcionCargo: string='';\r\n public codigoDedicacion: string='';\r\n public denominacionDedicacion:string=''; \r\n public denominacionTipoPersonalSno:string='';\r\n public idUbicacionFisica: number=0;\r\n public denominacionUbicacionFisica:string='';\r\n public codigoUbicacionFisica:string=''; \r\n public codigoTipoPersonalSno:string='';\r\n public idDedicacion:number=0;\r\n public idTipoPersonalSno: number=0;\r\n public idTabulador:number=0;\r\n public codigoGrado:string='0';\r\n public codigoPaso:string='0';\r\n public codigoTabulador:string='';\r\n public denominacionTabulador:string=''; \r\n public idPersonalCargo:number=0;\r\n public montoSalarioGrado:number=0;\r\n public montoCompensacionGrado:number=0;\r\n public estatusMPPPE:boolean=false;\r\n public idClasificadorDocente:number=0;\r\n public codigoClasificador:string='';\r\n public denominacionClasificador:string='';\r\n public idClasificadorPersonal:number=0;\r\n public codigoClasificadorPersonal:string='';\r\n public denominacionClasificadorPersonal:string='';\r\n public idOrganigrama:number=0;\r\n public codigoEstructuraOrganizativa:string='';\r\n public denominacionEstructuraOrganizativa:string='';\r\n public detallesNomina:MNominaSimple[]=[]\r\n public fechaAsignacion:string='1900-01-01';\r\n public fechaCese:string='1900-01-01';\r\n public estatus:boolean=true;\r\n public denominacionEstatus:string;\r\n\r\n\r\n constructor(p:ICargosPersonal=null){\r\n super();\r\n if(p){\r\n this.idEnterprise=+p.id_enterprise; \r\n this.idEmpresa=+p.id_empresa;\r\n this.idPersonal=parseInt(p.id_personal);\r\n this.idCargo=+p.id_carper;\r\n this.codigoCargo=p.codcar;\r\n this.descripcionCargo=p.descar;\r\n this.codigoDedicacion=p.codded;\r\n this.denominacionDedicacion=p.dended; \r\n this.denominacionTipoPersonalSno=p.dentipper; \r\n this.idUbicacionFisica=parseInt(p.id_ubifis);\r\n this.denominacionUbicacionFisica=p.denubifis;\r\n this.codigoUbicacionFisica=p.codubifis;\r\n this.codigoTipoPersonalSno=p.codtipper; \r\n this.idDedicacion=parseInt(p.id_dedicacion);\r\n this.idTipoPersonalSno=parseInt(p.id_tipopersonal);\r\n this.idTabulador=parseInt(p.id_tabulador);\r\n this.codigoGrado=p.codgra;\r\n this.codigoPaso=p.codpas; \r\n this.codigoTabulador=p.codtab;\r\n this.denominacionTabulador=p.destab;\r\n this.idPersonalCargo=parseInt(p.id_personalcargo);\r\n this.montoSalarioGrado=parseFloat(p.monsalgra);\r\n this.montoCompensacionGrado=parseFloat(p.moncomgra);\r\n this.estatusMPPPE= p.estmpppe =='1'? true:false;\r\n this.codigoClasificador=p.codcladoc;\r\n this.denominacionClasificador=p.dencladec;\r\n this.idClasificadorPersonal=+p.id_claper; \r\n this.codigoClasificadorPersonal=p.codclaper;\r\n this.denominacionClasificadorPersonal=p.denclaper; \r\n this.idOrganigrama=+p.id_organigrama;\r\n this.codigoEstructuraOrganizativa= p.codestorg;\r\n this.denominacionEstructuraOrganizativa= p.denestorg; \r\n this.estatus= p.estatus=='1' \r\n this.fechaAsignacion= p.fecasi;\r\n this.fechaCese= p.fecces; \r\n this.estatus? this.denominacionEstatus='ACTIVO':this.denominacionEstatus='INACTIVO';\r\n if(p.detalles_nomina){\r\n this.detallesNomina=p.detalles_nomina.map(e=> new MNominaSimple(e));\r\n }\r\n } else {\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataInterface():ICargosPersonal{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal.toString(),\r\n id_carper:this.idCargo.toString(),\r\n id_tabulador:this.idTabulador.toString(),\r\n codgra:this.codigoGrado,\r\n codpas:this.codigoPaso,\r\n id_ubifis:this.idUbicacionFisica.toString(),\r\n id_personalcargo:this.idPersonalCargo.toString(),\r\n id_claper:this.idClasificadorPersonal.toString(),\r\n id_dedicacion:this.idDedicacion.toString(),\r\n id_tipopersonal:this.idTipoPersonalSno.toString(),\r\n id_organigrama:this.idOrganigrama.toString(),\r\n estatus:this.estatus? '1':'0',\r\n fecasi:this.fechaAsignacion,\r\n fecces:this.fechaCese,\r\n detalles_nomina:this.detallesNomina.map(function(e){ return e.dataInterface(); }), \r\n }\r\n }\r\n\r\n}\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { ICargaFamiliar } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MCargaFamiliar extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso: number=0;\r\n public idConcursante: number=0;\r\n public idFamilia: number=0;\r\n public codigoFamilia: string='';\r\n public cedula: string='';\r\n public nombres: string='';\r\n public apellidos: string='';\r\n public genero: string='';\r\n public parentesco: string='';\r\n public fechaNacimiento: string='';\r\n \r\n constructor (e?:ICargaFamiliar) {\r\n super(); \r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcurso=parseInt(e.id_concurso);\r\n this.idConcursante=parseInt(e.id_concursante);\r\n this.idFamilia=parseInt(e.id_familiacon);\r\n this.codigoFamilia=e.codfam;\r\n this.cedula=e.cedfam;\r\n this.nombres=e.nomfam;\r\n this.apellidos=e.apefam;\r\n this.genero=e.sexfam;\r\n this.parentesco=e.nexfam;\r\n this.fechaNacimiento=e.fecnacfam;\r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n \r\n public dataInterface():ICargaFamiliar{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concurso: this.idConcurso.toString(),\r\n id_concursante: this.idConcurso.toString(),\r\n id_familiacon: this.idFamilia.toString(),\r\n codfam: this.codigoFamilia,\r\n cedfam: this.cedula,\r\n nomfam: this.nombres,\r\n apefam: this.apellidos,\r\n sexfam: this.genero,\r\n nexfam: this.parentesco,\r\n fecnacfam: this.fechaNacimiento\r\n }\r\n }\r\n}\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IClasificacionObrero } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MClasificacionObrero extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idClasificacionObrero: number=0;\r\n public grado: string='';\r\n public sueldoMinimo: number=0;\r\n public sueldoMaximo: number=0;\r\n public tipoClasificacion: string='';\r\n public anoVigente: string='';\r\n public numeroGaceta: string='';\r\n public observacion: string='';\r\n\r\n constructor (e?:IClasificacionObrero) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idClasificacionObrero=parseInt(e.id_claobr);\r\n this.grado=e.grado;\r\n this.sueldoMinimo=e.suemin;\r\n this.sueldoMaximo=e.suemax;\r\n this.tipoClasificacion=e.tipcla;\r\n this.anoVigente=e.anovig;\r\n this.numeroGaceta=e.numgac;\r\n this.observacion=e.obscla;\r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n \r\n public dataInterface(): IClasificacionObrero {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_claobr: this.idClasificacionObrero.toString(),\r\n grado: this.grado,\r\n suemin: this.sueldoMinimo,\r\n suemax: this.sueldoMaximo,\r\n tipcla: this.tipoClasificacion,\r\n anovig: this.anoVigente,\r\n numgac: this.numeroGaceta,\r\n obscla: this.observacion\r\n }\r\n }\r\n}","import { IConceptosVacaciones } from '../../interfaces/Nomina';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MConceptoVacaciones extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConceptoVacaciones:number=0; \r\n public idNomina:number=0;\r\n public idConcepto:number=0;\r\n public formuloSalidaVacaciones:string='';\r\n public acumaladoMaximoSalida:number=0;\r\n public valorMinimoSalida:number=0;\r\n public valorMaximoSalida:number=0;\r\n public condicionSalida:string='';\r\n public formuloAportePatronalSalida:string='';\r\n public valorMiniminoAportePatronalSalida:number=0;\r\n public valorMaximoAportePatronalSalida:number=0;\r\n public formulaReingresoVaciones:string='';\r\n public acumuladoMaximoReingresoVacciones:number=0;\r\n public valorMinimoReingresoVacciones:number=0;\r\n public valorMaximoReingresoVacciones:number=0;\r\n public condicionReingresoVacaciones:string='';\r\n public formulaAportePatronalReingreso:string='';\r\n public valorMinimoAportePatronalReingreso:number=0;\r\n public valorMaximoAportePatronalReingreso:number=0;\r\n public codigoConcepto:string='';\r\n public nombreConcepto:string='';\r\n public signoConcepto:string='';\r\n\r\n constructor (e: IConceptosVacaciones= null){\r\n super()\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConceptoVacaciones=+e.id_convac;\r\n this.idNomina=+e.id_nomina;\r\n this.idConcepto=+e.id_concepto;\r\n this.formuloSalidaVacaciones=e.forsalvac;\r\n this.acumaladoMaximoSalida=+e.acumaxsalvac;\r\n this.valorMinimoSalida=+e.minsalvac;\r\n this.valorMaximoSalida=+e.maxsalvac;\r\n this.condicionSalida=e.consalvac;\r\n this.formuloAportePatronalSalida=e.forpatsalvac;\r\n this.valorMiniminoAportePatronalSalida=+e.minpatsalvac;\r\n this.valorMaximoAportePatronalSalida=+e.maxpatsalvac;\r\n this.formulaReingresoVaciones=e.forreivac;\r\n this.acumuladoMaximoReingresoVacciones=+e.acumaxreivac;\r\n this.valorMinimoReingresoVacciones=+e.minreivac;\r\n this.valorMaximoReingresoVacciones=+e.maxreivac;\r\n this.condicionReingresoVacaciones=e.conreivac;\r\n this.formulaAportePatronalReingreso=e.forpatreivac;\r\n this.valorMinimoAportePatronalReingreso=+e.minpatreivac;\r\n this.valorMaximoAportePatronalReingreso=+e.maxpatreivac; \r\n this.codigoConcepto=e.codconc;\r\n this.nombreConcepto=e.nomcon;\r\n this.signoConcepto=e.sigcon;\r\n \r\n }\r\n }\r\n\r\n public dataInterface():IConceptosVacaciones{\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_convac:this.idConceptoVacaciones.toString(),\r\n id_nomina:this.idNomina.toString(),\r\n id_concepto:this.idConcepto.toString(),\r\n forsalvac:this.formuloSalidaVacaciones,\r\n acumaxsalvac:this.acumaladoMaximoSalida.toString(),\r\n minsalvac:this.valorMinimoSalida.toString(),\r\n maxsalvac:this.valorMaximoSalida.toString(),\r\n consalvac:this.condicionSalida,\r\n forpatsalvac:this.formuloAportePatronalSalida,\r\n minpatsalvac:this.valorMiniminoAportePatronalSalida.toString(),\r\n maxpatsalvac:this.valorMaximoAportePatronalSalida.toString(),\r\n forreivac:this.formulaReingresoVaciones,\r\n acumaxreivac:this.acumuladoMaximoReingresoVacciones.toString(),\r\n minreivac:this.valorMinimoReingresoVacciones.toString(),\r\n maxreivac:this.valorMaximoReingresoVacciones.toString(),\r\n conreivac:this.condicionReingresoVacaciones,\r\n forpatreivac:this.formulaAportePatronalReingreso,\r\n minpatreivac:this.valorMinimoAportePatronalReingreso.toString(),\r\n maxpatreivac:this.valorMaximoAportePatronalReingreso.toString(),\r\n codconc:this.codigoConcepto,\r\n nomcon:this.nombreConcepto,\r\n sigcon:this.signoConcepto,\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n\r\n}\r\n","import { ISelect } from \"./Constantes\";\r\n\r\nexport const TipoCestaTicket: ISelect[]=[\r\n {value: \"1\", denominacion: 'Tarjeta'},\r\n {value: \"2\", denominacion: 'Tickect'}, \r\n]\r\n\r\nexport const Signo: ISelect[]=[\r\n {value: \"A\", denominacion: 'Asignación'},\r\n {value: \"D\", denominacion: 'Deducción'}, \r\n {value: \"P\", denominacion: 'Aporte Patronal'}, \r\n {value: \"R\", denominacion: 'Reporte'},\r\n {value: \"B\", denominacion: 'Reintegro de Deducciones'},\r\n {value: \"E\", denominacion: 'Reintegro de Asignación'},\r\n {value: \"X\", denominacion: 'Prestación de Antiguedad'}, \r\n {value: \"I\", denominacion: 'Interés de Prestación'}, \r\n\r\n]\r\n\r\nexport const Reporte: ISelect[]=[\r\n {value: \"1\", denominacion: 'Primera Quincena'},\r\n {value: \"2\", denominacion: 'Segunda Quincena'}, \r\n {value: \"3\", denominacion: 'Ambas Quincenas'}, \r\n]\r\n\r\nexport const SalarioNormal: ISelect[]=[\r\n {value: \"F\", denominacion: 'Fijo'},\r\n {value: \"V\", denominacion: 'Variabble'}, \r\n {value: \"B\", denominacion: 'Bono Vacacional'}, \r\n {value: \"U\", denominacion: 'Bono Fin de Año'},\r\n {value: \"N\", denominacion: 'Ninguno'}, \r\n]\r\n\r\nexport interface IAsignacionCargo{\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_carper: string,\r\n codcar: string,\r\n descar: string,\r\n id_dedicacion: string, \r\n id_tipopersonal: string, \r\n id_tabulador: string, \r\n codgra: string,\r\n codpas: string,\r\n id_ep1: string,\r\n id_ep2: string,\r\n id_ep3: string,\r\n id_ep4: string,\r\n id_ep5: string,\r\n totcar: string,\r\n numocucar: string, \r\n clacar: string, \r\n codigo_estructura?: string, \r\n denominacion_estructura?: string, \r\n codded?: string,\r\n dended?: string, \r\n codtipper?: string,\r\n dentipper?: string, \r\n codtab?: string,\r\n destab?: string, \r\n monsalgra?: string,\r\n moncomgra?: string, \r\n disponibilidad?: string, \r\n detalles_nomina:ICargoNomina[],\r\n detalles_organigrama: ICargoOrganigrama[],\r\n eliminar_nomina:number[],\r\n eliminar_organigrama:number[],\r\n}\r\n\r\nexport interface IHojaTiempo {\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_personalnomina:string, \r\n fechojtie:string,\r\n esthojtie:string,\r\n id_hora:string,\r\n horlab:string,\r\n horextlab:string,\r\n repcom:string,\r\n id_constante:string,\r\n id_hojatiempo:string,\t\r\n codhor:string,\r\n codcons:string;\r\n noncons:string;\r\n id_nomina:string;\r\n id_periodo:string;\r\n codperi:string;\r\n fecdesper:string,\r\n fechasper:string,\r\n\r\n}\r\nexport interface INomina {\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_nomina:string,\r\n id_uniadm:string,\r\n codnom:string,\r\n dennom:string,\r\n tippernom:string,\r\n despernom:string,\r\n anocurnom:string,\r\n fecininom:string,\r\n peractnom:string,\r\n numpernom:string,\r\n tipnom:string,\r\n racnom:string,\r\n adenom:string,\r\n consulnom:string,\r\n id_proveedor:string,\r\n cueconnom:string,\r\n notdebnom:string,\r\n tipdocnom:string,\r\n conaponom:string,\r\n tipdocapo:string,\r\n perresnom:string,\r\n conpernom:string,\r\n titrepnom:string,\r\n tipdocfid:string,\r\n id_benfid:string,\r\n cueconfid:string,\r\n informa:string,\r\n divcon:string,\r\n tipdocpagperche:string,\r\n estctaalt:string,\r\n id_fuefin:string,\r\n codigoftefin:string,\r\n cersindis:string,\r\n tipdoccaunom:string,\r\n id_concxpnom:string,\r\n id_concxpapo:string, \r\n id_cencos:string,\r\n codcencos:string,\r\n id_usuario:string,\r\n denfuefin:string,\r\n dencencos:string,\r\n denctacont:string,\r\n nompro:string,\r\n tippro:string,\r\n id_periodoactual:string,\r\n id_perresnom:string,\r\n estincidencia:string,\r\n segper:string,\r\n coduniadm?:string,\r\n denuniadm?:string,\r\n periodos:IPeriodoNomina[],\r\n procesos:IProcesoNomina[],\t\r\n}\r\n\r\n\r\nexport interface INominaSimple{\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_nomina:string, \r\n id_carper:string,\r\n id_personal:string,\r\n id_personalnomina:string,\r\n id_organigrama: string,\r\n id_planhor: string,\r\n staper?:string,\r\n codnom?:string,\r\n dennom?:string,\r\n id_periodoactual?:string,\r\n totper?:string,\r\n cerper?:string,\r\n calculado?:string,\r\n prenomina?:string, \r\n descar?:string,\r\n codcar?:string,\r\n racnom?:string, \r\n despernom?:string,\r\n peractnom?:string, \r\n codestorg?: string,\r\n denestorg?: string,\r\n codplanhor?: string,\r\n denplanhor?: string,\r\n}\r\n\r\nexport interface IPeriodoNomina{\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_nomina:string, \r\n id_periodo:string, \r\n codperi:string, \r\n fecdesper:string, \r\n fechasper:string, \r\n cerper:string, \r\n totper:string, \r\n conper:string, \r\n apoconper:string, \r\n obsper:string, \r\n peradi:string, \r\n ingconper:string, \r\n fidconper:string, \r\n fidintconper:string,\r\n mes:string,\r\n\r\n}\r\n\r\nexport interface IProcesoNomina {\r\n id_empresa:string, \r\n id_nomina:string, \r\n id_periodo:string, \r\n id_proceso:string, \r\n codpro:string, \r\n nompro:string,\r\n fecpro: string;\r\n cerpro: string;\r\n tolpro: string,\r\n conpro: string,\r\n apocontpro: string,\r\n precalculo: string,\r\n calculado: string,\r\n totpro:string,\r\n mes: string,\r\n aplitod:string,\r\n nomliq:string,\r\n desvacnom:string,\r\n codnom?:string,\r\n codper?:string,\r\n fecdesper?: string,\r\n fechasper?: string,\r\n}\r\n\r\nexport interface IPersonalNomina {\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_personalnomina:string, \r\n id_personal:string, \r\n id_nomina:string, \r\n id_tabvac:string, \r\n\tid_carper:string, \r\n codgra:string, \r\n codpas:string, \r\n sueper:string, \r\n horper:string, \r\n id_organigrama:string, \r\n pagbanper:string, \r\n\tid_ctabanper:string, \r\n fecing:string, \r\n staper:string, \r\n cueaboper:string, \r\n fecculcontr:string, \r\n id_dedicacion:string,\r\n\tid_tipopersonal:string, \r\n quivacper:string,\r\n id_tabulador:string, \r\n sueintper:string, \r\n pagefeper:string, \r\n sueproper:string, \r\n\tid_agencia:string, \r\n fecegrper:string, \r\n cauegrper:string, \r\n fecsusper:string, \r\n id_ubifis:string, \r\n conjub:string, \r\n\tcatjub:string, \r\n id_claviaticos:string, \r\n fecascper:string, \r\n descasicar:string, \r\n salnorper:string, \r\n observacion:string, \r\n codusu:string,\r\n id_banco:string,\r\n nomban:string; \r\n nomper:string,\r\n codper:string,\r\n cedper:string,\r\n codtabvac:string,\r\n dentabvac:string,\r\n codcar:string,\r\n descar:string,\r\n codestorg:string,\r\n denestorg:string,\r\n codban:string\r\n codded:string,\r\n dended:string,\r\n codtipper:string,\r\n dentipper:string,\r\n codtab:string,\r\n destab:string,\r\n codage:string,\r\n nomage:string,\r\n codubifis:string,\r\n denubifis:string,\r\n codcatvia:string,\r\n dencatvia:string,\r\n nomtipcta:string,\r\n fecregsis:string,\r\n ctabanper:string,\r\n nomban_ctaper:string,\r\n codban_ctaper:string,\r\n id_banco_ctaper:string,\r\n id_claobr:string,\r\n moncomgra:string,\r\n monsalgra:string,\r\n horadi1:string,\r\n horadi2:string,\r\n estmpppe:string,\r\n apeper:string,\r\n id_planhor:string,\r\n tipcar:string,\r\n suenorfij:string,\r\n suenorvar:string,\r\n suenorbon:string,\r\n suenorbonfin:string,\r\n racnom?:string,\r\n situacion?:string,\r\n monpen?:string,\r\n nacper?:string,\r\n id_clasificacion_docente:string,\r\n codcladoc?:string,\r\n dencladec?:string,\r\n codplanhor?:string,\r\n denplanhor?:string,\r\n id_perper?:string,\r\n codperper?:string,\r\n denperper?:string,\r\n}\r\n\r\nexport interface IConstanteNomina {\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_nomina:string, \r\n id_constante:string, \r\n codcons:string, \r\n nomcons:string,\r\n unicons:string,\r\n topcons:string, \r\n\tvalcons:string, \r\n reicons:string, \r\n conespseg:string, \r\n esttopmod:string, \r\n conperenc:string,\r\n conhojtie:string,\r\n estincidencia:string,\r\n regincidencia:string,\r\n valincidencia:string, \r\n glocon:string,\r\n\r\n}\r\n\r\nexport interface IConstantePersonaNomina{\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_nomina:string, \r\n id_constante:string, \r\n id_personalnomina:string, \r\n moncons:string, \r\n montopcons:string, \r\n nomper: string,\r\n apeper: string,\r\n codestorg:string;\r\n denestorg:string,\r\n codper:string,\r\n esttopmod:string,\r\n nomcons:string,\r\n conhojtie:string,\r\n codcons:string,\r\n id_carper:string,\r\n codcar:string,\r\n descar:string,\r\n id_personal:number\r\n}\r\n\r\nexport interface IConceptos {\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_nomina:string,\r\n id_concepto:string,\r\n codconc:string,\r\n nomcon:string,\r\n titcon:string,\r\n sigcon:string,\r\n forcon:string,\r\n id_cencos:string,\t\r\n glocon:string,\r\n concon:string,\r\n spg_cuentacon:string,\r\n\tsc_cuentacon:string,\r\n aplislrcon:string,\r\n sueintcon:string,\r\n sueintvaccon:string,\r\n intprocon:string,\r\n\tid_ep1:string,\r\n id_ep2:string,\r\n id_ep3:string,\r\n id_ep4:string,\r\n id_ep5:string,\r\n estcla:string,\r\n id_proveedor:string,\r\n aplarccon:string,\r\n conprocon:string,\r\n repacucon:string,\r\n repconsunicon:string,\r\n consunicon:string,\r\n\tquirepcon:string,\r\n asifidper:string,\r\n frevarcon:string,\r\n persalnor:string,\r\n conpervac:string,\r\n conperenc:string,\r\n\taplidiasadd:string,\r\n salnor:string,\r\n recpagadi:string,\r\n forpatcon:string,\r\n cueprepatcon:string,\r\n cueconpatcon:string,\r\n nompro:string,\r\n dennom:string,\r\n codnom:string,\r\n id_tipconesp:string,\r\n estincidencia:string,\r\n regincidencia:string,\r\n forincidencia:string,\r\n orden:string,\r\n evaprenom:string,\r\n antigcomp :string, \r\n id_uniadm:string,\r\n id_constante:string,\r\n id_fuefin:string,\r\n perben:string,\r\n coduniadm?:string,\r\n denuniadm?:string, \r\n codigoftefin?:string,\r\n denfuefin?:string, \r\n estructura?:string, \r\n codcencos?:string,\r\n dencencos?:string,\r\n denctapre?:string,\r\n}\r\n\r\nexport interface IConceptosPersonalNomina {\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_personalnomina:string,\r\n id_nomina:string,\r\n id_concepto:string,\r\n aplcon:string,\r\n valcon:string,\r\n acuemp:string,\r\n acuiniemp:string,\r\n acupat:string,\r\n acuinipat:string,\r\n nomper: string,\r\n apeper: string,\r\n nomcon:string,\r\n codcon:string,\r\n id_carper:string,\r\n id_personal:number,\r\n codcar:string,\r\n descar:string, \r\n codper:string,\r\n codestorg:string,\r\n denestorg:string,\r\n numpernom?:string,\r\n codnom?:string,\r\n\r\n}\r\nexport interface IPrimasConcepto {\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_primaconcepto:string,\r\n id_nomina:string,\r\n id_concepto:string,\r\n anopri:string,\r\n valpri:string,\r\n codconc:string,\r\n nomcon:string,\r\n}\r\n\r\nexport interface IConceptosVacaciones {\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_convac:string, \r\n id_nomina:string,\r\n id_concepto:string, \r\n forsalvac:string, \r\n acumaxsalvac:string,\r\n minsalvac:string,\r\n maxsalvac:string,\r\n consalvac:string,\r\n forpatsalvac:string, \r\n minpatsalvac:string, \r\n maxpatsalvac:string,\r\n forreivac:string, \r\n acumaxreivac:string,\r\n minreivac:string,\r\n maxreivac:string,\r\n conreivac:string, \r\n forpatreivac:string, \r\n minpatreivac:string, \r\n maxpatreivac:string,\r\n codconc:string,\r\n nomcon:string,\r\n sigcon:string,\r\n}\r\n\r\nexport interface IEncargaduria{\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_personalnomina:string,\r\n id_encargaduria:string,\r\n codenc:string,\r\n\tfecinienc:string,\r\n fecfinenc:string,\r\n id_personal:string,\r\n id_personalenc:string,\r\n\tid_nominaperenc:string,\r\n estenc:string,\r\n obsenc:string,\r\n estsuspernom:string,\r\n codigo_personal:string,\r\n nombre_personal:string,\r\n codcar_personal:string,\r\n dencar_personal:string,\r\n coduniadm_personal:string,\r\n denuniadm_personal:string,\r\n codorg_personal:string,\r\n denorg_personal:string,\r\n codtab_personal:string,\r\n dentab_personal:string,\r\n codpas_personal:string,\r\n codgra_personal:string,\r\n codigo_encargado:string,\r\n nombre_encargado:string,\r\n codcar_encargado:string,\r\n dencar_encargado:string,\r\n coduniadm_encargado:string,\r\n denuniadm_encargado:string,\r\n codorg_encargado:string,\r\n denorg_encargado:string,\r\n codtab_encargado:string,\r\n dentab_encargado:string,\r\n codpas_encargado:string,\r\n codgra_encargado:string,\r\n codnom:string;\r\n dennom:string;\r\n id_nominaper:string;\r\n\r\n}\r\n\r\nexport interface ICodigoUnicoRac{\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_carper:string,\r\n id_nomina:string,\r\n codunirac:string,\r\n estcodunirac:string,\r\n id_codunirac:string,\r\n}\r\n\r\n\r\nexport interface ICargoOrganigrama {\r\n id_empresa:string,\r\n id_enterprise:string,\r\n id_carper:string,\r\n id_organigrama:string,\r\n id_personal:string,\r\n id_cencos:string,\r\n id_dt:string,\r\n codestorg?:string,\r\n denestorg?:string,\r\n nivel?:string,\r\n codcar?:string,\r\n descar?:string,\r\n codcencos?:string,\r\n denominacion?:string,\r\n coduniadm?:string,\r\n denuniadm?:string,\r\n estructura?:string\r\n}\r\n\r\nexport interface ICargoNomina{\r\n id_empresa:string,\r\n id_enterprise:string,\r\n id_carper:string,\r\n id_nomina:string,\r\n id_dt_carnom:string,\r\n codnom?:string,\r\n dennom?:string,\r\n estnom?:string,\r\n peractnom?:string,\r\n id_periodoactual?:string,\r\n racnom?:string, \r\n despernom?:string,\r\n prenomina?:string,\r\n calculado?:string, \r\n id_organigrama?: string,\r\n codestorg?: string,\r\n denestorg?: string,\r\n}\r\n\r\n\r\n\r\n\r\n\r\n ","import { IConceptos, Signo } from '../../interfaces/Nomina';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MConceptosNomina extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idNomina:number=0;\r\n public idConcepto:number=0;\r\n public codigoConcepto:string='';\r\n public nombreConcepto:string='';\r\n public signoConcepto:string='';\r\n public tituloConcepto:string=''; \r\n public formulaConceptos:string='';\r\n public idCentroCosto:number=0;\r\n\tpublic codigoCentroCosto:string='---';\r\n public denominacionCentroCosto:string='';\r\n public conceptoGlobal:number=0;\r\n public condicionConcepto:string='';\r\n public spgCuentaConcepto:string='';\r\n\tpublic scCuuentaConcepto:string='';\r\n public aplicaSRLConcepto:number=0;\r\n public sueldoIntegralConcepto:number=0;\r\n public sueldoIntegralVacaciones:number=0;\r\n public integrarProgramaticaConcepto:number=0;\r\n\tpublic idEp1:number=0;\r\n public idEp2:number=0;\r\n public idEp3:number=0;\r\n public idEp4:number=0;\r\n public idEp5:number=0;\r\n public estructuraProgramatica:string; //nuevo\r\n public estatusClasificacion:string='N';\r\n public idProveedor:number=0;\r\n public aplicaARC:number=0;\r\n public contabilizacionPorProyecto:number=0;\r\n public reporteAcumuladoConcepto:number=0;\r\n public reporteConstanteUnidadConcepto:number=0;\r\n public constanteUnicaConcepto:string='';\r\n public idConstanteUnicaConcepto:number=0;\r\n\tpublic quincenaAReportarConcepto:string='';\r\n public asignacionFideicomisoPersonal:number=0;\r\n public frecuenciaVariableConcepto:number=0;\r\n public perteneceAlSalarioNormal:number=0;\r\n public conceptoPerteneceVaccaiones:number=0;\r\n public conceptoPerteneceEncargaduria:number=0;\r\n\tpublic aplicaDiasAdicionales:number=0;\r\n public salarioNormal:string='N';\r\n public recipoPagoInfAdicional:number=0;\r\n public formulaPatronConcepto:string='';\r\n public cuentaPresupuestariaPratronConcepto:string='';\r\n public cuentaContablePratronConcepto:string='';\r\n public denominacionProveedores:string='';\r\n public denominacionNomina:string='';\r\n public codigoNomina:string='';\r\n public idTipoConceptoEspecial:number=0;\r\n public estatusIncidencia:number=0;\r\n public registroIncidencia:string='';\r\n public formulaIncidencia:string='';\r\n public formulaReducida:string='';\r\n public nombreSigno:string='';\r\n public orden:number=0;\r\n public evaluarEnPrenomina:number=0;\r\n public antiguedadComplementaria:number=0;\r\n public idUnidadAdministrativa:number=0;\r\n\tpublic codigoUnidadAdministrativa:string='';\r\n public denominacionUnidadAdministraiva:string='';\r\n public perteneceBeneficiario:number=0;\r\n public idFuenteFinanciamiento:number=0;\r\n\tpublic codigoFueteFinanciamiento:string='';\r\n public denominacionFueteFinanciamiento:string='';\r\n public denominacionCuentaPresupuesto:string='';\r\n \r\n constructor(e:IConceptos=null){\r\n super()\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa;\r\n this.idNomina=+e.id_nomina;\r\n this.idConcepto=+e.id_concepto;\r\n this.codigoConcepto=e.codconc;\r\n this.nombreConcepto=e.nomcon;\r\n this.tituloConcepto=e.titcon;\r\n this.signoConcepto=e.sigcon;\r\n this.formulaConceptos=e.forcon;\r\n this.conceptoGlobal=+e.glocon;\r\n this.condicionConcepto=e.concon;\r\n this.spgCuentaConcepto=e.spg_cuentacon;\r\n this.scCuuentaConcepto=e.sc_cuentacon;\r\n this.aplicaSRLConcepto=+e.aplislrcon;\r\n this.sueldoIntegralConcepto=+e.sueintcon;\r\n this.sueldoIntegralVacaciones=+e.sueintvaccon;\r\n this.integrarProgramaticaConcepto+e.intprocon;\r\n this.idEp1=+e.id_ep1;\r\n this.idEp2=+e.id_ep2;\r\n this.idEp3=+e.id_ep3;\r\n this.idEp4=+e.id_ep4;\r\n this.idEp5=+e.id_ep5;\r\n this.estatusClasificacion=e.estcla;\r\n this.idProveedor=+e.id_proveedor;\r\n this.aplicaARC=+e.aplarccon;\r\n this.contabilizacionPorProyecto=+e.conprocon;\r\n this.reporteAcumuladoConcepto=+e.repacucon;\r\n this.reporteConstanteUnidadConcepto=+e.repconsunicon;\r\n this.constanteUnicaConcepto=e.consunicon;\r\n this.quincenaAReportarConcepto=e.quirepcon;\r\n this.asignacionFideicomisoPersonal=+e.asifidper;\r\n this.perteneceAlSalarioNormal=+e.persalnor;\r\n this.conceptoPerteneceVaccaiones=+e.conpervac;\r\n this.conceptoPerteneceEncargaduria=+e.conperenc;\r\n this.salarioNormal=e.salnor;\r\n this.recipoPagoInfAdicional=+e.recpagadi;\r\n this.formulaPatronConcepto=e.forpatcon;\r\n this.cuentaPresupuestariaPratronConcepto=e.cueprepatcon;\r\n this.cuentaContablePratronConcepto=e.cueconpatcon;\r\n this.denominacionProveedores=e.nompro;\r\n this.denominacionNomina=e.dennom;\r\n this.codigoNomina=e.codnom; \r\n this.idTipoConceptoEspecial=parseInt(e.id_tipconesp);\r\n this.estatusIncidencia=parseInt(e.estincidencia);\r\n this.registroIncidencia=e.regincidencia;\r\n this.formulaIncidencia=e.forincidencia;\r\n this.orden= parseInt(e.orden);\r\n if(e.forcon.length>40){\r\n this.formulaReducida=e.forcon.substring(0,40)+'...';\r\n } else {\r\n this.formulaReducida=e.forcon.substring(0,40);\r\n }\r\n this.nombreSigno=this.denominacionSigno(this.signoConcepto);\r\n this.evaluarEnPrenomina=+e.evaprenom;\r\n this.antiguedadComplementaria=+e.antigcomp;\r\n this.idUnidadAdministrativa=+e.id_uniadm;\r\n this.estructuraProgramatica=e.estructura; \r\n this.perteneceBeneficiario=+e.perben; \r\n this.idConstanteUnicaConcepto =+e.id_constante;\r\n this.idCentroCosto = +e.id_cencos;\r\n this.denominacionCentroCosto = e.dencencos;\r\n this.codigoCentroCosto=e.codcencos;\r\n this.codigoUnidadAdministrativa=e.coduniadm;\r\n this.denominacionUnidadAdministraiva=e.denuniadm;\r\n this.idFuenteFinanciamiento= +e.id_fuefin;\r\n this.denominacionFueteFinanciamiento= e.denfuefin;\r\n this.codigoFueteFinanciamiento= e.codigoftefin;\r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n\r\n public dataInterface():IConceptos{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa:this.idEmpresa,\r\n id_nomina:this.idNomina.toString(),\r\n id_concepto:this.idConcepto.toString(),\r\n codconc:this.codigoConcepto,\r\n nomcon:this.nombreConcepto,\r\n titcon:this.tituloConcepto,\r\n sigcon:this.signoConcepto,\r\n forcon:this.formulaConceptos,\r\n codcencos:this.codigoCentroCosto,\r\n glocon:this.conceptoGlobal.toString(),\r\n concon:this.condicionConcepto,\r\n spg_cuentacon:this.spgCuentaConcepto,\r\n sc_cuentacon:this.scCuuentaConcepto,\r\n aplislrcon:this.aplicaSRLConcepto.toString(),\r\n sueintcon:this.sueldoIntegralConcepto.toString(),\r\n sueintvaccon:this.sueldoIntegralVacaciones.toString(),\r\n intprocon:this.integrarProgramaticaConcepto.toString(),\r\n id_ep1:this.idEp1.toString(),\r\n id_ep2:this.idEp2.toString(),\r\n id_ep3:this.idEp3.toString(),\r\n id_ep4:this.idEp4.toString(),\r\n id_ep5:this.idEp5.toString(),\r\n estcla:this.estatusClasificacion,\r\n id_proveedor:this.idProveedor.toString(),\r\n aplarccon:this.aplicaARC.toString(),\r\n conprocon:this.contabilizacionPorProyecto.toString(),\r\n repacucon:this.reporteAcumuladoConcepto.toString(),\r\n repconsunicon:this.reporteConstanteUnidadConcepto.toString(),\r\n consunicon:this.constanteUnicaConcepto,\r\n id_constante:this.idConstanteUnicaConcepto.toString(),\r\n quirepcon:this.quincenaAReportarConcepto,\r\n asifidper:this.asignacionFideicomisoPersonal.toString(),\r\n frevarcon:this.frecuenciaVariableConcepto.toString(), \r\n conpervac:this.conceptoPerteneceVaccaiones.toString(),\r\n conperenc:this.conceptoPerteneceEncargaduria.toString(),\r\n aplidiasadd:this.aplicaDiasAdicionales.toString(),\r\n persalnor:this.perteneceAlSalarioNormal.toString(),\r\n salnor:this.salarioNormal,\r\n recpagadi:this.recipoPagoInfAdicional.toString(),\r\n forpatcon:this.formulaPatronConcepto,\r\n cueprepatcon:this.cuentaPresupuestariaPratronConcepto,\r\n cueconpatcon:this.cuentaContablePratronConcepto,\r\n nompro:this.denominacionProveedores,\r\n dennom:this.denominacionNomina,\r\n codnom:this.codigoNomina,\r\n id_tipconesp:this.idTipoConceptoEspecial.toString(),\r\n estincidencia:this.estatusIncidencia.toString(),\r\n regincidencia:this.registroIncidencia,\r\n forincidencia:this.formulaIncidencia,\r\n orden:this.orden.toString(),\r\n evaprenom:this.evaluarEnPrenomina.toString(),\r\n antigcomp :this.antiguedadComplementaria.toString(),\r\n id_uniadm:this.idUnidadAdministrativa.toString(),\r\n perben:this.perteneceBeneficiario.toString(),\r\n id_cencos:this.idCentroCosto.toString(),\r\n id_fuefin:this.idFuenteFinanciamiento.toString()\r\n }\r\n }\r\n\r\n \r\n public denominacionSigno(sig:string):string{\r\n let signo= Signo;\r\n let i=signo.findIndex(e => e.value == sig); \r\n return signo[i].denominacion\r\n } \r\n}\r\n\r\n","import { IConceptosPersonalNomina } from '../../interfaces/Nomina';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MConceptosPersonalNomina extends MBasicModel{\r\n\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonalNomina:number=0;\r\n public idNomina:number=0;\r\n public idConcepto:number=0;\r\n public aplicaConcepto:number=1;\r\n public valorConcepto:number=0;\r\n public acumuladoEmpleado:number=0;\r\n public acumuladoInicialEmpleado:number=0;\r\n public acumuladoPatron:number=0;\r\n public acumuladoInicialPatron:number=0;\r\n public nombrePersonal: string='';\r\n public apellidoPersonal: string='';\r\n public nombreConcepto:string='';\r\n public codigoConcepto:string='';\r\n public idCargoPersonal:number=0;\r\n public codigoCargoPersonal:string='';\r\n public denominacionCargoPersonal:string='';\r\n public idPersonal:number=0;\r\n public codigoPersonal:string='';\r\n public codigoEstructuraOrganizativa:string='';\r\n public denominacionEstructuraOrganizativa:string='';\r\n public denominacionEstatus:string='';\r\n public denominacionNomina:string='';\r\n public codigoNomina:string='';\r\n public numeroPeriodoNomina:number=0;\r\n\r\n constructor(e:IConceptosPersonalNomina=null){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonalNomina=parseInt(e.id_personalnomina);\r\n this.idNomina=parseInt(e.id_nomina);\r\n this.idConcepto=parseInt(e.id_concepto);\r\n this.aplicaConcepto=parseInt(e.aplcon);\r\n this.valorConcepto=parseInt(e.valcon);\r\n this.acumuladoEmpleado=parseInt(e.acuemp);\r\n this.acumuladoInicialEmpleado=parseInt(e.acuiniemp);\r\n this.acumuladoPatron=parseInt(e.acupat);\r\n this.acumuladoInicialPatron=parseInt(e.acuinipat);\r\n this.nombrePersonal=e.nomper;\r\n this.apellidoPersonal=e.apeper;\r\n this.nombreConcepto=e.nomcon;\r\n this.codigoConcepto=e.codcon;\r\n this.idCargoPersonal=parseInt(e.id_carper);\r\n this.codigoCargoPersonal=e.codcar;\r\n this.denominacionCargoPersonal=e.descar;\r\n this.idPersonal=e.id_personal;\r\n this.codigoPersonal=e.codper;\r\n this.codigoEstructuraOrganizativa=e.codestorg;\r\n this.denominacionEstructuraOrganizativa=e.denestorg;\r\n this.denominacionEstatus=this.aplicaConcepto==1? 'APLICADO':'NO ACTIVO'\r\n this.numeroPeriodoNomina=parseInt(e.numpernom);\r\n this.codigoNomina=e.codnom\r\n\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n public dataInterface():IConceptosPersonalNomina {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personalnomina:this.idPersonalNomina.toString(),\r\n id_nomina:this.idNomina.toString(),\r\n id_concepto:this.idConcepto.toString(),\r\n aplcon:this.aplicaConcepto.toString(),\r\n valcon:this.valorConcepto.toString(),\r\n acuemp:this.acumuladoEmpleado.toString(),\r\n acuiniemp:this.acumuladoInicialEmpleado.toString(),\r\n acupat:this.acumuladoPatron.toString(),\r\n acuinipat:this.acumuladoInicialPatron.toString(), \r\n nomper: this.nombrePersonal,\r\n apeper: this.apellidoPersonal, \r\n nomcon: this.nombreConcepto, \r\n codcon: this.codigoConcepto, \r\n id_carper:this.idCargoPersonal.toString(),\r\n codcar:this.codigoCargoPersonal,\r\n descar:this.denominacionCargoPersonal,\r\n id_personal:this.idPersonal,\r\n codper:this.codigoPersonal,\r\n codestorg:this.codigoEstructuraOrganizativa,\r\n denestorg:this.denominacionEstructuraOrganizativa,\r\n numpernom:this.numeroPeriodoNomina.toString(),\r\n codnom: this.codigoNomina,\r\n\r\n\r\n }\r\n }\r\n\r\n public nombreCompleto():string{\r\n return this.apellidoPersonal+', '+this.nombrePersonal;\r\n }\r\n public nombreCompleto2():string{\r\n return this.nombrePersonal+' '+this.apellidoPersonal;\r\n }\r\n}","import { IConstanteNomina } from '../../interfaces/Nomina';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\n\r\nexport class MConstanteNomina extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idNomina:number=1; \r\n public idConstante:number=0; \r\n public codigoConstante:string=''; \r\n public nombreConstante:string='';\r\n public unidadConstante='';\r\n public topeConstante:number=0; \r\n\tpublic valorConstante:number=0; \r\n public reinicializacionConstante:number=0; \r\n public constanteEspecial:number=0; \r\n public toppeModificacion:number=0; \r\n public perteneceEncargaduria:number=0;\r\n public constanteHojaTiempo:number=0;\r\n public estatusIncidencia:number=0;\r\n public registroIncidencia:string='';\r\n public valorInicialIncidencia:number=0;\r\n public constanteGlobal:number=0;\r\n\r\n\r\n constructor(e:IConstanteNomina= null){\r\n super()\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idNomina=+e.id_nomina;\r\n this.idConstante=+e.id_constante;\r\n this.codigoConstante=e.codcons;\r\n this.nombreConstante=e.nomcons;\r\n this.unidadConstante=e.unicons;\r\n this.topeConstante=+e.topcons;\r\n this.valorConstante=+e.valcons;\r\n this.reinicializacionConstante=+e.reicons;\r\n this.constanteEspecial=+e.conespseg;\r\n this.toppeModificacion=+e.esttopmod;\r\n this.perteneceEncargaduria=+e.conperenc;\r\n this.constanteHojaTiempo=+e.conhojtie;\r\n this.estatusIncidencia=parseInt(e.estincidencia);\r\n this.registroIncidencia=e.regincidencia;\r\n this.valorInicialIncidencia=parseFloat(e.valincidencia);\r\n this.constanteGlobal = +e.glocon;\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IConstanteNomina{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_nomina:this.idNomina.toString(), \r\n id_constante:this.idConstante.toString(), \r\n codcons:this.codigoConstante, \r\n nomcons:this.nombreConstante,\r\n unicons:this.unidadConstante,\r\n topcons:this.topeConstante.toString(), \r\n valcons:this.valorConstante.toString(), \r\n reicons:this.reinicializacionConstante.toString(), \r\n conespseg:this.constanteEspecial.toString(), \r\n esttopmod:this.toppeModificacion.toString(), \r\n conperenc:this.perteneceEncargaduria.toString(),\r\n conhojtie:this.constanteHojaTiempo.toString(),\r\n estincidencia:this.estatusIncidencia.toString(),\r\n regincidencia:this.registroIncidencia,\r\n valincidencia:this.valorInicialIncidencia.toString(),\r\n glocon:this.constanteGlobal.toString(),\r\n\r\n \r\n }\r\n }\r\n}","import { IConstantePersonaNomina } from '../../interfaces/Nomina';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MConstantePersonalNomina extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idNomina:number=0; \r\n public idConstante:number=0; \r\n public idPersonalNomina:number=0; \r\n public nombreConstante:string='';\r\n public monstoConstante:number=0; \r\n\tpublic montoTopeConstante:number=0; \r\n public nombrePersonal: string='';\r\n public apellidoPersonal: string='';\r\n public denominacionOrganigrama: string='';\r\n public codigoOrganigrama: string='';\r\n public codigoPersonal:string='';\r\n public toppeModificacion:number=0; \r\n public constantHojaTiempo:number=0;\r\n public codigoConstante:string='';\r\n public idCargoPersonal:number=0;\r\n public codigoCargoPersonal:string='';\r\n public denominacionCargoPersonal:string='';\r\n public idPersonal:number=0;\r\n\r\n \r\n constructor(e:IConstantePersonaNomina= null){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idNomina=+e.id_nomina;\r\n this.idConstante=+e.id_constante;\r\n this.idPersonalNomina=+e.id_personalnomina; \r\n this.monstoConstante=parseFloat(e.moncons);\r\n\t this.montoTopeConstante=parseFloat(e.montopcons); \r\n this.nombrePersonal=e.nomper;\r\n this.apellidoPersonal=e.apeper;\r\n this.denominacionOrganigrama=e.denestorg;\r\n this.codigoOrganigrama=e.codestorg;\r\n this.codigoPersonal=e.codper;\r\n this.toppeModificacion=parseInt(e.esttopmod)\r\n this.nombreConstante=e.nomcons;\r\n this.codigoConstante=e.codcons;\r\n this.constantHojaTiempo=+e.conhojtie;\r\n this.idCargoPersonal=parseInt(e.id_carper);\r\n this.codigoCargoPersonal=e.codcar;\r\n this.denominacionCargoPersonal=e.descar;\r\n this.idPersonal=e.id_personal;\r\n \r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IConstantePersonaNomina{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_nomina:this.idNomina.toString(), \r\n id_constante:this.idConstante.toString(), \r\n id_personalnomina:this.idPersonalNomina.toString(),\r\n moncons:this.monstoConstante.toString(), \r\n montopcons:this.montoTopeConstante.toString(), \r\n nomper: this.nombrePersonal,\r\n apeper: this.apellidoPersonal,\r\n codestorg:this.codigoOrganigrama,\r\n denestorg:this.denominacionOrganigrama,\r\n codper:this.codigoPersonal,\r\n esttopmod: this.toppeModificacion.toString(),\r\n nomcons:this.nombreConstante,\r\n conhojtie:this.constantHojaTiempo.toString(),\r\n codcons:this.codigoConstante,\r\n id_carper:this.idCargoPersonal.toString(),\r\n codcar:this.codigoCargoPersonal,\r\n descar:this.denominacionCargoPersonal,\r\n id_personal:this.idPersonal,\r\n\r\n }\r\n }\r\n\r\n public nombreCompleto():string{\r\n return this.apellidoPersonal+', '+this.nombrePersonal;\r\n }\r\n}","import { MBasicModel } from './../basic-model.model';\r\nimport { IRango } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MRango extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idComponente:number=0;\r\n public IdRango:number=0;\r\n public IdCategoria:number=0;\r\n public codigoRango:string=''; \r\n public denominacionRango:string=''; \r\n public nombreAbreviatura:string=''; \r\n public codigoCategoriaRango:string=''; \r\n\r\n constructor (e:IRango=null) {\r\n super()\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idComponente=parseInt(e.id_componente);\r\n this.IdRango=parseInt(e.id_rango);\r\n this.IdCategoria=parseInt(e.id_catrango);\r\n this.codigoRango=e.codran;\r\n this.denominacionRango=e.denran;\r\n this.nombreAbreviatura=e.nomabr;\r\n this.codigoCategoriaRango=e.codcatran \r\n } else{\r\n this.isNew=true;\r\n } \r\n }\r\n\r\n public dataInterface():IRango{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_componente: this.idComponente.toString(),\r\n id_rango: this.IdRango.toString(),\r\n id_catrango: this.IdCategoria.toString(),\r\n codran: this.codigoRango, \r\n denran: this.denominacionRango,\r\n nomabr: this.nombreAbreviatura,\r\n codcatran: this.codigoCategoriaRango, \r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IComponente } from \"../../interfaces/RecursosHumanos\";\r\nimport { MRango } from \"./MRango.model\";\r\n\r\nexport class MComponete extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idComponente:number=0;\r\n public codigoComponente:string=''; \r\n public denominacionComponente:string=''; \r\n public nombreAbreviatura:string=''; \r\n public rangos: MRango[]=[]; \r\n\r\n constructor (e?:IComponente) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idComponente=parseInt(e.id_componente);\r\n this.codigoComponente=e.codcom;\r\n this.denominacionComponente=e.dencom;\r\n this.nombreAbreviatura=e.nomabr\r\n this.rangos=e.rangos.map(e=> new MRango(e));\r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n \r\n public dataInterface():IComponente{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_componente: this.idComponente.toString(),\r\n codcom: this.codigoComponente,\r\n dencom: this.denominacionComponente,\r\n nomabr: this.nombreAbreviatura,\r\n rangos: this.rangos.map(function (e) { return e.dataInterface(); }),\r\n }\r\n }\r\n}","import { IConcursante, IEstudiosConcursantes, IExperienciaLaboral, IFamiliaConcursante, IFormacionInformal, ITrabajosConcursantes } from \"../../interfaces/RecursosHumanos\";\r\nimport { MBasicModel } from \"../basic-model.model\";\r\n\r\nexport class MConcursante extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso: number=0;\r\n public codigoConcurso: string='';\r\n public idConcursante: number=0;\r\n public cedula: string='';\r\n public idProfesion: number=0;\r\n public profesion:string='';\r\n public nombreProfesion:string='';\r\n public fechaInscripcion: string='';\r\n public nombres: string='';\r\n public apellidos: string='';\r\n public direccion: string='';\r\n public fechaNacimiento: string='';\r\n public estadoCivil: string='';\r\n public codigoPais: string='';\r\n public nombrePais: string='';\r\n public codigoEstado: string='';\r\n public nombreEstado: string='';\r\n public nacionalidad: string='';\r\n public telefono: string='';\r\n public celular: string='';\r\n public correo: string='';\r\n public genero: string='';\r\n public nivelAcademico: number=0;\r\n public estatusRequisitos: number=1;\r\n \r\n constructor (e:IConcursante=null) { \r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcurso=parseInt(e.id_concurso);\r\n this.codigoConcurso=e.codcon;\r\n this.idConcursante=parseInt(e.id_concursante);\r\n this.cedula=e.cedper;\r\n this.idProfesion=parseInt(e.id_profesion);\r\n this.profesion=e.profesion;\r\n this.nombreProfesion=e.nombre_profesion;\r\n this.fechaInscripcion=e.fecreg;\r\n this.nombres=e.nomper;\r\n this.apellidos=e.apeper;\r\n this.direccion=e.dirper;\r\n this.fechaNacimiento=e.fecnacper;\r\n this.estadoCivil=e.estcivper;\r\n this.codigoPais=e.codpai;\r\n this.nombrePais=e.nombre_pais;\r\n this.codigoEstado=e.codest;\r\n this.nombreEstado=e.nombre_estado;\r\n this.nacionalidad=e.nacper;\r\n this.telefono=e.telhabper;\r\n this.celular=e.telmovper;\r\n this.correo=e.emaper;\r\n this.genero=e.sexper;\r\n this.nivelAcademico=parseInt(e.nivacaper);\r\n this.estatusRequisitos=parseInt(e.estconper);\r\n\r\n } \r\n }\r\n \r\n public dataInterface():IConcursante{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concurso: this.idConcurso.toString(),\r\n codcon: this.codigoConcurso,\r\n id_concursante: this.idConcursante.toString(),\r\n cedper: this.cedula,\r\n id_profesion: this.idProfesion.toString(),\r\n profesion: this.profesion,\r\n nombre_profesion: this.nombreProfesion,\r\n fecreg: this.fechaInscripcion,\r\n nomper: this.nombres,\r\n apeper: this.apellidos,\r\n dirper: this.direccion,\r\n fecnacper: this.fechaNacimiento,\r\n estcivper: this.estadoCivil,\r\n codpai: this.codigoPais,\r\n nombre_pais: this.nombrePais,\r\n codest: this.codigoEstado,\r\n nombre_estado: this.nombreEstado,\r\n nacper: this.nacionalidad,\r\n telhabper: this.telefono,\r\n telmovper: this.celular,\r\n emaper: this.correo,\r\n sexper: this.genero,\r\n nivacaper: this.nivelAcademico.toString(),\r\n estconper: this.estatusRequisitos.toString()\r\n\r\n }\r\n }\r\n}\r\n\r\nexport class MTrabajosConcursantes extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso: number=0;\r\n public idConcursante: number=0;\r\n public idTrabajo: number=0; \r\n public codigo: string='';\r\n public empresaTrabajoAnterior:string='';\r\n public cargoTrabajoAnterior:string='';\r\n public fechaIngreso:string='';\r\n public fechaRetiro:string='';\r\n \r\n constructor (e?:ITrabajosConcursantes) { \r\n super()\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcurso=parseInt(e.id_concurso);\r\n this.idConcursante=parseInt(e.id_concursante);\r\n this.idTrabajo=parseInt(e.id_trabajocon);\r\n this.codigo=e.codtraper;\r\n this.empresaTrabajoAnterior=e.emptraper;\r\n this.cargoTrabajoAnterior=e.cartraant;\r\n this.fechaIngreso=e.fecingtraant;\r\n this.fechaRetiro=e.fecrettraant;\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n \r\n public dataInterface():ITrabajosConcursantes{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concurso: this.idConcurso.toString(),\r\n id_concursante: this.idConcursante.toString(),\r\n id_trabajocon: this.idTrabajo.toString(),\r\n codtraper: this.codigo,\r\n emptraper: this.empresaTrabajoAnterior,\r\n cartraant: this.cargoTrabajoAnterior, \r\n fecingtraant: this.fechaIngreso, \r\n fecrettraant: this.fechaRetiro\r\n }\r\n }\r\n}\r\n\r\nexport class MEstudiosConcursantes extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso: number=0;\r\n public idConcursante: number=0;\r\n\tpublic idEstudio: number=0;\r\n\tpublic codigoEstudio: string='';\r\n\tpublic institutoEstudio: string='';\r\n\tpublic descripcionEstudio: string='';\r\n\tpublic fechaInicioEstudio: string='';\r\n\tpublic fechaFinEstudio: string='';\r\n\tpublic tituloObtenido: number=0;\r\n\tpublic yearAprobados: number=0;\r\n\tpublic horasEstudiosRealizadas: number=0;\r\n \r\n constructor (e:IEstudiosConcursantes=null) {\r\n super(); \r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcurso=parseInt(e.id_concurso);\r\n\t\t\tthis.idConcursante=parseInt(e.id_concursante);\r\n\t\t\tthis.idEstudio=parseInt(e.id_estudiocon);\r\n\t\t\tthis.codigoEstudio=e.codestrea;\r\n\t\t\tthis.institutoEstudio=e.insestper;\r\n\t\t\tthis.descripcionEstudio=e.desestper;\r\n\t\t\tthis.fechaInicioEstudio=e.fecinireaest;\r\n\t\t\tthis.fechaFinEstudio=e.fecfinestrea;\r\n\t\t\tthis.tituloObtenido=parseInt(e.titestper);\r\n\t\t\tthis.yearAprobados=parseInt(e.anoaprestper);\r\n\t\t\tthis.horasEstudiosRealizadas=parseInt(e.horestrea);\r\n \r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n \r\n public dataInterface():IEstudiosConcursantes{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concurso: this.idConcurso.toString(),\r\n id_concursante: this.idConcursante.toString(),\r\n\t\t\tid_estudiocon: this.idEstudio.toString(),\r\n\t\t\tcodestrea: this.codigoEstudio,\r\n\t\t\tinsestper: this.institutoEstudio,\r\n\t\t\tdesestper: this.descripcionEstudio,\r\n\t\t\tfecinireaest: this.fechaInicioEstudio,\r\n\t\t\tfecfinestrea: this.fechaFinEstudio,\r\n\t\t\ttitestper: this.tituloObtenido.toString(),\r\n\t\t\tanoaprestper: this.yearAprobados.toString(),\r\n\t\t\thorestrea: this.horasEstudiosRealizadas.toString(),\r\n }\r\n }\r\n}\r\n\r\nexport class MExperienciaLaboral extends MBasicModel{\r\n public idEmpresa: number=0;\r\n public idConcurso: number=0;\r\n public idConcursante: number=0;\r\n public idTrabajoConcursante: number=0;\r\n public codigoTrabajo: string='';\r\n public empresa: string='';\r\n public cargo: string='';\r\n public fechaIngreso: string='';\r\n public fechaRetiro: string='';\r\n \r\n constructor (e:IExperienciaLaboral=null) { \r\n super();\r\n if (e){\r\n this.idEmpresa=parseInt(e.id_empresa);\r\n this.idConcursante=parseInt(e.id_concurso);\r\n this.idConcursante=parseInt(e.id_concursante);\r\n this.idTrabajoConcursante=parseInt(e.id_trabajocon);\r\n this.codigoTrabajo=e.codtra;\r\n this.empresa=e.emptraper;\r\n this.cargo=e.cartraant;\r\n this.fechaIngreso=e.fecingtraant;\r\n this.fechaRetiro=e.fecrettraant;\r\n } else{\r\n this.isNew=true;\r\n } \r\n }\r\n \r\n public dataInterface():IExperienciaLaboral{\r\n return {\r\n id_empresa: this.idEmpresa.toString(),\r\n id_concurso: this.idConcurso.toString(),\r\n id_concursante: this.idConcursante.toString(),\r\n id_trabajocon: this.idTrabajoConcursante.toString(),\r\n codtra: this.codigoTrabajo,\r\n emptraper: this.empresa,\r\n cartraant: this.cargo,\r\n fecingtraant: this.fechaIngreso,\r\n fecrettraant: this.fechaRetiro\r\n }\r\n }\r\n}\r\n\r\nexport class MFamiliaConcursante extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso: number=0;\r\n public idConcursante: number=0;\r\n public idFamiliar: number=0; \r\n public codigo: string='';\r\n public cedula: string='';\r\n public nombre: string='';\r\n public apellido: string='';\r\n public sexo: string='';\r\n public nexo: string=''; \r\n public fecha: string='';\r\n \r\n constructor (e:IFamiliaConcursante=null) { \r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcurso=parseInt(e.id_concurso);\r\n this.idConcursante=parseInt(e.id_concursante);\r\n this.idFamiliar=parseInt(e.id_familiacon);\r\n this.codigo=e.codfam;\r\n this.cedula=e.cedfam;\r\n this.nombre=e.nomfam;\r\n this.apellido=e.apefam;\r\n this.sexo=e.sexfam;\r\n this.nexo=e.nexfam;\r\n this.fecha=e.fecnacfam\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n \r\n public dataInterface():IFamiliaConcursante{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concurso: this.idConcurso.toString(),\r\n id_concursante: this.idConcursante.toString(),\r\n id_familiacon: this.idFamiliar.toString(), \r\n codfam: this.codigo,\r\n cedfam: this.cedula,\r\n nomfam: this.nombre,\r\n apefam: this.apellido,\r\n sexfam: this.sexo,\r\n nexfam: this.nexo,\r\n fecnacfam: this.fecha,\r\n }\r\n }\r\n}\r\n\r\nexport class MFormacionInformal extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso: number=0;\r\n public idConcursante: number=0;\r\n public idCurso: number=0; \r\n public codigoCurso: string='';\r\n public descripcionCurso: string='';\r\n public horasCurso: number=0;\r\n \r\n constructor (e:IFormacionInformal=null) { \r\n super()\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcursante=parseInt(e.id_concurso);\r\n this.idConcursante=parseInt(e.id_concursante);\r\n this.idCurso=parseInt(e.id_curso);\r\n this.codigoCurso=e.codcur;\r\n this.descripcionCurso=e.desestrea;\r\n this.horasCurso=parseInt(e.horestrea);\r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n \r\n public dataInterface():IFormacionInformal{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concurso: this.idConcurso.toString(),\r\n id_concursante: this.idConcurso.toString(),\r\n id_curso: this.idCurso.toString(),\r\n codcur: this.codigoCurso,\r\n desestrea: this.descripcionCurso,\r\n horestrea: this.horasCurso.toString()\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IRequisitosConcursos } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MRequisitosConcursos extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso: number=0;\r\n public idRequisito: number=0;\r\n public codigoRequisito: string=''; \r\n public denominacionRequisito: string='';\r\n public cantidadRequisito: number=0;\r\n public requisitoIndispensable: number=0;\r\n \r\n constructor (e?:IRequisitosConcursos){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcurso=parseInt(e.id_concurso);\r\n this.idRequisito=parseInt(e.id_reqcon);\r\n this.codigoRequisito=e.codreqcon;\r\n this.denominacionRequisito=e.denreqcon;\r\n this.cantidadRequisito=parseInt(e.cantreq);\r\n this.requisitoIndispensable=parseInt(e.reqindcon);\r\n }\r\n }\r\n\r\n public dataInterface():IRequisitosConcursos{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concurso: this.idConcurso.toString(),\r\n id_reqcon: this.idRequisito.toString(),\r\n codreqcon: this.codigoRequisito,\r\n denreqcon: this.denominacionRequisito,\r\n cantreq: this.cantidadRequisito.toString(),\r\n reqindcon: this.requisitoIndispensable.toString() \r\n }\r\n }\r\n}\r\n\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IConcurso, IPrevioEvaluacion, IPrevioEvaluacionDt, IResultadosEvaluacion } from \"../../interfaces/RecursosHumanos\";\r\nimport { MRequisitosConcursos } from \"./MRequisitosConcursos.model\";\r\n\r\nexport class MConcurso extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso: number=0;\r\n public codigoConcurso: string=''; \r\n public denominacionConcurso: string='';\r\n public fechaAperturaConcurso: string='';\t\r\n public fechaCierreConcurso: string='';\r\n public idCargo: number=0;\r\n public codigoCargo: string=''; \r\n public denominacionCargo: string='';\r\n public tipo: string='';\r\n public cantidadCargos: number=0;\r\n public estatusConcurso: string='1';\r\n public denominacionEstatus:string='';\r\n public detalleRequisitos: MRequisitosConcursos[]=[];\r\n public eliminarDetalles:number[]=[];\r\n \r\n constructor (e:IConcurso=null){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcurso=parseInt(e.id_concurso);\r\n this.codigoConcurso=e.codcon;\r\n this.denominacionConcurso=e.dencon;\r\n this.fechaAperturaConcurso=e.fecapecon;\r\n this.fechaCierreConcurso=e.fecciecon;\r\n this.idCargo=parseInt(e.id_carper);\r\n this.codigoCargo=e.codcar;\r\n this.denominacionCargo=e.descar;\r\n this.tipo=e.tipo;\r\n this.cantidadCargos=parseInt(e.cantcar);\r\n this.estatusConcurso=e.estcon;\r\n this.denominacionEstatus=this.estatusConcurso=='1'? 'Abierto':'Cerrado';\r\n if(e.detalles_requisitos){\r\n this.detalleRequisitos=e.detalles_requisitos.map(e=> new MRequisitosConcursos(e));\r\n }\r\n }\r\n }\r\n\r\n public dataInterface():IConcurso{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concurso: this.idConcurso.toString(),\r\n codcon: this.codigoConcurso,\r\n dencon: this.denominacionConcurso,\r\n fecapecon: this.fechaAperturaConcurso,\r\n fecciecon: this.fechaCierreConcurso,\r\n id_carper: this.idCargo.toString(),\r\n codcar:this.codigoCargo,\r\n descar:this.denominacionCargo,\r\n tipo: this.tipo,\r\n cantcar: this.cantidadCargos.toString(),\r\n estcon: this.estatusConcurso,\r\n detalles_requisitos: this.detalleRequisitos.map(function (e) { return e.dataInterface(); }),\r\n eliminar_detalles: this.eliminarDetalles,\r\n \r\n }\r\n }\r\n}\r\n\r\nexport class MPrevioEvaluacion extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPrevio: number=0;\r\n public proceso:string='';\r\n public idConcurso: number=0;\r\n public codigoConcurso: string='';\r\n public nombreConcurso: string='';\r\n public idConcursante: number=0;\r\n public codigoConcursante: string='';\r\n public nombreConcursante: string='';\r\n public idTipoEvaluacion: number=0;\r\n public codigoTipoEvaluacion: string='';\r\n public nombreTipoEvaluacion: string='';\r\n public fechaRegistro:string='';\r\n public valorMinimoRequerido: number=0;\r\n public usuarioRegistro:string='';\r\n public horaRegistro:string='';\r\n public estatusRegistro: number=0;\r\n public tipo:string;\r\n public detallesRegistro:MPrevioEvaluacionDt[]=[];\r\n\r\n constructor (e: IPrevioEvaluacion=null) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPrevio= parseInt(e.id_previo);\r\n this.proceso=e.proceso;\r\n this.idConcurso= parseInt(e.id_concurso);\r\n this.codigoConcurso=e.codcon,\r\n this.nombreConcurso=e.dencon,\r\n this.idConcursante= parseInt(e.id_concursante);\r\n this.codigoConcursante=e.cedper,\r\n this.nombreConcursante=e.nomper,\r\n this.idTipoEvaluacion= parseInt(e.id_tipoeval);\r\n this.codigoTipoEvaluacion=e.codtipeval;\r\n this.nombreTipoEvaluacion=e.dentipeval;\r\n this.fechaRegistro=e.fecha;\r\n this.valorMinimoRequerido= parseFloat(e.punreqmin);\r\n this.usuarioRegistro=e.usuario;\r\n this.horaRegistro=e.hora;\r\n this.estatusRegistro= parseInt(e.estatus);\r\n this.tipo=e.tipo;\r\n this.detallesRegistro= e.detalles.map(e=>new MPrevioEvaluacionDt(e));\r\n }else{\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataInterface():IPrevioEvaluacion{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_previo: this.idPrevio.toString(),\r\n proceso: this.proceso,\r\n id_concurso: this.idConcurso.toString(),\r\n codcon: this.codigoConcurso,\r\n dencon: this.nombreConcurso,\r\n id_concursante: this.idConcursante.toString(),\r\n cedper: this.codigoConcursante,\r\n nomper: this.nombreConcursante,\r\n id_tipoeval: this.idTipoEvaluacion.toString(),\r\n codtipeval: this.codigoTipoEvaluacion,\r\n dentipeval: this.nombreTipoEvaluacion,\r\n fecha: this.fechaRegistro,\r\n punreqmin: this.valorMinimoRequerido.toString(),\r\n usuario: this.usuarioRegistro,\r\n hora: this.horaRegistro,\r\n estatus: this.estatusRegistro.toString(),\r\n tipo: this.tipo,\r\n detalles:this.detallesRegistro.map(function (e) { return e.dataInterface(); })\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class MPrevioEvaluacionDt extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPrevio: number=0;\r\n public idAspecto: number=0;\r\n public idTipoEvaluacion: number=0;\r\n public idItem: number=0; \r\n public idDtPrevio:number=0;\r\n public codigo: string='';\r\n public descripcion: string='';\r\n public puntos: number=0;\r\n public valorMaximo: number=0;\r\n\r\n constructor (e: IPrevioEvaluacionDt=null) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPrevio= parseInt(e.id_previo);\r\n this.idAspecto= parseInt(e.id_aspecto);\r\n this.idTipoEvaluacion= parseInt(e.id_tipoeval);\r\n this.idItem= parseInt(e.id_item);\r\n this.idDtPrevio= parseInt(e.id_dt_previo);\r\n this.codigo=e.codite;\r\n this.descripcion=e.denite;\r\n this.puntos= parseInt(e.puntos);\r\n this.valorMaximo= parseInt(e.valormax);\r\n }else {\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataInterface():IPrevioEvaluacionDt{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_previo: this.idPrevio.toString(),\r\n id_tipoeval: this.idTipoEvaluacion.toString(),\r\n id_aspecto: this.idAspecto.toString(),\r\n id_item: this.idItem.toString(),\r\n codite: this.codigo,\r\n denite: this.descripcion,\r\n puntos: this.puntos.toString(),\r\n valormax: this.valorMaximo.toString(),\r\n id_dt_previo: this.idDtPrevio.toString(),\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class MResultadosEvaluacion extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idEvaluacion: number=0;\r\n public idConcurso: number=0;\r\n public codigoConcurso: string='';\r\n public nombreConcurso: string='';\r\n public idConcursante: number=0;\r\n public codigoConcursante: string='';\r\n public nombreConcursante: string='';\r\n public observacion: string='';\r\n public fechaRegistro:string='';\r\n public resultado_tec: number=0;\r\n public resultado_total:number=0;\r\n public resultado_psi:number=0;\r\n public resultado_rqm: number=0;\r\n public usuarioRegistro: string='';\r\n public conclusion:string;\r\n\r\n constructor (e?: IResultadosEvaluacion) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idEvaluacion= parseInt(e.id_evaluacion);\r\n this.idConcurso= parseInt(e.id_concurso);\r\n this.codigoConcurso=e.codcon,\r\n this.nombreConcurso=e.dencon,\r\n this.idConcursante= parseInt(e.id_concursante);\r\n this.codigoConcursante=e.cedper,\r\n this.nombreConcursante=e.nomper,\r\n this.observacion=e.observacion,\r\n this.fechaRegistro=e.fecha;\r\n this.usuarioRegistro=e.usuario;\r\n this.resultado_tec= parseFloat(e.resultado_tec);\r\n this.resultado_total=parseFloat(e.resultado_total);\r\n this.resultado_psi=parseFloat(e.resultado_psi);\r\n this.resultado_rqm= parseFloat(e.resultado_rqm);\r\n this.conclusion=e.conclusion;\r\n }else{\r\n this.isNew=true;\r\n }\r\n\r\n }\r\n\r\n public dataInterface():IResultadosEvaluacion{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_evaluacion: this.idEvaluacion.toString(),\r\n id_concurso: this.idConcurso.toString(),\r\n codcon: this.codigoConcurso,\r\n dencon: this.nombreConcurso,\r\n id_concursante: this.idConcursante.toString(),\r\n cedper: this.codigoConcursante,\r\n nomper: this.nombreConcursante,\r\n observacion: this.observacion,\r\n fecha: this.fechaRegistro,\r\n usuario: this.usuarioRegistro,\r\n resultado_tec: this.resultado_tec.toString(),\r\n resultado_psi: this.resultado_psi.toString(),\r\n resultado_total: this.resultado_total.toString(),\r\n resultado_rqm: this.resultado_rqm.toString(),\r\n conclusion: this.conclusion,\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { ITipoPersonal } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MTipoPersonal extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idDedicacion: number=0;\r\n public idTipoPersonal: number=0;\r\n public idDtTipoPersonal: number=0;\r\n public codigoTipoPersonal: string='';\r\n public denominacionTipoPersonal: string='';\r\n\r\n constructor (e?:ITipoPersonal) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idDedicacion=parseInt(e.id_dedicacion); \r\n this.idTipoPersonal= parseInt(e.id_tipopersonal);\r\n this.idDtTipoPersonal=parseInt(e.id_dt_tipopersonal);\r\n this.codigoTipoPersonal=e.codtipper;\r\n this.denominacionTipoPersonal=e.dentipper;\r\n } \r\n }\r\n\r\n public dataInterface():ITipoPersonal{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tipopersonal: this.idTipoPersonal.toString(), \r\n id_dedicacion: this.idDedicacion.toString(),\r\n id_dt_tipopersonal: this.idDtTipoPersonal.toString(), \r\n codtipper: this.codigoTipoPersonal, \r\n dentipper: this.denominacionTipoPersonal, \r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IDedicacion } from \"../../interfaces/RecursosHumanos\";\r\nimport { MTipoPersonal } from \"./MTipoPersonal.model\";\r\n\r\nexport class MDedicacion extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idDedicacion: number=0;\r\n public codigoDedicacion: string='';\r\n public denominacionDedicacion: string='';\r\n public tipoPersonal: MTipoPersonal[]=[];\r\n\r\n constructor (e:IDedicacion=null) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idDedicacion=parseInt(e.id_dedicacion);\r\n this.codigoDedicacion=e.codded;\r\n this.denominacionDedicacion=e.dended;\r\n this.tipoPersonal=e.detalles.map(e=> new MTipoPersonal(e));\r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n\r\n public dataInterface():IDedicacion{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_dedicacion: this.idDedicacion.toString(),\r\n codded: this.codigoDedicacion,\r\n dended: this.denominacionDedicacion,\r\n detalles: this.tipoPersonal.map(function (e) { return e.dataInterface(); }),\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IDefinicionesBasicas, ISueldoMinimo } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MDefinicionesBasicas extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idDefinicion:number=-1;\r\n public codigo:string='';\r\n public denominacion:string='';\r\n public tipo:number=0;\r\n\r\n constructor(e:IDefinicionesBasicas=null){\r\n super();\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa;\r\n this.idDefinicion=parseInt(e.id);\r\n this.codigo=e.coddef;\r\n this.denominacion=e.dendef; \r\n this.tipo=+e.tipo; \r\n \r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface(): IDefinicionesBasicas {\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id:this.idDefinicion.toString(),\r\n coddef:this.codigo,\r\n dendef:this.denominacion,\r\n tipo:this.tipo.toString(), \r\n }\r\n }\r\n\r\n \r\n\r\n}\r\n\r\nexport class MSueldoMinimo extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idSueldoMinimo: number=0;\r\n public codigoSueldoMinimo: string=''; \r\n public annoSueldoMinimo: number=0;\r\n public gacetaSueldoMinimo: string=''; \r\n public fechaVigenciaSueldoMinimo: string='1900-01-01'; \r\n public montoSueldoMinimo: number=0; \r\n public observacionSueldoMinimo: string=''; \r\n\r\n constructor (e?:ISueldoMinimo){\r\n super()\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idSueldoMinimo= parseInt(e.id_sueldominimo);\r\n this.codigoSueldoMinimo= e.codsuemin; \r\n this.annoSueldoMinimo= parseInt(e.anosuemin);\r\n this.gacetaSueldoMinimo= e.gacsuemin; \r\n this.fechaVigenciaSueldoMinimo= e.fecvigsuemin;\r\n this.montoSueldoMinimo= e.monsuemin; \r\n this.observacionSueldoMinimo= e.obssuemin; \r\n\r\n }\r\n }\r\n\r\n public dataInterface():ISueldoMinimo{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_sueldominimo: this.idSueldoMinimo.toString(),\r\n codsuemin: this.codigoSueldoMinimo, \r\n anosuemin: this.annoSueldoMinimo.toString(), \r\n gacsuemin: this.gacetaSueldoMinimo, \r\n fecvigsuemin: this.fechaVigenciaSueldoMinimo, \r\n monsuemin: this.montoSueldoMinimo, \r\n obssuemin: this.observacionSueldoMinimo, \r\n }\r\n }\r\n}\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IDeudaAnterior } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MDeudaAnterior extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0; \r\n public fechaCorteDeuda:string='1900-01-01'; \r\n public montoPrestamoAnterior:number=0; \r\n public montoInteres:number=0; \r\n public montoDeudaAnterior:number=0; \r\n public montoAnticipoInteres:number=0; \r\n\r\n constructor(e:IDeudaAnterior=null){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal=+e.id_personal; \r\n this.fechaCorteDeuda=e.feccordeu;\r\n this.montoPrestamoAnterior=parseFloat(e.monpreant); \r\n this.montoInteres=+e.monint; \r\n this.montoDeudaAnterior=+e.monant;\r\n this.montoAnticipoInteres=+e.monantint;\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IDeudaAnterior {\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal: this.idPersonal, \r\n feccordeu: this.fechaCorteDeuda,\r\n monpreant: this.montoPrestamoAnterior.toString(), \r\n monint: this.montoInteres, \r\n monant: this.montoDeudaAnterior, \r\n monantint: this.montoAnticipoInteres,\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IEscalaEvaluacionDt } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MEscalaEvaluacionDt extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idEscala : number=0;\r\n public codigoDetalleEscala: string='';\r\n public denominacionDetalleEscala: string='';\r\n public valorInicialDetalleEscala: number=0;\r\n public valorFinalDetalleEscala:number=0;\r\n public idDtEscala:number=0;\r\n\r\n constructor(e?:IEscalaEvaluacionDt){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idEscala = parseInt(e.id_escala);\r\n this.codigoDetalleEscala= e.coddetesc;\r\n this.denominacionDetalleEscala= e.dendetesc;\r\n this.valorInicialDetalleEscala= e.valinidetesc;\r\n this.valorFinalDetalleEscala= e.valfindetesc;\r\n this.idDtEscala= parseInt(e.id_dt_escala);\r\n }\r\n }\r\n\r\n public dataInterface():IEscalaEvaluacionDt {\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_escala : this.idEscala.toString(),\r\n coddetesc: this.codigoDetalleEscala,\r\n dendetesc: this.denominacionDetalleEscala,\r\n valinidetesc:this.valorInicialDetalleEscala,\r\n valfindetesc:this.valorFinalDetalleEscala,\r\n id_dt_escala: this.idDtEscala.toString()\r\n }\r\n }\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IEscalaEvaluacion } from '../../interfaces/RecursosHumanos';\r\nimport { MEscalaEvaluacionDt } from './MEscalaEvaluacionDt.model';\r\n\r\nexport class MEscalaEvaluacion extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idEscala : number=0;\r\n public codigoEscala: string='';\r\n public denominacionEscala: string='';\r\n public valorInicialEscala:number=0;\r\n public valorFinalEscala:number =0;\r\n public detalles:MEscalaEvaluacionDt[]=[];\r\n\r\n constructor (e?: IEscalaEvaluacion) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idEscala = parseInt(e.id_escala);\r\n this.codigoEscala= e.codesc;\r\n this.denominacionEscala= e.denesc;\r\n this.valorInicialEscala= e.valiniesc;\r\n this.valorFinalEscala= e.valfinesc,\r\n this.detalles= e.detalles.map(e=>new MEscalaEvaluacionDt(e));\r\n }\r\n\r\n }\r\n\r\n public dataInterface():IEscalaEvaluacion{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_escala : this.idEscala.toString(),\r\n codesc: this.codigoEscala,\r\n denesc: this.denominacionEscala,\r\n valiniesc:this.valorInicialEscala,\r\n valfinesc:this.valorFinalEscala,\r\n detalles:this.detalles.map(function (e) { return e.dataInterface(); })\r\n }\r\n }\r\n\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IEstructuraOrganizativa } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MEstructuraOrganizativa extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idOrganigrama: number=0;\r\n public codigoEstructuraOrganizativa: string=''; \r\n\tpublic denominacionEstructuraOrganizativa: string='';\r\n\tpublic nivel: number=0; \r\n public nivelPadre: number=0; \r\n\tpublic codigoCentroCosto: string='---'; \r\n\tpublic denominacionCentroCosto: string='---'; \t\r\n\tpublic idEp1: number=0;\r\n\tpublic idEp2: number=0;\r\n\tpublic idEp3: number=0;\r\n\tpublic idEp4: number=0;\r\n\tpublic idEp5: number=0;\t\r\n\tpublic codigoPadre: string=''; \r\n\tpublic denominacionPadre: string=''; \r\n\tpublic codigoPais: string='000058'; \r\n\tpublic nombrePais: string='Venezuela'; \r\n\tpublic codigoEstado: string=''; \r\n\tpublic nombreEstado: string=''; \r\n\tpublic codigoMunicipio: string=''; \r\n\tpublic nombreMunicipio: string=''; \r\n\tpublic codigoParroquia: string=''; \r\n\tpublic nombreParroquia: string=''; \r\n public estatusmpppe: number=0;\r\n\tpublic ubicacionBolivariana: number=0;\r\n\tpublic ubicacionFrontera: number=0;\r\n\tpublic ubicacionIndigena: number=0;\r\n\tpublic ubicacionInsular: number=0;\r\n\tpublic ubicacionMarginal: number=0;\r\n\tpublic ubicacionNocturno: number=0;\r\n public ubicacionPlanta: number=0; \r\n\tpublic ubicacionRobinson: number=0;\r\n public ubicacionZona: number=0;\r\n public ubicacionNoAplica: number=0;\r\n\tpublic idUnidadAdministrativa:number=0;\r\n\tpublic codigoUnidadAdministrativa:string='';\r\n public denominacionUnidadAdministraiva:string='';\r\n\tpublic idCentroCosto:number=0;\r\n\tpublic estructura:string='';\r\n \r\n constructor (e?:IEstructuraOrganizativa){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idOrganigrama= parseInt(e.id_organigrama);\r\n\t\t\tthis.idCentroCosto=+e.id_cencos;\r\n this.codigoEstructuraOrganizativa= e.codestorg; \r\n\t\t\tthis.denominacionEstructuraOrganizativa=e.denestorg;\r\n\t\t\tthis.nivel= +e.nivel;\r\n\t\t\tthis.nivelPadre=+e.nivpad;\r\n\t\t\tthis.codigoCentroCosto=e.codcencos;\r\n\t\t\tthis.idEp1=+e.id_ep1;\r\n\t\t\tthis.idEp2=+e.id_ep2;\r\n\t\t\tthis.idEp3=+e.id_ep3;\r\n\t\t\tthis.idEp4=+e.id_ep4;\r\n\t\t\tthis.idEp5=+e.id_ep5;\r\n\t\t\tthis.codigoPadre=e.codpadre;\r\n\t\t\tthis.codigoPais=e.codpai;\r\n\t\t\tthis.nombrePais=e.despai;\r\n\t\t\tthis.codigoEstado=e.codest;\r\n\t\t\tthis.nombreEstado=e.desest;\r\n\t\t\tthis.codigoMunicipio=e.codmun;\r\n\t\t\tthis.nombreMunicipio=e.desmun;\r\n\t\t\tthis.codigoParroquia=e.codpar;\r\n\t\t\tthis.nombreParroquia=e.despar;\r\n\t\t\tthis.estatusmpppe=e.estmpppe;\t\r\n\t\t\tthis.ubicacionBolivariana=e.ubibolivariana;\r\n\t\t\tthis.ubicacionFrontera=e.ubifrontera;\r\n\t\t\tthis.ubicacionIndigena=e.ubiindigena;\r\n\t\t\tthis.ubicacionInsular=e.ubiinsular;\r\n\t\t\tthis.ubicacionMarginal=e.ubimarginal;\r\n\t\t\tthis.ubicacionNocturno=e.ubinocturno;\r\n\t\t\tthis.ubicacionPlanta=e.ubiplanta;\r\n\t\t\tthis.ubicacionRobinson=e.ubirobinson;\r\n\t\t\tthis.ubicacionZona=e.ubizona;\r\n\t\t\tthis.ubicacionNoAplica=e.ubinoaplica;\r\n\t\t\tthis.idUnidadAdministrativa=+e.id_uniadm;\r\n\t this.codigoUnidadAdministrativa=e.coduniadm;\r\n this.denominacionUnidadAdministraiva=e.denuniadm;\r\n\t\t\tthis.estructura=e.estructura;\r\n\t\t\tthis.denominacionPadre=e.denpadre\r\n\r\n }\r\n }\r\n\r\n public dataInterface():IEstructuraOrganizativa{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n\t\t\tid_organigrama:this.idOrganigrama.toString(),\r\n\t\t\tcodestorg:this.codigoEstructuraOrganizativa,\r\n\t\t\tdenestorg:this.denominacionEstructuraOrganizativa,\r\n\t\t\tnivel:this.nivel.toString(),\r\n\t\t\tnivpad:this.nivelPadre.toString(),\r\n\t\t\tid_cencos:this.idCentroCosto.toString(),\r\n\t\t\tcodcencos:this.codigoCentroCosto,\r\n\t\t\tid_ep1:this.idEp1.toString(),\r\n\t\t\tid_ep2:this.idEp2.toString(),\r\n\t\t\tid_ep3:this.idEp3.toString(),\r\n\t\t\tid_ep4:this.idEp4.toString(),\r\n\t\t\tid_ep5:this.idEp5.toString(),\r\n\t\t\tcodpadre:this.codigoPadre,\r\n\t\t\tcodpai:this.codigoPais,\r\n\t\t\tdespai:this.nombrePais,\r\n\t\t\tcodest:this.codigoEstado,\r\n\t\t\tdesest:this.nombreEstado,\r\n\t\t\tcodmun:this.codigoMunicipio,\r\n\t\t\tdesmun:this.nombreMunicipio,\r\n\t\t\tcodpar:this.codigoParroquia,\r\n\t\t\tdespar:this.nombreParroquia,\r\n\t\t\testmpppe:this.estatusmpppe,\r\n\t\t\tubibolivariana:this.ubicacionBolivariana,\r\n\t\t\tubifrontera:this.ubicacionFrontera,\r\n\t\t\tubiindigena:this.ubicacionIndigena,\r\n\t\t\tubiinsular:this.ubicacionInsular,\r\n\t\t\tubimarginal:this.ubicacionMarginal,\r\n\t\t\tubinocturno:this.ubicacionNocturno,\r\n\t\t\tubiplanta:this.ubicacionPlanta,\r\n\t\t\tubirobinson:this.ubicacionRobinson,\r\n\t\t\tubizona:this.ubicacionZona,\r\n\t\t\tubinoaplica:this.ubicacionNoAplica,\r\n\t\t\tid_uniadm:this.idUnidadAdministrativa.toString(),\r\n\t\t\tdencencos:this.denominacionCentroCosto,\r\n\t\t\tdenpadre:this.denominacionPadre,\r\n\t\t\testructura:this.estructura\r\n\r\n }\r\n }\r\n}\r\n\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { Nexofamiliar, NivelAcademicoFamiliar } from './../../interfaces/Constantes';\r\nimport { IFamiliares } from \"../../interfaces/RecursosHumanos\";\r\n\r\n\r\nexport class MFamiliares extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal: number=0;\r\n public idFamiliar: number=0;\r\n public cedulaFamiliar: string=''; \r\n public nombreFamiliar: string='';\r\n public apellidoFamiliar: string='';\r\n public sexoFamiliar: string='F';\r\n public fechaNacimientoFamiliar: string='';\r\n public nexoFamiliar: string='C';\r\n public denominacionNexo:string='';\r\n public estatudiaFamiliar: boolean=false; \r\n public HCFamiliar: boolean=false; \r\n public HCMFamiliar: boolean=false; \r\n public hijoEspecial: boolean=false; \r\n public estatusBonoJuguetes: boolean=false; \r\n public estatusBeca: boolean=false; \r\n public nivelAcademico:string='N'; \r\n public denominacionNivelAcademico:string='';\r\n public codigoFamiliar:string='';\r\n public direccionFamiliar:string='';\r\n public telefonoFamiliar:string='';\r\n public hijoDiscapacidad: boolean=false; \r\n public Nexo=Nexofamiliar;\r\n public Academico=NivelAcademicoFamiliar;\r\n\r\n constructor (e?:IFamiliares){\r\n super()\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal= parseInt(e.id_personal);\r\n this.idFamiliar= parseInt(e.id_familiar);\r\n this.cedulaFamiliar= e.cedfam;\r\n this.nombreFamiliar= e.nomfam;\r\n this.apellidoFamiliar= e.apefam;\r\n this.sexoFamiliar= e.sexfam;\r\n this.fechaNacimientoFamiliar=e.fecnacfam;\r\n this.nexoFamiliar= e.nexfam;\r\n this.estatudiaFamiliar= e.estfam=='1'? true:false;\r\n this.HCFamiliar=e.hcfam=='1'? true:false;\r\n this.HCMFamiliar= e.hcmfam=='1'? true:false;\r\n this.hijoEspecial=e.hijesp=='1'? true:false;\r\n this.estatusBonoJuguetes= e.estbonjug=='1'? true:false;\r\n this.estatusBeca= e.estbec=='1'? true:false;\r\n this.hijoDiscapacidad=e.hijodiscapacitado=='1'? true:false;\r\n this.nivelAcademico= e.nivaca; \r\n this.codigoFamiliar=e.codfam;\r\n this.direccionFamiliar=e.dirfam;\r\n this.telefonoFamiliar=e.telfam; \r\n this.denominacionNexo=this.Nexo.find(e=>e.value==this.nexoFamiliar).denominacion; \r\n this.denominacionNivelAcademico=this.Academico.find(e=>e.value==this.nivelAcademico).denominacion; \r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface(): IFamiliares {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal: this.idPersonal.toString(), \r\n id_familiar: this.idFamiliar.toString(), \r\n cedfam: this.cedulaFamiliar,\r\n nomfam: this.nombreFamiliar, \r\n apefam: this.apellidoFamiliar, \r\n sexfam: this.sexoFamiliar, \r\n fecnacfam: this.fechaNacimientoFamiliar, \r\n nexfam: this.nexoFamiliar,\r\n estfam: this.estatudiaFamiliar? '1':'0', \r\n hcfam: this.HCFamiliar? '1':'0',\r\n hcmfam: this.HCMFamiliar? '1':'0',\r\n hijesp: this.hijoEspecial? '1':'0',\r\n estbonjug: this.estatusBonoJuguetes? '1':'0',\r\n estbec: this.estatusBeca? '1':'0',\r\n hijodiscapacitado:this.hijoDiscapacidad? '1':'0',\r\n nivaca: this.nivelAcademico, \r\n codfam:this.codigoFamiliar,\r\n dirfam:this.direccionFamiliar, \r\n telfam:this.telefonoFamiliar,\r\n \r\n\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IFeriados } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MFeriados extends MBasicModel {\r\n public idFeriado:number=0;\r\n public diaFeriado:string=\"\";\r\n public mesFeriado:string=\"\";\r\n public annoFeriado:string=\"\";\r\n public nombreFereriado:string=\"\";\r\n public tipoFeriado:string=\"\";\r\n public codigoPais:string=\"\";\r\n public codigoEstado:string=\"\";\r\n public codigoMunicipio:string=\"\";\r\n public codigoParroquia:string=\"\";\r\n\r\n constructor(e?:IFeriados){\r\n super()\r\n if (e){\r\n this.idFeriado= parseInt(e.id_feriado);\r\n this.diaFeriado= e.diafer;\r\n this.mesFeriado= e.mesfer;\r\n this.annoFeriado= e.annofer;\r\n this.nombreFereriado= e.nomfer;\r\n this.tipoFeriado= e.tipfer;\r\n this.codigoPais= e.codpai;\r\n this.codigoEstado= e.codest;\r\n this.codigoMunicipio= e.codmun;\r\n this.codigoParroquia= e.codpar;\r\n }\r\n }\r\n\r\n public dataInterface(): IFeriados {\r\n return{\r\n id_feriado:this.idFeriado.toString(),\r\n diafer:this.diaFeriado,\r\n mesfer:this.mesFeriado,\r\n annofer:this.annoFeriado,\r\n nomfer:this.nombreFereriado,\r\n tipfer:this.tipoFeriado,\r\n codpai:this.codigoPais,\r\n codest:this.codigoEstado,\r\n codmun:this.codigoMunicipio,\r\n codpar:this.codigoParroquia,\r\n }\r\n }\r\n}","import { ICalculoPrestacion, IConfiguracionFideicomiso, IFideicomiso, IFideicomisoInteres, IFideicomisoPeriodo, IFideicomisoPeriodoInteres, IFideicomisoPeriodoInteresCatalogo, IPrestacionesAntiguedad } from \"../../interfaces/RecursosHumanos\";\r\nimport { MBasicModel } from \"../basic-model.model\";\r\n\r\nexport class MFideicomiso extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0;\r\n public idPersonal:number=0;\r\n public idfideicomiso:number=0;\r\n public codigoFideicomiso:string=''; \r\n public fichaFideicomico:string=''; \r\n public cuentaFideicomiso:string=''; \r\n public idCuentaFideicomiso:number=0; \r\n public fechaIngresoFideicomiso:string='1900-01-01'; \r\n public capitalizacionFideicomiso:string='N';\r\n public capitalizarAntiguedadComplementaria:number=0; \r\n public fechaContinuidadPrestaciones:string='1900-01-01'; \r\n public contabilizarPrestacionesAntiguedad:number=0;\r\n public porcentajeInteresCapitalizacion:number=0;\r\n public scgCuentaAntiguedadFideicomiso:string=''; \r\n public scgcuentaInteresFideicomiso:string=''; \r\n public calcularIteresFideicomiso:number=0;\r\n public idUbicacionFisica:number=0;\r\n public denominacionUbicacionFisica:string='';\r\n public codigoUbicacionFisica:string='';\r\n\r\n constructor(e?:IFideicomiso){ \r\n super();\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal=parseInt(e.id_personal)\r\n this.idfideicomiso=parseInt(e.id_fideicomiso)\r\n this.codigoFideicomiso=e.codfid\r\n this.fichaFideicomico=e.ficfid; \r\n this.idCuentaFideicomiso=parseInt(e.id_ctabanper); \r\n this.cuentaFideicomiso=e.ctabanper;\r\n this.fechaIngresoFideicomiso=e.fecingfid; \r\n this.capitalizacionFideicomiso=e.capfid;\r\n this.capitalizarAntiguedadComplementaria=parseInt(e.capantcom); \r\n this.fechaContinuidadPrestaciones=e.fecconpreant; \r\n this.contabilizarPrestacionesAntiguedad=parseInt(e.conpreant)\r\n this.porcentajeInteresCapitalizacion=+e.porintcap;\r\n this.scgCuentaAntiguedadFideicomiso=e.scg_cuentafid; \r\n this.scgcuentaInteresFideicomiso=e.scg_cuentaintfid; \r\n this.calcularIteresFideicomiso=+e.calintfid\r\n this.idUbicacionFisica=parseInt(e.id_ubifis);\r\n this.denominacionUbicacionFisica=e.denubifis;\r\n this.codigoUbicacionFisica=e.codubifis; \r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IFideicomiso {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\nid_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal.toString(),\r\n id_fideicomiso:this.idfideicomiso.toString(),\r\n codfid:this.codigoFideicomiso, \r\n ficfid:this.fichaFideicomico, \r\n id_ctabanper:this.idCuentaFideicomiso.toString(), \r\n fecingfid:this.fechaIngresoFideicomiso, \r\n capfid:this.capitalizacionFideicomiso,\r\n capantcom:this.capitalizarAntiguedadComplementaria.toString(), \r\n fecconpreant:this.fechaContinuidadPrestaciones, \r\n conpreant:this.contabilizarPrestacionesAntiguedad.toString(), \r\n porintcap:+this.porcentajeInteresCapitalizacion, \r\n scg_cuentafid:this.scgCuentaAntiguedadFideicomiso, \r\n scg_cuentaintfid:this.scgcuentaInteresFideicomiso, \r\n calintfid:+this.calcularIteresFideicomiso,\r\n id_ubifis:this.idUbicacionFisica.toString(),\r\n }\r\n }\r\n}\r\n\r\nexport class MConfiguracionFideicomiso extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0;\r\n public idFideicomisoConfiguracion:number=0;\r\n public idDedicacion:number=0;\r\n public idTipoPersonal:number=0;\r\n public anioCursoFideicomiso:string='';\r\n public diaBonoVacacionalFideicomiso:number=0;\r\n public diasBonoFinAnio:number=0;\r\n public cuentaFideicomiso:string='';\r\n public denominacionDedicacion:string='';\r\n public codigoDedicacion:string='';\r\n public codigoTipoPersonal:string='';\r\n public denominacionTipoPersonal:string='';\r\n public formulaFideicomiso:string='xxx';\r\n\r\n constructor(e?:IConfiguracionFideicomiso){\r\n super();\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa ; \r\n this.idDedicacion=parseInt(e.id_dedicacion);\r\n this.idTipoPersonal=parseInt(e.id_tipopersonal);\r\n this.anioCursoFideicomiso=e.anocurfid;\r\n this.diaBonoVacacionalFideicomiso=parseInt(e.diabonvacfid);\r\n this.diasBonoFinAnio=parseInt(e.diabonfinfid);\r\n this.cuentaFideicomiso=e.cuefid;\r\n this.denominacionDedicacion=e.dended;\r\n this.codigoDedicacion=e.codded;\r\n this.codigoTipoPersonal=e.codtipper;\r\n this.denominacionTipoPersonal=e.dentipper; \r\n this.idFideicomisoConfiguracion=parseInt(e.id_fidconfig);\r\n this.formulaFideicomiso=e.forfid;\r\n\r\n }else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IConfiguracionFideicomiso{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa, \r\n id_fidconfig:this.idFideicomisoConfiguracion.toString(),\r\n id_dedicacion:this.idDedicacion.toString(),\r\n id_tipopersonal:this.idTipoPersonal.toString(),\r\n anocurfid:this.anioCursoFideicomiso,\r\n diabonvacfid:this.diaBonoVacacionalFideicomiso.toString(),\r\n diabonfinfid:this.diasBonoFinAnio.toString(),\r\n cuefid:this.cuentaFideicomiso, \r\n forfid:this.formulaFideicomiso, \r\n }\r\n }\r\n\r\n}\r\n\r\nexport class MFideicomisoInteres extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n\r\n public idInteresFideicomiso:number=0;\r\n public mesInteres:number=0;\r\n public anioInteres:number=0;\r\n public numeroGacetaInteres:string='';\r\n public fechaVigenciaGacetaInteres:string='1900-01-01'\r\n public montoTasaInteres:number=0;\r\n \r\n constructor(e?:IFideicomisoInteres){\r\n super();\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa ; \r\n this.idInteresFideicomiso=parseInt(e.id_intfide);\r\n this.mesInteres=parseInt(e.mesint);\r\n this.anioInteres=parseInt(e.anoint);\r\n this.numeroGacetaInteres=e.nrogacint;\r\n this.fechaVigenciaGacetaInteres=e.fecviggacint;\r\n this.montoTasaInteres=+e.montasint;\r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IFideicomisoInteres{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_intfide:this.idInteresFideicomiso.toString(),\r\n mesint:this.mesInteres.toString(),\r\n anoint:this.anioInteres.toString(),\r\n nrogacint:this.numeroGacetaInteres,\r\n fecviggacint:this.fechaVigenciaGacetaInteres,\r\n montasint:this.montoTasaInteres.toString(),\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class MCalculoPrestacion extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public mes:string='';\r\n public anio:string='';\r\n public cedulaDesde='';\r\n public cedulaHasta='';\r\n public mesCalculado=''; \r\n public anioCalculado=''; \r\n\r\n constructor(e:ICalculoPrestacion=null){\r\n super();\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.mes=e.mes;\r\n this.anio=e.anio;\r\n this.cedulaDesde=e.cedula_desde\r\n this.cedulaDesde=e.cedula_hasta; \r\n this.mesCalculado=e.mescal;\r\n this.anioCalculado=e.aniocal;\r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():ICalculoPrestacion {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n mes:this.mes,\r\n anio:this.anio,\r\n cedula_desde:this.cedulaDesde, \r\n cedula_hasta:this.cedulaHasta, \r\n mescal: this.mesCalculado,\r\n aniocal:this.anioCalculado,\r\n }\r\n }\r\n}\r\n\r\nexport class MFideicomisoPeriodo extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0;\r\n public idNomina:number=0;\r\n public codigoNomina:string='';\r\n public idFideicomiso:number=0;\r\n public anioCursoPeriodo:string='';\r\n public mesCursoPeriodo:string='';\r\n public sueldointergralPeronal:number=0;\r\n\tpublic bonoExtraPersonal:number=0;\r\n public bonoVacacionalPersonal:number=0;\r\n public bonoFinPersonal:number=0;\r\n public aportePersonal:number=0;\r\n public diaFideicomiso:number=0;\r\n public diaAdicional:number=0;\r\n public metodoPrestacion:number=0;\r\n\tpublic metodoAdicional:number=0;\r\n public bonoVacionalAdicional:number=0;\r\n public bonoFinAdicional:number=0;\r\n public sueldoIntegralAdicional:number=0;\r\n public aportePrestacion:number=0;\r\n public aporteAdicionalPersonal:number=0;\r\n public codigoUsuario:string='';\r\n public idDtFideicomisoPeriodo:number=0;\r\n public cedulaPersonal:string='';\r\n public nombrePersonal:string='';\r\n public apellidoPersonal:string='';\r\n public fechaIngresoPersonal:string='1900-01-01';\r\n public estatusPersonal:string='';\r\n public codigoPersonal:string='';\r\n public denominacionEstatus:string='';\r\n public denominacionMes:string='';\r\n\r\n constructor(e:IFideicomisoPeriodo=null){\r\n super();\r\n if(e){\r\n this.idEmpresa=+e.id_empresa;\r\n this.idPersonal=+e.id_personal;\r\n this.idNomina=+e.id_nomina;\r\n this.codigoNomina=e.codnom;\r\n this.idFideicomiso=+e.id_dt_fideiperiodo;\r\n this.anioCursoPeriodo=e.anocurper;\r\n this.mesCursoPeriodo=e.mescurper;\r\n this.sueldointergralPeronal=+e.sueintper;\r\n this.bonoExtraPersonal=+e.bonextper;\r\n this.bonoVacacionalPersonal=+e.bonvacper;\r\n this.bonoFinPersonal=+e.bonfinper;\r\n this.aportePersonal=+e.apoper;\r\n this.diaFideicomiso=+e.diafid;\r\n this.diaAdicional=+e.diaadi;\r\n this.metodoPrestacion=+e.metodopre;\r\n this.metodoAdicional=+e.metodoadi;\r\n this.bonoVacionalAdicional=+e.bonvacadiper;\r\n this.bonoFinAdicional=+e.bonfinadiper;\r\n this.sueldoIntegralAdicional=+e.sueintadiper;\r\n this.aportePrestacion=+e.apopreper;\r\n this.aporteAdicionalPersonal=+e.apoadiper;\r\n this.codigoUsuario=e.codusu;\r\n this.idDtFideicomisoPeriodo=+e.id_dt_fideiperiodo;\r\n this.cedulaPersonal=e.cedper;\r\n this.nombrePersonal=e.nomper;\r\n this.apellidoPersonal=e.apeper;\r\n this.fechaIngresoPersonal=e.fecingper;\r\n this.estatusPersonal=e.estper;\r\n this.codigoPersonal=e.codper;\r\n this.estatusPersonal=='0'? this.denominacionEstatus='PRE-INGRESO' :\r\n this.estatusPersonal=='1'? this.denominacionEstatus='ACTIVO':\r\n this.estatusPersonal=='2'? this.denominacionEstatus='NINGUNO':\r\n this.estatusPersonal=='3'? this.denominacionEstatus='EGRESADO':\r\n this.estatusPersonal=='4'? this.denominacionEstatus='REMOCIÓN':\r\n this.estatusPersonal=='5'? this.denominacionEstatus='RETIRO':\r\n this.estatusPersonal=='6'? this.denominacionEstatus='DESTITUCIÓN':\r\n this.estatusPersonal=='7'? this.denominacionEstatus='LIQUIDACIÓN':'';\r\n this.mesCursoPeriodo=='01'? this.denominacionMes='ENERO':\r\n this.mesCursoPeriodo=='02'? this.denominacionMes='FEBREO':\r\n this.mesCursoPeriodo=='03'? this.denominacionMes='MARZO':\r\n this.mesCursoPeriodo=='04'? this.denominacionMes='ABRIL':\r\n this.mesCursoPeriodo=='05'? this.denominacionMes='MAYO':\r\n this.mesCursoPeriodo=='06'? this.denominacionMes='JUNIO':\r\n this.mesCursoPeriodo=='07'? this.denominacionMes='JULIO':'';\r\n this.mesCursoPeriodo=='08'? this.denominacionMes='AGOSTO':\r\n this.mesCursoPeriodo=='09'? this.denominacionMes='SEPTIEMBRE':\r\n this.mesCursoPeriodo=='10'? this.denominacionMes='OCTUBRE':\r\n this.mesCursoPeriodo=='11'? this.denominacionMes='NOVIEMBRE':\r\n this.mesCursoPeriodo=='12'? this.denominacionMes='DICIEMBRE':''; \r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n \r\n}\r\n\r\nexport class MFideicomisoPeriodoInteresCatalogo extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0;\r\n public codigoPersonal:string='';\r\n public cedulaPersonal:string='';\r\n public nombrePersonal:string='';\r\n public apellidoPersonal:string='';\r\n public fechaIngresoPersonal:string='1900-01-01';\r\n public estatusPersonal:string='';\r\n public denominacionEstatus:string='';\r\n public interes:MFideicomisoPeriodoInteres[]=[];\r\n\r\n constructor(e:IFideicomisoPeriodoInteresCatalogo=null){\r\n super()\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa;\r\n this.idPersonal=+e.id_personal;\r\n this.codigoPersonal=e.codper\r\n this.cedulaPersonal=e.cedper;\r\n this.nombrePersonal=e.nomper;\r\n this.apellidoPersonal=e.apeper;\r\n this.estatusPersonal=e.estper;\r\n this.fechaIngresoPersonal=e.fecingper;\r\n this.estatusPersonal=='0'? this.denominacionEstatus='PRE-INGRESO' :\r\n this.estatusPersonal=='1'? this.denominacionEstatus='ACTIVO':\r\n this.estatusPersonal=='2'? this.denominacionEstatus='NINGUNO':\r\n this.estatusPersonal=='3'? this.denominacionEstatus='EGRESADO':\r\n this.estatusPersonal=='4'? this.denominacionEstatus='REMOCIÓN':\r\n this.estatusPersonal=='5'? this.denominacionEstatus='RETIRO':\r\n this.estatusPersonal=='6'? this.denominacionEstatus='DESTITUCIÓN':\r\n this.estatusPersonal=='7'? this.denominacionEstatus='LIQUIDACIÓN':'';\r\n if(e.intereses){\r\n this.interes=e.intereses.map(e=> new MFideicomisoPeriodoInteres(e)); \r\n }\r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n}\r\n\r\nexport class MFideicomisoPeriodoInteres extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0;\r\n public idNomina:number=0;\r\n public mesInteres:number=0;\r\n public anioInteres:string='';\r\n\tpublic montoAnteriorAcumulado:number=0\r\n public montoAnterior:number=0\r\n public porcentajeInteres:number=0\r\n public montoInteres:number=0\r\n public montoCapital:number=0\r\n public anticipoPrestamo:number=0\r\n public idDtFide:number=0\r\n public cedulaPersonal:string='';\r\n public nombrePersonal:string='';\r\n public apellidoPersonal:string='';\r\n public fechaIngresoPersonal:string='1900-01-01';\r\n public estatusPersonal:string='';\r\n public codigoPersonal:string='';\r\n public denominacionEstatus:string='';\r\n public denominacionMes:string='';\r\n public capital:number=0;\r\n public codigoNomina:string='';\r\n\r\n constructor(e:IFideicomisoPeriodoInteres=null){\r\n super();\r\n if(e){\r\n this.idEmpresa=+e.id_empresa;\r\n this.idPersonal=+e.id_personal;\r\n this.idNomina=+e.id_nomina;\r\n this.mesInteres=+e.mesint;\r\n this.anioInteres=e.anoint\r\n this.montoAnteriorAcumulado=+e.monantacu;\r\n this.montoAnterior=+e.monant;\r\n this.porcentajeInteres=+e.porint;\r\n this.montoInteres=+e.monint;\r\n this.montoCapital=+e.moncap;\r\n this.anticipoPrestamo=+e.antpre;\r\n this.capital=+e.capital;\r\n this.idDtFide=+e.id_dt_fidperint;\r\n this.cedulaPersonal=e.cedper;\r\n this.nombrePersonal=e.nomper;\r\n this.apellidoPersonal=e.apeper;\r\n this.fechaIngresoPersonal=e.fecingper;\r\n this.estatusPersonal=e.estper;\r\n this.codigoPersonal=e.codper;\r\n this.estatusPersonal=='0'? this.denominacionEstatus='PRE-INGRESO' :\r\n this.estatusPersonal=='1'? this.denominacionEstatus='ACTIVO':\r\n this.estatusPersonal=='2'? this.denominacionEstatus='NINGUNO':\r\n this.estatusPersonal=='3'? this.denominacionEstatus='EGRESADO':\r\n this.estatusPersonal=='4'? this.denominacionEstatus='REMOCIÓN':\r\n this.estatusPersonal=='5'? this.denominacionEstatus='RETIRO':\r\n this.estatusPersonal=='6'? this.denominacionEstatus='DESTITUCIÓN':\r\n this.estatusPersonal=='7'? this.denominacionEstatus='LIQUIDACIÓN':'';\r\n this.mesInteres==1? this.denominacionMes='ENERO':\r\n this.mesInteres==2? this.denominacionMes='FEBREO':\r\n this.mesInteres==3? this.denominacionMes='MARZO':\r\n this.mesInteres==4? this.denominacionMes='ABRIL':\r\n this.mesInteres==5? this.denominacionMes='MAYO':\r\n this.mesInteres==6? this.denominacionMes='JUNIO':\r\n this.mesInteres==7? this.denominacionMes='JULIO':'';\r\n this.mesInteres==8? this.denominacionMes='AGOSTO':\r\n this.mesInteres==9? this.denominacionMes='SEPTIEMBRE':\r\n this.mesInteres==10? this.denominacionMes='OCTUBRE':\r\n this.mesInteres==11? this.denominacionMes='NOVIEMBRE':\r\n this.mesInteres==12? this.denominacionMes='DICIEMBRE':'';\r\n this.codigoNomina=e.codnom; \r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n \r\n}\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IFormacionAcademica } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MFormacionAcademica extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso: number=0;\r\n public idConcursante: number=0;\r\n public idEstudioConcursante: number=0;\r\n public codigoEstudio: string='';\r\n public institutoEstudio: string='';\r\n public descripcionEstudio: string='';\r\n public fechaInicial: string='';\r\n public fechaFin: string='';\r\n public tituloObtenido: string='';\r\n public yearAprobados: number=0;\r\n \r\n constructor (e?:IFormacionAcademica) { \r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcurso=parseInt(e.id_concurso);\r\n this.idConcursante=parseInt(e.id_concursante);\r\n this.idEstudioConcursante=parseInt(e.id_estudiocon);\r\n this.codigoEstudio=e.codestrea;\r\n this.institutoEstudio=e.insestper;\r\n this.descripcionEstudio=e.desestper;\r\n this.fechaInicial=e.fecinireaest;\r\n this.fechaFin=e.fecfinestrea;\r\n this.tituloObtenido=e.titestper;\r\n this.yearAprobados=parseInt(e.anoaprestper);\r\n } \r\n }\r\n \r\n public dataInterface():IFormacionAcademica{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concurso: this.idConcurso.toString(),\r\n id_concursante: this.idConcursante.toString(),\r\n id_estudiocon: this.idEstudioConcursante.toString(),\r\n codestrea: this.codigoEstudio,\r\n insestper: this.institutoEstudio,\r\n desestper: this.descripcionEstudio,\r\n fecinireaest: this.fechaInicial,\r\n fecfinestrea: this.fechaFin,\r\n titestper: this.tituloObtenido,\r\n anoaprestper: this.yearAprobados.toString()\r\n }\r\n }\r\n}\r\n","import {MBasicModel } from \"../basic-model.model\";\r\nimport { IGrados } from \"../../interfaces/RecursosHumanos\";\r\nimport { MPrimaGrados } from \"./MPrimaGrados.model\";\r\n\r\nexport class MGrados extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idTabulador: number=0;\r\n public codigoGrado: string='';\r\n public codigoPaso: string='';\r\n public montoSalario: number=0;\r\n public montoCompensacion: number=0; \r\n public yearDesde: number=0;\r\n public yearHasta: number=0;\r\n public IdDetalleGrado: number=0;\r\n public detallePrima: MPrimaGrados[]=[]; \r\n\r\n constructor (e:IGrados=null) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idTabulador=parseInt(e.id_tabulador);\r\n this.codigoGrado=e.codgra;\r\n this.codigoPaso=e.codpas;\r\n this.montoSalario=parseFloat(e.monsalgra);\r\n this.montoCompensacion=parseFloat(e.moncomgra);\r\n this.yearDesde=parseInt(e.aniodes);\r\n this.yearHasta=parseInt(e.aniohas);\r\n this.IdDetalleGrado=parseInt(e.id_dt_grado)\r\n \r\n } \r\n }\r\n \r\n public dataInterface():IGrados{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tabulador: this.idTabulador.toString(),\r\n codgra: this.codigoGrado.toString(),\r\n codpas: this.codigoPaso.toString(),\r\n monsalgra: this.montoSalario.toString(),\r\n moncomgra: this.montoCompensacion.toString(),\r\n aniodes: this.yearDesde.toString(),\r\n aniohas: this.yearHasta.toString(),\r\n id_dt_grado: this.IdDetalleGrado.toString(),\r\n \r\n }\r\n }\r\n}","import { IPrimasConcepto } from '../../interfaces/Nomina';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MPrimasConcepto extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPrimaConcepto:number=0;\r\n public idNomina:number=0;\r\n public idConcepto:number=0;\r\n public anoPrima:number=0;\r\n public valorPrima:number=0;\r\n public codigoConcepto: string='';\r\n public nombreConcepto:string='';\r\n\r\n constructor(e:IPrimasConcepto=null){\r\n super()\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPrimaConcepto=+e.id_primaconcepto;\r\n this.idNomina=+e.id_nomina;\r\n this.idConcepto=+e.id_concepto;\r\n this.anoPrima=+e.anopri;\r\n this.valorPrima=+e.valpri;\r\n this.codigoConcepto=e.codconc;\r\n this.nombreConcepto=e.nomcon;\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IPrimasConcepto{\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_primaconcepto:this.idPrimaConcepto.toString(),\r\n id_nomina:this.idNomina.toString(),\r\n id_concepto:this.idConcepto.toString(),\r\n anopri:this.anoPrima.toString(),\r\n valpri:this.valorPrima.toString(),\r\n codconc:this.codigoConcepto,\r\n nomcon:this.nombreConcepto,\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IPrimaGrados } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MPrimaGrados extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idTabulador: number=0;\r\n public codigoGrado: string='';\r\n public codigoPaso: string='';\r\n public codigoPrima: string='';\r\n public descripcionPrima: string='';\r\n public montoPrima: number=0;\r\n public IdDetallePrima: number=0;\r\n\r\n constructor (e:IPrimaGrados=null) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idTabulador=parseInt(e.id_tabulador);\r\n this.codigoGrado=e.codgra;\r\n this.codigoPaso=e.codpas;\r\n this.codigoPrima=e.codpri;\r\n this.descripcionPrima=e.despri;\r\n this.montoPrima=parseInt(e.monpri);\r\n this.IdDetallePrima=parseInt(e.id_dt_prima); \r\n } else {\r\n this.isNew=true;\r\n }\r\n \r\n }\r\n \r\n public dataInterface():IPrimaGrados{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tabulador: this.idTabulador.toString(),\r\n codgra: this.codigoGrado,\r\n codpas: this.codigoPaso,\r\n codpri: this.codigoPrima,\r\n despri: this.descripcionPrima,\r\n monpri: this.montoPrima.toString(),\r\n id_dt_prima: this.IdDetallePrima.toString(),\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IRequisitosConcursante } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MRequisitosConcursantes extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso: number=0;\r\n public idConcursante: number=0;\r\n public idRequisitos: number=0;\r\n public codigo: string='';\r\n public descripcion: string='';\r\n public cantidadRequisitos: number=0;\r\n public requisitosEntregado: string='';\r\n public cantidadEntregado: number=0;\r\n \r\n constructor (e:IRequisitosConcursante=null) { \r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcursante=parseInt(e.id_concurso);\r\n this.idConcursante=parseInt(e.id_concursante);\r\n this.idRequisitos=parseInt(e.id_reqcon);\r\n this.codigo=e.codreqcon;\r\n this.descripcion=e.denreqcon;\r\n this.cantidadRequisitos=parseInt(e.cantreq);\r\n this.requisitosEntregado=e.entreqcon;\r\n this.cantidadEntregado=parseInt(e.canentreqcon);\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n \r\n public dataInterface():IRequisitosConcursante{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concurso: this.idConcurso.toString(),\r\n id_concursante: this.idConcurso.toString(),\r\n id_reqcon: this.idRequisitos.toString(),\r\n codreqcon: this.codigo,\r\n denreqcon: this.descripcion,\r\n cantreq: this.cantidadRequisitos.toString(),\r\n entreqcon: this.requisitosEntregado,\r\n canentreqcon: this.cantidadEntregado.toString()\r\n }\r\n }\r\n}\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IDtRequisitosMinimos, IRequisitosMinismos } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MRequisitosMinimos extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso:number=0;\r\n public idConcursante:number=0;\r\n public idTipoEvaluacion:number=0; \r\n public IdRequisitosMinimos:number=0;\r\n public codigoConcursante:string='';\r\n public nombreConcursante:string=''; \r\n public codigoConcurso:string='';\r\n public denominacionConcurso:string='';\r\n public fechaEvaluacion:string=''; \r\n public puntoRequeridoMinimo:number=0;\r\n public codigoTipoEvaluacion:string='';\r\n public denominacionTipoEvaluacion:string=''; \r\n public items:MDtRequisitosMinimos[]=[];\r\n public eliminarDetalles:number[]=[];\r\n\r\n constructor(e?:IRequisitosMinismos){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcursante\r\n this.codigoConcursante=e.codper;\r\n this.nombreConcursante= e.nomper+' '+e.apeper;\r\n this.idConcurso=parseInt(e.id_concurso);\r\n this.codigoConcurso=e.codcon\r\n this.denominacionConcurso=e.dencon;\r\n this.fechaEvaluacion=e.feceva;\r\n this.idTipoEvaluacion=parseInt(e.id_tipoeval);\r\n this.puntoRequeridoMinimo=parseInt(e.punreqmin);\r\n this.codigoTipoEvaluacion=e.codtipeval;\r\n this.denominacionTipoEvaluacion=e.dentipeval;\r\n this.IdRequisitosMinimos= parseInt(e.id_reqmin);\r\n this.idConcursante= parseInt(e.id_concursante);\r\n if (e.items){\r\n this.items= e.items.map(e=> new MDtRequisitosMinimos(e));\r\n }\r\n }\r\n }\r\n\r\n dataInterface():IRequisitosMinismos{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tipoeval:this.idTipoEvaluacion.toString(),\r\n id_concurso:this.idConcurso.toString(),\r\n id_reqmin:this.IdRequisitosMinimos.toString(), \r\n id_concursante:this.idConcursante.toString(),\r\n feceva:this.fechaEvaluacion,\r\n punreqmin:this.puntoRequeridoMinimo.toString(),\r\n codtipeval:this.codigoTipoEvaluacion,\r\n dentipeval:this.denominacionTipoEvaluacion,\r\n dencon:this.denominacionConcurso,\r\n codcon:this.codigoConcurso,\r\n nomper:this.nombreConcursante,\r\n apeper:this.nombreConcursante,\r\n codper:this.codigoConcursante, \r\n items:this.items.map(function (e) { return e.dataInterface(); }),\r\n eliminar_detalle: this.eliminarDetalles,\r\n }\r\n }\r\n}\r\n\r\n\r\nexport class MDtRequisitosMinimos {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idConcurso:number=0; \r\n public fechaEvaluacion:string='1900-01-01'; \r\n public idTipoEvaluacion:number=0;\r\n public idAspecto:number=0;\r\n public idItem:number=0; \r\n public puntos:number=0;\r\n public denominacionItems:string=''; \r\n public codigoItems:string=''; \r\n public puntajeRequerido:number=0;\r\n public idDtRequisito:number=0;\r\n public idConcursante:number=0;\r\n \r\n\r\n constructor(e?:IDtRequisitosMinimos){\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idConcurso=parseInt(e.id_concurso); \r\n this.idConcursante=parseInt(e.id_concursante)\r\n this.fechaEvaluacion=this.fechaEvaluacion;\r\n this.idTipoEvaluacion=parseInt(e.id_tipoeval); \r\n this.idAspecto=parseInt(e.id_aspecto); \r\n this.idItem=parseInt(e.id_item); \r\n this.puntos=parseFloat(e.puntos); \r\n this.denominacionItems=e.denite;\r\n this.codigoItems=e.codite;\r\n this.puntajeRequerido=parseFloat(e.valormax);\r\n this.idDtRequisito=parseInt(e.id_dt_req);\r\n }\r\n }\r\n\r\n dataInterface():IDtRequisitosMinimos{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_concurso:this.idConcurso.toString(),\r\n id_tipoeval:this.idTipoEvaluacion.toString(), \r\n id_aspecto:this.idAspecto.toString(), \r\n id_item:this.idItem.toString(), \r\n id_dt_req: this.idDtRequisito.toString(),\r\n id_concursante:this.idConcursante.toString(),\r\n id_reqmin:this.idDtRequisito.toString(), \r\n puntos:this.puntos.toString(),\r\n codite:this.codigoItems,\r\n denite:this.denominacionItems,\r\n valormax:this.puntajeRequerido.toString(),\r\n }\r\n }\r\n\r\n}\r\n\r\n","import {MBasicModel } from \"../basic-model.model\";\r\nimport { ISalarioHistorico } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MSalarioHistorico extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal: number=0; \r\n public idDedicacion: number=0; \r\n public idTipoPersonal: number=0; \r\n public idDtSueldoHistorico: number=0; \r\n public fechaSueldo: string='1900-01-01'; \r\n public sueldoBase: number=0; \r\n public sueldoIntegral: number=0; \r\n public sueldoPromedioDiario: number=0; \r\n public bonoVacacional: number=0; \r\n public bonoFinAno: number=0; \r\n public otrasAsignaciones: number=0; \r\n public conceptoFijo: number=0; \r\n public conceptoVariable: number=0; \r\n public alicutaBonoVacaciones: number=0; \r\n public alicuotaBonoFinAno: number=0; \r\n public denominacionDedicacion: string='';\r\n public denominacionTipoPersonal: string='';\r\n\r\n constructor (e:ISalarioHistorico=null){ \r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal=parseInt(e.id_personal);\r\n this.idDedicacion=parseInt(e.id_dedicacion);\r\n this.idTipoPersonal=parseInt(e.id_tipopersonal);\r\n this.idDtSueldoHistorico =parseInt(e.id_dt_sueldoh);\r\n this.fechaSueldo=e.fecsue;\r\n this.sueldoBase=parseFloat(e.suebas);\r\n this.sueldoIntegral=parseFloat(e.sueint);\r\n this.sueldoPromedioDiario=parseFloat(e.sueprodia);\r\n this.bonoVacacional=parseFloat(e.bonvac);\r\n this.bonoFinAno=parseFloat(e.bonfianio);\r\n this.otrasAsignaciones=parseFloat(e.otrasig);\r\n this.conceptoFijo=parseFloat(e.confij);\r\n this.conceptoVariable=parseFloat(e.convar);\r\n this.alicutaBonoVacaciones=parseFloat(e.alibonvac);\r\n this.alicuotaBonoFinAno=parseFloat(e.alibonfinanio);\r\n this.denominacionDedicacion= e.dended;\r\n this.denominacionTipoPersonal= e.dentipper;\r\n }\r\n \r\n }\r\n\r\n public dataInterface():ISalarioHistorico{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal.toString(),\r\n id_dedicacion:this.idDedicacion.toString(),\r\n id_tipopersonal:this.idTipoPersonal.toString(),\r\n id_dt_sueldoh:this.idDtSueldoHistorico.toString(),\r\n fecsue:this.fechaSueldo,\r\n suebas:this.sueldoBase.toString(),\r\n sueint:this.sueldoIntegral.toString(),\r\n sueprodia:this.sueldoPromedioDiario.toString(),\r\n bonvac:this.bonoVacacional.toString(),\r\n bonfianio:this.bonoFinAno.toString(),\r\n otrasig:this.otrasAsignaciones.toString(),\r\n confij:this.conceptoFijo.toString(),\r\n convar:this.conceptoVariable.toString(),\r\n alibonvac:this.alicutaBonoVacaciones.toString(),\r\n alibonfinanio:this.alicuotaBonoFinAno.toString(),\r\n dended:this.denominacionDedicacion,\r\n dentipper: this.denominacionTipoPersonal\r\n \r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { ISolicitudEmpleo } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MSolicitudEmpleo extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idSolicitudEmpleo: number=0;\r\n public numeroSolicitud: string='';\r\n public cedulaSolicitante: string='';\r\n public fechaSolicitud: string='';\r\n public apellidosSolicitante: string='';\r\n public nombresSolicitante: string='';\r\n public nombresYapellidos: string='';\r\n public generoSolicitante: string='';\r\n public fechaNacimientoSolicitante: string='';\r\n public telefonoHabitacionSolicitante: string='';\r\n public emailSolicitante: string='';\r\n public idProfesion: number=0;\r\n public codigoProfesion: string=''; \r\n public nombreProfesion: string=''; \r\n public cargaFamiliar: number=0;\r\n public idNivelSeleccion: number=0;\r\n public codigoNivelSeleccion: string=''; \r\n public nombreNivelSeleccion: string=''; \r\n public nivelAcademicoSolicitante: string='';\r\n public codigoPais: string='---';\r\n public nombrePais: string=''; \r\n public codigoEstado: string='---';\r\n public nombreEstado: string=''; \r\n public codigoMunicipio: string='---';\r\n public nombreMunicipio: string=''; \r\n public codigoParroquia: string='---';\r\n public nombreParroquia: string=''; \r\n public direccionSolicitante: string='';\r\n public telefonoMovilSolicitante: string='';\r\n public estadoCivilSolicitante: string='';\r\n public nacionalidadSolicitante: string='';\r\n public estaturaSolicitante: number=0;\r\n public pesoSolicitante: number=0;\r\n public competenciaPerfilSolicitante: string='';\r\n\r\n constructor (e:ISolicitudEmpleo=null) { \r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idSolicitudEmpleo=parseInt(e.id_solempleo);\r\n this.numeroSolicitud=e.nrosol;\r\n this.cedulaSolicitante=e.cedsol;\r\n this.fechaSolicitud=e.fecsol;\r\n this.apellidosSolicitante=e.apesol;\r\n this.nombresSolicitante=e.nomsol;\r\n this.nombresYapellidos=e.nomape;\r\n this.generoSolicitante=e.sexsol;\r\n this.fechaNacimientoSolicitante=e.fecnac;\r\n this.telefonoHabitacionSolicitante=e.telhab;\r\n this.emailSolicitante=e.email;\r\n this.idProfesion=parseInt(e.id_profesion);\r\n this.codigoProfesion=e.codpro; \r\n this.nombreProfesion=e.denpro;\r\n this.cargaFamiliar=parseInt(e.carfam);\r\n this.idNivelSeleccion=parseInt(e.id_nivsel);\r\n this.codigoNivelSeleccion=e.codnivsel; \r\n this.nombreNivelSeleccion=e.dennivsel;\r\n this.nivelAcademicoSolicitante=e.nivacasol;\r\n this.codigoPais=e.codpai;\r\n this.nombrePais=e.despai; \r\n this.codigoEstado=e.codest;\r\n this.nombreEstado=e.desest;\r\n this.codigoMunicipio=e.codmun;\r\n this.nombreMunicipio=e.desmun;\r\n this.codigoParroquia=e.codpar;\r\n this.nombreParroquia=e.despar;\r\n this.direccionSolicitante=e.dirsol;\r\n this.telefonoMovilSolicitante=e.telmov;\r\n this.estadoCivilSolicitante=e.estciv;\r\n this.nacionalidadSolicitante=e.nacsol;\r\n this.estaturaSolicitante=parseInt(e.estasol);\r\n this.pesoSolicitante=parseInt(e.pessol);\r\n this.competenciaPerfilSolicitante=e.comsol;\r\n\r\n } \r\n }\r\n \r\n public dataInterface():ISolicitudEmpleo{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_solempleo: this.idSolicitudEmpleo.toString(),\r\n nrosol: this.numeroSolicitud,\r\n cedsol: this.cedulaSolicitante,\r\n fecsol: this.fechaSolicitud,\r\n apesol: this.apellidosSolicitante,\r\n nomsol: this.nombresSolicitante,\r\n nomape: this.nombresYapellidos,\r\n sexsol: this.generoSolicitante,\r\n fecnac: this.fechaNacimientoSolicitante,\r\n telhab: this.telefonoHabitacionSolicitante,\r\n email: this.emailSolicitante,\r\n id_profesion: this.idProfesion.toString(),\r\n codpro: this.codigoProfesion,\r\n denpro: this.nombreProfesion,\r\n carfam: this.cargaFamiliar.toString(),\r\n id_nivsel: this.idNivelSeleccion.toString(),\r\n codnivsel: this.codigoNivelSeleccion,\r\n dennivsel: this.nombreNivelSeleccion,\r\n nivacasol: this.nivelAcademicoSolicitante,\r\n codpai: this.codigoPais,\r\n despai: this.nombrePais,\r\n codest: this.codigoEstado,\r\n desest: this.nombreEstado,\r\n codmun: this.codigoMunicipio,\r\n desmun: this.nombreMunicipio,\r\n codpar: this.codigoParroquia,\r\n despar: this.nombreParroquia,\r\n dirsol: this.direccionSolicitante,\r\n telmov: this.telefonoMovilSolicitante,\r\n estciv: this.estadoCivilSolicitante,\r\n nacsol: this.nacionalidadSolicitante,\r\n estasol: this.estaturaSolicitante.toString(),\r\n pessol: this.pesoSolicitante.toString(),\r\n comsol: this.competenciaPerfilSolicitante\r\n }\r\n }\r\n}\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { ITablaVacacionesPeriodo } from \"../../interfaces/RecursosHumanos\";\r\n\r\n\r\nexport class MTablaVacacionesPeriodo extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idTablaVaciones: number=0;\r\n public lapsoPeriodoVacacional: number=0;\r\n public diaAdicionalVacaciones: number=0; \r\n public diaBonoVacacional: number=0;\r\n public diaAdicionalDisfruteVacaciones: number=0;\r\n public diaAdicionalBonoVacacional: number=0;\r\n public idPeriodo:number=0;\r\n\r\n constructor (e:ITablaVacacionesPeriodo=null) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idTablaVaciones= parseInt(e.id_tabvac);\r\n this.lapsoPeriodoVacacional= parseInt(e.lappervac);\r\n this.diaAdicionalVacaciones= parseInt(e.diadisvac);\r\n this.diaBonoVacacional= parseInt(e.diabonvac);\r\n this.diaAdicionalDisfruteVacaciones= parseInt(e.diaadidisvac);\r\n this.diaAdicionalBonoVacacional= parseInt(e.diaadibonvac);\r\n this.idPeriodo = parseInt(e.id_periodo);\r\n \r\n } \r\n }\r\n\r\n public dataInterface():ITablaVacacionesPeriodo{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tabvac: this.idTablaVaciones.toString(),\r\n lappervac: this.lapsoPeriodoVacacional.toString(),\r\n diadisvac: this.diaAdicionalVacaciones.toString(), \r\n diabonvac: this.diaBonoVacacional.toString(), \r\n diaadidisvac: this.diaAdicionalDisfruteVacaciones.toString(), \r\n diaadibonvac: this.diaAdicionalBonoVacacional.toString(), \r\n id_periodo: this.idPeriodo.toString(),\r\n }\r\n }\r\n}","import { ITablaVacaciones } from \"../../interfaces/RecursosHumanos\";\r\nimport { MTablaVacacionesPeriodo } from \"./MTablaVacacionesPeriodo.model\";\r\n\r\nexport class MTablaVacaciones {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idTablaVacaciones:number=0;\r\n public codigoTablaVacaciones:string=''; \r\n public denominacionTablaVacaciones:string=''; \r\n public periodoTablaVacaciones:string=''; \r\n public annoServicioPrevio:boolean=false;\r\n public diaVacacionCalculado:boolean=false;\r\n public periodos: MTablaVacacionesPeriodo[]=[]; \r\n \r\n \r\n constructor (e:ITablaVacaciones=null) {\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idTablaVacaciones=parseInt(e.id_tabvac);\r\n this.codigoTablaVacaciones=e.codtabvac;\r\n this.denominacionTablaVacaciones=e.dentabvac;\r\n this.periodoTablaVacaciones=e.pertabvac;\r\n if (e.anoserpre=='0'){\r\n this.annoServicioPrevio=false;\r\n } else if (e.anoserpre=='1'){\r\n this.annoServicioPrevio=true;\r\n }\r\n if (e.diavaccal=='0'){\r\n this.diaVacacionCalculado=false;\r\n } else if (e.diavaccal=='1'){\r\n this.diaVacacionCalculado=true;\r\n }\r\n \r\n \r\n this.periodos=e.periodos.map(e=> new MTablaVacacionesPeriodo(e));\r\n } \r\n }\r\n \r\n public dataInterface():ITablaVacaciones{\r\n let anno='0'; let dia='0';\r\n if (this.annoServicioPrevio){\r\n anno='1'; \r\n } \r\n if (this.diaVacacionCalculado){\r\n dia='1';\r\n } \r\n \r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tabvac: this.idTablaVacaciones.toString(), \r\n codtabvac: this.codigoTablaVacaciones, \r\n dentabvac: this.denominacionTablaVacaciones, \r\n pertabvac: this.periodoTablaVacaciones, \r\n anoserpre: anno, \r\n diavaccal: dia, \r\n periodos: this.periodos.map(function (e) { return e.dataInterface(); }),\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { ITabulador, ITabuladorNomina } from \"../../interfaces/RecursosHumanos\";\r\nimport { MGrados } from \"./MGrado.model\";\r\n\r\nexport class MTabulador extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idTabulador: number=-1;\r\n public codigoTabulador: string='';\r\n public descripcionTabulador: string='';\r\n public totalPasosXGrados: number=0;\r\n public tabuladorMedicos: number=0;\r\n public tipoTabulador:string='';\r\n public detalleGrados: MGrados[]=[];\r\n public detalleNominas: MTabuladorNominas[]=[];\r\n public eliminarGrados:number[]=[];\r\n public eliminarNomina:number[]=[];\r\n public eliminarPrima:number[]=[];\r\n \r\n\r\n constructor (e:ITabulador=null) { \r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idTabulador=parseInt(e.id_tabulador);\r\n this.codigoTabulador=e.codtab;\r\n this.descripcionTabulador=e.destab;\r\n this.totalPasosXGrados=parseInt(e.maxpasgra);\r\n this.tabuladorMedicos=parseInt(e.tabmed);\r\n this.tipoTabulador=this.tabuladorMedicos==1? 'Médico':'General';\r\n if(e.detalles){\r\n this.detalleGrados=e.detalles.map(e=> new MGrados(e));\r\n }\r\n if(e.detalles_nomina){\r\n this.detalleNominas=e.detalles_nomina.map(e=> new MTabuladorNominas(e));\r\n }\r\n } \r\n }\r\n \r\n public dataInterface():ITabulador{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tabulador: this.idTabulador.toString(),\r\n codtab: this.codigoTabulador,\r\n destab: this.descripcionTabulador,\r\n maxpasgra: this.totalPasosXGrados.toString(),\r\n tabmed: this.tabuladorMedicos.toString(), \r\n detalles: this.detalleGrados.map(function (e) { return e.dataInterface(); }),\r\n detalles_nomina: this.detalleNominas.map(function (e) { return e.dataInterface(); }),\r\n eliminar_grado: this.eliminarGrados,\r\n eliminar_nomina:this.eliminarNomina,\r\n eliminar_prima:this.eliminarPrima,\r\n\r\n }\r\n }\r\n}\r\n \r\nexport class MTabuladorNominas {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idNomina: number=0;\r\n public idTabulador:number=0;\r\n public codigoNomina: string='';\r\n public denominacionNomina: string='';\r\n public estatus: string='';\r\n public idDtNomina: number=0;\r\n public periodoActualNomina:string='001';\r\n public idPeriodoActual:number=0; \r\n public nominaRac:number=0;\r\n public descripcionPeriodoNomina:string='';\r\n public prenomina:boolean=false;\r\n public editable:boolean=false;\r\n public calculada:boolean=false;\r\n\r\n \r\n constructor (e:ITabuladorNomina=null) { \r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idNomina=parseInt(e.id_nomina);\r\n this.idTabulador=parseInt(e.id_tabulador);\r\n this.codigoNomina=e.codnom;\r\n this.denominacionNomina=e.dennom;\r\n this.idDtNomina=parseInt(e.id_dt_tabnom);\r\n this.periodoActualNomina=e.peractnom;\r\n this.calculada=e.calculado=='1'? true:false;\r\n this.prenomina=e.prenomina=='1'? true:false; \r\n this.estatus=this.calculada ? 'Calculada': \r\n !this.calculada && this.prenomina ? 'Pre-Calculada': 'Sin Calcular'\r\n this.editable=(this.calculada||this.prenomina)? false:true; \r\n } \r\n }\r\n \r\n public dataInterface():ITabuladorNomina{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_nomina: this.idNomina.toString(),\r\n id_tabulador:this.idTabulador.toString(),\r\n id_dt_tabnom: this.idDtNomina.toString()\r\n }\r\n }\r\n\r\n \r\n}\r\n\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { ITipoEvaluacion, ITipoEvaluacionAspectos } from \"../../interfaces/RecursosHumanos\";\r\nimport { MAspectoEvaluacion } from \"./MAspectoEvaluacion.model\";\r\n\r\nexport class MTipoEvaluacion extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idTipoEvaluacion: number=0;\r\n public idEscala: number=0;\r\n public codigoTipoEvaluacion: string='';\r\n public denominacionTipoEvaluacion: string='';\r\n public codigoEscala: string='';\r\n public denominacionEscala: string ='';\r\n\r\n constructor (e:ITipoEvaluacion=null) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idTipoEvaluacion= parseInt(e.id_tipoeval);\r\n this.idEscala= parseInt(e.id_escala);\r\n this.codigoTipoEvaluacion= e.codtipeval;\r\n this.denominacionTipoEvaluacion= e.dentipeval;\r\n this.codigoEscala= e.codesc\r\n this.denominacionEscala= e.denesc;\r\n }\r\n \r\n }\r\n\r\n public dataInterface():ITipoEvaluacion{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tipoeval: this.idTipoEvaluacion.toString(),\r\n id_escala: this.idEscala.toString(),\r\n codtipeval: this.codigoTipoEvaluacion,\r\n dentipeval: this.denominacionTipoEvaluacion, \r\n codesc: this.codigoEscala,\r\n denesc: this.denominacionEscala, \r\n }\r\n }\r\n}\r\n\r\n\r\nexport class MTipoEvaluacionAspecto {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idTipoEvaluacion: number=0;\r\n public idEscala: number=0;\r\n public codigoTipoEvaluacion: string='';\r\n public denominacionTipoEvaluacion: string='';\r\n public codigoEscala: string='';\r\n public denominacionEscala: string ='';\r\n public aspectos:MAspectoEvaluacion[]=[];\r\n\r\n constructor (e:ITipoEvaluacionAspectos=null) {\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idTipoEvaluacion= parseInt(e.id_tipoeval);\r\n this.idEscala= parseInt(e.id_escala);\r\n this.codigoTipoEvaluacion= e.codtipeval;\r\n this.denominacionTipoEvaluacion= e.dentipeval;\r\n this.codigoEscala= e.codesc\r\n this.denominacionEscala= e.denesc;\r\n this.aspectos=e.aspecto.map(e=> new MAspectoEvaluacion(e));\r\n }\r\n \r\n }\r\n\r\n public dataInterface():ITipoEvaluacionAspectos{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_tipoeval: this.idTipoEvaluacion.toString(),\r\n id_escala: this.idEscala.toString(),\r\n codtipeval: this.codigoTipoEvaluacion,\r\n dentipeval: this.denominacionTipoEvaluacion, \r\n codesc: this.codigoEscala,\r\n denesc: this.denominacionEscala, \r\n aspecto: this.aspectos.map(function (e) { return e.dataInterface(); })\r\n }\r\n }\r\n}\r\n\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { ITiposEnfermedad } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MTiposEnfermedad extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idEnfermedad: number=0;\r\n public codigoEnfermedad: string='';\r\n public denominacionEnfermedad: string='';\r\n public riesgoContagio: string='';\r\n public riesgoLetal: string='';\r\n public observacionEnfermedad: string='';\r\n\r\n constructor (e:ITiposEnfermedad=null) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idEnfermedad=parseInt(e.id_enfermedad);\r\n this.codigoEnfermedad=e.codenf;\r\n this.denominacionEnfermedad=e.denenf;\r\n this.riesgoContagio=e.riecon;\r\n this.riesgoLetal=e.rielet;\r\n this.observacionEnfermedad=e.obsenf;\r\n } \r\n }\r\n \r\n public dataInterface():ITiposEnfermedad{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_enfermedad: this.idEnfermedad.toString(),\r\n codenf: this.codigoEnfermedad,\r\n denenf: this.denominacionEnfermedad,\r\n riecon: this.riesgoContagio,\r\n rielet: this.riesgoLetal,\r\n obsenf: this.observacionEnfermedad\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { ITrabajoAnterior } from \"../../interfaces/RecursosHumanos\";\r\nimport { TipoEmpresa } from \"../../interfaces/Constantes\";\r\n\r\nexport class MTrabajoAnterior extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0; \r\n public idTrabajoAnterior:number=0; \r\n public empresaTrabajoAnterior:string=''; \r\n public ultimoCargoTrabajoAnterior:string='';\r\n public ultimaSueldoTrabajoAnterior:number=0; \r\n public fechaIngresoTrabajoAnterior:string=''; \r\n public fechaRetiroTrabajoAnterior:string=''; \r\n public empresaPublicaTrabajoAnterior:string='0'; \r\n public denominacionEmpresaPublica:string='';\r\n\r\n public idDedicacion:number=0; \r\n public denominacionDedicacion:string='';\r\n public anoLaborados:number=0; \r\n public mesLaborado:number=0; \r\n public diaLaborado:number=0; \r\n public codigoTrabajoAnterior:string='';\r\n public TipoEmpresa= TipoEmpresa;\r\n\r\n constructor(e:ITrabajoAnterior=null){\r\n super();\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal= +e.id_personal; \r\n this.idTrabajoAnterior= +e.id_trabajoant; \r\n this.empresaTrabajoAnterior= e.emptraant;\r\n this.ultimoCargoTrabajoAnterior= e.ultcartraant;\r\n this.ultimaSueldoTrabajoAnterior= +e.ultsuetraant; \r\n this.fechaIngresoTrabajoAnterior= e.fecingtraant;\r\n this.fechaRetiroTrabajoAnterior= e.fecrettraant; \r\n this.empresaPublicaTrabajoAnterior= e.emppubtraant.toString(); \r\n this.idDedicacion= +e.id_dedicacion; \r\n this.denominacionDedicacion= e.dended \r\n this.anoLaborados= +e.anolab; \r\n this.mesLaborado= +e.meslab; \r\n this.diaLaborado= +e.dialab; \r\n this.codigoTrabajoAnterior= e.codtraant;\r\n this.denominacionEmpresaPublica=this.TipoEmpresa.find(e=>e.value==this.empresaPublicaTrabajoAnterior).denominacion;\r\n }\r\n }\r\n\r\n public dataInterface():ITrabajoAnterior {\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal, \r\n id_trabajoant:this.idTrabajoAnterior, \r\n emptraant:this.empresaTrabajoAnterior, \r\n ultcartraant:this.ultimoCargoTrabajoAnterior,\r\n ultsuetraant:this.ultimaSueldoTrabajoAnterior, \r\n fecingtraant:this.fechaIngresoTrabajoAnterior, \r\n fecrettraant:this.fechaRetiroTrabajoAnterior, \r\n emppubtraant:parseInt(this.empresaPublicaTrabajoAnterior), \r\n id_dedicacion:this.idDedicacion,\r\n anolab:this.anoLaborados, \r\n meslab:this.mesLaborado, \r\n dialab:this.diaLaborado, \r\n codtraant:this.codigoTrabajoAnterior,\r\n dended:this.denominacionDedicacion,\r\n }\r\n }\r\n}\r\n\r\n","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IUbicacionFisica } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MUbicacionFisica extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idUbicacionFisica: number=0;\r\n public codigoUbicacionFisica: string=''; \r\n public denominacionUbicacionFisica: string='';\r\n\tpublic codigoPaisUbicacionFisica: string=''; \r\n\tpublic nombrePais: string=''; \r\n\tpublic codigoEstadoUbicacionFisica: string=''; \r\n\tpublic nombreEstado: string=''; \r\n\tpublic codigoMunicipioUbicacionFisica: string=''; \r\n\tpublic nombreMunicipio: string=''; \r\n\tpublic codigoParroquiaUbicacionFisica: string=''; \r\n\tpublic nombreParroquia: string=''; \r\n\tpublic direccionUbicacionFisica: string='';\r\n\tpublic tiempoTrasladoUbicacionFisica: string='';\r\n\t\r\n constructor (e:IUbicacionFisica=null){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idUbicacionFisica= parseInt(e.id_ubifis);\r\n this.codigoUbicacionFisica= e.codubifis; \r\n\t\t\tthis.denominacionUbicacionFisica=e.denubifis;\r\n\t\t\tthis.codigoPaisUbicacionFisica=e.codpai;\r\n\t\t\tthis.nombrePais=e.despai;\r\n\t\t\tthis.codigoEstadoUbicacionFisica=e.codest;\r\n\t\t\tthis.nombreEstado=e.desest;\r\n\t\t\tthis.codigoMunicipioUbicacionFisica=e.codmun;\r\n\t\t\tthis.nombreMunicipio=e.desmun;\r\n\t\t\tthis.codigoParroquiaUbicacionFisica=e.codpar;\r\n\t\t\tthis.nombreParroquia=e.despar;\r\n\t\t\tthis.direccionUbicacionFisica=e.dirubifis;\r\n\t\t\tthis.tiempoTrasladoUbicacionFisica=e.tietras\r\n } else{\r\n\t\t\tthis.isNew=true;\r\n\t\t}\r\n }\r\n\r\n public dataInterface():IUbicacionFisica{\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n\t\t\tid_ubifis:this.idUbicacionFisica.toString(),\r\n codubifis:this.codigoUbicacionFisica,\r\n\t\t\tdenubifis:this.denominacionUbicacionFisica,\r\n\t\t\tcodpai:this.codigoPaisUbicacionFisica,\r\n\t\t\tdespai:this.nombrePais,\r\n\t\t\tcodest:this.codigoEstadoUbicacionFisica,\r\n\t\t\tdesest:this.nombreEstado,\r\n\t\t\tcodmun:this.codigoMunicipioUbicacionFisica,\r\n\t\t\tdesmun:this.nombreMunicipio,\r\n\t\t\tcodpar:this.codigoParroquiaUbicacionFisica,\r\n\t\t\tdespar:this.nombreParroquia,\r\n\t\t\tdirubifis:this.direccionUbicacionFisica,\r\n\t\t\ttietras:this.tiempoTrasladoUbicacionFisica\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IVacacionesPersonal } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MVacacionesPersonal extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0; \r\n public idVacacionesPersonal:number=0;\r\n public codigoVacaciones:number=0;\r\n public FechaVencimientoVacaciones:string='1900-01-01'; \r\n public fechaDisfruteVacaciones:string='1900-01-01'; \r\n public fechaReintegroVacaciones:string='1900-01-01'; \r\n public estatusVacaciones:string='0'; \r\n public sueldoIntegralVacaciones:number=0; \r\n public sueldoIntegralBonoVacaciones:number=0; \r\n public diasVacaciones:number=0; \r\n public diasBonoVacaciones:number=0; \r\n public diasPendienteVacaciones:number=0; \r\n public periodoSalienteVacaciones:string=''; \r\n public periodoIngresoVacaciones:string=''; \r\n public diasNormalesVacaciones:number=0; \r\n public quinsenaSalienteVaciones:number=0; \r\n public quinsenaReintegroVaciones:number=0; \r\n public diaAdicionalesVacacaiones:number=0;\r\n public diaAdicionalesBono:number=0;\r\n public diasFeriados:number=0; \r\n public diasPagados:number=0; \r\n public sabadosDomingos:number=0; \r\n public pagoCancelado:number=0; \r\n public diaPermisoVacaciones:number=0;\r\n public estatusPagoPeriodoSalida:number=0; \r\n public calculoPagoVacaciones:number=0; \r\n public cancelarDiasAdicionales:number=0; \r\n public observacionVaciones:string=''; \r\n public codigoUsuario:string=''; \r\n public diaVacacionesCalendario:number=0;\r\n public diasHabiles:number=0;\r\n public procesarFueraPeriodo:number=0;\r\n\r\n constructor (e:IVacacionesPersonal=null){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal=parseInt(e.id_personal);\r\n this.idVacacionesPersonal=parseInt(e.id_vacper);\r\n this.codigoVacaciones=parseInt(e.codvac);\r\n this.FechaVencimientoVacaciones=(e.fecvenvac);\r\n this.fechaDisfruteVacaciones=(e.fecdisvac);\r\n this.fechaReintegroVacaciones=(e.fecreivac);\r\n this.estatusVacaciones=e.stavac.toString();\r\n this.sueldoIntegralVacaciones=+(e.sueintvac);\r\n this.sueldoIntegralBonoVacaciones=+(e.sueintbonvac);\r\n this.diasVacaciones=parseInt(e.diavac);\r\n this.diasBonoVacaciones=parseInt(e.diabonvac);\r\n this.diasPendienteVacaciones=parseInt(e.diapenvac);\r\n this.periodoSalienteVacaciones=(e.persalvac);\r\n this.periodoIngresoVacaciones=(e.peringvac);\r\n this.diasNormalesVacaciones=parseInt(e.dianorvac);\r\n this.quinsenaSalienteVaciones=parseInt(e.quisalvac);\r\n this.quinsenaReintegroVaciones=parseInt(e.quireivac);\r\n this.diaAdicionalesVacacaiones=parseInt(e.diaadicvac);\r\n this.diaAdicionalesBono=parseInt(e.diaadibon);\r\n this.diasFeriados=parseInt(e.diafer);\r\n this.diasPagados=parseInt(e.diapag);\r\n this.sabadosDomingos=parseInt(e.sabdom);\r\n this.pagoCancelado=parseInt(e.pagcan);\r\n this.diaPermisoVacaciones=parseInt(e.diapervac);\r\n this.estatusPagoPeriodoSalida=parseInt(e.pagpersal);\r\n this.calculoPagoVacaciones=parseInt(e.calpagvac);\r\n this.cancelarDiasAdicionales=parseInt(e.candiaadi);\r\n this.observacionVaciones=(e.obsvac);\r\n this.codigoUsuario=(e.codusu);\r\n this.diaVacacionesCalendario= parseInt(e.diavaccal);\r\n this.diasHabiles= parseInt(e.diahab);\r\n this.procesarFueraPeriodo= parseInt(e.profueper);\r\n } \r\n }\r\n\r\n public dataInterface():IVacacionesPersonal {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal.toString(),\r\n id_vacper:this.idVacacionesPersonal.toString(),\r\n codvac:this.codigoVacaciones.toString(),\r\n fecvenvac:this.FechaVencimientoVacaciones,\r\n fecdisvac:this.fechaDisfruteVacaciones,\r\n fecreivac:this.fechaReintegroVacaciones,\r\n stavac:this.estatusVacaciones.toString(),\r\n sueintvac:+this.sueldoIntegralVacaciones,\r\n sueintbonvac:this.sueldoIntegralBonoVacaciones, \r\n diavac:this.diasVacaciones.toString(),\r\n diabonvac:this.diasBonoVacaciones.toString(),\r\n diapenvac:this.diasPendienteVacaciones.toString(),\r\n persalvac:this.periodoSalienteVacaciones ,\r\n peringvac:this.periodoIngresoVacaciones ,\r\n dianorvac:this.diasNormalesVacaciones.toString(),\r\n quisalvac:this.quinsenaSalienteVaciones.toString(),\r\n quireivac:this.quinsenaReintegroVaciones.toString(),\r\n diaadicvac:this.diaAdicionalesVacacaiones.toString(),\r\n diaadibon:this.diaAdicionalesBono.toString(),\r\n diafer:this.diasFeriados.toString(),\r\n diapag:this.diasPagados.toString(),\r\n sabdom:this.sabadosDomingos.toString(),\r\n pagcan:this.pagoCancelado.toString(),\r\n diapervac:this.diaPermisoVacaciones.toString(),\r\n pagpersal:this.estatusPagoPeriodoSalida.toString(),\r\n calpagvac:this.calculoPagoVacaciones.toString(),\r\n candiaadi:this.cancelarDiasAdicionales.toString(),\r\n obsvac:this.observacionVaciones.toString(),\r\n codusu:this.codigoUsuario,\r\n diavaccal:this.diaVacacionesCalendario.toString(),\r\n diahab:this.diasHabiles.toString(),\r\n profueper:this.procesarFueraPeriodo.toString(),\r\n \r\n }\r\n }\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IEncargaduria } from \"../../interfaces/Nomina\";\r\n\r\nexport class MEncargaduria extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonalNomina:number=0; \r\n public idEncargaduria:number=0;\r\n public idPersonal:number=0;\r\n public idPersonalEncargaduria:number=0;\r\n public idNominaPersonalEncargaduria:number=0;\r\n public idNominaPersonal:number=0;\r\n public codigoEncargaduria:string='';\r\n public fechaInicioEncargaduria:string='1900-01-01';\r\n public fechaFinEncargaduria:string='1900-01-01'; \r\n public estatusEncargaduria:number=1;\r\n public observacionEncargaduria:string='';\r\n public estsusPersonalNomina:number=0;\r\n public codigoPersonalNomina:string='';\r\n public nombreApellidoPersonal:string='';\r\n public cargoPersonalNomina:string='';\r\n public codigoCargoPersonalNomina:string='';\r\n public unidadAdminitradoraPersonal:string='';\r\n public codigoUnidadAdminitradoraPersonal:string='';\r\n public codigoDepartamentoPersonalNomina:string='';\r\n public departamentoPersonalNomina:string='';\r\n public codigoPasoPersonal:string='';\r\n public codigoGradoPersonal:string='';\r\n public codigoTabuladorPersonal:string='';\r\n public denominacionTabuladorPersonal:string='';\r\n public codigoPersonalEncargado:string='';\r\n public nombreApellidoEncargado:string='';\r\n public cargoPersonalEncargado:string='';\r\n public codigoCargoPersonalEncargado:string='';\r\n public unidadAdminitradoraEncargado:string='';\r\n public codigoUnidadAdminitradoraEncargado:string='';\r\n public departamentoEncargado:string='';\r\n public codigoDepartamentoPersonalEncargado:string='';\r\n public codigoTabuladorEncargado:string='';\r\n public denominacionTabuladorEncargado:string='';\r\n public codigoPasoEncargaduria:string='';\r\n public codigoGradoEncargaduria:string='';\r\n public codigoNominaEncargado:string='';\r\n public denominacionNominaEncargado:string='';\r\n public denominacionEstatusEncargaduria:string='';\r\n \r\n\r\n\r\n constructor(e?:IEncargaduria){\r\n super(); \r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonalNomina=parseInt(e.id_personalnomina);\r\n this.idEncargaduria=parseInt(e.id_encargaduria);\r\n this.codigoEncargaduria=e.codenc;\r\n this.fechaInicioEncargaduria=e.fecinienc;\r\n this.fechaFinEncargaduria=e.fecfinenc;\r\n this.idPersonal=parseInt(e.id_personal);\r\n this.idPersonalEncargaduria=parseInt(e.id_personalenc);\r\n this.idNominaPersonalEncargaduria=parseInt(e.id_nominaperenc);\r\n this.estatusEncargaduria=parseInt(e.estenc);\r\n this.observacionEncargaduria=e.obsenc\r\n this.estsusPersonalNomina=parseInt(e.estsuspernom);\r\n this.codigoPersonalNomina=e.codigo_personal;\r\n this.nombreApellidoPersonal=e.nombre_personal;\r\n this.codigoCargoPersonalNomina=e.codcar_personal;\r\n this.cargoPersonalNomina=e.dencar_personal;\r\n this.codigoUnidadAdminitradoraPersonal=e.coduniadm_personal;\r\n this.unidadAdminitradoraPersonal=e.denuniadm_personal;\r\n this.codigoDepartamentoPersonalNomina=e.codorg_personal;\r\n this.departamentoPersonalNomina=e.denorg_personal;\r\n this.codigoTabuladorPersonal=e.codtab_personal;\r\n this.denominacionTabuladorPersonal=e.dentab_personal;\r\n this.codigoPasoPersonal=e.codpas_personal;\r\n this.codigoGradoPersonal=e.codgra_personal;\r\n this.codigoPersonalEncargado=e.codigo_encargado;\r\n this.nombreApellidoEncargado=e.nombre_encargado;\r\n this.codigoCargoPersonalEncargado=e.codcar_encargado;\r\n this.cargoPersonalEncargado=e.dencar_encargado;\r\n this.codigoUnidadAdminitradoraEncargado=e.coduniadm_encargado;\r\n this.unidadAdminitradoraEncargado=e.denuniadm_encargado;\r\n this.codigoDepartamentoPersonalEncargado=e.codorg_encargado;\r\n this.departamentoEncargado=e.denorg_encargado;\r\n this.codigoTabuladorEncargado=e.codtab_encargado;\r\n this.denominacionTabuladorEncargado=e.dentab_encargado;\r\n this.codigoPasoEncargaduria=e.codpas_encargado;\r\n this.codigoGradoEncargaduria=e.codgra_encargado;\r\n this.codigoNominaEncargado=e.codnom;\r\n this.denominacionNominaEncargado=e.dennom;\r\n this.denominacionEstatusEncargaduria=e.estenc=='1'?'ACTIVA':'FINALIZADA'\r\n this.idNominaPersonal=parseInt(e.id_nominaper);\r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IEncargaduria {\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personalnomina:this.idPersonalNomina.toString(),\r\n id_encargaduria:this.idEncargaduria.toString(),\r\n codenc:this.codigoEncargaduria,\r\n fecinienc:this.fechaInicioEncargaduria,\r\n fecfinenc:this.fechaFinEncargaduria,\r\n id_personal:this.idPersonal.toString(),\r\n id_personalenc:this.idPersonalEncargaduria.toString(),\r\n id_nominaperenc:this.idNominaPersonalEncargaduria.toString(),\r\n estenc:this.estatusEncargaduria.toString(),\r\n obsenc:this.observacionEncargaduria,\r\n estsuspernom: this.estsusPersonalNomina.toString(),\r\n codigo_personal:this.codigoPersonalNomina,\r\n nombre_personal:this.nombreApellidoPersonal,\r\n codcar_personal:this.codigoCargoPersonalNomina,\r\n dencar_personal:this.cargoPersonalNomina,\r\n coduniadm_personal:this.codigoUnidadAdminitradoraPersonal,\r\n denuniadm_personal:this.unidadAdminitradoraPersonal,\r\n codorg_personal:this.codigoDepartamentoPersonalNomina,\r\n denorg_personal:this.departamentoPersonalNomina,\r\n codtab_personal:this.codigoTabuladorPersonal,\r\n dentab_personal:this.denominacionTabuladorPersonal,\r\n codpas_personal:this.codigoPasoPersonal,\r\n codgra_personal:this.codigoGradoPersonal,\r\n codigo_encargado:this.codigoPersonalEncargado,\r\n nombre_encargado:this.nombreApellidoEncargado,\r\n codcar_encargado:this.codigoCargoPersonalEncargado,\r\n dencar_encargado:this.cargoPersonalEncargado,\r\n coduniadm_encargado:this.codigoUnidadAdminitradoraEncargado,\r\n denuniadm_encargado:this.unidadAdminitradoraEncargado,\r\n codorg_encargado:this.codigoDepartamentoPersonalEncargado,\r\n denorg_encargado:this.departamentoEncargado,\r\n codtab_encargado:this.codigoTabuladorEncargado,\r\n dentab_encargado:this.denominacionTabuladorEncargado,\r\n codpas_encargado:this.codigoPasoEncargaduria,\r\n codgra_encargado:this.codigoGradoPersonal,\r\n codnom:this.codigoNominaEncargado,\r\n dennom:this.denominacionNominaEncargado,\r\n id_nominaper: this.idNominaPersonal.toString(),\r\n }\r\n }\r\n}","import { ICodigoUnicoRac } from \"../../interfaces/Nomina\";\r\nimport { MBasicModel } from \"../basic-model.model\";\r\n\r\nexport class MCodigoUnicoRac extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idCargoPersonal:number=0;\r\n public idNomina:number=0;\r\n public codigoUnicoRac:string='';\r\n public estatusUnicoRac:number=0;\r\n public idCodigoUnicoRac:number=0;\r\n public denominacionEstatus:string='';\r\n\r\n constructor (e?:ICodigoUnicoRac) {\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idCargoPersonal=parseInt(e.id_carper);\r\n this.idNomina=parseInt(e.id_nomina);\r\n this.idCodigoUnicoRac=parseInt(e.id_codunirac);\r\n this.estatusUnicoRac=parseInt(e.estcodunirac);\r\n this.codigoUnicoRac=e.codunirac;\r\n this.estatusUnicoRac==1?'NO DISPONIBLE':'DISPONIBLE';\r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n \r\n public dataInterface(): ICodigoUnicoRac {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_carper:this.idCargoPersonal.toString(),\r\n id_nomina:this.idNomina.toString(),\r\n codunirac:this.codigoUnicoRac,\r\n estcodunirac:this.estatusUnicoRac.toString(),\r\n id_codunirac:this.idCodigoUnicoRac.toString(),\r\n }\r\n }\r\n}","import { IPersonalJubilado } from \"../../interfaces/RecursosHumanos\";\r\nimport { MBasicModel } from \"../basic-model.model\";\r\n\r\nexport class MPersonalJubilado extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0;\r\n public idJubilacion:number=0;\r\n public primeraRemuneracion:number=0;\r\n public subTotal:number=0;\r\n public porcentajeRemuneracion:number=0;\r\n public montoPension:number=0;\r\n public ultimaRemuneracion:number=0;\r\n public fechaFeVida:string='1900-01-01';\r\n public tipoJubilacion:number=0;\r\n public fechaResolucion:string='1900-01-01';\r\n public numeroResolucion:string='';\r\n public porcentajeDiscapacidad:number=0;\r\n public idPermisoPersonal:number=0;\r\n public codigoPermisoPersonal:string='';\r\n public denominacionPermisoPersonal:string='';\r\n\r\n constructor(e?:IPersonalJubilado){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal=parseInt(e.id_personal);\r\n this.idJubilacion=parseInt(e.id_jubilado);\r\n this.primeraRemuneracion=parseFloat(e.prirem);\r\n this.subTotal=parseFloat(e.subtot);\r\n this.porcentajeRemuneracion=parseFloat(e.porpen);\r\n this.montoPension=parseFloat(e.monpen);\r\n this.ultimaRemuneracion=parseFloat(e.ultrem);\r\n this.fechaFeVida=e.fecvida;\r\n this.tipoJubilacion=parseInt(e.tipjub);\r\n this.fechaResolucion=e.fecres;\r\n this.numeroResolucion=e.numres;\r\n this.porcentajeDiscapacidad=+e.pordis;\r\n this.idPermisoPersonal= + e.id_perper;\r\n this.denominacionPermisoPersonal=e.denperper;\r\n this.codigoPermisoPersonal=e.codperper;\r\n\r\n \r\n\r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n dataInterface():IPersonalJubilado {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal.toString(),\r\n id_jubilado:this.idJubilacion.toString(),\r\n prirem:this.primeraRemuneracion.toString(),\r\n subtot:this.subTotal.toString(),\r\n porpen:this.porcentajeRemuneracion.toString(),\r\n monpen:this.montoPension.toString(),\r\n ultrem:this.ultimaRemuneracion.toString(),\r\n fecvida:this.fechaFeVida.toString(),\r\n tipjub:this.tipoJubilacion.toString(), \r\n fecres:this.fechaResolucion,\r\n numres:this.numeroResolucion,\r\n pordis:this.porcentajeDiscapacidad.toString(), \r\n }\r\n\r\n }\r\n\r\n}","import { MBasicModel } from '../basic-model.model';\r\nimport { IPermisos } from \"../../interfaces/RecursosHumanos\";\r\nimport { TipoPermiso } from '../../interfaces/Constantes';\r\n\r\nexport class MPermisos extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0;\r\n public idPermiso:number=0; \r\n public fechaInicioPermiso:string=''; \r\n public fechaFinPermiso:string=''; \r\n public numeroDiasPermiso:number=0; \r\n public afectaVacaionesPermiso:boolean=false;\r\n public tipoPermiso:string='2'; \r\n public denominacionTipoPermiso:string='2';\r\n public observacionPermiso:string=''; \r\n public remuneradoPermiso:boolean=false;\r\n public totalHorasPermiso:number=0; \r\n public descontarVacaciones:number=0;\r\n public codigoPermiso:string='';\r\n public idTipoEnfermedad:number=0;\r\n public denominacionEnfermedad:string='';\r\n public TipoPermiso=TipoPermiso\r\n\r\n constructor (e?:IPermisos){\r\n super()\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal=+e.id_personal;\r\n this.idPermiso=+e.id_permiso; \r\n this.fechaInicioPermiso=e.feciniper; \r\n this.fechaFinPermiso=e.fecfinper; \r\n this.numeroDiasPermiso=+e.numdiapero; \r\n this.afectaVacaionesPermiso=e.afevacper==1? true:false;\r\n this.tipoPermiso=e.tipper.toString(); \r\n this.observacionPermiso=e.obsper; \r\n this.remuneradoPermiso=e.remper==1? true:false;\r\n this.totalHorasPermiso=+e.tothorper; \r\n this.descontarVacaciones=+e.desvacper;\r\n this.codigoPermiso=e.codpermiso;\r\n this.idTipoEnfermedad=parseInt(e.id_enfermedad);\r\n this.denominacionEnfermedad=e.denenf;\r\n this.denominacionTipoPermiso=this.TipoPermiso.find(e=>e.value==this.tipoPermiso).denominacion;\r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IPermisos{\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal,\r\n id_permiso:this.idPermiso,\r\n feciniper:this.fechaInicioPermiso, \r\n fecfinper:this.fechaFinPermiso, \r\n numdiapero:this.numeroDiasPermiso, \r\n afevacper:+this.afectaVacaionesPermiso, \r\n tipper:+this.tipoPermiso, \r\n obsper:this.observacionPermiso, \r\n remper:+this.remuneradoPermiso, \r\n tothorper:this.totalHorasPermiso, \r\n desvacper:this.descontarVacaciones, \r\n codpermiso:this.codigoPermiso,\r\n id_enfermedad:this.idTipoEnfermedad.toString(),\r\n denenf:this.denominacionEnfermedad\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { ICargaMasiva } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MCargaMasiva extends MBasicModel {\r\n\r\n public proceso: string = '';\r\n public id_nomina: number=0;\r\n public tipo: string=''; \r\n public nombreArchivo: string=''; \r\n public base64textString: string=''; \r\n public modulo: string=''; \r\n \r\n constructor(e:ICargaMasiva=null){\r\n super();\r\n if(e){\r\n this.proceso=e.proceso; \r\n this.id_nomina =e.id_nomina;\r\n this.tipo=e.tipo; \r\n this.nombreArchivo=e.nombreArchivo; \r\n this.base64textString=e.base64textString; \r\n this.modulo=e.modulo;\r\n }else {\r\n this.isNew\r\n }\r\n }\r\n\r\n public dataInterface():ICargaMasiva{\r\n return{\r\n proceso: this.proceso, \r\n id_nomina: this.id_nomina,\r\n tipo: this.tipo, \r\n nombreArchivo: this.nombreArchivo, \r\n base64textString: this.base64textString,\r\n modulo: this.modulo\r\n }\r\n }\r\n} ","import { MBasicModel } from '../basic-model.model';\r\nimport { IConstancias } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MPlantillasConstancia extends MBasicModel{\r\n public idConstancia:number=0;\r\n public codigoConstancia: string='';\r\n public descripcionConstancia: string='';\r\n public plantillaRTF: string='';\r\n public archivoConstancia: string='';\r\n \r\n constructor(e:IConstancias =null){\r\n super();\r\n if(e){\r\n this.idConstancia= e.id_constancia;\r\n this.codigoConstancia= e.codconstra;\r\n this.descripcionConstancia=e.desconstra;\r\n this.plantillaRTF=e.plantilla_rtf;\r\n this.archivoConstancia=e.archivo;\r\n }else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IConstancias{\r\n return{\r\n id_constancia: this.idConstancia,\r\n codconstra: this.codigoConstancia,\r\n desconstra: this.descripcionConstancia,\r\n plantilla_rtf: this.plantillaRTF,\r\n archivo: this.archivoConstancia\r\n }\r\n }\r\n}","import { MBasicModel } from \"../basic-model.model\";\r\nimport { IImpuestoSobreRenta } from \"../../interfaces/RecursosHumanos\";\r\n\r\nexport class MImpuestoSobreRenta extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal: number=0; \r\n public idImpuestoSobreRenta:number=0; \r\n public porcentajeIsr: number=0; \r\n public idConcepto: number=0; \r\n public enero: number=0; \r\n public febrero: number=0; \r\n public marzo: number=0; \r\n public abril: number=0; \r\n public mayo: number=0; \r\n public junio: number=0; \r\n public julio: number=0; \r\n public agosto: number=0; \r\n public septiembre: number=0; \r\n public octubre: number=0; \r\n public noviembre: number=0; \r\n public diciembre: number=0; \r\n public denominacionConcepto: string='';\r\n\r\n constructor (e?: IImpuestoSobreRenta){\r\n super();\r\n if (e) {\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal= +e.id_personal;\r\n this.idImpuestoSobreRenta= +e.id_isr; \r\n this.porcentajeIsr= +e.porisr; \r\n this.idConcepto= +e.id_conret; \r\n this.enero= +e.enero; \r\n this.febrero= +e.febrero;\r\n this.marzo= +e.marzo; \r\n this.abril= +e.abril; \r\n this.mayo= +e.mayo; \r\n this.junio= +e.junio; \r\n this.julio= +e.julio; \r\n this.agosto= +e.agosto; \r\n this.septiembre= +e.septiembre; \r\n this.octubre= +e.octubre; \r\n this.noviembre= +e.noviembre; \r\n this.diciembre= +e.diciembre;\r\n this.denominacionConcepto=e.desact\r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n\r\n \r\n public dataInterface():IImpuestoSobreRenta {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal: this.idPersonal, \r\n id_isr: this.idImpuestoSobreRenta, \r\n porisr: this.porcentajeIsr, \r\n id_conret: this.idConcepto, \r\n enero: this.enero, \r\n febrero: this.febrero, \r\n marzo: this.marzo, \r\n abril: this.abril, \r\n mayo: this.mayo, \r\n junio: this.junio, \r\n julio: this.julio, \r\n agosto: this.agosto, \r\n septiembre: this.septiembre, \r\n octubre: this.octubre, \r\n noviembre: this.noviembre, \r\n diciembre: this.diciembre, \r\n desact: this.denominacionConcepto\r\n }\r\n }\r\n\r\n}","import { IMetodoBanco, IMetodos } from \"../../interfaces/RecursosHumanos\";\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MMetodoBanco extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idMetodoBanco:number=0;\r\n public id:number=0;\r\n public codigoMetodo:string='';\r\n public denominacionMetodo:string='';\r\n public tipoMetodo:string=''; \r\n public codigoEmpresaNominal:string='';\r\n public tipoCuentaCreditoNominal:string='';\r\n public tipoCuentaDebitoNominal:string='';\r\n public codigoOficinaNomina:string='';\r\n public pagoTaquillaNomina:number=0;\r\n public numeroReferencia:number=0;\r\n public numeroConvenio:string='';\r\n public activo:number=0;\r\n\r\n constructor(e:IMetodoBanco=null){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idMetodoBanco=parseInt(e.id_metbco); \r\n this.codigoMetodo= e.codmet;\r\n this.denominacionMetodo=e.denmet;\r\n this.tipoMetodo= e.tipmet;\r\n this.id=parseInt(e.id_banco); \r\n this.codigoEmpresaNominal= e.codempnom;\r\n this.tipoCuentaCreditoNominal= e.tipcuecrenom;\r\n this.tipoCuentaDebitoNominal= e.tipcuedebnom;\r\n this.codigoOficinaNomina= e.codofinom;\r\n this.pagoTaquillaNomina=parseInt( e.pagtaqnom);\r\n this.numeroReferencia= parseInt(e.nroref);\r\n this.activo=parseInt(e.activo); \r\n this.numeroConvenio=e.numconnom \r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n\r\n public dataInterface(): IMetodoBanco {\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_metbco:this.idMetodoBanco.toString(),\r\n codmet:this.codigoMetodo,\r\n denmet:this.denominacionMetodo,\r\n tipmet:this.tipoMetodo,\r\n id_banco: this.id.toString(),\r\n codempnom:this.codigoEmpresaNominal,\r\n tipcuecrenom:this.tipoCuentaCreditoNominal,\r\n tipcuedebnom:this.tipoCuentaDebitoNominal,\r\n codofinom:this.codigoOficinaNomina,\r\n pagtaqnom:this.pagoTaquillaNomina.toString(),\r\n nroref:this.numeroReferencia.toString(),\r\n activo:this.activo.toString(), \r\n numconnom: this.numeroConvenio,\r\n }\r\n }\r\n}\r\n\r\nexport class MMetodos extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idMetodo:number=0;\r\n public codigoMetodo:string='';\r\n public denominacionMetodo:string='';\r\n public montoMetodo:number=0;\r\n public metodoCestaTicket:string='';\r\n public codigoProducto:string='';\r\n public montoDescuentoDia:number=0;\r\n public numeroTarjeta:string='';\r\n\r\n\r\n\r\n constructor(e:IMetodos=null){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idMetodo=parseInt(e.id_metodo); \r\n this.codigoMetodo= e.codmet;\r\n this.denominacionMetodo=e.denmet;\r\n this.montoMetodo= +e.monmet;\r\n this.metodoCestaTicket=e.metcestic; \r\n this.codigoProducto= e.codprod;\r\n this.montoDescuentoDia= +e.mondesdia;\r\n this.numeroTarjeta= e.nrotarjeta; \r\n } else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface(): IMetodos {\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_metodo:this.idMetodo.toString(),\r\n codmet:this.codigoMetodo,\r\n denmet:this.denominacionMetodo,\r\n monmet:this.montoMetodo,\r\n metcestic:this.metodoCestaTicket,\r\n codprod:this.codigoProducto,\r\n mondesdia:this.montoDescuentoDia,\r\n nrotarjeta:this.numeroTarjeta,\r\n }\r\n }\r\n}\r\n\r\n\r\n","import { IPrestamo, IPrestamoAmortizacion, IPrestamoPeriodo } from \"../../interfaces/RecursosHumanos\";\r\nimport { MBasicModel } from \"../basic-model.model\";\r\n\r\nexport class MPrestamo extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0;\r\n public idPrestamo:number=0;\r\n public numeroPrestamo:number=0;\r\n public idTipoPrestamo:number=0;\r\n public idNomina:number=0;\r\n public idConcepto:number=0;\r\n public montoPrestamo:number=0;\r\n public numeroCuotasPrestamo:number=0;\r\n public idPeriodo:number=0;\r\n public motoAmortizacionPrestamo:number=0;\r\n public estatusPrestamo:number=1;\r\n public fechaPrestamo:string='1900-01-01';\r\n public observacionRecalculoPrestamo:string='';\r\n public observacionSuspencionPrestamo:string='';\r\n public tipoCuota:string='0';\r\n public denominacionTipoPrestamo:string='';\r\n public codigoTipoPrestamo:string='';\r\n public denominacionNomina:string='';\r\n public codigoNomina:string='';\r\n public denominacionConcepto:string='';\r\n public codigoConcepto:string='';\r\n public codigoPeriodo:string='';\r\n public fechaFinPeriodo:string='1900-01-01';\r\n public montoCuotaPrestamo:number=0; \r\n public saldoPrestamo:number=0; \r\n public numeroPeriodoNomina:number=0;\r\n public periodos:MPrestamosPeriodo[]=[];\r\n public amortizacion:MPrestamoAmortizacion[]=[];\r\n\r\n constructor(e:IPrestamo=null){\r\n super();\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPrestamo= +e.id_prestamo;\r\n this.idPersonal= +e.id_personal;\r\n this.numeroPrestamo= +e.numpre;\r\n this.idTipoPrestamo= +e.id_tipoprestamo;\r\n this.idNomina= +e.id_nomina;\r\n this.idConcepto= +e.id_concepto;\r\n this.montoPrestamo= +e.monpre;\r\n this.numeroCuotasPrestamo= +e.numcuopre;\r\n this.idPeriodo= +e.id_periodo;\r\n this.motoAmortizacionPrestamo=+e.monamopre;\r\n this.estatusPrestamo= +e.estpre;\r\n this.fechaPrestamo= e.fecpre;\r\n this.observacionRecalculoPrestamo= e.obsrecpre;\r\n this.observacionSuspencionPrestamo= e.obssuspre;\r\n this.tipoCuota= e.tipcuopre; \r\n this.denominacionTipoPrestamo=e.destippre;\r\n this.codigoTipoPrestamo=e.codtippre;\r\n this.denominacionNomina=e.dennom;\r\n this.codigoNomina=e.codnom;\r\n this.denominacionConcepto=e.nomcon;\r\n this.codigoConcepto=e.codconc;\r\n this.codigoPeriodo=e.codperi;\r\n this.fechaFinPeriodo=e.fechasper; \r\n this.numeroPeriodoNomina=+e.numpernom;\r\n this.periodos=e.periodos.map(e=>new MPrestamosPeriodo(e));\r\n this.amortizacion= e.amortizacion.map(e=>new MPrestamoAmortizacion(e));\r\n this.montoCuotaPrestamo=this.calcularCuotas();\r\n this.saldoPrestamo=this.calcularSaldo();\r\n } else {\r\n this.isNew=true;\r\n } \r\n }\r\n\r\n public dataInterface():IPrestamo {\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal,\r\n id_prestamo:this.idPrestamo,\r\n numpre:this.numeroPrestamo,\r\n id_tipoprestamo:this.idTipoPrestamo,\r\n id_nomina:this.idNomina,\r\n id_concepto:this.idConcepto,\r\n monpre:this.montoPrestamo,\r\n numcuopre:this.numeroCuotasPrestamo,\r\n id_periodo:this.idPeriodo,\r\n monamopre:this.motoAmortizacionPrestamo,\r\n estpre:this.estatusPrestamo,\r\n fecpre:this.fechaPrestamo,\r\n obsrecpre:this.observacionRecalculoPrestamo,\r\n obssuspre:this.observacionSuspencionPrestamo,\r\n tipcuopre:this.tipoCuota,\r\n dennom:this.denominacionNomina,\r\n codnom:this.codigoNomina,\r\n destippre:this.denominacionTipoPrestamo,\r\n codtippre:this.codigoTipoPrestamo,\r\n nomcon:this.denominacionConcepto,\r\n codconc:this.codigoConcepto,\r\n codperi:this.codigoPeriodo,\r\n fechasper:this.fechaFinPeriodo, \r\n numpernom:this.numeroPeriodoNomina,\r\n periodos:this.periodos.map((function (e) { return e.dataInterface(); })),\r\n amortizacion: this.amortizacion.map((function(e){return e.dataInterface();}),)\r\n \r\n }\r\n }\r\n\r\n \r\n public calcularCuotas():number{ \r\n let i=this.periodos.length-1;\r\n if (i>0){\r\n return this.periodos[i].montoCuota;\r\n } return 0;\r\n \r\n }\r\n\r\n public calcularSaldo():number{\r\n let montoPago=0;\r\n this.periodos.forEach(element => {\r\n if (element.estatusCuota==1){\r\n montoPago=montoPago+element.montoCuota;\r\n }\r\n });\r\n return this.montoPrestamo-this.motoAmortizacionPrestamo-montoPago;\r\n }\r\n\r\n public cuotasCanceladas():number{\r\n let cuotas=0;\r\n this.periodos.forEach(element => {\r\n if (element.estatusCuota==1){\r\n cuotas=cuotas+1;\r\n }\r\n });\r\n return cuotas\r\n }\r\n}\r\n\r\n\r\nexport class MPrestamosPeriodo extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0;\r\n public idPrestamo:number=0;\r\n public numeroCuota:number=0;\r\n public idPeriodo:number=0;\r\n public fechaInicioPeriodo:string='';\r\n public fechaFinPeriodo:string='';\r\n public montoCuota:number=0;\r\n public estatusCuota:number=0;\r\n public codigoPeriodo:string;\r\n public denominacionEstatus:string\r\n\r\n constructor(e?:IPrestamoPeriodo){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal=+e.id_personal;\r\n this.idPrestamo=+e.id_prestamo\r\n this.numeroCuota=+e.numcuo\r\n this.idPeriodo=+e.id_periodocob\r\n this.fechaInicioPeriodo=e.feciniper;\r\n this.fechaFinPeriodo=e.fecfinper;\r\n this.montoCuota=+e.moncuo;\r\n this.estatusCuota=+e.estcuo; \r\n this.codigoPeriodo=e.codperipre;\r\n this.denominacionEstatus=this.denominacion(); \r\n }else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IPrestamoPeriodo {\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal,\r\n id_prestamo:this.idPrestamo,\r\n numcuo:this.numeroCuota,\r\n id_periodocob:this.idPeriodo,\r\n feciniper:this.fechaInicioPeriodo,\r\n fecfinper:this.fechaFinPeriodo,\r\n moncuo:this.montoCuota,\r\n estcuo:this.estatusCuota,\r\n codperipre:this.codigoPeriodo\r\n }\r\n }\r\n\r\n public denominacion():string{\r\n if(this.estatusCuota==1){\r\n return 'Cancelado'\r\n } else return 'No Cancelado'\r\n }\r\n\r\n \r\n\r\n \r\n}\r\n\r\nexport class MPrestamoAmortizacion extends MBasicModel{\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0;\r\n public idPrestamo:number=0;\r\n public numeroAmortizacion:number=0;\r\n public idPeriodoAmortizacion:number=0; \r\n public fecchaAmortizacion:string='1900-01-01'; \r\n public montoAmortizacion:number=0; \r\n public descripcionAmortizacion:string='';\r\n\r\n\r\n constructor(e?:IPrestamoAmortizacion){\r\n super();\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal=+e.id_personal;\r\n this.idPrestamo=+e.id_prestamo;\r\n this.numeroAmortizacion=+e.numamo;\r\n this.idPeriodoAmortizacion=+e.id_periodoamo;\r\n this.fecchaAmortizacion=e.fecamo;\r\n this.montoAmortizacion=+e.monamo;\r\n this.descripcionAmortizacion=e.desamo;\r\n \r\n }\r\n }\r\n\r\n public dataInterface(): IPrestamoAmortizacion {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal,\r\n id_prestamo:this.idPrestamo,\r\n numamo:this.numeroAmortizacion,\r\n id_periodoamo:this.idPeriodoAmortizacion, \r\n fecamo:this.fecchaAmortizacion, \r\n monamo:this.montoAmortizacion, \r\n desamo:this.descripcionAmortizacion,\r\n \r\n }\r\n }\r\n}","import { IArchivoTXT, IRConsolidadoConceptos, IRConstanciaTrabajo, IRListadoPersonal, IRListadoTipoPersonal, IRPeriodo, IRRetenciones, IRSindicatos } from \"../../interfaces/RecursosHumanos\"\r\nimport { MBasicModel } from \"../basic-model.model\"\r\n\r\nexport class MRConsolidadoConceptos extends MBasicModel{\r\n \r\n public idNominaDes: number = 0\r\n public idNominaHas: number = 0\r\n public codigoNominaDes: string=\"\" \r\n public codigoNominaHas: string=\"\" \r\n public idPersonalDes: number = 0\r\n public idPersonalHas: number = 0\r\n public codigoPersonalDes: string=\"\"\r\n public codigoPersonalHas: string=\"\"\r\n public ordenDesde: number = 0\r\n public ordenHasta: number = 0\r\n public idConceptoDes: number = 0\r\n public idConceptoHas: number = 0\r\n public codigoConceptoDes: string = \"\"\r\n public codigoConceptoHas: string = \"\"\r\n public tipoConcepto: string=\"\"\r\n public idPeriodoDes: number=0\r\n public idPeriodoHas: number=0\r\n public codidoPeriodoDes: string=\"\"\r\n public codidoPeriodoHas: string=\"\"\r\n public annocurso: number=0\r\n public orden: string=\"1\"\r\n public reporte: string=\"\"\r\n \r\n\r\n constructor(e:IRConsolidadoConceptos=null){\r\n super();\r\n if (e){ \r\n this.idNominaDes= e.id_nominaDes \r\n this.idNominaHas= e.id_nominaHas \r\n this.codigoNominaDes= e.codnomDes\r\n this.codigoNominaHas= e.codnomHas\r\n this.idPersonalDes= e.id_personalDes \r\n this.idPersonalHas= e.id_personalHas \r\n this.codigoPersonalDes= e.codperDes\r\n this.codigoPersonalHas= e.codperHas\r\n this.ordenDesde= e.ordenDesde\r\n this.ordenHasta= e.ordenHasta\r\n this.idConceptoDes= e.id_conceptoDes \r\n this.idConceptoHas= e.id_conceptoHas \r\n this.codigoConceptoDes= e.codconcDes\r\n this.codigoConceptoHas= e.codconcHas\r\n this.tipoConcepto= e.tipconc\r\n this.idPeriodoDes= e.id_periodoDes\r\n this.idPeriodoHas= e.id_periodoHas\r\n this.codidoPeriodoDes= e.codperiDes\r\n this.codidoPeriodoHas= e.codperiHas\r\n this.annocurso=e.anocur\r\n this.orden= e.orden\r\n this.reporte = e.reporte\r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IRConsolidadoConceptos{\r\n return {\r\n id_nominaDes: this.idNominaDes, \r\n id_nominaHas: this.idNominaHas,\r\n codnomDes: this.codigoNominaDes,\r\n codnomHas: this.codigoNominaHas, \r\n id_personalDes: this.idPersonalDes, \r\n id_personalHas: this.idPersonalHas, \r\n codperDes: this.codigoPersonalDes,\r\n codperHas: this.codigoPersonalHas,\r\n ordenDesde: this.ordenDesde,\r\n ordenHasta: this.ordenHasta,\r\n id_conceptoDes: this.idConceptoDes, \r\n id_conceptoHas: this.idConceptoHas, \r\n codconcDes: this.codigoConceptoDes,\r\n codconcHas: this.codigoConceptoHas,\r\n tipconc: this.tipoConcepto,\r\n id_periodoDes: this.idPeriodoDes,\r\n id_periodoHas: this.idPeriodoHas,\r\n codperiDes: this.codidoPeriodoDes,\r\n codperiHas: this.codidoPeriodoHas,\r\n anocur: this.annocurso,\r\n orden: this.orden, \r\n reporte:this.reporte\r\n }\r\n }\r\n}\r\n\r\nexport class MRConstanciaTrabajo extends MBasicModel{\r\n\r\n public id_constancia: number=0;\r\n public codigoconstancia: string='';\r\n public plantilla_rtf: string='';\r\n public archivo: string='';\r\n public id_nomina: number=0;\r\n public codigonomina: string='';\r\n public id_personalDes: number=0;\r\n public id_personalHas: number=0;\r\n public codigopersonalDes: string='';\r\n public codigopersonalHas: string='';\r\n public orden='1'\r\n\r\n constructor(e:IRConstanciaTrabajo=null){\r\n super();\r\n if(e){\r\n this.id_constancia= e.id_constancia;\r\n this.codigoconstancia= e.codconstra;\r\n this.plantilla_rtf= e.plantilla_rtf;\r\n this.archivo= e.archivo;\r\n this.id_nomina= e.id_nomina;\r\n this.codigonomina= e.codnom;\r\n this.id_personalDes= e.id_personalDes;\r\n this.id_personalHas= e.id_personalHas;\r\n this.codigopersonalDes= e.codperDes;\r\n this.codigopersonalHas= e.codperHas;\r\n this.orden=e.orden\r\n }else{\r\n this.isNew=true\r\n }\r\n }\r\n\r\n public dataInterface():IRConstanciaTrabajo{\r\n return{\r\n id_constancia: this.id_constancia,\r\n codconstra: this.codigoconstancia,\r\n plantilla_rtf: this.plantilla_rtf,\r\n archivo: this.archivo,\r\n id_nomina: this.id_nomina,\r\n codnom: this.codigonomina,\r\n id_personalDes: this.id_personalDes,\r\n id_personalHas: this.id_personalHas,\r\n codperDes: this.codigopersonalDes,\r\n codperHas: this.codigopersonalHas,\r\n orden: this.orden,\r\n }\r\n }\r\n} \r\n\r\nexport class MRArchivoTXT extends MBasicModel {\r\n nombrearchivo: string ='';\r\n \r\n constructor(e:IArchivoTXT=null){\r\n super();\r\n if (e){ \r\n this.nombrearchivo=e.nombrearchivo;\r\n }else{\r\n this.isNew=true;\r\n }\r\n } \r\n \r\n public dataInterface():IArchivoTXT{\r\n return { \r\n nombrearchivo: this.nombrearchivo\r\n } \r\n } \r\n}\r\n\r\nexport class MRListadoPersonal extends MBasicModel{\r\n public idNominaDes: number = 0\r\n public idNominaHas: number = 0\r\n public codigoNominaDes: string=\"\" \r\n public codigoNominaHas: string=\"\" \r\n public denominacionNominaDes: string=\"\" \r\n public denominacionNominaHas: string=\"\" \r\n public id_personalDes: number = 0\r\n public id_personalHas: number = 0\r\n public codigoPersonalDes: string=\"\"\r\n public codigoPersonalHas: string=\"\"\r\n public nombrePersonalDes: string=\"\"\r\n public nombrePersonalHas: string=\"\"\r\n public estatusPersonal: number=1\r\n public causaEgresoPer: string=\"\"\r\n public sexo: string=\"\"\r\n public codigoPais: string=\"000058\"\r\n public codigoEstado: string=\"\"\r\n public codigoMunicipio: string=\"\"\r\n public codigoParroquia: string=\"\"\r\n public nombrePais: string=\"Venezuela\"; \r\n public nombreEstado: string=\"\"; \r\n\tpublic nombreMunicipio: string=\"\"; \r\n\tpublic nombreParroquia: string=\"\"; \r\n public statusPersonalNomina: string=\"\" \r\n public fechaDesde: string=\"\"\r\n public fechaHasta: string=\"\"\r\n public orden: string=\"1\"\r\n public reporte: string=\"\"\r\n \r\n constructor(e:IRListadoPersonal=null){\r\n super();\r\n if (e){ \r\n this.idNominaDes= e.id_nominaDes;\r\n this.idNominaHas= e.id_nominaHas;\r\n this.codigoNominaDes= e.codnomDes;\r\n this.codigoNominaHas= e.codnomHas;\r\n this.denominacionNominaDes= e.dennomDes;\r\n this.denominacionNominaHas= e.dennomHas;\r\n this.id_personalDes= e.id_personalDes;\r\n this.id_personalHas= e.id_personalHas;\r\n this.codigoPersonalDes= e.codperDes;\r\n this.codigoPersonalHas= e.codperHas;\r\n this.nombrePersonalDes= e.nomperDes\r\n this.nombrePersonalHas= e.nomperHas;\r\n this.estatusPersonal= e.estper;\r\n this.causaEgresoPer= e.cauegrper;\r\n this.sexo= e.sexper;\r\n this.codigoPais= e.codpai;\r\n this.codigoEstado= e.codest;\r\n this.codigoMunicipio= e.codmun;\r\n this.codigoParroquia= e.codpar;\r\n this.nombrePais= e.despai; \r\n this.nombreEstado= e.desest; \r\n this.nombreMunicipio= e.desmun; \r\n this.nombreParroquia= e.despar; \r\n this.statusPersonalNomina= e.staper; \r\n this.fechaDesde=e.fechaDes;\r\n this.fechaHasta=e.fechaHas;\r\n this.orden = e.orden \r\n this.reporte = e.reporte\r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IRListadoPersonal{\r\n return {\r\n id_nominaDes: this.idNominaDes,\r\n id_nominaHas: this.idNominaHas ,\r\n codnomDes: this.codigoNominaDes,\r\n codnomHas: this.codigoNominaHas,\r\n dennomDes: this.denominacionNominaDes,\r\n dennomHas: this.denominacionNominaHas,\r\n id_personalDes: this.id_personalDes,\r\n id_personalHas: this.id_personalHas,\r\n codperDes: this.codigoPersonalDes,\r\n codperHas: this.codigoPersonalHas,\r\n nomperDes: this.nombrePersonalDes,\r\n nomperHas: this.nombrePersonalHas,\r\n estper: this.estatusPersonal,\r\n cauegrper: this.causaEgresoPer,\r\n sexper: this.sexo,\r\n codpai: this.codigoPais,\r\n codest: this.codigoEstado,\r\n codmun: this.codigoMunicipio,\r\n codpar: this.codigoParroquia,\r\n despai: this.nombrePais, \r\n desest: this.nombreEstado, \r\n desmun: this.nombreMunicipio, \r\n despar: this.nombreParroquia, \r\n staper: this.statusPersonalNomina, \r\n fechaDes: this.fechaDesde,\r\n fechaHas: this.fechaHasta,\r\n orden: this.orden,\r\n reporte: this.reporte\r\n }\r\n }\r\n}\r\n\r\nexport class MRListadoSindicato extends MBasicModel {\r\n \r\n public idSindicatoDes: number=0;\r\n public idSindicatoHas: number=0;\r\n public codigoSindicatoDes:string='';\r\n public codigoSindicatoHas:string='';\r\n public reporte: string='';\r\n\r\n constructor (e:IRSindicatos=null) { \r\n super()\r\n if (e){\r\n this.idSindicatoDes=e.id_sindicatoDes;\r\n this.idSindicatoHas=e.id_sindicatoHas; \r\n this.codigoSindicatoDes=e.codSindicatoDes;\r\n this.codigoSindicatoHas=e.codSindicatoHas;\r\n this.reporte=e.reporte;\r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IRSindicatos{\r\n return {\r\n id_sindicatoDes: this.idSindicatoDes, \r\n id_sindicatoHas: this.idSindicatoHas, \r\n codSindicatoDes: this.codigoSindicatoDes,\r\n codSindicatoHas: this.codigoSindicatoHas,\r\n reporte: this.reporte, \r\n }\r\n }\r\n}\r\n\r\nexport class MRListadoTipoPersonal extends MBasicModel {\r\n \r\n public idUbicacionFisica: number=0\r\n public codigoUbicacionFisica: string=\"\"\r\n public denominacionUbicacionFisica: string=\"\"\r\n public codigoPais: string='000058' \r\n\tpublic nombrePais: string='Venezuela' \r\n\tpublic codigoEstado: string='---' \r\n\tpublic nombreEstado: string='' \r\n\tpublic codigoMunicipio: string='---' \r\n\tpublic nombreMunicipio: string=''\r\n\tpublic codigoParroquia: string='---' \r\n\tpublic nombreParroquia: string=''\r\n public reporte:string=''\r\n public estatusPersonal:string=''\r\n public idOrganigrama:number=0\r\n public codigoEstOrganizativa:string=''\r\n public denominacionEstOrganizativa:string=''\r\n public orden:string='1'\r\n \r\n constructor(e:IRListadoTipoPersonal=null){\r\n super()\r\n if (e){ \r\n this.idUbicacionFisica = e.id_ubifis\r\n this.codigoUbicacionFisica = e.codubifis\r\n this.denominacionUbicacionFisica = e.denubifis\r\n this.codigoPais='000058'\r\n this.nombrePais='Venezuela'\r\n this.codigoEstado= e.codest\r\n this.nombreEstado = e.desest\r\n this.codigoMunicipio = e.codmun\r\n this.nombreMunicipio = e.desmun \r\n this.codigoParroquia = e.codpar \r\n this.nombreParroquia = e.despar\r\n this.estatusPersonal=e.estper\r\n this.idOrganigrama=e.id_organigrama\r\n this.codigoEstOrganizativa=e.codestorg\r\n this.denominacionEstOrganizativa=e.denestorg\r\n this.reporte = e.reporte\r\n this.orden=e.orden\r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IRListadoTipoPersonal{\r\n return {\r\n id_ubifis:this.idUbicacionFisica,\r\n codubifis:this.codigoUbicacionFisica,\r\n denubifis:this.denominacionUbicacionFisica,\r\n codpai:this.codigoPais,\r\n despai:this.nombrePais, \r\n codest:this.codigoEstado,\r\n desest:this.nombreEstado,\r\n codmun:this.codigoMunicipio, \r\n desmun:this.nombreMunicipio, \r\n codpar:this.codigoParroquia, \r\n despar:this.nombreParroquia,\r\n estper:this.estatusPersonal,\r\n id_organigrama:this.idOrganigrama,\r\n codestorg:this.codigoEstOrganizativa,\r\n denestorg:this.denominacionEstOrganizativa,\r\n reporte:this.reporte,\r\n orden:this.orden\r\n }\r\n }\r\n}\r\n\r\nexport class MRPeriodo extends MBasicModel {\r\n public idPeriodo:number=0;\r\n public codigoPeriodo:string='';\r\n public fechaDesdePeriodo:string='1900-01-01';\r\n public fechaHastaperiodo:string='1900-01-01';\r\n \r\n constructor(e:IRPeriodo=null){\r\n super()\r\n if(e){\r\n this.idPeriodo=parseInt(e.id_periodo);\r\n this.codigoPeriodo=e.codperi;\r\n this.fechaDesdePeriodo=e.fecdesper;\r\n this.fechaHastaperiodo=e.fechasper;\r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IRPeriodo{\r\n return{\r\n id_periodo:this.idPeriodo.toString(),\r\n codperi:this.codigoPeriodo,\r\n fecdesper:this.fechaDesdePeriodo,\r\n fechasper:this.fechaHastaperiodo\r\n }\r\n }\r\n} \r\n\r\nexport class MRRetenciones extends MBasicModel {\r\n\r\n \r\n public id_nomina: number=0;\r\n public codigonomina: string='';\r\n public id_personalDes: number=0;\r\n public id_personalHas: number=0;\r\n public codigopersonalDes: string=\"\";\r\n public codigopersonalHas: string=\"\";\r\n public annocurso: string=\"\";\r\n public reporte: string=\"\";\r\n\r\n constructor(e:IRRetenciones=null){\r\n super()\r\n if(e){\r\n this.id_nomina= e.id_nomina;\r\n this.codigonomina= e.codnom;\r\n this.id_personalDes= e.id_personalDes;\r\n this.id_personalHas= e.id_personalHas;\r\n this.codigopersonalDes= e.codperDes;\r\n this.codigopersonalHas= e.codperHas;\r\n this.annocurso=e.annocurso;\r\n this.reporte=e.reporte\r\n }else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface():IRRetenciones{\r\n return{\r\n id_nomina: this.id_nomina,\r\n codnom: this.codigonomina,\r\n id_personalDes: this.id_personalDes,\r\n id_personalHas: this.id_personalHas,\r\n codperDes: this.codigopersonalDes,\r\n codperHas: this.codigopersonalHas,\r\n annocurso:this.annocurso,\r\n reporte:this.reporte\r\n }\r\n }\r\n} ","import { ISelect, ISelect4 } from \"./Constantes\"\r\n\r\nexport interface ISnoLog{\r\n id_enterprise: string, \r\n id_empresa:number, \r\n id_personal:string,\r\n id_auditoria_personal:string,\r\n id_registro:string,\r\n id_nomina:string,\r\n fecha:string,\r\n hora:string,\r\n campo:string,\r\n valor_anterior:string,\r\n valor_nuevo:string,\r\n codusu:string,\r\n observacion:string,\r\n evento:string,\r\n\r\n}\r\n\r\nexport const Campos:ISelect[]=[\r\n {value: \"nomper\" ,denominacion: \"nombrePersonal\"},\r\n {value: \"apeper\" ,denominacion: \"apellidoPersonal\"},\r\n {value: \"fecnacper\" ,denominacion: \"fechaNacimientoPersonal\"},\r\n {value: \"nacper\" ,denominacion: \"nacionalidadPersonal\"}, \r\n {value: \"fecingper\" ,denominacion: \"fechaIngerosPersonal\"},\r\n {value: \"estper\" ,denominacion: \"estatusPersonal\"},\r\n {value: \"id_carper\" ,denominacion: \"idCargo\"},\r\n {value: \"id_tabulador\" ,denominacion: \"idTabulador\"},\r\n {value: \"codgra\" ,denominacion: \"codigoGrado\"},\r\n {value: \"codpas\" ,denominacion: \"codigoPaso\"},\r\n {value: \"id_ubifis\" ,denominacion: \"idUbicacionFisica\"},\r\n {value: \"id_trabajoant\" ,denominacion: \"idTrabajoAnterior\"},\r\n {value: \"emptraant\" ,denominacion: \"empresaTrabajoAnterior\"},\r\n {value: \"ultcartraant\" ,denominacion: \"ultimoCargoTrabajoAnterior\"},\r\n {value: \"ultsuetraant\" ,denominacion: \"ultimaSueldoTrabajoAnterior\"},\r\n {value: \"fecingtraant\" ,denominacion: \"fechaIngresoTrabajoAnterior\"},\r\n {value: \"fecrettraant\" ,denominacion: \"fechaRetiroTrabajoAnterior\"},\r\n {value: \"emppubtraant\" ,denominacion: \"empresaPublicaTrabajoAnterior\"},\r\n {value: \"id_dedicacion\" ,denominacion: \"idDedicacion\"},\r\n {value: \"anolab\" ,denominacion: \"anoLaborados\"},\r\n {value: \"meslab\" ,denominacion: \"mesLaborado\"},\r\n {value: \"dialab\" ,denominacion: \"diaLaborado\"},\r\n {value: \"denctabanper\" ,denominacion: \"denominacionCuentaBancoPersonal\"},\r\n {value: \"id_banco\" ,denominacion: \"idBanco\"},\r\n {value: \"id_tipocta\" ,denominacion: \"idTipoCuentaBanco\"},\r\n {value: \"ctabanper\" ,denominacion: \"cuentaBancoPersonal\"},\r\n {value: \"estctabco\" ,denominacion: \"estatusCuentaBanco\"},\r\n {value: \"tipctapri\" ,denominacion: \"tipoCuentaPrincipal\"},\r\n {value: \"sueper\" ,denominacion: \"sueldoPersonal\"},\r\n {value: \"staper\" ,denominacion: \"statusPersonal\"}, \r\n {value: \"id_ctabanper\" ,denominacion: \"idCuentaBancoPersonal\"}, \r\n {value: \"id_personalcargo\" ,denominacion: \"idPersonalCargo\"}, \r\n {value: \"id_dt_carperest\" ,denominacion: \"idDtCargoEstructura\"}, \r\n {value: \"id_carper\" ,denominacion: \"idPersonalCargo\"}, \r\n {value: \"id_nomina\" ,denominacion: \"idNomina\"}, \r\n {value: \"id_personalnomina\" ,denominacion: \"idPersonalNomina\"},\r\n {value: \"cedper\" ,denominacion: \"cedulaPersonal\"},\r\n {value: \"horper\" ,denominacion: \"horaPerersonal\"},\r\n {value: \"horper1\" ,denominacion: \"horaAdicional1\"},\r\n {value: \"horper2\" ,denominacion: \"horaAdicional2\"},\r\n {value: \"id_organigrama\" ,denominacion: \"idOrganigrama\"},\r\n {value: \"id_clasificacion_docente\" ,denominacion: \"idClasificadorDocente\"},\r\n\r\n]\r\n\r\n\r\nexport const Eventos:ISelect4[]=[\r\n {value:\"UPDATE\"}, \r\n {value:\"DELETE\"}\r\n]\r\n ","import { MBasicModel } from '../basic-model.model';\r\nimport { Campos, ISnoLog } from '../../interfaces/Auditoria';\r\nimport { formatDate } from '@angular/common';\r\n\r\nexport class MSnoLog extends MBasicModel {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPersonal:number=0;\r\n public idAuditoriaPersonal:number=0;\r\n public idRegistro:number=0;\r\n public idNomina:number=0;\r\n public fecha:string=\"1900-01-01\";\r\n public hora:string=\"\";\r\n public campo:string=\"\";\r\n public valorAnterior:string=\"\";\r\n public valorNuevo:string=\"\";\r\n public codigoUsuario:string=\"\"; \r\n public observacion:string='';\r\n public evento:string='';\r\n public campoPermitido=Campos;\r\n\r\n public constructor(e?:ISnoLog){\r\n super();\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPersonal=+e.id_personal;\r\n this.idAuditoriaPersonal=+e.id_auditoria_personal;\r\n this.idRegistro=+e.id_registro;\r\n this.idNomina=+e.id_nomina;\r\n this.fecha=e.fecha;\r\n this.hora=e.hora;\r\n this.campo=e.campo;\r\n this.valorAnterior=e.valor_anterior;\r\n this.valorNuevo=e.valor_nuevo;\r\n this.codigoUsuario=e.codusu;\r\n this.observacion=e.observacion;\r\n this.evento=e.evento;\r\n }else{\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInteface():ISnoLog { \r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_personal:this.idPersonal.toString(),\r\n id_auditoria_personal:this.idAuditoriaPersonal.toString(),\r\n id_registro:this.idRegistro.toString(),\r\n id_nomina:this.idNomina.toString(),\r\n fecha:formatDate(new Date(), 'yyyy-MM-dd', 'en-US'),\r\n hora:formatDate(new Date(), 'yyyy-MM-dd', 'en-US'),\r\n campo:this.campoPermitido.find(e=> e.denominacion==this.campo).value,\r\n valor_anterior:this.valorAnterior,\r\n valor_nuevo:this.evento =='DELETE'? '-':this.valorNuevo,\r\n codusu:this.codigoUsuario,\r\n evento:this.evento.toUpperCase(),\r\n observacion:this.observacion \r\n }\r\n }\r\n\r\n \r\n\r\n \r\n\r\n}","import { formatDate } from '@angular/common';\r\nimport { IPeriodosPlan, IPlanHorario } from '../../interfaces/RecursosHumanos';\r\nimport { DiasSemana } from '../../interfaces/Constantes';\r\n\r\nexport class MPlanHorario {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPlanHorario:number=0;\r\n public idNomina:number=0;\r\n public anoPlanHorario:string=''; \r\n public codigoPlanHorario:string='';\r\n public denominacionPlanHorario:string='';\r\n public tipoPeriodoNomina:string='';\r\n public tipoNomina:number=0;\r\n public fechaInicioPlan:string='1900-01-01';\r\n public codigoNomina:string='';\r\n public denominacionNomina:string='';\r\n public periodos:MPeriodosPlan[]=[];\r\n \r\n \r\n constructor(e:IPlanHorario =null){\r\n if(e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPlanHorario=+e.id_planhor;\r\n this.idNomina=e.id_nomina;\r\n this.anoPlanHorario=e.anoplanhor;\r\n this.codigoPlanHorario=e.codplanhor;\r\n this.denominacionPlanHorario=e.denplanhor;\r\n this.tipoPeriodoNomina=e.tippernom;\r\n this.fechaInicioPlan=e.feciniplan; \r\n this.tipoNomina=e.tipnom; \r\n this.codigoNomina=e.codnom; \r\n this.denominacionNomina=e.dennom;\r\n if (e.periodos){\r\n this.periodos=e.periodos.map(e=>new MPeriodosPlan(e));\r\n }\r\n }\r\n\r\n }\r\n\r\n public dataInterface():IPlanHorario{\r\n return{\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_planhor:this.idPlanHorario,\r\n id_nomina:this.idNomina,\r\n anoplanhor:this.anoPlanHorario,\r\n codplanhor:this.codigoPlanHorario,\r\n denplanhor:this.denominacionPlanHorario,\r\n tippernom:this.tipoPeriodoNomina,\r\n feciniplan:this.fechaInicioPlan,\r\n tipnom:this.tipoNomina,\r\n periodos:this.periodos.map(function(e){return e.dataInterface();}),\r\n }\r\n }\r\n}\r\n\r\n\r\nexport class MPeriodosPlan {\r\n public idEnterprise:number=0;\r\n public idEmpresa:number=0; \r\n public idPlanHorario:number=0;\r\n public denominacionPeriodoPlan:string='';\r\n public fechaPeriodoPlan:string='1900-01-01';\r\n public idPeriodo:number=0;\r\n public idPeriodoPlan:number=0;\r\n public codigoPeriodoNomina:string='';\r\n public tipoFeriado:boolean=false;\r\n public simboloFeriado:string='';\r\n public idHora:number=0;\r\n public incidencias:string[]=[];\r\n public codigoHorario:string='';\r\n public denominacionHorario:string='';\r\n public horaInicio:string='';\r\n public horaFinal:string='';\r\n public denomiacionFecha:string='';\r\n public dia:string='';\r\n public descripcionHorario:string=''\r\n \r\n \r\n constructor(e?:IPeriodosPlan){\r\n if (e){\r\n this.idEnterprise=+e.id_enterprise; \r\n this.idEmpresa=+e.id_empresa \r\n this.idPlanHorario=e.id_planhor;\r\n this.denominacionPeriodoPlan=e.denperplan;\r\n this.fechaPeriodoPlan=e.fecperplan;\r\n this.idPeriodo=e.id_periodo;\r\n this.idPeriodoPlan=e.id_perplan;\r\n this.codigoPeriodoNomina=e.codperi; \r\n this.tipoFeriado=e.tipfer=='1'? true:false;\r\n let day = new Date(this.fechaPeriodoPlan);\r\n let dia=new Date(this.fechaPeriodoPlan).getDay()+1; \r\n let descripcionDia=DiasSemana.find(e=>e.value==dia).descripcion;\r\n this.denomiacionFecha=descripcionDia+', '+formatDate(this.fechaPeriodoPlan,'dd-MM-yyyy', 'es-ES'); \r\n if (this.tipoFeriado && dia !=7){\r\n this.simboloFeriado='check_small';\r\n } \r\n this.idHora=e.id_hora;\r\n this.codigoHorario=e.codhor;\r\n this.denominacionHorario=e.denhor;\r\n if (e.incidencias !=''){\r\n this.incidencias=e.incidencias.split(',');\r\n };\r\n this.horaInicio=e.horini;\r\n this.horaFinal=e.horfin;\r\n this.descripcionHorario=this.codigoHorario+' - '+this.denominacionHorario+' - '+this.horaInicio+'-'+this.horaFinal;\r\n }\r\n }\r\n public dataInterface():IPeriodosPlan {\r\n return {\r\n id_enterprise:this.idEnterprise.toString(),\r\n id_empresa :this.idEmpresa,\r\n id_planhor:this.idPlanHorario,\r\n denperplan:this.denominacionPeriodoPlan,\r\n fecperplan:this.fechaPeriodoPlan,\r\n id_periodo:this.idPeriodo,\r\n id_perplan:this.idPeriodoPlan,\r\n tipfer:this.tipoFeriado? '1':'0',\r\n id_hora:this.idHora,\r\n incidencias:this.incidencias.length>0? this.incidencias.join(','):\"\", \r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import {MatPaginatorIntl} from '@angular/material/paginator';\r\n\r\nexport class customPaginator extends MatPaginatorIntl { \r\n itemsPerPageLabel = 'Items por Página'; \r\n nextPageLabel = 'Siguiente'; \r\n previousPageLabel = 'Previa'; \r\n firstPageLabel = \"Primera Página\";\r\n lastPageLabel = \"Última Página\"\r\n\r\n getRangeLabel = function (page, pageSize, length) { \r\n if (length === 0 || pageSize === 0) { \r\n return '0 de ' + length; \r\n } \r\n length = Math.max(length, 0); \r\n const startIndex = page * pageSize; \r\n //Si el índice de inicio excede la longitud de la lista, no intente \r\n //arreglar el índice final hasta el final\r\n const endIndex = startIndex < length ?\r\n Math.min(startIndex + pageSize, length) : startIndex + pageSize; \r\n return startIndex + 1 + ' - ' + endIndex + ' de ' + length; \r\n }; \r\n} ","/*\r\n * Public API Surface of sigesp\r\n */\r\n\r\n\r\nexport * from './lib/sigesp.service';\r\nexport * from './lib/validation.service'\r\nexport { AppModule } from './lib/app/app.module';\r\n\r\n// Modelos \r\nexport { MBasicModel } from './lib/core/models/basic-model.model';\r\n\r\nexport { SharedModule } from './lib/shared/shared.module';\r\nexport { CatalogoComponent} from './lib/shared/components/catalogo/catalogo.component';\r\nexport { CatalogoDobleInputComponent} from './lib/shared/components/catalogo-doble-input/catalogo-doble-input.component';\r\nexport { CatalogoEstructurasComponent } from './lib/shared/components/catalogo-estructuras/catalogo-estructuras.component';\r\nexport { ConfirmComponent } from './lib/shared/components/confirm/confirm.component';\r\nexport { TableSelectComponent} from './lib/shared/components/table-select/table-select.component';\r\nexport { IconComponent} from './lib/shared/components/icon/icon.component';\r\nexport { IsoCurrencyPipe} from './lib/shared/pipes/iso-currency.pipe';\r\n// Modelos CFG\r\nexport { MEmpresa } from './lib/core/models/CFG/Empresa.model';\r\nexport { MEnterprise } from './lib/core/models/CFG/Enterprise.model';\r\nexport { MComunidad } from './lib/core/models/CFG/comunidad.model';\r\nexport { MPrefijo } from './lib/core/models/CFG/MPrefijo.model';\r\nexport { MProcedencia } from './lib/core/models/CFG/Procede.model';\r\nexport { MExchangeRate } from './lib/core/models/CFG/TasaCambio.model';\r\nexport { MUsuarioPrefijo } from './lib/core/models/CFG/userPrefix.model';\r\nexport {\r\n MCountry,\r\n MMunicipality,\r\n MParish,\r\n MState, \r\n MCity, \r\n MCommunity \r\n} from './lib/core/models/CFG/locations.model';\r\n\r\n//Modelos de CXP\r\nexport { MTipoDocumentoCXP} from './lib/core/models/CXP/MTipoDocumentoCXP.model';\r\nexport { MConceptosCXP } from './lib/core/models/CXP/MConceptosCXP.model';\r\n\r\n//Modelos de SPG\r\nexport { MCuentaPresupuesto } from './lib/core/models/SPG/cuentaPresupuesto.model';\r\nexport { MFuenteFinanciamiento } from './lib/core/models/SPG/fuenteFinanciamiento.model';\r\nexport { MCuentaEgresos } from './lib/core/models/SPG/expensiveAccount.model';\r\nexport { MAdministrativeUnit,MCuentasSpSC,MEstructuras } from './lib/core/models/SPG/administrativeUnit.model';\r\nexport { MUnidadAdministradoraCentral } from './lib/core/models/SPG/UnidadAdministradoraCentral';\r\n\r\nexport { MComprobantePresupuestarioIngresos, MComprobantePresupuestarioEgresos } from './lib/core/models/SPG/comprobantePresupuestario.model';\r\nexport { \r\n MEstructuraPresupuestariaOne, \r\n MEstructuraPresupuestariaTwo,\r\n MEstructuraPresupuestariaFive,\r\n MEstructuraPresupuestariaThree,\r\n MEstructuraPresupuestariaFour,\r\n MEstructuraPresupuestariaFiveComplete,\r\n MAllStructure\r\n} from './lib/core/models/SPG/estructuraPresupuestaria.model';\r\n\r\n//Modelos de RPC\r\nexport { MClasification } from './lib/core/models/RPC/clasification.model';\r\nexport { MProveedor } from './lib/core/models/RPC/proveedores.model';\r\nexport { MDocument } from './lib/core/models/RPC/document.model';\r\nexport { MOrganizationType } from './lib/core/models/SPG/organizationType.model';\r\nexport { MSpecialty } from './lib/core/models/RPC/specialty.model';\r\nexport { MConfigurationRPC } from './lib/core/models/RPC/configuracionRPC.model';\r\nexport { \r\n MProviderBeneficiary,\r\n MProviderBankAccount,\r\n MDeductionProv,MDocumentProv\r\n} from './lib/core/models/RPC/providerBeneficiary.model'\r\n\r\n//modelo SCB\r\nexport {\r\n MBank,\r\n MBankAccountType,\r\n MSigecofBank,\r\n MCuentaBanco,\r\n MAgenciaBanco,\r\n} from './lib/core/models/SCB/bank.model';\r\n\r\n//MODELOS SCG\r\nexport { MCuentaInstitucional } from './lib/core/models/SCG/cuentaInstitucional.model';\r\nexport { MConfiguracionSCG } from './lib/core/models/SCG/configuracionSCG.model';\r\nexport { MPlanUnicoCuenta } from './lib/core/models/SCG/planUnicoCuenta.model';\r\nexport { MCuentaIngresos } from './lib/core/models/SCG/IncomeAccount';\r\nexport { MConfigurationSPG } from './lib/core/models/SPG/configurationSPG.model';\r\nexport { MAccountMarriage } from './lib/core/models/SCG/accountMarriage.model';\r\nexport { MCentroCosto } from './lib/core/models/SCG/centroCosto.model';\r\n\r\n//MODELOS SOC\r\nexport { MServiceType } from './lib/core/models/SOC/serviceType.model';\r\nexport { MService } from './lib/core/models/SOC/service.model';\r\nexport { MClause } from './lib/core/models/SOC/clause.model';\r\nexport { MConfigSOC } from './lib/core/models/SOC/configuracionSOC.model';\r\nexport { MClauseModality } from './lib/core/models/SOC/clauseModality.model';\r\nexport { MCargo } from './lib/core/models/SOC/charge.model'\r\nexport { MServiceCharge } from './lib/core/models/SOC/serviceCharge.model';\r\n\r\n//MODELOS STB\r\nexport { MUnidadTributaria } from './lib/core/models/STB/unidadTributaria.model';\r\nexport { MDeduction, MConceptoRetencion } from './lib/core/models/STB/deduction.model'\r\nexport { MDeductionType } from './lib/core/models/STB/deductionType.model';\r\nexport { \r\n MCargosAdicionales,\r\n} from './lib/core/models/STB/MCargosAdicionales';\r\nexport { \r\n MMoneda,\r\n MMonedaConfig, \r\n} from './lib/core/models/CFG/moneda.model';\r\n\r\n\r\n//MODELO SFV\r\nexport {MClient } from './lib/core/models/SFV/MClienteModel';\r\n\r\n//MODELOS SSS\r\nexport { MUsuario } from './lib/core/models/SSS/user.model';\r\nexport { MConfigSSS } from './lib/core/models/SSS/securityConfiguration.model'\r\nexport { MUserDetail } from './lib/core/models/SSS/userDetail.model'\r\nexport { MGroup } from './lib/core/models/SSS/group.model'\r\nexport { MSistema } from './lib/core/models/SSS/sistema';\r\nexport { MComponent } from './lib/core/models/SSS/component.model';\r\nexport { MRights } from './lib/core/models/SSS/userRights.model';\r\nexport { MUserPermit } from './lib/core/models/SSS/userPermit.model';\r\nexport { MLog } from './lib/core/models/SSS/log.model';\r\nexport { MUsuarioSistema } from './lib/core/models/SSS/sistema';\r\n\r\n\r\n\r\n//Modelos de SIV\r\nexport { MDetaContable } from './lib/core/models/SIV/MDetaContable.model';\r\nexport { MDetaEntrada } from './lib/core/models/SIV/MDetaEntrada.model';\r\nexport { MEntradaSuministros } from './lib/core/models/SIV/MEntradaSuministro.model';\r\nexport { MTipoDepositos } from './lib/core/models/SIV/MTipoDepositos.model';\r\n\r\n\r\n\r\n\r\n// Modelos de Nominas /RRHH\r\nexport { MAnticipoPrestaciones } from './lib/core/models/SNO/MAnticipoPrestaciones.model';\r\nexport { MArchivoTxtCampo } from './lib/core/models/SNO/MArchivoTxtCampo.model';\r\nexport { MArchivosTxt } from './lib/core/models/SNO/MArchivosTxt.model';\r\nexport { MAsignacionCargo, MCargoEstructuraOrganizativa, MCargosNominas} from './lib/core/models/SNO/MAsignacionCargo.model';\r\nexport { MAspectoEvaluacion,MItemsEvalucion } from './lib/core/models/SNO/MAspectoEvaluacion.model';\r\nexport { MBeneficiario } from './lib/core/models/SNO/MBeneficiario.model';\r\nexport { MCargosPersonal } from './lib/core/models/SNO/MCargosPersonal.model';\r\nexport { MCargaFamiliar } from './lib/core/models/SNO/MCargaFamiliar.model';\r\nexport { MClasificacionObrero } from './lib/core/models/SNO/MClasificacionObrero.mdel';\r\nexport { MConceptoVacaciones } from './lib/core/models/SNO/MConceptoVacaciones.model';\r\nexport { MConceptosNomina } from './lib/core/models/SNO/MConceptosNomina.model';\r\nexport { MConceptosPersonalNomina } from './lib/core/models/SNO/MConceptosPersonalNomina.model';\r\nexport { MConfiguracionSNO } from './lib/core/models/SNO/MConfiguracionSNO.model';\r\nexport { MConstanteNomina } from './lib/core/models/SNO/MConstanteNomina.model';\r\nexport { MConstantePersonalNomina } from './lib/core/models/SNO/MConstantePersonalNomina.model';\r\nexport { MComponete } from './lib/core/models/SNO/MComponete.model';\r\nexport { MConcursante, \r\n MTrabajosConcursantes, \r\n MEstudiosConcursantes, \r\n MExperienciaLaboral, \r\n MFamiliaConcursante,\r\n MFormacionInformal\r\n} from './lib/core/models/SNO/MConcursante.model';\r\nexport { MConcurso, MPrevioEvaluacion,MPrevioEvaluacionDt,MResultadosEvaluacion } from './lib/core/models/SNO/MConcurso.model';\r\nexport { MDedicacion } from './lib/core/models/SNO/MDedicacion.model';\r\nexport { MDefinicionNomina} from './lib/core/models/SNO/MDefinicionNomina.model';\r\nexport { MDefinicionesBasicas,MSueldoMinimo } from './lib/core/models/SNO/MDefinicionesBasicas.model';\r\nexport { MDeudaAnterior } from './lib/core/models/SNO/MDeudaAnterior.model';\r\nexport { MEscalaEvaluacion } from './lib/core/models/SNO/MEscalaEvaluacion.model';\r\nexport { MEscalaEvaluacionDt } from './lib/core/models/SNO/MEscalaEvaluacionDt.model';\r\nexport { MEstructuraOrganizativa } from './lib/core/models/SNO/MEstructuraOrganizativa.model';\r\nexport { MFamiliares } from './lib/core/models/SNO/MFamiliares.model';\r\nexport { MFeriados } from './lib/core/models/SNO/MFeriados.model';\r\nexport { MFideicomiso } from './lib/core/models/SNO/MFideicomiso.model';\r\nexport { MFormacionAcademica } from './lib/core/models/SNO/MFormacionAcademica.model';\r\nexport { MGrados } from './lib/core/models/SNO/MGrado.model';\r\nexport { MHojaTiempo, MHorario} from './lib/core/models/SNO/MHojaTiempo.model';\r\nexport { MPeriodoNomina,MProcesosNomina } from './lib/core/models/SNO/MPeriodoNomina.model';\r\nexport { MPersonal, \r\n MCambioEstatusPersonal, \r\n MPersonalCuentaBanco,\r\n MEstudiosRealizados,\r\n MPrestacionesAntiguedad\r\n} from './lib/core/models/SNO/MPersonal.model';\r\nexport { MPersonalNomina } from './lib/core/models/SNO/MPersonalNomina.model';\r\nexport { MPrimasConcepto } from './lib/core/models/SNO/MPrimasConcepto.model';\r\nexport { MPrimaGrados } from './lib/core/models/SNO/MPrimaGrados.model';\r\nexport { MRango } from './lib/core/models/SNO/MRango.model';\r\nexport { MRequisitosConcursantes } from './lib/core/models/SNO/MRequisitosConcursante.model';\r\nexport { MRequisitosConcursos } from './lib/core/models/SNO/MRequisitosConcursos.model';\r\nexport { MRequisitosMinimos } from './lib/core/models/SNO/MRequisitosMinimos.model';\r\nexport { MSalarioHistorico } from './lib/core/models/SNO/MSalarioHistorico.model';\r\nexport { MSolicitudEmpleo } from './lib/core/models/SNO/MSolicitudEmpleo.model';\r\nexport { MTablaVacaciones } from './lib/core/models/SNO/MTablaVacaciones.model';\r\nexport { MTablaVacacionesPeriodo } from './lib/core/models/SNO/MTablaVacacionesPeriodo.model';\r\nexport { MTabulador,MTabuladorNominas } from './lib/core/models/SNO/MTabulador.model';\r\nexport { MTipoEvaluacion, MTipoEvaluacionAspecto } from './lib/core/models/SNO/MTipoEvaluacion.model';\r\nexport { MTipoPersonal } from './lib/core/models/SNO/MTipoPersonal.model';\r\nexport { MTiposEnfermedad } from './lib/core/models/SNO/MTiposEnfermedad.model';\r\nexport { MTrabajoAnterior } from './lib/core/models/SNO/MTrabajoAnterior.model';\r\nexport { MUbicacionFisica } from './lib/core/models/SNO/MUbicacionFisica.model';\r\nexport { MVacacionesPersonal } from './lib/core/models/SNO/MVacacionesPersonal.model';\r\nexport { MEncargaduria } from './lib/core/models/SNO/MEncargaduria.model'\r\nexport { MCodigoUnicoRac } from './lib/core/models/SNO/MCodigoUnicoRac.model'\r\nexport { MNominaSimple } from './lib/core/models/SNO/MNominaSimple.model';\r\nexport { MPersonalJubilado } from './lib/core/models/SNO/MPersonalJubilado.model';\r\nexport { MPermisos } from './lib/core/models/SNO/MPermisos.model';\r\nexport { MCargaMasiva } from './lib/core/models/SNO/MCargaMasiva.model';\r\nexport { MCalculoPrestacion, \r\n MConfiguracionFideicomiso, \r\n MFideicomisoInteres, \r\n MFideicomisoPeriodo, \r\n MFideicomisoPeriodoInteres, \r\n MFideicomisoPeriodoInteresCatalogo, \r\n} from './lib/core/models/SNO/MFideicomiso.model';\r\n export { MPlantillasConstancia } from './lib/core/models/SNO/MPlantillaConstancia.model';\r\n export { MImpuestoSobreRenta } from './lib/core/models/SNO/MImpuestoSobreRenta.model';\r\n export { MMetodoBanco, MMetodos } from './lib/core/models/SNO/MMetodoBanco.model';\r\n export { MPrestamo, MPrestamoAmortizacion, MPrestamosPeriodo } from './lib/core/models/SNO/MPrestamo.model';\r\n export { MRConsolidadoConceptos,MRArchivoTXT,MRConstanciaTrabajo} from './lib/core/models/SNO/MReportesRRHH';\r\n export { MSnoLog } from './lib/core/models/SNO/MAuditoria.model';\r\n export { MPlanHorario,MPeriodosPlan } from './lib/core/models/SNO/MPlanHorario.model';\r\n\r\n\r\n // Interfaces\r\nexport { \r\n IProveedor,IOrganizationType,IProviderBeneficiary,IProviderBankAccount,IDeductionProv,IDocumentProv,ISpecialtyProv\r\n} from './lib/core/interfaces/Proveedor'; \r\nexport { IConexion } from './lib/core/interfaces/Usuario'; \r\nexport { IResponse } from './lib/core/interfaces/Response'; \r\nexport { ICentroCosto} from './lib/core/interfaces/CentroCosto';\r\nexport { \r\n IEstructuraPresupuestariaOne, \r\n IEstructuraPresupuestariaTwo,\r\n IEstructuraPresupuestariaThree,\r\n IEstructuraPresupuestariaFour,\r\n IEstructuraPresupuestariaFive\r\n} from './lib/core/interfaces/EstructuraPresupuestaria'; \r\nexport { ISpecialty } from './lib/core/interfaces/Especialidad';\r\nexport { IDocument } from './lib/core/interfaces/Documento';\r\nexport { IClasification } from './lib/core/interfaces/Clasificacion';\r\nexport { \r\n ICountry,\r\n IMunicipality,\r\n IParish,\r\n IState,\r\n ICity\r\n} from './lib/core/interfaces/Lugares';\r\nexport {\r\n IBank, IBankAccountType, ISigecofBank, IAgencia,\r\n ICuentaBanco, ICartaOrden, IMovimientoBanco, IConfigBanco,\r\n IConceptoMovimiento, IControlDocumento, IConciliacion, IChequera,\r\n IDetalle, IDivisas, IMovimiento,\r\n ICatalogoIntegracion, IDetalleConciliacion, IDetalleMovimiento,IDetalleSpgSpi,\r\n IDetallesContable,IIntegracion,IMovimientoBancoConciliar,\r\n ISelect2,ITipoFondoAvance,ITrasferencia,IVoucherMedidas\r\n} from './lib/core/interfaces/Banco';\r\nexport { IConfigurationRPC } from './lib/core/interfaces/ConfiguracionRPC';\r\nexport { \r\n IServiceType,\r\n IService,\r\n IClause,\r\n IConfigSOC,\r\n IClauseModality,\r\n IServiceCharges\r\n} from './lib/core/interfaces/Servicios'\r\nexport {\r\n IDeductionType,\r\n ICargo,\r\n IDeduction,\r\n IConceptoRetencion,\r\n ICargoAdicional,\r\n} from './lib/core/interfaces/Tributos'\r\nexport { customPaginator } from './lib/shared/material/customPaginator'\r\nexport { ICuentaIngresos } from './lib/core/interfaces/CuentaIngreso'\r\nexport { \r\n IConfigSSS,\r\n IUserDetail,\r\n IGroup,\r\n IComponent,\r\n IRights,\r\n IUserPermit,\r\n ILog, \r\n} from './lib/core/interfaces/Seguridad';\r\nexport { ISistema,IUsuarioSistema } from './lib/core/interfaces/Sistema';\r\nexport { IUnitAdministrative,ICuentasSpSc,IEstructuras,IUnidadAdministradoraCentral,IEstructuraPresupuestariaFiveComplete } from './lib/core/interfaces/Presupuesto'\r\nexport { IServiceCharge, IConceptosCXP, ITipoDocumentoCXP } from './lib/core/interfaces/CuentasPorPagar'\r\nexport { \r\n\r\n IAsignacionCargo,\r\n IConceptos,\r\n IConceptosPersonalNomina,\r\n IConceptosVacaciones,\r\n IConstanteNomina,\r\n IConstantePersonaNomina,\r\n IHojaTiempo,\r\n INomina,\r\n IPeriodoNomina,\r\n IPersonalNomina,\r\n IPrimasConcepto,\r\n IEncargaduria,\r\n ICodigoUnicoRac,\r\n INominaSimple, \r\n IProcesoNomina,\r\n Reporte,\r\n SalarioNormal,\r\n Signo,\r\n TipoCestaTicket, \r\n \r\n\r\n } from './lib/core/interfaces/Nomina';\r\n \r\nexport { \r\n IEmpresa,IEnterprise,IPrefijo,IProcedencia,ITasaCambio\r\n} from './lib/core/interfaces/Configuracion';\r\n\r\n export { IConfiguracionSNO,\r\n IAnticipoPrestacion,\r\n IBenefiaciario,\r\n ICargosPersonal,\r\n IDeudaAnterior,\r\n IEstudioRealizado,\r\n IFamiliares,\r\n IFideicomiso,\r\n IImpuestoSobreRenta,\r\n IIncidencia,\r\n IPermisos,\r\n IPersonal,\r\n IPersonalCuentasBancarias,\r\n IPrestacionesAntiguedad,\r\n ISalarioHistorico,\r\n ITrabajoAnterior,\r\n IVacacionesPersonal,\r\n IAcademico,\r\n ICampos, \r\n ICargaFamiliar,\r\n IClasificacionObrero,\r\n IDialogData,\r\n IDtRequisitosMinimos,\r\n IExperienciaLaboral,\r\n IFormacionAcademica,\r\n IFormacionInformal,\r\n IFuenteFinanciamiento,\r\n IGrados,\r\n IPrimaGrados,\r\n IRequisitosConcursante,\r\n IRequisitosConcursos,\r\n IRequisitosMinismos,\r\n ISolicitudEmpleo,\r\n ITabulador,\r\n ITabuladorNomina,\r\n IArchivoTxt,\r\n IArchivoTxtCampos,\r\n IAspectoEvaluacion,\r\n IComponente,\r\n IConcursante,\r\n IConcurso,\r\n IDedicacion,\r\n IDefinicionesBasicas,\r\n IEscalaEvaluacion,\r\n IEscalaEvaluacionDt,\r\n IEstructuraOrganizativa,\r\n IFeriados,\r\n IHorario,\r\n IItemsEvaluacion,\r\n IMetodoBanco,\r\n IMetodos,\r\n INivel,\r\n IRango,\r\n ITablaVacaciones,\r\n ITablaVacacionesPeriodo,\r\n ITipoEvaluacion,\r\n ITipoEvaluacionAspectos,\r\n ITipoPersonal,\r\n ITiposEnfermedad,\r\n IUbicacionFisica,\r\n IPersonalJubilado,\r\n IArchivoTXT,\r\n ICalculoPrestacion,\r\n ICambioEstatusPersonal,\r\n ICargaMasiva,\r\n IConfiguracionFideicomiso,\r\n IFideicomisoInteres,\r\n IFideicomisoPeriodo,\r\n IFideicomisoPeriodoInteres,\r\n IFideicomisoPeriodoInteresCatalogo, \r\n IConstancias,\r\n ITrabajosConcursantes,\r\n IEstudiosConcursantes,\r\n IFamiliaConcursante,\r\n IPrestamo,\r\n IPrestamoAmortizacion,\r\n IPrestamoPeriodo,\r\n IPrevioEvaluacion,\r\n IPrevioEvaluacionDt,\r\n IRConsolidadoConceptos,\r\n IRConstanciaTrabajo,\r\n IRPeriodo,\r\n IRRetenciones,\r\n IRSindicatos,\r\n IResultadosEvaluacion,\r\n ISueldoMinimo, \r\n IRListadoPersonal,\r\n IRListadoTipoPersonal,\r\n IPlanHorario,\r\n IHorariosPeriodosPlan,\r\n IPeriodosPlan, \r\n} from './lib/core/interfaces/RecursosHumanos';\r\n\r\nexport {\r\n ISnoLog\r\n} from './lib/core/interfaces/Auditoria';\r\n\r\n //Interfaces de SIV \r\nexport { \r\n IDetaEntrada,\r\n IEntradaSuministros,\r\n IDetaContable\r\n} from './lib/core/interfaces/EntradaSuministro';\r\n\r\nexport{\r\n ITipoDepositos\r\n} from './lib/core/interfaces/ITipoDepositos';\r\n\r\nexport{\r\n IClient\r\n} from './lib/core/interfaces/Cliente';\r\n\r\nexport {\r\n ICatalogo,\r\n ISelect,\r\n ISelect1,\r\n ISelect5,\r\n ISelect3,\r\n ISelect4,\r\n filterData,\r\n TipoDefiniciones,\r\n EstadoCivil,\r\n Sexo,\r\n Sexo2,\r\n NivelAcademico,\r\n Turno,\r\n SituacionPersonal,\r\n CausaEgreso,\r\n EstatusPersonal,\r\n EstatusPersonalNomina,\r\n Estatus,\r\n EstatusEstudio,\r\n TipoVivienda,\r\n LetraRif,\r\n Estudios,\r\n academico,\r\n TipoEmpresa,\r\n TipoPermiso,\r\n Nexofamiliar,\r\n NivelAcademicoFamiliar,\r\n TipoBeneficiario,\r\n Nacionalidad,\r\n FormaPago,\r\n EstatusVacaciones,\r\n TipoPeriodoNomina,\r\n TipoNomina,\r\n ContabilizacionNomina,\r\n Destino,\r\n TipoHorario,\r\n TipoCuota,\r\n Acciones,\r\n Preaviso,\r\n Orden,\r\n Longitud,\r\n Meses,\r\n TipoJubilacion,\r\n camposConstaciaTrabajo,\r\n MetodosTicket,\r\n EstatusPrestamo,\r\n ISelect7,\r\n EstatusCliente,\r\n DiasSemana,\r\n TipoCargo\r\n\r\n} from './lib/core/interfaces/Constantes';\r\n\r\nexport { IUpdateDistribution2,IUpdateDistribution\r\n} from './lib/core/interfaces/CuentaEgresos';\r\n\r\n \r\n \r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MCuentaEgresos","i3","i1","i2","i4","i5","i6","i7","i8","i9","i10.IconComponent"],"mappings":"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"}
|