visorus-erp-core 10.1.2 → 12.0.0

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 (172) hide show
  1. package/bundles/visorus-erp-core.umd.js +4966 -5331
  2. package/bundles/visorus-erp-core.umd.js.map +1 -1
  3. package/esm2015/lib/app.module.js +6 -5
  4. package/esm2015/lib/components/acreedor/select/select-acreedor.component.js +3 -3
  5. package/esm2015/lib/components/acreedor/services/acreedor.service.js +12 -26
  6. package/esm2015/lib/components/acreedor/services/acreedorCuentaContable.js +14 -12
  7. package/esm2015/lib/components/agente/models/Agente.js +1 -1
  8. package/esm2015/lib/components/agente/services/agente.service.js +18 -26
  9. package/esm2015/lib/components/almacen/models/Almacen.js +1 -1
  10. package/esm2015/lib/components/almacen/services/almacen.service.js +14 -27
  11. package/esm2015/lib/components/banco/models/Banco.js +1 -1
  12. package/esm2015/lib/components/banco/services/banco.service.js +11 -26
  13. package/esm2015/lib/components/caja/session-create/session-create.component.js +3 -3
  14. package/esm2015/lib/components/caja/sessionCaja.service.js +12 -26
  15. package/esm2015/lib/components/catalogoTipo/models/CatalogoTipo.js +1 -1
  16. package/esm2015/lib/components/catalogoTipo/services/catalogoTipo.service.js +11 -26
  17. package/esm2015/lib/components/clasificadorTipo/models/ClasificadorTipo.js +1 -1
  18. package/esm2015/lib/components/clasificadorTipo/services/clasificadorTipo.service.js +11 -26
  19. package/esm2015/lib/components/claveAumentoDisminucion/services/clave-aumento-disminucion.service.js +11 -26
  20. package/esm2015/lib/components/claveMovimiento/models/ClaveMovimiento.js +1 -1
  21. package/esm2015/lib/components/claveMovimiento/services/claveMovimiento.service.js +11 -26
  22. package/esm2015/lib/components/cliente/models/Cliente.js +1 -1
  23. package/esm2015/lib/components/cliente/models/ClienteCuentaBanco.js +1 -1
  24. package/esm2015/lib/components/cliente/models/ClienteFlete.js +1 -1
  25. package/esm2015/lib/components/cliente/select/select-cliente.component.js +3 -3
  26. package/esm2015/lib/components/cliente/services/cliente.service.js +12 -27
  27. package/esm2015/lib/components/cliente/services/clienteCuentaBanco.service.js +13 -27
  28. package/esm2015/lib/components/cliente/services/clienteFlete.service.js +13 -27
  29. package/esm2015/lib/components/contacto/models/DatoContacto.js +1 -1
  30. package/esm2015/lib/components/contacto/services/datoContacto.service.js +11 -26
  31. package/esm2015/lib/components/dato-direccion/models/DatoDireccion.js +1 -1
  32. package/esm2015/lib/components/dato-direccion/services/datoDireccion.service.js +11 -26
  33. package/esm2015/lib/components/departamento/models/Departamento.js +1 -1
  34. package/esm2015/lib/components/departamento/services/departamento.service.js +11 -26
  35. package/esm2015/lib/components/empresa/models/ConfiguracionEmpresaAdministrativa.js +1 -1
  36. package/esm2015/lib/components/empresa/models/Empresa.js +1 -1
  37. package/esm2015/lib/components/empresa/services/empresa.service.js +14 -27
  38. package/esm2015/lib/components/error404/error404.component.js +3 -3
  39. package/esm2015/lib/components/flete/models/Flete.js +1 -1
  40. package/esm2015/lib/components/flete/services/flete.service.js +12 -26
  41. package/esm2015/lib/components/formaPago/models/FormaPago.js +1 -1
  42. package/esm2015/lib/components/formaPago/services/FormaPago.service.js +11 -26
  43. package/esm2015/lib/components/loading/loading.component.js +4 -4
  44. package/esm2015/lib/components/loading/loading.service.js +3 -3
  45. package/esm2015/lib/components/loading-screen/loading-screen.component.js +4 -4
  46. package/esm2015/lib/components/loading-screen/loading-screen.service.js +3 -3
  47. package/esm2015/lib/components/login-modal/login-modal.component.js +4 -4
  48. package/esm2015/lib/components/login-modal/login-modal.service.js +3 -3
  49. package/esm2015/lib/components/moneda/models/Moneda.js +1 -1
  50. package/esm2015/lib/components/moneda/services/moneda.service.js +12 -26
  51. package/esm2015/lib/components/pdfModal/pdf-modal.component.js +3 -3
  52. package/esm2015/lib/components/pdfModal/pdf-modal.service.js +3 -3
  53. package/esm2015/lib/components/persona-fisica/models/EstadoCivil.js +1 -1
  54. package/esm2015/lib/components/persona-fisica/models/Genero.js +1 -1
  55. package/esm2015/lib/components/persona-fisica/models/Persona.js +1 -1
  56. package/esm2015/lib/components/persona-fisica/models/PersonaFisica.js +1 -1
  57. package/esm2015/lib/components/persona-fisica/services/personaFisica.service.js +14 -13
  58. package/esm2015/lib/components/proveedor/models/Proveedor.js +1 -1
  59. package/esm2015/lib/components/proveedor/models/ProveedorCuentaBanco.js +1 -1
  60. package/esm2015/lib/components/proveedor/models/ProveedorFlete.js +1 -1
  61. package/esm2015/lib/components/proveedor/select/select-proveedor.component.js +3 -3
  62. package/esm2015/lib/components/proveedor/services/proveedor.service.js +12 -26
  63. package/esm2015/lib/components/proveedor/services/proveedorCuentaBanco.service.js +13 -27
  64. package/esm2015/lib/components/proveedor/services/proveedorFlete.service.js +12 -23
  65. package/esm2015/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.js +3 -3
  66. package/esm2015/lib/components/seleccion-articulo-informacion/services/articulo-informacion.service.js +13 -27
  67. package/esm2015/lib/components/selecciona-articulo/selecciona-articulo.component.js +5 -5
  68. package/esm2015/lib/components/selecciona-articulo/stock.service.js +14 -16
  69. package/esm2015/lib/components/serieDocumento/models/SerieDocumento.js +1 -1
  70. package/esm2015/lib/components/serieDocumento/services/serieDocumento.service.js +14 -25
  71. package/esm2015/lib/components/tipo-contacto/models/TipoContacto.js +1 -1
  72. package/esm2015/lib/components/tipo-contacto/services/tipoContacto.service.js +11 -26
  73. package/esm2015/lib/components/ubicacion/models/Ubicacion.js +1 -1
  74. package/esm2015/lib/components/ubicacion/services/ubicacion.service.js +11 -26
  75. package/esm2015/lib/contabilidad/componentes/cclista/cclista.component.js +3 -3
  76. package/esm2015/lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component.js +5 -5
  77. package/esm2015/lib/contabilidad/modelos/cuentaContable.model.js +1 -1
  78. package/esm2015/lib/contabilidad/modelos/normaInfoFinanciera.model.js +1 -1
  79. package/esm2015/lib/contabilidad/servicios/cuentacontable.service.js +13 -27
  80. package/esm2015/lib/globalPrimeNg.js +1 -1
  81. package/esm2015/lib/httpInterceptor/httpInterceptor.js +3 -3
  82. package/esm2015/lib/importComponents.js +1 -1
  83. package/esm2015/lib/importComponetsConta.js +1 -1
  84. package/esm2015/lib/models/PersonaMoral.js +1 -1
  85. package/esm2015/lib/models/Usuario.js +1 -1
  86. package/esm2015/lib/models/auth.js +1 -1
  87. package/esm2015/lib/services/auth.service.js +3 -3
  88. package/esm2015/lib/services/authenticated.service.js +3 -3
  89. package/esm2015/lib/services/canActivateGuard.service.ts.js +3 -3
  90. package/esm2015/lib/services/catalogo-adicional.service.js +12 -26
  91. package/esm2015/lib/services/controlAcceso.service.js +3 -3
  92. package/esm2015/lib/services/crud.service.js +46 -0
  93. package/esm2015/lib/services/file.service.js +3 -3
  94. package/esm2015/lib/services/global.service.js +2 -13
  95. package/esm2015/lib/services/init.service.js +3 -3
  96. package/esm2015/lib/services/message.service.js +3 -3
  97. package/esm2015/lib/services/paginate.service.js +3 -3
  98. package/esm2015/lib/services/personaMoral.service.js +11 -26
  99. package/esm2015/lib/services/versionCheck.service.js +3 -3
  100. package/esm2015/lib/utils/tipo_catalogo.ts.js +1 -1
  101. package/esm2015/public_api.js +3 -3
  102. package/esm2015/visorus-erp-core.js +1 -1
  103. package/fesm2015/visorus-erp-core.js +1488 -1923
  104. package/fesm2015/visorus-erp-core.js.map +1 -1
  105. package/lib/app.module.d.ts +3 -2
  106. package/lib/components/acreedor/select/select-acreedor.component.d.ts +2 -2
  107. package/lib/components/acreedor/services/acreedor.service.d.ts +7 -14
  108. package/lib/components/acreedor/services/acreedorCuentaContable.d.ts +8 -8
  109. package/lib/components/agente/services/agente.service.d.ts +10 -16
  110. package/lib/components/almacen/services/almacen.service.d.ts +8 -15
  111. package/lib/components/banco/services/banco.service.d.ts +6 -14
  112. package/lib/components/caja/session-create/session-create.component.d.ts +2 -2
  113. package/lib/components/caja/sessionCaja.service.d.ts +7 -13
  114. package/lib/components/catalogoTipo/services/catalogoTipo.service.d.ts +6 -14
  115. package/lib/components/clasificadorTipo/services/clasificadorTipo.service.d.ts +6 -14
  116. package/lib/components/claveAumentoDisminucion/services/clave-aumento-disminucion.service.d.ts +6 -13
  117. package/lib/components/claveMovimiento/services/claveMovimiento.service.d.ts +6 -14
  118. package/lib/components/cliente/select/select-cliente.component.d.ts +2 -2
  119. package/lib/components/cliente/services/cliente.service.d.ts +7 -15
  120. package/lib/components/cliente/services/clienteCuentaBanco.service.d.ts +8 -15
  121. package/lib/components/cliente/services/clienteFlete.service.d.ts +8 -14
  122. package/lib/components/contacto/services/datoContacto.service.d.ts +6 -13
  123. package/lib/components/dato-direccion/services/datoDireccion.service.d.ts +6 -13
  124. package/lib/components/departamento/services/departamento.service.d.ts +6 -13
  125. package/lib/components/empresa/services/empresa.service.d.ts +8 -14
  126. package/lib/components/error404/error404.component.d.ts +2 -2
  127. package/lib/components/flete/services/flete.service.d.ts +7 -13
  128. package/lib/components/formaPago/services/FormaPago.service.d.ts +6 -14
  129. package/lib/components/loading/loading.component.d.ts +2 -2
  130. package/lib/components/loading/loading.service.d.ts +2 -2
  131. package/lib/components/loading-screen/loading-screen.component.d.ts +2 -2
  132. package/lib/components/loading-screen/loading-screen.service.d.ts +2 -2
  133. package/lib/components/login-modal/login-modal.component.d.ts +2 -2
  134. package/lib/components/login-modal/login-modal.service.d.ts +2 -2
  135. package/lib/components/moneda/services/moneda.service.d.ts +7 -13
  136. package/lib/components/pdfModal/pdf-modal.component.d.ts +2 -2
  137. package/lib/components/pdfModal/pdf-modal.service.d.ts +2 -2
  138. package/lib/components/persona-fisica/services/personaFisica.service.d.ts +9 -10
  139. package/lib/components/proveedor/select/select-proveedor.component.d.ts +2 -2
  140. package/lib/components/proveedor/services/proveedor.service.d.ts +7 -13
  141. package/lib/components/proveedor/services/proveedorCuentaBanco.service.d.ts +8 -14
  142. package/lib/components/proveedor/services/proveedorFlete.service.d.ts +8 -13
  143. package/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.d.ts +2 -2
  144. package/lib/components/seleccion-articulo-informacion/services/articulo-informacion.service.d.ts +8 -14
  145. package/lib/components/selecciona-articulo/selecciona-articulo.component.d.ts +2 -2
  146. package/lib/components/selecciona-articulo/stock.service.d.ts +7 -9
  147. package/lib/components/serieDocumento/services/serieDocumento.service.d.ts +9 -14
  148. package/lib/components/tipo-contacto/services/tipoContacto.service.d.ts +6 -13
  149. package/lib/components/ubicacion/services/ubicacion.service.d.ts +6 -13
  150. package/lib/contabilidad/componentes/cclista/cclista.component.d.ts +2 -2
  151. package/lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component.d.ts +2 -2
  152. package/lib/contabilidad/servicios/cuentacontable.service.d.ts +8 -14
  153. package/lib/httpInterceptor/httpInterceptor.d.ts +2 -2
  154. package/lib/services/auth.service.d.ts +2 -2
  155. package/lib/services/authenticated.service.d.ts +2 -2
  156. package/lib/services/canActivateGuard.service.ts.d.ts +2 -2
  157. package/lib/services/catalogo-adicional.service.d.ts +7 -13
  158. package/lib/services/controlAcceso.service.d.ts +2 -2
  159. package/lib/services/crud.service.d.ts +20 -0
  160. package/lib/services/file.service.d.ts +2 -2
  161. package/lib/services/global.service.d.ts +2 -4
  162. package/lib/services/init.service.d.ts +2 -2
  163. package/lib/services/message.service.d.ts +2 -2
  164. package/lib/services/paginate.service.d.ts +2 -2
  165. package/lib/services/personaMoral.service.d.ts +6 -13
  166. package/lib/services/versionCheck.service.d.ts +2 -2
  167. package/package.json +9 -9
  168. package/public_api.d.ts +2 -2
  169. package/bundles/visorus-erp-core.umd.min.js +0 -2
  170. package/bundles/visorus-erp-core.umd.min.js.map +0 -1
  171. package/esm2015/lib/services/api.service.js +0 -80
  172. package/lib/services/api.service.d.ts +0 -45
