visorus-erp-core 17.6.0 → 17.7.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.
@@ -1 +1 @@
1
- {"version":3,"file":"visorus-erp-core.mjs","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.ts","../../../projects/erp-core/src/lib/contabilidad/componentes/cclista/cclista.component.html","../../../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.ts","../../../projects/erp-core/src/lib/components/pdfModal/pdf-modal.component.html","../../../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.ts","../../../projects/erp-core/src/lib/components/login-modal/login-modal.component.html","../../../projects/erp-core/src/lib/components/caja/sessionCaja.service.ts","../../../projects/erp-core/src/lib/components/caja/session-create/session-create.component.ts","../../../projects/erp-core/src/lib/components/caja/session-create/session-create.component.html","../../../projects/erp-core/src/lib/services/paginate.service.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.ts","../../../projects/erp-core/src/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.html","../../../projects/erp-core/src/lib/components/selecciona-articulo/selecciona-articulo.component.ts","../../../projects/erp-core/src/lib/components/selecciona-articulo/selecciona-articulo.component.html","../../../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/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/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/models/Agente.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/models/ClasificadorTipo.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/Cliente.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/cliente.service.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/Proveedor.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/proveedor.service.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/acreedor.service.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}","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","<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, 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/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';\nimport { AuthService } from '../../public_api';\n\n@Injectable()\nexport class httpInterceptor implements HttpInterceptor {\n constructor(\n private loginModalService: LoginModalService,\n private authService: AuthService,\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 // Solo cierra la sesión local: loginOut() dispararía un POST con el\n // token ya vencido, ese POST también daría 401 y se entraría en bucle.\n // El isLogin() evita repetir el cierre con 401 paralelos.\n if (this.authService.isLogin()) {\n this.authService.quitarUsuario();\n }\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","import { Component, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { PdfModalService } from './pdf-modal.service';\nimport { FileService } from '../../services/file.service';\nimport { DomSanitizer, SafeResourceUrl } 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 implements OnDestroy {\n display = false;\n pdfUrl: SafeResourceUrl = null;\n modo: 'pdf' | 'print' = 'pdf';\n size = 840;\n\n private objectUrl: string = null;\n private subscriptions = new Subscription();\n\n constructor(\n private _pdfModalService: PdfModalService,\n private fileService: FileService,\n public domSanitizer: DomSanitizer\n ) {\n this.subscriptions.add(\n _pdfModalService.visible.subscribe(resp => {\n if (_pdfModalService.base_64) {\n this.modo = 'pdf';\n this.cargarPdf(_pdfModalService.base_64);\n this.display = resp;\n }\n })\n );\n\n this.subscriptions.add(\n _pdfModalService.print.subscribe(\n (resp: any) => {\n this.modo = 'print';\n this.liberarPdf();\n this.display = resp;\n setTimeout(() => {\n let iframe = \"<iframe id='printf' width='100%' height='100%' ></iframe>\"\n let contenedor = document.getElementById('_modal_pdf');\n if (contenedor) {\n contenedor.innerHTML = iframe;\n }\n }, 20);\n\n setTimeout(() => {\n this.imprimir();\n }, 40);\n }\n )\n );\n }\n\n /**\n * El base64 se convierte a blob una sola vez y la URL se sanitiza aquí, no en el\n * template: sanitizar dentro del binding regresa un objeto nuevo en cada ciclo de\n * detección de cambios, lo que recarga el iframe una y otra vez (parpadeo).\n */\n private cargarPdf(base64: string) {\n this.liberarPdf();\n let blob = this.fileService.base64ToBlob(base64, 'application/pdf');\n this.objectUrl = URL.createObjectURL(blob);\n this.pdfUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(this.objectUrl);\n }\n\n private liberarPdf() {\n if (this.objectUrl) {\n URL.revokeObjectURL(this.objectUrl);\n this.objectUrl = null;\n }\n this.pdfUrl = null;\n }\n\n cerrar() {\n this.display = false;\n this.liberarPdf();\n }\n\n imprimir() {\n\n var iframe = window.frames['printf'];\n\n if (!iframe) {\n return;\n }\n\n let doc = iframe.document || iframe.contentDocument;\n\n doc.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 doc.body.innerHTML = this._pdfModalService.html;\n\n //iframe.focus();\n // iframe.contentWindow.print();\n\n }\n\n ngOnDestroy() {\n this.subscriptions.unsubscribe();\n this.liberarPdf();\n }\n\n}\n","<p-dialog [(visible)]=\"display\" [modal]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [maximizable]=\"true\" [breakpoint]=\"840\"\n [contentStyle]=\"{'overflow':'visible'}\" (onHide)=\"cerrar()\">\n <div *ngIf=\"pdfUrl\" style=\"min-height: 90vh;\">\n <iframe style=\"width: 100%; height: 90vh; border: 0;\" [src]=\"pdfUrl\"></iframe>\n </div>\n <div *ngIf=\"modo === 'print'\" id=\"_modal_pdf\" style=\"min-height: 90vh;\"></div>\n</p-dialog>\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 obtieneUsuarioConfiguracion() {\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/obtieneUsuarioConfiguracion', httpOptions);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { LoginModalService } from './login-modal.service';\nimport { AuthService } from '../../services/auth.service';\n\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 if (resp) {\n this.modal = true;\n this.user = { username: undefined, password: undefined };\n this.empresas = [];\n } else {\n this.modal = false;\n }\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 this.modal = false;\n }\n );\n\n }, (_error: any) => {\n this.error = true;\n }\n );\n }\n }\n\n\n entrarEmpresa(_empresa) {\n this.authService.setEmpresa(_empresa).subscribe(\n (resp: any) => {\n this.modal = false;\n }\n );\n }\n\n\n}\n","<p-dialog [(visible)]=\"modal\" [modal]=\"true\" [closable]=\"false\" [style]=\"{width: '50vw'}\"\n [breakpoints]=\"{'960px': '75vw', '640px': '90vw'}\">\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 o contraseña incorrectos</label>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputEmail1\">Usuario</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleInputEmail1\" aria-describedby=\"emailHelp\"\n #username=\"ngModel\" placeholder=\"Usuario\" name=\"username\" [(ngModel)]=\"user.username\" required>\n </div>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputPassword1\">Contraseña</label>\n <input type=\"password\" class=\"form-control\" id=\"exampleInputPassword1\" placeholder=\"Contraseña\"\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\">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 (click)=\"entrarEmpresa(empresa)\">\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</p-dialog>","\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}","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","<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 { 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}","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","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","<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 responsiveLayout=\"scroll\"\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 <ng-template pTemplate=\"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 </ng-template>\n</p-dialog>","import {Component, ElementRef, EventEmitter, inject, Input, OnInit, Output, ViewChild} 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 @ViewChild('campoBusqueda') campoBusqueda : ElementRef<HTMLInputElement>;\n\n private _stockService = inject(StockService);\n private _paginateService = inject(PaginateService);\n private _almacenService = inject(AlmacenService);\n\n almacenList: Almacen[];\n articulosList: any = [];\n page: any;\n ordenar = [];\n busquedaArticulos : any = {\n tipoBusqueda : ''\n };\n almacenSeleccionado: any;\n cargando = false;\n\n showModal:boolean=false;\n articuloSelected:any;\n showModalInformacion:boolean=false;\n showFirstTime:boolean=true;\n clasificadorList:any=[];\n maximizado:boolean=false;\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 // El valor se reaplica cuando las opciones ya existen en el select\n setTimeout(() => { this.almacenSeleccionado = this.almacenId; });\n }\n );\n\n this.busquedaArticulos.tipoBusqueda = 'CD';\n }\n\n /** Id del almacén del movimiento; acepta tanto id numérico como objeto Almacen. */\n get almacenId(): any {\n const almacen = this.movimiento ? this.movimiento.almacen : null;\n return (almacen && typeof almacen === 'object') ? almacen.id : almacen;\n }\n\n /** Número de columnas visibles de la tabla, para el colspan del estado vacío. */\n get totalColumnas(): number {\n let total = 6; // ubicación, existencia, unidad, código, descripción, detalle\n if (this.manejaUnidadSecundaria) {\n total += 2;\n }\n total += (this.configuracion && this.configuracion.tipoPrecio === 'costo') ? 1 : 5;\n if (this.mostrarExistenciaPorUnidad) {\n total += 1;\n }\n return total + (this.clasificadorList ? this.clasificadorList.length : 0);\n }\n\n /** La columna \"Existencia por Unidad\" solo se muestra si algún artículo trae datos. */\n get mostrarExistenciaPorUnidad(): boolean {\n return Array.isArray(this.articulosList) &&\n this.articulosList.some((row: any) => row.existenciaUnidades && row.existenciaUnidades.length > 0);\n }\n\n /** Altura del cuerpo del diálogo: ocupa el viewport y crece al maximizar. */\n get estiloContenido(): any {\n const base = { display: 'flex', 'flex-direction': 'column', 'min-height': '0' };\n return this.maximizado\n ? { ...base, flex: '1 1 auto' }\n : { ...base, height: 'calc(90vh - 9.5rem)' };\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 // El diálogo termina de montar su contenido después del evento onShow\n setTimeout(() => {\n if (this.campoBusqueda) {\n this.campoBusqueda.nativeElement.focus();\n }\n });\n }\n\n obtenerExistenciaArticulos( ) {\n if (this.busquedaArticulos.tipoBusqueda && !this.busquedaArticulos.key) {\n // Sin término de búsqueda el backend no regresa resultados\n return;\n }\n this.cargando = true;\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 this.cargando = false;\n }\n ).catch(e =>{\n this.articulosList = [];\n this.page.total = 0;\n this.cargando = false;\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 onShowInformacion(eventArticulo){\n this.articuloSelected = eventArticulo;\n this.showModalInformacion = true;\n }\n\n onEventInformacion(event) {\n this.showModalInformacion = event.status;\n }\n}\n","<!--inicia seleccion de articulos-->\n<p-dialog header=\"{{ 'Articulos' | translate }}\" [(visible)]=\"showArticulos\" [maximizable]=\"true\"\n (onShow)=\"obtenerExistenciaArticulosShow()\" (onHide)=\"busquedaArticulos = { tipoBusqueda : ''}; emitirShowArticulos()\"\n (onMaximize)=\"maximizado = $event.maximized\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [style]=\"{ width: '95vw' }\" [minY]=\"70\"\n [contentStyle]=\"estiloContenido\">\n\n <div class=\"sa-cuerpo\">\n\n <div class=\"grid sa-filtros\">\n <div class=\"col-12 md:col-6 xl:col-5\">\n <label class=\"sa-etiqueta\" for=\"sa-tipo-busqueda\">Buscar por</label>\n <div class=\"p-inputgroup\">\n <select pInputText class=\"sa-tipo-busqueda\" id=\"sa-tipo-busqueda\"\n [(ngModel)]=\"busquedaArticulos.tipoBusqueda\" (change)=\"obtenerExistenciaArticulosVal()\">\n <option value=\"C\">Código</option>\n <option value=\"D\">Descripción</option>\n <option value=\"CD\">Coincidencia</option>\n <option value=\"CI\">Igual a</option>\n </select>\n <input pInputText type=\"text\" class=\"sa-campo-busqueda\" id=\"sa-campo-busqueda\" #campoBusqueda\n placeholder=\"Término de búsqueda\" [(ngModel)]=\"busquedaArticulos.key\"\n (keydown.enter)=\"obtenerExistenciaArticulos()\">\n <button pButton type=\"button\" icon=\"pi pi-search\" aria-label=\"Buscar\"\n (click)=\"obtenerExistenciaArticulos()\"></button>\n </div>\n </div>\n <div class=\"col-12 md:col-6 xl:col-5\">\n <label class=\"sa-etiqueta\" for=\"sa-almacen\">Almacén</label>\n <select pInputText class=\"sa-almacen\" id=\"sa-almacen\" disabled [ngModel]=\"almacenSeleccionado\"\n [ngModelOptions]=\"{ standalone: true }\">\n @for (almacen of almacenList; track almacen.id) {\n <option [ngValue]=\"almacen.id\">{{ almacen.descripcion }}</option>\n }\n </select>\n </div>\n </div>\n\n <p-table #dt [value]=\"articulosList\" [scrollable]=\"true\" scrollHeight=\"flex\" responsiveLayout=\"scroll\"\n selectionMode=\"single\" styleClass=\"p-datatable-sm\" [loading]=\"cargando\" class=\"sa-tabla\"\n (onRowSelect)=\"filaSeleccionada($event)\">\n\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"sa-col-ubicacion\" translate>Código Ubicacion</th>\n <th class=\"sa-num\" translate>Existencia</th>\n <th class=\"sa-col-unidad\" translate>Unidad</th>\n @if (manejaUnidadSecundaria) {\n <th class=\"sa-num\" translate>existenciaSecundaria</th>\n <th class=\"sa-col-unidad\" translate>Unidad</th>\n }\n <th class=\"sa-col-codigo\" translate>Código</th>\n <th class=\"sa-col-descripcion\" translate>Descripcion</th>\n <th class=\"sa-col-accion\"><span class=\"sa-sr-only\">Detalle</span></th>\n @if (configuracion.tipoPrecio !== 'costo') {\n <th class=\"sa-num\" translate>Precio</th>\n <th class=\"sa-num\" translate>Precio 2</th>\n <th class=\"sa-num\" translate>Precio 3</th>\n <th class=\"sa-num\" translate>Precio 4</th>\n <th class=\"sa-num\" translate>Precio 5</th>\n } @else {\n <th class=\"sa-num\" translate>Movimiento.costo</th>\n }\n @if (mostrarExistenciaPorUnidad) {\n <th class=\"sa-col-unidades\" translate>Existencia por Unidad</th>\n }\n @for (item of clasificadorList; track $index) {\n <th class=\"sa-col-clasificador\" translate>{{ item.descripcion }}</th>\n }\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData>\n <tr [pSelectableRow]=\"rowData\">\n <td class=\"sa-col-ubicacion\">\n @if (rowData.ubicacionCodigo) {\n {{ rowData.ubicacionCodigo }}\n } @else {\n <span class=\"sa-sr-only\" translate>Movimiento.NoAsignado</span>\n }\n </td>\n <td class=\"sa-num\">{{ rowData.existencia }}</td>\n <td class=\"sa-col-unidad\">{{ rowData.unidadCodigo }}</td>\n @if (manejaUnidadSecundaria) {\n <td class=\"sa-num\">{{ rowData.existenciaSecundaria }}</td>\n <td class=\"sa-col-unidad\">{{ rowData.unidadSecundariaCodigo }}</td>\n }\n <td class=\"sa-col-codigo\">{{ rowData.articulo.codigo }}</td>\n <td class=\"sa-col-descripcion\" [pTooltip]=\"rowData.articulo.descripcion\" tooltipPosition=\"top\"\n [showDelay]=\"400\">{{ rowData.articulo.descripcion }}</td>\n <td class=\"sa-col-accion\">\n <button pButton type=\"button\" icon=\"pi pi-eye\" class=\"p-button-text p-button-sm p-button-rounded\"\n [attr.aria-label]=\"'Ver información del artículo ' + rowData.articulo.descripcion\"\n (click)=\"onShowInformacion(rowData)\"></button>\n </td>\n @if (configuracion.tipoPrecio !== 'costo') {\n <td class=\"sa-num\">{{ rowData.precioConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio2ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio3ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio4ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio5ConImpuestos | currency }}</td>\n } @else {\n <td class=\"sa-num\">{{ rowData.precio | currency }}</td>\n }\n @if (mostrarExistenciaPorUnidad) {\n <td class=\"sa-col-unidades\">\n @for (item of rowData.existenciaUnidades; track $index) {\n <div class=\"sa-unidad-existencia\">\n <span>{{ item.unidad_codigo }}</span>\n <span class=\"sa-num\">{{ item.unidad_existencia | number : '1.2-2' }}</span>\n </div>\n }\n </td>\n }\n @for (itemData of rowData.articuloClasificadorList; track $index) {\n <td class=\"sa-col-clasificador\">{{ itemData.valor }}</td>\n }\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"totalColumnas\">\n <div class=\"sa-vacio\">\n <i class=\"pi pi-search\" aria-hidden=\"true\"></i>\n @if (busquedaArticulos.key) {\n <p>Sin resultados para «{{ busquedaArticulos.key }}». Prueba con otro término o tipo de búsqueda.</p>\n } @else {\n <p>Escribe un término de búsqueda y presiona <strong>Buscar</strong> para consultar la existencia de\n artículos.</p>\n }\n </div>\n </td>\n </tr>\n </ng-template>\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</p-dialog>\n<!--termina seleccion de articulos-->\n<!--selecciona ubicacion -->\n@if (showModalInformacion) {\n <lib-seleccion-articulo-informacion [showModal]=\"showModalInformacion\" [articulo]=\"articuloSelected\"\n (eventSelection)=\"onEventInformacion($event)\">\n </lib-seleccion-articulo-informacion>\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 { SeleccionaArticuloComponent } from './components/selecciona-articulo/selecciona-articulo.component';\n\n\nexport const components = [\n\n LoadingComponent,\n LoadingScreenComponent,\n LoginModalComponent,\n PdfModalComponent,\n SessionCreateComponent,\n SeleccionaArticuloComponent\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, primeNg, TranslateModule ]\n})\nexport class CoreLibModule {\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 { 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 { 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}","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}","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 { 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} ","\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 { 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 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 { 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 { 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 { 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, 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}","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}","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}","\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/caja/sessionCaja.service';\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","i4","i5","i6","i1","i2","i3.CclistaComponent","i1.LoginModalService","i2.AuthService","i3","i4.LoadingScreenService","i1.LoadingService","i1.LoadingScreenService","i2.LoadingService","i1.PdfModalService","i2.FileService","i1.SessionCajaService","i7","i1.ArticuloInformacionService","i8","i9","i10.SeleccionArticuloInformacionComponent","i11","i1.LoadingComponent","i2.LoadingScreenComponent","i3.LoginModalComponent","i4.PdfModalComponent","i5.SessionCreateComponent","i6.SeleccionaArticuloComponent","i7.CclistaComponent","i8.CcseleccionDialogComponent","i39","i40","i1.AuthService","i1.ControlAccesoService","i2.ControlAccesoService"],"mappings":"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"}
1
+ {"version":3,"file":"visorus-erp-core.mjs","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.ts","../../../projects/erp-core/src/lib/contabilidad/componentes/cclista/cclista.component.html","../../../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.ts","../../../projects/erp-core/src/lib/components/pdfModal/pdf-modal.component.html","../../../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.ts","../../../projects/erp-core/src/lib/components/login-modal/login-modal.component.html","../../../projects/erp-core/src/lib/components/caja/sessionCaja.service.ts","../../../projects/erp-core/src/lib/components/caja/session-create/session-create.component.ts","../../../projects/erp-core/src/lib/components/caja/session-create/session-create.component.html","../../../projects/erp-core/src/lib/services/paginate.service.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.ts","../../../projects/erp-core/src/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.html","../../../projects/erp-core/src/lib/components/selecciona-articulo/selecciona-articulo.component.ts","../../../projects/erp-core/src/lib/components/selecciona-articulo/selecciona-articulo.component.html","../../../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/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/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/models/Agente.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/models/ClasificadorTipo.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/Cliente.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/cliente.service.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/Proveedor.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/proveedor.service.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/acreedor.service.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 if (!data.token_type || !data.access_token) {\n this.closeEndPoint();\n this.regresaAlprincipal(\"/login\");\n }\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 regresaAlprincipal(url: any) {\n const configString = localStorage.getItem(\"config\");\n let config = JSON.parse(configString || \"\");\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\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}","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","<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, 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/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';\nimport { AuthService } from '../../public_api';\n\n@Injectable()\nexport class httpInterceptor implements HttpInterceptor {\n constructor(\n private loginModalService: LoginModalService,\n private authService: AuthService,\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 // Solo cierra la sesión local: loginOut() dispararía un POST con el\n // token ya vencido, ese POST también daría 401 y se entraría en bucle.\n // El isLogin() evita repetir el cierre con 401 paralelos.\n if (this.authService.isLogin()) {\n this.authService.quitarUsuario();\n }\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","import { Component, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { PdfModalService } from './pdf-modal.service';\nimport { FileService } from '../../services/file.service';\nimport { DomSanitizer, SafeResourceUrl } 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 implements OnDestroy {\n display = false;\n pdfUrl: SafeResourceUrl = null;\n modo: 'pdf' | 'print' = 'pdf';\n size = 840;\n\n private objectUrl: string = null;\n private subscriptions = new Subscription();\n\n constructor(\n private _pdfModalService: PdfModalService,\n private fileService: FileService,\n public domSanitizer: DomSanitizer\n ) {\n this.subscriptions.add(\n _pdfModalService.visible.subscribe(resp => {\n if (_pdfModalService.base_64) {\n this.modo = 'pdf';\n this.cargarPdf(_pdfModalService.base_64);\n this.display = resp;\n }\n })\n );\n\n this.subscriptions.add(\n _pdfModalService.print.subscribe(\n (resp: any) => {\n this.modo = 'print';\n this.liberarPdf();\n this.display = resp;\n setTimeout(() => {\n let iframe = \"<iframe id='printf' width='100%' height='100%' ></iframe>\"\n let contenedor = document.getElementById('_modal_pdf');\n if (contenedor) {\n contenedor.innerHTML = iframe;\n }\n }, 20);\n\n setTimeout(() => {\n this.imprimir();\n }, 40);\n }\n )\n );\n }\n\n /**\n * El base64 se convierte a blob una sola vez y la URL se sanitiza aquí, no en el\n * template: sanitizar dentro del binding regresa un objeto nuevo en cada ciclo de\n * detección de cambios, lo que recarga el iframe una y otra vez (parpadeo).\n */\n private cargarPdf(base64: string) {\n this.liberarPdf();\n let blob = this.fileService.base64ToBlob(base64, 'application/pdf');\n this.objectUrl = URL.createObjectURL(blob);\n this.pdfUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(this.objectUrl);\n }\n\n private liberarPdf() {\n if (this.objectUrl) {\n URL.revokeObjectURL(this.objectUrl);\n this.objectUrl = null;\n }\n this.pdfUrl = null;\n }\n\n cerrar() {\n this.display = false;\n this.liberarPdf();\n }\n\n imprimir() {\n\n var iframe = window.frames['printf'];\n\n if (!iframe) {\n return;\n }\n\n let doc = iframe.document || iframe.contentDocument;\n\n doc.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 doc.body.innerHTML = this._pdfModalService.html;\n\n //iframe.focus();\n // iframe.contentWindow.print();\n\n }\n\n ngOnDestroy() {\n this.subscriptions.unsubscribe();\n this.liberarPdf();\n }\n\n}\n","<p-dialog [(visible)]=\"display\" [modal]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [maximizable]=\"true\" [breakpoint]=\"840\"\n [contentStyle]=\"{'overflow':'visible'}\" (onHide)=\"cerrar()\">\n <div *ngIf=\"pdfUrl\" style=\"min-height: 90vh;\">\n <iframe style=\"width: 100%; height: 90vh; border: 0;\" [src]=\"pdfUrl\"></iframe>\n </div>\n <div *ngIf=\"modo === 'print'\" id=\"_modal_pdf\" style=\"min-height: 90vh;\"></div>\n</p-dialog>\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 obtieneUsuarioConfiguracion() {\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/obtieneUsuarioConfiguracion', httpOptions);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { LoginModalService } from './login-modal.service';\nimport { AuthService } from '../../services/auth.service';\n\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 if (resp) {\n this.modal = true;\n this.user = { username: undefined, password: undefined };\n this.empresas = [];\n } else {\n this.modal = false;\n }\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 this.modal = false;\n }\n );\n\n }, (_error: any) => {\n this.error = true;\n }\n );\n }\n }\n\n\n entrarEmpresa(_empresa) {\n this.authService.setEmpresa(_empresa).subscribe(\n (resp: any) => {\n this.modal = false;\n }\n );\n }\n\n\n}\n","<p-dialog [(visible)]=\"modal\" [modal]=\"true\" [closable]=\"false\" [style]=\"{width: '50vw'}\"\n [breakpoints]=\"{'960px': '75vw', '640px': '90vw'}\">\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 o contraseña incorrectos</label>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputEmail1\">Usuario</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleInputEmail1\" aria-describedby=\"emailHelp\"\n #username=\"ngModel\" placeholder=\"Usuario\" name=\"username\" [(ngModel)]=\"user.username\" required>\n </div>\n <div class=\"form-group mb-3\">\n <label for=\"exampleInputPassword1\">Contraseña</label>\n <input type=\"password\" class=\"form-control\" id=\"exampleInputPassword1\" placeholder=\"Contraseña\"\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\">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 (click)=\"entrarEmpresa(empresa)\">\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</p-dialog>","\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}","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","<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 { 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}","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","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","<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 responsiveLayout=\"scroll\"\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 <ng-template pTemplate=\"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 </ng-template>\n</p-dialog>","import {Component, ElementRef, EventEmitter, inject, Input, OnInit, Output, ViewChild} 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 @ViewChild('campoBusqueda') campoBusqueda : ElementRef<HTMLInputElement>;\n\n private _stockService = inject(StockService);\n private _paginateService = inject(PaginateService);\n private _almacenService = inject(AlmacenService);\n\n almacenList: Almacen[];\n articulosList: any = [];\n page: any;\n ordenar = [];\n busquedaArticulos : any = {\n tipoBusqueda : ''\n };\n almacenSeleccionado: any;\n cargando = false;\n\n showModal:boolean=false;\n articuloSelected:any;\n showModalInformacion:boolean=false;\n showFirstTime:boolean=true;\n clasificadorList:any=[];\n maximizado:boolean=false;\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 // El valor se reaplica cuando las opciones ya existen en el select\n setTimeout(() => { this.almacenSeleccionado = this.almacenId; });\n }\n );\n\n this.busquedaArticulos.tipoBusqueda = 'CD';\n }\n\n /** Id del almacén del movimiento; acepta tanto id numérico como objeto Almacen. */\n get almacenId(): any {\n const almacen = this.movimiento ? this.movimiento.almacen : null;\n return (almacen && typeof almacen === 'object') ? almacen.id : almacen;\n }\n\n /** Número de columnas visibles de la tabla, para el colspan del estado vacío. */\n get totalColumnas(): number {\n let total = 6; // ubicación, existencia, unidad, código, descripción, detalle\n if (this.manejaUnidadSecundaria) {\n total += 2;\n }\n total += (this.configuracion && this.configuracion.tipoPrecio === 'costo') ? 1 : 5;\n if (this.mostrarExistenciaPorUnidad) {\n total += 1;\n }\n return total + (this.clasificadorList ? this.clasificadorList.length : 0);\n }\n\n /** La columna \"Existencia por Unidad\" solo se muestra si algún artículo trae datos. */\n get mostrarExistenciaPorUnidad(): boolean {\n return Array.isArray(this.articulosList) &&\n this.articulosList.some((row: any) => row.existenciaUnidades && row.existenciaUnidades.length > 0);\n }\n\n /** Altura del cuerpo del diálogo: ocupa el viewport y crece al maximizar. */\n get estiloContenido(): any {\n const base = { display: 'flex', 'flex-direction': 'column', 'min-height': '0' };\n return this.maximizado\n ? { ...base, flex: '1 1 auto' }\n : { ...base, height: 'calc(90vh - 9.5rem)' };\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 // El diálogo termina de montar su contenido después del evento onShow\n setTimeout(() => {\n if (this.campoBusqueda) {\n this.campoBusqueda.nativeElement.focus();\n }\n });\n }\n\n obtenerExistenciaArticulos( ) {\n if (this.busquedaArticulos.tipoBusqueda && !this.busquedaArticulos.key) {\n // Sin término de búsqueda el backend no regresa resultados\n return;\n }\n this.cargando = true;\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 this.cargando = false;\n }\n ).catch(e =>{\n this.articulosList = [];\n this.page.total = 0;\n this.cargando = false;\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 onShowInformacion(eventArticulo){\n this.articuloSelected = eventArticulo;\n this.showModalInformacion = true;\n }\n\n onEventInformacion(event) {\n this.showModalInformacion = event.status;\n }\n}\n","<!--inicia seleccion de articulos-->\n<p-dialog header=\"{{ 'Articulos' | translate }}\" [(visible)]=\"showArticulos\" [maximizable]=\"true\"\n (onShow)=\"obtenerExistenciaArticulosShow()\" (onHide)=\"busquedaArticulos = { tipoBusqueda : ''}; emitirShowArticulos()\"\n (onMaximize)=\"maximizado = $event.maximized\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [style]=\"{ width: '95vw' }\" [minY]=\"70\"\n [contentStyle]=\"estiloContenido\">\n\n <div class=\"sa-cuerpo\">\n\n <div class=\"grid sa-filtros\">\n <div class=\"col-12 md:col-6 xl:col-5\">\n <label class=\"sa-etiqueta\" for=\"sa-tipo-busqueda\">Buscar por</label>\n <div class=\"p-inputgroup\">\n <select pInputText class=\"sa-tipo-busqueda\" id=\"sa-tipo-busqueda\"\n [(ngModel)]=\"busquedaArticulos.tipoBusqueda\" (change)=\"obtenerExistenciaArticulosVal()\">\n <option value=\"C\">Código</option>\n <option value=\"D\">Descripción</option>\n <option value=\"CD\">Coincidencia</option>\n <option value=\"CI\">Igual a</option>\n </select>\n <input pInputText type=\"text\" class=\"sa-campo-busqueda\" id=\"sa-campo-busqueda\" #campoBusqueda\n placeholder=\"Término de búsqueda\" [(ngModel)]=\"busquedaArticulos.key\"\n (keydown.enter)=\"obtenerExistenciaArticulos()\">\n <button pButton type=\"button\" icon=\"pi pi-search\" aria-label=\"Buscar\"\n (click)=\"obtenerExistenciaArticulos()\"></button>\n </div>\n </div>\n <div class=\"col-12 md:col-6 xl:col-5\">\n <label class=\"sa-etiqueta\" for=\"sa-almacen\">Almacén</label>\n <select pInputText class=\"sa-almacen\" id=\"sa-almacen\" disabled [ngModel]=\"almacenSeleccionado\"\n [ngModelOptions]=\"{ standalone: true }\">\n @for (almacen of almacenList; track almacen.id) {\n <option [ngValue]=\"almacen.id\">{{ almacen.descripcion }}</option>\n }\n </select>\n </div>\n </div>\n\n <p-table #dt [value]=\"articulosList\" [scrollable]=\"true\" scrollHeight=\"flex\" responsiveLayout=\"scroll\"\n selectionMode=\"single\" styleClass=\"p-datatable-sm\" [loading]=\"cargando\" class=\"sa-tabla\"\n (onRowSelect)=\"filaSeleccionada($event)\">\n\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"sa-col-ubicacion\" translate>Código Ubicacion</th>\n <th class=\"sa-num\" translate>Existencia</th>\n <th class=\"sa-col-unidad\" translate>Unidad</th>\n @if (manejaUnidadSecundaria) {\n <th class=\"sa-num\" translate>existenciaSecundaria</th>\n <th class=\"sa-col-unidad\" translate>Unidad</th>\n }\n <th class=\"sa-col-codigo\" translate>Código</th>\n <th class=\"sa-col-descripcion\" translate>Descripcion</th>\n <th class=\"sa-col-accion\"><span class=\"sa-sr-only\">Detalle</span></th>\n @if (configuracion.tipoPrecio !== 'costo') {\n <th class=\"sa-num\" translate>Precio</th>\n <th class=\"sa-num\" translate>Precio 2</th>\n <th class=\"sa-num\" translate>Precio 3</th>\n <th class=\"sa-num\" translate>Precio 4</th>\n <th class=\"sa-num\" translate>Precio 5</th>\n } @else {\n <th class=\"sa-num\" translate>Movimiento.costo</th>\n }\n @if (mostrarExistenciaPorUnidad) {\n <th class=\"sa-col-unidades\" translate>Existencia por Unidad</th>\n }\n @for (item of clasificadorList; track $index) {\n <th class=\"sa-col-clasificador\" translate>{{ item.descripcion }}</th>\n }\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData>\n <tr [pSelectableRow]=\"rowData\">\n <td class=\"sa-col-ubicacion\">\n @if (rowData.ubicacionCodigo) {\n {{ rowData.ubicacionCodigo }}\n } @else {\n <span class=\"sa-sr-only\" translate>Movimiento.NoAsignado</span>\n }\n </td>\n <td class=\"sa-num\">{{ rowData.existencia }}</td>\n <td class=\"sa-col-unidad\">{{ rowData.unidadCodigo }}</td>\n @if (manejaUnidadSecundaria) {\n <td class=\"sa-num\">{{ rowData.existenciaSecundaria }}</td>\n <td class=\"sa-col-unidad\">{{ rowData.unidadSecundariaCodigo }}</td>\n }\n <td class=\"sa-col-codigo\">{{ rowData.articulo.codigo }}</td>\n <td class=\"sa-col-descripcion\" [pTooltip]=\"rowData.articulo.descripcion\" tooltipPosition=\"top\"\n [showDelay]=\"400\">{{ rowData.articulo.descripcion }}</td>\n <td class=\"sa-col-accion\">\n <button pButton type=\"button\" icon=\"pi pi-eye\" class=\"p-button-text p-button-sm p-button-rounded\"\n [attr.aria-label]=\"'Ver información del artículo ' + rowData.articulo.descripcion\"\n (click)=\"onShowInformacion(rowData)\"></button>\n </td>\n @if (configuracion.tipoPrecio !== 'costo') {\n <td class=\"sa-num\">{{ rowData.precioConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio2ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio3ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio4ConImpuestos | currency }}</td>\n <td class=\"sa-num\">{{ rowData.precio5ConImpuestos | currency }}</td>\n } @else {\n <td class=\"sa-num\">{{ rowData.precio | currency }}</td>\n }\n @if (mostrarExistenciaPorUnidad) {\n <td class=\"sa-col-unidades\">\n @for (item of rowData.existenciaUnidades; track $index) {\n <div class=\"sa-unidad-existencia\">\n <span>{{ item.unidad_codigo }}</span>\n <span class=\"sa-num\">{{ item.unidad_existencia | number : '1.2-2' }}</span>\n </div>\n }\n </td>\n }\n @for (itemData of rowData.articuloClasificadorList; track $index) {\n <td class=\"sa-col-clasificador\">{{ itemData.valor }}</td>\n }\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"totalColumnas\">\n <div class=\"sa-vacio\">\n <i class=\"pi pi-search\" aria-hidden=\"true\"></i>\n @if (busquedaArticulos.key) {\n <p>Sin resultados para «{{ busquedaArticulos.key }}». Prueba con otro término o tipo de búsqueda.</p>\n } @else {\n <p>Escribe un término de búsqueda y presiona <strong>Buscar</strong> para consultar la existencia de\n artículos.</p>\n }\n </div>\n </td>\n </tr>\n </ng-template>\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</p-dialog>\n<!--termina seleccion de articulos-->\n<!--selecciona ubicacion -->\n@if (showModalInformacion) {\n <lib-seleccion-articulo-informacion [showModal]=\"showModalInformacion\" [articulo]=\"articuloSelected\"\n (eventSelection)=\"onEventInformacion($event)\">\n </lib-seleccion-articulo-informacion>\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 { SeleccionaArticuloComponent } from './components/selecciona-articulo/selecciona-articulo.component';\n\n\nexport const components = [\n\n LoadingComponent,\n LoadingScreenComponent,\n LoginModalComponent,\n PdfModalComponent,\n SessionCreateComponent,\n SeleccionaArticuloComponent\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, primeNg, TranslateModule ]\n})\nexport class CoreLibModule {\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 { 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 { 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}","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}","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 { 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} ","\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 { 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 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 { 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 { 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 { 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, 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}","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}","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}","\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/caja/sessionCaja.service';\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","i4","i5","i6","i1","i2","i3.CclistaComponent","i1.LoginModalService","i2.AuthService","i3","i4.LoadingScreenService","i1.LoadingService","i1.LoadingScreenService","i2.LoadingService","i1.PdfModalService","i2.FileService","i1.SessionCajaService","i7","i1.ArticuloInformacionService","i8","i9","i10.SeleccionArticuloInformacionComponent","i11","i1.LoadingComponent","i2.LoadingScreenComponent","i3.LoginModalComponent","i4.PdfModalComponent","i5.SessionCreateComponent","i6.SeleccionaArticuloComponent","i7.CclistaComponent","i8.CcseleccionDialogComponent","i39","i40","i1.AuthService","i1.ControlAccesoService","i2.ControlAccesoService"],"mappings":"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"}