sigesp 1.0.16-20240818 → 1.0.18-20240821

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.
Files changed (576) hide show
  1. package/README.md +9 -12
  2. package/karma.conf.js +32 -0
  3. package/ng-package.json +7 -0
  4. package/package.json +11 -31
  5. package/src/lib/app/app.component.html +1 -0
  6. package/src/lib/app/app.component.scss +0 -0
  7. package/src/lib/app/app.component.ts +15 -0
  8. package/src/lib/app/app.module.ts +21 -0
  9. package/src/lib/core/interfaces/Auditoria.ts +72 -0
  10. package/src/lib/core/interfaces/Banco.ts +633 -0
  11. package/src/lib/core/interfaces/Catalogo.ts +15 -0
  12. package/src/lib/core/interfaces/CentroCosto.ts +20 -0
  13. package/src/lib/core/interfaces/Clasificacion.ts +6 -0
  14. package/src/lib/core/interfaces/Cliente.ts +36 -0
  15. package/src/lib/core/interfaces/ComprobantePresupuestario.ts +43 -0
  16. package/src/lib/core/interfaces/Comunidad.ts +12 -0
  17. package/src/lib/core/interfaces/Configuracion.ts +110 -0
  18. package/src/lib/core/interfaces/ConfiguracionRPC.ts +10 -0
  19. package/src/lib/core/interfaces/ConfiguracionSCG.ts +54 -0
  20. package/src/lib/core/interfaces/ConfigurationSPG.ts +43 -0
  21. package/src/lib/core/interfaces/Constantes.ts +463 -0
  22. package/src/lib/core/interfaces/CuentaEgresos.ts +159 -0
  23. package/src/lib/core/interfaces/CuentaIngreso.ts +37 -0
  24. package/src/lib/core/interfaces/CuentaIngresoEstructura.ts +25 -0
  25. package/src/lib/core/interfaces/CuentaInstitucional.ts +26 -0
  26. package/src/lib/core/interfaces/CuentaPresupuesto.ts +7 -0
  27. package/src/lib/core/interfaces/CuentasPorPagar.ts +40 -0
  28. package/src/lib/core/interfaces/Documento.ts +6 -0
  29. package/src/lib/core/interfaces/EntradaSuministro.ts +93 -0
  30. package/src/lib/core/interfaces/Especialidad.ts +4 -0
  31. package/src/lib/core/interfaces/EstructuraPresupuestaria.ts +96 -0
  32. package/src/lib/core/interfaces/FuenteFinanciamiento.ts +7 -0
  33. package/src/lib/core/interfaces/IBancoCuentasPorPagar.ts +192 -0
  34. package/src/lib/core/interfaces/ITipoDepositos.ts +17 -0
  35. package/src/lib/core/interfaces/Integracion.ts +6 -0
  36. package/src/lib/core/interfaces/Lugares.ts +45 -0
  37. package/src/lib/core/interfaces/Moneda.ts +22 -0
  38. package/src/lib/core/interfaces/Nomina.ts +607 -0
  39. package/src/lib/core/interfaces/PlanUnicoCuenta.ts +4 -0
  40. package/src/lib/core/interfaces/Presupuesto.ts +132 -0
  41. package/src/lib/core/interfaces/Proveedor.ts +79 -0
  42. package/src/lib/core/interfaces/RecursosHumanos.ts +1728 -0
  43. package/{lib/core/interfaces/Request.d.ts → src/lib/core/interfaces/Request.ts} +4 -3
  44. package/src/lib/core/interfaces/Response.ts +7 -0
  45. package/src/lib/core/interfaces/Seguridad.ts +118 -0
  46. package/src/lib/core/interfaces/Servicios.ts +64 -0
  47. package/src/lib/core/interfaces/Sistema.ts +21 -0
  48. package/src/lib/core/interfaces/Tributos.ts +78 -0
  49. package/src/lib/core/interfaces/UnidadTributaria.ts +11 -0
  50. package/src/lib/core/interfaces/Usuario.ts +57 -0
  51. package/src/lib/core/interfaces/UsuarioPrefijo.ts +12 -0
  52. package/src/lib/core/models/CFG/Empresa.model.ts +155 -0
  53. package/src/lib/core/models/CFG/Enterprise.model.ts +74 -0
  54. package/src/lib/core/models/CFG/MPrefijo.model.ts +66 -0
  55. package/src/lib/core/models/CFG/Procede.model.ts +34 -0
  56. package/src/lib/core/models/CFG/TasaCambio.model.ts +37 -0
  57. package/src/lib/core/models/CFG/comunidad.model.ts +34 -0
  58. package/src/lib/core/models/CFG/locations.model.ts +189 -0
  59. package/src/lib/core/models/CFG/moneda.model.ts +82 -0
  60. package/src/lib/core/models/CFG/userPrefix.model.ts +48 -0
  61. package/src/lib/core/models/CXP/MConceptosCXP.model.ts +36 -0
  62. package/src/lib/core/models/CXP/MTipoDocumentoCXP.model.ts +49 -0
  63. package/src/lib/core/models/RPC/clasification.model.ts +22 -0
  64. package/src/lib/core/models/RPC/configuracionRPC.model.ts +27 -0
  65. package/src/lib/core/models/RPC/document.model.ts +20 -0
  66. package/src/lib/core/models/RPC/proveedores.model.ts +15 -0
  67. package/src/lib/core/models/RPC/providerBeneficiary.model.ts +164 -0
  68. package/src/lib/core/models/RPC/specialty.model.ts +14 -0
  69. package/src/lib/core/models/SCB/bank.model.ts +205 -0
  70. package/src/lib/core/models/SCG/IncomeAccount.ts +87 -0
  71. package/src/lib/core/models/SCG/accountMarriage.model.ts +33 -0
  72. package/src/lib/core/models/SCG/centroCosto.model.ts +72 -0
  73. package/src/lib/core/models/SCG/configuracionSCG.model.ts +172 -0
  74. package/src/lib/core/models/SCG/cuentaInstitucional.model.ts +91 -0
  75. package/src/lib/core/models/SCG/planUnicoCuenta.model.ts +22 -0
  76. package/src/lib/core/models/SFV/MClienteModel.ts +119 -0
  77. package/src/lib/core/models/SIV/MDetaContable.model.ts +65 -0
  78. package/src/lib/core/models/SIV/MDetaEntrada.model.ts +98 -0
  79. package/src/lib/core/models/SIV/MEntradaSuministro.model.ts +135 -0
  80. package/src/lib/core/models/SIV/MTipoDepositos.model.ts +65 -0
  81. package/src/lib/core/models/SNO/MAnticipoPrestaciones.model.ts +112 -0
  82. package/src/lib/core/models/SNO/MArchivoTxtCampo.model.ts +63 -0
  83. package/src/lib/core/models/SNO/MArchivosTxt.model.ts +53 -0
  84. package/src/lib/core/models/SNO/MAsignacionCargo.model.ts +218 -0
  85. package/src/lib/core/models/SNO/MAspectoEvaluacion.model.ts +97 -0
  86. package/src/lib/core/models/SNO/MAuditoria.model.ts +67 -0
  87. package/src/lib/core/models/SNO/MBeneficiario.model.ts +139 -0
  88. package/src/lib/core/models/SNO/MCargaFamiliar.model.ts +54 -0
  89. package/src/lib/core/models/SNO/MCargaMasiva.model.ts +37 -0
  90. package/src/lib/core/models/SNO/MCargosPersonal.model.ts +108 -0
  91. package/src/lib/core/models/SNO/MClasificacionObrero.mdel.ts +48 -0
  92. package/src/lib/core/models/SNO/MCodigoUnicoRac.model.ts +41 -0
  93. package/src/lib/core/models/SNO/MComponete.model.ts +40 -0
  94. package/src/lib/core/models/SNO/MConceptoVacaciones.model.ts +94 -0
  95. package/src/lib/core/models/SNO/MConceptosNomina.model.ts +240 -0
  96. package/src/lib/core/models/SNO/MConceptosPersonalNomina.model.ts +103 -0
  97. package/src/lib/core/models/SNO/MConcursante.model.ts +333 -0
  98. package/src/lib/core/models/SNO/MConcurso.model.ts +267 -0
  99. package/src/lib/core/models/SNO/MConfiguracionSNO.model.ts +412 -0
  100. package/src/lib/core/models/SNO/MConstanteNomina.model.ts +76 -0
  101. package/src/lib/core/models/SNO/MConstantePersonalNomina.model.ts +85 -0
  102. package/src/lib/core/models/SNO/MDedicacion.model.ts +37 -0
  103. package/src/lib/core/models/SNO/MDefinicionNomina.model.ts +330 -0
  104. package/src/lib/core/models/SNO/MDefinicionesBasicas.model.ts +94 -0
  105. package/src/lib/core/models/SNO/MDeudaAnterior.model.ts +42 -0
  106. package/src/lib/core/models/SNO/MEncargaduria.model.ts +142 -0
  107. package/src/lib/core/models/SNO/MEscalaEvaluacion.model.ts +43 -0
  108. package/src/lib/core/models/SNO/MEscalaEvaluacionDt.model.ts +40 -0
  109. package/src/lib/core/models/SNO/MEstructuraOrganizativa.model.ts +125 -0
  110. package/src/lib/core/models/SNO/MFamiliares.model.ts +91 -0
  111. package/src/lib/core/models/SNO/MFeriados.model.ts +46 -0
  112. package/src/lib/core/models/SNO/MFideicomiso.model.ts +423 -0
  113. package/src/lib/core/models/SNO/MFormacionAcademica.model.ts +52 -0
  114. package/src/lib/core/models/SNO/MGrado.model.ts +50 -0
  115. package/src/lib/core/models/SNO/MHojaTiempo.model.ts +128 -0
  116. package/src/lib/core/models/SNO/MImpuestoSobreRenta.model.ts +77 -0
  117. package/src/lib/core/models/SNO/MMetodoBanco.model.ts +113 -0
  118. package/src/lib/core/models/SNO/MNominaSimple.model.ts +93 -0
  119. package/src/lib/core/models/SNO/MPeriodoNomina.model.ts +196 -0
  120. package/src/lib/core/models/SNO/MPermisos.model.ts +70 -0
  121. package/src/lib/core/models/SNO/MPersonal.model.ts +659 -0
  122. package/src/lib/core/models/SNO/MPersonalJubilado.model.ts +71 -0
  123. package/src/lib/core/models/SNO/MPersonalNomina.model.ts +328 -0
  124. package/src/lib/core/models/SNO/MPlanHorario.model.ts +134 -0
  125. package/src/lib/core/models/SNO/MPlantillaConstancia.model.ts +33 -0
  126. package/src/lib/core/models/SNO/MPrestamo.model.ts +242 -0
  127. package/src/lib/core/models/SNO/MPrimaGrados.model.ts +46 -0
  128. package/src/lib/core/models/SNO/MPrimasConcepto.model.ts +45 -0
  129. package/src/lib/core/models/SNO/MRango.model.ts +45 -0
  130. package/src/lib/core/models/SNO/MReportesRRHH.ts +425 -0
  131. package/src/lib/core/models/SNO/MRequisitosConcursante.model.ts +48 -0
  132. package/src/lib/core/models/SNO/MRequisitosConcursos.model.ts +41 -0
  133. package/src/lib/core/models/SNO/MRequisitosMinimos.model.ts +123 -0
  134. package/src/lib/core/models/SNO/MSalarioHistorico.model.ts +75 -0
  135. package/src/lib/core/models/SNO/MSolicitudEmpleo.model.ts +125 -0
  136. package/src/lib/core/models/SNO/MTablaVacaciones.model.ts +61 -0
  137. package/src/lib/core/models/SNO/MTablaVacacionesPeriodo.model.ts +45 -0
  138. package/src/lib/core/models/SNO/MTabulador.model.ts +108 -0
  139. package/src/lib/core/models/SNO/MTipoEvaluacion.model.ts +85 -0
  140. package/src/lib/core/models/SNO/MTipoPersonal.model.ts +37 -0
  141. package/src/lib/core/models/SNO/MTiposEnfermedad.model.ts +40 -0
  142. package/src/lib/core/models/SNO/MTrabajoAnterior.model.ts +70 -0
  143. package/src/lib/core/models/SNO/MUbicacionFisica.model.ts +63 -0
  144. package/src/lib/core/models/SNO/MVacacionesPersonal.model.ts +119 -0
  145. package/src/lib/core/models/SOC/charge.model.ts +78 -0
  146. package/src/lib/core/models/SOC/clause.model.ts +36 -0
  147. package/src/lib/core/models/SOC/clauseModality.model.ts +40 -0
  148. package/src/lib/core/models/SOC/configuracionSOC.model.ts +68 -0
  149. package/src/lib/core/models/SOC/service.model.ts +50 -0
  150. package/src/lib/core/models/SOC/serviceCharge.model.ts +39 -0
  151. package/src/lib/core/models/SOC/serviceType.model.ts +36 -0
  152. package/src/lib/core/models/SPG/UnidadAdministradoraCentral.ts +47 -0
  153. package/src/lib/core/models/SPG/administrativeUnit.model.ts +153 -0
  154. package/src/lib/core/models/SPG/comprobantePresupuestario.model.ts +93 -0
  155. package/src/lib/core/models/SPG/configurationSPG.model.ts +88 -0
  156. package/src/lib/core/models/SPG/cuentaPresupuesto.model.ts +131 -0
  157. package/src/lib/core/models/SPG/estructuraPresupuestaria.model.ts +280 -0
  158. package/src/lib/core/models/SPG/expensiveAccount.model.ts +114 -0
  159. package/src/lib/core/models/SPG/fuenteFinanciamiento.model.ts +33 -0
  160. package/src/lib/core/models/SPG/incomeStructureAccount.model.ts +84 -0
  161. package/src/lib/core/models/SPG/organizationType.model.ts +16 -0
  162. package/src/lib/core/models/SSS/component.model.ts +51 -0
  163. package/src/lib/core/models/SSS/group.model.ts +39 -0
  164. package/src/lib/core/models/SSS/log.model.ts +36 -0
  165. package/src/lib/core/models/SSS/securityConfiguration.model.ts +26 -0
  166. package/src/lib/core/models/SSS/sistema.ts +85 -0
  167. package/src/lib/core/models/SSS/user.model.ts +52 -0
  168. package/src/lib/core/models/SSS/userDetail.model.ts +78 -0
  169. package/src/lib/core/models/SSS/userPermit.model.ts +61 -0
  170. package/src/lib/core/models/SSS/userRights.model.ts +113 -0
  171. package/src/lib/core/models/STB/MCargosAdicionales.ts +93 -0
  172. package/src/lib/core/models/STB/deduction.model.ts +100 -0
  173. package/src/lib/core/models/STB/deductionType.model.ts +23 -0
  174. package/src/lib/core/models/STB/unidadTributaria.model.ts +25 -0
  175. package/src/lib/core/models/basic-model.model.ts +9 -0
  176. package/src/lib/shared/components/catalogo/catalogo.component.html +45 -0
  177. package/src/lib/shared/components/catalogo/catalogo.component.scss +82 -0
  178. package/src/lib/shared/components/catalogo/catalogo.component.ts +71 -0
  179. package/src/lib/shared/components/catalogo-doble-input/catalogo-doble-input.component.html +57 -0
  180. package/src/lib/shared/components/catalogo-doble-input/catalogo-doble-input.component.scss +82 -0
  181. package/src/lib/shared/components/catalogo-doble-input/catalogo-doble-input.component.ts +80 -0
  182. package/src/lib/shared/components/catalogo-estructuras/catalogo-estructuras.component.html +121 -0
  183. package/src/lib/shared/components/catalogo-estructuras/catalogo-estructuras.component.scss +81 -0
  184. package/src/lib/shared/components/catalogo-estructuras/catalogo-estructuras.component.ts +68 -0
  185. package/src/lib/shared/components/confirm/confirm.component.html +15 -0
  186. package/src/lib/shared/components/confirm/confirm.component.scss +37 -0
  187. package/src/lib/shared/components/confirm/confirm.component.ts +32 -0
  188. package/src/lib/shared/components/icon/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2 +0 -0
  189. package/src/lib/shared/components/icon/icon.component.html +6 -0
  190. package/src/lib/shared/components/icon/icon.component.scss +22 -0
  191. package/src/lib/shared/components/icon/icon.component.ts +19 -0
  192. package/src/lib/shared/components/table-select/table-select.component.html +73 -0
  193. package/src/lib/shared/components/table-select/table-select.component.scss +86 -0
  194. package/src/lib/shared/components/table-select/table-select.component.ts +102 -0
  195. package/src/lib/shared/material/customPaginator.ts +22 -0
  196. package/src/lib/shared/material/material.module.ts +144 -0
  197. package/src/lib/shared/pipes/iso-currency.pipe.ts +44 -0
  198. package/src/lib/shared/shared.module.ts +41 -0
  199. package/src/lib/sigesp.service.ts +2770 -0
  200. package/src/lib/validation.service.ts +172 -0
  201. package/src/public-api.ts +489 -0
  202. package/src/test.ts +23 -0
  203. package/tsconfig.lib.json +27 -0
  204. package/tsconfig.lib.prod.json +6 -0
  205. package/tsconfig.spec.json +17 -0
  206. package/tslint.json +17 -0
  207. package/LICENSE +0 -21
  208. package/esm2020/lib/app/app.component.mjs +0 -14
  209. package/esm2020/lib/app/app.module.mjs +0 -34
  210. package/esm2020/lib/core/interfaces/Auditoria.mjs +0 -49
  211. package/esm2020/lib/core/interfaces/Banco.mjs +0 -2
  212. package/esm2020/lib/core/interfaces/Catalogo.mjs +0 -2
  213. package/esm2020/lib/core/interfaces/CentroCosto.mjs +0 -2
  214. package/esm2020/lib/core/interfaces/Clasificacion.mjs +0 -2
  215. package/esm2020/lib/core/interfaces/Cliente.mjs +0 -2
  216. package/esm2020/lib/core/interfaces/ComprobantePresupuestario.mjs +0 -2
  217. package/esm2020/lib/core/interfaces/Comunidad.mjs +0 -2
  218. package/esm2020/lib/core/interfaces/Configuracion.mjs +0 -2
  219. package/esm2020/lib/core/interfaces/ConfiguracionRPC.mjs +0 -2
  220. package/esm2020/lib/core/interfaces/ConfiguracionSCG.mjs +0 -2
  221. package/esm2020/lib/core/interfaces/ConfigurationSPG.mjs +0 -2
  222. package/esm2020/lib/core/interfaces/Constantes.mjs +0 -365
  223. package/esm2020/lib/core/interfaces/CuentaEgresos.mjs +0 -2
  224. package/esm2020/lib/core/interfaces/CuentaIngreso.mjs +0 -2
  225. package/esm2020/lib/core/interfaces/CuentaIngresoEstructura.mjs +0 -2
  226. package/esm2020/lib/core/interfaces/CuentaInstitucional.mjs +0 -2
  227. package/esm2020/lib/core/interfaces/CuentaPresupuesto.mjs +0 -2
  228. package/esm2020/lib/core/interfaces/CuentasPorPagar.mjs +0 -2
  229. package/esm2020/lib/core/interfaces/Documento.mjs +0 -2
  230. package/esm2020/lib/core/interfaces/EntradaSuministro.mjs +0 -2
  231. package/esm2020/lib/core/interfaces/Especialidad.mjs +0 -2
  232. package/esm2020/lib/core/interfaces/EstructuraPresupuestaria.mjs +0 -2
  233. package/esm2020/lib/core/interfaces/FuenteFinanciamiento.mjs +0 -2
  234. package/esm2020/lib/core/interfaces/IBancoCuentasPorPagar.mjs +0 -2
  235. package/esm2020/lib/core/interfaces/ITipoDepositos.mjs +0 -2
  236. package/esm2020/lib/core/interfaces/Integracion.mjs +0 -2
  237. package/esm2020/lib/core/interfaces/Lugares.mjs +0 -2
  238. package/esm2020/lib/core/interfaces/Moneda.mjs +0 -2
  239. package/esm2020/lib/core/interfaces/Nomina.mjs +0 -27
  240. package/esm2020/lib/core/interfaces/PlanUnicoCuenta.mjs +0 -2
  241. package/esm2020/lib/core/interfaces/Presupuesto.mjs +0 -2
  242. package/esm2020/lib/core/interfaces/Proveedor.mjs +0 -2
  243. package/esm2020/lib/core/interfaces/RecursosHumanos.mjs +0 -4
  244. package/esm2020/lib/core/interfaces/Request.mjs +0 -2
  245. package/esm2020/lib/core/interfaces/Response.mjs +0 -2
  246. package/esm2020/lib/core/interfaces/Seguridad.mjs +0 -2
  247. package/esm2020/lib/core/interfaces/Servicios.mjs +0 -2
  248. package/esm2020/lib/core/interfaces/Sistema.mjs +0 -2
  249. package/esm2020/lib/core/interfaces/Tributos.mjs +0 -2
  250. package/esm2020/lib/core/interfaces/UnidadTributaria.mjs +0 -2
  251. package/esm2020/lib/core/interfaces/Usuario.mjs +0 -2
  252. package/esm2020/lib/core/interfaces/UsuarioPrefijo.mjs +0 -2
  253. package/esm2020/lib/core/models/CFG/Empresa.model.mjs +0 -151
  254. package/esm2020/lib/core/models/CFG/Enterprise.model.mjs +0 -70
  255. package/esm2020/lib/core/models/CFG/MPrefijo.model.mjs +0 -64
  256. package/esm2020/lib/core/models/CFG/Procede.model.mjs +0 -31
  257. package/esm2020/lib/core/models/CFG/TasaCambio.model.mjs +0 -34
  258. package/esm2020/lib/core/models/CFG/comunidad.model.mjs +0 -22
  259. package/esm2020/lib/core/models/CFG/locations.model.mjs +0 -170
  260. package/esm2020/lib/core/models/CFG/moneda.model.mjs +0 -72
  261. package/esm2020/lib/core/models/CFG/userPrefix.model.mjs +0 -46
  262. package/esm2020/lib/core/models/CXP/MConceptosCXP.model.mjs +0 -34
  263. package/esm2020/lib/core/models/CXP/MTipoDocumentoCXP.model.mjs +0 -44
  264. package/esm2020/lib/core/models/RPC/clasification.model.mjs +0 -16
  265. package/esm2020/lib/core/models/RPC/configuracionRPC.model.mjs +0 -23
  266. package/esm2020/lib/core/models/RPC/document.model.mjs +0 -16
  267. package/esm2020/lib/core/models/RPC/proveedores.model.mjs +0 -9
  268. package/esm2020/lib/core/models/RPC/providerBeneficiary.model.mjs +0 -164
  269. package/esm2020/lib/core/models/RPC/specialty.model.mjs +0 -12
  270. package/esm2020/lib/core/models/SCB/bank.model.mjs +0 -181
  271. package/esm2020/lib/core/models/SCG/IncomeAccount.mjs +0 -83
  272. package/esm2020/lib/core/models/SCG/accountMarriage.model.mjs +0 -29
  273. package/esm2020/lib/core/models/SCG/centroCosto.model.mjs +0 -65
  274. package/esm2020/lib/core/models/SCG/configuracionSCG.model.mjs +0 -169
  275. package/esm2020/lib/core/models/SCG/cuentaInstitucional.model.mjs +0 -89
  276. package/esm2020/lib/core/models/SCG/planUnicoCuenta.model.mjs +0 -17
  277. package/esm2020/lib/core/models/SFV/MClienteModel.mjs +0 -116
  278. package/esm2020/lib/core/models/SIV/MDetaContable.model.mjs +0 -62
  279. package/esm2020/lib/core/models/SIV/MDetaEntrada.model.mjs +0 -94
  280. package/esm2020/lib/core/models/SIV/MEntradaSuministro.model.mjs +0 -132
  281. package/esm2020/lib/core/models/SIV/MTipoDepositos.model.mjs +0 -61
  282. package/esm2020/lib/core/models/SNO/MAnticipoPrestaciones.model.mjs +0 -100
  283. package/esm2020/lib/core/models/SNO/MArchivoTxtCampo.model.mjs +0 -61
  284. package/esm2020/lib/core/models/SNO/MArchivosTxt.model.mjs +0 -41
  285. package/esm2020/lib/core/models/SNO/MAsignacionCargo.model.mjs +0 -205
  286. package/esm2020/lib/core/models/SNO/MAspectoEvaluacion.model.mjs +0 -90
  287. package/esm2020/lib/core/models/SNO/MAuditoria.model.mjs +0 -61
  288. package/esm2020/lib/core/models/SNO/MBeneficiario.model.mjs +0 -137
  289. package/esm2020/lib/core/models/SNO/MCargaFamiliar.model.mjs +0 -52
  290. package/esm2020/lib/core/models/SNO/MCargaMasiva.model.mjs +0 -34
  291. package/esm2020/lib/core/models/SNO/MCargosPersonal.model.mjs +0 -101
  292. package/esm2020/lib/core/models/SNO/MClasificacionObrero.mdel.mjs +0 -46
  293. package/esm2020/lib/core/models/SNO/MCodigoUnicoRac.model.mjs +0 -39
  294. package/esm2020/lib/core/models/SNO/MComponete.model.mjs +0 -38
  295. package/esm2020/lib/core/models/SNO/MConceptoVacaciones.model.mjs +0 -85
  296. package/esm2020/lib/core/models/SNO/MConceptosNomina.model.mjs +0 -231
  297. package/esm2020/lib/core/models/SNO/MConceptosPersonalNomina.model.mjs +0 -97
  298. package/esm2020/lib/core/models/SNO/MConcursante.model.mjs +0 -317
  299. package/esm2020/lib/core/models/SNO/MConcurso.model.mjs +0 -246
  300. package/esm2020/lib/core/models/SNO/MConfiguracionSNO.model.mjs +0 -410
  301. package/esm2020/lib/core/models/SNO/MConstanteNomina.model.mjs +0 -70
  302. package/esm2020/lib/core/models/SNO/MConstantePersonalNomina.model.mjs +0 -79
  303. package/esm2020/lib/core/models/SNO/MDedicacion.model.mjs +0 -35
  304. package/esm2020/lib/core/models/SNO/MDefinicionNomina.model.mjs +0 -309
  305. package/esm2020/lib/core/models/SNO/MDefinicionesBasicas.model.mjs +0 -84
  306. package/esm2020/lib/core/models/SNO/MDeudaAnterior.model.mjs +0 -40
  307. package/esm2020/lib/core/models/SNO/MEncargaduria.model.mjs +0 -138
  308. package/esm2020/lib/core/models/SNO/MEscalaEvaluacion.model.mjs +0 -38
  309. package/esm2020/lib/core/models/SNO/MEscalaEvaluacionDt.model.mjs +0 -37
  310. package/esm2020/lib/core/models/SNO/MEstructuraOrganizativa.model.mjs +0 -119
  311. package/esm2020/lib/core/models/SNO/MFamiliares.model.mjs +0 -86
  312. package/esm2020/lib/core/models/SNO/MFeriados.model.mjs +0 -43
  313. package/esm2020/lib/core/models/SNO/MFideicomiso.model.mjs +0 -406
  314. package/esm2020/lib/core/models/SNO/MFormacionAcademica.model.mjs +0 -49
  315. package/esm2020/lib/core/models/SNO/MGrado.model.mjs +0 -47
  316. package/esm2020/lib/core/models/SNO/MHojaTiempo.model.mjs +0 -117
  317. package/esm2020/lib/core/models/SNO/MImpuestoSobreRenta.model.mjs +0 -73
  318. package/esm2020/lib/core/models/SNO/MMetodoBanco.model.mjs +0 -105
  319. package/esm2020/lib/core/models/SNO/MNominaSimple.model.mjs +0 -86
  320. package/esm2020/lib/core/models/SNO/MPeriodoNomina.model.mjs +0 -184
  321. package/esm2020/lib/core/models/SNO/MPermisos.model.mjs +0 -68
  322. package/esm2020/lib/core/models/SNO/MPersonal.model.mjs +0 -638
  323. package/esm2020/lib/core/models/SNO/MPersonalJubilado.model.mjs +0 -64
  324. package/esm2020/lib/core/models/SNO/MPersonalNomina.model.mjs +0 -313
  325. package/esm2020/lib/core/models/SNO/MPlanHorario.model.mjs +0 -117
  326. package/esm2020/lib/core/models/SNO/MPlantillaConstancia.model.mjs +0 -31
  327. package/esm2020/lib/core/models/SNO/MPrestamo.model.mjs +0 -221
  328. package/esm2020/lib/core/models/SNO/MPrimaGrados.model.mjs +0 -43
  329. package/esm2020/lib/core/models/SNO/MPrimasConcepto.model.mjs +0 -43
  330. package/esm2020/lib/core/models/SNO/MRango.model.mjs +0 -43
  331. package/esm2020/lib/core/models/SNO/MReportesRRHH.mjs +0 -402
  332. package/esm2020/lib/core/models/SNO/MRequisitosConcursante.model.mjs +0 -46
  333. package/esm2020/lib/core/models/SNO/MRequisitosConcursos.model.mjs +0 -37
  334. package/esm2020/lib/core/models/SNO/MRequisitosMinimos.model.mjs +0 -113
  335. package/esm2020/lib/core/models/SNO/MSalarioHistorico.model.mjs +0 -70
  336. package/esm2020/lib/core/models/SNO/MSolicitudEmpleo.model.mjs +0 -121
  337. package/esm2020/lib/core/models/SNO/MTablaVacaciones.model.mjs +0 -57
  338. package/esm2020/lib/core/models/SNO/MTablaVacacionesPeriodo.model.mjs +0 -40
  339. package/esm2020/lib/core/models/SNO/MTabulador.model.mjs +0 -96
  340. package/esm2020/lib/core/models/SNO/MTipoEvaluacion.model.mjs +0 -75
  341. package/esm2020/lib/core/models/SNO/MTipoPersonal.model.mjs +0 -34
  342. package/esm2020/lib/core/models/SNO/MTiposEnfermedad.model.mjs +0 -37
  343. package/esm2020/lib/core/models/SNO/MTrabajoAnterior.model.mjs +0 -65
  344. package/esm2020/lib/core/models/SNO/MUbicacionFisica.model.mjs +0 -61
  345. package/esm2020/lib/core/models/SNO/MVacacionesPersonal.model.mjs +0 -115
  346. package/esm2020/lib/core/models/SOC/charge.model.mjs +0 -66
  347. package/esm2020/lib/core/models/SOC/clause.model.mjs +0 -31
  348. package/esm2020/lib/core/models/SOC/clauseModality.model.mjs +0 -35
  349. package/esm2020/lib/core/models/SOC/configuracionSOC.model.mjs +0 -62
  350. package/esm2020/lib/core/models/SOC/service.model.mjs +0 -46
  351. package/esm2020/lib/core/models/SOC/serviceCharge.model.mjs +0 -37
  352. package/esm2020/lib/core/models/SOC/serviceType.model.mjs +0 -31
  353. package/esm2020/lib/core/models/SPG/UnidadAdministradoraCentral.mjs +0 -43
  354. package/esm2020/lib/core/models/SPG/administrativeUnit.model.mjs +0 -112
  355. package/esm2020/lib/core/models/SPG/comprobantePresupuestario.model.mjs +0 -51
  356. package/esm2020/lib/core/models/SPG/configurationSPG.model.mjs +0 -59
  357. package/esm2020/lib/core/models/SPG/cuentaPresupuesto.model.mjs +0 -120
  358. package/esm2020/lib/core/models/SPG/estructuraPresupuestaria.model.mjs +0 -176
  359. package/esm2020/lib/core/models/SPG/expensiveAccount.model.mjs +0 -108
  360. package/esm2020/lib/core/models/SPG/fuenteFinanciamiento.model.mjs +0 -31
  361. package/esm2020/lib/core/models/SPG/incomeStructureAccount.model.mjs +0 -81
  362. package/esm2020/lib/core/models/SPG/organizationType.model.mjs +0 -12
  363. package/esm2020/lib/core/models/SSS/component.model.mjs +0 -44
  364. package/esm2020/lib/core/models/SSS/group.model.mjs +0 -30
  365. package/esm2020/lib/core/models/SSS/log.model.mjs +0 -29
  366. package/esm2020/lib/core/models/SSS/securityConfiguration.model.mjs +0 -20
  367. package/esm2020/lib/core/models/SSS/sistema.mjs +0 -71
  368. package/esm2020/lib/core/models/SSS/user.model.mjs +0 -32
  369. package/esm2020/lib/core/models/SSS/userDetail.model.mjs +0 -73
  370. package/esm2020/lib/core/models/SSS/userPermit.model.mjs +0 -47
  371. package/esm2020/lib/core/models/SSS/userRights.model.mjs +0 -104
  372. package/esm2020/lib/core/models/STB/MCargosAdicionales.mjs +0 -84
  373. package/esm2020/lib/core/models/STB/deduction.model.mjs +0 -90
  374. package/esm2020/lib/core/models/STB/deductionType.model.mjs +0 -20
  375. package/esm2020/lib/core/models/STB/unidadTributaria.model.mjs +0 -14
  376. package/esm2020/lib/core/models/basic-model.model.mjs +0 -8
  377. package/esm2020/lib/shared/components/catalogo/catalogo.component.mjs +0 -76
  378. package/esm2020/lib/shared/components/catalogo-doble-input/catalogo-doble-input.component.mjs +0 -87
  379. package/esm2020/lib/shared/components/catalogo-estructuras/catalogo-estructuras.component.mjs +0 -74
  380. package/esm2020/lib/shared/components/confirm/confirm.component.mjs +0 -35
  381. package/esm2020/lib/shared/components/icon/icon.component.mjs +0 -22
  382. package/esm2020/lib/shared/components/table-select/table-select.component.mjs +0 -99
  383. package/esm2020/lib/shared/material/customPaginator.mjs +0 -24
  384. package/esm2020/lib/shared/material/material.module.mjs +0 -322
  385. package/esm2020/lib/shared/pipes/iso-currency.pipe.mjs +0 -43
  386. package/esm2020/lib/shared/shared.module.mjs +0 -66
  387. package/esm2020/lib/sigesp.service.mjs +0 -2064
  388. package/esm2020/lib/validation.service.mjs +0 -131
  389. package/esm2020/public-api.mjs +0 -156
  390. package/esm2020/sigesp.mjs +0 -5
  391. package/fesm2015/sigesp.mjs +0 -14622
  392. package/fesm2015/sigesp.mjs.map +0 -1
  393. package/fesm2020/sigesp.mjs +0 -14581
  394. package/fesm2020/sigesp.mjs.map +0 -1
  395. package/index.d.ts +0 -5
  396. package/lib/app/app.component.d.ts +0 -8
  397. package/lib/app/app.module.d.ts +0 -10
  398. package/lib/core/interfaces/Auditoria.d.ts +0 -19
  399. package/lib/core/interfaces/Banco.d.ts +0 -593
  400. package/lib/core/interfaces/Catalogo.d.ts +0 -13
  401. package/lib/core/interfaces/CentroCosto.d.ts +0 -18
  402. package/lib/core/interfaces/Clasificacion.d.ts +0 -6
  403. package/lib/core/interfaces/Cliente.d.ts +0 -36
  404. package/lib/core/interfaces/ComprobantePresupuestario.d.ts +0 -42
  405. package/lib/core/interfaces/Comunidad.d.ts +0 -12
  406. package/lib/core/interfaces/Configuracion.d.ts +0 -101
  407. package/lib/core/interfaces/ConfiguracionRPC.d.ts +0 -10
  408. package/lib/core/interfaces/ConfiguracionSCG.d.ts +0 -54
  409. package/lib/core/interfaces/ConfigurationSPG.d.ts +0 -42
  410. package/lib/core/interfaces/Constantes.d.ts +0 -82
  411. package/lib/core/interfaces/CuentaEgresos.d.ts +0 -153
  412. package/lib/core/interfaces/CuentaIngreso.d.ts +0 -37
  413. package/lib/core/interfaces/CuentaIngresoEstructura.d.ts +0 -24
  414. package/lib/core/interfaces/CuentaInstitucional.d.ts +0 -26
  415. package/lib/core/interfaces/CuentaPresupuesto.d.ts +0 -6
  416. package/lib/core/interfaces/CuentasPorPagar.d.ts +0 -37
  417. package/lib/core/interfaces/Documento.d.ts +0 -6
  418. package/lib/core/interfaces/EntradaSuministro.d.ts +0 -87
  419. package/lib/core/interfaces/Especialidad.d.ts +0 -4
  420. package/lib/core/interfaces/EstructuraPresupuestaria.d.ts +0 -89
  421. package/lib/core/interfaces/FuenteFinanciamiento.d.ts +0 -7
  422. package/lib/core/interfaces/IBancoCuentasPorPagar.d.ts +0 -186
  423. package/lib/core/interfaces/ITipoDepositos.d.ts +0 -17
  424. package/lib/core/interfaces/Integracion.d.ts +0 -6
  425. package/lib/core/interfaces/Lugares.d.ts +0 -40
  426. package/lib/core/interfaces/Moneda.d.ts +0 -20
  427. package/lib/core/interfaces/Nomina.d.ts +0 -548
  428. package/lib/core/interfaces/PlanUnicoCuenta.d.ts +0 -4
  429. package/lib/core/interfaces/Presupuesto.d.ts +0 -122
  430. package/lib/core/interfaces/Proveedor.d.ts +0 -75
  431. package/lib/core/interfaces/RecursosHumanos.d.ts +0 -1616
  432. package/lib/core/interfaces/Response.d.ts +0 -7
  433. package/lib/core/interfaces/Seguridad.d.ts +0 -110
  434. package/lib/core/interfaces/Servicios.d.ts +0 -58
  435. package/lib/core/interfaces/Sistema.d.ts +0 -19
  436. package/lib/core/interfaces/Tributos.d.ts +0 -73
  437. package/lib/core/interfaces/UnidadTributaria.d.ts +0 -11
  438. package/lib/core/interfaces/Usuario.d.ts +0 -52
  439. package/lib/core/interfaces/UsuarioPrefijo.d.ts +0 -12
  440. package/lib/core/models/CFG/Empresa.model.d.ts +0 -52
  441. package/lib/core/models/CFG/Enterprise.model.d.ts +0 -24
  442. package/lib/core/models/CFG/MPrefijo.model.d.ts +0 -22
  443. package/lib/core/models/CFG/Procede.model.d.ts +0 -11
  444. package/lib/core/models/CFG/TasaCambio.model.d.ts +0 -12
  445. package/lib/core/models/CFG/comunidad.model.d.ts +0 -15
  446. package/lib/core/models/CFG/locations.model.d.ts +0 -54
  447. package/lib/core/models/CFG/moneda.model.d.ts +0 -26
  448. package/lib/core/models/CFG/userPrefix.model.d.ts +0 -16
  449. package/lib/core/models/CXP/MConceptosCXP.model.d.ts +0 -12
  450. package/lib/core/models/CXP/MTipoDocumentoCXP.model.d.ts +0 -16
  451. package/lib/core/models/RPC/clasification.model.d.ts +0 -11
  452. package/lib/core/models/RPC/configuracionRPC.model.d.ts +0 -12
  453. package/lib/core/models/RPC/document.model.d.ts +0 -11
  454. package/lib/core/models/RPC/proveedores.model.d.ts +0 -8
  455. package/lib/core/models/RPC/providerBeneficiary.model.d.ts +0 -75
  456. package/lib/core/models/RPC/specialty.model.d.ts +0 -9
  457. package/lib/core/models/SCB/bank.model.d.ts +0 -63
  458. package/lib/core/models/SCG/IncomeAccount.d.ts +0 -43
  459. package/lib/core/models/SCG/accountMarriage.model.d.ts +0 -11
  460. package/lib/core/models/SCG/centroCosto.model.d.ts +0 -23
  461. package/lib/core/models/SCG/configuracionSCG.model.d.ts +0 -58
  462. package/lib/core/models/SCG/cuentaInstitucional.model.d.ts +0 -32
  463. package/lib/core/models/SCG/planUnicoCuenta.model.d.ts +0 -8
  464. package/lib/core/models/SFV/MClienteModel.d.ts +0 -40
  465. package/lib/core/models/SIV/MDetaContable.model.d.ts +0 -21
  466. package/lib/core/models/SIV/MDetaEntrada.model.d.ts +0 -33
  467. package/lib/core/models/SIV/MEntradaSuministro.model.d.ts +0 -47
  468. package/lib/core/models/SIV/MTipoDepositos.model.d.ts +0 -21
  469. package/lib/core/models/SNO/MAnticipoPrestaciones.model.d.ts +0 -32
  470. package/lib/core/models/SNO/MArchivoTxtCampo.model.d.ts +0 -21
  471. package/lib/core/models/SNO/MArchivosTxt.model.d.ts +0 -15
  472. package/lib/core/models/SNO/MAsignacionCargo.model.d.ts +0 -79
  473. package/lib/core/models/SNO/MAspectoEvaluacion.model.d.ts +0 -30
  474. package/lib/core/models/SNO/MAuditoria.model.d.ts +0 -21
  475. package/lib/core/models/SNO/MBeneficiario.model.d.ts +0 -48
  476. package/lib/core/models/SNO/MCargaFamiliar.model.d.ts +0 -18
  477. package/lib/core/models/SNO/MCargaMasiva.model.d.ts +0 -12
  478. package/lib/core/models/SNO/MCargosPersonal.model.d.ts +0 -40
  479. package/lib/core/models/SNO/MClasificacionObrero.mdel.d.ts +0 -16
  480. package/lib/core/models/SNO/MCodigoUnicoRac.model.d.ts +0 -14
  481. package/lib/core/models/SNO/MComponete.model.d.ts +0 -14
  482. package/lib/core/models/SNO/MConceptoVacaciones.model.d.ts +0 -30
  483. package/lib/core/models/SNO/MConceptosNomina.model.d.ts +0 -77
  484. package/lib/core/models/SNO/MConceptosPersonalNomina.model.d.ts +0 -34
  485. package/lib/core/models/SNO/MConcursante.model.d.ts +0 -104
  486. package/lib/core/models/SNO/MConcurso.model.d.ts +0 -83
  487. package/lib/core/models/SNO/MConfiguracionSNO.model.d.ts +0 -138
  488. package/lib/core/models/SNO/MConstanteNomina.model.d.ts +0 -24
  489. package/lib/core/models/SNO/MConstantePersonalNomina.model.d.ts +0 -27
  490. package/lib/core/models/SNO/MDedicacion.model.d.ts +0 -13
  491. package/lib/core/models/SNO/MDefinicionNomina.model.d.ts +0 -119
  492. package/lib/core/models/SNO/MDefinicionesBasicas.model.d.ts +0 -26
  493. package/lib/core/models/SNO/MDeudaAnterior.model.d.ts +0 -14
  494. package/lib/core/models/SNO/MEncargaduria.model.d.ts +0 -47
  495. package/lib/core/models/SNO/MEscalaEvaluacion.model.d.ts +0 -15
  496. package/lib/core/models/SNO/MEscalaEvaluacionDt.model.d.ts +0 -14
  497. package/lib/core/models/SNO/MEstructuraOrganizativa.model.d.ts +0 -42
  498. package/lib/core/models/SNO/MFamiliares.model.d.ts +0 -31
  499. package/lib/core/models/SNO/MFeriados.model.d.ts +0 -16
  500. package/lib/core/models/SNO/MFideicomiso.model.d.ts +0 -143
  501. package/lib/core/models/SNO/MFormacionAcademica.model.d.ts +0 -18
  502. package/lib/core/models/SNO/MGrado.model.d.ts +0 -18
  503. package/lib/core/models/SNO/MHojaTiempo.model.d.ts +0 -40
  504. package/lib/core/models/SNO/MImpuestoSobreRenta.model.d.ts +0 -25
  505. package/lib/core/models/SNO/MMetodoBanco.model.d.ts +0 -35
  506. package/lib/core/models/SNO/MNominaSimple.model.d.ts +0 -36
  507. package/lib/core/models/SNO/MPeriodoNomina.model.d.ts +0 -58
  508. package/lib/core/models/SNO/MPermisos.model.d.ts +0 -24
  509. package/lib/core/models/SNO/MPersonal.model.d.ts +0 -219
  510. package/lib/core/models/SNO/MPersonalJubilado.model.d.ts +0 -23
  511. package/lib/core/models/SNO/MPersonalNomina.model.d.ts +0 -100
  512. package/lib/core/models/SNO/MPlanHorario.model.d.ts +0 -41
  513. package/lib/core/models/SNO/MPlantillaConstancia.model.d.ts +0 -11
  514. package/lib/core/models/SNO/MPrestamo.model.d.ts +0 -69
  515. package/lib/core/models/SNO/MPrimaGrados.model.d.ts +0 -15
  516. package/lib/core/models/SNO/MPrimasConcepto.model.d.ts +0 -15
  517. package/lib/core/models/SNO/MRango.model.d.ts +0 -15
  518. package/lib/core/models/SNO/MReportesRRHH.d.ts +0 -130
  519. package/lib/core/models/SNO/MRequisitosConcursante.model.d.ts +0 -16
  520. package/lib/core/models/SNO/MRequisitosConcursos.model.d.ts +0 -14
  521. package/lib/core/models/SNO/MRequisitosMinimos.model.d.ts +0 -39
  522. package/lib/core/models/SNO/MSalarioHistorico.model.d.ts +0 -25
  523. package/lib/core/models/SNO/MSolicitudEmpleo.model.d.ts +0 -42
  524. package/lib/core/models/SNO/MTablaVacaciones.model.d.ts +0 -15
  525. package/lib/core/models/SNO/MTablaVacacionesPeriodo.model.d.ts +0 -15
  526. package/lib/core/models/SNO/MTabulador.model.d.ts +0 -39
  527. package/lib/core/models/SNO/MTipoEvaluacion.model.d.ts +0 -28
  528. package/lib/core/models/SNO/MTipoPersonal.model.d.ts +0 -13
  529. package/lib/core/models/SNO/MTiposEnfermedad.model.d.ts +0 -14
  530. package/lib/core/models/SNO/MTrabajoAnterior.model.d.ts +0 -24
  531. package/lib/core/models/SNO/MUbicacionFisica.model.d.ts +0 -21
  532. package/lib/core/models/SNO/MVacacionesPersonal.model.d.ts +0 -40
  533. package/lib/core/models/SOC/charge.model.d.ts +0 -24
  534. package/lib/core/models/SOC/clause.model.d.ts +0 -11
  535. package/lib/core/models/SOC/clauseModality.model.d.ts +0 -13
  536. package/lib/core/models/SOC/configuracionSOC.model.d.ts +0 -20
  537. package/lib/core/models/SOC/service.model.d.ts +0 -16
  538. package/lib/core/models/SOC/serviceCharge.model.d.ts +0 -13
  539. package/lib/core/models/SOC/serviceType.model.d.ts +0 -11
  540. package/lib/core/models/SPG/UnidadAdministradoraCentral.d.ts +0 -15
  541. package/lib/core/models/SPG/administrativeUnit.model.d.ts +0 -58
  542. package/lib/core/models/SPG/comprobantePresupuestario.model.d.ts +0 -46
  543. package/lib/core/models/SPG/configurationSPG.model.d.ts +0 -37
  544. package/lib/core/models/SPG/cuentaPresupuesto.model.d.ts +0 -57
  545. package/lib/core/models/SPG/estructuraPresupuestaria.model.d.ts +0 -123
  546. package/lib/core/models/SPG/expensiveAccount.model.d.ts +0 -49
  547. package/lib/core/models/SPG/fuenteFinanciamiento.model.d.ts +0 -11
  548. package/lib/core/models/SPG/incomeStructureAccount.model.d.ts +0 -38
  549. package/lib/core/models/SPG/organizationType.model.d.ts +0 -9
  550. package/lib/core/models/SSS/component.model.d.ts +0 -16
  551. package/lib/core/models/SSS/group.model.d.ts +0 -16
  552. package/lib/core/models/SSS/log.model.d.ts +0 -15
  553. package/lib/core/models/SSS/securityConfiguration.model.d.ts +0 -9
  554. package/lib/core/models/SSS/sistema.d.ts +0 -25
  555. package/lib/core/models/SSS/user.model.d.ts +0 -22
  556. package/lib/core/models/SSS/userDetail.model.d.ts +0 -26
  557. package/lib/core/models/SSS/userPermit.model.d.ts +0 -18
  558. package/lib/core/models/SSS/userRights.model.d.ts +0 -35
  559. package/lib/core/models/STB/MCargosAdicionales.d.ts +0 -31
  560. package/lib/core/models/STB/deduction.model.d.ts +0 -30
  561. package/lib/core/models/STB/deductionType.model.d.ts +0 -9
  562. package/lib/core/models/STB/unidadTributaria.model.d.ts +0 -13
  563. package/lib/core/models/basic-model.model.d.ts +0 -6
  564. package/lib/shared/components/catalogo/catalogo.component.d.ts +0 -35
  565. package/lib/shared/components/catalogo-doble-input/catalogo-doble-input.component.d.ts +0 -39
  566. package/lib/shared/components/catalogo-estructuras/catalogo-estructuras.component.d.ts +0 -38
  567. package/lib/shared/components/confirm/confirm.component.d.ts +0 -21
  568. package/lib/shared/components/icon/icon.component.d.ts +0 -11
  569. package/lib/shared/components/table-select/table-select.component.d.ts +0 -39
  570. package/lib/shared/material/customPaginator.d.ts +0 -9
  571. package/lib/shared/material/material.module.d.ts +0 -48
  572. package/lib/shared/pipes/iso-currency.pipe.d.ts +0 -13
  573. package/lib/shared/shared.module.d.ts +0 -16
  574. package/lib/sigesp.service.d.ts +0 -1060
  575. package/lib/validation.service.d.ts +0 -15
  576. package/public-api.d.ts +0 -164