@@ -1 +1 @@
1
- {"version":3,"file":"visorus-erp-core.js","sources":["../../../projects/erp-core/src/lib/services/global.service.ts","../../../projects/erp-core/src/lib/services/api.service.ts","../../../projects/erp-core/src/lib/contabilidad/servicios/cuentacontable.service.ts","../../../projects/erp-core/src/lib/contabilidad/componentes/cclista/cclista.component.html","../../../projects/erp-core/src/lib/contabilidad/componentes/cclista/cclista.component.ts","../../../projects/erp-core/src/lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component.ts","../../../projects/erp-core/src/lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component.html","../../../projects/erp-core/src/lib/importComponetsConta.ts","../../../projects/erp-core/src/lib/components/login-modal/login-modal.service.ts","../../../projects/erp-core/src/lib/components/loading-screen/loading-screen.service.ts","../../../projects/erp-core/src/lib/httpInterceptor/httpInterceptor.ts","../../../projects/erp-core/src/lib/components/error404/error404.component.ts","../../../projects/erp-core/src/lib/components/error404/error404.component.html","../../../projects/erp-core/src/lib/components/loading/loading.service.ts","../../../projects/erp-core/src/lib/components/loading/loading.component.ts","../../../projects/erp-core/src/lib/components/loading/loading.component.html","../../../projects/erp-core/src/lib/components/loading-screen/loading-screen.component.ts","../../../projects/erp-core/src/lib/components/loading-screen/loading-screen.component.html","../../../projects/erp-core/src/lib/components/pdfModal/pdf-modal.service.ts","../../../projects/erp-core/src/lib/services/file.service.ts","../../../projects/erp-core/src/lib/components/pdfModal/pdf-modal.component.html","../../../projects/erp-core/src/lib/components/pdfModal/pdf-modal.component.ts","../../../projects/erp-core/src/lib/models/Usuario.ts","../../../projects/erp-core/src/lib/models/auth.ts","../../../projects/erp-core/src/lib/services/auth.service.ts","../../../projects/erp-core/src/lib/components/login-modal/login-modal.component.html","../../../projects/erp-core/src/lib/components/login-modal/login-modal.component.ts","../../../projects/erp-core/src/lib/components/caja/sessionCaja.service.ts","../../../projects/erp-core/src/lib/components/caja/session-create/session-create.component.html","../../../projects/erp-core/src/lib/components/caja/session-create/session-create.component.ts","../../../projects/erp-core/src/lib/components/persona-fisica/models/Persona.ts","../../../projects/erp-core/src/lib/components/persona-fisica/models/PersonaFisica.ts","../../../projects/erp-core/src/lib/models/PersonaMoral.ts","../../../projects/erp-core/src/lib/components/agente/models/Agente.ts","../../../projects/erp-core/src/lib/components/cliente/models/Cliente.ts","../../../projects/erp-core/src/lib/components/cliente/services/cliente.service.ts","../../../projects/erp-core/src/lib/services/paginate.service.ts","../../../projects/erp-core/src/lib/components/cliente/select/select-cliente.component.html","../../../projects/erp-core/src/lib/components/cliente/select/select-cliente.component.ts","../../../projects/erp-core/src/lib/components/clasificadorTipo/models/ClasificadorTipo.ts","../../../projects/erp-core/src/lib/components/proveedor/models/Proveedor.ts","../../../projects/erp-core/src/lib/components/proveedor/services/proveedor.service.ts","../../../projects/erp-core/src/lib/components/proveedor/select/select-proveedor.component.html","../../../projects/erp-core/src/lib/components/proveedor/select/select-proveedor.component.ts","../../../projects/erp-core/src/lib/components/almacen/services/almacen.service.ts","../../../projects/erp-core/src/lib/components/selecciona-articulo/stock.service.ts","../../../projects/erp-core/src/lib/components/seleccion-articulo-informacion/services/articulo-informacion.service.ts","../../../projects/erp-core/src/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.html","../../../projects/erp-core/src/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.ts","../../../projects/erp-core/src/lib/components/selecciona-articulo/selecciona-articulo.component.html","../../../projects/erp-core/src/lib/components/selecciona-articulo/selecciona-articulo.component.ts","../../../projects/erp-core/src/lib/components/acreedor/services/acreedor.service.ts","../../../projects/erp-core/src/lib/components/acreedor/select/select-acreedor.component.html","../../../projects/erp-core/src/lib/components/acreedor/select/select-acreedor.component.ts","../../../projects/erp-core/src/lib/importComponents.ts","../../../projects/erp-core/src/lib/globalPrimeNg.ts","../../../projects/erp-core/src/lib/app.module.ts","../../../projects/erp-core/src/lib/services/controlAcceso.service.ts","../../../projects/erp-core/src/lib/services/init.service.ts","../../../projects/erp-core/src/lib/services/message.service.ts","../../../projects/erp-core/src/lib/services/personaMoral.service.ts","../../../projects/erp-core/src/lib/services/canActivateGuard.service.ts.ts","../../../projects/erp-core/src/lib/services/catalogo-adicional.service.ts","../../../projects/erp-core/src/lib/services/authenticated.service.ts","../../../projects/erp-core/src/lib/services/versionCheck.service.ts","../../../projects/erp-core/src/lib/components/agente/services/agente.service.ts","../../../projects/erp-core/src/lib/components/almacen/models/Almacen.ts","../../../projects/erp-core/src/lib/components/dato-direccion/models/DatoDireccion.ts","../../../projects/erp-core/src/lib/components/banco/models/Banco.ts","../../../projects/erp-core/src/lib/components/banco/services/banco.service.ts","../../../projects/erp-core/src/lib/components/catalogoTipo/models/CatalogoTipo.ts","../../../projects/erp-core/src/lib/components/catalogoTipo/services/catalogoTipo.service.ts","../../../projects/erp-core/src/lib/components/clasificadorTipo/services/clasificadorTipo.service.ts","../../../projects/erp-core/src/lib/components/claveMovimiento/models/ClaveMovimiento.ts","../../../projects/erp-core/src/lib/components/claveMovimiento/services/claveMovimiento.service.ts","../../../projects/erp-core/src/lib/components/cliente/models/ClienteCuentaBanco.ts","../../../projects/erp-core/src/lib/components/flete/models/Flete.ts","../../../projects/erp-core/src/lib/components/cliente/models/ClienteFlete.ts","../../../projects/erp-core/src/lib/components/cliente/services/clienteCuentaBanco.service.ts","../../../projects/erp-core/src/lib/components/cliente/services/clienteFlete.service.ts","../../../projects/erp-core/src/lib/components/tipo-contacto/models/TipoContacto.ts","../../../projects/erp-core/src/lib/components/contacto/models/DatoContacto.ts","../../../projects/erp-core/src/lib/components/contacto/services/datoContacto.service.ts","../../../projects/erp-core/src/lib/components/dato-direccion/services/datoDireccion.service.ts","../../../projects/erp-core/src/lib/components/departamento/models/Departamento.ts","../../../projects/erp-core/src/lib/components/departamento/services/departamento.service.ts","../../../projects/erp-core/src/lib/components/formaPago/models/FormaPago.ts","../../../projects/erp-core/src/lib/components/empresa/models/Empresa.ts","../../../projects/erp-core/src/lib/components/empresa/models/ConfiguracionEmpresaAdministrativa.ts","../../../projects/erp-core/src/lib/components/empresa/services/empresa.service.ts","../../../projects/erp-core/src/lib/components/flete/services/flete.service.ts","../../../projects/erp-core/src/lib/components/formaPago/services/FormaPago.service.ts","../../../projects/erp-core/src/lib/components/moneda/models/Moneda.ts","../../../projects/erp-core/src/lib/components/moneda/services/moneda.service.ts","../../../projects/erp-core/src/lib/components/persona-fisica/models/EstadoCivil.ts","../../../projects/erp-core/src/lib/components/persona-fisica/models/Genero.ts","../../../projects/erp-core/src/lib/components/persona-fisica/services/personaFisica.service.ts","../../../projects/erp-core/src/lib/components/proveedor/models/ProveedorCuentaBanco.ts","../../../projects/erp-core/src/lib/components/proveedor/models/ProveedorFlete.ts","../../../projects/erp-core/src/lib/components/proveedor/services/proveedorCuentaBanco.service.ts","../../../projects/erp-core/src/lib/components/proveedor/services/proveedorFlete.service.ts","../../../projects/erp-core/src/lib/components/claveAumentoDisminucion/services/clave-aumento-disminucion.service.ts","../../../projects/erp-core/src/lib/components/serieDocumento/services/serieDocumento.service.ts","../../../projects/erp-core/src/lib/components/serieDocumento/models/SerieDocumento.ts","../../../projects/erp-core/src/lib/components/tipo-contacto/services/tipoContacto.service.ts","../../../projects/erp-core/src/lib/components/ubicacion/models/Ubicacion.ts","../../../projects/erp-core/src/lib/components/ubicacion/services/ubicacion.service.ts","../../../projects/erp-core/src/lib/utils/tipo_catalogo.ts.ts","../../../projects/erp-core/src/lib/components/acreedor/services/acreedorCuentaContable.ts","../../../projects/erp-core/src/lib/contabilidad/modelos/cuentaContable.model.ts","../../../projects/erp-core/src/lib/contabilidad/modelos/normaInfoFinanciera.model.ts","../../../projects/erp-core/src/public_api.ts","../../../projects/erp-core/src/visorus-erp-core.ts"],"sourcesContent":["\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Usuario } from '../models/Usuario';\nimport { Injectable } from '@angular/core';\n@Injectable({\n providedIn: 'root' \n})\nexport class GlobalService {\n\n usuarioInstance: Usuario;\n\n constructor(\n private http: HttpClient\n ) {\n }\n\n setConfiguracion() {\n this.http.get('assets/config.json').subscribe(\n (data: any) => {\n localStorage.setItem('config', JSON.stringify(data));\n }\n );\n }\n\n obtieneConfiguracion() {\n return JSON.parse(localStorage.getItem('config'));\n }\n\n getUrl(urlComponente?: string) {\n return this.obtieneConfiguracion().url + (urlComponente ? '/' + urlComponente : '');\n }\n\n auth(params) {\n\n return this.http.post(this.getUrl() + '/login', params);\n }\n\n getUsuarioActual() {\n return this.http.get(this.getUrl() + '/usuario/obtieneUsuarioActual', this.buildAuth());\n }\n\n buildAuth() {\n const data = this.getUsuario();\n return {\n headers: new HttpHeaders({\n 'Authorization': data.token_type + ' ' + data.access_token,\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n })\n };\n }\n\n validateEndPoint() {\n\n return this.http.get(this.getUrl() + '/validate', this.buildAuth());\n }\n\n closeEndPoint() {\n localStorage.removeItem('usuario');\n this.setUsuarioInstance(null);\n }\n\n getUsuario() {\n return JSON.parse(localStorage.getItem('usuario'));\n }\n\n setUsuarioInstance(usuarioInstance) {\n this.usuarioInstance = usuarioInstance;\n }\n \n getLang() {\n let lang = localStorage.getItem('lang');\n return lang ? lang : 'es';\n }\n\n setModulo(modulo) {\n return this.http.post(this.getUrl() + '/usuario/setModulo', modulo, this.buildAuth());\n }\n\n \n}\n\n","// projects/erp-core/src/lib/services/api.service.ts\n\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { GlobalService } from './global.service'; // Usaremos GlobalService para la URL y la autenticación\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiService {\n\n constructor(\n private http: HttpClient,\n // Inyectamos GlobalService para usar sus métodos de ayuda (construir URL y cabeceras)\n private global: GlobalService\n ) {}\n\n /**\n * Realiza una petición GET genérica y autenticada usando HttpParams.\n * @param endpoint El endpoint del API (ej. '/FormaDePago')\n * @param queryParams Un objeto clave-valor para los parámetros de la URL.\n */\n public get<T>(endpoint: string, queryParams?: { [param: string]: any }): Observable<T> {\n \n // 1. Construye HttpParams de forma segura. Se encarga del URL encoding.\n const params = new HttpParams({ fromObject: queryParams });\n\n // 2. Combina las opciones: cabeceras de GlobalService y los nuevos params.\n const options = {\n ...this.global.buildAuth(), // Obtiene { headers: ... }\n params: params // Añade los HttpParams\n };\n\n const url = this.global.getUrl(endpoint);\n return this.http.get<T>(url, options);\n }\n\n\n /**\n * Realiza una petición POST genérica y autenticada.\n * @param endpoint El endpoint del API\n * @param body El cuerpo de la petición\n */\n public post<T>(endpoint: string, body: any): Observable<T> {\n const url = this.global.getUrl(endpoint);\n const options = this.global.buildAuth();\n return this.http.post<T>(url, body, options);\n }\n\n /**\n * Realiza una petición PUT genérica y autenticada.\n * @param endpoint El endpoint del API\n * @param id El ID del recurso a actualizar\n * @param body El cuerpo de la petición\n */\n public put<T>(endpoint: string, id: number | string, body: any): Observable<T> {\n const url = `<span class=\"math-inline\">\\{this\\.global\\.getUrl\\(endpoint\\)\\}/</span>{id}`;\n const options = this.global.buildAuth();\n return this.http.put<T>(url, body, options);\n }\n\n /**\n * Realiza una petición DELETE genérica y autenticada.\n * @param endpoint El endpoint del API\n * @param id El ID del recurso a eliminar\n */\n public delete<T>(endpoint: string, id: number | string): Observable<T> {\n const url = `<span class=\"math-inline\">\\{this\\.global\\.getUrl\\(endpoint\\)\\}/</span>{id}`;\n const options = this.global.buildAuth();\n return this.http.delete<T>(url, options);\n }\n\n /**\n * Realiza una petición PATCH genérica y autenticada.\n * @param endpoint El endpoint del API\n * @param id El ID del recurso a actualizar parcialmente\n * @param body El cuerpo con los campos a actualizar\n */\npublic patch<T>(endpoint: string, id: number | string, body: any): Observable<T> {\n const url = `<span class=\"math-inline\">\\{this\\.global\\.getUrl\\(endpoint\\)\\}/</span>{id}`;\n const options = this.global.buildAuth();\n return this.http.patch<T>(url, body, options);\n}\n}","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n}) \nexport class CuentaContableService {\n private endpoint = 'cuentaContable';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n obtieneCuentasContablesRecursivo(): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/obtieneCuentasContablesRecursivo`);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","<input type=\"text\" style=\"width: 100%;\" pInputText placeholder=\"Cuenta o descripción\" [(ngModel)]=\"query\" (keyup)=\"filterAccounts($event)\">\n\n<div style=\"padding: 10px;\">\n <p-treeTable [value]=\"cuentasContables?cuentasContables:tempAccounts\" [scrollable]=\"true\" [style]=\"{width: '100%'} \" [scrollHeight]=\"maxH + 'px'\" [resizableColumns]=\"true\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 150px;\">Cuenta contable</th>\n <th style=\"width: 150px;\">Descripción</th>\n <th style=\"width: 90px;\">Naturaleza</th>\n <th style=\"width: 60px;\">Tipo</th>\n <th style=\"width: 200px;\">Acciones</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" style=\"width: 100%;\">\n <tr>\n <td class=\"ui-resizable-column\" style=\"width: 150px;\">\n <p-treeTableToggler [rowNode]=\"rowNode\"></p-treeTableToggler>\n {{rowData.cuentaContable}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 150px;\">\n {{rowData.descripcion}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 90px;\">\n {{rowData.naturaleza}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 60px;\">\n {{rowData.tipo}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 200px;\">\n <div class=\"button-row\">\n <button pButton type=\"button\" icon=\"pi pi-check\" class=\"ui-button-raised ui-button-success\" (click)=\"selectCuentaContable(rowData)\" *ngIf=\"typeAccount==1 && rowData.cuentaRegistro\"></button>\n <button pButton type=\"button\" icon=\"pi pi-check\" class=\"ui-button-raised ui-button-success\" (click)=\"selectCuentaContable(rowData)\" *ngIf=\"typeAccount==2 && !rowData.cuentaRegistro\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n </p-treeTable>\n</div>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { CuentaContableModel } from '../../modelos/cuentaContable.model';\nimport { CuentaContableService } from '../../servicios/cuentacontable.service';\n\n@Component({\n selector: 'lib-cclista',\n templateUrl: './cclista.component.html',\n styleUrls: ['./cclista.component.css']\n})\nexport class CclistaComponent implements OnInit {\n\n @Input()\n isShared: boolean;\n @Input()\n typeAccount: number;\n @Output()\n evSelectedAccount: EventEmitter<CuentaContableModel>;\n cuentasContables: any[] = [];\n maxH = 720;\n query: any = \"\";\n tempAccounts: CuentaContableModel[] = [];\n\n cuentaSeleccionada: CuentaContableModel;\n\n constructor(private _cuentaContableService: CuentaContableService) {\n this.evSelectedAccount = new EventEmitter<CuentaContableModel>();\n }\n\n ngOnInit() {\n this.maxH = window.innerHeight - 320;\n this.obtenerCuentasContablesRecursivo();\n }\n\n obtenerCuentasContablesRecursivo() {\n this._cuentaContableService.obtieneCuentasContablesRecursivo().subscribe((result: any) => {\n if (result) {\n this.cuentasContables = result;\n this.sortAccounts();\n }\n });\n }\n\n sortAccounts() {\n this.cuentasContables.sort(function (a, b) {\n // get symbol for string\n let characterBreak = '.';\n const listA: any[] = a.data.cuentaContable.split(characterBreak);\n const listB: any[] = b.data.cuentaContable.split(characterBreak);\n\n if (listA.length > 0 && listB.length > 0) {\n if (listA.length === listB.length) {\n for (let i = 0; i < listA.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return 0;\n }\n if (listA.length < listB.length) {\n for (let i = 0; i < listA.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return -1;\n }\n if (listB.length < listA.length) {\n for (let i = 0; i < listB.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return 1;\n }\n }\n return 0;\n });\n for (let item of this.cuentasContables) {\n if (item.children) {\n this.sortItem(item);\n }\n }\n this.tempAccounts = this.cuentasContables;\n }\n\n sortItem(account: any) {\n account.children.sort(function (a, b) {\n // get symbol for string\n let characterBreak = '.';\n const listA: any[] = a.data.cuentaContable.split(characterBreak);\n const listB: any[] = b.data.cuentaContable.split(characterBreak);\n if (listA.length > 0 && listB.length > 0) {\n if (listA.length === listB.length) {\n for (let i = 0; i < listA.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return 0;\n }\n if (listA.length < listB.length) {\n for (let i = 0; i < listA.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return -1;\n }\n if (listB.length < listA.length) {\n for (let i = 0; i < listB.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return 1;\n }\n }\n return 0;\n });\n for (let item of account.children) {\n this.sortItem(item);\n }\n }\n\n\n\n selectCuentaContable(account: CuentaContableModel) {\n this.evSelectedAccount.emit(account);\n }\n\n filterAccounts(evt: any) {\n if (!evt) {\n const temp = this.resetAccount();\n this.cuentasContables = temp;\n return;\n }\n this.cuentasContables = this.browseAccount(this.tempAccounts);\n }\n\n resetAccount() {\n this.query = '';\n let accounts = [];\n for (let cc of this.tempAccounts) {\n accounts.push(cc);\n }\n return accounts;\n }\n\n\n\n browseAccount(accounts: any) {\n let listAccounts: any[] = [];\n if (this.query === '') {\n const temp = this.resetAccount();\n this.cuentasContables = temp;\n } else {\n for (let account of accounts) {\n if (account.data.cuentaContable.toString().toLowerCase().includes(this.query.toLowerCase()) || account.data.descripcion.toString().toLowerCase().includes(this.query.toLowerCase())) {\n listAccounts = listAccounts.concat({\n data: account.data,\n children: this.browseAccount(account.children)\n });\n } else {\n listAccounts = listAccounts.concat(this.browseAccount(account.children));\n }\n }\n return listAccounts;\n }\n }\n\n}\n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { CuentaContableModel } from '../../modelos/cuentaContable.model';\n\n@Component({\n selector: 'lib-ccseleccion-dialog',\n templateUrl: './ccseleccion-dialog.component.html',\n styleUrls: ['./ccseleccion-dialog.component.css']\n})\nexport class CcseleccionDialogComponent implements OnInit {\n @ViewChild(\"dialog\", {static: true}) dialog;\n @Input()\n tipoCuenta: number; // 1: registro 2: cuenta mayor\n @Input()\n displayShowCuentas: boolean;\n cuentasContables: any = [];\n @Output()\n evSelectedAccount: EventEmitter<CuentaContableModel>;\n maxH = 720;\n is_movil: boolean;\n is_media: boolean;\n is_large: boolean;\n\n maxW = 0;\n flagModal: boolean = true;\n cols: any[];\n size = 350;\n constructor() { \n this.maxH = window.innerHeight - 370;\n this.maxW = window.innerWidth;\n this.size = this.maxW - 50;\n this.evSelectedAccount = new EventEmitter<CuentaContableModel>();\n }\n\n ngOnInit() {\n }\n\n getAccount(account:any){\n this.evSelectedAccount.emit(account);\n }\n\n hiddenDialog(evt: any) {\n this.evSelectedAccount.emit(null);\n }\n\n}\n","<p-dialog header=\"Selecciona cuenta contable\" [(visible)]=\"displayShowCuentas\" [modal]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\" [baseZIndex]=\"10000\" (onHide)=\"hiddenDialog($event)\" [blockScroll]=\"true\" [draggable]=\"false\" [blockScroll]=\"true\"\n [maximizable]=\"true\">\n <div class=\"padding10\" [ngStyle]=\"{'height': maxH+200+'px'}\">\n <lib-cclista [isShared]=\"true\" [typeAccount]=\"tipoCuenta\" (evSelectedAccount)=\"getAccount($event)\"></lib-cclista>\n </div>\n</p-dialog>","import { CclistaComponent } from './contabilidad/componentes/cclista/cclista.component';\nimport { CcseleccionDialogComponent } from './contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component';\n\nexport const contaComponents = [\n CclistaComponent,\n CcseleccionDialogComponent\n];\n","import { Injectable, Output, EventEmitter } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n}) export class LoginModalService {\n\n @Output() modal = new EventEmitter() ;\n\n showModal(){\n this.modal.emit(true);\n }\n}","import { Injectable } from '@angular/core';\nimport { Subject } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingScreenService {\n\n private _loading: boolean = false;\n loadingStatus: Subject<boolean> = new Subject();\n\n get loading():boolean {\n return this._loading;\n }\n\n set loading(value) {\n this._loading = value;\n this.loadingStatus.next(value);\n }\n\n startLoading() {\n this.loading = true;\n }\n\n stopLoading() {\n this.loading = false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor, HttpErrorResponse\n} from '@angular/common/http';\nimport { Observable, of, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/internal/operators';\n\nimport { ToastrService } from 'ngx-toastr';\nimport { LoginModalService } from '../components/login-modal/login-modal.service';\nimport { LoadingScreenService } from '../components/loading-screen/loading-screen.service';\n\n@Injectable()\nexport class httpInterceptor implements HttpInterceptor {\n constructor(\n private loginModalService: LoginModalService,\n private toastrService: ToastrService,\n private loadingScreenService : LoadingScreenService\n ) {\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n\n this.loadingScreenService.startLoading();// this.loadingService.start();\n return next.handle(request).pipe(catchError((error, caught) => {\n this.loadingScreenService.stopLoading();\n this.handleError(error);\n return throwError(error);\n }) as any, tap((res : any) => {\n // @ts-ignore\n const body = (res.body) ? res.body : null;\n if(res.type !== 0 && res.type === 4){\n this.loadingScreenService.stopLoading();\n }\n if (body) {\n let message = (body.success) ? body.success : null;\n\n if (message) {\n this.toastrService.success(message, 'Exito', {\n timeOut: 3000, closeButton: true\n });\n }\n }\n }) as any);\n }\n\n private handleError(err: HttpErrorResponse): Observable<any> {\n if (err.status === 401 || err.status === 403) {\n if (err.status === 401) {\n //this.router.navigateByUrl('/login');\n // this.router.navigateByUrl('/sing_out');\n this.loginModalService.showModal();\n }\n if (err.status === 403)\n this.toastrService.error('No tiene permiso sobre esta accion', 'Error', {\n timeOut: 5000\n });\n return of(err.message);\n }\n if(err.status !== 401 && err.status !== 403 && err.status !== 409){\n this.toastrService.error('Ocurrio un error al procesar su solicitud', 'Error', {\n timeOut: 5000\n });\n }\n this.readError(err);\n return of(err);\n }\n\n readError(respuesta: any) {\n if(respuesta.error){\n if (respuesta.error.error)\n if (respuesta.error.error.message){\n this.toastrService.error(respuesta.error.error.message, 'Error', {\n timeOut: 3000\n });\n }\n if (respuesta.error.message){\n this.toastrService.error(respuesta.error.message, 'Error', {\n timeOut: 3000\n });\n }\n\n if(respuesta.error._errors){\n if (Array.isArray(respuesta.error._errors))\n for (let indexError = 0; indexError < respuesta.error._errors.length; indexError++) {\n this.toastrService.error(respuesta.error._errors[indexError].message, 'Error', {\n timeOut: 3000,\n closeButton: true\n });\n }\n }\n }\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-error404',\n templateUrl: './error404.component.html',\n styleUrls: ['./error404.component.css']\n})\nexport class Error404Component implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","<div class=\"col-md-12 sec_sof\">\n <div class=\"row\">\n <div class=\"col col-center\">\n <div class=\"center\">\n <div class=\"error\">\n Error 404\n </div>\n <div class=\"col-12\">\n <p>La pagina solicitada no fue encontrada</p>\n </div>\n </div> \n </div>\n \n </div>\n</div>\n","import { Injectable, Output, EventEmitter } from '@angular/core';\n\n@Injectable({\n providedIn : 'root'\n}) export class LoadingService {\n\n @Output() loading = new EventEmitter();\n\n setLoading(visible) {\n if(visible)\n this.start();\n else\n this.stop();\n }\n\n start() {\n this.loading.emit(true);\n }\n\n stop() {\n this.loading.emit(false);\n }\n\n}\n","import { Component, Input } from '@angular/core';\nimport { LoadingService } from './loading.service';\ndeclare var $ : any;\n@Component({\n selector: 'loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.css']\n})\nexport class LoadingComponent {\n visible=false;\n @Input() logo_loading : string = 'assets/img/logo_visorus_loading.png';\n constructor(\n private loadingService: LoadingService\n ){\n\n this.loadingService.loading.subscribe( ( _visible: boolean) => {\n if( _visible && !this.visible ) {\n $('#modal_loading').modal('show');\n this.visible =true;\n } else {\n setTimeout(() => {\n $('#modal_loading').modal('hide'); \n \n }, 650);\n this.visible = false;\n }\n }\n );\n }\n}\n","<!-- Modal -->\n<div class=\"modal fade\" id=\"modal_loading\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalScrollableTitle\"\n data-backdrop=\"static\" data-keyboard=\"false\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-dialog-scrollable\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body\">\n <div class=\"row justify-content-center\">\n <div class=\"col-lg-4 col-md-4 col-sm-10\">\n <div class=\"loader\">\n <span class=\"box\"></span>\n <span class=\"box\"></span>\n <div class=\"code\">\n <img src=\"{{logo_loading}}\" width=\"200px\">\n </div>\n <span class=\"txt\">{{'cargando' | translate}}...</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnDestroy, Input } from '@angular/core';\nimport { LoadingScreenService } from \"./loading-screen.service\";\nimport { Subscription } from \"rxjs\";\nimport { debounceTime } from \"rxjs/operators\";\nimport { LoadingService } from '../loading/loading.service';\n\n@Component({\n selector: 'app-loading-screen',\n templateUrl: './loading-screen.component.html',\n styleUrls: ['./loading-screen.component.scss']\n})\nexport class LoadingScreenComponent implements AfterViewInit, OnDestroy {\n\n debounceTime: number = 250;\n loading: boolean = false;\n loadingSubscription: Subscription;\n @Input() logo_loading : string = 'assets/img/logo_visorus_loading.png';\n\n constructor(private loadingScreenService: LoadingScreenService,\n private _elmRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private loadingService: LoadingService\n ){ \n this.loadingService.loading.subscribe( ( _visible: boolean) => {\n this._elmRef.nativeElement.style.display = _visible ? 'block' : 'none'; \n }\n );\n }\n\n ngAfterViewInit(): void {\n this._elmRef.nativeElement.style.display = 'none';\n this.loadingSubscription = this.loadingScreenService.loadingStatus.pipe(debounceTime(this.debounceTime)).subscribe(\n (status: boolean) => {\n this._elmRef.nativeElement.style.display = status ? 'block' : 'none';\n this._changeDetectorRef.detectChanges();\n }\n );\n }\n\n ngOnDestroy() {\n this.loadingSubscription.unsubscribe();\n }\n\n}\n","<div class=\"loading-screen-wrapper\">\n <div class=\"loading-screen-icon\">\n <div class=\"blobs\">\n <div class=\"blob-center\"></div>\n <div class=\"blob\"></div>\n <div class=\"blob\"></div>\n <div class=\"blob\"></div>\n <div class=\"blob\"></div>\n <div class=\"blob\"></div>\n <div class=\"blob\"></div>\n </div> \n </div>\n</div>\n","import { Injectable, EventEmitter, Output } from \"@angular/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PdfModalService {\n @Output() visible = new EventEmitter();\n @Output() print = new EventEmitter();\n base_64 : any ;\n html : any;\n\n pdf_generate(base_64){\n this.base_64 = base_64;\n this.visible.emit(true);\n }\n \n generate_print(html){\n this.html = html;\n this.print.emit(true);\n }\n \n}","import { Injectable } from '@angular/core';\nimport {ToastrService} from \"ngx-toastr\";\nimport {TranslateService} from \"@ngx-translate/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileService {\n\n constructor(private _toastrService: ToastrService,\n private translate: TranslateService) { }\n\n addFile( evt , toastr = true ) {\n const file = evt.target.files[0];\n let imgObj: any = {\n id: null,\n nombre: '',\n contentType: '',\n orden: 0,\n archivo: ''\n };\n imgObj.nombre = file.name;\n imgObj.tipo = file.type;\n\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n imgObj.archivo = reader.result;\n this.translate.get([ 'msgSuccess', 'titleFile' ] ).subscribe(\n ( data: any ) => {\n if(toastr)\n this._toastrService.success( data.msgSuccess, data.titleFile );\n }\n );\n };\n reader.onerror = (error) => {\n this.translate.get([ 'msgError', 'titleFile' ] ).subscribe(\n ( data: any ) => {\n if(toastr)\n this._toastrService.error( data['msgError'], data['titleFile'] );\n }\n );\n };\n return imgObj;\n }\n\n base64ToBlob(base64,type){\n let byteCharacters = atob ( base64)\n const byteNumbers = new Array(byteCharacters.length);\n for (let i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.charCodeAt(i);\n }\n let byteArray = new Uint8Array(byteNumbers);\n return new Blob([byteArray],{type: type});\n }\n\n blobToDowload(blob,type,name){\n let anchor = document.createElement('a');\n anchor.download = name;\n anchor.href = window.URL.createObjectURL(blob);\n anchor.dataset.downloadurl = [type, anchor.download, anchor.href].join(':');\n anchor.click();\n }\n\n base64ToFileDowload(base64,type,name){\n this.blobToDowload(this.base64ToBlob(base64,type),type,name);\n }\n\n}\n","<p-dialog [(visible)]=\"display\" [modal]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\" [baseZIndex]=\"10000\" [blockScroll]=\"true\" \n [blockScroll]=\"true\" [maximizable]=\"true\"\n [breakpoint]=\"840\" [contentStyle]=\"{'overflow':'visible'}\">\n <div *ngIf=\"pdfBase64\" style=\"min-height: 90vh;\">\n <iframe style=\"width: 100%; height: 90vh;\" [src]=\"domSanitizer.bypassSecurityTrustResourceUrl('data:application/pdf;base64,'+pdfBase64)\"></iframe>\n </div>\n</p-dialog>\n\n","import { Component } from '@angular/core';\nimport { PdfModalService } from './pdf-modal.service';\nimport { FileService } from '../../services/file.service';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'pdf-modal',\n templateUrl: './pdf-modal.component.html',\n styleUrls: ['./pdf-modal.component.css']\n}) export class PdfModalComponent {\n display= false;\n pdfBase64= null;\n size = 840;\n constructor(\n private _pdfModalService : PdfModalService,\n private fileService : FileService,\n public domSanitizer : DomSanitizer\n ){\n _pdfModalService.visible.subscribe(resp =>{ \n if(_pdfModalService.base_64){\n this.display = resp;\n this.pdfBase64 = _pdfModalService.base_64\n /*\n let blob = fileService.base64ToBlob(_pdfModalService.base_64, \"application/pdf\");\n let blobUrl = URL.createObjectURL(blob);\n setTimeout(() => {\n let iframe = \"<iframe width='100%' height='100%' src='\" + blobUrl + \"'></iframe>\"; \n document.getElementById('_modal_pdf').innerHTML = iframe; \n },20); */\n }\n \n });\n _pdfModalService.print.subscribe(\n (resp : any)=>{\n this.display = resp;\n setTimeout(() => {\n let iframe = \"<iframe id='printf' width='100%' height='100%' ></iframe>\"\n document.getElementById('_modal_pdf').innerHTML = iframe;\n },20);\n\n setTimeout(() => {\n this.imprimir();\n },40);\n }\n );\n }\n\n imprimir(){ \n \n var iframe = window.frames['printf'];\n\n\n iframe.contentWindow.head.innerHTML = ` <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\" integrity=\"sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm\" crossorigin=\"anonymous\">\n <style>\n .table-hover tbody tr:hover {\n color: #ffffff;\n background-color: rgb(92, 180, 234);\n }\n .tr-select{\n color: #ffffff;\n background-color: rgb(92, 180, 234);\n }\n .td-header{\n background: #f3f3f3;\n color: #0d385d;\n border-color: 1px solid #0b4b87;\n }\n .td-yellow{\n background: #fff6d3;\n }\n .td-blue{\n background: #88d1ea;\n }\n .td-green{\n background: #b9d2a0;\n }\n </style>`;\n iframe.contentWindow.body.innerHTML =this._pdfModalService.html;\n \n //iframe.focus();\n // iframe.contentWindow.print();\n \n } \n \n\n\n}","\nexport class Usuario{\n username : string;\n token_type : string;\n access_token : string;\n expires_in : number;\n refresh_token : string;\n roles : any [];\n}\n","import { Usuario } from './Usuario';\n\nexport class Auth{\n login : boolean;\n usuario : Usuario;\n usuarioDetalles : any;\n}","import { Injectable, Output, EventEmitter } from \"@angular/core\";\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Usuario } from '../models/Usuario';\nimport { Auth } from '../models/auth';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n usuario: Usuario;\n url_host = '';\n auth: Auth;\n @Output() login = new EventEmitter();\n @Output() seleccionEmpresa = new EventEmitter();\n constructor(\n private httpClient: HttpClient\n ) {\n this.auth = new Auth();\n }\n\n setlogin(user, key) {\n localStorage.setItem('lang', 'es');\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n return this.httpClient.post(this.url_host + '/login' + (key ? '/' + key : ''), user);\n }\n startAuth(user) {\n this.auth = user;\n this.login.emit(this.auth);\n }\n isLogin() {\n return localStorage.getItem('usuario') !== null;\n }\n\n quitarUsuario() {\n localStorage.removeItem('usuario');\n this.auth.login = false;\n this.login.emit(this.auth);\n }\n\n\n verificaLogin() {\n this.usuario = this.getUser();\n if (this.usuario.access_token) {\n this.getDetalsUser().subscribe(\n (resp: any) => {\n this.auth.usuarioDetalles = resp;\n this.auth.login = true;\n this.login.emit(this.auth);\n }, (error: any) => {\n this.quitarUsuario();\n }\n );\n } else {\n this.auth.usuarioDetalles = null;\n this.auth.login = false;\n this.login.emit(this.auth);\n }\n }\n\n\n loginOut() {\n\n this.quitarEmpresaAdministrativa().subscribe(\n (data: any) => {\n localStorage.removeItem('usuario');\n }, error => {\n localStorage.removeItem('usuario');\n }\n );\n\n localStorage.setItem('lang', 'es');\n this.auth.login = false;\n this.login.emit(this.auth);\n }\n\n getUser() {\n this.usuario = new Usuario();\n if (this.isLogin()) {\n let us = localStorage.getItem('usuario');\n if (us) {\n this.usuario = JSON.parse(us);\n }\n\n return this.usuario;\n } else {\n return this.usuario;\n }\n }\n\n getLang() {\n let lang = localStorage.getItem('lang');\n return lang ? lang : 'es';\n }\n\n selectEmpresa(e) {\n this.seleccionEmpresa.emit(e);\n }\n\n quitarEmpresaAdministrativa() {\n let usuario: Usuario;\n let token_type = '';\n let access_token = '';\n usuario = <Usuario>JSON.parse(localStorage.getItem(\"usuario\"));\n if (usuario) {\n token_type = usuario.token_type,\n access_token = usuario.access_token\n }\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': token_type + ' ' + access_token\n })\n };\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n\n return this.httpClient.post(this.url_host + '/usuario/setEmpresa', { id: 0 }, httpOptions);\n }\n setEmpresa(empresa) {\n // setEmpresaAdministrativa\n let usuario: Usuario;\n let token_type = '';\n let access_token = '';\n usuario = <Usuario>JSON.parse(localStorage.getItem(\"usuario\"));\n if (usuario) {\n token_type = usuario.token_type,\n access_token = usuario.access_token\n }\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': token_type + ' ' + access_token\n })\n };\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n\n return this.httpClient.post(this.url_host + '/usuario/setEmpresa', empresa, httpOptions);\n }\n setModulo(modulo) {\n // setEmpresaAdministrativa\n let usuario: Usuario;\n let token_type = '';\n let access_token = '';\n usuario = <Usuario>JSON.parse(localStorage.getItem(\"usuario\"));\n if (usuario) {\n token_type = usuario.token_type,\n access_token = usuario.access_token\n }\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': token_type + ' ' + access_token\n })\n };\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n\n return this.httpClient.post(this.url_host + '/usuario/setModulo', modulo, httpOptions);\n }\n quitarModulo() {\n // setEmpresaAdministrativa\n let usuario: Usuario;\n let token_type = '';\n let access_token = '';\n usuario = <Usuario>JSON.parse(localStorage.getItem(\"usuario\"));\n if (usuario) {\n token_type = usuario.token_type,\n access_token = usuario.access_token\n }\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': token_type + ' ' + access_token\n })\n };\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n\n return this.httpClient.post(this.url_host + '/usuario/setModulo', { id: 0 }, httpOptions);\n }\n\n getDetalsUser() {\n let usuario: Usuario;\n let token_type = '';\n let access_token = '';\n usuario = <Usuario>JSON.parse(localStorage.getItem(\"usuario\"));\n if (usuario) {\n token_type = usuario.token_type,\n access_token = usuario.access_token\n }\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': token_type + ' ' + access_token\n })\n };\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n\n return this.httpClient.get(this.url_host + '/usuario/obtieneUsuarioActual', httpOptions);\n }\n}\n","<div class=\"modal fade\" id=\"modalLogin\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalCenterTitle\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body\">\n <div class=\"row justify-content-center\">\n <img src=\"assets/img/logo_visorus_loading.png\" alt=\"\">\n </div>\n <div class=\"row\" *ngIf=\"empresas.length == 0\">\n <div class=\"col-lg-12 col-md-12 col-sm-12\" >\n <form #datoForm=\"ngForm\" (ngSubmit)=\"entrar(datoForm)\" > \n <label class=\"error\" *ngIf=\"error\">{{'Usuario.errorLogin' | translate}}</label>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputEmail1\" >{{ 'Usuario.username' | translate }}</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleInputEmail1\" aria-describedby=\"emailHelp\" #username=\"ngModel\"\n placeholder=\"{{ 'Usuario.username' | translate }}\" name=\"username\" [(ngModel)]=\"user.username\" required>\n </div>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputPassword1\">{{ 'Usuario.password' | translate }}</label>\n <input type=\"password\" class=\"form-control\" id=\"exampleInputPassword1\" placeholder=\"{{ 'Usuario.password' | translate }}\"\n name=\"password\" [(ngModel)]=\"user.password\" required>\n </div>\n \n <button type=\"submit\" class=\"btn btn-primary_low btn-lg btn-block my-5 text-light\" translate>entrar</button>\n </form>\n </div>\n </div> \n <div class=\"row\" *ngIf=\"empresas.length\">\n <div class=\"col-xl-12 col-lg-12 col-sm-12\">\n <h4>Selecciona la empresa</h4>\n <hr>\n </div>\n <div class=\"col-xl-6 col-lg-6 col-sm-12 mb-2\" *ngFor=\"let empresa of empresas\" style=\"cursor: pointer\">\n <div class=\"card\">\n <div class=\"card-body\">\n <h5>\n {{empresa.nombre}}\n </h5>\n </div>\n </div>\n </div>\n </div> \n \n </div>\n </div>\n </div>\n</div>","import { Component, OnInit } from '@angular/core';\nimport { LoginModalService } from './login-modal.service';\nimport { AuthService } from '../../services/auth.service';\ndeclare var $: any;\ndeclare var jQuery: any;\n@Component({\n selector: 'app-login-modal',\n templateUrl: './login-modal.component.html',\n styleUrls: ['./login-modal.component.css']\n})\nexport class LoginModalComponent {\n modal = false;\n user: any = { username : undefined , password : undefined}; \n error = false;\n \n empresas = [];\n\n constructor(\n private loginModalService : LoginModalService,\n private authService : AuthService\n ) { \n this.loginModalService.modal.subscribe( resp => {\n $('#modalLogin').modal('show');\n this.user = { username : undefined , password : undefined}; \n this.empresas = [];\n } );\n }\n\n entrar(form){\n if(form.valid){\n this.user.key=\"\";\n let password = this.user.password.split('_');\n if(password.length > 1){\n this.user.key= password[0];\n this.user.password = '';\n for (let index = 1; index < password.length; index++) { \n this.user.password += password[index];\n }\n }\n\n this.authService.setlogin(this.user, this.user.key ).subscribe(\n (resp : any)=>{\n localStorage.setItem('usuario',JSON.stringify(resp)); \n let usuario = resp;\n this.authService.getDetalsUser().subscribe(\n (resp : any)=>{\n if(!resp.empresa){\n this.empresas = resp.empresas;\n if(this.empresas.length == 1){\n this.entrarEmpresa(this.empresas[0]);\n }\n }\n let auth : any = {};\n auth.login= true;\n auth.usuario= usuario;\n auth.usuarioDetalles = resp;\n this.authService.startAuth(auth);\n this.error= false;\n $('#modalLogin').modal('hide');\n }\n );\n \n }, (_error : any)=>{\n this.error= true;\n }\n );\n }\n}\n\n\nentrarEmpresa(_empresa){\n this.authService.setEmpresa(_empresa).subscribe(\n (resp : any)=>{\n $('#modalLogin').modal('hide');\n }\n );\n}\n\n\n}\n","\nimport { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n })\n export class SessionCajaService {\n private endpoint = 'sessionCaja';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n \n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","<p-dialog [(visible)]=\"showCreateSession\" [modal]=\"flagModal\" (onHide)=\"closeModal()\" (onShow)=\"setSession()\"\n [closeOnEscape]=\"flagModal\" [closable]=\"flagModal\" [blockScroll]=\"true\" [style]=\"{width: '750px'}\">\n\n <ng-template pTemplate=\"header\">\n <a class=\"text-primary\">{{labels.title}}: </a>\n </ng-template>\n\n <div class=\"grid grid-fluid\" *ngIf=\"caja\">\n <div class=\"p-field col-12\">\n <label for=\"nombreCaja\">Nombre de caja: </label>\n <input pInputText type=\"text\" id=\"nombreCaja\" [(ngModel)]=\"caja.nombre\" [disabled]=\"true\">\n </div>\n\n <div class=\"p-field col-12 md:col-6\">\n <label for=\"saldoCaja\">Saldo: </label>\n <input pInputText type=\"number\" id=\"saldoCaja\" [(ngModel)]=\"session.monto\" [disabled]=\"editMode\">\n </div>\n\n <div class=\"p-field col-12 md:col-6\">\n <label for=\"numeroZ\">Numero Z:</label>\n <input pInputText type=\"number\" id=\"numeroZ\" [(ngModel)]=\"session.z\" [disabled]=\"true\">\n </div>\n </div>\n\n <div>\n Este agente no esta asignado a una caja\n </div>\n\n <ng-template pTemplate=\"footer\">\n <button pButton type=\"button\" label=\"Guardar\" (click)=\"save()\" *ngIf=\"!editMode && caja\" class=\"p-button-sm\"></button>\n <button pButton type=\"button\" label=\"Cerrar session\" (click)=\"edit()\" *ngIf=\"editMode && caja\" class=\"p-button-sm p-button-success\"></button>\n <button pButton type=\"button\" label=\"Cancelar\" (click)=\"closeModal()\" class=\"p-button-sm p-button-danger\"></button>\n </ng-template>\n\n</p-dialog>","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\nimport { SessionCajaService } from '../sessionCaja.service';\n\n\n@Component({\n selector: 'session-create',\n templateUrl: './session-create.component.html',\n styleUrls: ['./session-create.component.css']\n})\nexport class SessionCreateComponent implements OnInit {\n\n @Input() showCreateSession: boolean = false;\n @Input() caja: any = {};\n @Input() monedaDenominacionList:any[];\n\n @Input() sessionEdit?: any = null\n // @Input() closeSession?: boolean\n @Output() status = new EventEmitter();\n @Output() success = new EventEmitter();\n \n session: any = {\n inicio: new Date().getTime(),\n termino: null,\n monedaDenominacionList: []\n }\n flagModal: boolean = true\n labels: any = {\n title: \"Crear nueva session de caja\"\n }\n\n resp: any = {}\n editMode:boolean = false\n\n constructor(private sessionCajaService: SessionCajaService) { }\n\n ngOnInit() {\n console.log(\"denominacionList\",this.monedaDenominacionList); \n }\n\n setSession() {\n if(this.sessionEdit){\n this.session = this.sessionEdit;\n this.session.monedaDenominacionList= this.monedaDenominacionList;\n if(this.session.movimientosCaja){\n this.session.monto = this.session.movimientosCaja[0].monto\n }\n this.labels = {\n title: \"Cerrar session\"\n }\n this.editMode = true\n }\n else if (this.caja) {\n this.labels.title = \"Crear nueva session de caja\"\n this.session.caja = this.caja\n this.session.z = this.caja.z\n }\n }\n\n closeModal() {\n this.session = {}\n this.editMode = false\n this.status.emit({ status: false })\n }\n\n async save() {\n this.resp = await this.sessionCajaService.save(this.session).toPromise() || null\n if (this.resp) {\n this.session = {}\n this.editMode = false\n this.status.emit({ status: false, save: this.resp.data })\n this.success.emit(true);\n }else{\n this.success.emit(false);\n }\n }\n\n async edit(){ \n console.log(\"EDIT\", this.session);\n this.resp = await this.sessionCajaService.update(this.session).toPromise() || null \n if(this.resp){\n this.session = {}\n this.editMode = false\n this.status.emit({status:false,update:this.resp.data})\n }\n }\n\n}\n","import { Genero } from \"./Genero\";\nimport { EstadoCivil } from \"./EstadoCivil\";\n\nexport class Persona{\n id : number;\n nombre : string;\n apellidoPaterno : string;\n apellidoMaterno : string;\n fechaNacimiento : string;\n curp : string;\n rfc : string;\n genero : Genero;\n estadoCivil : EstadoCivil;\n estatus : boolean;\n version : number;\n constructor(){\n //this.estadoCivil= new EstadoCivil();\n //this.genero = new Genero();\n }\n}","import { Persona } from \"./Persona\";\nimport { DatoDireccion } from \"../../dato-direccion/models/DatoDireccion\";\nimport { DatoContacto } from \"../../contacto/models/DatoContacto\";\n\nexport class PersonaFisica{\n id: number;\n datoPersona: Persona;\n version : number;\n contactos: DatoContacto[];\n datoDirecciones: DatoDireccion[];\n constructor(){\n this.datoPersona= new Persona();\n this.contactos=[];\n this.datoDirecciones=[];\n }\n}","import { PersonaFisica } from \"../components/persona-fisica/models/PersonaFisica\";\nimport { DatoContacto } from \"../components/contacto/models/DatoContacto\";\nimport { DatoDireccion } from \"../components/dato-direccion/models/DatoDireccion\";\n\nexport class PersonaMoral{\n id : number;\n razonSocial : string;\n rfc : string;\n representanteLegal : PersonaFisica;\n version : number;\n contactos : DatoContacto[];\n datoDirecciones : DatoDireccion[];\n constructor(){\n this.representanteLegal = new PersonaFisica();\n this.contactos=[];\n this.datoDirecciones=[];\n }\n}","import { SerieDocumento } from \"../../serieDocumento/models/SerieDocumento\";\nimport { Almacen } from \"../../almacen/models/Almacen\";\nimport { PersonaFisica } from \"../../persona-fisica/models/PersonaFisica\";\nimport { ClasificadorTipo } from \"../../clasificadorTipo/models/ClasificadorTipo\";\nimport { CatalogoTipo } from \"../../catalogoTipo/models/CatalogoTipo\";\n\nexport class Agente{\n\t\n id : number;\n version : number;\n estatus : boolean;\n observacion : string;\n comisionVenta: number;\n comisionCobro: number;\n centroDeCosto: number;\n serieDefault : SerieDocumento;\n almacenDefault: Almacen;\n catalogoTipo : CatalogoTipo;\n personaFisica: PersonaFisica;\n clasificadorTipo : ClasificadorTipo;\n series : any[];\n almacenes : any [];\n numeroPrecio : any [];\n\n constructor(){\n // this.catalogoTipo= new CatalogoTipo();\n this.personaFisica = new PersonaFisica();\n }\n \n}","\nimport { PersonaFisica } from \"../../persona-fisica/models/PersonaFisica\";\nimport { PersonaMoral } from \"../../../models/PersonaMoral\";\nimport { ClasificadorTipo } from \"../../clasificadorTipo/models/ClasificadorTipo\";\nimport { Agente } from \"../../agente/models/Agente\";\nimport { CatalogoTipo } from '../../catalogoTipo/models/CatalogoTipo';\n\nexport class Cliente {\n id: number;\n version: number;\n limiteCredito: number;\n plazoCredito: number;\n diasPago: number;\n numeroPrecioVenta: number;\n estadoDeCredito: boolean;\n descuento1: number;\n descuento2: number;\n descuento3: number;\n descuento4: number;\n descuento5: number;\n descuento6: number;\n descuento7: number;\n descuento8: number;\n descuento9: number;\n descuento10: number;\n fechaUltimaCompra: string;\n folioUltimaCompra: string;\n puntosMonedero: number;\n montoMonedero: number;\n personaFisica: PersonaFisica;\n personaMoral : PersonaMoral;\n estatus: boolean;\n agenteVendedor : Agente;\n agenteCobrador : Agente;\n clasificadorTipo : ClasificadorTipo;\n catalogoTipo : CatalogoTipo;\n ieps : string;\n descripcionRazonSocial : string;\n descripcionRfc : string;\n modificarDatosVenta : boolean; \n residenciaFiscal : any;\n identidadFiscal : string;\n codigoSat : any;\n codigo :string; \n\n constructor(){\n this.agenteCobrador= new Agente();\n this.agenteVendedor= new Agente();\n this.personaFisica = new PersonaFisica();\n this.personaMoral= new PersonaMoral();\n }\n \n}","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\nimport { Cliente } from \"../models/Cliente\";\n\n@Injectable({\n providedIn: 'root'\n}) export class ClienteService {\n private endpoint = 'cliente';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<Cliente> {\n return this.api.get<Cliente>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n \n validar_archivos_bss(id){\n return this.api.get<any>(`${this.endpoint}/validarClienteBss/${id}`);\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class PaginateService {\n constructor(private translate: TranslateService) { }\n \n getPage() {\n return {\n rows: 25,\n total: undefined,\n offset: 0,\n filtro: undefined,\n sort: undefined,\n };\n }\n getParams(page) {\n return [\n { param: 'offset', value: page.offset },\n { param: 'max', value: page.rows },\n { param: 'filter', value: page.filtro },\n { param: 'sort', value: page.sort }\n ];\n\n }\n getOrden(arg, lang? : string) {\n if(lang)\n this.translate.setDefaultLang(lang);\n \n let ordenar = [];\n let tra = [];\n for (let index = 0; index < arg.length; index++) {\n ordenar.push(\n { label: \"...\", value: arg[index].label }\n );\n tra.push(arg[index].param);\n \n }\n let dat: any;\n let a = true;\n if(tra.length >0)\n this.translate.get(tra).subscribe(\n data => {\n dat = data;\n let values = Object.values(dat);\n let i = 0;\n ordenar.forEach(elem => {\n elem.label = '' + values[i];\n i++;\n });\n },\n erro => { },\n \n );\n return ordenar;\n \n }\n\n\n}","<p-dialog header=\"{{ 'Seleccionar cliente ' | translate }}\" [(visible)]=\"visible\" (onHide)=\"cerrar()\"\n (onShow)=\"cargarDatosClientes()\">\n\n <div class=\"p-inputgroup mt-2\">\n <input type=\"text\" pInputText placeholder=\"{{'buscar'| translate}}...\"\n [(ngModel)]=\"page.filtro\" name=\"filtro\" (keyup)=\"aplicarFiltro()\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\" (click)=\"aplicarFiltro()\"></button>\n </div>\n\n <p-table\n [value]=\"clientes\"\n dataKey=\"id\" [lazy]=\"true\"\n (onLazyLoad)=\"cargarDatosClientes($event)\"\n [paginator]=\"true\"\n [rows]=\"page.rows\"\n [totalRecords]=\"page.total\"\n [(selection)]=\"clienteSeleccionado\"\n selectionMode=\"{{selectMode}}\"\n (onRowSelect)=\"seleccionaCliente($event)\"\n [scrollable]=\"true\" scrollHeight=\"350px\"\n [loading]=\"loading\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th>{{'clave' | translate}}</th>\n <th>{{'razonSocial' | translate}}</th>\n <th>{{'tipo' | translate}}</th>\n <th>{{'Cliente.limiteCredito' | translate}}</th>\n <th>{{'Cliente.plazoCredito' | translate}}</th>\n <th>{{'Cliente.diasPago' | translate}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-cliente>\n <tr [pSelectableRow]=\"cliente\"> \n <td>{{cliente.codigo}}</td>\n <td>{{cliente.descripcionRazonSocial}}</td>\n <td>\n <span *ngIf=\"cliente.personaFisica\">{{'fisico'| translate}}</span>\n <span *ngIf=\"cliente.personaMoral\">{{'moral'| translate}}</span>\n </td>\n <td>{{cliente.limiteCredito}}</td>\n <td>{{cliente.plazoCredito}}</td>\n <td>{{cliente.diasPago}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"6\">{{'general.noRegistros' | translate}}</td>\n </tr>\n </ng-template>\n</p-table>\n \n</p-dialog>","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { Cliente } from '../models/Cliente';\nimport { ClienteService } from '../services/cliente.service';\nimport { PaginateService } from '../../../services/paginate.service';\nimport { LazyLoadEvent } from \"primeng/api\";\n\n@Component({\n selector: 'select-cliente',\n templateUrl: './select-cliente.component.html'\n})\nexport class SelectClienteComponent implements OnInit {\n\n @Input() clienteSeleccionado: Cliente;\n @Input() selectMode = 'single';\n @Input() visible : Boolean;\n @Output() select = new EventEmitter();\n\n clientes: Cliente[];\n page: any;\n params : any;\n ordenar= [];\n loading: boolean = true;\n\n constructor(\n private clienteService : ClienteService,\n private paginate : PaginateService\n ){\n }\n \n ngOnInit() {\n \n this.page = this.paginate.getPage();\n \n \n this.page.rows = 20;\n this.clientes = [];\n this.ordenar = this.paginate.getOrden(\n [ \n {param:'razonZocial',label:'razonZocial'}\n ], 'es');\n }\n\n cargarDatosClientes(event: LazyLoadEvent = null) {\n this.loading = true;\n if (event) {\n this.page.rows = event.rows;\n this.page.offset = event.first;\n }\n \n this.clientes= [];\n this.params = this.paginate.getParams(this.page);\n this.params.push({param: 'estatus', value: true});\n if (this.page.filtro && this.page.filtro.trim() !== '') {\n this.params.push({param: 'filtroGeneral', value: this.page.filtro.trim()});\n }\n\n this.clienteService.getAll(this.params).subscribe(\n (data: any) =>{\n this.page.total=data.total;\n this.clientes = <Cliente[]>data.data;\n this.loading = false;\n },\n error => {\n console.error(\"Error al cargar clientes:\", error);\n this.loading = false;\n }\n );\n }\n\n aplicarFiltro() {\n this.page.offset = 0;\n this.cargarDatosClientes();\n }\n \n seleccionaCliente(e) { \n console.log('Fila seleccionada (evento):', e);\n console.log('Datos de la fila (e.data):', e.data);\n console.log('Cliente seleccionado ANTES de emitir:', this.clienteSeleccionado); // Verifica si [(selection)] ya lo actualizó\n this.select.emit(e.data);\n this.visible = false;\n console.log('Cliente seleccionado DESPUÉS de emitir (y si se actualizó por [(selection)]):', this.clienteSeleccionado);\n }\n\n cerrar(){\n this.select.emit(null);\n this.visible=false;\n }\n}","export class ClasificadorTipo{\n id : number;\n version : number;\n codigo: string;\n descripcion : string;\n tipoClasificador: String;\n estatus :boolean;\n constructor(){}\n}","import { PersonaMoral } from \"../../../models/PersonaMoral\";\nimport { PersonaFisica } from \"../../persona-fisica/models/PersonaFisica\";\nimport { CatalogoTipo } from \"../../catalogoTipo/models/CatalogoTipo\";\nimport { ClasificadorTipo } from \"../../clasificadorTipo/models/ClasificadorTipo\";\n\nexport class Proveedor {\n id: number ;\n version: number;\n observacion: string;\n limiteCredito: number;\n plazoCredito: number;\n fechaUltimaCompra: Date;\n folioUltimaFactura: number;\n atrasoDiasEntrega: number;\n estatus: boolean;\n personaMoral: PersonaMoral;\n catalogoTipo: CatalogoTipo;\n clasificadorTipo: ClasificadorTipo;\n personaFisica: PersonaFisica;\n descripcionRazonSocial : String;\n descripcionRfc : String;\n codigo : string; \n constructor(){\n this.personaMoral=new PersonaMoral();\n this.catalogoTipo= new ClasificadorTipo();\n this.clasificadorTipo= new ClasificadorTipo();\n this.personaFisica= new PersonaFisica();\n }\n\n \n}","import { Injectable, Output, EventEmitter } from \"@angular/core\";\n import { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n}) export class ProveedorService {\n private endpoint = 'proveedor';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","<p-dialog header=\"{{'ArticuloProveedor.proveedores' | translate}}\" [(visible)]=\"visible\" (onHide)=\"cerrarModal()\"\n (onShow)=\"cargarDatosProveedores()\">\n\n <div class=\"p-inputgroup mt-2\">\n <input type=\"text\" pInputText placeholder=\"{{'buscar'| translate}}...\"\n [(ngModel)]=\"page.filtro\" name=\"filtro\" (change)=\"cargarDatosProveedores()\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\" (click)=\"cargarDatosProveedores()\"></button>\n </div>\n\n <p-table [(value)]=\"proveedores\" selectionMode=\"single\" [(selection)]=\"proveedorSeleccionado\"\n [scrollable]=\"true\" scrollHeight=\"350px\" (onRowSelect)=\"seleccionarProveedor($event)\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th>{{'clave' | translate}}</th>\n <th>{{'razonSocial' | translate}}</th>\n <th>{{'rfc' | translate}}</th>\n </tr>\n </ng-template> \n <ng-template pTemplate=\"body\" let-proveedor=\"rowData\">\n <tr>\n <td>{{proveedor.codigo}}</td>\n <td>{{proveedor.descripcionRazonSocial}}</td>\n <td>{{proveedor.descripcionRfc}}</td>\n </tr>\n </ng-template>\n </p-table>\n\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\"\n (onPageChange)=\"pagina($event)\" [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n\n</p-dialog>","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { Proveedor } from '../models/Proveedor';\nimport { ProveedorService } from '../services/proveedor.service';\nimport { PaginateService } from '../../../services/paginate.service';\n\n@Component({\n templateUrl : 'select-proveedor.component.html',\n selector : 'select-proveedor'\n})export class SelectProveedorComponent implements OnInit{\n\n proveedores : Proveedor[];\n page : any;\n params = [];\n ordenar = [];\n @Input() visible = false;\n @Input() proveedorSeleccionado = new Proveedor();\n @Output() select = new EventEmitter();\n\n constructor(\n private proveedorService : ProveedorService,\n private paginanateService :PaginateService,\n private translate : TranslateService){\n this.translate.get('es');\n }\n\n ngOnInit(): void {\n \n this.page = this.paginanateService.getPage();\n let arg =[];\n this.ordenar= this.paginanateService.getOrden(arg,'es');\n this.proveedores=[];\n }\n \n cargarDatosProveedores(){\n this.params = this.paginanateService.getParams(this.page);\n this.params.push({param: 'estatus', value: true});\n this.proveedorService.getAll(this.params).subscribe(\n (data : any)=>{\n this.proveedores = <Proveedor[]>data.data;\n }\n );\n }\n \n pagina(e) {\n this.page.rows = e.rows;\n this.page.offset = e.first;\n this.cargarDatosProveedores();\n }\n\n cerrarModal(){\n this.select.emit(null);\n this.visible=false;\n }\n\n seleccionarProveedor(e){\n this.select.emit(e.data);\n this.visible=false;\n }\n \n}","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\nimport { Almacen } from \"../models/Almacen\";\n\n@Injectable({\n providedIn: 'root'\n}) export class AlmacenService {\n private endpoint = 'almacen';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n } \n\n obtenerAlmacenEmpresa() {\n return this.api.get<any>(`${this.endpoint}/obtenerAlmacenEmpresa`);\n }\n\n get(id: number): Observable<Almacen> {\n return this.api.get<Almacen>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n }\n","import { Injectable } from '@angular/core';\nimport { ApiService } from '../../services/api.service';\nimport { Observable } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StockService {\n private endpoint = 'stock';\n\n\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n\n obtenerExistenciasArticulosDescripcion(parametros, params) {\n\n const url = `${this.endpoint}/obtenerExistenciasArticulos`;\n let promesa = new Promise((resolve , reject) => {\n this.api.post<any>( url, parametros ).subscribe(\n (data: any) => {\n resolve(data);\n }, (err: any) => {\n reject(err);\n }\n );\n });\n return promesa;\n }\n\n\n}\n","import { Injectable } from '@angular/core';\n import { ApiService } from '../../../services/api.service';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ArticuloInformacionService {\n private endpoint = 'articulo';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n obtenerExistencias(articulo : number) {\n let uRL = \"/existenciasArticulo/\"+articulo;\n return this.api.get<any>(`${this.endpoint}${uRL}`);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n \n}\n","<p-dialog (onShow)=\"OnShow()\" [header]=\"titulo\" [(visible)]=\"showModal\" [modal]=\"flagModal\" \n [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\"\n [baseZIndex]=\"10000\" (onHide)=\"hiddenDialog()\" [draggable]=\"false\" \n [blockScroll]=\"true\"\n\t\t (window:resize)=\"OnResize($event)\" [maximizable]=\"true\" [breakpoint]=\"640\">\n <p-table [columns]=\"columnsData\" [value]=\"existenciasList\" [scrollable]=\"true\" [style]=\"{width: '600px'}\" \n [responsive]=\"true\" \n scrollHeight=\"350px\"\n > \n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\">\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngFor=\"let col of columns\" pResizableColumn>\n {{col.header}}\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowIndex=\"rowIndex\">\n <tr>\n <td>{{rowData.almacenCodigo}}</td>\n <td>{{rowData.almacenDescripcion}}</td> \n <td>{{rowData.ubicacionCodigo}}</td>\n <td>{{rowData.ubicacionDescripcion}}</td> \n <td>{{rowData.existencia}}</td> \n </tr>\n </ng-template>\n </p-table>\n\t \n <p-footer>\n <div class=\"container-end\">\n <button pButton type=\"button\" icon=\"pi pi-replay\" label=\"Cerrar\" class=\"ui-button-raised ui-button-secondary\" (click)=\"hiddenDialog()\"></button>\n </div>\n </p-footer>\n</p-dialog>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport {ArticuloInformacionService} from './services/articulo-informacion.service';\n\n\n\n@Component({\n selector: 'lib-seleccion-articulo-informacion',\n templateUrl: './seleccion-articulo-informacion.component.html',\n styleUrls: ['./seleccion-articulo-informacion.component.css']\n})\nexport class SeleccionArticuloInformacionComponent implements OnInit {\n\n @Input() showModal:boolean;\n @Input() articulo:any;\n @Output() eventSelection = new EventEmitter();\n\n isMovil: boolean;\n flagModal = true;\n titulo: string;\n size = 640;\n existenciasList:any[];\n\n params : any = [\n {param: 'offset', value: 0},\n {param: 'max', value: -1},\n {param: 'order', value: 'asc'}];\n \n columnsData = [\n { field: 'codigo', header: 'Código Almacén', width: '90px' },\n { field: 'descripcion', header: 'Descripción Almacen', width: '140px' },\n { field: 'codigo', header: 'Código Ubicación', width: '90px' },\n { field: 'descripcion', header: 'Descripción Ubicación', width: '140px' },\n { field: 'opciones', header: 'Existencia', width: '80px' }, \n ]; \n\n constructor(\n private articuloInformacionService:ArticuloInformacionService, \n ) { }\n\n ngOnInit() {\n this.OnLoad();\n }\n\n hiddenDialog() {\t\t\n\t\tthis.eventSelection.emit({status: false});\n }\n \n OnResize(event: any) {\n\t\tthis.isMovil = event.target.innerWidth <= 640;\n }\n\n OnLoad(){\n this.articuloInformacionService.obtenerExistencias(this.articulo.articulo.id).subscribe(\n (data : any)=>{ \n this.existenciasList= data.data;\n }\n );\n }\n \n OnShow() {\n this.titulo='Existencias en Almacenes'; \n }\n\n onSelectedUbicacion(ubicacionRow: any) {\n\t\tthis.eventSelection.emit({status: false, ubicacion: ubicacionRow});\n\n\t}\n\n}\n","<!--inicia seleccion de articulos-->\n<!-- (onShow)=\"obtenerExistenciaArticulosShow()\" -->\n<!--\n <div class=\"col-12 col-center\" >-->\n<p-dialog header=\"{{ 'Articulos' | translate }}\" [(visible)]=\"showArticulos\" [maximizable]=\"true\"\n (onShow)=\"obtenerExistenciaArticulosShow()\" (onHide)=\"busquedaArticulos = { tipoBusqueda : ''}; emitirShowArticulos()\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\">\n <div class=\"grid grid-fluid\">\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 115px;\">\n <select pInputText [(ngModel)]=\"busquedaArticulos.tipoBusqueda\" (change)=\"obtenerExistenciaArticulosVal()\">\n <option value=\"C\">Codigo</option>\n <option value=\"D\">Descripcion</option>\n <option value=\"CD\">Coincidencia</option>\n <option value=\"CI\">Igual a</option>\n </select>\n </div>\n <input type=\"text\" style=\"width: 200px;\" pInputText [(ngModel)]=\"busquedaArticulos.key\"\n (keypress)=\"obtenerExistenciaArticulosKey( $event )\" id=\"key\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\"\n (click)=\"obtenerExistenciaArticulos( )\"></button>\n </div>\n </div>\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 100px;\">\n <label for=\"almacen\">Almacen:</label>\n </div>\n <select pInputText style=\"width: 200px;\" [(ngModel)]=\"movimiento.almacen\" disabled id=\"almacen\"\n (change)=\"obtenerExistenciaArticulosVal()\">\n <option *ngFor=\"let almacen of almacenList\" value=\"{{ almacen.id }}\">{{almacen.descripcion}}</option>\n </select>\n </div>\n\n </div>\n </div>\n\n <!--\n <div id=\"table-wrapper\">\n <div id=\"table-scroll\">-->\n <!-- new table\n <p-table #dt [columns]=\"colsDD\" [value]=\"listDD\" [scrollable]=\"true\" \n [style]=\"{width: '100%'} \" [scrollHeight]=\"maxH + 'px'\" \n [resizableColumns]=\"true\" [(selection)]=\"selectedXML\" (onRowSelect)=\"onRowSelect($event)\" dataKey=\"uuid\">\n\n \n -->\n\n <p-table [value]=\"articulosList\" [scrollable]=\"true\" #dt scrollHeight=\"400px\" [responsive]=\"true\"\n selectionMode=\"single\" (onRowSelect)=\"filaSeleccionada($event)\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 80px\" translate>Código Ubicacion</th>\n <th style=\"width: 70px\" translate>Existencia</th>\n <th style=\"width: 40px\" translate>Unidad</th>\n <th style=\"width: 50px\" *ngIf=\"manejaUnidadSecundaria\" translate>existenciaSecundaria</th>\n <th style=\"width: 40px\" *ngIf=\"manejaUnidadSecundaria\" translate>Unidad</th>\n <th style=\"width: 80px\" translate>Código</th>\n <th style=\"width: 120px\" translate>Descripcion</th>\n <th style=\"width: 40px\" translate></th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 2</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 3</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 4</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 5</th>\n <th style=\"width: 40px\" *ngIf=\"configuracion.tipoPrecio === 'costo' \" translate>Movimiento.costo</th>\n <th style=\"width: 40px\" translate>Existencia por Unidad</th>\n <th *ngFor=\"let item of clasificadorList\" style=\"width: 80px\" translate>{{item.descripcion}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 80px;\" *ngIf=\"!rowData.ubicacionCodigo\" translate>Movimiento.NoAsignado</td>\n <td style=\"width: 80px;\" *ngIf=\"rowData.ubicacionCodigo\">{{rowData.ubicacionCodigo}}</td>\n <td style=\"width: 70px;\">{{rowData.existencia}}</td>\n <td style=\"width: 40px;\">{{rowData.unidadCodigo}}</td>\n\n <td style=\"width: 50px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.existenciaSecundaria}}</td>\n <td style=\"width: 40px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.unidadSecundariaCodigo}}</td>\n\n <td style=\"width: 80px;\">{{rowData.articulo.codigo}}</td>\n <td style=\"width: 120px;\">{{rowData.articulo.descripcion}}</td>\n <td style=\"width: 40px;\">\n <button pButton type=\"button\" icon=\"pi pi-eye\" class=\"ui-button-raised ui-button-primary\"\n (click)=\"onShowInformacion(rowData)\">\n </button>\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precioConImpuestos | currency }}\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio2ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio3ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio4ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio5ConImpuestos | currency\n }}</td>\n <td style=\"width: 40px;\" *ngIf=\"configuracion.tipoPrecio === 'costo' \">{{rowData.precio | currency }}</td>\n <td style=\"width: 40px;\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of rowData.existenciaUnidades\">\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div>\n </div>\n </td>\n <!-- <td style=\"width: 40px;\"></td> -->\n <td *ngFor=\"let itemData of rowData.articuloClasificadorList\" style=\"width: 80px;\">{{itemData.valor}}</td>\n </tr>\n </ng-template>\n </p-table>\n\n <!-- /new table-->\n <!-- \n <p-table [(value)]=\"articulosList\" responsive=\"true\" \n selectionMode=\"multiple\" (onRowSelect)=\"filaSeleccionada($event)\" [scrollable]=\"true\" scrollHeight=\"350px\" >\n\n <p-column header=\"{{ 'Codigo ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n <p-column field=\"ubicacionCodigo\" header=\"{{ 'Descripcion ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n\n <p-column field=\"existencia\" header=\"{{'Existencia' | translate}}\"></p-column>\n <p-column field=\"unidadCodigo\" header=\"{{'Unidad' | translate}}\"></p-column>\n <p-column field=\"unidadDescripcion\" header=\"{{'Descripcion unidad' | translate}}\"></p-column>\n\n <p-column field=\"existenciaSecundaria\" header=\"{{'existenciaSecundaria' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n <p-column field=\"unidadSecundariaCodigo\" header=\"{{'Unidad' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n \n\n <p-column *ngIf=\"configuracion.tipoPrecio !== 'costo' \" header=\"{{'Movimiento.movimientoDetalle.precio' | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precioConImpuestos | currency }}</label>\n </ng-template>\n </p-column>\n <p-column *ngIf=\"configuracion.tipoPrecio === 'costo' \" header=\"{{'Movimiento.costo' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precio | currency }}</label>\n </ng-template>\n </p-column>\n\n\n <p-column field=\"articulo.codigo\" header=\"{{'Codigo articulo' | translate}}\"></p-column>\n <p-column field=\"articulo.descripcion\" header=\"{{'Descripcion' | translate}}\"></p-column>\n\n\n\n <p-column header=\"{{'ExistenciaPorUnidad' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of dato.existenciaUnidades\" >\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div> \n </div> \n </ng-template>\n </p-column>\n \n </p-table>\n -->\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\" (onPageChange)=\"pagina($event)\"\n [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n <!-- \n </div>\n </div>\n -->\n</p-dialog>\n<!--\n </div> \n -->\n<!--termina seleccion de articulos-->\n<!--selecciona ubicacion -->\n<lib-seleccion-articulo-informacion [showModal]=\"showModalInformacion\" [articulo]=\"articuloSelected\"\n (eventSelection)=\"onEventInformacion($event)\" *ngIf=\"showModalInformacion\">\n</lib-seleccion-articulo-informacion>","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { Almacen } from '../almacen/models/Almacen';\nimport { PaginateService } from '../../services/paginate.service';\nimport { AlmacenService } from '../almacen/services/almacen.service';\nimport { StockService } from './stock.service';\n\n@Component({\n selector: 'app-selecciona-articulo',\n templateUrl: './selecciona-articulo.component.html',\n styleUrls: ['./selecciona-articulo.component.css']\n})\nexport class SeleccionaArticuloComponent implements OnInit {\n\n @Input() configuracion : any;\n @Input() showArticulos : boolean;\n @Input() movimiento: any;\n\n @Input() manejaUnidadSecundaria : boolean = false;\n\n @Output() emitFilaSeleccionada : EventEmitter<any> = new EventEmitter();\n @Output() emitShowArticulos : EventEmitter<any> = new EventEmitter();\n\n\n\n almacenList: Almacen[];\n articulosList: any = [];\n page: any;\n ordenar = [];\n busquedaArticulos : any = {\n tipoBusqueda : ''\n };\n\n showModal:boolean=false;\n articuloSelected:any;\n showModalInformacion:boolean=false;\n showFirstTime:boolean=true;\n clasificadorList:any=[];\n size = 640;\n\n constructor(\n private _stockService : StockService,\n private _paginateService : PaginateService,\n private _almacenService : AlmacenService) { }\n\n ngOnInit() {\n this.page = this._paginateService.getPage();\n this.ordenar = this._paginateService.getOrden(\n [\n {param: 'nombre', label: 'estatus'}\n ], 'es');\n\n\n this.showFirstTime=true;\n this._almacenService.getAll( this.configuracion.params ).subscribe(\n (data: any ) => {\n this.almacenList = <Almacen[]> data.data;\n }\n );\n \n this.busquedaArticulos.tipoBusqueda = 'CD';\n //tempthis.obtenerExistenciaArticulosShow();\n }\n\n pagina( e ){\n this.page.rows = e.rows;\n this.page.offset = e.first;\n this.obtenerExistenciaArticulos();\n }\n obtenerExistenciaArticulosShow(){\n this.busquedaArticulos.tipoBusqueda = 'CD';\n if (this.showFirstTime){\n this.obtenerExistenciaArticulos();\n this.showFirstTime=false;\n }\n }\n\n obtenerExistenciaArticulos( ) {\n this.busquedaArticulos.params = this._paginateService.getParams( this.page );\n const parametros = {\n almacen : ( this.configuracion.noOcupaAlamacen ? null : this.movimiento.almacen ),\n tipoPrecio : this.configuracion.tipoPrecio,\n busquedaArticulos : this.busquedaArticulos,\n tipoArticulo : this.configuracion.tipoArticulo ? this.configuracion.tipoArticulo : null,\n numeroPrecioDefault : this.configuracion.numeroPrecioDefault\n }; \n this._stockService.obtenerExistenciasArticulosDescripcion( parametros , this.busquedaArticulos.params ).then(\n (data: any) => {\n this.articulosList = data.articulosDescripcion;\n this.page.total = data.total; \n if (data.clasificadores){\n this.clasificadorList = data.clasificadores;\n } \n if(!this.showModal){\n this.showModal = true;\n }\n }\n ).catch(e =>{\n this.articulosList = [];\n });\n }\n\n obtenerExistenciaArticulosVal(){\n if ( this.busquedaArticulos.tipoBusqueda != '' && !this.busquedaArticulos.key )\n return false;\n this.obtenerExistenciaArticulos(); \n }\n obtenerExistenciaArticulosKey( $event ) {\n if( $event.key === 'Enter')\n this.obtenerExistenciaArticulos();\n }\n\n filaSeleccionada( $event ) {\n this.emitFilaSeleccionada.emit($event);\n }\n\n emitirShowArticulos() {\n this.emitShowArticulos.emit( 0 );\n }\n\n seriesArticulo(series){\n console.log(series);\n }\n\n onShowInformacion(eventArticulo){\n this.articuloSelected = eventArticulo;\n this.showModalInformacion = true;\n }\n\n onEventInformacion(event) {\n this.showModalInformacion = event.status;\t \n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { ApiService } from '../../../services/api.service';\nimport { Observable } from \"rxjs\";\nimport { Proveedor } from \"../../proveedor/models/Proveedor\";\n\n@Injectable({\n providedIn: 'root'\n}) export class AcreedorService {\n private endpoint = 'acreedor';\n constructor(private api: ApiService){ \n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<Proveedor> {\n return this.api.get<Proveedor>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","<p-dialog header=\"Selecciona el acreedor\" [(visible)]=\"visible\" (onHide)=\"cerrarModal()\"\n (onShow)=\"cargarDatosAcreedores()\">\n\n <div class=\"p-inputgroup mt-2\">\n <input type=\"text\" pInputText placeholder=\"{{'buscar'| translate}}...\"\n [(ngModel)]=\"page.filtro\" name=\"filtro\" (keyup)=\"cargarDatosAcreedores()\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\" (click)=\"cargarDatosAcreedores()\"></button>\n </div>\n <p-table\n [value]=\"acreedores\"\n dataKey=\"id\" selectionMode=\"single\"\n [(selection)]=\"acreedorSeleccionado\"\n (onRowSelect)=\"seleccionarAcreedor($event)\"\n [scrollable]=\"true\"\n scrollHeight=\"350px\"\n [responsive]=\"true\">\n\n <ng-template pTemplate=\"header\">\n <tr>\n <th>{{'razonSocial' | translate}}</th>\n <th>{{'rfc' | translate}}</th>\n <th>{{'tipo' | translate}}</th>\n <th>{{'atrasoDiasEntrega' | translate}}</th>\n <th>{{'limiteCredito' | translate}}</th>\n <th>{{'fechaUltimaCompra' | translate}}</th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-acreedor>\n <tr [pSelectableRow]=\"acreedor\">\n <td>{{acreedor.descripcionRazonSocial}}</td>\n <td>{{acreedor.descripcionRfc}}</td>\n <td>\n <span *ngIf=\"acreedor.personaMoral\">{{'moral' | translate}}</span>\n <span *ngIf=\"acreedor.personaFisica\">{{'fisico' | translate}}</span>\n </td>\n <td>{{acreedor.atrasoDiasEntrega}}</td>\n <td>{{acreedor.limiteCredito}}</td>\n <td>{{acreedor.fechaUltimaCompra | date:'dd/MM/yyyy'}}</td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"6\">{{'general.noRegistros' | translate}}</td>\n </tr>\n </ng-template>\n </p-table>\n\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\"\n (onPageChange)=\"pagina($event)\" [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n\n</p-dialog>"," import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { AcreedorService } from \"../services/acreedor.service\";\nimport { Proveedor } from '../../proveedor/models/Proveedor';\nimport { PaginateService } from '../../../services/paginate.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n templateUrl : 'select-acreedor.component.html',\n selector : 'select-acreedor'\n})export class SelectAcreedorComponent implements OnInit{\n\n acreedores : Proveedor[];\n page : any;\n params = [];\n ordenar = [];\n @Input() visible = false;\n @Input() acreedorSeleccionado = new Proveedor();\n @Output() select = new EventEmitter();\n\n constructor(\n private acreedorService : AcreedorService,\n private paginanateService :PaginateService,\n private translate : TranslateService){\n this.translate.get('es');\n }\n\n ngOnInit(): void {\n \n this.page = this.paginanateService.getPage();\n let arg =[];\n this.ordenar= this.paginanateService.getOrden(arg,'es');\n this.acreedores=[];\n }\n \n cargarDatosAcreedores(){\n this.params = this.paginanateService.getParams(this.page);\n this.params.push({param: 'estatus', value: true});\n this.acreedorService.getAll(this.params).subscribe(\n (data : any)=>{\n this.acreedores = <Proveedor[]>data.data;\n }\n );\n }\n \n pagina(e) {\n this.page.rows = e.rows;\n this.page.offset = e.first;\n this.cargarDatosAcreedores;\n }\n\n cerrarModal(){\n this.select.emit(null);\n this.visible=false;\n }\n\n seleccionarAcreedor(e){\n this.select.emit(e.data);\n this.visible=false;\n }\n \n}","import { LoadingComponent } from './components/loading/loading.component';\nimport { LoadingScreenComponent } from './components/loading-screen/loading-screen.component';\nimport { PdfModalComponent } from './components/pdfModal/pdf-modal.component';\nimport { LoginModalComponent } from './components/login-modal/login-modal.component';\nimport { SessionCreateComponent } from './components/caja/session-create/session-create.component';\nimport { SelectClienteComponent } from './components/cliente/select/select-cliente.component';\nimport { SelectProveedorComponent } from './components/proveedor/select/select-proveedor.component';\nimport { SeleccionaArticuloComponent } from './components/selecciona-articulo/selecciona-articulo.component';\nimport { SelectAcreedorComponent } from './components/acreedor/select/select-acreedor.component';\n\n\nexport const components = [\n\n LoadingComponent,\n LoadingScreenComponent,\n LoginModalComponent,\n PdfModalComponent,\n SessionCreateComponent,\n SelectClienteComponent,\n SelectProveedorComponent,\n SeleccionaArticuloComponent,\n SelectAcreedorComponent\n\n];\n\nexport const exportComponents = components;\n\nexport const exportServices = [\n\n];\nexport const exportModels = [\n\n];\n","import { ButtonModule } from 'primeng/button';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { MessagesModule } from 'primeng/messages';\nimport { MessageModule } from 'primeng/message';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\nimport { ProgressBarModule } from 'primeng/progressbar';\nimport { TriStateCheckboxModule } from 'primeng/tristatecheckbox';\nimport { KeyFilterModule } from 'primeng/keyfilter';\nimport { InputSwitchModule } from 'primeng/inputswitch';\nimport { DialogModule } from 'primeng/dialog';\nimport { TabViewModule } from 'primeng/tabview';\nimport { CalendarModule } from 'primeng/calendar';\nimport { PanelModule } from 'primeng/panel';\nimport { TreeTableModule } from 'primeng/treetable';\nimport { TableModule } from 'primeng/table';\nimport { AutoCompleteModule } from 'primeng/autocomplete';\nimport { FieldsetModule } from 'primeng/fieldset';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { TreeModule } from 'primeng/tree';\nimport {RadioButtonModule} from 'primeng/radiobutton';\nimport {TabMenuModule} from 'primeng/tabmenu';\nimport {OverlayPanelModule} from 'primeng/overlaypanel';\nimport {TooltipModule} from 'primeng/tooltip';\nimport {CardModule} from 'primeng/card';\nimport {MenubarModule} from 'primeng/menubar';\nimport { ConfirmationService } from 'primeng/api';\nimport { SplitButtonModule } from 'primeng/splitbutton';\nimport { ToolbarModule } from 'primeng/toolbar';\n\nexport const primeNg = [\n CardModule,\n TooltipModule,\n OverlayPanelModule,\n RadioButtonModule,\n CheckboxModule,\n AutoCompleteModule,\n TableModule,\n TreeTableModule,\n CalendarModule,\n TableModule,\n ButtonModule,\n InputTextModule,\n DropdownModule,\n InputMaskModule,\n MessagesModule,\n MessageModule,\n PaginatorModule,\n ConfirmDialogModule,\n ProgressBarModule,\n TriStateCheckboxModule,\n KeyFilterModule,\n InputSwitchModule,\n DialogModule,\n TabViewModule,\n PanelModule,\n ToolbarModule,\n SplitButtonModule,\n FieldsetModule,\n TreeModule,\n TabMenuModule,\n MenubarModule,\n];\n\n\n\nexport const primeNgServices = [ConfirmationService];\n","import { contaComponents } from './importComponetsConta';\n//modules angular\nimport { NgModule } from '@angular/core';\nimport { HttpClientModule,HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';\n\n//interceptor\nimport { httpInterceptor } from './httpInterceptor/httpInterceptor';\n\n\n//components\nimport { Error404Component } from './components/error404/error404.component';\nimport { components } from './importComponents';\n\n//modules proyect\nimport { primeNg, primeNgServices } from './globalPrimeNg';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core'; \nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { ToastrModule } from 'ngx-toastr';\nimport { CommonModule } from '@angular/common';\nimport { SeleccionArticuloInformacionComponent } from './components/seleccion-articulo-informacion/seleccion-articulo-informacion.component';\nimport { FormsModule } from '@angular/forms';\n\n\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http,'./assets/i18n/','.json');\n}\n\n\n@NgModule({\n declarations: [\n Error404Component,\n components,\n contaComponents,\n SeleccionArticuloInformacionComponent\n ],\n imports: [ \n CommonModule,\n primeNg,\n FormsModule,\n ToastrModule.forRoot(),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n }) \n ],\n providers: [ \n primeNgServices,\n { provide: HTTP_INTERCEPTORS, useClass: httpInterceptor, multi: true }\n ],\n exports: [ components, contaComponents ]\n})\nexport class CoreLibModule {\n \n }\n","import { Injectable, Output, EventEmitter } from \"@angular/core\";\nimport { AuthService } from './auth.service';\n\n@Injectable({\n providedIn : 'root'\n}) export class ControlAccesoService {\n constructor(private authService: AuthService){\n }\n detallesUsuarios : any;\n @Output() cambioAcciones = new EventEmitter();\n @Output() changeDetalleUsuario = new EventEmitter();\n\n set(detallesUsuarios){\n this.detallesUsuarios = detallesUsuarios;\n this.changeDetalleUsuario.emit( this.detallesUsuarios);\n }\n\n canActivete(rols: String[]) {\n let permiso = false;\n let user = this.authService.getUser();\n if(!user) false;\n \n for (let index = 0; index < rols.length; index++) { \n if(permiso) return permiso; \n let grupoPermisos :any[] = user.roles.filter(\n (permiso: any) => {\n return permiso === rols[index] ;\n }\n ); \n permiso = grupoPermisos.length > 0;\n }\n return permiso;\n } \n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { AuthService } from './auth.service';\n@Injectable({\n providedIn: 'root'\n})\nexport class InitService {\n constructor(\n private http: HttpClient,\n private authService: AuthService\n ) {\n\n }\n initConfig() {\n this.http.get('assets/config.json').subscribe(\n (data: any) => {\n localStorage.setItem(\"config\", JSON.stringify(data)); \n }\n );\n this.http.get('assets/version.json' )\n //.first()\n .subscribe(\n (response: any) => {\n localStorage.removeItem('version');\n localStorage.setItem('version',response.hash);\n }\n );\n }\n cargaConfig() {\n this.http.get('assets/config.json').subscribe(\n (data: any) => {\n localStorage.setItem(\"config\", JSON.stringify(data));\n let url = data.url;\n this.http.post(url + '/login',\n { username: 'admin', password: 'admin' }).subscribe(\n (data: any) => {\n\n localStorage.setItem('usuario', JSON.stringify(data));\n\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': data.token_type + ' ' + data.access_token\n })\n };\n\n this.http.get(url + '/usuario/obtieneUsuarioActual', httpOptions).subscribe(\n (dat: any) => {\n let empresaAdmin = dat.empresas[0];\n this.authService.setEmpresa(empresaAdmin).subscribe(\n\n );\n }\n )\n\n });\n }\n );\n }\n}","import { Injectable } from \"@angular/core\";\nimport { ToastrService } from 'ngx-toastr';\n\n\n@Injectable({\n providedIn: 'root'\n}) export class MessageService {\n\n constructor(private toastr: ToastrService) { }\n\n\n deployMessage(tipo: string = null, titulo: string, msg: string) {\n switch(tipo){\n case \"success\" : {\n this.toastr.success(msg, titulo, {\n timeOut: 3000\n }); \n }\n break;\n case \"info\" : {\n this.toastr.info(msg, titulo, {\n timeOut: 3000,\n });\n }\n break;\n case \"warning\" :{\n this.toastr.warning(msg, titulo, {\n timeOut: 3000\n });\n }\n break;\n case \"error\": {\n this.toastr.error(msg, titulo, {\n timeOut: 3000\n });\n }\n break;\n case null :{\n this.toastr.success(msg, titulo, {\n timeOut: 3000\n });\n }\n break;\n }\n \n }\n\n success(msg: string) {\n let msgs = [];\n msgs.push({ severity: 'success', summary: 'Exito', detail: '' + msg });\n return msgs;\n }\n\n error(error: any) {\n let msgs = [];\n if (error) {\n if (error.error) {\n error = error.error;\n if (error.error)\n for (let i = 0; i < (error.error).length; i++) {\n msgs.push({ severity: 'error', summary: 'Error', detail: '' + error.error[i].message });\n }\n }\n } else {\n if (error.mensaje)\n msgs.push({ severity: 'error', summary: 'Error', detail: '' + error.mensaje });\n }\n return msgs;\n }\n\n}","import { Injectable } from \"@angular/core\";\n import { ApiService } from \"./api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n}) export class PersonaMoralService {\n private endpoint = 'personaMoral';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","import { Injectable } from \"@angular/core\";\nimport { CanActivate } from '@angular/router';\nimport { ControlAccesoService } from './controlAcceso.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanActivateGuard implements CanActivate {\n rol : string = '';\n method : string = '';\n constructor(private controlAccesoService : ControlAccesoService){ \n }\n canActivate(){\n return this.controlAccesoService.canActivete([this.rol]);\n }\n\n permisos(rol){\n this.rol = rol;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ApiService } from './api.service';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CatalogoAdicionalService {\n\n private endpoint = 'catalogoAdicional';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","import { Injectable } from '@angular/core';\nimport { AuthService } from './auth.service';\nimport { ControlAccesoService } from './controlAcceso.service';\nimport { Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Authenticated {\n\n constructor( \n private authService: AuthService,\n private controlAccesoService: ControlAccesoService,\n private router: Router\n ){\n \n }\n \n load(modulo ?){\n let usuario = this.authService.getUser();\n\n if (usuario) {\n this.authService.getDetalsUser().subscribe(\n (resp: any) => {\n let roles = resp.roles; \n for (let index = 0; index < roles.length; index++) {\n if(roles[index].authority === \"ROLE_CLIENTE\"){\n //this.regresaAlprincipal('/administrativo/movimientos/ventaRapida/create')\n this.router.navigate(['movimientos/ventaRapida/create']);\n }\n }\n if (!resp.empresa) {\n this.regresaAlprincipal(undefined);\n }\n this.controlAccesoService.detallesUsuarios = resp;\n this.controlAccesoService.cambioAcciones.emit(true);\n return true;\n /*\n if (resp.moduloAccesoActual) {\n if (resp.moduloAccesoActual.descripcion === modulo) {\n this.controlAccesoService.detallesUsuarios = resp;\n this.controlAccesoService.cambioAcciones.emit(true);\n return true;\n } else {\n this.regresaAlprincipal(resp.moduloAccesoActual.urlInicial);\n }\n } else {\n this.regresaAlprincipal(undefined);\n }\n\n */\n \n }, (error: any) => {\n this.regresaAlprincipal(undefined);\n }\n );\n } else {\n this.regresaAlprincipal(undefined);\n }\n return false;\n }\n\n regresaAlprincipal(url) {\n let config = JSON.parse(localStorage.getItem(\"config\"));\n let host = \"\"\n if (config) {\n if (config.host) {\n host = config.host;\n }\n }\n if (url) {\n host = host + url;\n }\n window.location.href = host;\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VersionCheckService {\n \n private currentHash = '{{POST_BUILD_ENTERS_HASH_HERE}}';\n \n versionado = false;\n\n constructor(private http: HttpClient) {}\n frequency = 1000 * 60 * 180;\n \n public initVersionCheck( ) {\n setInterval(() => {\n this.checkVersion();\n }, this.frequency);\n }\n\n private checkVersion() { \n this.http.get('assets/version.json' + '?t=' + new Date().getTime())\n .subscribe(\n (response: any) => {\n const hash = response.hash; \n this.currentHash = localStorage.getItem(\"version\");\n const hashChanged = this.hasHashChanged(this.currentHash, hash);\n if (!hashChanged && !this.versionado) {\n this.versionado = true;\n if(confirm(\"Está disponible una actualización de Visorus ERP. El sistema se reiniciara para descargar los nuevos cambios.\")){\n location.reload();\n this.versionado = false;\n }else{\n this.versionado = false;\n }\n }\n },\n (err) => {\n console.error(err, 'No se pudo obtener versión de software');\n }\n );\n }\n private hasHashChanged(currentHash, newHash) {\n if (!currentHash || currentHash === '{{POST_BUILD_ENTERS_HASH_HERE}}') {\n return false;\n }\n return currentHash === newHash;\n }\n}","import { Injectable } from \"@angular/core\"; \nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\nimport { Agente } from \"../models/Agente\";\n\n@Injectable({\n providedIn: 'root'\n}) export class AgenteService {\n private endpoint = 'agente';\n constructor(private api: ApiService){\n }\n\n saveUsuarioAgente(usuario : any){\n return this.api.post<any>(`${this.endpoint}/usuario`, usuario);\n }\n getUsuarioAgente(id: any){\n return this.api.get<any>(`${this.endpoint}/usuario/${id}`);\n }\n\n obtenerAgenteEmpresa() {\n return this.api.get<any>(`${this.endpoint}/obtenerAgenteEmpresa`);\n }\n\n get(id: number): Observable<Agente> {\n return this.api.get<Agente>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n } \n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}\n","import { DatoDireccion } from \"../../dato-direccion/models/DatoDireccion\";\nimport { ClasificadorTipo } from \"../../clasificadorTipo/models/ClasificadorTipo\";\n\n\nexport class Almacen{\n id: number;\n version: number;\n codigo: string;\n descripcion: string;\n maximo: number;\n minimo: number;\n prefijoContable: string;\n centroCosto: number;\n estatus: boolean;\n datoDireccion : DatoDireccion;\n clasificadorTipo: ClasificadorTipo;\n activoVirtual : boolean;\n activoMovimiento : boolean;\n activoOrdenCompra : boolean;\n activoLoteAutomatico: boolean;\n constructor(){}\n}","export class DatoDireccion{\n id : number;\n calle : String;\n numeroExterior : String;\n numeroInterior : String;\n colonia : String;\n ciudad : String;\n municipio : String;\n estado : String;\n pais : String;\n codigoPostal : String;\n referencia : String;\n estatus : boolean;\n latitud : number;\n longitud : number;\n version : number;\n constructor(){ \n }\n \n}","import { DatoDireccion } from \"../../dato-direccion/models/DatoDireccion\";\n\n\nexport class Banco{\n id : number;\n nombre : string;\n razonSocial : string;\n rfc : string;\n entidad : string;\n sucursal : string;\n datoDireccion : DatoDireccion;\n estatus : boolean;\n version : number;\n \n constructor(){\n this.datoDireccion= new DatoDireccion();\n }\n}","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\nimport { Banco } from \"../models/Banco\";\n\n@Injectable({\n providedIn: 'root'\n })\nexport class BancoService {\n private endpoint = 'banco';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n \n get(id: number): Observable<Banco> {\n return this.api.get<Banco>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n \n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","export class CatalogoTipo{\n id : number;\n version : number;\n codigo: string;\n descripcion : string;\n tipoClasificador: String;\n estatus: boolean;\n constructor(){}\n}","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\nimport { CatalogoTipo } from \"../models/CatalogoTipo\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CatalogoTipoService {\n private endpoint = 'catalogoTipo';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n \n get(id: number): Observable<CatalogoTipo> {\n return this.api.get<CatalogoTipo>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n \n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\nimport { ClasificadorTipo } from \"../models/ClasificadorTipo\";\n\n@Injectable({\n providedIn: 'root'\n}) export class ClasificadorTipoService {\n private endpoint = 'clasificadorTipo';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<ClasificadorTipo> {\n return this.api.get<ClasificadorTipo>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","export class ClaveMovimiento {\n id : number;\n version : number;\n codigo : string;\n descripcion: string;\n operadorMovimiento: string;\n operadorReporte: string;\n seImprime: boolean;\n calcularCostoAplicacion: boolean;\n afectarInventario: boolean;\n editarSerie: boolean;\n editarFolio: boolean;\n afectaCuentasPorCobrar: boolean;\n afectaCuentasPorPagar: boolean;\n actualizaEstadisticaCliente: boolean;\n actualizaEstadisticaProveedor: boolean;\n actualizaCostoArticulo: boolean;\n estatus: boolean;\n entradaAutomaticamente : boolean;\n movimientoSalida : ClaveMovimiento;\n movimientoEntrada : ClaveMovimiento;\n\n constructor(){}\n}\n","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\nimport { ClaveMovimiento } from \"../models/ClaveMovimiento\";\n\n@Injectable({\n providedIn: 'root'\n}) export class ClaveMovimientoService {\n private endpoint = 'claveMovimiento';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<ClaveMovimiento> {\n return this.api.get<ClaveMovimiento>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n} ","import { Cliente } from \"./Cliente\";\nimport { Banco } from \"../../banco/models/Banco\";\n\nexport class ClienteCuentaBanco{\n id : number;\n version : number;\n estatus : boolean;\n cliente : Cliente;\n banco : Banco;\n cuentaBancaria : string;\n cambio : boolean;\n constructor(){\n this.banco = new Banco();\n this.estatus= true;\n }\n}","export class Flete{\n id : number;\n version : number;\n nombre : string;\n estatus : boolean;\n constructor(){}\n}","import { Cliente } from \"./Cliente\";\nimport { Flete } from \"../../flete/models/Flete\";\n\nexport class ClienteFlete{\n id : number;\n version : number;\n cliente : Cliente;\n flete : Flete;\n estatus : Boolean;\n \n cambio : boolean; // solo para saber si sucede un cambio en el objeto \n\n constructor(){\n this.cliente = new Cliente();\n this.flete = new Flete(); \n this.estatus = true;\n }\n\n}","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\nimport { ClienteCuentaBanco } from \"../models/ClienteCuentaBanco\";\n@Injectable({\n providedIn: 'root'\n}) export class ClienteCuentaBancoService {\n private endpoint = 'clienteCuentaBanco';\n constructor(private api: ApiService){\n }\n\n saveAll(params: any): Observable<any> {\n let p ={'cuentas' : params};\n return this.api.post<any>(this.endpoint, p);\n }\n\n get(id: number): Observable<ClienteCuentaBanco> {\n return this.api.get<ClienteCuentaBanco>(`${this.endpoint}/${id}`);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n}","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClienteFleteService {\n private endpoint = 'clienteFlete';\n constructor(private api: ApiService){\n }\n\n saveAll(p: any): Observable<any> {\n let params ={ fletes : p};\n return this.api.post<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n}","export class TipoContacto{\n id : number;\n descripcion : String;\n estatus : boolean;\n version : number;\n constructor(){\n this.estatus= true;\n }\n}","import { TipoContacto } from \"../../tipo-contacto/models/TipoContacto\";\n\nexport class DatoContacto{\n id: number;\n valor: string;\n estatus : boolean;\n tipoContacto : TipoContacto;\n version : number;\n constructor(){\n this.tipoContacto = new TipoContacto();\n }\n \n}"," import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatoContactoService {\n private endpoint = 'contacto';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","\n\nimport { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n })\nexport class DatoDireccionService {\n private endpoint = 'datoDireccion';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n \n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n \n}","export class Departamento{\n id : number;\n codigo: number;\n descripcion : number;\n estatus : boolean;\n version : number;\n departamentoPadre : Departamento;\n constructor(){\n \n }\n}\n\n\n\n\n\n\n\n","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n}) export class DepartamentoService {\n private endpoint = 'departamento';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n \n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","\nexport class FormaPago{\nid : number;\nversion : number;\ncodigo : string;\ndescripcion : string;\ncomision : number;\nestatus : boolean;\ncodigoSat : number;\nconstructor(){}\n}\n","import { DatoDireccion } from \"../../dato-direccion/models/DatoDireccion\";\nimport { PersonaMoral } from \"../../../models/PersonaMoral\";\nimport { FormaPago } from \"../../formaPago/models/FormaPago\";\n\n\nexport class Empresa{\n id : number;\n nombre : string; \n \n claveFormaPagoEfectivo : FormaPago;\n estatus : boolean;\n datoDireccion :DatoDireccion;\n personaMoral :PersonaMoral;\n version : number;\n\n constructor(){\n this.datoDireccion = new DatoDireccion();\n this.personaMoral = new PersonaMoral();\n this.claveFormaPagoEfectivo= new FormaPago();\n }\n \n}","import { Empresa } from \"./Empresa\";\n\nexport class ConfiguracionEmpresaAdministrativa{\n id : number;\n version : number;\n busquedaPreciosNetos : boolean;\n calcularCambioTicket : boolean;\n claveBonificacion : boolean;\n claveClienteFactura : boolean;\n claveClienteMostrador : boolean;\n envioContabilidadVirtual : boolean;\n impuestoIncluidoPrecio : boolean;\n manejaOrdenSurtido : boolean;\n manejaUnidadSecundaria : boolean;\n modoContabilidadAuto : boolean;\n numeroDecimales : number;\n numeroPrecios : number;\n precioDefault : number;\n redondeaCaja : number;\n serieNotaCredito : string;\n tasaImpuestoDefault : number;\n tipoCosteo : string;\n claveFormaPagoEfectivo : string;\n formaDePagoEfectivo : any;\n formaDePagoCredito : any;\n formaDePagoMixto : any;\n monedaDefault : any;\n empresa : Empresa;\n envioMercadoLibreAuto : boolean;\n permiteModificarFecha : boolean;\n constructor(){\n this.empresa = new Empresa();\n }\n}\n","\n\nimport { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmpresaService {\n private endpoint = 'empresa';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n get(){\n return this.api.get<any>(`${this.endpoint}/configuracionEmpresaAdministrativo/configuracionUsuario`);\n }\n\n getByEmpresa(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/configuracionEmpresaAdministrativo/configuracionUsuario/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","import { Injectable } from \"@angular/core\";\n import { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FleteService {\n private endpoint = 'flete';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\nimport { FormaPago } from \"../models/FormaPago\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class FormaPagoService { \n private endpoint = 'FormaDePago';\n constructor( private api: ApiService){\n\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<FormaPago> {\n return this.api.get<FormaPago>(`${this.endpoint}/${id}`);\n }\n\n save(obj: FormaPago): Observable<FormaPago> {\n return this.api.post<FormaPago>(this.endpoint, obj);\n }\n\n update(obj: FormaPago): Observable<FormaPago> {\n return this.api.put<FormaPago>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","export class Moneda{\n id : number;\n version : number;\n codigo : number;\n descripcion : string;\n simbolo : string;\n monedaNacional : boolean;\n decimales : number;\n tipoDecambio: number;\n estatus:boolean;\n codigoSat: number;\n constructor(){}\n}\n","import { Injectable } from \"@angular/core\";\n import { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn : 'root'\n}) export class MonedaService {\n private endpoint = 'moneda';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","export class EstadoCivil {\n id: number;\n version: number;\n nombre: string;\n descripcion: string;\n estatus: boolean;\n constructor(){}\n}","export class Genero{\n id: number;\n version : number;\n nombre: string;\n estatus: boolean;\n constructor(){}\n}","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class PersonaFisicaService { \n private endpoint = 'PersonaFisica';\n constructor(private api: ApiService){\n }\n\n getGeneros(): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/genero`);\n }\n\n getEstadoCivil(): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/estadoCivil`);\n }\n\n}","import { Proveedor } from \"./Proveedor\";\nimport { Banco } from \"../../banco/models/Banco\";\n\nexport class ProveedorCuentaBanco{\n id : number;\n version : number;\n estatus : boolean;\n proveedor : Proveedor;\n banco : Banco;\n cuentaBancaria : string;\n cambio : boolean;\n constructor(){\n this.banco = new Banco();\n this.estatus= true;\n }\n}","import { Proveedor } from \"./Proveedor\";\nimport { Flete } from \"../../flete/models/Flete\";\n\nexport class ProveedorFlete{\n id : number;\n version : number;\n proveedor : Proveedor;\n flete : Flete;\n estatus : Boolean;\n \n cambio : boolean; // solo para saber si sucede un cambio en el objeto \n\n constructor(){\n this.proveedor = new Proveedor();\n this.flete = new Flete(); \n this.estatus = true;\n }\n}","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n}) export class ProveedorCuentaBancoService {\n private endpoint = 'proveedorCuentaBanco';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n saveAll(params){\n let p ={'cuentas' : params};\n return this.api.post<any>(this.endpoint, p);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n \n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n \n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n \n}","import { Injectable } from \"@angular/core\"; \nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProveedorFleteService {\n private endpoint = 'proveedorFlete';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n saveAll(p){\n let params ={ fletes : p};\n return this.save(params);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiService } from '../../../services/api.service';\nimport { Observable } from 'rxjs';\n \n@Injectable({\n providedIn: 'root'\n})\nexport class ClaveAumentoDisminucionService {\n private endpoint = 'claveAumentoDisminucion';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n \n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SerieDocumentoService{\n private endpoint = 'serieDocumento';\n constructor(private api: ApiService){\n }\n\n getTipos(): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/tipoSerie`);\n }\n\n getReporte(params: any): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/descargaFormatoReporte`, params);\n }\n \n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n }","import { ClaveMovimiento } from \"../../claveMovimiento/models/ClaveMovimiento\";\n\n\nexport class SerieDocumento {\n id : number;\n version : number;\n codigo : string;\n descripcion : string;\n folio : number;\n serieImprimir : string;\n formatoDefault : string;\n impresoraDefault : string;\n lineasReporte : number;\n precioDefault : number;\n empresaContable : number;\n tipoSerie : string;\n numeroDeCopias : number;\n folioTemporal : boolean;\n preverImpresion : boolean;\n folioAutomatico : boolean;\n apartarMercancia : boolean;\n mostrarPreciosNetos : boolean;\n ventaNegada : boolean;\n duplicarFolio : boolean;\n estatus : boolean;\n claveMovimiento : ClaveMovimiento;\n\n formatoReporte : any;\n nombreReporte :string;\n\n\n constructor() { }\n}"," import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n })\nexport class TipoContactoService {\n private endpoint = 'tipoContacto';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","export class Ubicacion {\n id : number;\n version : number;\n estatus : boolean;\n codigo : string;\n largo : number;\n ancho : number;\n alto : number;\n pesoMaximo : number; \n descripcion : string;\n nivel1 : string;\n nivel2 : string;\n nivel3 : string;\n nivel4 : string;\n nivel5 : string;\n constructor(){}\n}","import { Injectable } from \"@angular/core\";\n import { ApiService } from \"../../../services/api.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n}) export class UbicacionService {\n private endpoint = 'ubicacion';\n constructor(private api: ApiService){\n }\n\n getAll(params?: any): Observable<any> {\n return this.api.get<any>(this.endpoint, params);\n }\n\n get(id: number): Observable<any> {\n return this.api.get<any>(`${this.endpoint}/${id}`);\n }\n\n save(obj: any): Observable<any> {\n return this.api.post<any>(this.endpoint, obj);\n }\n\n update(obj: any): Observable<any> {\n return this.api.put<any>(this.endpoint, obj.id, obj);\n }\n\n delete(id: number): Observable<any> {\n return this.api.delete<any>(this.endpoint, id);\n }\n}","\n export abstract class TipoCatalogo {\n static ARTICULO = 2;\n static USO_CFDI =11;\n}","\nimport { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../../../services/api.service\";\n\n@Injectable({\n providedIn: 'root'\n}) export class AcreedorCuentaContableService{\n private endpoint = 'acreedorCuentaContable';\n constructor(private api: ApiService){\n }\n\n cuentasContables() {\n return this.api.get<any>(`${this.endpoint}/obtieneCuentasContablesRecursivo`);\n }\n}","import { NormaInformacionFinancieraModel } from './normaInfoFinanciera.model';\nimport { Moneda } from './../../components/moneda/models/Moneda';\nexport class CuentaContableModel{\n id: number;\n version: number;\n descripcion: string;\n descripcionCuentaContable: string;\n cuentaContable: string;\n nivel: number;\n naturaleza: string;\n naturalezaDescripcion: string;\n cuentaRegistro: boolean;\n activo: boolean;\n tipo: string;\n tipoDescripcion: string;\n recaudacionAgrupador: any;\n normaInformacionFinanciera: NormaInformacionFinancieraModel;\n moneda: Moneda;\n cuentaContableOrigen: CuentaContableModel;\n children: CuentaContableModel[];\n constructor(){\n };\n}","export class NormaInformacionFinancieraModel {\n id: number;\n version: number;\n clave: string;\n descripcion:string;\n normaInformacionFinancieraDescripcion:string;\n constructor(){};\n}","/*\n * Public API Surface of erp-core\n */\nexport * from './lib/services/global.service';\nexport * from './lib/services/api.service';\nexport * from './lib/app.module';\nexport * from './lib/httpInterceptor/httpInterceptor';\nexport * from './lib/models/PersonaMoral';\nexport * from './lib/models/Usuario';\nexport * from './lib/services/controlAcceso.service';\nexport * from './lib/services/auth.service';\nexport * from './lib/models/auth'; \nexport * from './lib/services/init.service';\nexport * from './lib/services/message.service';\nexport * from './lib/services/paginate.service';\nexport * from './lib/services/personaMoral.service';\nexport * from './lib/services/canActivateGuard.service.ts';\nexport * from './lib/services/catalogo-adicional.service';\nexport * from './lib/services/authenticated.service'\nexport * from './lib/services/versionCheck.service'\nexport * from './lib/components/loading/loading.component';\nexport * from './lib/components/loading/loading.service';\nexport * from './lib/components/loading-screen/loading-screen.component';\nexport * from './lib/components/loading-screen/loading-screen.service';\n\nexport * from './lib/components/login-modal/login-modal.component';\nexport * from './lib/components/login-modal/login-modal.service';\n\nexport * from './lib/components/agente/models/Agente';\nexport * from './lib/components/agente/services/agente.service';\n\nexport * from './lib/components/almacen/models/Almacen';\nexport * from './lib/components/almacen/services/almacen.service';\n\nexport * from './lib/components/banco/models/Banco';\nexport * from './lib/components/banco/services/banco.service';\n\nexport * from './lib/components/catalogoTipo/models/CatalogoTipo';\nexport * from './lib/components/catalogoTipo/services/catalogoTipo.service';\nexport * from './lib/components/clasificadorTipo/models/ClasificadorTipo';\nexport * from './lib/components/clasificadorTipo/services/clasificadorTipo.service';\n\nexport * from './lib/components/claveMovimiento/models/ClaveMovimiento';\nexport * from './lib/components/claveMovimiento/services/claveMovimiento.service';\n\nexport * from './lib/components/cliente/models/Cliente';\nexport * from './lib/components/cliente/models/ClienteCuentaBanco';\nexport * from './lib/components/cliente/models/ClienteFlete';\n\nexport * from './lib/components/cliente/services/cliente.service';\nexport * from './lib/components/cliente/services/clienteCuentaBanco.service';\nexport * from './lib/components/cliente/services/clienteFlete.service';\n\nexport * from './lib/components/contacto/models/DatoContacto';\nexport * from './lib/components/contacto/services/datoContacto.service';\n\nexport * from './lib/components/dato-direccion/models/DatoDireccion';\nexport * from './lib/components/dato-direccion/services/datoDireccion.service';\n\nexport * from './lib/components/departamento/models/Departamento';\nexport * from './lib/components/departamento/services/departamento.service';\n\nexport * from './lib/components/empresa/models/ConfiguracionEmpresaAdministrativa';\nexport * from './lib/components/empresa/models/Empresa';\nexport * from './lib/components/empresa/services/empresa.service';\n\nexport * from './lib/components/error404/error404.component';\n\nexport * from './lib/components/flete/models/Flete';\nexport * from './lib/components/flete/services/flete.service';\n\nexport * from './lib/components/formaPago/models/FormaPago';\nexport * from './lib/components/formaPago/services/FormaPago.service';\n\nexport * from './lib/components/moneda/models/Moneda';\nexport * from './lib/components/moneda/services/moneda.service';\n\nexport * from './lib/components/persona-fisica/models/EstadoCivil';\nexport * from './lib/components/persona-fisica/models/Genero';\nexport * from './lib/components/persona-fisica/models/Persona';\nexport * from './lib/components/persona-fisica/models/PersonaFisica';\nexport * from './lib/components/persona-fisica/services/personaFisica.service';\n\n\nexport * from './lib/components/proveedor/models/Proveedor';\nexport * from './lib/components/proveedor/models/ProveedorCuentaBanco';\nexport * from './lib/components/proveedor/models/ProveedorFlete';\nexport * from './lib/components/proveedor/services/proveedor.service';\nexport * from './lib/components/proveedor/services/proveedorCuentaBanco.service';\nexport * from './lib/components/proveedor/services/proveedorFlete.service';\nexport * from './lib/components/claveAumentoDisminucion/services/clave-aumento-disminucion.service';\n\nexport * from './lib/components/serieDocumento/services/serieDocumento.service';\nexport * from './lib/components/serieDocumento/models/SerieDocumento';\n\nexport * from './lib/components/tipo-contacto/models/TipoContacto';\nexport * from './lib/components/tipo-contacto/services/tipoContacto.service';\n\nexport * from './lib/components/ubicacion/models/Ubicacion';\nexport * from './lib/components/ubicacion/services/ubicacion.service';\nexport * from './lib/utils/tipo_catalogo.ts';\nexport * from './lib/services/file.service';\n\nexport * from './lib/components/pdfModal/pdf-modal.component';\nexport * from './lib/components/pdfModal/pdf-modal.service';\n\nexport * from './lib/components/caja/session-create/session-create.component';\nexport * from './lib/components/cliente/select/select-cliente.component';\nexport * from './lib/components/proveedor/select/select-proveedor.component';\nexport * from './lib/components/caja/sessionCaja.service';\nexport * from './lib/components/acreedor/select/select-acreedor.component';\nexport * from './lib/components/acreedor/services/acreedor.service';\nexport * from './lib/components/acreedor/services/acreedorCuentaContable';\n\nexport * from './lib/components/selecciona-articulo/selecciona-articulo.component';\nexport * from './lib/components/selecciona-articulo/stock.service';\n\nexport * from './lib/contabilidad/modelos/cuentaContable.model';\nexport * from './lib/contabilidad/modelos/normaInfoFinanciera.model';\nexport * from './lib/contabilidad/componentes/cclista/cclista.component';\nexport * from './lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i0.ɵɵelementStart","i0.ɵɵtext","i0.ɵɵelementEnd","i0.ɵɵlistener","i0.ɵɵelement","i0.ɵɵtemplate","i0.ɵɵadvance","i0.ɵɵproperty","i0.ɵɵtextInterpolate1","i0.ɵɵstyleMap","i0.ɵɵpropertyInterpolate","i0.ɵɵtextInterpolate","i0.ɵɵpropertyInterpolate1","i0.ɵɵstyleProp","i0.ɵɵattribute"],"mappings":"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"}
1
+ {"version":3,"file":"visorus-erp-core.js","sources":["../../../projects/erp-core/src/lib/services/global.service.ts","../../../projects/erp-core/src/lib/services/crud.service.ts","../../../projects/erp-core/src/lib/contabilidad/servicios/cuentacontable.service.ts","../../../projects/erp-core/src/lib/contabilidad/componentes/cclista/cclista.component.html","../../../projects/erp-core/src/lib/contabilidad/componentes/cclista/cclista.component.ts","../../../projects/erp-core/src/lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component.ts","../../../projects/erp-core/src/lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component.html","../../../projects/erp-core/src/lib/importComponetsConta.ts","../../../projects/erp-core/src/lib/components/login-modal/login-modal.service.ts","../../../projects/erp-core/src/lib/components/loading-screen/loading-screen.service.ts","../../../projects/erp-core/src/lib/httpInterceptor/httpInterceptor.ts","../../../projects/erp-core/src/lib/components/error404/error404.component.ts","../../../projects/erp-core/src/lib/components/error404/error404.component.html","../../../projects/erp-core/src/lib/components/loading/loading.service.ts","../../../projects/erp-core/src/lib/components/loading/loading.component.ts","../../../projects/erp-core/src/lib/components/loading/loading.component.html","../../../projects/erp-core/src/lib/components/loading-screen/loading-screen.component.ts","../../../projects/erp-core/src/lib/components/loading-screen/loading-screen.component.html","../../../projects/erp-core/src/lib/components/pdfModal/pdf-modal.service.ts","../../../projects/erp-core/src/lib/services/file.service.ts","../../../projects/erp-core/src/lib/components/pdfModal/pdf-modal.component.html","../../../projects/erp-core/src/lib/components/pdfModal/pdf-modal.component.ts","../../../projects/erp-core/src/lib/models/Usuario.ts","../../../projects/erp-core/src/lib/models/auth.ts","../../../projects/erp-core/src/lib/services/auth.service.ts","../../../projects/erp-core/src/lib/components/login-modal/login-modal.component.html","../../../projects/erp-core/src/lib/components/login-modal/login-modal.component.ts","../../../projects/erp-core/src/lib/components/caja/sessionCaja.service.ts","../../../projects/erp-core/src/lib/components/caja/session-create/session-create.component.html","../../../projects/erp-core/src/lib/components/caja/session-create/session-create.component.ts","../../../projects/erp-core/src/lib/components/persona-fisica/models/Persona.ts","../../../projects/erp-core/src/lib/components/persona-fisica/models/PersonaFisica.ts","../../../projects/erp-core/src/lib/models/PersonaMoral.ts","../../../projects/erp-core/src/lib/components/agente/models/Agente.ts","../../../projects/erp-core/src/lib/components/cliente/models/Cliente.ts","../../../projects/erp-core/src/lib/components/cliente/services/cliente.service.ts","../../../projects/erp-core/src/lib/services/paginate.service.ts","../../../projects/erp-core/src/lib/components/cliente/select/select-cliente.component.html","../../../projects/erp-core/src/lib/components/cliente/select/select-cliente.component.ts","../../../projects/erp-core/src/lib/components/clasificadorTipo/models/ClasificadorTipo.ts","../../../projects/erp-core/src/lib/components/proveedor/models/Proveedor.ts","../../../projects/erp-core/src/lib/components/proveedor/services/proveedor.service.ts","../../../projects/erp-core/src/lib/components/proveedor/select/select-proveedor.component.html","../../../projects/erp-core/src/lib/components/proveedor/select/select-proveedor.component.ts","../../../projects/erp-core/src/lib/components/almacen/services/almacen.service.ts","../../../projects/erp-core/src/lib/components/selecciona-articulo/stock.service.ts","../../../projects/erp-core/src/lib/components/seleccion-articulo-informacion/services/articulo-informacion.service.ts","../../../projects/erp-core/src/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.html","../../../projects/erp-core/src/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.ts","../../../projects/erp-core/src/lib/components/selecciona-articulo/selecciona-articulo.component.html","../../../projects/erp-core/src/lib/components/selecciona-articulo/selecciona-articulo.component.ts","../../../projects/erp-core/src/lib/components/acreedor/services/acreedor.service.ts","../../../projects/erp-core/src/lib/components/acreedor/select/select-acreedor.component.html","../../../projects/erp-core/src/lib/components/acreedor/select/select-acreedor.component.ts","../../../projects/erp-core/src/lib/importComponents.ts","../../../projects/erp-core/src/lib/globalPrimeNg.ts","../../../projects/erp-core/src/lib/app.module.ts","../../../projects/erp-core/src/lib/services/controlAcceso.service.ts","../../../projects/erp-core/src/lib/services/init.service.ts","../../../projects/erp-core/src/lib/services/message.service.ts","../../../projects/erp-core/src/lib/services/personaMoral.service.ts","../../../projects/erp-core/src/lib/services/canActivateGuard.service.ts.ts","../../../projects/erp-core/src/lib/services/catalogo-adicional.service.ts","../../../projects/erp-core/src/lib/services/authenticated.service.ts","../../../projects/erp-core/src/lib/services/versionCheck.service.ts","../../../projects/erp-core/src/lib/components/agente/services/agente.service.ts","../../../projects/erp-core/src/lib/components/almacen/models/Almacen.ts","../../../projects/erp-core/src/lib/components/dato-direccion/models/DatoDireccion.ts","../../../projects/erp-core/src/lib/components/banco/models/Banco.ts","../../../projects/erp-core/src/lib/components/banco/services/banco.service.ts","../../../projects/erp-core/src/lib/components/catalogoTipo/models/CatalogoTipo.ts","../../../projects/erp-core/src/lib/components/catalogoTipo/services/catalogoTipo.service.ts","../../../projects/erp-core/src/lib/components/clasificadorTipo/services/clasificadorTipo.service.ts","../../../projects/erp-core/src/lib/components/claveMovimiento/models/ClaveMovimiento.ts","../../../projects/erp-core/src/lib/components/claveMovimiento/services/claveMovimiento.service.ts","../../../projects/erp-core/src/lib/components/cliente/models/ClienteCuentaBanco.ts","../../../projects/erp-core/src/lib/components/flete/models/Flete.ts","../../../projects/erp-core/src/lib/components/cliente/models/ClienteFlete.ts","../../../projects/erp-core/src/lib/components/cliente/services/clienteCuentaBanco.service.ts","../../../projects/erp-core/src/lib/components/cliente/services/clienteFlete.service.ts","../../../projects/erp-core/src/lib/components/tipo-contacto/models/TipoContacto.ts","../../../projects/erp-core/src/lib/components/contacto/models/DatoContacto.ts","../../../projects/erp-core/src/lib/components/contacto/services/datoContacto.service.ts","../../../projects/erp-core/src/lib/components/dato-direccion/services/datoDireccion.service.ts","../../../projects/erp-core/src/lib/components/departamento/models/Departamento.ts","../../../projects/erp-core/src/lib/components/departamento/services/departamento.service.ts","../../../projects/erp-core/src/lib/components/formaPago/models/FormaPago.ts","../../../projects/erp-core/src/lib/components/empresa/models/Empresa.ts","../../../projects/erp-core/src/lib/components/empresa/models/ConfiguracionEmpresaAdministrativa.ts","../../../projects/erp-core/src/lib/components/empresa/services/empresa.service.ts","../../../projects/erp-core/src/lib/components/flete/services/flete.service.ts","../../../projects/erp-core/src/lib/components/formaPago/services/FormaPago.service.ts","../../../projects/erp-core/src/lib/components/moneda/models/Moneda.ts","../../../projects/erp-core/src/lib/components/moneda/services/moneda.service.ts","../../../projects/erp-core/src/lib/components/persona-fisica/models/EstadoCivil.ts","../../../projects/erp-core/src/lib/components/persona-fisica/models/Genero.ts","../../../projects/erp-core/src/lib/components/persona-fisica/services/personaFisica.service.ts","../../../projects/erp-core/src/lib/components/proveedor/models/ProveedorCuentaBanco.ts","../../../projects/erp-core/src/lib/components/proveedor/models/ProveedorFlete.ts","../../../projects/erp-core/src/lib/components/proveedor/services/proveedorCuentaBanco.service.ts","../../../projects/erp-core/src/lib/components/proveedor/services/proveedorFlete.service.ts","../../../projects/erp-core/src/lib/components/claveAumentoDisminucion/services/clave-aumento-disminucion.service.ts","../../../projects/erp-core/src/lib/components/serieDocumento/services/serieDocumento.service.ts","../../../projects/erp-core/src/lib/components/serieDocumento/models/SerieDocumento.ts","../../../projects/erp-core/src/lib/components/tipo-contacto/services/tipoContacto.service.ts","../../../projects/erp-core/src/lib/components/ubicacion/models/Ubicacion.ts","../../../projects/erp-core/src/lib/components/ubicacion/services/ubicacion.service.ts","../../../projects/erp-core/src/lib/utils/tipo_catalogo.ts.ts","../../../projects/erp-core/src/lib/components/acreedor/services/acreedorCuentaContable.ts","../../../projects/erp-core/src/lib/contabilidad/modelos/cuentaContable.model.ts","../../../projects/erp-core/src/lib/contabilidad/modelos/normaInfoFinanciera.model.ts","../../../projects/erp-core/src/public_api.ts","../../../projects/erp-core/src/visorus-erp-core.ts"],"sourcesContent":["\nimport { HttpClient } from '@angular/common/http';\n\nimport { HttpHeaders } from '@angular/common/http';\nimport { Usuario } from '../models/Usuario';\n\nexport class GlobalService {\n\n usuarioInstance: Usuario;\n\n constructor(\n private http: HttpClient\n ) {\n }\n\n setConfiguracion() {\n this.http.get('assets/config.json').subscribe(\n (data: any) => {\n localStorage.setItem('config', JSON.stringify(data));\n }\n );\n }\n\n obtieneConfiguracion() {\n return JSON.parse(localStorage.getItem('config'));\n }\n\n getUrl(urlComponente?: string) {\n return this.obtieneConfiguracion().url + (urlComponente ? '/' + urlComponente : '');\n }\n\n auth(params) {\n\n return this.http.post(this.getUrl() + '/login', params);\n }\n\n getUsuarioActual() {\n return this.http.get(this.getUrl() + '/usuario/obtieneUsuarioActual', this.buildAuth());\n }\n\n buildAuth() {\n const data = this.getUsuario();\n return {\n headers: new HttpHeaders({\n 'Authorization': data.token_type + ' ' + data.access_token,\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n })\n };\n }\n\n validateEndPoint() {\n\n return this.http.get(this.getUrl() + '/validate', this.buildAuth());\n }\n\n closeEndPoint() {\n localStorage.removeItem('usuario');\n this.setUsuarioInstance(null);\n }\n\n getUsuario() {\n return JSON.parse(localStorage.getItem('usuario'));\n }\n\n setUsuarioInstance(usuarioInstance) {\n this.usuarioInstance = usuarioInstance;\n }\n \n getLang() {\n let lang = localStorage.getItem('lang');\n return lang ? lang : 'es';\n }\n\n setModulo(modulo) {\n return this.http.post(this.getUrl() + '/usuario/setModulo', modulo, this.buildAuth());\n }\n\n \n}\n\n","\nimport { HttpClient } from '@angular/common/http';\n\nimport { Usuario } from '../models/Usuario';\nimport { GlobalService } from './global.service';\n\nexport class CrudService extends GlobalService{\n urlComponente: string;\n usuarioInstance: Usuario;\n\n constructor(\n private httpCliente: HttpClient,\n private url : string\n ){ \n super(httpCliente);\n this.urlComponente = this.url;\n }\n //Functions for ResourcesCrud [{ param: \"max\", value: 10}]\n\n serializeParams(params) {\n let serializeString = '';\n params.map((e, index) => {\n if (e.value !== undefined)\n serializeString += ((index == 0) ? '?' : '&') + e.param + '=' + e.value;\n });\n return serializeString;\n }\n\n getHttp() {\n return this.httpCliente;\n }\n geturl() {\n return this.getUrl(this.urlComponente);\n }\n getBaseUrl() {\n return this.getUrl('');\n }\n\n getByUrl(url, params?) {\n return this.httpCliente.get(this.getUrl(url) + this.serializeParams(params), this.buildAuth());\n }\n\n getAll(params?: any) {\n return this.httpCliente.get(this.getUrl(this.urlComponente) + (params ? (this.serializeParams(params)) : ('')), this.buildAuth());\n }\n\n get(id) {\n return this.httpCliente.get(this.getUrl(this.urlComponente) + '/' + id, this.buildAuth());\n }\n\n save(obj) {\n return this.httpCliente.post(this.getUrl(this.urlComponente), obj, this.buildAuth());\n }\n\n update(obj) {\n return this.httpCliente.put(this.getUrl(this.urlComponente) + '/' + obj.id, obj, this.buildAuth());\n }\n\n delete(id) {\n return this.httpCliente.delete(this.getUrl(this.urlComponente) + '/' + id, this.buildAuth());\n }\n}\n\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from \"../../services/crud.service\";\n\n@Injectable({\n providedIn: 'root'\n}) \nexport class CuentaContableService extends CrudService {\n constructor(private httpClient: HttpClient) {\n super(httpClient, 'cuentaContable');\n }\n\n obtieneCuentasContablesRecursivo() {\n return this.httpClient.get(this.getUrl('cuentaContable') + '/obtieneCuentasContablesRecursivo', this.buildAuth());\n }\n\n}","<input type=\"text\" style=\"width: 100%;\" pInputText placeholder=\"Cuenta o descripción\" [(ngModel)]=\"query\" (keyup)=\"filterAccounts($event)\">\n\n<div style=\"padding: 10px;\">\n <p-treeTable [value]=\"cuentasContables?cuentasContables:tempAccounts\" [scrollable]=\"true\" [style]=\"{width: '100%'} \" [scrollHeight]=\"maxH + 'px'\" [resizableColumns]=\"true\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 150px;\">Cuenta contable</th>\n <th style=\"width: 150px;\">Descripción</th>\n <th style=\"width: 90px;\">Naturaleza</th>\n <th style=\"width: 60px;\">Tipo</th>\n <th style=\"width: 200px;\">Acciones</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" style=\"width: 100%;\">\n <tr>\n <td class=\"ui-resizable-column\" style=\"width: 150px;\">\n <p-treeTableToggler [rowNode]=\"rowNode\"></p-treeTableToggler>\n {{rowData.cuentaContable}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 150px;\">\n {{rowData.descripcion}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 90px;\">\n {{rowData.naturaleza}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 60px;\">\n {{rowData.tipo}}\n </td>\n <td class=\"ui-resizable-column\" style=\"width: 200px;\">\n <div class=\"button-row\">\n <button pButton type=\"button\" icon=\"pi pi-check\" class=\"ui-button-raised ui-button-success\" (click)=\"selectCuentaContable(rowData)\" *ngIf=\"typeAccount==1 && rowData.cuentaRegistro\"></button>\n <button pButton type=\"button\" icon=\"pi pi-check\" class=\"ui-button-raised ui-button-success\" (click)=\"selectCuentaContable(rowData)\" *ngIf=\"typeAccount==2 && !rowData.cuentaRegistro\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n </p-treeTable>\n</div>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { CuentaContableModel } from '../../modelos/cuentaContable.model';\nimport { CuentaContableService } from '../../servicios/cuentacontable.service';\n\n@Component({\n selector: 'lib-cclista',\n templateUrl: './cclista.component.html',\n styleUrls: ['./cclista.component.css']\n})\nexport class CclistaComponent implements OnInit {\n\n @Input()\n isShared: boolean;\n @Input()\n typeAccount: number;\n @Output()\n evSelectedAccount: EventEmitter<CuentaContableModel>;\n cuentasContables: any[] = [];\n maxH = 720;\n query: any = \"\";\n tempAccounts: CuentaContableModel[] = [];\n\n cuentaSeleccionada: CuentaContableModel;\n\n constructor(private _cuentaContableService: CuentaContableService) {\n this.evSelectedAccount = new EventEmitter<CuentaContableModel>();\n }\n\n ngOnInit() {\n this.maxH = window.innerHeight - 320;\n this.obtenerCuentasContablesRecursivo();\n }\n\n obtenerCuentasContablesRecursivo() {\n this._cuentaContableService.obtieneCuentasContablesRecursivo().subscribe((result: any) => {\n if (result) {\n this.cuentasContables = result;\n this.sortAccounts();\n }\n });\n }\n\n sortAccounts() {\n this.cuentasContables.sort(function (a, b) {\n // get symbol for string\n let characterBreak = '.';\n const listA: any[] = a.data.cuentaContable.split(characterBreak);\n const listB: any[] = b.data.cuentaContable.split(characterBreak);\n\n if (listA.length > 0 && listB.length > 0) {\n if (listA.length === listB.length) {\n for (let i = 0; i < listA.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return 0;\n }\n if (listA.length < listB.length) {\n for (let i = 0; i < listA.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return -1;\n }\n if (listB.length < listA.length) {\n for (let i = 0; i < listB.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return 1;\n }\n }\n return 0;\n });\n for (let item of this.cuentasContables) {\n if (item.children) {\n this.sortItem(item);\n }\n }\n this.tempAccounts = this.cuentasContables;\n }\n\n sortItem(account: any) {\n account.children.sort(function (a, b) {\n // get symbol for string\n let characterBreak = '.';\n const listA: any[] = a.data.cuentaContable.split(characterBreak);\n const listB: any[] = b.data.cuentaContable.split(characterBreak);\n if (listA.length > 0 && listB.length > 0) {\n if (listA.length === listB.length) {\n for (let i = 0; i < listA.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return 0;\n }\n if (listA.length < listB.length) {\n for (let i = 0; i < listA.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return -1;\n }\n if (listB.length < listA.length) {\n for (let i = 0; i < listB.length; i++) {\n if (parseInt(listA[i]) > parseInt(listB[i])) {\n return 1;\n }\n if (parseInt(listA[i]) < parseInt(listB[i])) {\n return -1;\n }\n }\n return 1;\n }\n }\n return 0;\n });\n for (let item of account.children) {\n this.sortItem(item);\n }\n }\n\n\n\n selectCuentaContable(account: CuentaContableModel) {\n this.evSelectedAccount.emit(account);\n }\n\n filterAccounts(evt: any) {\n if (!evt) {\n const temp = this.resetAccount();\n this.cuentasContables = temp;\n return;\n }\n this.cuentasContables = this.browseAccount(this.tempAccounts);\n }\n\n resetAccount() {\n this.query = '';\n let accounts = [];\n for (let cc of this.tempAccounts) {\n accounts.push(cc);\n }\n return accounts;\n }\n\n\n\n browseAccount(accounts: any) {\n let listAccounts: any[] = [];\n if (this.query === '') {\n const temp = this.resetAccount();\n this.cuentasContables = temp;\n } else {\n for (let account of accounts) {\n if (account.data.cuentaContable.toString().toLowerCase().includes(this.query.toLowerCase()) || account.data.descripcion.toString().toLowerCase().includes(this.query.toLowerCase())) {\n listAccounts = listAccounts.concat({\n data: account.data,\n children: this.browseAccount(account.children)\n });\n } else {\n listAccounts = listAccounts.concat(this.browseAccount(account.children));\n }\n }\n return listAccounts;\n }\n }\n\n}\n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { CuentaContableModel } from '../../modelos/cuentaContable.model';\n\n@Component({\n selector: 'lib-ccseleccion-dialog',\n templateUrl: './ccseleccion-dialog.component.html',\n styleUrls: ['./ccseleccion-dialog.component.css']\n})\nexport class CcseleccionDialogComponent implements OnInit {\n @ViewChild(\"dialog\", {static: true}) dialog;\n @Input()\n tipoCuenta: number; // 1: registro 2: cuenta mayor\n @Input()\n displayShowCuentas: boolean;\n cuentasContables: any = [];\n @Output()\n evSelectedAccount: EventEmitter<CuentaContableModel>;\n maxH = 720;\n is_movil: boolean;\n is_media: boolean;\n is_large: boolean;\n\n maxW = 0;\n flagModal: boolean = true;\n cols: any[];\n size = 350;\n constructor() { \n this.maxH = window.innerHeight - 370;\n this.maxW = window.innerWidth;\n this.size = this.maxW - 50;\n this.evSelectedAccount = new EventEmitter<CuentaContableModel>();\n }\n\n ngOnInit() {\n }\n\n getAccount(account:any){\n this.evSelectedAccount.emit(account);\n }\n\n hiddenDialog(evt: any) {\n this.evSelectedAccount.emit(null);\n }\n\n}\n","<p-dialog header=\"Selecciona cuenta contable\" [(visible)]=\"displayShowCuentas\" [modal]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\" [baseZIndex]=\"10000\" (onHide)=\"hiddenDialog($event)\" [blockScroll]=\"true\" [draggable]=\"false\" [blockScroll]=\"true\"\n [maximizable]=\"true\">\n <div class=\"padding10\" [ngStyle]=\"{'height': maxH+200+'px'}\">\n <lib-cclista [isShared]=\"true\" [typeAccount]=\"tipoCuenta\" (evSelectedAccount)=\"getAccount($event)\"></lib-cclista>\n </div>\n</p-dialog>","import { CclistaComponent } from './contabilidad/componentes/cclista/cclista.component';\nimport { CcseleccionDialogComponent } from './contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component';\n\nexport const contaComponents = [\n CclistaComponent,\n CcseleccionDialogComponent\n];\n","import { Injectable, Output, EventEmitter } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n}) export class LoginModalService {\n\n @Output() modal = new EventEmitter() ;\n\n showModal(){\n this.modal.emit(true);\n }\n}","import { Injectable } from '@angular/core';\nimport { Subject } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingScreenService {\n\n private _loading: boolean = false;\n loadingStatus: Subject<boolean> = new Subject();\n\n get loading():boolean {\n return this._loading;\n }\n\n set loading(value) {\n this._loading = value;\n this.loadingStatus.next(value);\n }\n\n startLoading() {\n this.loading = true;\n }\n\n stopLoading() {\n this.loading = false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor, HttpErrorResponse\n} from '@angular/common/http';\nimport { Observable, of, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/internal/operators';\n\nimport { ToastrService } from 'ngx-toastr';\nimport { LoginModalService } from '../components/login-modal/login-modal.service';\nimport { LoadingScreenService } from '../components/loading-screen/loading-screen.service';\n\n@Injectable()\nexport class httpInterceptor implements HttpInterceptor {\n constructor(\n private loginModalService: LoginModalService,\n private toastrService: ToastrService,\n private loadingScreenService : LoadingScreenService\n ) {\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n\n this.loadingScreenService.startLoading();// this.loadingService.start();\n return next.handle(request).pipe(catchError((error, caught) => {\n this.loadingScreenService.stopLoading();\n this.handleError(error);\n return throwError(error);\n }) as any, tap((res : any) => {\n // @ts-ignore\n const body = (res.body) ? res.body : null;\n if(res.type !== 0 && res.type === 4){\n this.loadingScreenService.stopLoading();\n }\n if (body) {\n let message = (body.success) ? body.success : null;\n\n if (message) {\n this.toastrService.success(message, 'Exito', {\n timeOut: 3000, closeButton: true\n });\n }\n }\n }) as any);\n }\n\n private handleError(err: HttpErrorResponse): Observable<any> {\n if (err.status === 401 || err.status === 403) {\n if (err.status === 401) {\n //this.router.navigateByUrl('/login');\n // this.router.navigateByUrl('/sing_out');\n this.loginModalService.showModal();\n }\n if (err.status === 403)\n this.toastrService.error('No tiene permiso sobre esta accion', 'Error', {\n timeOut: 5000\n });\n return of(err.message);\n }\n if(err.status !== 401 && err.status !== 403 && err.status !== 409){\n this.toastrService.error('Ocurrio un error al procesar su solicitud', 'Error', {\n timeOut: 5000\n });\n }\n this.readError(err);\n return of(err);\n }\n\n readError(respuesta: any) {\n if(respuesta.error){\n if (respuesta.error.error)\n if (respuesta.error.error.message){\n this.toastrService.error(respuesta.error.error.message, 'Error', {\n timeOut: 3000\n });\n }\n if (respuesta.error.message){\n this.toastrService.error(respuesta.error.message, 'Error', {\n timeOut: 3000\n });\n }\n\n if(respuesta.error._errors){\n if (Array.isArray(respuesta.error._errors))\n for (let indexError = 0; indexError < respuesta.error._errors.length; indexError++) {\n this.toastrService.error(respuesta.error._errors[indexError].message, 'Error', {\n timeOut: 3000,\n closeButton: true\n });\n }\n }\n }\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-error404',\n templateUrl: './error404.component.html',\n styleUrls: ['./error404.component.css']\n})\nexport class Error404Component implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","<div class=\"col-md-12 sec_sof\">\n <div class=\"row\">\n <div class=\"col col-center\">\n <div class=\"center\">\n <div class=\"error\">\n Error 404\n </div>\n <div class=\"col-12\">\n <p>La pagina solicitada no fue encontrada</p>\n </div>\n </div> \n </div>\n \n </div>\n</div>\n","import { Injectable, Output, EventEmitter } from '@angular/core';\n\n@Injectable({\n providedIn : 'root'\n}) export class LoadingService {\n\n @Output() loading = new EventEmitter();\n\n setLoading(visible) {\n if(visible)\n this.start();\n else\n this.stop();\n }\n\n start() {\n this.loading.emit(true);\n }\n\n stop() {\n this.loading.emit(false);\n }\n\n}\n","import { Component, Input } from '@angular/core';\nimport { LoadingService } from './loading.service';\ndeclare var $ : any;\n@Component({\n selector: 'loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.css']\n})\nexport class LoadingComponent {\n visible=false;\n @Input() logo_loading : string = 'assets/img/logo_visorus_loading.png';\n constructor(\n private loadingService: LoadingService\n ){\n\n this.loadingService.loading.subscribe( ( _visible: boolean) => {\n if( _visible && !this.visible ) {\n $('#modal_loading').modal('show');\n this.visible =true;\n } else {\n setTimeout(() => {\n $('#modal_loading').modal('hide'); \n \n }, 650);\n this.visible = false;\n }\n }\n );\n }\n}\n","<!-- Modal -->\n<div class=\"modal fade\" id=\"modal_loading\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalScrollableTitle\"\n data-backdrop=\"static\" data-keyboard=\"false\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-dialog-scrollable\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body\">\n <div class=\"row justify-content-center\">\n <div class=\"col-lg-4 col-md-4 col-sm-10\">\n <div class=\"loader\">\n <span class=\"box\"></span>\n <span class=\"box\"></span>\n <div class=\"code\">\n <img src=\"{{logo_loading}}\" width=\"200px\">\n </div>\n <span class=\"txt\">{{'cargando' | translate}}...</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnDestroy, Input } from '@angular/core';\nimport { LoadingScreenService } from \"./loading-screen.service\";\nimport { Subscription } from \"rxjs\";\nimport { debounceTime } from \"rxjs/operators\";\nimport { LoadingService } from '../loading/loading.service';\n\n@Component({\n selector: 'app-loading-screen',\n templateUrl: './loading-screen.component.html',\n styleUrls: ['./loading-screen.component.scss']\n})\nexport class LoadingScreenComponent implements AfterViewInit, OnDestroy {\n\n debounceTime: number = 250;\n loading: boolean = false;\n loadingSubscription: Subscription;\n @Input() logo_loading : string = 'assets/img/logo_visorus_loading.png';\n\n constructor(private loadingScreenService: LoadingScreenService,\n private _elmRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private loadingService: LoadingService\n ){ \n this.loadingService.loading.subscribe( ( _visible: boolean) => {\n this._elmRef.nativeElement.style.display = _visible ? 'block' : 'none'; \n }\n );\n }\n\n ngAfterViewInit(): void {\n this._elmRef.nativeElement.style.display = 'none';\n this.loadingSubscription = this.loadingScreenService.loadingStatus.pipe(debounceTime(this.debounceTime)).subscribe(\n (status: boolean) => {\n this._elmRef.nativeElement.style.display = status ? 'block' : 'none';\n this._changeDetectorRef.detectChanges();\n }\n );\n }\n\n ngOnDestroy() {\n this.loadingSubscription.unsubscribe();\n }\n\n}\n","<div class=\"loading-screen-wrapper\">\n <div class=\"loading-screen-icon\">\n <div class=\"blobs\">\n <div class=\"blob-center\"></div>\n <div class=\"blob\"></div>\n <div class=\"blob\"></div>\n <div class=\"blob\"></div>\n <div class=\"blob\"></div>\n <div class=\"blob\"></div>\n <div class=\"blob\"></div>\n </div> \n </div>\n</div>\n","import { Injectable, EventEmitter, Output } from \"@angular/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PdfModalService {\n @Output() visible = new EventEmitter();\n @Output() print = new EventEmitter();\n base_64 : any ;\n html : any;\n\n pdf_generate(base_64){\n this.base_64 = base_64;\n this.visible.emit(true);\n }\n \n generate_print(html){\n this.html = html;\n this.print.emit(true);\n }\n \n}","import { Injectable } from '@angular/core';\nimport {ToastrService} from \"ngx-toastr\";\nimport {TranslateService} from \"@ngx-translate/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileService {\n\n constructor(private _toastrService: ToastrService,\n private translate: TranslateService) { }\n\n addFile( evt , toastr = true ) {\n const file = evt.target.files[0];\n let imgObj: any = {\n id: null,\n nombre: '',\n contentType: '',\n orden: 0,\n archivo: ''\n };\n imgObj.nombre = file.name;\n imgObj.tipo = file.type;\n\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n imgObj.archivo = reader.result;\n this.translate.get([ 'msgSuccess', 'titleFile' ] ).subscribe(\n ( data: any ) => {\n if(toastr)\n this._toastrService.success( data.msgSuccess, data.titleFile );\n }\n );\n };\n reader.onerror = (error) => {\n this.translate.get([ 'msgError', 'titleFile' ] ).subscribe(\n ( data: any ) => {\n if(toastr)\n this._toastrService.error( data['msgError'], data['titleFile'] );\n }\n );\n };\n return imgObj;\n }\n\n base64ToBlob(base64,type){\n let byteCharacters = atob ( base64)\n const byteNumbers = new Array(byteCharacters.length);\n for (let i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.charCodeAt(i);\n }\n let byteArray = new Uint8Array(byteNumbers);\n return new Blob([byteArray],{type: type});\n }\n\n blobToDowload(blob,type,name){\n let anchor = document.createElement('a');\n anchor.download = name;\n anchor.href = window.URL.createObjectURL(blob);\n anchor.dataset.downloadurl = [type, anchor.download, anchor.href].join(':');\n anchor.click();\n }\n\n base64ToFileDowload(base64,type,name){\n this.blobToDowload(this.base64ToBlob(base64,type),type,name);\n }\n\n}\n","<p-dialog [(visible)]=\"display\" [modal]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\" [baseZIndex]=\"10000\" [blockScroll]=\"true\" \n [blockScroll]=\"true\" [maximizable]=\"true\"\n [breakpoint]=\"840\" [contentStyle]=\"{'overflow':'visible'}\">\n <div *ngIf=\"pdfBase64\" style=\"min-height: 90vh;\">\n <iframe style=\"width: 100%; height: 90vh;\" [src]=\"domSanitizer.bypassSecurityTrustResourceUrl('data:application/pdf;base64,'+pdfBase64)\"></iframe>\n </div>\n</p-dialog>\n\n","import { Component } from '@angular/core';\nimport { PdfModalService } from './pdf-modal.service';\nimport { FileService } from '../../services/file.service';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'pdf-modal',\n templateUrl: './pdf-modal.component.html',\n styleUrls: ['./pdf-modal.component.css']\n}) export class PdfModalComponent {\n display= false;\n pdfBase64= null;\n size = 840;\n constructor(\n private _pdfModalService : PdfModalService,\n private fileService : FileService,\n public domSanitizer : DomSanitizer\n ){\n _pdfModalService.visible.subscribe(resp =>{ \n if(_pdfModalService.base_64){\n this.display = resp;\n this.pdfBase64 = _pdfModalService.base_64\n /*\n let blob = fileService.base64ToBlob(_pdfModalService.base_64, \"application/pdf\");\n let blobUrl = URL.createObjectURL(blob);\n setTimeout(() => {\n let iframe = \"<iframe width='100%' height='100%' src='\" + blobUrl + \"'></iframe>\"; \n document.getElementById('_modal_pdf').innerHTML = iframe; \n },20); */\n }\n \n });\n _pdfModalService.print.subscribe(\n (resp : any)=>{\n this.display = resp;\n setTimeout(() => {\n let iframe = \"<iframe id='printf' width='100%' height='100%' ></iframe>\"\n document.getElementById('_modal_pdf').innerHTML = iframe;\n },20);\n\n setTimeout(() => {\n this.imprimir();\n },40);\n }\n );\n }\n\n imprimir(){ \n \n var iframe = window.frames['printf'];\n\n\n iframe.contentWindow.head.innerHTML = ` <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\" integrity=\"sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm\" crossorigin=\"anonymous\">\n <style>\n .table-hover tbody tr:hover {\n color: #ffffff;\n background-color: rgb(92, 180, 234);\n }\n .tr-select{\n color: #ffffff;\n background-color: rgb(92, 180, 234);\n }\n .td-header{\n background: #f3f3f3;\n color: #0d385d;\n border-color: 1px solid #0b4b87;\n }\n .td-yellow{\n background: #fff6d3;\n }\n .td-blue{\n background: #88d1ea;\n }\n .td-green{\n background: #b9d2a0;\n }\n </style>`;\n iframe.contentWindow.body.innerHTML =this._pdfModalService.html;\n \n //iframe.focus();\n // iframe.contentWindow.print();\n \n } \n \n\n\n}","\nexport class Usuario{\n username : string;\n token_type : string;\n access_token : string;\n expires_in : number;\n refresh_token : string;\n roles : any [];\n}\n","import { Usuario } from './Usuario';\n\nexport class Auth{\n login : boolean;\n usuario : Usuario;\n usuarioDetalles : any;\n}","import { Injectable, Output, EventEmitter } from \"@angular/core\";\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Usuario } from '../models/Usuario';\nimport { Auth } from '../models/auth';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n usuario: Usuario;\n url_host = '';\n auth: Auth;\n @Output() login = new EventEmitter();\n @Output() seleccionEmpresa = new EventEmitter();\n constructor(\n private httpClient: HttpClient\n ) {\n this.auth = new Auth();\n }\n\n setlogin(user, key) {\n localStorage.setItem('lang', 'es');\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n return this.httpClient.post(this.url_host + '/login' + (key ? '/' + key : ''), user);\n }\n startAuth(user) {\n this.auth = user;\n this.login.emit(this.auth);\n }\n isLogin() {\n return localStorage.getItem('usuario') !== null;\n }\n\n quitarUsuario() {\n localStorage.removeItem('usuario');\n this.auth.login = false;\n this.login.emit(this.auth);\n }\n\n\n verificaLogin() {\n this.usuario = this.getUser();\n if (this.usuario.access_token) {\n this.getDetalsUser().subscribe(\n (resp: any) => {\n this.auth.usuarioDetalles = resp;\n this.auth.login = true;\n this.login.emit(this.auth);\n }, (error: any) => {\n this.quitarUsuario();\n }\n );\n } else {\n this.auth.usuarioDetalles = null;\n this.auth.login = false;\n this.login.emit(this.auth);\n }\n }\n\n\n loginOut() {\n\n this.quitarEmpresaAdministrativa().subscribe(\n (data: any) => {\n localStorage.removeItem('usuario');\n }, error => {\n localStorage.removeItem('usuario');\n }\n );\n\n localStorage.setItem('lang', 'es');\n this.auth.login = false;\n this.login.emit(this.auth);\n }\n\n getUser() {\n this.usuario = new Usuario();\n if (this.isLogin()) {\n let us = localStorage.getItem('usuario');\n if (us) {\n this.usuario = JSON.parse(us);\n }\n\n return this.usuario;\n } else {\n return this.usuario;\n }\n }\n\n getLang() {\n let lang = localStorage.getItem('lang');\n return lang ? lang : 'es';\n }\n\n selectEmpresa(e) {\n this.seleccionEmpresa.emit(e);\n }\n\n quitarEmpresaAdministrativa() {\n let usuario: Usuario;\n let token_type = '';\n let access_token = '';\n usuario = <Usuario>JSON.parse(localStorage.getItem(\"usuario\"));\n if (usuario) {\n token_type = usuario.token_type,\n access_token = usuario.access_token\n }\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': token_type + ' ' + access_token\n })\n };\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n\n return this.httpClient.post(this.url_host + '/usuario/setEmpresa', { id: 0 }, httpOptions);\n }\n setEmpresa(empresa) {\n // setEmpresaAdministrativa\n let usuario: Usuario;\n let token_type = '';\n let access_token = '';\n usuario = <Usuario>JSON.parse(localStorage.getItem(\"usuario\"));\n if (usuario) {\n token_type = usuario.token_type,\n access_token = usuario.access_token\n }\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': token_type + ' ' + access_token\n })\n };\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n\n return this.httpClient.post(this.url_host + '/usuario/setEmpresa', empresa, httpOptions);\n }\n setModulo(modulo) {\n // setEmpresaAdministrativa\n let usuario: Usuario;\n let token_type = '';\n let access_token = '';\n usuario = <Usuario>JSON.parse(localStorage.getItem(\"usuario\"));\n if (usuario) {\n token_type = usuario.token_type,\n access_token = usuario.access_token\n }\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': token_type + ' ' + access_token\n })\n };\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n\n return this.httpClient.post(this.url_host + '/usuario/setModulo', modulo, httpOptions);\n }\n quitarModulo() {\n // setEmpresaAdministrativa\n let usuario: Usuario;\n let token_type = '';\n let access_token = '';\n usuario = <Usuario>JSON.parse(localStorage.getItem(\"usuario\"));\n if (usuario) {\n token_type = usuario.token_type,\n access_token = usuario.access_token\n }\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': token_type + ' ' + access_token\n })\n };\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n\n return this.httpClient.post(this.url_host + '/usuario/setModulo', { id: 0 }, httpOptions);\n }\n\n getDetalsUser() {\n let usuario: Usuario;\n let token_type = '';\n let access_token = '';\n usuario = <Usuario>JSON.parse(localStorage.getItem(\"usuario\"));\n if (usuario) {\n token_type = usuario.token_type,\n access_token = usuario.access_token\n }\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': token_type + ' ' + access_token\n })\n };\n let config = JSON.parse(localStorage.getItem(\"config\"));\n if (config)\n if (config.url)\n this.url_host = config.url;\n\n return this.httpClient.get(this.url_host + '/usuario/obtieneUsuarioActual', httpOptions);\n }\n}\n","<div class=\"modal fade\" id=\"modalLogin\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalCenterTitle\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body\">\n <div class=\"row justify-content-center\">\n <img src=\"assets/img/logo_visorus_loading.png\" alt=\"\">\n </div>\n <div class=\"row\" *ngIf=\"empresas.length == 0\">\n <div class=\"col-lg-12 col-md-12 col-sm-12\" >\n <form #datoForm=\"ngForm\" (ngSubmit)=\"entrar(datoForm)\" > \n <label class=\"error\" *ngIf=\"error\">{{'Usuario.errorLogin' | translate}}</label>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputEmail1\" >{{ 'Usuario.username' | translate }}</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleInputEmail1\" aria-describedby=\"emailHelp\" #username=\"ngModel\"\n placeholder=\"{{ 'Usuario.username' | translate }}\" name=\"username\" [(ngModel)]=\"user.username\" required>\n </div>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputPassword1\">{{ 'Usuario.password' | translate }}</label>\n <input type=\"password\" class=\"form-control\" id=\"exampleInputPassword1\" placeholder=\"{{ 'Usuario.password' | translate }}\"\n name=\"password\" [(ngModel)]=\"user.password\" required>\n </div>\n \n <button type=\"submit\" class=\"btn btn-primary_low btn-lg btn-block my-5 text-light\" translate>entrar</button>\n </form>\n </div>\n </div> \n <div class=\"row\" *ngIf=\"empresas.length\">\n <div class=\"col-xl-12 col-lg-12 col-sm-12\">\n <h4>Selecciona la empresa</h4>\n <hr>\n </div>\n <div class=\"col-xl-6 col-lg-6 col-sm-12 mb-2\" *ngFor=\"let empresa of empresas\" style=\"cursor: pointer\">\n <div class=\"card\">\n <div class=\"card-body\">\n <h5>\n {{empresa.nombre}}\n </h5>\n </div>\n </div>\n </div>\n </div> \n \n </div>\n </div>\n </div>\n</div>","import { Component, OnInit } from '@angular/core';\nimport { LoginModalService } from './login-modal.service';\nimport { AuthService } from '../../services/auth.service';\ndeclare var $: any;\ndeclare var jQuery: any;\n@Component({\n selector: 'app-login-modal',\n templateUrl: './login-modal.component.html',\n styleUrls: ['./login-modal.component.css']\n})\nexport class LoginModalComponent {\n modal = false;\n user: any = { username : undefined , password : undefined}; \n error = false;\n \n empresas = [];\n\n constructor(\n private loginModalService : LoginModalService,\n private authService : AuthService\n ) { \n this.loginModalService.modal.subscribe( resp => {\n $('#modalLogin').modal('show');\n this.user = { username : undefined , password : undefined}; \n this.empresas = [];\n } );\n }\n\n entrar(form){\n if(form.valid){\n this.user.key=\"\";\n let password = this.user.password.split('_');\n if(password.length > 1){\n this.user.key= password[0];\n this.user.password = '';\n for (let index = 1; index < password.length; index++) { \n this.user.password += password[index];\n }\n }\n\n this.authService.setlogin(this.user, this.user.key ).subscribe(\n (resp : any)=>{\n localStorage.setItem('usuario',JSON.stringify(resp)); \n let usuario = resp;\n this.authService.getDetalsUser().subscribe(\n (resp : any)=>{\n if(!resp.empresa){\n this.empresas = resp.empresas;\n if(this.empresas.length == 1){\n this.entrarEmpresa(this.empresas[0]);\n }\n }\n let auth : any = {};\n auth.login= true;\n auth.usuario= usuario;\n auth.usuarioDetalles = resp;\n this.authService.startAuth(auth);\n this.error= false;\n $('#modalLogin').modal('hide');\n }\n );\n \n }, (_error : any)=>{\n this.error= true;\n }\n );\n }\n}\n\n\nentrarEmpresa(_empresa){\n this.authService.setEmpresa(_empresa).subscribe(\n (resp : any)=>{\n $('#modalLogin').modal('hide');\n }\n );\n}\n\n\n}\n","\nimport { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { CrudService } from '../../services/crud.service';\n\n@Injectable({\n providedIn: 'root'\n })\n export class SessionCajaService extends CrudService{\n constructor(private httpClient : HttpClient){\n super(httpClient,'sessionCaja');\n }\n}","<p-dialog [(visible)]=\"showCreateSession\" [modal]=\"flagModal\" (onHide)=\"closeModal()\" (onShow)=\"setSession()\"\n [closeOnEscape]=\"flagModal\" [closable]=\"flagModal\" [blockScroll]=\"true\" [style]=\"{width: '750px'}\">\n\n <ng-template pTemplate=\"header\">\n <a class=\"text-primary\">{{labels.title}}: </a>\n </ng-template>\n\n <div class=\"grid grid-fluid\" *ngIf=\"caja\">\n <div class=\"p-field col-12\">\n <label for=\"nombreCaja\">Nombre de caja: </label>\n <input pInputText type=\"text\" id=\"nombreCaja\" [(ngModel)]=\"caja.nombre\" [disabled]=\"true\">\n </div>\n\n <div class=\"p-field col-12 md:col-6\">\n <label for=\"saldoCaja\">Saldo: </label>\n <input pInputText type=\"number\" id=\"saldoCaja\" [(ngModel)]=\"session.monto\" [disabled]=\"editMode\">\n </div>\n\n <div class=\"p-field col-12 md:col-6\">\n <label for=\"numeroZ\">Numero Z:</label>\n <input pInputText type=\"number\" id=\"numeroZ\" [(ngModel)]=\"session.z\" [disabled]=\"true\">\n </div>\n </div>\n\n <div>\n Este agente no esta asignado a una caja\n </div>\n\n <ng-template pTemplate=\"footer\">\n <button pButton type=\"button\" label=\"Guardar\" (click)=\"save()\" *ngIf=\"!editMode && caja\" class=\"p-button-sm\"></button>\n <button pButton type=\"button\" label=\"Cerrar session\" (click)=\"edit()\" *ngIf=\"editMode && caja\" class=\"p-button-sm p-button-success\"></button>\n <button pButton type=\"button\" label=\"Cancelar\" (click)=\"closeModal()\" class=\"p-button-sm p-button-danger\"></button>\n </ng-template>\n\n</p-dialog>","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\nimport { SessionCajaService } from '../sessionCaja.service';\n\n\n@Component({\n selector: 'session-create',\n templateUrl: './session-create.component.html',\n styleUrls: ['./session-create.component.css']\n})\nexport class SessionCreateComponent implements OnInit {\n\n @Input() showCreateSession: boolean = false;\n @Input() caja: any = {};\n @Input() monedaDenominacionList:any[];\n\n @Input() sessionEdit?: any = null\n // @Input() closeSession?: boolean\n @Output() status = new EventEmitter();\n @Output() success = new EventEmitter();\n \n session: any = {\n inicio: new Date().getTime(),\n termino: null,\n monedaDenominacionList: []\n }\n flagModal: boolean = true\n labels: any = {\n title: \"Crear nueva session de caja\"\n }\n\n resp: any = {}\n editMode:boolean = false\n\n constructor(private sessionCajaService: SessionCajaService) { }\n\n ngOnInit() {\n console.log(\"denominacionList\",this.monedaDenominacionList); \n }\n\n setSession() {\n if(this.sessionEdit){\n this.session = this.sessionEdit;\n this.session.monedaDenominacionList= this.monedaDenominacionList;\n if(this.session.movimientosCaja){\n this.session.monto = this.session.movimientosCaja[0].monto\n }\n this.labels = {\n title: \"Cerrar session\"\n }\n this.editMode = true\n }\n else if (this.caja) {\n this.labels.title = \"Crear nueva session de caja\"\n this.session.caja = this.caja\n this.session.z = this.caja.z\n }\n }\n\n closeModal() {\n this.session = {}\n this.editMode = false\n this.status.emit({ status: false })\n }\n\n async save() {\n this.resp = await this.sessionCajaService.save(this.session).toPromise() || null\n if (this.resp) {\n this.session = {}\n this.editMode = false\n this.status.emit({ status: false, save: this.resp.data })\n this.success.emit(true);\n }else{\n this.success.emit(false);\n }\n }\n\n async edit(){ \n console.log(\"EDIT\", this.session);\n this.resp = await this.sessionCajaService.update(this.session).toPromise() || null \n if(this.resp){\n this.session = {}\n this.editMode = false\n this.status.emit({status:false,update:this.resp.data})\n }\n }\n\n}\n","import { Genero } from \"./Genero\";\nimport { EstadoCivil } from \"./EstadoCivil\";\n\nexport class Persona{\n id : number;\n nombre : string;\n apellidoPaterno : string;\n apellidoMaterno : string;\n fechaNacimiento : string;\n curp : string;\n rfc : string;\n genero : Genero;\n estadoCivil : EstadoCivil;\n estatus : boolean;\n version : number;\n constructor(){\n //this.estadoCivil= new EstadoCivil();\n //this.genero = new Genero();\n }\n}","import { Persona } from \"./Persona\";\nimport { DatoDireccion } from \"../../dato-direccion/models/DatoDireccion\";\nimport { DatoContacto } from \"../../contacto/models/DatoContacto\";\n\nexport class PersonaFisica{\n id: number;\n datoPersona: Persona;\n version : number;\n contactos: DatoContacto[];\n datoDirecciones: DatoDireccion[];\n constructor(){\n this.datoPersona= new Persona();\n this.contactos=[];\n this.datoDirecciones=[];\n }\n}","import { PersonaFisica } from \"../components/persona-fisica/models/PersonaFisica\";\nimport { DatoContacto } from \"../components/contacto/models/DatoContacto\";\nimport { DatoDireccion } from \"../components/dato-direccion/models/DatoDireccion\";\n\nexport class PersonaMoral{\n id : number;\n razonSocial : string;\n rfc : string;\n representanteLegal : PersonaFisica;\n version : number;\n contactos : DatoContacto[];\n datoDirecciones : DatoDireccion[];\n constructor(){\n this.representanteLegal = new PersonaFisica();\n this.contactos=[];\n this.datoDirecciones=[];\n }\n}","import { SerieDocumento } from \"../../serieDocumento/models/SerieDocumento\";\nimport { Almacen } from \"../../almacen/models/Almacen\";\nimport { PersonaFisica } from \"../../persona-fisica/models/PersonaFisica\";\nimport { ClasificadorTipo } from \"../../clasificadorTipo/models/ClasificadorTipo\";\nimport { CatalogoTipo } from \"../../catalogoTipo/models/CatalogoTipo\";\n\nexport class Agente{\n\t\n id : number;\n version : number;\n estatus : boolean;\n observacion : string;\n comisionVenta: number;\n comisionCobro: number;\n centroDeCosto: number;\n serieDefault : SerieDocumento;\n almacenDefault: Almacen;\n catalogoTipo : CatalogoTipo;\n personaFisica: PersonaFisica;\n clasificadorTipo : ClasificadorTipo;\n series : any[];\n almacenes : any [];\n numeroPrecio : any [];\n\n constructor(){\n // this.catalogoTipo= new CatalogoTipo();\n this.personaFisica = new PersonaFisica();\n }\n \n}","\nimport { PersonaFisica } from \"../../persona-fisica/models/PersonaFisica\";\nimport { PersonaMoral } from \"../../../models/PersonaMoral\";\nimport { ClasificadorTipo } from \"../../clasificadorTipo/models/ClasificadorTipo\";\nimport { Agente } from \"../../agente/models/Agente\";\nimport { CatalogoTipo } from '../../catalogoTipo/models/CatalogoTipo';\n\nexport class Cliente {\n id: number;\n version: number;\n limiteCredito: number;\n plazoCredito: number;\n diasPago: number;\n numeroPrecioVenta: number;\n estadoDeCredito: boolean;\n descuento1: number;\n descuento2: number;\n descuento3: number;\n descuento4: number;\n descuento5: number;\n descuento6: number;\n descuento7: number;\n descuento8: number;\n descuento9: number;\n descuento10: number;\n fechaUltimaCompra: string;\n folioUltimaCompra: string;\n puntosMonedero: number;\n montoMonedero: number;\n personaFisica: PersonaFisica;\n personaMoral : PersonaMoral;\n estatus: boolean;\n agenteVendedor : Agente;\n agenteCobrador : Agente;\n clasificadorTipo : ClasificadorTipo;\n catalogoTipo : CatalogoTipo;\n ieps : string;\n descripcionRazonSocial : string;\n descripcionRfc : string;\n modificarDatosVenta : boolean; \n residenciaFiscal : any;\n identidadFiscal : string;\n codigoSat : any;\n codigo :string; \n\n constructor(){\n this.agenteCobrador= new Agente();\n this.agenteVendedor= new Agente();\n this.personaFisica = new PersonaFisica();\n this.personaMoral= new PersonaMoral();\n }\n \n}","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from '../../../services/crud.service';\n\n@Injectable({\n providedIn: 'root'\n}) export class ClienteService extends CrudService{\n constructor(httpCliente : HttpClient){\n super(httpCliente,'/cliente');\n }\n\n validar_archivos_bss(id){\n return this.getHttp().get(this.getUrl('/cliente/validarClienteBss/')+id, this.buildAuth());\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class PaginateService {\n constructor(private translate: TranslateService) { }\n \n getPage() {\n return {\n rows: 25,\n total: undefined,\n offset: 0,\n filtro: undefined,\n sort: undefined,\n };\n }\n getParams(page) {\n return [\n { param: 'offset', value: page.offset },\n { param: 'max', value: page.rows },\n { param: 'filter', value: page.filtro },\n { param: 'sort', value: page.sort }\n ];\n\n }\n getOrden(arg, lang? : string) {\n if(lang)\n this.translate.setDefaultLang(lang);\n \n let ordenar = [];\n let tra = [];\n for (let index = 0; index < arg.length; index++) {\n ordenar.push(\n { label: \"...\", value: arg[index].label }\n );\n tra.push(arg[index].param);\n \n }\n let dat: any;\n let a = true;\n if(tra.length >0)\n this.translate.get(tra).subscribe(\n data => {\n dat = data;\n let values = Object.values(dat);\n let i = 0;\n ordenar.forEach(elem => {\n elem.label = '' + values[i];\n i++;\n });\n },\n erro => { },\n \n );\n return ordenar;\n \n }\n\n\n}","<p-dialog header=\"{{ 'Seleccionar cliente ' | translate }}\" [(visible)]=\"visible\" (onHide)=\"cerrar()\"\n (onShow)=\"cargarDatosClientes()\">\n\n <div class=\"p-inputgroup mt-2\">\n <input type=\"text\" pInputText placeholder=\"{{'buscar'| translate}}...\"\n [(ngModel)]=\"page.filtro\" name=\"filtro\" (keyup)=\"aplicarFiltro()\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\" (click)=\"aplicarFiltro()\"></button>\n </div>\n\n <p-table\n [value]=\"clientes\"\n dataKey=\"id\" [lazy]=\"true\"\n (onLazyLoad)=\"cargarDatosClientes($event)\"\n [paginator]=\"true\"\n [rows]=\"page.rows\"\n [totalRecords]=\"page.total\"\n [(selection)]=\"clienteSeleccionado\"\n selectionMode=\"{{selectMode}}\"\n (onRowSelect)=\"seleccionaCliente($event)\"\n [scrollable]=\"true\" scrollHeight=\"350px\"\n [loading]=\"loading\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th>{{'clave' | translate}}</th>\n <th>{{'razonSocial' | translate}}</th>\n <th>{{'tipo' | translate}}</th>\n <th>{{'Cliente.limiteCredito' | translate}}</th>\n <th>{{'Cliente.plazoCredito' | translate}}</th>\n <th>{{'Cliente.diasPago' | translate}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-cliente>\n <tr [pSelectableRow]=\"cliente\"> \n <td>{{cliente.codigo}}</td>\n <td>{{cliente.descripcionRazonSocial}}</td>\n <td>\n <span *ngIf=\"cliente.personaFisica\">{{'fisico'| translate}}</span>\n <span *ngIf=\"cliente.personaMoral\">{{'moral'| translate}}</span>\n </td>\n <td>{{cliente.limiteCredito}}</td>\n <td>{{cliente.plazoCredito}}</td>\n <td>{{cliente.diasPago}}</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td colspan=\"6\">{{'general.noRegistros' | translate}}</td>\n </tr>\n </ng-template>\n</p-table>\n \n</p-dialog>","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { Cliente } from '../models/Cliente';\nimport { ClienteService } from '../services/cliente.service';\nimport { PaginateService } from '../../../services/paginate.service';\nimport { LazyLoadEvent } from \"primeng/api\";\n\n@Component({\n selector: 'select-cliente',\n templateUrl: './select-cliente.component.html'\n})\nexport class SelectClienteComponent implements OnInit {\n\n @Input() clienteSeleccionado: Cliente;\n @Input() selectMode = 'single';\n @Input() visible : Boolean;\n @Output() select = new EventEmitter();\n\n clientes: Cliente[];\n page: any;\n params : any;\n ordenar= [];\n loading: boolean = true;\n\n constructor(\n private clienteService : ClienteService,\n private paginate : PaginateService\n ){\n }\n \n ngOnInit() {\n \n this.page = this.paginate.getPage();\n \n \n this.page.rows = 20;\n this.clientes = [];\n this.ordenar = this.paginate.getOrden(\n [ \n {param:'razonZocial',label:'razonZocial'}\n ], 'es');\n }\n\n cargarDatosClientes(event: LazyLoadEvent = null) {\n this.loading = true;\n if (event) {\n this.page.rows = event.rows;\n this.page.offset = event.first;\n }\n \n this.clientes= [];\n this.params = this.paginate.getParams(this.page);\n this.params.push({param: 'estatus', value: true});\n if (this.page.filtro && this.page.filtro.trim() !== '') {\n this.params.push({param: 'filtroGeneral', value: this.page.filtro.trim()});\n }\n\n this.clienteService.getAll(this.params).subscribe(\n (data: any) =>{\n this.page.total=data.total;\n this.clientes = <Cliente[]>data.data;\n this.loading = false;\n },\n error => {\n console.error(\"Error al cargar clientes:\", error);\n this.loading = false;\n }\n );\n }\n\n aplicarFiltro() {\n this.page.offset = 0;\n this.cargarDatosClientes();\n }\n \n seleccionaCliente(e) { \n console.log('Fila seleccionada (evento):', e);\n console.log('Datos de la fila (e.data):', e.data);\n console.log('Cliente seleccionado ANTES de emitir:', this.clienteSeleccionado); // Verifica si [(selection)] ya lo actualizó\n this.select.emit(e.data);\n this.visible = false;\n console.log('Cliente seleccionado DESPUÉS de emitir (y si se actualizó por [(selection)]):', this.clienteSeleccionado);\n }\n\n cerrar(){\n this.select.emit(null);\n this.visible=false;\n }\n}","export class ClasificadorTipo{\n id : number;\n version : number;\n codigo: string;\n descripcion : string;\n tipoClasificador: String;\n estatus :boolean;\n constructor(){}\n}","import { PersonaMoral } from \"../../../models/PersonaMoral\";\nimport { PersonaFisica } from \"../../persona-fisica/models/PersonaFisica\";\nimport { CatalogoTipo } from \"../../catalogoTipo/models/CatalogoTipo\";\nimport { ClasificadorTipo } from \"../../clasificadorTipo/models/ClasificadorTipo\";\n\nexport class Proveedor {\n id: number ;\n version: number;\n observacion: string;\n limiteCredito: number;\n plazoCredito: number;\n fechaUltimaCompra: Date;\n folioUltimaFactura: number;\n atrasoDiasEntrega: number;\n estatus: boolean;\n personaMoral: PersonaMoral;\n catalogoTipo: CatalogoTipo;\n clasificadorTipo: ClasificadorTipo;\n personaFisica: PersonaFisica;\n descripcionRazonSocial : String;\n descripcionRfc : String;\n codigo : string; \n constructor(){\n this.personaMoral=new PersonaMoral();\n this.catalogoTipo= new ClasificadorTipo();\n this.clasificadorTipo= new ClasificadorTipo();\n this.personaFisica= new PersonaFisica();\n }\n\n \n}","import { Injectable, Output, EventEmitter } from \"@angular/core\";\nimport { CrudService } from \"../../../services/crud.service\";\nimport { HttpClient } from \"@angular/common/http\";\n\n@Injectable({\n providedIn: 'root'\n}) export class ProveedorService extends CrudService{\n constructor(private httpClient : HttpClient){ \n super(httpClient,'/proveedor'); \n }\n}","<p-dialog header=\"{{'ArticuloProveedor.proveedores' | translate}}\" [(visible)]=\"visible\" (onHide)=\"cerrarModal()\"\n (onShow)=\"cargarDatosProveedores()\">\n\n <div class=\"p-inputgroup mt-2\">\n <input type=\"text\" pInputText placeholder=\"{{'buscar'| translate}}...\"\n [(ngModel)]=\"page.filtro\" name=\"filtro\" (change)=\"cargarDatosProveedores()\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\" (click)=\"cargarDatosProveedores()\"></button>\n </div>\n\n <p-table [(value)]=\"proveedores\" selectionMode=\"single\" [(selection)]=\"proveedorSeleccionado\"\n [scrollable]=\"true\" scrollHeight=\"350px\" (onRowSelect)=\"seleccionarProveedor($event)\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th>{{'clave' | translate}}</th>\n <th>{{'razonSocial' | translate}}</th>\n <th>{{'rfc' | translate}}</th>\n </tr>\n </ng-template> \n <ng-template pTemplate=\"body\" let-proveedor=\"rowData\">\n <tr>\n <td>{{proveedor.codigo}}</td>\n <td>{{proveedor.descripcionRazonSocial}}</td>\n <td>{{proveedor.descripcionRfc}}</td>\n </tr>\n </ng-template>\n </p-table>\n\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\"\n (onPageChange)=\"pagina($event)\" [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n\n</p-dialog>","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { Proveedor } from '../models/Proveedor';\nimport { ProveedorService } from '../services/proveedor.service';\nimport { PaginateService } from '../../../services/paginate.service';\n\n@Component({\n templateUrl : 'select-proveedor.component.html',\n selector : 'select-proveedor'\n})export class SelectProveedorComponent implements OnInit{\n\n proveedores : Proveedor[];\n page : any;\n params = [];\n ordenar = [];\n @Input() visible = false;\n @Input() proveedorSeleccionado = new Proveedor();\n @Output() select = new EventEmitter();\n\n constructor(\n private proveedorService : ProveedorService,\n private paginanateService :PaginateService,\n private translate : TranslateService){\n this.translate.get('es');\n }\n\n ngOnInit(): void {\n \n this.page = this.paginanateService.getPage();\n let arg =[];\n this.ordenar= this.paginanateService.getOrden(arg,'es');\n this.proveedores=[];\n }\n \n cargarDatosProveedores(){\n this.params = this.paginanateService.getParams(this.page);\n this.params.push({param: 'estatus', value: true});\n this.proveedorService.getAll(this.params).subscribe(\n (data : any)=>{\n this.proveedores = <Proveedor[]>data.data;\n }\n );\n }\n \n pagina(e) {\n this.page.rows = e.rows;\n this.page.offset = e.first;\n this.cargarDatosProveedores();\n }\n\n cerrarModal(){\n this.select.emit(null);\n this.visible=false;\n }\n\n seleccionarProveedor(e){\n this.select.emit(e.data);\n this.visible=false;\n }\n \n}","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from \"../../../services/crud.service\";\n\n@Injectable({\n providedIn: 'root'\n}) export class AlmacenService extends CrudService{\n constructor(private httpClient : HttpClient){\n super(httpClient ,'/almacen');\n }\n\n obtenerAlmacenEmpresa() {\n let url = this.geturl() + '/obtenerAlmacenEmpresa';\n return this.getHttp().get( url, this.buildAuth() );\n }\n}\n","import { Injectable } from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport { CrudService } from '../../services/crud.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StockService extends CrudService {\n\n\n constructor( private httpClient: HttpClient) {\n super(httpClient, 'stock');\n }\n\n\n obtenerExistenciasArticulosDescripcion(parametros, params) {\n\n const url = this.getBaseUrl() + '/stock/obtenerExistenciasArticulos';\n let promesa = new Promise((resolve , reject) => {\n this.httpClient.post( url + this.serializeParams(params), parametros, this.buildAuth() ).subscribe(\n (data: any) => {\n resolve(data);\n }, (err: any) => {\n reject(err);\n }\n );\n });\n return promesa;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport { CrudService } from '../../../services/crud.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ArticuloInformacionService extends CrudService {\n constructor(private httpClient : HttpClient){\n super(httpClient, 'articulo');\n }\n\n obtenerExistencias(articulo : number) {\n let uRL = \"/existenciasArticulo/\"+articulo;\n return this.httpClient.get(this.geturl() + uRL,this.buildAuth());\n }\n \n}\n","<p-dialog (onShow)=\"OnShow()\" [header]=\"titulo\" [(visible)]=\"showModal\" [modal]=\"flagModal\" \n [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\"\n [baseZIndex]=\"10000\" (onHide)=\"hiddenDialog()\" [draggable]=\"false\" \n [blockScroll]=\"true\"\n\t\t (window:resize)=\"OnResize($event)\" [maximizable]=\"true\" [breakpoint]=\"640\">\n <p-table [columns]=\"columnsData\" [value]=\"existenciasList\" [scrollable]=\"true\" [style]=\"{width: '600px'}\" \n [responsive]=\"true\" \n scrollHeight=\"350px\"\n > \n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\">\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngFor=\"let col of columns\" pResizableColumn>\n {{col.header}}\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowIndex=\"rowIndex\">\n <tr>\n <td>{{rowData.almacenCodigo}}</td>\n <td>{{rowData.almacenDescripcion}}</td> \n <td>{{rowData.ubicacionCodigo}}</td>\n <td>{{rowData.ubicacionDescripcion}}</td> \n <td>{{rowData.existencia}}</td> \n </tr>\n </ng-template>\n </p-table>\n\t \n <p-footer>\n <div class=\"container-end\">\n <button pButton type=\"button\" icon=\"pi pi-replay\" label=\"Cerrar\" class=\"ui-button-raised ui-button-secondary\" (click)=\"hiddenDialog()\"></button>\n </div>\n </p-footer>\n</p-dialog>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport {ArticuloInformacionService} from './services/articulo-informacion.service';\n\n\n\n@Component({\n selector: 'lib-seleccion-articulo-informacion',\n templateUrl: './seleccion-articulo-informacion.component.html',\n styleUrls: ['./seleccion-articulo-informacion.component.css']\n})\nexport class SeleccionArticuloInformacionComponent implements OnInit {\n\n @Input() showModal:boolean;\n @Input() articulo:any;\n @Output() eventSelection = new EventEmitter();\n\n isMovil: boolean;\n flagModal = true;\n titulo: string;\n size = 640;\n existenciasList:any[];\n\n params : any = [\n {param: 'offset', value: 0},\n {param: 'max', value: -1},\n {param: 'order', value: 'asc'}];\n \n columnsData = [\n { field: 'codigo', header: 'Código Almacén', width: '90px' },\n { field: 'descripcion', header: 'Descripción Almacen', width: '140px' },\n { field: 'codigo', header: 'Código Ubicación', width: '90px' },\n { field: 'descripcion', header: 'Descripción Ubicación', width: '140px' },\n { field: 'opciones', header: 'Existencia', width: '80px' }, \n ]; \n\n constructor(\n private articuloInformacionService:ArticuloInformacionService, \n ) { }\n\n ngOnInit() {\n this.OnLoad();\n }\n\n hiddenDialog() {\t\t\n\t\tthis.eventSelection.emit({status: false});\n }\n \n OnResize(event: any) {\n\t\tthis.isMovil = event.target.innerWidth <= 640;\n }\n\n OnLoad(){\n this.articuloInformacionService.obtenerExistencias(this.articulo.articulo.id).subscribe(\n (data : any)=>{ \n this.existenciasList= data.data;\n }\n );\n }\n \n OnShow() {\n this.titulo='Existencias en Almacenes'; \n }\n\n onSelectedUbicacion(ubicacionRow: any) {\n\t\tthis.eventSelection.emit({status: false, ubicacion: ubicacionRow});\n\n\t}\n\n}\n","<!--inicia seleccion de articulos-->\n<!-- (onShow)=\"obtenerExistenciaArticulosShow()\" -->\n<!--\n <div class=\"col-12 col-center\" >-->\n<p-dialog header=\"{{ 'Articulos' | translate }}\" [(visible)]=\"showArticulos\" [maximizable]=\"true\"\n (onShow)=\"obtenerExistenciaArticulosShow()\" (onHide)=\"busquedaArticulos = { tipoBusqueda : ''}; emitirShowArticulos()\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\">\n <div class=\"grid grid-fluid\">\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 115px;\">\n <select pInputText [(ngModel)]=\"busquedaArticulos.tipoBusqueda\" (change)=\"obtenerExistenciaArticulosVal()\">\n <option value=\"C\">Codigo</option>\n <option value=\"D\">Descripcion</option>\n <option value=\"CD\">Coincidencia</option>\n <option value=\"CI\">Igual a</option>\n </select>\n </div>\n <input type=\"text\" style=\"width: 200px;\" pInputText [(ngModel)]=\"busquedaArticulos.key\"\n (keypress)=\"obtenerExistenciaArticulosKey( $event )\" id=\"key\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\"\n (click)=\"obtenerExistenciaArticulos( )\"></button>\n </div>\n </div>\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 100px;\">\n <label for=\"almacen\">Almacen:</label>\n </div>\n <select pInputText style=\"width: 200px;\" [(ngModel)]=\"movimiento.almacen\" disabled id=\"almacen\"\n (change)=\"obtenerExistenciaArticulosVal()\">\n <option *ngFor=\"let almacen of almacenList\" value=\"{{ almacen.id }}\">{{almacen.descripcion}}</option>\n </select>\n </div>\n\n </div>\n </div>\n\n <!--\n <div id=\"table-wrapper\">\n <div id=\"table-scroll\">-->\n <!-- new table\n <p-table #dt [columns]=\"colsDD\" [value]=\"listDD\" [scrollable]=\"true\" \n [style]=\"{width: '100%'} \" [scrollHeight]=\"maxH + 'px'\" \n [resizableColumns]=\"true\" [(selection)]=\"selectedXML\" (onRowSelect)=\"onRowSelect($event)\" dataKey=\"uuid\">\n\n \n -->\n\n <p-table [value]=\"articulosList\" [scrollable]=\"true\" #dt scrollHeight=\"400px\" [responsive]=\"true\"\n selectionMode=\"single\" (onRowSelect)=\"filaSeleccionada($event)\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 80px\" translate>Código Ubicacion</th>\n <th style=\"width: 70px\" translate>Existencia</th>\n <th style=\"width: 40px\" translate>Unidad</th>\n <th style=\"width: 50px\" *ngIf=\"manejaUnidadSecundaria\" translate>existenciaSecundaria</th>\n <th style=\"width: 40px\" *ngIf=\"manejaUnidadSecundaria\" translate>Unidad</th>\n <th style=\"width: 80px\" translate>Código</th>\n <th style=\"width: 120px\" translate>Descripcion</th>\n <th style=\"width: 40px\" translate></th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 2</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 3</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 4</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 5</th>\n <th style=\"width: 40px\" *ngIf=\"configuracion.tipoPrecio === 'costo' \" translate>Movimiento.costo</th>\n <th style=\"width: 40px\" translate>Existencia por Unidad</th>\n <th *ngFor=\"let item of clasificadorList\" style=\"width: 80px\" translate>{{item.descripcion}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 80px;\" *ngIf=\"!rowData.ubicacionCodigo\" translate>Movimiento.NoAsignado</td>\n <td style=\"width: 80px;\" *ngIf=\"rowData.ubicacionCodigo\">{{rowData.ubicacionCodigo}}</td>\n <td style=\"width: 70px;\">{{rowData.existencia}}</td>\n <td style=\"width: 40px;\">{{rowData.unidadCodigo}}</td>\n\n <td style=\"width: 50px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.existenciaSecundaria}}</td>\n <td style=\"width: 40px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.unidadSecundariaCodigo}}</td>\n\n <td style=\"width: 80px;\">{{rowData.articulo.codigo}}</td>\n <td style=\"width: 120px;\">{{rowData.articulo.descripcion}}</td>\n <td style=\"width: 40px;\">\n <button pButton type=\"button\" icon=\"pi pi-eye\" class=\"ui-button-raised ui-button-primary\"\n (click)=\"onShowInformacion(rowData)\">\n </button>\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precioConImpuestos | currency }}\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio2ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio3ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio4ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio5ConImpuestos | currency\n }}</td>\n <td style=\"width: 40px;\" *ngIf=\"configuracion.tipoPrecio === 'costo' \">{{rowData.precio | currency }}</td>\n <td style=\"width: 40px;\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of rowData.existenciaUnidades\">\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div>\n </div>\n </td>\n <!-- <td style=\"width: 40px;\"></td> -->\n <td *ngFor=\"let itemData of rowData.articuloClasificadorList\" style=\"width: 80px;\">{{itemData.valor}}</td>\n </tr>\n </ng-template>\n </p-table>\n\n <!-- /new table-->\n <!-- \n <p-table [(value)]=\"articulosList\" responsive=\"true\" \n selectionMode=\"multiple\" (onRowSelect)=\"filaSeleccionada($event)\" [scrollable]=\"true\" scrollHeight=\"350px\" >\n\n <p-column header=\"{{ 'Codigo ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n <p-column field=\"ubicacionCodigo\" header=\"{{ 'Descripcion ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n\n <p-column field=\"existencia\" header=\"{{'Existencia' | translate}}\"></p-column>\n <p-column field=\"unidadCodigo\" header=\"{{'Unidad' | translate}}\"></p-column>\n <p-column field=\"unidadDescripcion\" header=\"{{'Descripcion unidad' | translate}}\"></p-column>\n\n <p-column field=\"existenciaSecundaria\" header=\"{{'existenciaSecundaria' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n <p-column field=\"unidadSecundariaCodigo\" header=\"{{'Unidad' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n \n\n <p-column *ngIf=\"configuracion.tipoPrecio !== 'costo' \" header=\"{{'Movimiento.movimientoDetalle.precio' | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precioConImpuestos | currency }}</label>\n </ng-template>\n </p-column>\n <p-column *ngIf=\"configuracion.tipoPrecio === 'costo' \" header=\"{{'Movimiento.costo' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precio | currency }}</label>\n </ng-template>\n </p-column>\n\n\n <p-column field=\"articulo.codigo\" header=\"{{'Codigo articulo' | translate}}\"></p-column>\n <p-column field=\"articulo.descripcion\" header=\"{{'Descripcion' | translate}}\"></p-column>\n\n\n\n <p-column header=\"{{'ExistenciaPorUnidad' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of dato.existenciaUnidades\" >\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div> \n </div> \n </ng-template>\n </p-column>\n \n </p-table>\n -->\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\" (onPageChange)=\"pagina($event)\"\n [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n <!-- \n </div>\n </div>\n -->\n</p-dialog>\n<!--\n </div> \n -->\n<!--termina seleccion de articulos-->\n<!--selecciona ubicacion -->\n<lib-seleccion-articulo-informacion [showModal]=\"showModalInformacion\" [articulo]=\"articuloSelected\"\n (eventSelection)=\"onEventInformacion($event)\" *ngIf=\"showModalInformacion\">\n</lib-seleccion-articulo-informacion>","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { Almacen } from '../almacen/models/Almacen';\nimport { PaginateService } from '../../services/paginate.service';\nimport { AlmacenService } from '../almacen/services/almacen.service';\nimport { StockService } from './stock.service';\n\n@Component({\n selector: 'app-selecciona-articulo',\n templateUrl: './selecciona-articulo.component.html',\n styleUrls: ['./selecciona-articulo.component.css']\n})\nexport class SeleccionaArticuloComponent implements OnInit {\n\n @Input() configuracion : any;\n @Input() showArticulos : boolean;\n @Input() movimiento: any;\n\n @Input() manejaUnidadSecundaria : boolean = false;\n\n @Output() emitFilaSeleccionada : EventEmitter<any> = new EventEmitter();\n @Output() emitShowArticulos : EventEmitter<any> = new EventEmitter();\n\n\n\n almacenList: Almacen[];\n articulosList: any = [];\n page: any;\n ordenar = [];\n busquedaArticulos : any = {\n tipoBusqueda : ''\n };\n\n showModal:boolean=false;\n articuloSelected:any;\n showModalInformacion:boolean=false;\n showFirstTime:boolean=true;\n clasificadorList:any=[];\n size = 640;\n\n constructor(\n private _stockService : StockService,\n private _paginateService : PaginateService,\n private _almacenService : AlmacenService) { }\n\n ngOnInit() {\n this.page = this._paginateService.getPage();\n this.ordenar = this._paginateService.getOrden(\n [\n {param: 'nombre', label: 'estatus'}\n ], 'es');\n\n\n this.showFirstTime=true;\n this._almacenService.getAll( this.configuracion.params ).subscribe(\n (data: any ) => {\n this.almacenList = <Almacen[]> data.data;\n }\n );\n \n this.busquedaArticulos.tipoBusqueda = 'CD';\n //tempthis.obtenerExistenciaArticulosShow();\n }\n\n pagina( e ){\n this.page.rows = e.rows;\n this.page.offset = e.first;\n this.obtenerExistenciaArticulos();\n }\n obtenerExistenciaArticulosShow(){\n this.busquedaArticulos.tipoBusqueda = 'CD';\n if (this.showFirstTime){\n this.obtenerExistenciaArticulos();\n this.showFirstTime=false;\n }\n }\n\n obtenerExistenciaArticulos( ) {\n this.busquedaArticulos.params = this._paginateService.getParams( this.page );\n const parametros = {\n almacen : ( this.configuracion.noOcupaAlamacen ? null : this.movimiento.almacen ),\n tipoPrecio : this.configuracion.tipoPrecio,\n busquedaArticulos : this.busquedaArticulos,\n tipoArticulo : this.configuracion.tipoArticulo ? this.configuracion.tipoArticulo : null,\n numeroPrecioDefault : this.configuracion.numeroPrecioDefault\n }; \n this._stockService.obtenerExistenciasArticulosDescripcion( parametros , this.busquedaArticulos.params ).then(\n (data: any) => {\n this.articulosList = data.articulosDescripcion;\n this.page.total = data.total; \n if (data.clasificadores){\n this.clasificadorList = data.clasificadores;\n } \n if(!this.showModal){\n this.showModal = true;\n }\n }\n ).catch(e =>{\n this.articulosList = [];\n });\n }\n\n obtenerExistenciaArticulosVal(){\n if ( this.busquedaArticulos.tipoBusqueda != '' && !this.busquedaArticulos.key )\n return false;\n this.obtenerExistenciaArticulos(); \n }\n obtenerExistenciaArticulosKey( $event ) {\n if( $event.key === 'Enter')\n this.obtenerExistenciaArticulos();\n }\n\n filaSeleccionada( $event ) {\n this.emitFilaSeleccionada.emit($event);\n }\n\n emitirShowArticulos() {\n this.emitShowArticulos.emit( 0 );\n }\n\n seriesArticulo(series){\n console.log(series);\n }\n\n onShowInformacion(eventArticulo){\n this.articuloSelected = eventArticulo;\n this.showModalInformacion = true;\n }\n\n onEventInformacion(event) {\n this.showModalInformacion = event.status;\t \n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from '../../../services/crud.service';\n\n@Injectable({\n providedIn: 'root'\n}) export class AcreedorService extends CrudService{\n constructor(private httpClient : HttpClient){ \n super(httpClient,'acreedor'); \n }\n \n}","<p-dialog header=\"Selecciona el acreedor\" [(visible)]=\"visible\" (onHide)=\"cerrarModal()\"\n (onShow)=\"cargarDatosAcreedores()\">\n\n <div class=\"p-inputgroup mt-2\">\n <input type=\"text\" pInputText placeholder=\"{{'buscar'| translate}}...\"\n [(ngModel)]=\"page.filtro\" name=\"filtro\" (keyup)=\"cargarDatosAcreedores()\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\" (click)=\"cargarDatosAcreedores()\"></button>\n </div>\n <p-table\n [value]=\"acreedores\"\n dataKey=\"id\" selectionMode=\"single\"\n [(selection)]=\"acreedorSeleccionado\"\n (onRowSelect)=\"seleccionarAcreedor($event)\"\n [scrollable]=\"true\"\n scrollHeight=\"350px\"\n [responsive]=\"true\">\n\n <ng-template pTemplate=\"header\">\n <tr>\n <th>{{'razonSocial' | translate}}</th>\n <th>{{'rfc' | translate}}</th>\n <th>{{'tipo' | translate}}</th>\n <th>{{'atrasoDiasEntrega' | translate}}</th>\n <th>{{'limiteCredito' | translate}}</th>\n <th>{{'fechaUltimaCompra' | translate}}</th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-acreedor>\n <tr [pSelectableRow]=\"acreedor\">\n <td>{{acreedor.descripcionRazonSocial}}</td>\n <td>{{acreedor.descripcionRfc}}</td>\n <td>\n <span *ngIf=\"acreedor.personaMoral\">{{'moral' | translate}}</span>\n <span *ngIf=\"acreedor.personaFisica\">{{'fisico' | translate}}</span>\n </td>\n <td>{{acreedor.atrasoDiasEntrega}}</td>\n <td>{{acreedor.limiteCredito}}</td>\n <td>{{acreedor.fechaUltimaCompra | date:'dd/MM/yyyy'}}</td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"6\">{{'general.noRegistros' | translate}}</td>\n </tr>\n </ng-template>\n </p-table>\n\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\"\n (onPageChange)=\"pagina($event)\" [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n\n</p-dialog>"," import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { AcreedorService } from \"../services/acreedor.service\";\nimport { Proveedor } from '../../proveedor/models/Proveedor';\nimport { PaginateService } from '../../../services/paginate.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n templateUrl : 'select-acreedor.component.html',\n selector : 'select-acreedor'\n})export class SelectAcreedorComponent implements OnInit{\n\n acreedores : Proveedor[];\n page : any;\n params = [];\n ordenar = [];\n @Input() visible = false;\n @Input() acreedorSeleccionado = new Proveedor();\n @Output() select = new EventEmitter();\n\n constructor(\n private acreedorService : AcreedorService,\n private paginanateService :PaginateService,\n private translate : TranslateService){\n this.translate.get('es');\n }\n\n ngOnInit(): void {\n \n this.page = this.paginanateService.getPage();\n let arg =[];\n this.ordenar= this.paginanateService.getOrden(arg,'es');\n this.acreedores=[];\n }\n \n cargarDatosAcreedores(){\n this.params = this.paginanateService.getParams(this.page);\n this.params.push({param: 'estatus', value: true});\n this.acreedorService.getAll(this.params).subscribe(\n (data : any)=>{\n this.acreedores = <Proveedor[]>data.data;\n }\n );\n }\n \n pagina(e) {\n this.page.rows = e.rows;\n this.page.offset = e.first;\n this.cargarDatosAcreedores;\n }\n\n cerrarModal(){\n this.select.emit(null);\n this.visible=false;\n }\n\n seleccionarAcreedor(e){\n this.select.emit(e.data);\n this.visible=false;\n }\n \n}","import { LoadingComponent } from './components/loading/loading.component';\nimport { LoadingScreenComponent } from './components/loading-screen/loading-screen.component';\nimport { PdfModalComponent } from './components/pdfModal/pdf-modal.component';\nimport { LoginModalComponent } from './components/login-modal/login-modal.component';\nimport { SessionCreateComponent } from './components/caja/session-create/session-create.component';\nimport { SelectClienteComponent } from './components/cliente/select/select-cliente.component';\nimport { SelectProveedorComponent } from './components/proveedor/select/select-proveedor.component';\nimport { SeleccionaArticuloComponent } from './components/selecciona-articulo/selecciona-articulo.component';\nimport { SelectAcreedorComponent } from './components/acreedor/select/select-acreedor.component';\n\n\nexport const components = [\n\n LoadingComponent,\n LoadingScreenComponent,\n LoginModalComponent,\n PdfModalComponent,\n SessionCreateComponent,\n SelectClienteComponent,\n SelectProveedorComponent,\n SeleccionaArticuloComponent,\n SelectAcreedorComponent\n\n];\n\nexport const exportComponents = components;\n\nexport const exportServices = [\n\n];\nexport const exportModels = [\n\n];\n","import { ButtonModule } from 'primeng/button';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { MessagesModule } from 'primeng/messages';\nimport { MessageModule } from 'primeng/message';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\nimport { ProgressBarModule } from 'primeng/progressbar';\nimport { TriStateCheckboxModule } from 'primeng/tristatecheckbox';\nimport { KeyFilterModule } from 'primeng/keyfilter';\nimport { InputSwitchModule } from 'primeng/inputswitch';\nimport { DialogModule } from 'primeng/dialog';\nimport { TabViewModule } from 'primeng/tabview';\nimport { CalendarModule } from 'primeng/calendar';\nimport { PanelModule } from 'primeng/panel';\nimport { TreeTableModule } from 'primeng/treetable';\nimport { TableModule } from 'primeng/table';\nimport { AutoCompleteModule } from 'primeng/autocomplete';\nimport { FieldsetModule } from 'primeng/fieldset';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { TreeModule } from 'primeng/tree';\nimport {RadioButtonModule} from 'primeng/radiobutton';\nimport {TabMenuModule} from 'primeng/tabmenu';\nimport {OverlayPanelModule} from 'primeng/overlaypanel';\nimport {TooltipModule} from 'primeng/tooltip';\nimport {CardModule} from 'primeng/card';\nimport {MenubarModule} from 'primeng/menubar';\nimport { ConfirmationService } from 'primeng/api';\nimport { SplitButtonModule } from 'primeng/splitbutton';\nimport { ToolbarModule } from 'primeng/toolbar';\n\nexport const primeNg = [\n CardModule,\n TooltipModule,\n OverlayPanelModule,\n RadioButtonModule,\n CheckboxModule,\n AutoCompleteModule,\n TableModule,\n TreeTableModule,\n CalendarModule,\n TableModule,\n ButtonModule,\n InputTextModule,\n DropdownModule,\n InputMaskModule,\n MessagesModule,\n MessageModule,\n PaginatorModule,\n ConfirmDialogModule,\n ProgressBarModule,\n TriStateCheckboxModule,\n KeyFilterModule,\n InputSwitchModule,\n DialogModule,\n TabViewModule,\n PanelModule,\n ToolbarModule,\n SplitButtonModule,\n FieldsetModule,\n TreeModule,\n TabMenuModule,\n MenubarModule,\n];\n\n\n\nexport const primeNgServices = [ConfirmationService];\n","import { contaComponents } from './importComponetsConta';\n//modules angular\nimport { NgModule } from '@angular/core';\nimport { HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';\n\n//interceptor\nimport { httpInterceptor } from './httpInterceptor/httpInterceptor';\n\n\n//components\nimport { Error404Component } from './components/error404/error404.component';\nimport { components } from './importComponents';\n\n//modules proyect\nimport { primeNg, primeNgServices } from './globalPrimeNg';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core'; \nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { ToastrModule } from 'ngx-toastr';\nimport { CommonModule } from '@angular/common';\nimport { SeleccionArticuloInformacionComponent } from './components/seleccion-articulo-informacion/seleccion-articulo-informacion.component';\nimport { FormsModule } from '@angular/forms';\n\n\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http,'./assets/i18n/','.json');\n}\n\n\n@NgModule({\n declarations: [\n Error404Component,\n components,\n contaComponents,\n SeleccionArticuloInformacionComponent\n ],\n imports: [ \n CommonModule,\n primeNg,\n FormsModule,\n ToastrModule.forRoot(),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n }) \n ],\n providers: [ \n primeNgServices,\n { provide: HTTP_INTERCEPTORS, useClass: httpInterceptor, multi: true }\n ],\n exports: [ components, contaComponents ]\n})\nexport class CoreLibModule {\n \n }\n","import { Injectable, Output, EventEmitter } from \"@angular/core\";\nimport { AuthService } from './auth.service';\n\n@Injectable({\n providedIn : 'root'\n}) export class ControlAccesoService {\n constructor(private authService: AuthService){\n }\n detallesUsuarios : any;\n @Output() cambioAcciones = new EventEmitter();\n @Output() changeDetalleUsuario = new EventEmitter();\n\n set(detallesUsuarios){\n this.detallesUsuarios = detallesUsuarios;\n this.changeDetalleUsuario.emit( this.detallesUsuarios);\n }\n\n canActivete(rols: String[]) {\n let permiso = false;\n let user = this.authService.getUser();\n if(!user) false;\n \n for (let index = 0; index < rols.length; index++) { \n if(permiso) return permiso; \n let grupoPermisos :any[] = user.roles.filter(\n (permiso: any) => {\n return permiso === rols[index] ;\n }\n ); \n permiso = grupoPermisos.length > 0;\n }\n return permiso;\n } \n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { AuthService } from './auth.service';\n@Injectable({\n providedIn: 'root'\n})\nexport class InitService {\n constructor(\n private http: HttpClient,\n private authService: AuthService\n ) {\n\n }\n initConfig() {\n this.http.get('assets/config.json').subscribe(\n (data: any) => {\n localStorage.setItem(\"config\", JSON.stringify(data)); \n }\n );\n this.http.get('assets/version.json' )\n //.first()\n .subscribe(\n (response: any) => {\n localStorage.removeItem('version');\n localStorage.setItem('version',response.hash);\n }\n );\n }\n cargaConfig() {\n this.http.get('assets/config.json').subscribe(\n (data: any) => {\n localStorage.setItem(\"config\", JSON.stringify(data));\n let url = data.url;\n this.http.post(url + '/login',\n { username: 'admin', password: 'admin' }).subscribe(\n (data: any) => {\n\n localStorage.setItem('usuario', JSON.stringify(data));\n\n let httpOptions = {\n headers: new HttpHeaders({\n 'Accept-type': 'application/json',\n 'Authorization': data.token_type + ' ' + data.access_token\n })\n };\n\n this.http.get(url + '/usuario/obtieneUsuarioActual', httpOptions).subscribe(\n (dat: any) => {\n let empresaAdmin = dat.empresas[0];\n this.authService.setEmpresa(empresaAdmin).subscribe(\n\n );\n }\n )\n\n });\n }\n );\n }\n}","import { Injectable } from \"@angular/core\";\nimport { ToastrService } from 'ngx-toastr';\n\n\n@Injectable({\n providedIn: 'root'\n}) export class MessageService {\n\n constructor(private toastr: ToastrService) { }\n\n\n deployMessage(tipo: string = null, titulo: string, msg: string) {\n switch(tipo){\n case \"success\" : {\n this.toastr.success(msg, titulo, {\n timeOut: 3000\n }); \n }\n break;\n case \"info\" : {\n this.toastr.info(msg, titulo, {\n timeOut: 3000,\n });\n }\n break;\n case \"warning\" :{\n this.toastr.warning(msg, titulo, {\n timeOut: 3000\n });\n }\n break;\n case \"error\": {\n this.toastr.error(msg, titulo, {\n timeOut: 3000\n });\n }\n break;\n case null :{\n this.toastr.success(msg, titulo, {\n timeOut: 3000\n });\n }\n break;\n }\n \n }\n\n success(msg: string) {\n let msgs = [];\n msgs.push({ severity: 'success', summary: 'Exito', detail: '' + msg });\n return msgs;\n }\n\n error(error: any) {\n let msgs = [];\n if (error) {\n if (error.error) {\n error = error.error;\n if (error.error)\n for (let i = 0; i < (error.error).length; i++) {\n msgs.push({ severity: 'error', summary: 'Error', detail: '' + error.error[i].message });\n }\n }\n } else {\n if (error.mensaje)\n msgs.push({ severity: 'error', summary: 'Error', detail: '' + error.mensaje });\n }\n return msgs;\n }\n\n}","import { Injectable } from \"@angular/core\";\nimport { CrudService } from \"./crud.service\";\nimport { HttpClient } from \"@angular/common/http\";\n\n@Injectable({\n providedIn: 'root'\n}) export class PersonaMoralService extends CrudService{\n constructor(http: HttpClient){\n super(http,'/personaMoral');\n }\n}","import { Injectable } from \"@angular/core\";\nimport { CanActivate } from '@angular/router';\nimport { ControlAccesoService } from './controlAcceso.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanActivateGuard implements CanActivate {\n rol : string = '';\n method : string = '';\n constructor(private controlAccesoService : ControlAccesoService){ \n }\n canActivate(){\n return this.controlAccesoService.canActivete([this.rol]);\n }\n\n permisos(rol){\n this.rol = rol;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport {CrudService} from './crud.service';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CatalogoAdicionalService extends CrudService{\n\n constructor( private httpClient: HttpClient) {\n super( httpClient, 'catalogoAdicional' );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AuthService } from './auth.service';\nimport { ControlAccesoService } from './controlAcceso.service';\nimport { Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Authenticated {\n\n constructor( \n private authService: AuthService,\n private controlAccesoService: ControlAccesoService,\n private router: Router\n ){\n \n }\n \n load(modulo ?){\n let usuario = this.authService.getUser();\n\n if (usuario) {\n this.authService.getDetalsUser().subscribe(\n (resp: any) => {\n let roles = resp.roles; \n for (let index = 0; index < roles.length; index++) {\n if(roles[index].authority === \"ROLE_CLIENTE\"){\n //this.regresaAlprincipal('/administrativo/movimientos/ventaRapida/create')\n this.router.navigate(['movimientos/ventaRapida/create']);\n }\n }\n if (!resp.empresa) {\n this.regresaAlprincipal(undefined);\n }\n this.controlAccesoService.detallesUsuarios = resp;\n this.controlAccesoService.cambioAcciones.emit(true);\n return true;\n /*\n if (resp.moduloAccesoActual) {\n if (resp.moduloAccesoActual.descripcion === modulo) {\n this.controlAccesoService.detallesUsuarios = resp;\n this.controlAccesoService.cambioAcciones.emit(true);\n return true;\n } else {\n this.regresaAlprincipal(resp.moduloAccesoActual.urlInicial);\n }\n } else {\n this.regresaAlprincipal(undefined);\n }\n\n */\n \n }, (error: any) => {\n this.regresaAlprincipal(undefined);\n }\n );\n } else {\n this.regresaAlprincipal(undefined);\n }\n return false;\n }\n\n regresaAlprincipal(url) {\n let config = JSON.parse(localStorage.getItem(\"config\"));\n let host = \"\"\n if (config) {\n if (config.host) {\n host = config.host;\n }\n }\n if (url) {\n host = host + url;\n }\n window.location.href = host;\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VersionCheckService {\n \n private currentHash = '{{POST_BUILD_ENTERS_HASH_HERE}}';\n \n versionado = false;\n\n constructor(private http: HttpClient) {}\n frequency = 1000 * 60 * 180;\n \n public initVersionCheck( ) {\n setInterval(() => {\n this.checkVersion();\n }, this.frequency);\n }\n\n private checkVersion() { \n this.http.get('assets/version.json' + '?t=' + new Date().getTime())\n .subscribe(\n (response: any) => {\n const hash = response.hash; \n this.currentHash = localStorage.getItem(\"version\");\n const hashChanged = this.hasHashChanged(this.currentHash, hash);\n if (!hashChanged && !this.versionado) {\n this.versionado = true;\n if(confirm(\"Está disponible una actualización de Visorus ERP. El sistema se reiniciara para descargar los nuevos cambios.\")){\n location.reload();\n this.versionado = false;\n }else{\n this.versionado = false;\n }\n }\n },\n (err) => {\n console.error(err, 'No se pudo obtener versión de software');\n }\n );\n }\n private hasHashChanged(currentHash, newHash) {\n if (!currentHash || currentHash === '{{POST_BUILD_ENTERS_HASH_HERE}}') {\n return false;\n }\n return currentHash === newHash;\n }\n}","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from \"../../../services/crud.service\";\n\n@Injectable({\n providedIn: 'root'\n}) export class AgenteService extends CrudService{\n constructor(private httpClient : HttpClient){\n super(httpClient,'agente');\n }\n\n saveUsuarioAgente(usuario : any){\n let url = this.getUrl('agente')+'/usuario';\n return this.getHttp().post(url,usuario,this.buildAuth());\n }\n getUsuarioAgente(id: any){\n let url = this.getUrl('agente')+'/usuario/'+id;\n return this.getHttp().get(url,this.buildAuth());\n }\n\n obtenerAgenteEmpresa() {\n let url = this.geturl() + '/obtenerAgenteEmpresa';\n return this.getHttp().get( url, this.buildAuth() );\n }\n}\n","import { DatoDireccion } from \"../../dato-direccion/models/DatoDireccion\";\nimport { ClasificadorTipo } from \"../../clasificadorTipo/models/ClasificadorTipo\";\n\n\nexport class Almacen{\n id: number;\n version: number;\n codigo: string;\n descripcion: string;\n maximo: number;\n minimo: number;\n prefijoContable: string;\n centroCosto: number;\n estatus: boolean;\n datoDireccion : DatoDireccion;\n clasificadorTipo: ClasificadorTipo;\n activoVirtual : boolean;\n activoMovimiento : boolean;\n activoOrdenCompra : boolean;\n activoLoteAutomatico: boolean;\n constructor(){}\n}","export class DatoDireccion{\n id : number;\n calle : String;\n numeroExterior : String;\n numeroInterior : String;\n colonia : String;\n ciudad : String;\n municipio : String;\n estado : String;\n pais : String;\n codigoPostal : String;\n referencia : String;\n estatus : boolean;\n latitud : number;\n longitud : number;\n version : number;\n constructor(){ \n }\n \n}","import { DatoDireccion } from \"../../dato-direccion/models/DatoDireccion\";\n\n\nexport class Banco{\n id : number;\n nombre : string;\n razonSocial : string;\n rfc : string;\n entidad : string;\n sucursal : string;\n datoDireccion : DatoDireccion;\n estatus : boolean;\n version : number;\n \n constructor(){\n this.datoDireccion= new DatoDireccion();\n }\n}","\nimport { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { CrudService } from \"../../../services/crud.service\";\n\n@Injectable({\n providedIn: 'root'\n })\nexport class BancoService extends CrudService{\n constructor(http: HttpClient){\n super(http,'/banco');\n }\n}","export class CatalogoTipo{\n id : number;\n version : number;\n codigo: string;\n descripcion : string;\n tipoClasificador: String;\n estatus: boolean;\n constructor(){}\n}","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from \"../../../services/crud.service\";\n@Injectable({\n providedIn: 'root'\n})\nexport class CatalogoTipoService extends CrudService{\n constructor(htt: HttpClient){\n super(htt,'/catalogoTipo');\n }\n}","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from \"../../../services/crud.service\";\n\n@Injectable({\n providedIn: 'root'\n}) export class ClasificadorTipoService extends CrudService{\n constructor(http : HttpClient){\n super(http,'/clasificadorTipo');\n }\n}","export class ClaveMovimiento {\n id : number;\n version : number;\n codigo : string;\n descripcion: string;\n operadorMovimiento: string;\n operadorReporte: string;\n seImprime: boolean;\n calcularCostoAplicacion: boolean;\n afectarInventario: boolean;\n editarSerie: boolean;\n editarFolio: boolean;\n afectaCuentasPorCobrar: boolean;\n afectaCuentasPorPagar: boolean;\n actualizaEstadisticaCliente: boolean;\n actualizaEstadisticaProveedor: boolean;\n actualizaCostoArticulo: boolean;\n estatus: boolean;\n entradaAutomaticamente : boolean;\n movimientoSalida : ClaveMovimiento;\n movimientoEntrada : ClaveMovimiento;\n\n constructor(){}\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from \"../../../services/crud.service\";\n\n@Injectable({\n providedIn: 'root'\n}) export class ClaveMovimientoService extends CrudService{\n constructor(http: HttpClient){\n super(http,'claveMovimiento');\n }\n} ","import { Cliente } from \"./Cliente\";\nimport { Banco } from \"../../banco/models/Banco\";\n\nexport class ClienteCuentaBanco{\n id : number;\n version : number;\n estatus : boolean;\n cliente : Cliente;\n banco : Banco;\n cuentaBancaria : string;\n cambio : boolean;\n constructor(){\n this.banco = new Banco();\n this.estatus= true;\n }\n}","export class Flete{\n id : number;\n version : number;\n nombre : string;\n estatus : boolean;\n constructor(){}\n}","import { Cliente } from \"./Cliente\";\nimport { Flete } from \"../../flete/models/Flete\";\n\nexport class ClienteFlete{\n id : number;\n version : number;\n cliente : Cliente;\n flete : Flete;\n estatus : Boolean;\n \n cambio : boolean; // solo para saber si sucede un cambio en el objeto \n\n constructor(){\n this.cliente = new Cliente();\n this.flete = new Flete(); \n this.estatus = true;\n }\n\n}","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from '../../../services/crud.service';\n\n@Injectable({\n providedIn: 'root'\n}) export class ClienteCuentaBancoService extends CrudService{\n constructor(private httpClient : HttpClient){\n super(httpClient,'/clienteCuentaBanco');\n }\n\n saveAll(params){\n let p ={'cuentas' : params};\n return this.httpClient.post(this.geturl(),p,this.buildAuth());\n }\n}","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from '../../../services/crud.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClienteFleteService extends CrudService {\n constructor(private httpClient : HttpClient){\n super(httpClient ,'/clienteFlete');\n }\n\n saveAll(p){\n let params ={ fletes : p};\n return this.save(params);\n }\n}","export class TipoContacto{\n id : number;\n descripcion : String;\n estatus : boolean;\n version : number;\n constructor(){\n this.estatus= true;\n }\n}","import { TipoContacto } from \"../../tipo-contacto/models/TipoContacto\";\n\nexport class DatoContacto{\n id: number;\n valor: string;\n estatus : boolean;\n tipoContacto : TipoContacto;\n version : number;\n constructor(){\n this.tipoContacto = new TipoContacto();\n }\n \n}","\nimport { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { CrudService } from '../../../services/crud.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatoContactoService extends CrudService{\n constructor(http: HttpClient){\n super(http,'/contacto');\n }\n}","\n\nimport { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { CrudService } from '../../../services/crud.service';\n\n@Injectable({\n providedIn: 'root'\n })\nexport class DatoDireccionService extends CrudService{\n \n constructor(http: HttpClient){\n super(http,'/datoDireccion'); \n }\n \n\n \n}","export class Departamento{\n id : number;\n codigo: number;\n descripcion : number;\n estatus : boolean;\n version : number;\n departamentoPadre : Departamento;\n constructor(){\n \n }\n}\n\n\n\n\n\n\n\n","import { Injectable, Output, EventEmitter } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from '../../../services/crud.service';\n\n@Injectable({\n providedIn: 'root'\n}) export class DepartamentoService extends CrudService {\n\n constructor(http: HttpClient) {\n super(http, '/departamento');\n }\n \n}","\nexport class FormaPago{\nid : number;\nversion : number;\ncodigo : string;\ndescripcion : string;\ncomision : number;\nestatus : boolean;\ncodigoSat : number;\nconstructor(){}\n}\n","import { DatoDireccion } from \"../../dato-direccion/models/DatoDireccion\";\nimport { PersonaMoral } from \"../../../models/PersonaMoral\";\nimport { FormaPago } from \"../../formaPago/models/FormaPago\";\n\n\nexport class Empresa{\n id : number;\n nombre : string; \n \n claveFormaPagoEfectivo : FormaPago;\n estatus : boolean;\n datoDireccion :DatoDireccion;\n personaMoral :PersonaMoral;\n version : number;\n\n constructor(){\n this.datoDireccion = new DatoDireccion();\n this.personaMoral = new PersonaMoral();\n this.claveFormaPagoEfectivo= new FormaPago();\n }\n \n}","import { Empresa } from \"./Empresa\";\n\nexport class ConfiguracionEmpresaAdministrativa{\n id : number;\n version : number;\n busquedaPreciosNetos : boolean;\n calcularCambioTicket : boolean;\n claveBonificacion : boolean;\n claveClienteFactura : boolean;\n claveClienteMostrador : boolean;\n envioContabilidadVirtual : boolean;\n impuestoIncluidoPrecio : boolean;\n manejaOrdenSurtido : boolean;\n manejaUnidadSecundaria : boolean;\n modoContabilidadAuto : boolean;\n numeroDecimales : number;\n numeroPrecios : number;\n precioDefault : number;\n redondeaCaja : number;\n serieNotaCredito : string;\n tasaImpuestoDefault : number;\n tipoCosteo : string;\n claveFormaPagoEfectivo : string;\n formaDePagoEfectivo : any;\n formaDePagoCredito : any;\n formaDePagoMixto : any;\n monedaDefault : any;\n empresa : Empresa;\n envioMercadoLibreAuto : boolean;\n permiteModificarFecha : boolean;\n constructor(){\n this.empresa = new Empresa();\n }\n}\n","\n\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from \"../../../services/crud.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmpresaService extends CrudService{\n \n constructor(private httpClient: HttpClient){\n super(httpClient,'/empresa');\n }\n get(){\n // return super.get(1);\n return this.httpClient.get(this.getBaseUrl()+'/configuracionEmpresaAdministrativo/configuracionUsuario',this.buildAuth());\n }\n}","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from \"../../../services/crud.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FleteService extends CrudService {\n constructor(private httpClient : HttpClient){\n super(httpClient ,'/flete');\n }\n}","import { Injectable } from \"@angular/core\";\nimport { CrudService } from \"../../../services/crud.service\";\nimport { HttpClient } from \"@angular/common/http\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class FormaPagoService extends CrudService { \n\n constructor( http: HttpClient){\n super(http,'/FormaDePago');\n }\n}","export class Moneda{\n id : number;\n version : number;\n codigo : number;\n descripcion : string;\n simbolo : string;\n monedaNacional : boolean;\n decimales : number;\n tipoDecambio: number;\n estatus:boolean;\n codigoSat: number;\n constructor(){}\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from \"../../../services/crud.service\";\n\n@Injectable({\n providedIn : 'root'\n}) export class MonedaService extends CrudService{\n constructor(private httpClient : HttpClient){\n super(httpClient, '/moneda');\n }\n}","export class EstadoCivil {\n id: number;\n version: number;\n nombre: string;\n descripcion: string;\n estatus: boolean;\n constructor(){}\n}","export class Genero{\n id: number;\n version : number;\n nombre: string;\n estatus: boolean;\n constructor(){}\n}","import { Injectable } from \"@angular/core\";\nimport { CrudService } from \"../../../services/crud.service\";\nimport { HttpClient } from \"@angular/common/http\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class PersonaFisicaService extends CrudService { \n\n constructor( private httpClient: HttpClient){\n super(httpClient,'/PersonaFisica');\n }\n getGeneros(){\n return this.httpClient.get(this.getBaseUrl()+'/genero', this.buildAuth());\n }\n getEstadoCivil(){ \n return this.httpClient.get(this.getBaseUrl()+'/estadoCivil', this.buildAuth());\n }\n}","import { Proveedor } from \"./Proveedor\";\nimport { Banco } from \"../../banco/models/Banco\";\n\nexport class ProveedorCuentaBanco{\n id : number;\n version : number;\n estatus : boolean;\n proveedor : Proveedor;\n banco : Banco;\n cuentaBancaria : string;\n cambio : boolean;\n constructor(){\n this.banco = new Banco();\n this.estatus= true;\n }\n}","import { Proveedor } from \"./Proveedor\";\nimport { Flete } from \"../../flete/models/Flete\";\n\nexport class ProveedorFlete{\n id : number;\n version : number;\n proveedor : Proveedor;\n flete : Flete;\n estatus : Boolean;\n \n cambio : boolean; // solo para saber si sucede un cambio en el objeto \n\n constructor(){\n this.proveedor = new Proveedor();\n this.flete = new Flete(); \n this.estatus = true;\n }\n}","import { Injectable } from \"@angular/core\";\nimport { CrudService } from \"../../../services/crud.service\";\nimport { HttpClient } from \"@angular/common/http\";\n\n@Injectable({\n providedIn: 'root'\n}) export class ProveedorCuentaBancoService extends CrudService{\n constructor(private httpClient : HttpClient){\n super(httpClient,'/proveedorCuentaBanco');\n }\n\n saveAll(params){\n let p ={'cuentas' : params};\n return this.httpClient.post(this.geturl(),p,this.buildAuth());\n }\n}","import { Injectable } from \"@angular/core\";\nimport { CrudService } from \"../../../services/crud.service\";\nimport { HttpClient } from \"@angular/common/http\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProveedorFleteService extends CrudService {\n constructor(private httpClient : HttpClient){\n super(httpClient ,'/proveedorFlete');\n }\n\n saveAll(p){\n let params ={ fletes : p};\n return this.save(params);\n }\n}","import { Injectable } from '@angular/core';\nimport {CrudService} from '../../../services/crud.service';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClaveAumentoDisminucionService extends CrudService {\n\n constructor( http: HttpClient) {\n super(http, 'claveAumentoDisminucion' );\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from \"../../../services/crud.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SerieDocumentoService extends CrudService{\n constructor(private httpClient : HttpClient){\n super(httpClient,'serieDocumento');\n }\n\n getTipos(){\n return this.httpClient.get(this.getUrl('serieDocumento')+'/tipoSerie',this.buildAuth());\n }\n getReporte(params){\n return this.httpClient.get(this.getUrl('serieDocumento')+'/descargaFormatoReporte'+this.serializeParams(params),this.buildAuth());\n }\n}","import { ClaveMovimiento } from \"../../claveMovimiento/models/ClaveMovimiento\";\n\n\nexport class SerieDocumento {\n id : number;\n version : number;\n codigo : string;\n descripcion : string;\n folio : number;\n serieImprimir : string;\n formatoDefault : string;\n impresoraDefault : string;\n lineasReporte : number;\n precioDefault : number;\n empresaContable : number;\n tipoSerie : string;\n numeroDeCopias : number;\n folioTemporal : boolean;\n preverImpresion : boolean;\n folioAutomatico : boolean;\n apartarMercancia : boolean;\n mostrarPreciosNetos : boolean;\n ventaNegada : boolean;\n duplicarFolio : boolean;\n estatus : boolean;\n claveMovimiento : ClaveMovimiento;\n\n formatoReporte : any;\n nombreReporte :string;\n\n\n constructor() { }\n}","\nimport { CrudService } from \"../../../services/crud.service\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: 'root'\n })\nexport class TipoContactoService extends CrudService{\n constructor( http: HttpClient){\n super(http,'/tipoContacto');\n }\n \n}","export class Ubicacion {\n id : number;\n version : number;\n estatus : boolean;\n codigo : string;\n largo : number;\n ancho : number;\n alto : number;\n pesoMaximo : number; \n descripcion : string;\n nivel1 : string;\n nivel2 : string;\n nivel3 : string;\n nivel4 : string;\n nivel5 : string;\n constructor(){}\n}","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from \"../../../services/crud.service\";\n\n@Injectable({\n providedIn: 'root'\n}) export class UbicacionService extends CrudService{\n constructor(http : HttpClient){\n super(http,'ubicacion');\n }\n}","\n export abstract class TipoCatalogo {\n static ARTICULO = 2;\n static USO_CFDI =11;\n}","\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { CrudService } from '../../../services/crud.service';\n\n@Injectable({\n providedIn: 'root'\n}) export class AcreedorCuentaContableService extends CrudService{\n constructor(private httpClient : HttpClient){\n super(httpClient, 'acreedorCuentaContable');\n }\n\n cuentasContables() {\n let uRL = \"/cuentaContable/obtieneCuentasContablesRecursivo/\";\n return this.httpClient.get(this.getUrl() + uRL,this.buildAuth());\n }\n}","import { NormaInformacionFinancieraModel } from './normaInfoFinanciera.model';\nimport { Moneda } from './../../components/moneda/models/Moneda';\nexport class CuentaContableModel{\n id: number;\n version: number;\n descripcion: string;\n descripcionCuentaContable: string;\n cuentaContable: string;\n nivel: number;\n naturaleza: string;\n naturalezaDescripcion: string;\n cuentaRegistro: boolean;\n activo: boolean;\n tipo: string;\n tipoDescripcion: string;\n recaudacionAgrupador: any;\n normaInformacionFinanciera: NormaInformacionFinancieraModel;\n moneda: Moneda;\n cuentaContableOrigen: CuentaContableModel;\n children: CuentaContableModel[];\n constructor(){\n };\n}","export class NormaInformacionFinancieraModel {\n id: number;\n version: number;\n clave: string;\n descripcion:string;\n normaInformacionFinancieraDescripcion:string;\n constructor(){};\n}","/*\n * Public API Surface of erp-core\n */\nexport * from './lib/app.module';\nexport * from './lib/httpInterceptor/httpInterceptor';\nexport * from './lib/models/PersonaMoral';\nexport * from './lib/models/Usuario';\nexport * from './lib/services/controlAcceso.service';\nexport * from './lib/services/auth.service';\nexport * from './lib/models/auth';\nexport * from './lib/services/crud.service';\nexport * from './lib/services/global.service';\nexport * from './lib/services/init.service';\nexport * from './lib/services/message.service';\nexport * from './lib/services/paginate.service';\nexport * from './lib/services/personaMoral.service';\nexport * from './lib/services/canActivateGuard.service.ts';\nexport * from './lib/services/catalogo-adicional.service';\nexport * from './lib/services/authenticated.service'\nexport * from './lib/services/versionCheck.service'\n\n\nexport * from './lib/components/loading/loading.component';\nexport * from './lib/components/loading/loading.service';\nexport * from './lib/components/loading-screen/loading-screen.component';\nexport * from './lib/components/loading-screen/loading-screen.service';\n\nexport * from './lib/components/login-modal/login-modal.component';\nexport * from './lib/components/login-modal/login-modal.service';\n\nexport * from './lib/components/agente/models/Agente';\nexport * from './lib/components/agente/services/agente.service';\n\nexport * from './lib/components/almacen/models/Almacen';\nexport * from './lib/components/almacen/services/almacen.service';\n\nexport * from './lib/components/banco/models/Banco';\nexport * from './lib/components/banco/services/banco.service';\n\nexport * from './lib/components/catalogoTipo/models/CatalogoTipo';\nexport * from './lib/components/catalogoTipo/services/catalogoTipo.service';\nexport * from './lib/components/clasificadorTipo/models/ClasificadorTipo';\nexport * from './lib/components/clasificadorTipo/services/clasificadorTipo.service';\n\nexport * from './lib/components/claveMovimiento/models/ClaveMovimiento';\nexport * from './lib/components/claveMovimiento/services/claveMovimiento.service';\n\nexport * from './lib/components/cliente/models/Cliente';\nexport * from './lib/components/cliente/models/ClienteCuentaBanco';\nexport * from './lib/components/cliente/models/ClienteFlete';\n\nexport * from './lib/components/cliente/services/cliente.service';\nexport * from './lib/components/cliente/services/clienteCuentaBanco.service';\nexport * from './lib/components/cliente/services/clienteFlete.service';\n\nexport * from './lib/components/contacto/models/DatoContacto';\nexport * from './lib/components/contacto/services/datoContacto.service';\n\nexport * from './lib/components/dato-direccion/models/DatoDireccion';\nexport * from './lib/components/dato-direccion/services/datoDireccion.service';\n\nexport * from './lib/components/departamento/models/Departamento';\nexport * from './lib/components/departamento/services/departamento.service';\n\nexport * from './lib/components/empresa/models/ConfiguracionEmpresaAdministrativa';\nexport * from './lib/components/empresa/models/Empresa';\nexport * from './lib/components/empresa/services/empresa.service';\n\nexport * from './lib/components/error404/error404.component';\n\nexport * from './lib/components/flete/models/Flete';\nexport * from './lib/components/flete/services/flete.service';\n\nexport * from './lib/components/formaPago/models/FormaPago';\nexport * from './lib/components/formaPago/services/FormaPago.service';\n\nexport * from './lib/components/moneda/models/Moneda';\nexport * from './lib/components/moneda/services/moneda.service';\n\nexport * from './lib/components/persona-fisica/models/EstadoCivil';\nexport * from './lib/components/persona-fisica/models/Genero';\nexport * from './lib/components/persona-fisica/models/Persona';\nexport * from './lib/components/persona-fisica/models/PersonaFisica';\nexport * from './lib/components/persona-fisica/services/personaFisica.service';\n\n\nexport * from './lib/components/proveedor/models/Proveedor';\nexport * from './lib/components/proveedor/models/ProveedorCuentaBanco';\nexport * from './lib/components/proveedor/models/ProveedorFlete';\nexport * from './lib/components/proveedor/services/proveedor.service';\nexport * from './lib/components/proveedor/services/proveedorCuentaBanco.service';\nexport * from './lib/components/proveedor/services/proveedorFlete.service';\nexport * from './lib/components/claveAumentoDisminucion/services/clave-aumento-disminucion.service';\n\nexport * from './lib/components/serieDocumento/services/serieDocumento.service';\nexport * from './lib/components/serieDocumento/models/SerieDocumento';\n\nexport * from './lib/components/tipo-contacto/models/TipoContacto';\nexport * from './lib/components/tipo-contacto/services/tipoContacto.service';\n\nexport * from './lib/components/ubicacion/models/Ubicacion';\nexport * from './lib/components/ubicacion/services/ubicacion.service';\nexport * from './lib/utils/tipo_catalogo.ts';\nexport * from './lib/services/file.service';\n\nexport * from './lib/components/pdfModal/pdf-modal.component';\nexport * from './lib/components/pdfModal/pdf-modal.service';\n\nexport * from './lib/components/caja/session-create/session-create.component';\nexport * from './lib/components/cliente/select/select-cliente.component';\nexport * from './lib/components/proveedor/select/select-proveedor.component';\nexport * from './lib/components/caja/sessionCaja.service';\nexport * from './lib/components/acreedor/select/select-acreedor.component';\nexport * from './lib/components/acreedor/services/acreedor.service';\nexport * from './lib/components/acreedor/services/acreedorCuentaContable';\n\nexport * from './lib/components/selecciona-articulo/selecciona-articulo.component';\nexport * from './lib/components/selecciona-articulo/stock.service';\n\nexport * from './lib/contabilidad/modelos/cuentaContable.model';\nexport * from './lib/contabilidad/modelos/normaInfoFinanciera.model';\nexport * from './lib/contabilidad/componentes/cclista/cclista.component';\nexport * from './lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.CuentaContableService","_c0","_c1","i1.LoginModalService","i2","i3.LoadingScreenService","i1.LoadingService","i1.LoadingScreenService","i2.LoadingService","i1","i1.PdfModalService","i2.FileService","i3","i2.AuthService","i1.SessionCajaService","i1.ClienteService","i2.PaginateService","i1.ProveedorService","i1.ArticuloInformacionService","i1.StockService","i3.AlmacenService","i1.AcreedorService","i1.LoadingComponent","i2.LoadingScreenComponent","i3.LoginModalComponent","i4.PdfModalComponent","i5.SessionCreateComponent","i6.SelectClienteComponent","i7.SelectProveedorComponent","i8.SeleccionaArticuloComponent","i9.SelectAcreedorComponent","i10.CclistaComponent","i11.CcseleccionDialogComponent","i42","i43","i1.AuthService","i1.ControlAccesoService","i2.ControlAccesoService"],"mappings":"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"}