@@ -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/core/models/SCG/planUnicoCuenta.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/SPG/estructuraPresupuestaria.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/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/MPrimaGrados.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/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 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.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 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 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.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 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 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\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\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 tipoCestaTicket:string=''; //ojo\r\n public conceptoJubilacion:string='0000'\r\n public categoriaJubilacion:string='001' \r\n public idCategoriaViaticos:number=0;\r\n public pagoTaquillaPersonal:number=0;\r\n public fechaAscesoPersonal:string='1900-01-01';\r\n public descripcionAsignacionCargo:string=''; \r\n public saldoNormalPersonal:number=0; \r\n public estatusEncargaduriaPersonal: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 codigoCentroCosto: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 codigoUnicoRac:string='';\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 \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.tipoCestaTicket=e.tipcestic;\r\n this.conceptoJubilacion=e.conjub;\r\n this.categoriaJubilacion=e.catjub;\r\n this.idCategoriaViaticos=parseInt(e.id_claviaticos);\r\n this.pagoTaquillaPersonal=parseInt(e.pagtaqper);\r\n this.fechaAscesoPersonal=e.fecascper;\r\n this.descripcionAsignacionCargo=e.descasicar;\r\n this.saldoNormalPersonal=+e.salnorper;\r\n this.estatusEncargaduriaPersonal=parseInt(e.estencper);\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.codigoCentroCosto=e.codcencos;\r\n this.idClasificacionObrero=parseInt(e.id_claobr);\r\n this.idCodigoUnicoRac=parseInt(e.id_codunirac);\r\n this.codigoUnicoRac=e.codunirac;\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\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 tipcestic:this.tipoCestaTicket,\r\n conjub:this.conceptoJubilacion,\r\n catjub:this.categoriaJubilacion,\r\n id_claviaticos:this.idCategoriaViaticos.toString(),\r\n pagtaqper:this.pagoTaquillaPersonal.toString(),\r\n fecascper:this.fechaAscesoPersonal,\r\n descasicar:this.descripcionAsignacionCargo,\r\n salnorper:this.saldoNormalPersonal.toString(),\r\n estencper:this.estatusEncargaduriaPersonal.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 codcencos:this.codigoCentroCosto,\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 codunirac:this.codigoUnicoRac,\r\n id_codunirac:this.idCodigoUnicoRac.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 \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 { 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 {\r\n public cuenta: string = null;\r\n public denominacion: string = null;\r\n public status: string = null;\r\n public tipo: string = null;\r\n\r\n constructor(cuentaPresupuesto: ICuentaPresupuesto) {\r\n this.cuenta = cuentaPresupuesto.sig_cuenta.trim();\r\n this.denominacion = cuentaPresupuesto.denominacion;\r\n this.status = cuentaPresupuesto.status;\r\n this.tipo = cuentaPresupuesto.tipcta\r\n }\r\n}\r\n\r\n\r\n\r\nexport class MCuentaEgresos extends MBasicModel{\r\n\r\n public idEmpresa: 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 cuentaONCOP: 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 codestpro1: string = '';\r\n public codestpro2: string = '';\r\n public codestpro3: string = '';\r\n public codestpro4: string = '';\r\n public codestpro5: 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 codfuefin: number= 0;\r\n\r\n constructor(cuenta?: ICuentaEgresos, level?: number, isNew?: boolean){\r\n super();\r\n if(cuenta){\r\n this.idEmpresa = parseInt(cuenta.id_empresa);\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 = parseInt(cuenta.aumento);\r\n this.asignado = parseInt(cuenta.asignado);\r\n this.causado = parseInt(cuenta.causado);\r\n this.pagado = parseInt(cuenta.pagado)\r\n this.distribuir = parseInt(cuenta.distribuir);\r\n this.disminucion = parseInt(cuenta.disminiucion);\r\n this.precomprometido = parseInt(cuenta.precomprometido)\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.cuentaONCOP = cuenta.cueoncop;\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.codfuefin = parseInt(cuenta.codfuefin);\r\n this.id = cuenta.id_del_spgcta ? parseInt(cuenta.id_del_spgcta) : 0;\r\n \r\n this.codestpro1 = cuenta.estructura ? cuenta.estructura.codestpro1 : '';\r\n this.codestpro2 = cuenta.estructura ? cuenta.estructura.codestpro2 : '';\r\n this.codestpro3 = cuenta.estructura ? cuenta.estructura.codestpro3 : '';\r\n this.codestpro4 = cuenta.estructura ? cuenta.estructura.codestpro4 : '';\r\n this.codestpro5 = cuenta.estructura ? cuenta.estructura.codestpro5 : '';\r\n \r\n if (cuenta.estructura && level) {\r\n if (level == 3) {\r\n this.estructura = `${this.codestpro1}-${this.codestpro2}-${this.codestpro3}`\r\n } else if (level == 4) {\r\n this.estructura = `${this.codestpro1}-${this.codestpro2}-${this.codestpro3}-${this.codestpro4}`\r\n } else {\r\n this.estructura = `${this.codestpro1}-${this.codestpro2}-${this.codestpro3}-${this.codestpro4}-${this.codestpro5}`\r\n }\r\n }\r\n \r\n this.isNew = false\r\n \r\n } else{\r\n this.isNew = true\r\n }\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 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 idEmpresa: 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.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 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 codigo: string='';\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.codigo = moneda.codmon;\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 codmon: this.codigo,\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 codigo: string = '';\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.codigo = moneda.codmon;\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 codmon: this.codigo,\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 activo: string='';\r\n public bloqueoAnulacion: string='0';\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 casamientoConceptoMovimientoConCuentaBancaria: string='0';\r\n public cierreSemestral1: string='0';\r\n public cierreSemestral2: string='0';\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 estadoCierreSemestral: string='0';\r\n public tipoContabilidadPatrimonialOFiscal: string='';\r\n public formatoCuentaContable: string='';\r\n public formatoPlanCuenta: string='';\r\n public gasto: string='';\r\n public idEmpresa: number=0;\r\n public idSCG: 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\r\n constructor(configuracion?: IConfiguracionSCG) {\r\n super();\r\n if(configuracion){\r\n this.activo = configuracion.activo;\r\n this.bloqueoAnulacion = configuracion.bloanu;\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.casamientoConceptoMovimientoConCuentaBancaria = configuracion.casconmov;\r\n this.cierreSemestral1 = configuracion.ciesem1;\r\n this.cierreSemestral2 = configuracion.ciesem2;\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.estadoCierreSemestral = configuracion.estciesem;\r\n this.tipoContabilidadPatrimonialOFiscal = configuracion.esttipcon;\r\n this.formatoCuentaContable = configuracion.formcont;\r\n this.formatoPlanCuenta = configuracion.formplan;\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 }\r\n }\r\n\r\n public dataInterface():IConfiguracionSCG{\r\n return {\r\n activo: this.activo,\r\n bloanu:this.bloqueoAnulacion,\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 casconmov: this.casamientoConceptoMovimientoConCuentaBancaria,\r\n ciesem1: this.cierreSemestral1,\r\n ciesem2: this.cierreSemestral2,\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 estciesem: this.estadoCierreSemestral,\r\n esttipcon: this.tipoContabilidadPatrimonialOFiscal,\r\n formcont: this.formatoCuentaContable,\r\n formplan:this.formatoPlanCuenta,\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 { 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 { 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 cuentasPresupuestoCedentes: string;\r\n public cunetasPresupuestoRecaudadores: string;\r\n public estatusAnticipoPresupuestario: string;\r\n public estatusCierrePresupuestoGasto: string;\r\n public estatusCierrePresupuestoIngreso: string;\r\n public estatusIntegracionCredito: string;\r\n public estatusModoEstructuraPresupuestaria: string;\r\n public estatusPresupuestoIngreso: string;\r\n public estatusDecimalesPresupuestoGasto: string;\r\n public estatusDecimalesPresupuestoIngreso: string;\r\n public estatusValidacionPresupuestoGasto: string;\r\n public estatusVariacionPartidas: string;\r\n public formatoPresupuestoGasto: string;\r\n public formatoPresupuestoIngreso: string;\r\n public digitosCuentasPresupuestoContabilidadGeneralParaGastos: string;\r\n public idEmpresa: string;\r\n public IdSPG: string;\r\n public digitoCuentaPresupuestoContabilidadParaIngresos: string;\r\n public longitudesCodigoEstructuraPresupuestria: string[] = [];\r\n public nivelValidacionEstructura: string;\r\n public nombresEstructuraPresupuestaria: string[] = [];\r\n public numerosNiveles: string;\r\n public validacionPorEstucturaPresupuestaria: string;\r\n public validacionNivelCuentaGenerica: string;\r\n public estatusModoAperturaCuentas: string;\r\n public saldoInicialProgramado: string;\r\n public saldoInicialEjecutado: string;\r\n public estatusContadorCompromiso: string;\r\n public numeroInicialCompromiso: string;\r\n public moneda: MMonedaConfig = null;\r\n public codigoONAPRE=null;\r\n public decimalesAlternos:number=0;\r\n\r\n constructor(configuration: IConfigurationSPG) {\r\n this.cuentasPresupuestoCedentes = configuration.ctaspgced;\r\n this.cunetasPresupuestoRecaudadores = configuration.ctaspgrec;\r\n this.estatusAnticipoPresupuestario = configuration.estantspg;\r\n this.estatusCierrePresupuestoGasto = configuration.estciespg;\r\n this.estatusCierrePresupuestoIngreso = configuration.estciespi;\r\n this.estatusIntegracionCredito = configuration.estintcred;\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.estatusValidacionPresupuestoGasto = configuration.estvalspg;\r\n this.estatusVariacionPartidas = configuration.estvarpar;\r\n this.formatoPresupuestoGasto = configuration.formpre;\r\n this.formatoPresupuestoIngreso = configuration.formspi;\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 || null);\r\n this.longitudesCodigoEstructuraPresupuestria.push(configuration.loncodestpro2 || null);\r\n this.longitudesCodigoEstructuraPresupuestria.push(configuration.loncodestpro3 || null);\r\n this.longitudesCodigoEstructuraPresupuestria.push(configuration.loncodestpro4 || null);\r\n this.longitudesCodigoEstructuraPresupuestria.push(configuration.loncodestpro5 || null);\r\n this.nivelValidacionEstructura = configuration.nivvalest;\r\n this.nombresEstructuraPresupuestaria.push(configuration.nomestpro1 || null);\r\n this.nombresEstructuraPresupuestaria.push(configuration.nomestpro2 || null);\r\n this.nombresEstructuraPresupuestaria.push(configuration.nomestpro3 || null);\r\n this.nombresEstructuraPresupuestaria.push(configuration.nomestpro4 || null);\r\n this.nombresEstructuraPresupuestaria.push(configuration.nomestpro5 || null);\r\n this.numerosNiveles = configuration.numniv;\r\n this.validacionPorEstucturaPresupuestaria = configuration.valestpre;\r\n this.validacionNivelCuentaGenerica = configuration.vali_nivel;\r\n this.estatusModoAperturaCuentas = configuration.estmodape;\r\n this.saldoInicialProgramado = configuration.salinipro;\r\n this.saldoInicialEjecutado = configuration.salinieje\r\n this.estatusContadorCompromiso = configuration.estconcom;\r\n this.numeroInicialCompromiso = configuration.numinicom;\r\n this.codigoONAPRE= configuration.codasiona;\r\n this.moneda = new MMonedaConfig({\r\n codiso: configuration.moneda_actual.codiso, \r\n codmon: configuration.moneda_actual.codmon,\r\n denmon: configuration.moneda_actual.denmon,\r\n separadordec: configuration.moneda_actual.separadordec,\r\n separadormil: configuration.moneda_actual.separadormil,\r\n simmon: configuration.moneda_actual.simmon,\r\n decimal: configuration.moneda_actual.decimal,\r\n decimal_alt:this.decimalesAlternos.toString(),\r\n })\r\n }\r\n}","import { 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 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 codigoFuenteFinanciamiento: 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 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.codigoFuenteFinanciamiento = ep.codfuefin;\r\n this.denominacionEstructuraProgramatica = ep.denestpro3;\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 this.codigoCentroCosto = ep.codcencos;\r\n this.codigoFuenteFinanciamiento = ep.codfuefin;\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 codigoCentroCosto: string;\r\n public codigoFuenteFinanciamiento: 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 this.codigoCentroCosto = ep.codcencos;\r\n this.codigoFuenteFinanciamiento = ep.codfuefin;\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 codcencos: this.codigoCentroCosto,\r\n codfuefin: this.codigoFuenteFinanciamiento,\r\n }\r\n }\r\n}\r\n\r\nexport class MEstructuraPresupuestariaFiveComplete {\r\n public codigoCentroCosto: string;\r\n public codigoEstructuraProgramaticaOne: string;\r\n public codigoEstructuraProgramaticaTwo: string;\r\n public codigoEstructuraProgramaticaThree: string;\r\n public codigoEstructuraProgramaticaFour: string;\r\n public codigoEstructuraProgramatica: string;\r\n public codigoFuenteFinanciera: string;\r\n public codigoFuenteFinancieraParaMostrar: string;\r\n public denominacionFueteFinanaciamiento: string;\r\n public denominacionEstructuraProgramaticaOne: string;\r\n public denominacionEstructuraProgramaticaTwo: string;\r\n public denominacionEstructuraProgramaticaThree: string;\r\n public denominacionEstructuraProgramaticaFour: string;\r\n public denominacionEstructuraProgramatica: string;\r\n public estatusClasificacion: string;\r\n public tipo: string;\r\n public idEmpresa: string;\r\n public idEstructuraOne: string;\r\n public idEstructuraTwo: string;\r\n public idEstructuraThree: string;\r\n public idEstructuraFor: string;\r\n public idEstructuraFive: string;\r\n public estructura: string = null;\r\n public denominacion: string = null;\r\n public level: number = null;\r\n public isNew: boolean = false;\r\n\r\n constructor(ep: IEstructuraPresupuestariaFiveComplete, level: number = null) {\r\n\r\n if(ep){\r\n this.codigoCentroCosto = ep.codcencos;\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.codigoEstructuraProgramatica = ep.codestpro5 ? ep.codestpro5 : '---';\r\n this.codigoFuenteFinanciera = ep.codfuefin;\r\n this.codigoFuenteFinancieraParaMostrar= ep.codigoftefin;\r\n this.denominacionFueteFinanaciamiento=ep.denfuefin; \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.denominacionEstructuraProgramatica = 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 ? ep.id_ep4 : '0';\r\n this.idEstructuraFive = ep.id_ep5 ? ep.id_ep5 : '0';\r\n\r\n if (level) {\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.denominacionEstructuraProgramatica\r\n }\r\n }\r\n }\r\n }\r\n\r\n public dataInterface():IEstructuraPresupuestariaFiveComplete{\r\n return {\r\n codcencos: this.codigoCentroCosto,\r\n codestpro1: this.codigoEstructuraProgramaticaOne,\r\n codestpro2: this.codigoEstructuraProgramaticaTwo,\r\n codestpro3: this.codigoEstructuraProgramaticaThree,\r\n codestpro4: this.codigoEstructuraProgramaticaFour,\r\n codestpro5: this.codigoEstructuraProgramatica,\r\n codfuefin: this.codigoFuenteFinanciera,\r\n denestpro1: this.denominacionEstructuraProgramaticaOne,\r\n denestpro2: this.denominacionEstructuraProgramaticaTwo,\r\n denestpro3: this.denominacionEstructuraProgramaticaThree,\r\n denestpro4: this.denominacionEstructuraProgramaticaFour,\r\n denestpro5: this.denominacionEstructuraProgramatica,\r\n estcla: this.estatusClasificacion,\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.idEstructuraFor,\r\n id_ep5: this.idEstructuraFive,\r\n codigoftefin: this.codigoFuenteFinancieraParaMostrar,\r\n denfuefin: this.denominacionFueteFinanaciamiento,\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 { 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 centro: string;\r\n public denominacion: string;\r\n public usuarios:MUsuarioCentroCosto[]=[];\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.centro = centroCosto.centro ? centroCosto.centro : centroCosto.codcencos;\r\n this.denominacion = centroCosto.denominacion;\r\n if(centroCosto.usuarios) {\r\n this.usuarios = centroCosto.usuarios.map(e => new MUsuarioCentroCosto(e));\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 codcencos:this.centro, \r\n denominacion:this.denominacion,\r\n usuarios: this.usuarios.map(e => e.dataInterface()),\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 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.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 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: string='0';\r\n public codigo: string='0';\r\n\r\n constructor(fuente?: IFuenteFinanciamiento) {\r\n super();\r\n if(fuente){\r\n this.codigoFuenteFinanciamiento = fuente.codfuefin;\r\n this.denominacionFuenteFinanciamiento = fuente.denfuefin;\r\n this.explicacionFuenteFinanciamiento = fuente.expfuefin;\r\n this.idEmpresa = fuente.id_empresa;\r\n this.codigo = fuente.codigoftefin\r\n } else {\r\n this.isNew=true\r\n } \r\n }\r\n\r\n public dataInterface():IFuenteFinanciamiento{\r\n return{\r\n codfuefin: this.codigoFuenteFinanciamiento,\r\n denfuefin: this.denominacionFuenteFinanciamiento,\r\n expfuefin: this.explicacionFuenteFinanciamiento,\r\n id_empresa: this.idEmpresa,\r\n codigoftefin: this.codigo,\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 nivel: number = 0;\r\n public denominacion: string = '';\r\n public cuenta: string = '';\r\n public cuentaContable: string = '------------';\r\n public cuentaONCOP: 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 codestpro1: string = '';\r\n public codestpro2: string = '';\r\n public codestpro3: string = '';\r\n public codestpro4: string = '';\r\n public codestpro5: 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 codfuefin: number= 0;\r\n \r\n constructor(cuenta?: ICuentaEgresos, level?: number, isNew?: boolean){\r\n super();\r\n if(cuenta){\r\n this.idEmpresa = parseInt(cuenta.id_empresa);\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.cuentaONCOP = cuenta.cueoncop;\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.codfuefin = parseInt(cuenta.codfuefin);\r\n this.id = cuenta.id_del_spgcta ? parseInt(cuenta.id_del_spgcta) : 0;\r\n \r\n this.codestpro1 = cuenta.estructura ? cuenta.estructura.codestpro1 : '';\r\n this.codestpro2 = cuenta.estructura ? cuenta.estructura.codestpro2 : '';\r\n this.codestpro3 = cuenta.estructura ? cuenta.estructura.codestpro3 : '';\r\n this.codestpro4 = cuenta.estructura ? cuenta.estructura.codestpro4 : '';\r\n this.codestpro5 = cuenta.estructura ? cuenta.estructura.codestpro5 : '';\r\n \r\n if (cuenta.estructura && level) {\r\n if (level == 3) {\r\n this.estructura = `${this.codestpro1}-${this.codestpro2}-${this.codestpro3}`\r\n } else if (level == 4) {\r\n this.estructura = `${this.codestpro1}-${this.codestpro2}-${this.codestpro3}-${this.codestpro4}`\r\n } else {\r\n this.estructura = `${this.codestpro1}-${this.codestpro2}-${this.codestpro3}-${this.codestpro4}-${this.codestpro5}`\r\n }\r\n }\r\n \r\n this.isNew = false\r\n \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\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.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 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 this.usuarios = sis.usuarios.map(e => new MUserDetail(e)); \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 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 codigoFuenteFinanciamiento: number;\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\r\n constructor(comprobante: IComprobantePresupuestarioEgresos) {\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.SPGCuenta = parseInt(comprobante.spg_cuenta);\r\n this.operacion = comprobante.operacion;\r\n this.codigoFuenteFinanciamiento = parseInt(comprobante.codfuefin);\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 }\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 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.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 = null;\r\n public nivel: number = null;\r\n public denominacion: string = '';\r\n public cuenta: string = null;\r\n public cuentaContable: string = null;\r\n public cuentaONCOP: 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, isNew: boolean = false){\r\n super();\r\n if (cuenta) {\r\n this.idEmpresa = parseInt(cuenta.id_empresa);\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.cuentaONCOP = cuenta.cueoncop;\r\n this.isNew = isNew;\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 }\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 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.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 } from '../../interfaces/Proveedor';\r\nimport { MBasicModel } from '../basic-model.model';\r\n\r\nexport class MProviderBeneficiary extends MBasicModel{\r\n\r\n public idEmpresa: number = null;\r\n public id: number = null;\r\n public rif: string = null;\r\n public idDocument: string = null;\r\n public name: string = null;\r\n public address: string = null;\r\n public nit: string = null;\r\n public telephone: string = null;\r\n public mobileTelephone: string = null;\r\n public nationality: string = null;\r\n public email: string = null;\r\n public webAddress: string = null;\r\n public status: number = null;\r\n public type: string = null;\r\n public typeDesignation:string = null;\r\n public observation: string = null;\r\n public contribuiterType: 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 currencyCode: string = null;\r\n public organizationType: number = null;\r\n public systemLogDate: string = null;\r\n public licenceNumber: string = null;\r\n public providerSubalternLogDate: string = null;\r\n public subscribedShareCapital: number = null;\r\n public idRNC: string = null;\r\n public dateRNC: string = null;\r\n public expirationDateRNC: string = null;\r\n public statusRNC: string = null;\r\n public subalternId: string = null;\r\n public subalternLogDate: string = null;\r\n public socialSecurityId: string = null;\r\n public socialSecurityExpirationDate: string = null;\r\n public idINCE: string = null;\r\n public expirationDateINCE: string = null;\r\n public registryNumber: string = null;\r\n public registryTome: string = null;\r\n public idFolio: string = null;\r\n public registryModification: string = null;\r\n public registryModificationDate: string = null;\r\n public tomeModification: string = null;\r\n public folioModification: string = null;\r\n public inspector: string = null;\r\n public accountableAccount: string = null;\r\n public advanceAccountableAccount: string = null;\r\n public receptionAccountableAccount: string = null;\r\n public estpropri: string = null;\r\n public sigecofCode: string = null;\r\n public passport: string = null;\r\n public accounts: MProviderBankAccount[] = [];\r\n public personType: string = null;\r\n public isNew: boolean = false;\r\n\r\n constructor(proben: IProviderBeneficiary = null){\r\n super();\r\n if (proben) {\r\n this.id = parseInt(proben.id_proveedor);\r\n this.idEmpresa = parseInt(proben.id_empresa);\r\n this.rif = proben.rifpro;\r\n this.idDocument = 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.status = parseInt(proben.estpro);\r\n this.type = proben.tippro;\r\n this.observation = proben.obspro;\r\n this.contribuiterType = proben.tipconpro;\r\n if(proben.codest){this.stateCode = proben.codest.trim();}\r\n if(proben.codpar){this.stateCode = proben.codpar.trim();}\r\n if(proben.codpai){this.countryCode = proben.codpai.trim();}\r\n if(proben.codmun){this.municipalityCode = proben.codmun.trim();} \r\n this.currencyCode = proben.codmon;\r\n this.organizationType = parseInt(proben.id_tiporg);\r\n this.systemLogDate = proben.fecregsis;\r\n this.licenceNumber = proben.numlic;\r\n this.providerSubalternLogDate = proben.fecregpro;\r\n this.subscribedShareCapital = parseFloat(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.receptionAccountableAccount = proben.sc_cuentarecdoc;\r\n this.estpropri = proben.estpropri;\r\n this.sigecofCode = proben.codsigcof;\r\n this.passport = proben.pasaporte;\r\n if(proben.cuentas){\r\n this.accounts = proben.cuentas.map(e => new MProviderBankAccount(e));\r\n }\r\n this.personType = proben.tipperpro;\r\n this.webAddress = proben.webpro;\r\n this.typeDesignation = this.type=='P'?'PROVEEDOR':this.type=='B'? 'BENEFICIARIO': this.type=='C'?'CONTRATISTA':this.type=='N'?'NINGUNO':'PROVEEDOR-CONTRATISTA'\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\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}","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 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.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 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 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.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 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\n\r\nexport class MAdministrativeUnit extends MBasicModel {\r\n public idEmpresa: number = 0;\r\n public idEnterprise: number=0;\r\n public codigo: string = '';\r\n public denominacion: string = '';\r\n public unidadCentral: number = 0; \r\n public emiteRequisicion: boolean = true;\r\n public centroCosto: string = '';\r\n public id: number = 0;\r\n public denominacionUnidadCentral:string='';\r\n public codigoUnidadCentral:string='';\r\n public denominacionCentroCosto:string='';\r\n public estructuras:MEstructuras[]=[];\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.id = +unidad.id_uniadm;\r\n this.codigo = unidad.coduniadm;\r\n this.denominacion = unidad.denuniadm; \r\n this.unidadCentral = +unidad.coduac;\r\n this.emiteRequisicion = unidad.estemireq=='1'? true:false;\r\n this.centroCosto = unidad.codcencos; \r\n this.denominacionUnidadCentral= unidad.denuac;\r\n this.codigoUnidadCentral=unidad.codigouac;\r\n this.denominacionCentroCosto=unidad.denenominacion;\r\n if(unidad.estructuras){\r\n this.estructuras=unidad.estructuras.map(e=> new MEstructuras(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 coduniadm: this.codigo,\r\n coduac: this.unidadCentral.toString(), \r\n denuniadm: this.denominacion,\r\n estemireq: this.emiteRequisicion? '1':'0',\r\n codcencos: this.centroCosto,\r\n id_uniadm: this.id.toString(), \r\n estructuras: this.estructuras.map(function (e) { return e.dataInterface(); }),\r\n }\r\n }\r\n }\r\n\r\n export class MEstructuras extends MBasicModel {\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 fuentes: MFuenteFinanciamiento[]=[];​​​ \r\n constructor(dt?:IEstructuras){\r\n super();\r\n if(dt){\r\n this.cuentaContable= dt.cuentacontable;\r\n this.cuentaPresupuestaria= dt.cuentapresupuestaria;\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.codeep1;\r\n this.codigoEep2= dt.codeep2;\r\n this.codigoEep3= dt.codeep3;\r\n this.codigoEep4= dt.codeep4;\r\n this.codigoEep5= dt.codeep5;\r\n this.denominacionEstructura= dt.denestructura;\r\n this.denominacion5= dt.status;\r\n this.denominacion3= dt.status;\r\n this.idDtUni= parseInt(dt.id_dt_uniadm);\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_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 }\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 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.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 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 codigoMoneda:string=''; \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 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 codigoFuenteFinanciaminto:number=0;\r\n public idUnidadAdministrativa:number=0;\r\n public denominacionUnidadAdministrativa:string='';\r\n public codigoUnidadAdministrativa:string='';\r\n public codigoFuenteFinanciamintoMostrar:string='';\r\n public codigoCentroCosto:string='';\r\n public estructuraPresupuestaria:string=''; \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.codigoMoneda=e.codmon; \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 this.cuentaDiferencialCambiario=e.cuenta_diferencial;\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.codigoFuenteFinanciaminto=+e.codfuefin;\r\n this.idUnidadAdministrativa=+e.id_uniadm;\r\n this.denominacionUnidadAdministrativa=e.denuniadm;\r\n this.codigoUnidadAdministrativa=e.coduniadm;\r\n this.codigoFuenteFinanciamintoMostrar=e.codigoftefin;\r\n this.codigoCentroCosto=e.codcencos;\r\n this.estructuraPresupuestaria=e.estpre; \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 codmon:this.codigoMoneda,\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 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_uniadm: this.idUnidadAdministrativa.toString(),\r\n codcencos: this.codigoCentroCosto,\r\n codfuefin: this.codigoFuenteFinanciaminto.toString(),\r\n estpre: this.estructuraPresupuestaria,\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}","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 prenomina:boolean=false;\r\n public calculado:boolean=false;\r\n public mes:number=0;\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.prenomina=e.prenomina=='1'? true:false;\r\n this.calculado=e.calculado=='1'? true:false;\r\n this.mes=+e.mes;\r\n\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 prenomina:this.prenomina? '1':'0',\r\n calculado:this.calculado? '1':'0',\r\n mes:this.mes.toString(),\r\n\r\n }\r\n }\r\n\r\n public estatusPeriodo():string {\r\n if (!this.calculado && !this.prenomina && this.contabiliazadoPeriodo==0 && this.aporteContabilizadoPeriodo==0){\r\n return 'Sin Calcular'\r\n } else if (this.calculado && this.contabiliazadoPeriodo==0 && this.aporteContabilizadoPeriodo==0){\r\n return 'Calculada'\r\n } else if (this.calculado && this.contabiliazadoPeriodo==1 && this.aporteContabilizadoPeriodo==0){\r\n return 'Periodo Contabilizado'\r\n } else if (this.calculado && this.contabiliazadoPeriodo==1 && this.aporteContabilizadoPeriodo==1){\r\n return 'Periodo y Aporte Contabilizado'\r\n } else if (this.calculado && this.contabiliazadoPeriodo==0 && this.aporteContabilizadoPeriodo==1){\r\n return 'Aporte Contabilizado'\r\n } else if (!this.calculado && this.prenomina && this.contabiliazadoPeriodo==0 && this.aporteContabilizadoPeriodo==0){\r\n return 'Pre-Calculada'\r\n }\r\n }\r\n\r\n public periodoEditable():boolean {\r\n if (!this.calculado && !this.prenomina && 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 (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 \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 destinoComprobanteNomina:string='B';\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 contabilizacionFideicomisoNomina:string='CCP';\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 codigoFuenteFinanciamiento:number=0;\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 denominacionConceptoClasificacionParaFideicomiso='';\r\n public denominacionTipoDocumentoNomina:string='';\r\n public denominacionTipoDocumentoCausa:string='';\r\n public denominacionTipoDocumentoPagoPersonalCheque:string='';\r\n public denominacionTipoDocumentoFideicomiso:string='';\r\n public denominacionTipoDocumentoAporte='';\r\n public codigoFuenteFinanciamientoMostar:string='';\r\n public denominacionCodigoFuenteFinanciamiento:string=''; \r\n public nombreProveedor:string='';\r\n public nombreBeneficiarioFideicomiso:string='';\r\n public codigoCentroCosto:string='---';\r\n public codigoUsuario:string='';\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\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.destinoComprobanteNomina=e.descomnom;\r\n this.idProveedor=parseInt(e.id_proveedor);\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.contabilizacionFideicomisoNomina=e.confidnom;\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.codigoFuenteFinanciamiento=parseInt(e.codfuefin);\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.idConceptoClasificacionParaCausa=parseInt(e.id_concxpcau);\r\n this.idConceptoClasificacionParaPersonal=parseInt(e.id_concxpper);\r\n this.idConceptoClasificacionParaFideicomiso=parseInt(e.id_concxpfid);\r\n this.codigoCentroCosto=e.codcencos\r\n this.denominacionCentroConsto=e.dencencos\r\n this.denominacionCodigoFuenteFinanciamiento=e.codigoftefin+' - '+e.denfuefin \r\n\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 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 descomnom:this.destinoComprobanteNomina,\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 confidnom:this.contabilizacionFideicomisoNomina,\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 codfuefin:this.codigoFuenteFinanciamiento.toString(),\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_concxpcau:this.idConceptoClasificacionParaCausa.toString(),\r\n id_concxpper:this.idConceptoClasificacionParaPersonal.toString(),\r\n id_concxpfid:this.idConceptoClasificacionParaFideicomiso.toString(), \r\n codcencos:this.codigoCentroCosto,\r\n codusu:this.codigoUsuario,\r\n codigoftefin:this.codigoFuenteFinanciamiento.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 periodos:this.periodosNomina.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\r\n \r\n \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\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 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 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.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.codigo_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 \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_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 }\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 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.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 } 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_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 calculada:boolean=false;\r\n public prenomina:boolean=false;\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 (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.editable=(this.calculada||this.prenomina)? false:true; \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 idTipoDeposito: number=0;\r\n\tpublic codigoTipoDeposito:string='';\r\n\tpublic denominacionTipoDeposito:string='';\r\n\tpublic idDeposito: number=0;\r\n\tpublic codigoDeposito:string='';\r\n\tpublic reservado: number=0;\r\n\tpublic existencia: number=0;\t\r\n\tpublic idCentroLogistico:number=0;\r\n\tpublic codigoCentroLogistico: string='';\r\n\tpublic denominacionCentroLogistico: string='';\r\n\tpublic idAlmacen:number=0;\r\n public codigoAlmacen:string='';\r\n\tpublic nombreAlmacen:string='';\r\n\tpublic relacion:string='';\r\n \r\n\r\n\tconstructor (e?:ITipoDepositos) { \r\n super();\r\n\t\tif (e){\r\n\t\t this.idEmpresa=parseInt(e.id_empresa);\r\n\t\t this.idTipoDeposito=parseInt(e.id_tipoalmacen);\r\n\t\t this.codigoTipoDeposito=e.codtipalm; \r\n\t\t this.idDeposito=parseInt(e.id_deposito);\r\n\t\t this.idCentroLogistico=parseInt(e.id_cenlog);\r\n\t\t this.codigoCentroLogistico=e.codcenlog;\r\n\t\t this.denominacionCentroLogistico=e.dencenlog;\r\n\t\t this.codigoDeposito=e.coddep;\r\n\t\t this.denominacionTipoDeposito=e.dentipalm; \r\n\t\t this.idAlmacen=parseInt(e.id_almacen);\r\n\t\t this.codigoAlmacen=e.codalm; \r\n\t\t this.nombreAlmacen=e.nomfisalm;\r\n\t\t this.relacion=e.relacion;\r\n\t\t this.existencia=+e.existencia;\r\n\t\t this.reservado=+e.reservado;\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_tipoalmacen: this.idTipoDeposito.toString(),\r\n\t\t\tcodtipalm: this.codigoTipoDeposito,\r\n\t\t\tdentipalm: this.denominacionTipoDeposito,\r\n\t\t\texistencia: this.existencia.toString(),\r\n\t\t\treservado: this.reservado.toString(),\r\n\t\t\tid_cenlog: this.idCentroLogistico.toString(),\r\n\t\t\tcodcenlog: this.codigoCentroLogistico,\r\n\t\t\tdencenlog: this.denominacionCentroLogistico,\r\n\t\t\tid_deposito: this.idDeposito.toString(),\r\n\t\t\tcoddep: this.codigoDeposito,\r\n\t\t\tid_almacen: this.idAlmacen.toString(),\r\n\t\t\tcodalm: this.codigoAlmacen,\r\n\t\t\tnomfisalm: this.nombreAlmacen,\r\n\t\t\trelacion: this.relacion,\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\r\n public codigoMoneda: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 constructor(e?: ITasaCambio){ \r\n super(); \r\n if(e){\r\n this.codigoMoneda=+e.codmon;\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 codmon:this.codigoMoneda.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 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 //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.codfuefin;\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 codfuefin:this.codigoFuenteFinanciamiento.toString(),\r\n id_uniadm:this.idUnidadOrganizativa.toString(),\r\n codcencos:this.codigoCentroCosto,\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 { MPlanUnicoCuenta } from './core/models/SCG/planUnicoCuenta.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 { MEstructuraPresupuestariaOne, MEstructuraPresupuestariaTwo, MEstructuraPresupuestariaThree, MEstructuraPresupuestariaFour, MEstructuraPresupuestariaFiveComplete, MEstructuraPresupuestariaFive, MEstructuraPresupuestariaThreeComplete, MAllStructure } from './core/models/SPG/estructuraPresupuestaria.model';\r\nimport { IEstructuraPresupuestariaOne, IEstructuraPresupuestariaTwo, IEstructuraPresupuestariaThree, IEstructuraPresupuestariaFour, IEstructuraPresupuestariaFiveComplete, IEstructuraPresupuestariaFive } from './core/interfaces/EstructuraPresupuestaria';\r\nimport { MCentroCosto, MUsuarioCentroCosto } 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 } 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\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/sigesp/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 las cuentas por nivel de las cuenats de egresos\r\n * @param level Número de niveles de la configuración\r\n * @param id id del nivel 3 o 5 que se va a buscar\r\n * @return Observable<MCuentaEgresos[]>\r\n */\r\n public getExpenseAccountsForLevel(level: number, id: string): Observable<MCuentaEgresos[]>{\r\n return this.http.get<MCuentaEgresos[]>(`${this.URL}/dao/spg/cuentas_egresos_dao.php?level=${level}&id=${id}`,\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 * @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 * @description Obtiene las cuentas de egresos\r\n * @param onlyAvailable\r\n * @return Observable<MCuentaEgresos[]>\r\n */\r\n public getExpenseAccounts(onlyAvailable: boolean = false): Observable<MCuentaEgresos[]>{\r\n return this.http.get<MCuentaEgresos[]>(`${this.URL}/dao/spg/cuentas_egresos_dao.php${\r\n onlyAvailable ? '?available=true' : ''\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 * @description Obtiene todas las estructuras presupuetsarias de las 5 tablas\r\n * @return Promise<MAllStructure>\r\n * @author Miguel Ramírez\r\n */\r\n public getAllBudgetStructure(): Promise<MAllStructure> {\r\n return new Promise((resolve, reject) => {\r\n this.getBudgetStructureOne().subscribe(structureOne => {\r\n this.getBudgetStructureTwoAll().subscribe(structureTwo => {\r\n this.getBudgetStructureThree().subscribe(structureThree => {\r\n this.getBudgetStructureFour().subscribe(structureFour => {\r\n this.getBudgetStructureFiveByIdEp4().subscribe(structureFive => {\r\n resolve(new MAllStructure({\r\n structureOne,\r\n structureTwo,\r\n structureThree,\r\n structureFour,\r\n structureFive\r\n }));\r\n });\r\n });\r\n });\r\n });\r\n });\r\n })\r\n }\r\n\r\n /**\r\n * @description Obtiene la estructura completa dependiendo de la configuración\r\n * @return Promise<any[]>\r\n * @author Miguel Ramírez\r\n * @type= {}\r\n */\r\n public async getBudgetStructureComplete(nivel:number,tipo?:string): Promise<any[]> {\r\n return new Promise(async (resolve) => {\r\n let data = [];\r\n await this.getBudgetStructureFive(nivel,tipo).subscribe(result => {\r\n data.push(...result)\r\n })\r\n // await this.getBudgetStructureThreeComplete(3).subscribe(result => {\r\n // data.push(...result)\r\n // })\r\n\r\n await resolve(data);\r\n\r\n });\r\n }\r\n\r\n /**\r\n * @description Elimina una o varias estructuras presupuestarias\r\n * @param idStructures Id de las estructuras presupuestarias 5 que van a ser eliminadas\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public deleteBudgetStructureFive(idStructures: any[]): Observable<any> {\r\n return this.http.request('delete', `${this.URL}/dao/spg/estructura_presupuestaria5_dao.php`,\r\n { body: idStructures, headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Actualiza una o varias estructuras 4\r\n * @param structures Estructuras presupuestarias que van a ser actualizadas\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public updateBudgetStructureFive(structures: IEstructuraPresupuestariaFive[]): Observable<any> {\r\n return this.http.put(`${this.URL}/dao/spg/estructura_presupuestaria5_dao.php`, structures,\r\n { headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Agrega una o varias estructuras presupuestarias 4\r\n * @param structures Las estructuras que van a ser registradas\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public setBudgetStructureFive(structures: IEstructuraPresupuestariaFive[]): Observable<any> {\r\n return this.http.post(`${this.URL}/dao/spg/estructura_presupuestaria5_dao.php`, structures,\r\n { headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Obtiene toda la estructura presupuestaria 5\r\n * @return Observable<MEstructuraPresupuestariaFive[]>\r\n * @author Miguel Ramírez\r\n * @params tipo:\"sss\" \r\n */\r\n public getBudgetStructureFive(level: number = null, tipo:string=''): Observable<MEstructuraPresupuestariaFiveComplete[]> {\r\n return this.http.get<MEstructuraPresupuestariaFiveComplete[]>(\r\n `${this.URL}/dao/spg/estructura_presupuestaria5_dao.php?complete=true&tipo=${tipo}`,\r\n { headers: this.getHttpHeaders() }).pipe( \r\n map((resp: any) => resp.data.map(e => new MEstructuraPresupuestariaFiveComplete(e, level)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene la estructura presupuestaria 5 por el Id de la estructura 4\r\n * @param idEp4 id de la estructura presupuestaria 4\r\n */\r\n public getBudgetStructureFiveByIdEp4(idEp4?: string): Observable<any[]> {\r\n return this.http.get<any[]>(\r\n `${this.URL}/dao/spg/estructura_presupuestaria5_dao.php${idEp4 ? `?id_ep4=${idEp4}` : ''}`,\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 MEstructuraPresupuestariaFive(element)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Elimina una o varias estructuras presupuestarias\r\n * @param idStructures Id de las estructuras presupuestarias 3 que vana ser eliminadas\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public deleteBudgetStructureFour(idStructures: any[]): Observable<any> {\r\n return this.http.request('delete', `${this.URL}/dao/spg/estructura_presupuestaria4_dao.php`,\r\n { body: idStructures, headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Actualiza una o varias estructuras 4\r\n * @param structures Estructuras presupuestarias que van a ser actualizadas\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public updateBudgetStructureFour(structures: IEstructuraPresupuestariaFour[]): Observable<any> {\r\n return this.http.put(`${this.URL}/dao/spg/estructura_presupuestaria4_dao.php`, structures,\r\n { headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Agrega una o varias estructuras presupuestarias 4\r\n * @param structures Las estructuras que van a ser registradas\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public setBudgetStructureFour(structures: IEstructuraPresupuestariaFour[]): Observable<any> {\r\n return this.http.post(`${this.URL}/dao/spg/estructura_presupuestaria4_dao.php`, structures,\r\n { headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Obtiene las estructuras presupuestarias 4\r\n * @param idEp3 Id de la estructura presupuestaria 3\r\n * @return Observable<MEstructurapresupuestaria[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getBudgetStructureFour(idEp3?: string): Observable<MEstructuraPresupuestariaFour[]> {\r\n return this.http.get<MEstructuraPresupuestariaFour[]>(\r\n `${this.URL}/dao/spg/estructura_presupuestaria4_dao.php${idEp3 ? `?id_ep3=${idEp3}` : ''}`,\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 MEstructuraPresupuestariaFour(element)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Elimina una o varias estructuras presupuestarias\r\n * @param idStructures Id de las estructuras presupuestarias 3 que vana ser eliminadas\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public deleteBudgetStructureThree(idStructures: any[]): Observable<any> {\r\n return this.http.request('delete', `${this.URL}/dao/spg/estructura_presupuestaria3_dao.php`,\r\n { body: idStructures, headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Actualiza una o varias estructuras 3\r\n * @param structures Estructuras presupuestarias que van a ser actualizadas\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public updateBudgetStructureThree(structures: IEstructuraPresupuestariaThree[]): Observable<any> {\r\n return this.http.put(`${this.URL}/dao/spg/estructura_presupuestaria3_dao.php`, structures,\r\n { headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Agrega una o varias estructuras presupuestarias 3\r\n * @param structures Las estructuras que van a ser registradas\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public setBudgetStructureThree(structures: IEstructuraPresupuestariaThree[]): Observable<any> {\r\n return this.http.post(`${this.URL}/dao/spg/estructura_presupuestaria3_dao.php`, structures,\r\n { headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Se trae la estructura presupuestaria completa hasta el nivel 3\r\n * @return Observable<any[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getBudgetStructureThreeComplete(level: number): Observable<MEstructuraPresupuestariaFiveComplete[]> {\r\n return this.http.get<MEstructuraPresupuestariaFiveComplete[]>(\r\n `${this.URL}/dao/spg/estructura_presupuestaria3_dao.php?complete=true`,\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 MEstructuraPresupuestariaFiveComplete(element, level)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene las estructuras presupuestarias 3\r\n * @param idEp2 Id de la estructura presupuestaria 2\r\n * @return Observable<MEstructurapresupuestaria[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getBudgetStructureThree(idEp2?: string): Observable<MEstructuraPresupuestariaThree[]> {\r\n return this.http.get<MEstructuraPresupuestariaThree[]>(\r\n `${this.URL}/dao/spg/estructura_presupuestaria3_dao.php${idEp2 ? `?id_ep2=${idEp2}` : ''}`,\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 MEstructuraPresupuestariaThree(element)))\r\n );\r\n }\r\n\r\n /**\r\n * @description Elimina una o varias estructuras presupuestarias uno\r\n * @param idStructures Id de la o las estructuras presupuestarias que van a ser eliminadas\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public deleteBudgetStructureTwo(idStructures: any[]): Observable<any> {\r\n return this.http.request('delete', `${this.URL}/dao/spg/estructura_presupuestaria2_dao.php`,\r\n { body: idStructures, headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Actualiza una estructura presupuestaria dos\r\n * @param structure Estructura presupuestaria uno que se va a actualizar\r\n * @return Observable<any>\r\n */\r\n public updateBudgetStructureTwo(structure: IEstructuraPresupuestariaTwo[]): Observable<any> {\r\n return this.http.put(`${this.URL}/dao/spg/estructura_presupuestaria2_dao.php`, structure,\r\n { headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Registra las estructuras presupuestrias dos en la base de datos\r\n * @param budgetStructures Array de estructuras presupuestaria que se van a registrar\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public setBudgetStructureTwo(budgetStructures: IEstructuraPresupuestariaTwo[]): Observable<any> {\r\n return this.http.post(`${this.URL}/dao/spg/estructura_presupuestaria2_dao.php`,\r\n budgetStructures, { headers: this.getHttpHeaders() })\r\n }\r\n\r\n /**\r\n * @description Obtiene la estructura presupuestaria\r\n * @return Observable<MEstructuraPresupuestaria[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getBudgetStructureTwo(idEp1: string): Observable<MEstructuraPresupuestariaTwo[]> {\r\n return this.http.get<MEstructuraPresupuestariaTwo[]>(`${this.URL}/dao/spg/estructura_presupuestaria2_dao.php?id_ep1=${idEp1}`,\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 MEstructuraPresupuestariaTwo(element))))\r\n );\r\n }\r\n\r\n /**\r\n * @description Obtiene la estructura presupuestaria\r\n * @return Observable<MEstructuraPresupuestaria[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getBudgetStructureTwoAll(): Observable<MEstructuraPresupuestariaTwo[]> {\r\n return this.http.get<MEstructuraPresupuestariaTwo[]>(`${this.URL}/dao/spg/estructura_presupuestaria2_dao.php`,\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 MEstructuraPresupuestariaTwo(element))))\r\n );\r\n }\r\n\r\n /**\r\n * @description Elimina una o varias estructuras presupuestarias uno\r\n * @param idStructures Id de la o las estructuras presupuestarias que van a ser eliminadas\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public deleteBudgetStructureOne(idStructures: any[]): Observable<any> {\r\n return this.http.request('delete', `${this.URL}/dao/spg/estructura_presupuestaria1_dao.php`,\r\n { body: idStructures, headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Actualiza una estructura presupuestaria uno\r\n * @param structure Estructura presupuestaria uno que se va a actualizar\r\n * @return Observable<any>\r\n */\r\n public updateBudgetStructureOne(structure: IEstructuraPresupuestariaOne[]): Observable<any> {\r\n return this.http.put(`${this.URL}/dao/spg/estructura_presupuestaria1_dao.php`, structure,\r\n { headers: this.getHttpHeaders() });\r\n }\r\n\r\n /**\r\n * @description Registra las estructuras presupuestrias en la base de datos\r\n * @param budgetStructures Array de estructuras presupuestaria que s evan a registrar\r\n * @return Observable<any>\r\n * @author Miguel Ramírez\r\n */\r\n public setBudgetStructureOne(budgetStructures: IEstructuraPresupuestariaOne[]): Observable<any> {\r\n return this.http.post(`${this.URL}/dao/spg/estructura_presupuestaria1_dao.php`,\r\n budgetStructures, { headers: this.getHttpHeaders() })\r\n }\r\n\r\n /**\r\n * @description Obtiene la estructura presupuestaria\r\n * @return Observable<MEstructuraPresupuestaria[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getBudgetStructureOne(): Observable<MEstructuraPresupuestariaOne[]> {\r\n return this.http.get<MEstructuraPresupuestariaOne[]>(`${this.URL}/dao/spg/estructura_presupuestaria1_dao.php`,\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 MEstructuraPresupuestariaOne(element))))\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(): Observable<MConfigurationSPG> {\r\n\r\n return this.http.get<MConfigurationSPG>(`${this.URL}/dao/spg/estructura_presupuestaria_config_dao.php`,\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(): Observable<IResponse> {\r\n\r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/configuracion_dao.php?tipo=${'configuracion'}`,\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 } else {\r\n resp.data=[];\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(): Observable<IResponse> {\r\n\r\n return this.http.get<IResponse>(`${this.URL}/dao/sss/seguridad_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 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(): Observable<MFuenteFinanciamiento[]> {\r\n return this.http.get<MFuenteFinanciamiento[]>(`${this.URL}/dao/spg/fuente_financiamiento_dao.php`,\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<MCentroCosto[]>\r\n * @author Miguel Ramírez\r\n * @param id:idusurio o id del ecntro de costo\r\n * modificado 28-12-2022\r\n */\r\n public getCentroCosto(tipo: 'all'|'one'|'user'|'enter'= null, id?:string): Observable<MCentroCosto[]> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/scg/centro_costo_dao.php?tipo=${tipo}&id=${id}`,\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 MCentroCosto(element)))\r\n );\r\n }\r\n\r\n\r\n\r\n /**\r\n * @description Obtiene los centros de costo\r\n * @return Observable<IResponse>\r\n * @author Carlos Albornoz\r\n */\r\n public getCostCenters(): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/scg/centro_costo_dao.php`, \r\n {headers: this.getHttpHeaders()}\r\n ).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\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 getUserCostCenters(codigo:string): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/scg/centro_costo_usuario_dao.php?codigo=${codigo}`, \r\n {headers: this.getHttpHeaders()}\r\n ).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\r\n map((res: IResponse) => {\r\n if (res.success) {\r\n res.data = res.data.map(element => new MUsuarioCentroCosto(element))\r\n }\r\n return res\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 * @description Abre el dialog de las comunidades\r\n * @return Promise<MPlanUnicoCuenta>\r\n * @author Miguel Ramírez\r\n */\r\n public async openDialogPlanUnicoCuentas(): Promise<MPlanUnicoCuenta> {\r\n let planes: MPlanUnicoCuenta[] = await this.getListadoPLanUnicoCuentas().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 Cuentas Géneral',\r\n dataSource: planes\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 el listado del plan único de cuentas\r\n * @return Observable<MplanUnicoCuenta[]>\r\n * @author Miguel Ramírez\r\n */\r\n public getListadoPLanUnicoCuentas(): Observable<MPlanUnicoCuenta[]> {\r\n return this.http.get<MPlanUnicoCuenta[]>(`${this.URL}/dao/scg/plan_unico_dao.php`,\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 MPlanUnicoCuenta(element)))\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(): Observable<MConfiguracionSCG[]> { \r\n return this.http.get<MConfiguracionSCG[]>(`${this.URL}/dao/scg/configuracion_contabilidad_dao.php`,\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(): Promise<MCuentaInstitucional> {\r\n let accounts: MCuentaInstitucional[] = await this.getCuentasInstitucionales().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(inventory?: boolean): Observable<MCuentaInstitucional[]> {\r\n return this.http.get<MCuentaInstitucional[]>(`${this.URL}/dao/scg/cuentas_dao.php${(inventory) ? '?inventory=true' : ''}`,\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 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(): Promise<MCuentaPresupuesto> {\r\n let accounts: MCuentaPresupuesto[] = await this.getCuentasPresupuesto().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 * @description Obtiene las cuentas de recursos y egresos\r\n * @return Observable<MCuentaPresupuesto>\r\n * @author Miguel Ramírez\r\n */\r\n public getCuentasPresupuesto(filter?:string): Observable<MCuentaPresupuesto[]> {\r\n return this.http.get<MCuentaPresupuesto>(`${this.URL}/dao/scg/plan_unico_cuentas_dao.php?filter=${filter}`,\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 \"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 filtro: filtroCuentasPresupuesto = null,\r\n ancho: string = '1000px'\r\n ): Promise<MCuentaPresupuesto> {\r\n let cuentas: MCuentaPresupuesto[] = [];\r\n\r\n await this.getCuentasPresupuesto().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 * @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(\r\n titulo: string,\r\n presupuesto: boolean = true,\r\n ancho: string = \"1000px\"\r\n ): Promise<MCuentaEgresos>{\r\n let cuentas: MCuentaEgresos[] = [];\r\n await this.getExpenseAccounts().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 /**\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(\r\n titulo: string,\r\n presupuesto: boolean = true,\r\n ancho: string = \"1000px\"\r\n ): Promise<MCuentaIngresos>{\r\n let cuentas: MCuentaIngresos[] = [];\r\n await this.getIncomeAccounts().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,e?:number){\r\n return this.http.get(`${this.URL}/dao/spg/unidad_administrativa_dao.php?tipo=${tipo}&e=${e}`,\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 retry(3),\r\n catchError(this.handlerError),\r\n map((res: any) => {\r\n if (res.success) {\r\n res.data = new MMonedaConfig(res.data);\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): Observable<IResponse> {\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 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(): Promise<MProveedor> {\r\n let proveedores: MProveedor[] = await this.getProveedores().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(): 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`, request).pipe(\r\n retry(3),\r\n catchError(this.handlerError),\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', 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}` : ''}&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/sigesp/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(): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/soc/configuracion_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 = 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 public getIncomeAccounts(onlyAvailable: boolean = false): Observable<any>{\r\n return this.http.get(`${this.URL}/dao/spi/cuentas_ingresos_dao.php${\r\n onlyAvailable ? '?available=true' : ''\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(){\r\n\r\n return this.http.get<IResponse>(\r\n `${this.URL}/dao/stb/cargos_dao.php`, \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(){\r\n return this.http.get<IResponse>(\r\n `${this.URL}/dao/stb/deducciones_dao.php`, \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(): Observable<IResponse> {\r\n return this.http.get<IResponse>(`${this.URL}/dao/cxp/tipo_documento_dao.php?operacion=${'buscar'}&existen=${'existen'}`,\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(){\r\n return this.http.get<IResponse>(`${this.URL}/dao/cxp/concepto_dao.php?operacion=${'buscar'}`,\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(){\r\n return this.http.get<IResponse>(`${this.URL}/dao/stb/deducciones_dao.php?code=${'conceptos'}`,\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(){\r\n \r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/configuracion_dao.php?tipo=${'configuracion'}`,\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,id?:number,act?:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/definicion_nomina_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 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,id?:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/sno/personal_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 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,id?:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/scb/agencia_dao.php?code=${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 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 * @author Dimaly Crespo\r\n * @author 11-10-2023\r\n */\r\n public getValidarPeriodo(fecha:string, periodoFiscal:string){\r\n return this.http.get<IResponse>(`${this.URL}/dao/scg/configuracion_contabilidad_dao.php?fecha=${fecha}&periodo=${periodoFiscal}`,\r\n { headers: this.getHttpHeaders() }).pipe(map((res: any) => { return res;}));\r\n } \r\n \r\n\r\n \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 idArticulo : id del articulo\r\n * @param idUsuario : id usuario permitido\r\n * @returns \r\n * @author Javier Tovar\r\n * @date 23-11-2022\r\n */ \r\n public getDepositType(procede:string,idArticulo:number,idUsuario?:number){\r\n return this.http.get<IResponse>(`${this.URL}/dao/siv/catalogo_parametrizado_dao.php?get=${procede}&id=${idArticulo}&i=${idUsuario}`,\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 \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 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.codigoUnidadCentral = e.codigouac;\r\n this.denominacionUnidadCentral = e.denuac;\r\n this.idUnidadAdministradora = +e.coduac;\r\n this.tipoUnidad = e.tipuac=='1';\r\n this.responsableUnidad= e.resuac;\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 coduac: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 unidad_organizativa:this.unidadOrganizativa.map(function (e) { return e.dataInterface(); }),\r\n }\r\n }\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 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.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 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 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.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 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 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.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 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 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.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 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 detallesOrganigrama:MCargoEstructuraOrganizativa[]=[]\r\n public detallesNomina:MNominaSimple[]=[]\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.idClasificadorDocente=+p.id_clasificacion_docente;\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 if(p.detalles_organigrama){\r\n this.detallesOrganigrama=p.detalles_organigrama.map(e=> new MCargoEstructuraOrganizativa(e));\r\n }\r\n if(p.detalles_nomina){\r\n this.detallesNomina=p.detalles_nomina.map(e=> new MNominaSimple(e));\r\n }\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_clasificacion_docente:this.idClasificadorDocente.toString(),\r\n id_claper:this.idClasificadorPersonal.toString(),\r\n id_dedicacion:this.idDedicacion.toString(),\r\n id_tipopersonal:this.idTipoPersonalSno.toString(),\r\n detalles_organigrama:this.detallesOrganigrama.map(function(e){ return e.dataInterface(); }),\r\n detalles_nomina:this.detallesNomina.map(function(e){ return e.dataInterface(); }), \r\n\r\n\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 descomnom: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 confidnom: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 codfuefin:string,\r\n cersindis:string,\r\n tipdoccaunom:string,\r\n id_concxpnom:string,\r\n id_concxpapo:string,\r\n id_concxpcau:string,\r\n id_concxpper:string,\r\n id_concxpfid:string,\r\n codcencos:string,\r\n codusu:string,\r\n codigoftefin:string,\r\n denfuefin:string,\r\n dencencos:string,\r\n denctacont:string,\r\n nompro: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}\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 prenomina:string,\r\n calculado: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 tipcestic:string,\r\n conjub:string, \r\n\tcatjub:string, \r\n id_claviaticos:string, \r\n pagtaqper:string, \r\n fecascper:string, \r\n descasicar:string, \r\n salnorper:string, \r\n estencper: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 codcencos: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 codunirac:string,\r\n id_codunirac: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 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\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\tcodcencos:string,\r\n glocon:string,\r\n acumaxcon:string, \r\n valmincon:string, \r\n valmaxcon:string,\r\n concon:string,\r\n spg_cuentacon:string,\r\n\tsc_cuentacon:string,\r\n spi_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\tporingcon:string,\r\n intingcon: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 aplresenc: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\ttitretempcon:string,\r\n titretpatcon:string,\r\n valminpatcon:string,\r\n valmaxpatcon:string,\r\n nompro:string,\r\n asifidpad: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 perben:string,\r\n coduniadm?:string,\r\n denuniadm?:string, \r\n estructura?: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_carper:string,\r\n id_organigrama:string,\r\n id_personal: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 codigo_estructura?:string\r\n}\r\n\r\nexport interface ICargoNomina{\r\n id_empresa: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\tpublic codigoCentroCosto:string='---';\r\n public conceptoGlobal:number=0;\r\n public acumuladoMaximoConcepto:number=0;\r\n public valorMinimoConcepto:number=0;\r\n public valorMaximoConcepto:number=0;\r\n public condicionConcepto:string='';\r\n public spgCuentaConcepto:string='';\r\n\tpublic scCuuentaConcepto:string='';\r\n public spiCuentaConcepto: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\tpublic porcentajeIngresoConcepto:number=0;\r\n public integrarIngresoConceptos: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\tpublic quincenaAReportarConcepto:string='';\r\n public asignacionFideicomisoPersonal:number=0;\r\n public asignacionFideicomisoPatron:number=0;\r\n public frecuenciaVariableConcepto:number=0;\r\n public perteneceAlSalarioNormal:number=0;\r\n public aplicaResumenEncargaduria: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\tpublic tituloReporteEmpleadoConcepto:string='';\r\n public tituloRetencionPatronConcepto:string='';\r\n public valorMinimoPatronConcepto:number=0;\r\n public valorMaximoPatronConcepto:number=0;\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\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.codigoCentroCosto=e.codcencos;\r\n this.conceptoGlobal=+e.glocon;\r\n this.acumuladoMaximoConcepto=+e.acumaxcon;\r\n this.valorMinimoConcepto=+e.valmincon;\r\n this.valorMaximoConcepto=+e.valmaxcon;\r\n this.condicionConcepto=e.concon;\r\n this.spgCuentaConcepto=e.spg_cuentacon;\r\n this.scCuuentaConcepto=e.sc_cuentacon;\r\n this.spiCuentaConcepto=e.spi_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.porcentajeIngresoConcepto=+e.poringcon;\r\n this.integrarIngresoConceptos=+e.intingcon;\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.asignacionFideicomisoPatron=+e.asifidpad;\r\n this.frecuenciaVariableConcepto=+e.frevarcon;\r\n this.perteneceAlSalarioNormal=+e.persalnor;\r\n this.aplicaResumenEncargaduria=+e.aplresenc;\r\n this.conceptoPerteneceEncargaduria=+e.conperenc;\r\n this.aplicaDiasAdicionales=+e.aplidiasadd;\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.tituloReporteEmpleadoConcepto=e.titretempcon;\r\n this.tituloRetencionPatronConcepto=e.titretpatcon;\r\n this.valorMinimoPatronConcepto=+e.valminpatcon;\r\n this.valorMaximoPatronConcepto=+e.valmaxpatcon;\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.codigoUnidadAdministrativa=e.coduniadm;\r\n this.denominacionUnidadAdministraiva=e.denuniadm;\r\n this.estructuraProgramatica=e.estructura; \r\n this.perteneceBeneficiario=+e.perben; \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 acumaxcon:this.acumuladoMaximoConcepto.toString(),\r\n valmincon:this.valorMinimoConcepto.toString(),\r\n valmaxcon:this.valorMaximoConcepto.toString(),\r\n concon:this.condicionConcepto,\r\n spg_cuentacon:this.spgCuentaConcepto,\r\n sc_cuentacon:this.scCuuentaConcepto,\r\n spi_cuentacon:this.spiCuentaConcepto,\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 poringcon:this.porcentajeIngresoConcepto.toString(),\r\n intingcon:this.integrarIngresoConceptos.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 quirepcon:this.quincenaAReportarConcepto,\r\n asifidper:this.asignacionFideicomisoPersonal.toString(),\r\n frevarcon:this.frecuenciaVariableConcepto.toString(), \r\n aplresenc:this.aplicaResumenEncargaduria.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 titretempcon:this.tituloReporteEmpleadoConcepto,\r\n titretpatcon:this.tituloRetencionPatronConcepto,\r\n valminpatcon:this.valorMinimoPatronConcepto.toString(),\r\n valmaxpatcon:this.valorMaximoPatronConcepto.toString(),\r\n nompro:this.denominacionProveedores,\r\n asifidpad:this.asignacionFideicomisoPatron.toString(),\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\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 tipoPersonalObrero:boolean=false;\r\n public observacionRetenciones: string='';\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 if (e.tipperobr=='0'){\r\n this.tipoPersonalObrero=false;\r\n } else if (e.tipperobr=='1'){\r\n this.tipoPersonalObrero=true;\r\n }\r\n\r\n this.observacionRetenciones=e.obsconret; \r\n \r\n } else {\r\n this.isNew=true;\r\n }\r\n }\r\n\r\n public dataInterface(): IDefinicionesBasicas {\r\n let tipo:string='0';\r\n if (this.tipoPersonalObrero){\r\n tipo='1';\r\n } \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 tipperobr:tipo, \r\n obsconret: this.observacionRetenciones, \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='---'; \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 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 \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 this.codigoEstructuraOrganizativa= e.codestorg; \r\n\t\t\tthis.denominacionEstructuraOrganizativa=e.denestorg;\r\n\t\t\tthis.nivel=parseInt(e.nivel);\r\n\t\t\tthis.nivelPadre=parseInt(e.nivpad);\r\n\t\t\tthis.codigoCentroCosto=e.codcencos;\r\n\t\t\tthis.idEp1=parseInt(e.id_ep1);\r\n\t\t\tthis.idEp2=parseInt(e.id_ep2);\r\n\t\t\tthis.idEp3=parseInt(e.id_ep3);\r\n\t\t\tthis.idEp4=parseInt(e.id_ep4);\r\n\t\t\tthis.idEp5=parseInt(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\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\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\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 { 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 { 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 this.detallePrima=e.detalles_prima.map(e=> new MPrimaGrados(e));\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 detalles_prima: this.detallePrima.map(function (e) { return e.dataInterface(); })\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 { 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} 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, MUsuarioCentroCosto } 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, \r\n IOrganizationType,\r\n IProviderBeneficiary,\r\n IProviderBankAccount\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, IUsuariosCentroCosto} 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\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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"}