{"version":3,"sources":["webpack:///./ClientApp/$_lazy_route_resource lazy namespace object","webpack:///./ClientApp/app/app.component.css","webpack:///./ClientApp/app/app.component.html","webpack:///./ClientApp/app/app.component.ts","webpack:///./ClientApp/app/app.module.ts","webpack:///./ClientApp/app/compartida/accordion/components/accordion-panel.ts","webpack:///./ClientApp/app/compartida/accordion/components/accordion.ts","webpack:///./ClientApp/app/compartida/accordion/services/accordion.service.ts","webpack:///./ClientApp/app/compartida/articulos-sap/articulos-sap.component.css","webpack:///./ClientApp/app/compartida/articulos-sap/articulos-sap.component.html","webpack:///./ClientApp/app/compartida/articulos-sap/articulos-sap.component.ts","webpack:///./ClientApp/app/compartida/confirmacion/confirmacion.component.html","webpack:///./ClientApp/app/compartida/confirmacion/confirmacion.component.ts","webpack:///./ClientApp/app/compartida/formaModal.ts","webpack:///./ClientApp/app/compartida/indice.ts","webpack:///./ClientApp/app/compartida/mascara-moneda.ts","webpack:///./ClientApp/app/compartida/menu/menu-configuracion.component.css","webpack:///./ClientApp/app/compartida/menu/menu-configuracion.component.html","webpack:///./ClientApp/app/compartida/menu/menu-configuracion.component.ts","webpack:///./ClientApp/app/compartida/menu/menu-lateral.component.css","webpack:///./ClientApp/app/compartida/menu/menu-lateral.component.html","webpack:///./ClientApp/app/compartida/menu/menu-lateral.component.ts","webpack:///./ClientApp/app/compartida/notificacion.ts","webpack:///./ClientApp/app/compartida/proveedores-sap/proveedores-sap.component.css","webpack:///./ClientApp/app/compartida/proveedores-sap/proveedores-sap.component.html","webpack:///./ClientApp/app/compartida/proveedores-sap/proveedores-sap.component.ts","webpack:///./ClientApp/app/entidades/archivo-descarga-masiva.ts","webpack:///./ClientApp/app/entidades/archivo.ts","webpack:///./ClientApp/app/entidades/aviso.ts","webpack:///./ClientApp/app/entidades/comunicado.ts","webpack:///./ClientApp/app/entidades/configuracion.ts","webpack:///./ClientApp/app/entidades/corporativo.ts","webpack:///./ClientApp/app/entidades/correo.ts","webpack:///./ClientApp/app/entidades/enviartoken.ts","webpack:///./ClientApp/app/entidades/indice.ts","webpack:///./ClientApp/app/entidades/ordencompra.ts","webpack:///./ClientApp/app/entidades/ordenes-compra-seleccionadas.ts","webpack:///./ClientApp/app/entidades/pago.ts","webpack:///./ClientApp/app/entidades/proveedor.ts","webpack:///./ClientApp/app/entidades/restablecercontrasena.ts","webpack:///./ClientApp/app/entidades/sociedad.ts","webpack:///./ClientApp/app/entidades/usuario.ts","webpack:///./ClientApp/app/paginas/acceso/acceso.component.css","webpack:///./ClientApp/app/paginas/acceso/acceso.component.html","webpack:///./ClientApp/app/paginas/acceso/acceso.component.ts","webpack:///./ClientApp/app/paginas/aviso/aviso.component.css","webpack:///./ClientApp/app/paginas/aviso/aviso.component.html","webpack:///./ClientApp/app/paginas/aviso/aviso.component.ts","webpack:///./ClientApp/app/paginas/avisos/aviso-modal/aviso-modal.component.css","webpack:///./ClientApp/app/paginas/avisos/aviso-modal/aviso-modal.component.html","webpack:///./ClientApp/app/paginas/avisos/aviso-modal/aviso-modal.component.ts","webpack:///./ClientApp/app/paginas/avisos/aviso-mostrar/aviso-mostrar.component.css","webpack:///./ClientApp/app/paginas/avisos/aviso-mostrar/aviso-mostrar.component.html","webpack:///./ClientApp/app/paginas/avisos/aviso-mostrar/aviso-mostrar.component.ts","webpack:///./ClientApp/app/paginas/avisos/avisos/avisos.component.css","webpack:///./ClientApp/app/paginas/avisos/avisos/avisos.component.html","webpack:///./ClientApp/app/paginas/avisos/avisos/avisos.component.ts","webpack:///./ClientApp/app/paginas/avisos/tabla-avisos/tabla-avisos.component.css","webpack:///./ClientApp/app/paginas/avisos/tabla-avisos/tabla-avisos.component.html","webpack:///./ClientApp/app/paginas/avisos/tabla-avisos/tabla-avisos.component.ts","webpack:///./ClientApp/app/paginas/configuracion/configuracion.component.css","webpack:///./ClientApp/app/paginas/configuracion/configuracion.component.html","webpack:///./ClientApp/app/paginas/configuracion/configuracion.component.ts","webpack:///./ClientApp/app/paginas/configuracioncorreo/configuracioncorreo.component.css","webpack:///./ClientApp/app/paginas/configuracioncorreo/configuracioncorreo.component.html","webpack:///./ClientApp/app/paginas/configuracioncorreo/configuracioncorreo.component.ts","webpack:///./ClientApp/app/paginas/corporativo/catalogo.component.html","webpack:///./ClientApp/app/paginas/corporativo/catalogo.component.ts","webpack:///./ClientApp/app/paginas/correo/catalogo.component.html","webpack:///./ClientApp/app/paginas/correo/catalogo.component.ts","webpack:///./ClientApp/app/paginas/correo/forma.component.html","webpack:///./ClientApp/app/paginas/correo/forma.component.ts","webpack:///./ClientApp/app/paginas/correo/tabla.component.html","webpack:///./ClientApp/app/paginas/correo/tabla.component.ts","webpack:///./ClientApp/app/paginas/enviartoken/enviartoken.component.css","webpack:///./ClientApp/app/paginas/enviartoken/enviartoken.component.html","webpack:///./ClientApp/app/paginas/enviartoken/enviartoken.component.ts","webpack:///./ClientApp/app/paginas/envio-comunicado/envio-comunicado.component.css","webpack:///./ClientApp/app/paginas/envio-comunicado/envio-comunicado.component.html","webpack:///./ClientApp/app/paginas/envio-comunicado/envio-comunicado.component.ts","webpack:///./ClientApp/app/paginas/fallos-envio-sap/fallo-envio-sap.component.css","webpack:///./ClientApp/app/paginas/fallos-envio-sap/fallo-envio-sap.component.html","webpack:///./ClientApp/app/paginas/fallos-envio-sap/fallo-envio-sap.component.ts","webpack:///./ClientApp/app/paginas/inicio/inicio.component.html","webpack:///./ClientApp/app/paginas/inicio/inicio.component.ts","webpack:///./ClientApp/app/paginas/ordencompra/forma.component.html","webpack:///./ClientApp/app/paginas/ordencompra/forma.component.ts","webpack:///./ClientApp/app/paginas/ordencompra/ordencompra.component.css","webpack:///./ClientApp/app/paginas/ordencompra/ordencompra.component.html","webpack:///./ClientApp/app/paginas/ordencompra/ordencompra.component.ts","webpack:///./ClientApp/app/paginas/pago/catalogo.component.html","webpack:///./ClientApp/app/paginas/pago/catalogo.component.ts","webpack:///./ClientApp/app/paginas/pago/forma.component.html","webpack:///./ClientApp/app/paginas/pago/forma.component.ts","webpack:///./ClientApp/app/paginas/pago/tabla.component.html","webpack:///./ClientApp/app/paginas/pago/tabla.component.ts","webpack:///./ClientApp/app/paginas/proveedor/catalogo.component.html","webpack:///./ClientApp/app/paginas/proveedor/catalogo.component.ts","webpack:///./ClientApp/app/paginas/proveedor/forma.component.html","webpack:///./ClientApp/app/paginas/proveedor/forma.component.ts","webpack:///./ClientApp/app/paginas/proveedor/proveedor.component.css","webpack:///./ClientApp/app/paginas/proveedor/proveedor.component.html","webpack:///./ClientApp/app/paginas/proveedor/proveedor.component.ts","webpack:///./ClientApp/app/paginas/proveedor/tabla.component.html","webpack:///./ClientApp/app/paginas/proveedor/tabla.component.ts","webpack:///./ClientApp/app/paginas/reenvioCorreoPruebasEntrega/catalogo.component.html","webpack:///./ClientApp/app/paginas/reenvioCorreoPruebasEntrega/catalogo.component.ts","webpack:///./ClientApp/app/paginas/reenvioFacturas/catalogo.component.html","webpack:///./ClientApp/app/paginas/reenvioFacturas/catalogo.component.ts","webpack:///./ClientApp/app/paginas/reparchivos-sin-complemento/reparchivos.component.css","webpack:///./ClientApp/app/paginas/reparchivos-sin-complemento/reparchivos.component.html","webpack:///./ClientApp/app/paginas/reparchivos-sin-complemento/reparchivos.component.ts","webpack:///./ClientApp/app/paginas/reparchivos/reparchivos.component.css","webpack:///./ClientApp/app/paginas/reparchivos/reparchivos.component.html","webpack:///./ClientApp/app/paginas/reparchivos/reparchivos.component.ts","webpack:///./ClientApp/app/paginas/reporte-facturas/reporte-facturas.component.css","webpack:///./ClientApp/app/paginas/reporte-facturas/reporte-facturas.component.html","webpack:///./ClientApp/app/paginas/reporte-facturas/reporte-facturas.component.ts","webpack:///./ClientApp/app/paginas/reporte-flujo-compras/reporte-flujo-compras.component.css","webpack:///./ClientApp/app/paginas/reporte-flujo-compras/reporte-flujo-compras.component.html","webpack:///./ClientApp/app/paginas/reporte-flujo-compras/reporte-flujo-compras.component.ts","webpack:///./ClientApp/app/paginas/reppagos/reppagos.component.css","webpack:///./ClientApp/app/paginas/reppagos/reppagos.component.html","webpack:///./ClientApp/app/paginas/reppagos/reppagos.component.ts","webpack:///./ClientApp/app/paginas/restablecercontrasena/restablecercontrasena.component.css","webpack:///./ClientApp/app/paginas/restablecercontrasena/restablecercontrasena.component.html","webpack:///./ClientApp/app/paginas/restablecercontrasena/restablecercontrasena.component.ts","webpack:///./ClientApp/app/paginas/seleccion-proveedores/seleccion-proveedores.component.css","webpack:///./ClientApp/app/paginas/seleccion-proveedores/seleccion-proveedores.component.html","webpack:///./ClientApp/app/paginas/seleccion-proveedores/seleccion-proveedores.component.ts","webpack:///./ClientApp/app/paginas/sociedad/catalogo.component.html","webpack:///./ClientApp/app/paginas/sociedad/catalogo.component.ts","webpack:///./ClientApp/app/paginas/sociedad/forma.component.html","webpack:///./ClientApp/app/paginas/sociedad/forma.component.ts","webpack:///./ClientApp/app/paginas/sociedad/tabla.component.html","webpack:///./ClientApp/app/paginas/sociedad/tabla.component.ts","webpack:///./ClientApp/app/paginas/traking-cfdi/traking-cfdi.component.css","webpack:///./ClientApp/app/paginas/traking-cfdi/traking-cfdi.component.html","webpack:///./ClientApp/app/paginas/traking-cfdi/traking-cfdi.component.ts","webpack:///./ClientApp/app/paginas/usuario/catalogo.component.html","webpack:///./ClientApp/app/paginas/usuario/catalogo.component.ts","webpack:///./ClientApp/app/paginas/usuario/forma.component.html","webpack:///./ClientApp/app/paginas/usuario/forma.component.ts","webpack:///./ClientApp/app/paginas/usuario/tabla.component.html","webpack:///./ClientApp/app/paginas/usuario/tabla.component.ts","webpack:///./ClientApp/app/paginas/validacion/archivo-unico.component.css","webpack:///./ClientApp/app/paginas/validacion/archivo-unico.component.html","webpack:///./ClientApp/app/paginas/validacion/archivo-unico.component.ts","webpack:///./ClientApp/app/paginas/validacion/catalogo.component.html","webpack:///./ClientApp/app/paginas/validacion/catalogo.component.ts","webpack:///./ClientApp/app/paginas/validacion/forma.component.html","webpack:///./ClientApp/app/paginas/validacion/forma.component.ts","webpack:///./ClientApp/app/paginas/validacion/tabla.component.html","webpack:///./ClientApp/app/paginas/validacion/tabla.component.ts","webpack:///./ClientApp/app/paginas/validacion/validacion.component.css","webpack:///./ClientApp/app/paginas/validacion/validacion.component.html","webpack:///./ClientApp/app/paginas/validacion/validacion.component.ts","webpack:///./ClientApp/app/servicios/ServicioRestablecerContrasena.ts","webpack:///./ClientApp/app/servicios/exportToXls.ts","webpack:///./ClientApp/app/servicios/indice.ts","webpack:///./ClientApp/app/servicios/interceptor.ts","webpack:///./ClientApp/app/servicios/servicio-avisos.service.ts","webpack:///./ClientApp/app/servicios/servicio-sap.ts","webpack:///./ClientApp/app/servicios/servicio.ts","webpack:///./ClientApp/app/servicios/servicioArchivos.ts","webpack:///./ClientApp/app/servicios/servicioAutenticacion.ts","webpack:///./ClientApp/app/servicios/servicioComunicado.ts","webpack:///./ClientApp/app/servicios/servicioConfiguracion.ts","webpack:///./ClientApp/app/servicios/servicioCorporativo.ts","webpack:///./ClientApp/app/servicios/servicioCorreo.ts","webpack:///./ClientApp/app/servicios/servicioEnviarToken.ts","webpack:///./ClientApp/app/servicios/servicioOrdenCompra.ts","webpack:///./ClientApp/app/servicios/servicioPago.ts","webpack:///./ClientApp/app/servicios/servicioProveedor.ts","webpack:///./ClientApp/app/servicios/servicioSociedad.ts","webpack:///./ClientApp/app/servicios/servicioTiposOrdenCompra.ts","webpack:///./ClientApp/app/servicios/servicioUsuario.ts","webpack:///./ClientApp/app/servicios/servicios.ts","webpack:///./ClientApp/environments/environment.ts","webpack:///./ClientApp/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./ClientApp/$$_lazy_route_resource lazy recursive\";","module.exports = \".fondoOpacidad {\\r\\n}\\r\\n\\r\\n .fondoOpacidad::after {\\r\\n content: \\\"\\\";\\r\\n background: url('/images/fondo.jpeg');\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n opacity: 0.5;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n z-index: -1;\\r\\n }\\r\\n\\r\\n .fondo {\\r\\n}\\r\\n\\r\\n .fondo::after {\\r\\n content: \\\"\\\";\\r\\n background: url('/images/fondo.jpeg');\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n opacity: 1;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n z-index: -1;\\r\\n }\\r\\n\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, HostListener, OnInit, DoCheck, ViewChild } from '@angular/core';\r\nimport { SuiModule, SuiSidebarModule, SuiLocalizationService } from 'ng2-semantic-ui';\r\nimport es from \"ng2-semantic-ui/locales/es\";\r\nimport { ServicioAutenticacion} from './servicios/indice';\r\nimport { Usuario, Sociedad } from './entidades/indice';\r\nimport { Router, NavigationStart } from '@angular/router';\r\nimport { Credencial } from './entidades/credencial';\r\nimport { SuiSidebar, SidebarDirection } from 'ng2-semantic-ui/dist';\r\n\r\n\r\n@Component({\r\n selector: 'app-cfdi',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit, DoCheck {\r\n @ViewChild(SuiSidebar) sidebar: SuiSidebar;\r\n \r\n \r\n constructor(\r\n public localizationService: SuiLocalizationService, \r\n public autenticacion: ServicioAutenticacion, \r\n private router: Router\r\n ) {\r\n localizationService.load(\"es\", es);\r\n localizationService.setLanguage(\"es\");\r\n }\r\n\r\n ngOnInit() { \r\n \r\n }\r\n\r\n \r\n\r\n ngDoCheck() {\r\n let rutaSinArgumentos: string = this.router.url.split(\"?\")[0];\r\n let rutasValida = rutaSinArgumentos == '/' || rutaSinArgumentos == '/Restablecercontrasena' ;\r\n if (!this.autenticacion.estaAutenticado && !rutasValida) {\r\n this.router.navigateByUrl('/');\r\n this.salir();\r\n } \r\n }\r\n\r\n salir(): void {\r\n this.autenticacion.salir();\r\n this.sidebar.isVisible = false; \r\n }\r\n\r\n descargarAyuda(){\r\n return window.open('images/Manual_Usuario.pdf');\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n }\r\n}\r\n","import { EnvioComunicadoComponent } from './paginas/envio-comunicado/envio-comunicado.component';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { SuiModule } from 'ng2-semantic-ui';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpModule } from '@angular/http';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material';\r\nimport { MatIconModule} from '@angular/material/icon'\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { SnotifyModule, SnotifyService, ToastDefaults } from 'ng-snotify';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { RecaptchaModule } from 'ng-recaptcha';\r\nimport { RecaptchaFormsModule } from 'ng-recaptcha/forms';\r\nimport { RECAPTCHA_LANGUAGE } from 'ng-recaptcha';\r\n\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { Confirmacion, Notificacion } from './compartida/indice';\r\n// import * as p from './paginas/indice';\r\nimport * as s from './servicios/indice';\r\nimport { AccesoComponent } from './paginas/acceso/acceso.component';\r\nimport { ServicioAutenticacion } from './servicios/indice';\r\nimport { MenuConfiguracionComponent } from './compartida/menu/menu-configuracion.component';\r\nimport { MenuLateralComponent } from './compartida/menu/menu-lateral.component';\r\nimport { SuiAccordionPanelMod } from './compartida/accordion/components/accordion-panel';\r\nimport { SuiAccordionMod } from './compartida/accordion/components/accordion';\r\nimport { ConfiguracioncorreoComponent } from './paginas/configuracioncorreo/configuracioncorreo.component';\r\nimport { TrakingCFDIComponent } from './paginas/traking-cfdi/traking-cfdi.component';\r\nimport { CatalogoArchivos } from './paginas/validacion/catalogo.component';\r\nimport { ReppagosComponent } from './paginas/reppagos/reppagos.component';\r\nimport { ProveedorComponent } from './paginas/proveedor/proveedor.component';\r\nimport { RestablecercontrasenaComponent } from './paginas/restablecercontrasena/restablecercontrasena.component';\r\nimport { TablaCatalogoUsuario } from './paginas/usuario/tabla.component';\r\nimport { TablaCatalogoSociedad } from './paginas/sociedad/tabla.component';\r\nimport { TablaCatalogoCorreo } from './paginas/correo/tabla.component';\r\nimport { TablaCatalogoArchivos } from './paginas/validacion/tabla.component';\r\nimport { ArchivoUnicoComponent } from './paginas/validacion/archivo-unico.component';\r\nimport { TablaCatalogoPagos } from './paginas/pago/tabla.component';\r\nimport { Inicio } from './paginas/inicio/inicio.component';\r\nimport { CatalogoCorporativo } from './paginas/corporativo/catalogo.component';\r\nimport { CatalogoReenvioFacturas } from './paginas/reenvioFacturas/catalogo.component';\r\nimport { CatalogoUsuario } from './paginas/usuario/catalogo.component';\r\nimport { CatalogoSociedad } from './paginas/sociedad/catalogo.component';\r\nimport { ReparchivosComponent } from './paginas/reparchivos/reparchivos.component';\r\nimport { CatalogoProveedor } from './paginas/proveedor/catalogo.component';\r\nimport { EnviartokenComponent } from './paginas/enviartoken/enviartoken.component';\r\nimport { OrdencompraComponent } from './paginas/ordencompra/ordencompra.component';\r\nimport { ConfiguracionComponent } from './paginas/configuracion/configuracion.component';\r\nimport { CatalogoPagos } from './paginas/pago/catalogo.component';\r\nimport { FormaUsuario } from './paginas/usuario/forma.component';\r\nimport { FormaSociedad } from './paginas/sociedad/forma.component';\r\nimport { CatalogoCorreo } from './paginas/correo/catalogo.component';\r\nimport { FormaCorreo } from './paginas/correo/forma.component';\r\nimport { FormaProveedor } from './paginas/proveedor/forma.component';\r\nimport { TablaCatalogoProveedor } from './paginas/proveedor/tabla.component';\r\nimport { FormaArchivos } from './paginas/validacion/forma.component';\r\nimport { ValidacionComponent } from './paginas/validacion/validacion.component';\r\nimport { FormaPagos } from './paginas/pago/forma.component';\r\nimport { FormaOrdenCompra } from './paginas/ordencompra/forma.component';\r\nimport { ReparchivoSinComplementoComponent } from './paginas/reparchivos-sin-complemento/reparchivos.component';\r\nimport { ErrorEnvioSapComponent } from './paginas/fallos-envio-sap/fallo-envio-sap.component';\r\nimport { ProveedoresSapComponent } from './compartida/proveedores-sap/proveedores-sap.component';\r\nimport { ArticulosSapComponent } from './compartida/articulos-sap/articulos-sap.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ScrollingModule } from '@angular/cdk-experimental/scrolling';\r\nimport { AvisoComponent } from './paginas/aviso/aviso.component';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { SeleccionProveedoresComponent } from './paginas/seleccion-proveedores/seleccion-proveedores.component';\r\nimport { ReporteFlujoComprasComponent } from './paginas/reporte-flujo-compras/reporte-flujo-compras.component';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { ReporteFacturasComponent } from './paginas/reporte-facturas/reporte-facturas.component';\r\nimport { NgxSpinnerModule, NgxSpinnerService } from 'ngx-spinner';\r\nimport { AvisosComponent } from './paginas/avisos/avisos/avisos.component';\r\nimport { AvisoModalComponent } from './paginas/avisos/aviso-modal/aviso-modal.component';\r\nimport { TablaAvisosComponent } from './paginas/avisos/tabla-avisos/tabla-avisos.component';\r\nimport { AvisoMostrarComponent } from './paginas/avisos/aviso-mostrar/aviso-mostrar.component';\r\nimport { CatalogoReenvioCorreoPruebasEntrega } from './paginas/reenvioCorreoPruebasEntrega/catalogo.component';\r\n\r\nlet routes = [\r\n\t{ path: '', component: AccesoComponent },\r\n\t{ path: 'Inicio', component: Inicio },\r\n\t{ path: 'Corporativo', component: CatalogoCorporativo },\r\n\t{ path: 'ReenvioFacturas', component: CatalogoReenvioFacturas },\r\n\t{ path: 'ReenvioApe', component: CatalogoReenvioCorreoPruebasEntrega },\r\n\t{ path: 'Usuarios', component: CatalogoUsuario },\r\n\t{ path: 'Sociedades', component: CatalogoSociedad },\r\n\t{ path: 'Correos', component: ConfiguracioncorreoComponent },\r\n\t{ path: 'Validacion', component: CatalogoArchivos },\r\n\t{ path: 'Reporte', component: ReparchivosComponent },\r\n\t{ path: 'ReportePagos', component: ReppagosComponent },\r\n\t{ path: 'ReporteFlujoCompras', component: ReporteFlujoComprasComponent },\r\n\t{ path: 'ReporteFacturas', component: ReporteFacturasComponent },\r\n\t{ path: 'Proveedores', component: ProveedorComponent },\r\n\t{ path: 'CuentaProveedor', component: CatalogoProveedor },\r\n\t{ path: 'EnviarToken', component: EnviartokenComponent },\r\n\t{\r\n\t\tpath: 'Restablecercontrasena',\r\n\t\tcomponent: RestablecercontrasenaComponent,\r\n\t\tpathMatch: 'full',\r\n\t},\r\n\t{ path: 'OrdenCompra', component: OrdencompraComponent },\r\n\t{ path: 'Configuracion', component: ConfiguracionComponent },\r\n\t{ path: 'Comunicados', component: EnvioComunicadoComponent },\r\n\t{ path: 'Pagos', component: CatalogoPagos },\r\n\t{ path: 'Tracking', component: TrakingCFDIComponent },\r\n\t{\r\n\t\tpath: 'ReporteArchivoSinComplemento',\r\n\t\tcomponent: ReparchivoSinComplementoComponent,\r\n\t},\r\n\t{ path: 'ErroresEnviosSap', component: ErrorEnvioSapComponent },\r\n\t{ path: 'Avisos', component: AvisosComponent }\r\n\t\r\n];\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tAppComponent,\r\n\t\tConfirmacion,\r\n\t\tInicio,\r\n\t\tCatalogoCorporativo,\r\n\t\tCatalogoReenvioFacturas,\r\n\t\tCatalogoUsuario,\r\n\t\tFormaUsuario,\r\n\t\tTablaCatalogoUsuario,\r\n\t\tCatalogoSociedad,\r\n\t\tFormaSociedad,\r\n\t\tTablaCatalogoSociedad,\r\n\t\tCatalogoCorreo,\r\n\t\tFormaCorreo,\r\n\t\tTablaCatalogoCorreo,\r\n\t\tCatalogoProveedor,\r\n\t\tCatalogoReenvioCorreoPruebasEntrega,\r\n\t\tFormaProveedor,\r\n\t\tTablaCatalogoProveedor,\r\n\t\tProveedorComponent,\r\n\t\tCatalogoArchivos,\r\n\t\tFormaArchivos,\r\n\t\tTablaCatalogoArchivos,\r\n\t\tArchivoUnicoComponent,\r\n\t\tValidacionComponent,\r\n\t\tCatalogoPagos,\r\n\t\tFormaPagos,\r\n\t\tTablaCatalogoPagos,\r\n\t\tAccesoComponent,\r\n\t\tMenuConfiguracionComponent,\r\n\t\tMenuLateralComponent,\r\n\t\tReparchivosComponent,\r\n\t\tSuiAccordionPanelMod,\r\n\t\tSuiAccordionMod,\r\n\t\tEnviartokenComponent,\r\n\t\tRestablecercontrasenaComponent,\r\n\t\tOrdencompraComponent,\r\n\t\tFormaOrdenCompra,\r\n\t\tConfiguracionComponent,\r\n\t\tConfiguracioncorreoComponent,\r\n\t\tReppagosComponent,\r\n\t\tTrakingCFDIComponent,\r\n\t\tReparchivoSinComplementoComponent,\r\n\t\tErrorEnvioSapComponent,\r\n\t\tProveedoresSapComponent,\r\n\t\tArticulosSapComponent,\r\n\t\tAvisoComponent,\r\n\t\tEnvioComunicadoComponent,\r\n\t\tSeleccionProveedoresComponent,\r\n\t\tReporteFlujoComprasComponent,\r\n\t\tReporteFacturasComponent,\r\n\t\tReporteFacturasComponent,\r\n\t\tAvisosComponent,\r\n\t\tAvisoModalComponent,\r\n\t\tTablaAvisosComponent,\r\n\t\tAvisoMostrarComponent\r\n\t],\r\n\timports: [\r\n\t\tBrowserModule,\r\n\t\tFormsModule,\r\n\t\tHttpModule,\r\n\t\tHttpClientModule,\r\n\t\tRouterModule.forRoot(routes, {\r\n\t\t\tuseHash: true,\r\n\t\t\tenableTracing: false,\r\n\t\t}),\r\n\t\tMatDialogModule,\r\n\t\tMatButtonModule,\r\n\t\tMatIconModule,\r\n\t\tBrowserAnimationsModule,\r\n\t\tSuiModule,\r\n\t\tDataTablesModule,\r\n\t\tSnotifyModule,\r\n\t\tRecaptchaModule.forRoot(),\r\n\t\tRecaptchaFormsModule,\r\n\t\tScrollingModule,\r\n\t\tAngularEditorModule,\r\n\t\tNgxPaginationModule,\r\n\t\tNgxSpinnerModule,\r\n\t\t\r\n\t],\r\n\texports: [\r\n\t\tNgxSpinnerModule,\r\n\t],\r\n\tproviders: [\r\n\t\ts.Servicios,\r\n\t\t{\r\n\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\tuseClass: s.Interceptor,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: RECAPTCHA_LANGUAGE,\r\n\t\t\tuseValue: 'es',\r\n\t\t},\r\n\t\t{ provide: 'SnotifyToastConfig', useValue: ToastDefaults },\r\n\t\tSnotifyService,\r\n\t\tServicioAutenticacion,\r\n\t\tNotificacion,\r\n\t\tDatePipe,\r\n\t],\r\n\tentryComponents: [ProveedoresSapComponent, AvisoComponent, AvisoMostrarComponent],\r\n\tbootstrap: [AppComponent],\r\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class AppModule {}\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectorRef } from \"@angular/core\";\r\nimport { TransitionController, Transition } from \"ng2-semantic-ui\";\r\nimport { SuiAccordionServiceMod } from \"../services/accordion.service\";\r\n\r\n\r\n@Component({\r\n selector: \"sui-accordion-panelMod\",\r\n exportAs: \"suiAccordionPanel\",\r\n template: `\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n`,\r\n styles: [`\r\n/* Manual style as Semantic UI relies on > selector */\r\n.content {\r\n padding: .5em 0 1em;\r\n}\r\n\r\n/* Another > selector fix */\r\n:host:first-child .title {\r\n border-top: none;\r\n}\r\n`]\r\n})\r\nexport class SuiAccordionPanelMod {\r\n private _service:SuiAccordionServiceMod;\r\n\r\n public transitionController:TransitionController;\r\n\r\n public set service(service:SuiAccordionServiceMod) {\r\n this._service = service;\r\n this._changeDetector.detectChanges();\r\n }\r\n\r\n @Input()\r\n public isDisabled:boolean;\r\n\r\n private _isOpen:boolean;\r\n\r\n @Input()\r\n public get isOpen():boolean {\r\n return this._isOpen;\r\n }\r\n\r\n public set isOpen(value:boolean) {\r\n // Convert to boolean (fixes false != undefined)\r\n const isOpen = !!value;\r\n\r\n if (isOpen !== this.isOpen) {\r\n // Only update if the value has changed.\r\n this._isOpen = isOpen;\r\n\r\n if (isOpen && this._service) {\r\n // If we are opening this panel, we must close the other ones.\r\n this._service.closeOtherPanels(this);\r\n }\r\n this.isOpenChange.emit(this.isOpen);\r\n\r\n // Cancel all current animations, and fade the contents. The direction is automatic.\r\n this.transitionController.stopAll();\r\n this.transitionController.animate(new Transition(this.transition, this.transitionDuration));\r\n }\r\n }\r\n\r\n public get transition():string {\r\n if (this._service) {\r\n return this._service.transition;\r\n }\r\n\r\n return \"fade\";\r\n }\r\n\r\n public get transitionDuration():number {\r\n if (this._service) {\r\n // Return the service defined transition duration.\r\n return this._service.transitionDuration;\r\n }\r\n // Revert to instantaneous if the service is not yet loaded.\r\n return 0;\r\n }\r\n\r\n @Output()\r\n public isOpenChange:EventEmitter;\r\n\r\n constructor(private _changeDetector:ChangeDetectorRef) {\r\n this.transitionController = new TransitionController(false);\r\n\r\n this._isOpen = false;\r\n this.isOpenChange = new EventEmitter(false);\r\n }\r\n\r\n public toggle():void {\r\n if (!this.isDisabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n}\r\n","import { Component, Input, HostBinding, ContentChildren, QueryList, AfterContentInit } from \"@angular/core\";\r\nimport { SuiAccordionPanelMod } from \"./accordion-panel\";\r\nimport { SuiAccordionServiceMod } from \"../services/accordion.service\";\r\n\r\n@Component({\r\n selector: \"sui-accordionMod\",\r\n template: `\r\n\r\n`,\r\n styles: [`\r\n/* Fix for general styling issues */\r\n:host {\r\n display: block;\r\n}\r\n\r\n/* Fix for styled border issue */\r\n:host.styled sui-accordion-panel:first-child .title {\r\n border-top: none\r\n}\r\n`]\r\n})\r\nexport class SuiAccordionMod implements AfterContentInit {\r\n @HostBinding(\"class.ui\")\r\n @HostBinding(\"class.accordion\")\r\n public accordionClasses:boolean;\r\n\r\n @Input()\r\n public get closeOthers():boolean {\r\n return this._service.closeOthers;\r\n }\r\n\r\n public set closeOthers(value:boolean) {\r\n this._service.closeOthers = value;\r\n }\r\n\r\n @Input()\r\n public set transition(transition:string) {\r\n this._service.transition = transition;\r\n }\r\n\r\n @Input()\r\n public set transitionDuration(duration:number) {\r\n this._service.transitionDuration = duration;\r\n }\r\n\r\n protected _service:SuiAccordionServiceMod;\r\n\r\n @ContentChildren(SuiAccordionPanelMod)\r\n protected _panels:QueryList;\r\n\r\n constructor() {\r\n // Accordion service is unique to each set of panels.\r\n this._service = new SuiAccordionServiceMod();\r\n\r\n this.accordionClasses = true;\r\n }\r\n\r\n public ngAfterContentInit():void {\r\n this.updatePanels();\r\n\r\n // Reconnect panels after they have updated.\r\n this._panels.changes.subscribe(() => this.updatePanels());\r\n }\r\n\r\n public updatePanels():void {\r\n this._panels.forEach(p => this._service.addPanel(p));\r\n }\r\n}\r\n","import { SuiAccordionPanelMod } from \"../components/accordion-panel\";\r\n\r\nexport class SuiAccordionServiceMod {\r\n public closeOthers:boolean;\r\n\r\n public transition:string;\r\n public transitionDuration:number;\r\n\r\n public panels:SuiAccordionPanelMod[];\r\n\r\n constructor() {\r\n this.closeOthers = true;\r\n\r\n this.transition = \"fade\";\r\n this.transitionDuration = 350;\r\n\r\n this.panels = [];\r\n }\r\n\r\n public addPanel(panel:SuiAccordionPanelMod):void {\r\n panel.service = this;\r\n this.panels.push(panel);\r\n }\r\n\r\n public closeOtherPanels(panel:SuiAccordionPanelMod):void {\r\n if (!this.closeOthers) {\r\n return;\r\n }\r\n\r\n this.panels.forEach(p => {\r\n if (p !== panel) {\r\n p.isOpen = false;\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n
Seleccionar datos de SAP
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnInit,\r\n\tOutput,\r\n\tViewChild,\r\n} from '@angular/core';\r\nimport { ModalTemplate, SuiModalService, TemplateModalConfig } from 'ng2-semantic-ui';\r\nimport { ActiveModal } from 'ng2-semantic-ui/dist/modules/modal/classes/active-modal';\r\nimport { DetalleArchivo } from '../../entidades/detalle-archivo';\r\nimport { OPRC } from '../../entidades/oprc';\r\nimport { OPRJ } from '../../entidades/oprj';\r\nimport { Servicios } from '../../servicios/servicios';\r\nimport { FormaModal } from '../formaModal';\r\n\r\nclass opcionSelect {\r\n\tcodigo: string;\r\n\tdescripcion: string;\r\n}\r\n\r\n@Component({\r\n\tselector: 'app-articulos-sap',\r\n\ttemplateUrl: './articulos-sap.component.html',\r\n\tstyleUrls: ['./articulos-sap.component.css'],\r\n})\r\nexport class ArticulosSapComponent implements OnInit {\r\n\t@ViewChild('modalArticuloSap') modalTemplate: ModalTemplate<\r\n\t\tvoid,\r\n\t\tvoid,\r\n\t\tvoid\r\n\t>;\r\n\t@Input() archivoId: number;\r\n\tsociedadRFC: string;\r\n\tprivate ventana: ActiveModal;\r\n\tdetalles: DetalleArchivo[] = [];\r\n\tcentroCostos: string;\r\n\tproyecto: string;\r\n\tarticulosSap: opcionSelect[];\r\n\tcentrosCostos: opcionSelect[];\r\n\tproyectos: opcionSelect[];\r\n\r\n\t@Output() articuloSeleccionado: EventEmitter<{detalleArchivo: DetalleArchivo[], centroCostos: string, proyecto: string}> =\r\n\t\tnew EventEmitter<{detalleArchivo: DetalleArchivo[], centroCostos: string, proyecto: string}>();\r\n\r\n\tget hayArticulosSinSeleccionar(): boolean {\r\n\t\tif(this.detalles.length > 0){\r\n\t\t\treturn this.detalles.filter(d => !d.codigoArticuloSAP).length > 0;\r\n\t\t}\r\n\t}\r\n\r\n\tget formularioInvalido(): boolean{\r\n\t\tlet invalido = false;\r\n\t\tif(this.detalles.length > 0){\r\n\t\t\tinvalido = invalido || this.detalles.filter(d => !d.codigoArticuloSAP).length > 0 \r\n\t\t\t|| this.detalles.filter(d => !d.codigoProyectoSap).length > 0\r\n\t\t\t|| this.detalles.filter(d => !d.codigoCentroCostosSap).length > 0;\r\n\r\n\t\t}else{\r\n\t\t\tinvalido = true;\r\n\t\t}\r\n\t\t// invalido = invalido || !this.proyecto;\r\n\t\t// invalido = invalido || !this.centroCostos;\r\n\t\t\r\n\t\treturn invalido;\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tpublic modalService: SuiModalService,\r\n\t\tprivate servicios: Servicios\r\n\t) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t}\r\n\r\n\tcargarDetallesArticulo(){\r\n\t\tthis.servicios.archivos.obtenerDetallesArchivo(this.archivoId).subscribe(ds => {\r\n\t\t\tif(ds.length){\r\n\t\t\t\tthis.detalles = ds;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tcargarCentrosCosto(){\r\n\t\tthis.servicios.servicioSap.obtenerCentrosCostos(this.sociedadRFC).subscribe((centros) => {\r\n\t\t\tthis.centrosCostos = centros.map((c) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tcodigo: c.prcCode,\r\n\t\t\t\t\tdescripcion: `${c.prcCode} ${c.prcName}`,\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tcargarProyectos(){\r\n\t\tthis.servicios.servicioSap.obtenerProyectos(this.sociedadRFC).subscribe((proyectos) => {\r\n\t\t\tthis.proyectos = proyectos.map((p) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tcodigo: p.prjCode,\r\n\t\t\t\t\tdescripcion: p.prjCode,\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tpublic cargarArticulosSap(): void {\r\n\t\tthis.servicios.servicioSap.obtenerArticulos(this.sociedadRFC).subscribe((articulos) => {\r\n\t\t\tthis.articulosSap = articulos.map((a) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tcodigo: a.itemCode,\r\n\t\t\t\t\tdescripcion: `${a.itemCode} ${a.itemName}`,\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tlimpiar(){\r\n\t\tthis.centroCostos = null;\r\n\t\tthis.proyecto = null;\r\n\t}\r\n\r\n\tpublic abrir(archivoId: number, sociedadRFC: string): void {\r\n\t\tconst config = new TemplateModalConfig(\r\n\t\t this.modalTemplate\r\n\t\t);\r\n\t\r\n\t\tconfig.size = 'small';\r\n\t\tconfig.isClosable = false;\r\n\r\n\t\tthis.limpiar();\r\n\r\n\t\tthis.ventana = this.modalService.open(config);\r\n\t\tthis.archivoId = archivoId;\r\n\t\tthis.sociedadRFC = sociedadRFC;\r\n\t\tthis.cargarArticulosSap();\r\n\t\tthis.cargarCentrosCosto();\r\n\t\tthis.cargarProyectos();\r\n\t\tthis.cargarDetallesArticulo();\r\n\t }\r\n\t\r\n\t protected seleccionar() {\r\n\t\tthis.articuloSeleccionado.emit({detalleArchivo: this.detalles, proyecto: this.proyecto, centroCostos: this.centroCostos});\r\n\t\tif (this.ventana) {\r\n\t\t this.ventana.destroy();\r\n\t\t}\r\n\t }\r\n}\r\n","module.exports = \"\\r\\n
{{ context.titulo}}
\\r\\n
\\r\\n

{{ context.texto }}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { SuiModalService, TemplateModalConfig, ModalTemplate } from 'ng2-semantic-ui';\r\nimport { Component, ViewChild, Output, EventEmitter } from '@angular/core';\r\n\r\nexport interface confirmConfig {\r\n titulo: string,\r\n texto: string,\r\n textoOk: string,\r\n textoCancelar: string,\r\n accionOk?: Function\r\n} \r\n\r\n@Component({\r\n selector: 'confirmacion',\r\n templateUrl: 'confirmacion.component.html'\r\n})\r\nexport class Confirmacion {\r\n @ViewChild('modalTemplate')\r\n public modalTemplate: ModalTemplate\r\n @Output() aprovado: EventEmitter = new EventEmitter();\r\n\r\n \r\n constructor(public modalService: SuiModalService) { }\r\n\r\n public open(confirmConfig: confirmConfig) {\r\n const config = new TemplateModalConfig(this.modalTemplate);\r\n config.context = confirmConfig;\r\n config.size = \"mini\";\r\n this.modalService\r\n .open(config)\r\n .onApprove(result => \r\n { \r\n if(confirmConfig.accionOk)\r\n {\r\n confirmConfig.accionOk(); \r\n } \r\n this.aprovado.emit(); \r\n })\r\n .onDeny(result => { /* deny callback */ });\r\n }\r\n\r\n private articuloSeleccionado($event){\r\n this.aprovado.emit($event);\r\n }\r\n}\r\n\r\n ","import {\r\n ModalTemplate,\r\n TemplateModalConfig,\r\n SuiModalService,\r\n ActiveModal,\r\n} from \"ng2-semantic-ui/dist\";\r\n\r\nexport abstract class FormaModal {\r\n abstract modalTemplate: ModalTemplate;\r\n private ventana: ActiveModal;\r\n private mantenerAbierto: boolean;\r\n private mostrarMantenerAbierto: boolean;\r\n public titulo: string;\r\n private procesando: boolean;\r\n private tamano: \"mini\" | \"tiny\" | \"small\" | \"normal\" | \"large\" = \"normal\";\r\n\r\n public set Tamano(valor: \"mini\" | \"tiny\" | \"small\" | \"normal\" | \"large\") {\r\n this.tamano = valor;\r\n }\r\n\r\n public get MantenerAbierto() {\r\n return this.mantenerAbierto;\r\n }\r\n public set MantenerAbierto(valor: boolean) {\r\n this.mantenerAbierto = valor;\r\n }\r\n\r\n public get MostrarMantenerAbierto() {\r\n return this.mostrarMantenerAbierto;\r\n }\r\n public set MostrarMantenerAbierto(valor: boolean) {\r\n this.mostrarMantenerAbierto = valor;\r\n }\r\n\r\n public get Titulo() {\r\n return this.titulo;\r\n }\r\n public set Titulo(valor: string) {\r\n this.titulo = valor;\r\n }\r\n\r\n public get Procesando() {\r\n return this.procesando;\r\n }\r\n public set Procesando(valor: boolean) {\r\n this.procesando = valor;\r\n }\r\n\r\n constructor(public modalService: SuiModalService) {}\r\n\r\n public abrir(titulo: string, mostrarMantenerAbierto: boolean, mostrarCerrar = false): void {\r\n const config = new TemplateModalConfig(\r\n this.modalTemplate\r\n );\r\n this.titulo = titulo;\r\n this.mostrarMantenerAbierto = false; //mostrarMantenerAbierto;\r\n if (!mostrarMantenerAbierto) this.mantenerAbierto = false;\r\n\r\n config.size = this.tamano;\r\n config.isClosable = mostrarCerrar;\r\n\r\n this.ventana = this.modalService.open(config);\r\n }\r\n\r\n protected cerrar() {\r\n if (this.ventana) {\r\n this.ventana.destroy();\r\n }\r\n }\r\n}\r\n","export * from './formaModal';\r\nexport * from './confirmacion/confirmacion.component';\r\nexport * from './notificacion';","export const MascaraMoneda = new Intl.NumberFormat('es-MX', {\r\n style: 'currency',\r\n currency: 'MXN',\r\n});","module.exports = \"\"","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Corporativo\\r\\n
\\r\\n
\\r\\n \\r\\n Correo\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Mi cuenta\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'menu-configuracion',\r\n templateUrl: './menu-configuracion.component.html',\r\n styleUrls: ['./menu-configuracion.component.css']\r\n})\r\nexport class MenuConfiguracionComponent implements OnInit {\r\n @Input() tipoMenu: 1 | 2;\r\n @Input() nombreUsuario: string;\r\n @Output() salio = new EventEmitter();\r\n @Output() clic = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".tituloHijo {\\r\\n padding-left: 1.9em !important;\\r\\n}\"","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Inicio\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Catálogos\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Sociedades\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Proveedores\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Usuarios\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Ordenes de compras\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Recepción de facturas\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Reporte Flujo de Compras\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Reporte complementos de pago\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Errores envío a SAP\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Facturas vs Complemento de pago\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n XML a Excel\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Inicio\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Validación y Envío XML FACTURAS\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Validación y Envío de pagos\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Traking\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","import { Component, OnInit, Output, EventEmitter, Input } from \"@angular/core\";\r\nimport { Configuracion } from \"../../entidades/indice\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Servicios } from \"../../servicios/indice\";\r\nimport { Notificacion } from \"../../compartida/indice\";\r\n\r\n@Component({\r\n selector: \"menu-lateral\",\r\n templateUrl: \"./menu-lateral.component.html\",\r\n styleUrls: [\"./menu-lateral.component.css\"],\r\n})\r\nexport class MenuLateralComponent implements OnInit {\r\n @Input() tipoMenu: 1 | 2;\r\n @Output() salio = new EventEmitter();\r\n @Output() clic = new EventEmitter();\r\n configuracion: Configuracion;\r\n configuraciones: Configuracion[];\r\n idConfiguracion: number;\r\n constructor(\r\n private servicios: Servicios,\r\n private notificacion: Notificacion\r\n ) {}\r\n\r\n habilitarOrdenCompra: boolean;\r\n alerta(s: any) {\r\n alert(s);\r\n }\r\n\r\n ngOnInit() {\r\n this.habilitarOC();\r\n }\r\n\r\n habilitarOC(): void {\r\n this.idConfiguracion = this.servicios.autenticacion.credencial.idCorporativo;\r\n\r\n if (this.idConfiguracion > 0) {\r\n let observable = this.servicios.configuracion.obtener(\r\n this.idConfiguracion\r\n );\r\n observable.subscribe((confs) => {\r\n this.habilitarOrdenCompra = this.habilitarOrdenCompra;\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { SnotifyService, SnotifyPosition } from \"ng-snotify\";\r\nimport { SafeMethodCall } from \"@angular/compiler\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Injectable()\r\nexport class Notificacion {\r\n\r\n duracion = 3500;\r\n\r\n constructor(private snotifyService: SnotifyService, private sanitizer: DomSanitizer) {\r\n }\r\n\r\n mostrarExito(mensaje: string): void {\r\n this.snotifyService.success(mensaje, {\r\n timeout: this.duracion,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop,\r\n });\r\n }\r\n\r\n mostrarError(mensaje: string): void {\r\n this.snotifyService.error(mensaje, {\r\n timeout: this.duracion,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop,\r\n });\r\n }\r\n\r\n mostrarAdvertencia(mensaje: string): void {\r\n this.snotifyService.warning(mensaje, {\r\n timeout: this.duracion,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n }\r\n}","module.exports = \"\"","module.exports = \"\\r\\n
Seleccionar proveedor de SAP
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tOnInit,\r\n\tOutput,\r\n\tViewChild,\r\n} from '@angular/core';\r\nimport { ModalTemplate, SuiModalService } from 'ng2-semantic-ui';\r\nimport { first } from 'rxjs/operators';\r\nimport { OCRD } from '../../entidades/ocrd';\r\nimport { Sociedad } from '../../entidades/sociedad';\r\nimport { Servicios } from '../../servicios/servicios';\r\nimport { FormaModal } from '../formaModal';\r\n\r\ninterface ProveedoresSociedad {\r\n\tsociedad: Sociedad;\r\n\tproveedores: { codigo: string; descripcion: string }[];\r\n\tpredeterminado: boolean;\r\n}\r\n\r\n@Component({\r\n\tselector: 'app-proveedores-sap',\r\n\ttemplateUrl: './proveedores-sap.component.html',\r\n\tstyleUrls: ['./proveedores-sap.component.css'],\r\n})\r\nexport class ProveedoresSapComponent extends FormaModal implements OnInit {\r\n\t@ViewChild('modalTemplateProveedorSap') modalTemplate: ModalTemplate<\r\n\t\tvoid,\r\n\t\tvoid,\r\n\t\tvoid\r\n\t>;\r\n\r\n\tsociedades: Sociedad[];\r\n\tcodigoProveedor: string;\r\n\tproveedoresSap: ProveedoresSociedad[];\r\n\r\n\t@Output() proveedorSeleccionado: EventEmitter =\r\n\t\tnew EventEmitter();\r\n\r\n\tconstructor(\r\n\t\tpublic modalService: SuiModalService,\r\n\t\tprivate servicios: Servicios\r\n\t) {\r\n\t\tsuper(modalService);\r\n\t\tthis.Tamano = 'small';\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cargarSociedades();\r\n\t}\r\n\r\n\tcargarSociedades() {\r\n\t\tthis.servicios.sociedades\r\n\t\t\t.obtenerTodos()\r\n\t\t\t.pipe(first())\r\n\t\t\t.subscribe(async (sociedades) => {\r\n\t\t\t\tthis.proveedoresSap = await Promise.all(sociedades.map(s => this.cargarProveedoresSap(s)));\r\n\t\t\t});\r\n\t}\r\n\r\n\tasync cargarProveedoresSap(sociedad: Sociedad): Promise {\r\n\t\tconst proveedores = await this.servicios.servicioSap\r\n\t\t\t.obtenerProveedores(sociedad.rfc)\r\n\t\t\t.toPromise();\r\n\r\n\t\treturn {\r\n\t\t\tsociedad: sociedad,\r\n\t\t\tproveedores: proveedores.map((p) => ({\r\n\t\t\t\tcodigo: p.cardCode,\r\n\t\t\t\tdescripcion: `${p.cardCode} ${p.cardName}`,\r\n\t\t\t})),\r\n\t\t\tpredeterminado: false,\r\n\t\t};\r\n\t}\r\n}\r\n","export class ArchivoDescargaMasiva{\r\n archivosXml: number[]=[];\r\n archivosPdf: number []=[];\r\n}","import { TipoOrdenCompra } from './tipo-orden-compra';\r\nimport { ArchivoPruebaEntrega } from \"./archivos-prueba-entrega\";\r\nimport { OrdenCompraSeleccionadas } from \"./ordenes-compra-seleccionadas\";\r\nimport { DetalleArchivo } from './detalle-archivo';\r\n\r\nexport class Archivo {\r\n idArchivo: number;\r\n folio: string;\r\n nombreArchivo: string;\r\n idProveedor: number;\r\n proveedorRazonSocial: string;\r\n fechaAutorizo: Date;\r\n fechaRegistro: Date;\r\n fechaRecepcion: Date;\r\n fechaRegistroDesde: Date;\r\n fechaRegistroHasta: Date;\r\n fechaAutorizoDesde: Date;\r\n fechaAutorizoHasta: Date;\r\n fechaRecepcionDesde: Date;\r\n fechaRecepcionHasta: Date; \r\n fechaPago: Date;\r\n fechaPagoDesde: Date;\r\n fechaPagoHasta: Date;\r\n fechaPPD: Date;\r\n fechaPPH: Date;\r\n pagado: string;\r\n autorizado: string;\r\n cancelado: string;\r\n idSociedad: number;\r\n sociedadNombreComercial: string;\r\n sociedadRFC: string;\r\n subtotal: number;\r\n iva: number;\r\n total: number;\r\n retencion: number;\r\n ordenCompra: string;\r\n moneda: string;\r\n //ordene compra\r\n idOrdenCompra: number;\r\n numero: string;\r\n numeroOrdenCompra: string;\r\n subTotalOrdenCompra: number;\r\n ivaOrdenCompra: number;\r\n retencionOrdenCompra: number;\r\n totalOrdenCompra: number;\r\n monedaOrdenDeCompra: string;\r\n montoCubierto: number;\r\n ordenCerrada: boolean;\r\n ordenCerradaManualmente: boolean;\r\n ordenCancelada: boolean;\r\n archivoPruebaEntrega: ArchivoPruebaEntrega[] = [];\r\n ordenesComprasSeleccionadas: OrdenCompraSeleccionadas[] = [];\r\n tipoComprobante: string;\r\n aplicaConOSinOrdenCompra: boolean;\r\n esMesActualXML: boolean;\r\n mesTimbrado: number;\r\n procesadaEnSap:number;\r\n nombreArchivoPago: string;\r\n codigoArticuloSap: string;\r\n formaPago: string;\r\n detalles: DetalleArchivo[];\r\n mensajeSap: string;\r\n codigoProyectoSap: string;\r\n codigoCentroCostosSap: string;\r\n razonSocialValida: boolean = true;\r\n codigoPostalValido: boolean = true;\r\n fechaXml: string = '';\r\n metodoPago: string = '';\r\n aplicaPruebasEntrega: boolean = false;\r\n pruebasEntregaAceptadas: boolean = false;\r\n canceladoEnSap: string;\r\n pagadoEnSap: string;\r\n mismoProveedor: boolean;\r\n uuidComplemento: string;\r\n mismoRegimenFiscal: boolean;\r\n numFac: string;\r\n}","export class Aviso {\r\n idAviso: number;\r\n textoAviso: string;\r\n fechaInicio: Date;\r\n fechaFin: Date;\r\n archivos: any[];\r\n eliminarPrevios: Boolean;\r\n}","export class Comunicado{\r\n asunto: string;\r\n mensaje: string;\r\n destinatarios: string[];\r\n}","export class Configuracion {\r\n id: number = 0;\r\n importeMaximo: number;\r\n importeMinimo: number;\r\n pedirOrdenCompra: boolean;\r\n tipoOrdenCompraId: number;\r\n diasTolerancia: number;\r\n permitirIngresoFacturasSinComplemento: boolean;\r\n inicioValidacionFacturasSinComplemento: Date;\r\n tipoEnvioFacturaSinOC: string;\r\n}","export class Corporativo {\r\n idCorporativo: number;\r\n clave: string;\r\n nombre: string;\r\n telefono: string;\r\n contacto: string;\r\n avisoPrivacidad: string = \"\";\r\n correoRecepcion: string;\r\n}","export class Correo {\r\n idCorreo: number = 0;\r\n direccion: string = \"\";\r\n contrasena: string = \"\";\r\n servidor: string = \"\";\r\n puerto: string = \"\";\r\n usaSSL: boolean = false;\r\n}","export class EnviarToken {\r\n \r\n emailUsuario: string;\r\n \r\n}","export * from './usuario';\r\nexport * from './sociedad';\r\nexport * from './correo';\r\nexport * from './archivo';\r\nexport * from './proveedor';\r\nexport * from './corporativo';\r\nexport * from './enviartoken';\r\nexport * from './restablecercontrasena';\r\nexport * from './ordencompra';\r\nexport * from './configuracion';\r\nexport * from './pago';\r\nexport * from './aviso';","export class OrdenCompra {\r\n idOrdenCompra: number;\r\n numero: string;\r\n cerrada: string;\r\n subTotal: number;\r\n iva: number;\r\n retencion: number;\r\n total: number;\r\n porPagar: number;\r\n montoCubierto: number;\r\n fechaRegistro: Date;\r\n idProveedor: number;\r\n proveedorRazonSocial: string;\r\n rfc: string;\r\n fechaRegistroDesde: Date;\r\n fechaRegistroHasta: Date;\r\n fechaFinalDesde: Date;\r\n fechaFinalHasta: Date;\r\n nombreArchivo: string;\r\n descripcion:string;\r\n moneda:string;\r\n cancelada: boolean;\r\n tipoBusqueda: string;\r\n abiertaXmonitor: boolean;\r\n}","export class OrdenCompraSeleccionadas {\r\n idOrdenCompra: number;\r\n montoCubierto: number;\r\n iva: number;\r\n retencion: number;\r\n subTotal: number;\r\n total: number;\r\n moneda:string;\r\n numero: string;\r\n}","export class Pago {\r\n idPago: number;\r\n nombrePago: string;\r\n fechaRegistro: Date;\r\n cancelado: boolean;\r\n total: number;\r\n\r\n archivosId: number[] = [];\r\n archivoNombre: string;\r\n archivoTotal: number;\r\n pue: boolean;\r\n facPue: string;\r\n\r\n idProveedor: number;\r\n proveedorRazonSocial: string;\r\n proveedorRFC: string;\r\n\r\n sociedadNombreComercial: string;\r\n sociedadRFC: string;\r\n\r\n fechaDesde: Date;\r\n fechaHasta: Date;\r\n fechaTimbro: Date;\r\n\r\n facturasRel: String;\r\n ocRel: String;\r\n\r\n\r\n uuids: string[];\r\n}","export class Proveedor {\r\n idProveedor: number;\r\n codigo: string;\r\n rfc: string;\r\n razonSocial: string;\r\n activo: string;\r\n fechaRegistro: Date;\r\n fechaAutorizacion: Date;\r\n nombreUsuario: string;\r\n autorizado: string;\r\n correo: string;\r\n contrasena: string;\r\n confirmarContrasena: string;\r\n captcha: string;\r\n aplicaOrdenCompra: string;\r\n aplicaConOSinOrdenCompra: string;\r\n descripcion:string;\r\n permitirFacturasMesAnterior: boolean;\r\n aplicaPruebasEntrega: boolean;\r\n}","export class RestablecerContrasena {\r\n usuario: string;\r\n contrasena: string;\r\n confirmacioncontrasena: string;\r\n token: string;\r\n}","export class Sociedad {\r\n id: number;\r\n rfc: string;\r\n razonSocial: string;\r\n nombreComercial: string;\r\n correoElectronico: string;\r\n activo: boolean;\r\n fechaRegistro: Date;\r\n codigoPostal: string;\r\n aplicaPruebasEntrega: boolean;\r\n regimenFisca: string;\r\n}","export class Usuario {\r\n idUsuario: number;\r\n nombreUsuario: string;\r\n contrasena: string;\r\n confirmacionContrasena: string;\r\n correo: string;\r\n tipoUsuario: string;\r\n idCorporativo: number;\r\n idProveedor: number;\r\n}","module.exports = \"body {\\r\\n background-color: #DADADA;\\r\\n}\\r\\n\\r\\n body > .grid {\\r\\n height: 100%;\\r\\n }\\r\\n\\r\\n .image {\\r\\n margin-top: -100px;\\r\\n}\\r\\n\\r\\n .column {\\r\\n max-width: 435px;\\r\\n}\\r\\n\\r\\n input:-webkit-autofill {\\r\\n -webkit-box-shadow: 0 0 0px 100px #fff inset !important;\\r\\n transition: background-color 5000s ease-in-out 0s !important;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n Portal de proveedores\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

REFERI\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n

www.createga.com

\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { Usuario } from '../../entidades/indice';\r\nimport { ServicioAutenticacion } from '../../servicios/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { Notificacion } from '../../compartida/indice';\r\n\r\n@Component({\r\n selector: 'app-acceso',\r\n templateUrl: './acceso.component.html',\r\n styleUrls: ['./acceso.component.css']\r\n})\r\nexport class AccesoComponent implements OnInit {\r\n usuario: Usuario;\r\n procesando: boolean;\r\n constructor(private router: Router, private autenticacion: ServicioAutenticacion, private notificacion:Notificacion ) { }\r\n\r\n ngOnInit() {\r\n this.usuario = new Usuario;\r\n if (this.autenticacion.estaAutenticado) {\r\n this.router.navigateByUrl('/Inicio');\r\n }\r\n }\r\n\r\n entrar(): void {\r\n this.procesando = true;\r\n this.autenticacion\r\n .acceder(this.usuario)\r\n .subscribe(\r\n credenciales => {\r\n //this.autenticacion.almacenarCredencial(credenciales);\r\n this.router.navigate(['/Inicio']);\r\n this.procesando = false;\r\n }, error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.procesando = false;\r\n }\r\n );\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n
COMUNICADO
\\r\\n
\\r\\n
\\r\\n

\\r\\n Por medio de la presente, me permito informarles que apartir del lunes 16 de Mayo del 2022 se cambió\\r\\n de dirección fiscal.\\r\\n

\\r\\n

\\r\\n Les agradecemos de antemano su apoyo en esta transición.\\r\\n

\\r\\n

\\r\\n Por lo anterior les compartimos la constancia de situación fiscal a la fecha así como el formato para\\r\\n facturación para que actualicen sus bases de datos y facturen a la dirección actual.\\r\\n

\\r\\n

\\r\\n Agradeciendo de antemano sus atenciones.\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ModalTemplate, SuiModalService } from 'ng2-semantic-ui';\r\nimport { FormaModal } from '../../compartida/formaModal';\r\n\r\n@Component({\r\n selector: 'app-aviso',\r\n templateUrl: './aviso.component.html',\r\n styleUrls: ['./aviso.component.css']\r\n})\r\nexport class AvisoComponent extends FormaModal implements OnInit {\r\n @ViewChild('modalTemplateAviso') modalTemplate: ModalTemplate;\r\n\r\n constructor(public modalService: SuiModalService) { \r\n super(modalService)\r\n }\r\n\r\n ngOnInit() {\r\n this.abrir('COMUNICADO',false, true);\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n
{{titulo}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Manetener ventana abierta\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, Input, ElementRef, ViewChild, Output, EventEmitter, AfterViewInit } from '@angular/core';\r\nimport { ModalTemplate, TemplateModalConfig, SuiModalService, ActiveModal, IPopup } from 'ng2-semantic-ui/dist';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { NgForm } from '@angular/forms';\r\nimport { DatepickerMode, PopupPlacement } from 'ng2-semantic-ui';\r\nimport { DatePipe } from '@angular/common';\r\n\r\nimport * as _ from 'lodash';\r\n\r\nimport { Aviso } from '../../../entidades/indice'\r\nimport { FormaModal, Notificacion } from '../../../compartida/indice';\r\nimport { Servicios } from '../../../servicios/indice';\r\nimport { Observable } from 'rxjs';\r\nimport * as mime from 'mime';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-aviso-modal',\r\n templateUrl: './aviso-modal.component.html',\r\n styleUrls: ['./aviso-modal.component.css']\r\n})\r\nexport class AvisoModalComponent extends FormaModal implements AfterViewInit {\r\n @ViewChild('modalTemplateAviso') modalTemplate: ModalTemplate\r\n @ViewChild('forma', { read: NgForm }) forma: NgForm; \r\n @ViewChild('archivosAviso') archivosAviso: ElementRef; \r\n idAviso: number;\r\n aviso: Aviso;\r\n avisoOriginal: any;\r\n textoAviso: string; \r\n archivosPrevios: File[] = [];\r\n @Output() procesoTerminado: EventEmitter = new EventEmitter();\r\n\r\n modoFecha = DatepickerMode.Date;\r\n posicionCalendario: PopupPlacement = PopupPlacement.Bottom;\r\n constructor(\r\n public modalService: SuiModalService, \r\n private servicios: Servicios,\r\n private notificacion: Notificacion,\r\n public datepipe: DatePipe,\r\n ) {\r\n super(modalService); \r\n } \r\n \r\n crearNuevo(): void {\r\n this.aviso = new Aviso();\r\n }\r\n\r\n limpiarArchivosPrevios(){\r\n this.archivosPrevios= [];\r\n this.aviso.eliminarPrevios = true;\r\n }\r\n\r\n abrirNuevo(): void {\r\n this.crearNuevo();\r\n this.abrir(\"Nuevo Aviso\", true);\r\n }\r\n\r\n ngAfterViewInit() { \r\n }\r\n\r\n async abrirEditar(): Promise { \r\n this.aviso = new Aviso();\r\n this.avisoOriginal = await this.servicios.avisos.getAviso(this.idAviso); \r\n this.avisoOriginal.fechaInicio = new Date(this.avisoOriginal.fechaInicio);\r\n this.avisoOriginal.fechaFin = new Date(this.avisoOriginal.fechaFin);\r\n this.avisoOriginal.textoAviso = await this.obtenerTextoOriginal(this.avisoOriginal.textoAviso); \r\n this.avisoOriginal.eliminarPrevios = false; \r\n this.cargarArchivos(this.avisoOriginal.archivos); \r\n this.aviso = _.cloneDeep(this.avisoOriginal); \r\n this.abrir(\"Editar Aviso\", false);\r\n }\r\n\r\n cargarArchivos(archivosAviso: any) { \r\n this.archivosPrevios = [];\r\n if (archivosAviso && archivosAviso.length > 0) { \r\n for(const archivo of archivosAviso) {\r\n this.servicios.avisos.descargarArchivo(archivo.id).subscribe((archivoBlob: Blob) => {\r\n const file = new File([archivoBlob], archivo.nombre, {type: mime.getType(archivo.nombre)}); \r\n this.archivosPrevios.push(file); \r\n }, (error) => {\r\n console.error(error);\r\n });\r\n } \r\n } \r\n }\r\n\r\n cancelar(): void {\r\n this.cerrar();\r\n }\r\n\r\n enfocar(): void {\r\n \r\n }\r\n\r\n limpiar(): void {\r\n this.forma.resetForm();\r\n this.aviso = new Aviso();\r\n if (!this.MantenerAbierto) {\r\n this.cerrar();\r\n }\r\n this.enfocar();\r\n }\r\n\r\n guardar(): void { \r\n let datos = new FormData();\r\n let archivosAvisoLista = ((\r\n this.archivosAviso.nativeElement\r\n )).files;\r\n \r\n for (let index = 0; index < archivosAvisoLista.length; index++) {\r\n const element = archivosAvisoLista[index]; \r\n datos.append('archivosAviso', element);\r\n }\r\n let avisoGuardar = _.cloneDeep(this.aviso); \r\n\r\n \r\n avisoGuardar.textoAviso = this.obtenerContenidoTransformado(avisoGuardar.textoAviso); \r\n datos.append('avisoJson', JSON.stringify(avisoGuardar)); \r\n this.Procesando = true;\r\n\r\n let observable: Observable;\r\n let mensaje: string;\r\n if (this.aviso.idAviso && this.aviso.idAviso > 0) {\r\n datos.append('archivosPrevios', this.avisoOriginal.archivos);\r\n mensaje = 'Aviso actualizado.'; \r\n observable = this.servicios.avisos.actualizarAviso(datos);\r\n } else {\r\n mensaje = 'Aviso creado.';\r\n observable = this.servicios.avisos.crearAviso(datos); \r\n }\r\n\r\n observable\r\n .subscribe(\r\n usuarios => {\r\n this.notificacion.mostrarExito(mensaje);\r\n this.Procesando = false;\r\n this.limpiar();\r\n this.procesoTerminado.emit(true);\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.Procesando = false;\r\n }\r\n ); \r\n \r\n }\r\n\r\n obtenerContenidoTransformado(textoAviso: string): string {\r\n let lineas = textoAviso.split('\\n');\r\n let contenidoTransformado = '';\r\n\r\n for (let i = 0; i < lineas.length; i++) {\r\n if (lineas[i].trim() !== '') {\r\n contenidoTransformado += '

' + lineas[i] + '

';\r\n if (i !== lineas.length - 1) {\r\n contenidoTransformado += '
';\r\n }\r\n }\r\n }\r\n\r\n return contenidoTransformado;\r\n } \r\n \r\n \r\n obtenerTextoOriginal(contenidoTransformado: string):Promise { \r\n return new Promise((resolve) => {\r\n let textoOriginal = contenidoTransformado.replace(/

/g, '');\r\n textoOriginal = textoOriginal.replace(/<\\/p>/g, '\\n');\r\n textoOriginal = textoOriginal.replace(/
/g, '\\n'); \r\n resolve(textoOriginal) ;\r\n });\r\n }\r\n}","module.exports = \".dialog-container {\\r\\n position: relative;\\r\\n }\\r\\n \\r\\n .close-button {\\r\\n position: absolute;\\r\\n top: 10px;\\r\\n right: 10px;\\r\\n }\\r\\n \\r\\n .mat-dialog-content { \\r\\n margin-bottom: 20px;\\r\\n margin-top: 20px;\\r\\n margin-left: 15px;\\r\\n margin-right: 15px;\\r\\n }\\r\\n \\r\\n .mat-dialog-actions {\\r\\n border-top: 1px solid #ccc;\\r\\n margin-top: 20px; \\r\\n text-align: right; \\r\\n }\\r\\n \\r\\n .actions-container {\\r\\n text-align: right;\\r\\n margin: 10px;\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n \"","module.exports = \"

\\r\\n

\\r\\n Aviso\\r\\n \\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n 0\\\"> \\r\\n \\r\\n \\r\\n
\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Servicios } from 'ClientApp/app/servicios/indice';\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-aviso-mostrar',\r\n templateUrl: './aviso-mostrar.component.html',\r\n styleUrls: ['./aviso-mostrar.component.css']\r\n})\r\nexport class AvisoMostrarComponent implements OnInit{\r\n \r\n constructor( \r\n public servicios: Servicios,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public aviso: any\r\n ){ \r\n }\r\n\r\n ngOnInit() { \r\n \r\n }\r\n\r\n descargarArchivo(archivo: any) {\r\n this.servicios.avisos.descargarArchivo(archivo.id)\r\n .subscribe(\r\n archivoDescargado => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([archivoDescargado], { type: \"octet/stream\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = archivo.nombre;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n );\r\n \r\n }\r\n\r\n close() { \r\n this.dialogRef.close();\r\n }\r\n\r\n esPDF(nombreArchivo: string) { \r\n const extension = nombreArchivo.split('.').pop();\r\n return extension === 'pdf' || extension === 'PDF'\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n {{titulo}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Servicios } from '../../../servicios/indice';\r\nimport { Component, ViewChild, OnDestroy } from '@angular/core';\r\nimport { AvisoModalComponent } from '../aviso-modal/aviso-modal.component';\r\nimport { TablaAvisosComponent } from '../tabla-avisos/tabla-avisos.component';\r\nimport { Notificacion } from '../../../compartida/indice';\r\nimport { Aviso } from 'ClientApp/app/entidades/indice';\r\n\r\n@Component({\r\n selector: 'app-avisos',\r\n templateUrl: './avisos.component.html',\r\n styleUrls: ['./avisos.component.css']\r\n})\r\nexport class AvisosComponent implements OnDestroy {\r\n @ViewChild(AvisoModalComponent) avisoModalComponent!: AvisoModalComponent;\r\n @ViewChild(TablaAvisosComponent) tablaAvisos: TablaAvisosComponent;\r\n titulo = 'Avisos';\r\n constructor(public servicios: Servicios, private notificacion: Notificacion) {}\r\n nuevo() { \r\n this.avisoModalComponent.abrirNuevo(); \r\n }\r\n\r\n editar(idAviso: number): void {\r\n this.avisoModalComponent.idAviso = idAviso;\r\n this.avisoModalComponent.abrirEditar();\r\n }\r\n\r\n recargarTabla(): void {\r\n\t\tthis.tablaAvisos.recargarTabla();\r\n\t}\r\n\r\n ngOnDestroy(): void {\r\n this.avisoModalComponent.cancelar();\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n\"","import { Component, Renderer2, ViewChild, Output, EventEmitter, OnInit, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { Subject } from 'rxjs';\r\nimport { Confirmacion, Notificacion } from '../../../compartida/indice';\r\nimport { Aviso } from '../../../entidades/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Servicios } from '../../../servicios/indice';\r\nimport Swal, { SweetAlertOptions } from 'sweetalert2';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-tabla-avisos',\r\n templateUrl: './tabla-avisos.component.html',\r\n styleUrls: ['./tabla-avisos.component.css']\r\n})\r\nexport class TablaAvisosComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n @Output() editarOprimido: EventEmitter = new EventEmitter();\r\n @Output() eliminarOprimido: EventEmitter = new EventEmitter();\r\n dtOptions: DataTables.Settings = {};\r\n dtTrigger: Subject = new Subject();\r\n private oyente: () => void;\r\n avisos: Aviso[];\r\n idSeleccionado: number;\r\n\r\n constructor(\r\n private servicios: Servicios, \r\n private renderer: Renderer2, \r\n private notificacion: Notificacion\r\n ) { }\r\n\r\n ngOnInit() { \r\n this.cargarTabla();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next();\r\n\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target; \r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n if (tipo == 'a') {\r\n this.editar(id);\r\n } else {\r\n this.idSeleccionado = id;\r\n this.preguntarSieliminar();\r\n }\r\n } \r\n });\r\n } \r\n\r\n async editar(id:number): Promise { \r\n this.editarOprimido.emit(id);\r\n }\r\n\r\n obtenerTextoOriginal(contenidoTransformado: string):Promise { \r\n return new Promise((resolve) => {\r\n let textoOriginal = contenidoTransformado.replace(/

/g, '');\r\n textoOriginal = textoOriginal.replace(/<\\/p>/g, '\\n');\r\n textoOriginal = textoOriginal.replace(/
/g, '\\n'); \r\n resolve(textoOriginal) ;\r\n });\r\n \r\n}\r\n\r\n preguntarSieliminar(): void {\r\n const options: SweetAlertOptions = {\r\n title: '¿Desea eliminar el aviso?',\r\n text: 'Se eliminará el aviso de forma permanente', \r\n showCancelButton: true,\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n };\r\n \r\n Swal.fire(options).then((result) => {\r\n if (result.value) {\r\n // Handle confirmed action\r\n this.eliminar();\r\n }\r\n });\r\n }\r\n\r\n eliminar() {\r\n this.servicios\r\n .avisos\r\n .eliminar(this.idSeleccionado.toString())\r\n .subscribe(\r\n eliminado => {\r\n this.notificacion.mostrarExito(\"Aviso eliminado.\");\r\n this.recargarTabla();\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n }\r\n );\r\n }\r\n\r\n cargarTabla() { \r\n this.dtOptions = {\r\n language: { url: '/js/espanol.json' },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios\r\n .avisos\r\n .obtenerTodos()\r\n .subscribe(avisos => {\r\n\r\n this.avisos = avisos; \r\n console.log('avisos-->', this.avisos);\r\n callback({ data: avisos });\r\n });\r\n },\r\n columns: [\r\n { title: 'Id', data: 'idAviso', visible: false },\r\n { title: 'Aviso', data: 'textoAviso' }, \r\n { title: 'Fecha de Inicio', data: 'fechaInicio', render: (data: string) => (new Date(data)).toLocaleDateString() },\r\n { title: 'Fecha de Fin', data: 'fechaFin', render: (data: string) => (new Date(data)).toLocaleDateString() }, \r\n {\r\n title: 'Archivos',\r\n data: 'archivos',\r\n render: function (data: any, type: any, full: any) {\r\n const archivos = Array.isArray(data) ? data : []; // Ensure data is an array\r\n const archivosHtml = archivos.map(archivo => `

  • ${archivo.nombre}
  • `).join('');\r\n return `
      ${archivosHtml}
    `;\r\n }\r\n },\r\n {\r\n title: 'Opciones',\r\n data: 'idAviso',\r\n width: \"15%\",\r\n render: function (data: any, type: any, full: any) {\r\n return `
    \r\n \r\n \r\n
    `;\r\n }\r\n } \r\n ]\r\n };\r\n }\r\n\r\n public recargarTabla(): void {\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n // Destroy the table first\r\n dtInstance.destroy();\r\n // Call the dtTrigger to rerender again\r\n this.dtTrigger.next();\r\n }); \r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.oyente();\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n Tolerancia\\r\\n Ordenes de compra\\r\\n Pagos\\r\\n Envios ERP\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    \\r\\n Valida si existen complementos de pago pendientes de ingresar, si existen, no permitirá ingresar nuevas facturas hasta que se ingresen los \\r\\n complementos pendientes.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Permitir ingreso de factura sin validar \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n Pedido de compra\\r\\n
    \\r\\n
    \\r\\n Pasivo\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    !Importante!

    \\r\\n

    A continuación en la sección de configuración sera necesario almacenar\\r\\n la información requerida ya que permite:

    \\r\\n

    1) Mejor manejo de la información.

    \\r\\n

    2) Una base de datos sustentable.

    \\r\\n

    3) Disminuir errores de transacción de la\\r\\n información.

    \\r\\n

    SECCIONES

    \\r\\n

    TOLERANCIA: Permite conocer el rango menor o mayor que\\r\\n permita el almacenamiento de las facturas proporcionadas por el proveedor.

    \\r\\n

    ORDEN DE COMPRA: El administrador del sistema se\\r\\n encargara de validar si se procedera a subir las ordenes de compra.

    \\r\\n
    \\r\\n

    \\r\\n Es necesario antes de dar de alta información en los diversos catálogos que\\r\\n existen, revisar estas secciones, para tener un mejor control, aun así el portal\\r\\n podra\\r\\n proporcionar las validaciones necesarias en caso de que exista la ausencia de un valor.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import { Component, TemplateRef, ViewChild, OnInit, OnDestroy } from '@angular/core';\r\nimport { Proveedor, Corporativo, Configuracion } from '../../entidades/indice';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { DatepickerMode, SuiModalService } from 'ng2-semantic-ui';\r\nimport { Notificacion } from '../../compartida/indice';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\nimport { TipoOrdenCompra } from '../../entidades/tipo-orden-compra';\r\n\r\n@Component({\r\n selector: 'app-configuracion',\r\n templateUrl: './configuracion.component.html',\r\n styleUrls: ['./configuracion.component.css']\r\n})\r\nexport class ConfiguracionComponent implements OnInit {\r\n\r\n titulo: string = \"Configuración\";\r\n procesando: boolean;\r\n configuracion: Configuracion;\r\n configuraciones: Configuracion[];\r\n idConfiguracion: number;\r\n tiposOrdenesCompra: TipoOrdenCompra[];\r\n pageDimmed: boolean = false;\r\n mostrarCargarOrdenesCompra: boolean;\r\n tipoEnvioFacturasSinOC: any;\r\n\r\n constructor(public modalService: SuiModalService, private snotifyService: SnotifyService, private servicios: Servicios, private notificacion: Notificacion) { }\r\n ngOnInit() {\r\n this.configuracion = new Configuracion;\r\n this.cargarConfiguracion();\r\n this.cargarTiposOrdenCompra();\r\n }\r\n cargarConfiguracion(): void {\r\n this.idConfiguracion = this.servicios.autenticacion.credencial.idCorporativo;\r\n\r\n let observable = this.servicios.configuracion.obtener(this.idConfiguracion);\r\n observable\r\n .subscribe(\r\n confs => {\r\n this.configuracion = confs;\r\n if (this.configuracion.tipoOrdenCompraId == 1) {\r\n this.mostrarCargarOrdenesCompra = false;\r\n } else {\r\n this.mostrarCargarOrdenesCompra = true;\r\n }\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(\"Lo sentimos aun no se han creado las configuraciones necesarias\");\r\n this.procesando = false;\r\n }\r\n );\r\n }\r\n\r\n guardar(): void {\r\n let max = this.configuracion.importeMaximo;\r\n let min = this.configuracion.importeMinimo;\r\n\r\n // if (max < 0 || min < 0) {\r\n // this.snotifyService.warning(\"Los valores no pueden ser negativos, verifique nuevamente.\", {\r\n // closeOnClick: true,\r\n // pauseOnHover: true,\r\n // position: SnotifyPosition.centerTop\r\n // });\r\n // }\r\n\r\n this.procesando = true;\r\n let mensaje: string = \"Configuración actualizada.\";\r\n if (this.configuracion.tipoOrdenCompraId == 1) {\r\n this.configuracion.pedirOrdenCompra = true;\r\n }\r\n\r\n let observable = this.servicios.configuracion.actualizar(this.idConfiguracion.toString(), this.configuracion);\r\n observable\r\n .subscribe(\r\n proveedores => {\r\n this.notificacion.mostrarExito(mensaje);\r\n this.procesando = false;\r\n this.cargarConfiguracion();\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.procesando = false;\r\n }\r\n );\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n cargarTiposOrdenCompra() {\r\n this.servicios.tiposOrdenCompra\r\n .obtenerTodos()\r\n .subscribe(\r\n lista => {\r\n this.tiposOrdenesCompra = lista;\r\n }\r\n );\r\n }\r\n\r\n seleccionarCargarOrdenCompra(valor): void {\r\n if (valor == 1) {\r\n this.mostrarCargarOrdenesCompra = false;\r\n }\r\n else {\r\n this.mostrarCargarOrdenesCompra = true;\r\n }\r\n }\r\n}\r\n","module.exports = \"input:-webkit-autofill {\\r\\n -webkit-box-shadow: 0 0 0px 100px #fff inset !important;\\r\\n transition: background-color 5000s ease-in-out 0s !important;\\r\\n}\\r\\n\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n Registro de servidor de correos\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    !Importante!

    \\r\\n

    A continuación en la sección de configuración de cuenta de correo del servidor, es necesario leer lo siguiente:

    \\r\\n

    CAMPOS

    \\r\\n

    1) CORREO ELECTRONICO: electrónico permite identificar de que cuenta salen los correos para la diversas notificaciones que el sistema emplea. Puede ser cualquier cuenta de correo.

    \\r\\n

    2) CONTRASEÑA: El campo de contraseña esta asignado al correo electrónico que proporcionó en el campo de correo electrónico

    \\r\\n

    3) SERVIDOR: El campo de servidor permite identificar a que tipo de cuentas referencía ese correo electrónico. Como ejemplo una cuenta de Hotmail hace referencía a un servidor Smtp.Live.Com.

    \\r\\n

    4) PUERTO: El campo del puerto permite identificar a que puerto hace referencía el servidor. Como ejemplo el servidor Smtp.live.com de Hotmail, hace referencía al puerto 587 o 25 entre otros.

    \\r\\n

    5) SSL: El campo de SSL (Secure Sockets Layer), Conexión cifrada, permite identificar si el servidor anterior maneja una conexión cifrada, para algunas cuentas esta opción no es necesaria seleccionarla.

    \\r\\n
    \\r\\n

    \\r\\n Es necesario antes de dar de alta información en los diversos catálogos que existen, revisar estas secciones, para tener un mejor control, aun así el portal podra\\r\\n proporcionar las validaciones necesarias en caso de que exista la ausencia de un valor.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, TemplateRef, ViewChild, OnInit, OnDestroy } from '@angular/core';\r\nimport { Correo } from '../../entidades/indice';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { SuiModalService } from 'ng2-semantic-ui';\r\nimport { Notificacion } from '../../compartida/indice';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\n@Component({\r\n selector: 'app-configuracioncorreo',\r\n templateUrl: './configuracioncorreo.component.html',\r\n styleUrls: ['./configuracioncorreo.component.css']\r\n})\r\nexport class ConfiguracioncorreoComponent implements OnInit {\r\n\r\n titulo: string = \"Configuración de servidor de correo\";\r\n procesando: boolean;\r\n correo: Correo;\r\n\r\n idConfiguracion: number;\r\n pageDimmed: boolean = false;\r\n constructor(public modalService: SuiModalService, private snotifyService: SnotifyService, private servicios: Servicios, private notificacion: Notificacion) { }\r\n ngOnInit() {\r\n \r\n this.correo = new Correo;\r\n this.cargarConfiguracion();\r\n }\r\n\r\n\r\n cargarConfiguracion(): void {\r\n this.idConfiguracion = this.servicios.autenticacion.credencial.idCorporativo;\r\n let observable = this.servicios.correos.obtener(this.idConfiguracion);\r\n observable\r\n .subscribe(\r\n confs => {\r\n this.correo = confs;\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(\"Lo sentimos aún no se han creado las configuraciones necesarias\");\r\n this.procesando = false;\r\n }\r\n );\r\n }\r\n\r\n guardar(): void {\r\n\r\n this.procesando = true;\r\n let mensaje = \"Configuración de servidor de correo actualizado\";\r\n let observable = this.servicios.correos.actualizar(this.idConfiguracion.toString(), this.correo);\r\n observable\r\n .subscribe(\r\n proveedores => {\r\n this.notificacion.mostrarExito(mensaje);\r\n this.procesando = false;\r\n this.cargarConfiguracion();\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.procesando = false;\r\n }\r\n );\r\n\r\n }\r\n \r\n\r\n ngOnDestroy(): void {\r\n }\r\n}\r\n","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, TemplateRef, ViewChild, OnInit, OnDestroy } from '@angular/core';\r\nimport { Proveedor, Corporativo } from '../../entidades/indice';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { SuiModalService } from 'ng2-semantic-ui';\r\nimport { Notificacion } from '../../compartida/indice';\r\n\r\n@Component({\r\n selector: \"catalogo-corporativo\",\r\n templateUrl: \"catalogo.component.html\"\r\n})\r\nexport class CatalogoCorporativo implements OnDestroy {\r\n titulo: string = \"Corporativo\";\r\n procesando: boolean;\r\n corporativo: Corporativo;\r\n\r\n constructor(public modalService: SuiModalService, private servicios: Servicios, private notificacion: Notificacion) {\r\n }\r\n\r\n ngOnInit() {\r\n this.corporativo = new Corporativo;\r\n this.cargarCorporativo();\r\n }\r\n\r\n cargarCorporativo(): void {\r\n let idCorporativo = this.servicios.autenticacion.credencial.idCorporativo;\r\n let observable = this.servicios.corporativos.obtener(idCorporativo);\r\n observable\r\n .subscribe(\r\n corporativo => {\r\n this.corporativo = corporativo;\r\n\r\n\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.procesando = false;\r\n }\r\n );\r\n }\r\n\r\n guardar(): void {\r\n this.procesando = true;\r\n let mensaje = \"Corporativo actualizado.\";\r\n let observable = this.servicios.corporativos.actualizar(this.corporativo.idCorporativo.toString(), this.corporativo);\r\n observable\r\n .subscribe(\r\n proveedores => {\r\n this.notificacion.mostrarExito(mensaje);\r\n this.procesando = false;\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.procesando = false;\r\n }\r\n );\r\n }\r\n \r\n ngOnDestroy(): void {\r\n }\r\n}","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, TemplateRef, ViewChild, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormaCorreo } from './forma.component';\r\nimport { Correo } from '../../entidades/indice';\r\nimport { TablaCatalogoCorreo } from './tabla.component';\r\nimport { Servicios } from '../../servicios/indice';\r\n\r\n@Component({\r\n selector: \"catalogo-correo\",\r\n templateUrl: \"catalogo.component.html\"\r\n})\r\nexport class CatalogoCorreo implements OnDestroy {\r\n @ViewChild(FormaCorreo) formaCorreo: FormaCorreo;\r\n @ViewChild(TablaCatalogoCorreo) tablaCatalogo: TablaCatalogoCorreo;\r\n titulo: string = \"Correos\";\r\n habilitarNuevo: boolean = false;\r\n\r\n constructor(private servicios: Servicios) {}\r\n\r\n nuevo(): void {\r\n this.formaCorreo.abrirNuevo();\r\n }\r\n\r\n editar(correoEvento: Correo): void {\r\n this.formaCorreo.correo = correoEvento;\r\n this.formaCorreo.abrirEditar();\r\n }\r\n\r\n recargarDatos(): void {\r\n this.tablaCatalogo.recargarTabla();\r\n this.habilitarNuevo = false;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.formaCorreo.cancelar();\r\n }\r\n}","module.exports = \"\\r\\n
    {{titulo}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Manetener ventana abierta\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import { Component, Input, ElementRef, ViewChild, TemplateRef, ViewContainerRef, Output, EventEmitter } from '@angular/core';\r\nimport { ModalTemplate, TemplateModalConfig, SuiModalService, ActiveModal, IPopup } from 'ng2-semantic-ui/dist';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { FormaModal, Notificacion } from '../../compartida/indice';\r\nimport { Correo, Sociedad } from '../../entidades/indice';\r\nimport { Servicios } from '../../servicios/indice';\r\n\r\n@Component({\r\n selector: 'forma-correo',\r\n templateUrl: 'forma.component.html'\r\n})\r\nexport class FormaCorreo extends FormaModal {\r\n @ViewChild('modalTemplateCorreo') modalTemplate: ModalTemplate\r\n @ViewChild('forma', { read: NgForm }) forma: NgForm;\r\n @ViewChild('txtCorreo', { read: ElementRef }) txtcorreo: ElementRef;\r\n @Output() procesoTerminado: EventEmitter = new EventEmitter();\r\n correo: Correo;\r\n sociedadesSinCorreo: Sociedad[];\r\n editando: boolean;\r\n\r\n constructor(public modalService: SuiModalService, private servicios: Servicios, private notificacion: Notificacion) {\r\n super(modalService);\r\n this.crearNuevo();\r\n }\r\n \r\n crearNuevo(): void {\r\n this.correo = new Correo();\r\n }\r\n\r\n abrirNuevo(): void {\r\n this.crearNuevo();\r\n this.editando = false;\r\n this.abrir(\"Nuevo\", true);\r\n }\r\n\r\n abrirEditar(): void {\r\n this.editando = true;\r\n this.abrir(\"Editar\", false);\r\n }\r\n\r\n cancelar(): void {\r\n this.cerrar();\r\n }\r\n\r\n enfocar(): void {\r\n this.txtcorreo.nativeElement.focus()\r\n }\r\n\r\n limpiar(): void {\r\n this.forma.resetForm();\r\n this.correo = new Correo();\r\n if (!this.MantenerAbierto) {\r\n this.cerrar();\r\n }\r\n this.enfocar();\r\n }\r\n\r\n guardar(): void {\r\n this.Procesando = true;\r\n\r\n let observable: Observable;\r\n let mensaje: string;\r\n if (this.editando) {\r\n mensaje = 'Correo actualizado.';\r\n observable = this.servicios.correos.actualizar(this.correo.idCorreo.toString(), this.correo)\r\n } else {\r\n mensaje = 'Correo guardado.';\r\n observable = this.servicios.correos.guardar(this.correo);\r\n }\r\n\r\n observable\r\n .subscribe(\r\n correos => {\r\n this.notificacion.mostrarExito(mensaje);\r\n this.Procesando = false;\r\n this.limpiar();\r\n this.procesoTerminado.emit(true);\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.Procesando = false;\r\n }\r\n );\r\n }\r\n}","module.exports = \"\\r\\n
    \\r\\n\"","import { Component, Renderer2, ViewChild, Output, EventEmitter, OnInit, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { DataTableDirective } from 'angular-datatables';\r\nimport { Subject } from 'rxjs';\r\nimport { Confirmacion, Notificacion } from '../../compartida/indice';\r\nimport { Correo } from '../../entidades/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Servicios } from '../../servicios/indice';\r\n\r\n@Component({\r\n selector: 'tabla-correo',\r\n templateUrl: 'tabla.component.html'\r\n})\r\nexport class TablaCatalogoCorreo implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n dtOptions: DataTables.Settings = {};\r\n dtTrigger: Subject = new Subject();\r\n @Output() editarOprimido: EventEmitter = new EventEmitter();\r\n @Output() eliminarOprimido: EventEmitter = new EventEmitter();\r\n private oyente: () => void;\r\n correos: Correo[];\r\n idSeleccionado: number;\r\n\r\n constructor(private servicios: Servicios, private renderer: Renderer2, private notificacion: Notificacion) { }\r\n\r\n ngOnInit(): void {\r\n this.cargarTabla();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next();\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target;\r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n if (tipo == 'a') {\r\n this.editar(id);\r\n } else {\r\n this.idSeleccionado = id;\r\n this.preguntarSieliminar();\r\n }\r\n }\r\n });\r\n }\r\n\r\n editar(id: number): void {\r\n let usuario = this.correos.find(u => u.idCorreo == id);\r\n this.editarOprimido.emit(usuario);\r\n }\r\n\r\n preguntarSieliminar(): void {\r\n this.confirmacion.open({\r\n texto: \"¿Seguro que desea continuar?\",\r\n textoCancelar: \"No\",\r\n textoOk: \"Si\",\r\n titulo: \"Confirmacion\"\r\n });\r\n }\r\n\r\n eliminar() {\r\n this.servicios\r\n .correos\r\n .eliminar(this.idSeleccionado.toString())\r\n .subscribe(\r\n eliminado => {\r\n this.notificacion.mostrarExito(\"Correo eliminado.\");\r\n this.recargarTabla();\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n }\r\n );\r\n }\r\n\r\n cargarTabla(): void {\r\n this.dtOptions = {\r\n language: {url: '/js/espanol.json'},\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios\r\n .correos\r\n .obtenerTodos()\r\n .subscribe(correos => {\r\n this.correos = correos;\r\n callback({ data: correos });\r\n });\r\n },\r\n columns: [\r\n { title: 'Id', data: 'idCorreo', visible: false },\r\n { title: 'Dirección', data: 'direccion' },\r\n { title: 'Servidor', data: 'servidor' },\r\n { title: 'Puerto', data: 'puerto' },\r\n {\r\n title: 'SSL',\r\n data: 'usaSSL',\r\n width: \"15%\",\r\n render: function (data: any, type: any, full: any) {\r\n let icono = data ? \"check circle outline\" : \"circle outline\";\r\n return `
    \r\n \r\n
    `;\r\n }\r\n },\r\n {\r\n title: '',\r\n data: 'idCorreo',\r\n width: \"15%\",\r\n render: function (data: any, type: any, full: any) {\r\n return `
    \r\n
    \r\n \r\n
    \r\n
    `;\r\n }\r\n }\r\n ]\r\n };\r\n }\r\n\r\n public recargarTabla(): void {\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n // Destroy the table first\r\n dtInstance.destroy();\r\n // Call the dtTrigger to rerender again\r\n this.dtTrigger.next();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.oyente();\r\n }\r\n}","module.exports = \"\"","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Manetener ventana abierta\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import { Component, Input, ElementRef, ViewChild, TemplateRef, ViewContainerRef, Output, EventEmitter } from '@angular/core';\r\nimport { ModalTemplate, TemplateModalConfig, SuiModalService, ActiveModal, IPopup } from 'ng2-semantic-ui/dist';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { FormaModal } from '../../compartida/indice';\r\nimport { EnviarToken } from '../../entidades/indice';\r\nimport { Servicios, ServicioAutenticacion } from '../../servicios/indice';\r\n\r\n@Component({\r\n selector: 'app-enviartoken',\r\n templateUrl: './enviartoken.component.html',\r\n styleUrls: ['./enviartoken.component.css']\r\n})\r\nexport class EnviartokenComponent extends FormaModal {\r\n @ViewChild('mdEnviarToken') modalTemplate: ModalTemplate\r\n @ViewChild('frmEnviarToken', { read: NgForm }) forma: NgForm;\r\n @Output() procesoTerminado: EventEmitter = new EventEmitter();\r\n \r\n enviar: EnviarToken;\r\n tipoProceso: \"enviar\" | \"nuevo\" | \"registro\";\r\n constructor(public modalService: SuiModalService, private servicios: Servicios, private autenticacion: ServicioAutenticacion, private snotifyService: SnotifyService) {\r\n super(modalService);\r\n this.crearNuevo();\r\n this.Tamano = \"tiny\";\r\n }\r\n \r\n\r\n crearNuevo(): void {\r\n this.Procesando = false;\r\n this.enviar = new EnviarToken;\r\n }\r\n abrirRegistrar(): void {\r\n this.crearNuevo();\r\n this.tipoProceso = \"enviar\"\r\n this.abrir(\"Restablecer contraseña\", false);\r\n }\r\n\r\n\r\n limpiar(): void {\r\n this.forma.resetForm();\r\n this.enviar = new EnviarToken;\r\n if (!this.MantenerAbierto) {\r\n this.cerrar();\r\n }\r\n }\r\n \r\n envToken(): void {\r\n //this.procesando = true;\r\n var usuario = this.enviar.emailUsuario;\r\n this.autenticacion\r\n .enviarToken(usuario)\r\n .subscribe(\r\n result => {\r\n if (result == \"Enviado\") {\r\n \r\n this.snotifyService.success(\"Verifique su correo para restablecer su contraseña...\", {\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n this.limpiar();\r\n this.procesoTerminado.emit(true);\r\n //this.procesando = false;\r\n } else {\r\n this.snotifyService.error(\"Erro al enviar correo!, verifique nuevamente...\", {\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n //this.procesando = false;\r\n }\r\n }\r\n , error => {\r\n let httpError = error;\r\n this.snotifyService.error(\"Lo sentimos no existe ese usuario, verifique nuevamente!\", {\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n //this.procesando = false;\r\n });\r\n }\r\n\r\n cancelar(): void {\r\n this.cerrar();\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\"","import { first } from 'rxjs/operators';\r\nimport { Comunicado } from './../../entidades/comunicado';\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { createText } from '@angular/core/src/view/text';\r\nimport { Confirmacion, Notificacion } from '../../compartida/indice';\r\nimport { NgForm } from '@angular/forms';\r\nimport { stringify } from 'querystring';\r\nimport { SeleccionProveedoresComponent } from '../seleccion-proveedores/seleccion-proveedores.component';\r\n\r\n@Component({\r\n selector: 'app-envio-comunicado',\r\n templateUrl: './envio-comunicado.component.html',\r\n styleUrls: ['./envio-comunicado.component.css']\r\n})\r\nexport class EnvioComunicadoComponent implements OnInit {\r\n titulo = 'Envio de comunicados';\r\n comunicado = new Comunicado();\r\n @ViewChild('forma', { read: NgForm }) forma: NgForm;\r\n // @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n @ViewChild(SeleccionProveedoresComponent) seleccionDestinatarios: SeleccionProveedoresComponent;\r\n \r\n\t@ViewChild('flArchivosAdjuntos', { read: ElementRef }) flArchivosAdjuntos: ElementRef;\r\n enviando = false;\r\n\r\n constructor(private ctx: Servicios, private notificacion: Notificacion) { }\r\n //constructor(){}\r\n\r\n ngOnInit() {\r\n }\r\n\r\n confirmar() {\r\n if (this.forma.valid && this.comunicado.mensaje && this.comunicado.mensaje.length > 0) {\r\n this.seleccionDestinatarios.open();\r\n // this.confirmacion.open({\r\n // texto: \"¿Seguro que desea continuar?\",\r\n // textoCancelar: \"No\",\r\n // textoOk: \"Si\",\r\n // titulo: \"Confirmacion\"\r\n // });\r\n }\r\n else {\r\n this.notificacion.mostrarAdvertencia('Datos inválidos');\r\n }\r\n }\r\n\r\n enviar(destinatarios: string[]) {\r\n this.enviando = true;\r\n let datos = new FormData();\r\n\r\n this.comunicado.destinatarios = destinatarios;\r\n datos.append('comunicado', JSON.stringify(this.comunicado));\r\n\r\n let adjuntos = ((\r\n\t\t\tthis.flArchivosAdjuntos.nativeElement\r\n\t\t)).files;\r\n for (let index = 0; index < adjuntos.length; index++) {\r\n\t\t\tconst element = adjuntos[index];\r\n\t\t\tdatos.append('adjuntos', element);\r\n\t\t}\r\n\r\n\r\n this.ctx.comunicados.enviar(datos)\r\n .pipe(first())\r\n .subscribe(e => {\r\n this.notificacion.mostrarExito('Comunicado enviado.');\r\n this.limpiar()\r\n },\r\n error => this.notificacion.mostrarError(error.error),\r\n () => {this.enviando = false});\r\n\r\n }\r\n\r\n limpiar() {\r\n this.comunicado.asunto = \"\";\r\n this.comunicado.mensaje = \"\";\r\n this.flArchivosAdjuntos.nativeElement.value = '';\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{ titulo }}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import {\r\n Component,\r\n Renderer2,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n} from \"@angular/core\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Subject } from \"rxjs\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Servicios } from \"../../servicios/indice\";\r\nimport { OrdenCompra, Proveedor } from \"../../entidades/indice\";\r\nimport { Notificacion, Confirmacion } from \"../../compartida/indice\";\r\nimport { DatepickerMode } from \"ng2-semantic-ui\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { ErrorEnvioSap } from \"../../entidades/error-envio-sap\";\r\n\r\n@Component({\r\n selector: \"app-error-envio-sap\",\r\n templateUrl: \"./fallo-envio-sap.component.html\",\r\n styleUrls: [\"./fallo-envio-sap.component.css\"],\r\n})\r\nexport class ErrorEnvioSapComponent implements OnInit {\r\n titulo: string = \"Error en envíos a SAP\";\r\n idSeleccionado: number;\r\n Procesando: boolean;\r\n private oyente: () => void;\r\n\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n dtOptions: DataTables.Settings = {};\r\n @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n\r\n constructor(private servicios: Servicios) {}\r\n\r\n ngOnInit() {\r\n this.cargarTabla();\r\n }\r\n\r\n reporteExcel(): void {}\r\n\r\n cargarTabla(): void {\r\n this.dtOptions = {\r\n language: { url: \"/js/espanol.json\" },\r\n searching: false,\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios.ordenCompra\r\n .obtenerErroresEnviosSap()\r\n .subscribe((lista) => {\r\n callback({ data: lista });\r\n });\r\n this.Procesando = false;\r\n },\r\n columns: [\r\n { title: \"\", data: \"id\", visible: false },\r\n { title: \"Fecha\", data: \"fechaRegistro\", render: (data: string) => (new Date(data)).toLocaleDateString()},\r\n { title: \"Orden\", data: \"numero\" },\r\n { title: \"Sub Total\", data: \"subTotal\" },\r\n { title: \"Iva\", data: \"iva\" },\r\n { title: \"Total\", data: \"total\" },\r\n { title: \"Retención\", data: \"retencion\" },\r\n { title: \"Monto cubierto\", data: \"montoCubierto\" },\r\n { title: \"Monto cubierto\", data: \"montoCubierto\" },\r\n { title: \"Proveedor\", data: \"proveedorRs\" },\r\n { title: \"Error\", data: \"errorEnvio\" },\r\n\r\n ],\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","module.exports = \"
    \\r\\n
    \\r\\n

    Portal de Proveedores

    \\r\\n
    \\r\\n
    \"","import { AvisoMostrarComponent } from './../avisos/aviso-mostrar/aviso-mostrar.component';\r\nimport { Component, OnInit, AfterViewInit, ViewChild} from '@angular/core';\r\nimport { Servicios } from 'ClientApp/app/servicios/indice';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'inicio',\r\n templateUrl: './inicio.component.html'\r\n})\r\nexport class Inicio implements OnInit { \r\n constructor( \r\n public servicios: Servicios,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.mostrarAvisos();\r\n }\r\n\r\n mostrarAvisos(){ \r\n this.servicios.avisos.obtenerAvisosVigentes()\r\n .subscribe(async avisos => {\r\n if(avisos && avisos.length> 0) { \r\n for(const aviso of avisos){\r\n await this.mostrarAviso(aviso);\r\n } \r\n } \r\n });\r\n }\r\n\r\n mostrarAviso(aviso: any): Promise{ \r\n \r\n return new Promise((resolve) => { \r\n const dialogRef = this.dialog.open(AvisoMostrarComponent, {\r\n width: '50%', \r\n data: aviso\r\n });\r\n \r\n setTimeout(function() {\r\n dialogRef.close();\r\n }, (5 * 1000)); \r\n \r\n dialogRef.afterClosed().subscribe(result => { \r\n resolve(true);\r\n });\r\n }); \r\n }\r\n\r\n \r\n}\r\n","module.exports = \"\\r\\n
    {{titulo}}
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n Orden de compra\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    !Importante!

    \\r\\n

    Para poder subir el archivo pdf orden de compra proceda a leer lo siguiente!...

    \\r\\n

    El archivo pdf de orden de compra, debe contener los siguientes elementos.

    \\r\\n

    1) Numero de orden de compra y/o folio.

    \\r\\n

    2) Importe y/o Sub-Total (Antes del Total).

    \\r\\n

    3) IVA.

    \\r\\n

    4) Total (Despues del IVA).

    \\r\\n

    5) Es necesario que el Sub-total, IVA y Total sean mayores al valor \\\"0\\\".

    \\r\\n
    \\r\\n

    \\r\\n En caso de que el archivo no pueda ser leido, verifique cada uno de los elementos antes mencionados, de no ser asi
    \\r\\n proceda a llenar manualmente los campos del formulario de orden de compra.\\r\\n

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n Manetener ventana abierta\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import { Component, Input, ElementRef, ViewChild, TemplateRef, ViewContainerRef, Output, EventEmitter } from '@angular/core';\r\nimport { ModalTemplate, TemplateModalConfig, SuiModalService, ActiveModal, IPopup, DatepickerMode, SuiDatepicker } from 'ng2-semantic-ui/dist';\r\nimport { HttpErrorResponse, HttpEventType, HttpEvent } from '@angular/common/http';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { FormaModal, Notificacion } from '../../compartida/indice';\r\nimport { Archivo, Sociedad, Proveedor, OrdenCompra } from '../../entidades/indice';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\nimport { getLocaleDateFormat } from '@angular/common';\r\nimport { toDate } from '@angular/common/src/i18n/format_date';\r\nimport { OrdencompraComponent } from './ordencompra.component';\r\n\r\n@Component({\r\n selector: 'forma-ordenes',\r\n templateUrl: 'forma.component.html'\r\n})\r\nexport class FormaOrdenCompra extends FormaModal {\r\n\r\n fechaActual: Date = new Date();\r\n @ViewChild('modalTemplateOrdenCompra') modalTemplate: ModalTemplate\r\n @ViewChild('forma', { read: NgForm }) forma: NgForm;\r\n @ViewChild('txtArchivo', { read: ElementRef }) txtarchivo: ElementRef;\r\n @ViewChild('flPdf', { read: ElementRef }) flPdf: ElementRef;\r\n // @ViewChild(OrdencompraComponent) frmOrdenCompra: OrdencompraComponent;\r\n @Output() procesoTerminado: EventEmitter = new EventEmitter();\r\n\r\n ordencompra: OrdenCompra;\r\n proveedores: Proveedor[];\r\n modoFecha = DatepickerMode.Date;\r\n constructor(public modalService: SuiModalService, private snotifyService: SnotifyService, private servicios: Servicios, private notificacion: Notificacion) {\r\n super(modalService);\r\n this.crearNuevo();\r\n this.cargarProveedores();\r\n }\r\n\r\n cargarProveedores() {\r\n this.servicios\r\n .proveedores\r\n .obtenerTodos()\r\n .subscribe(\r\n lista => {\r\n this.proveedores = lista;\r\n }\r\n );\r\n }\r\n\r\n crearNuevo(): void {\r\n this.ordencompra = new OrdenCompra();\r\n }\r\n\r\n abrirNuevo(): void {\r\n this.crearNuevo();\r\n this.abrir(\"Nuevo\", true);\r\n this.ordencompra.fechaRegistro = new Date;\r\n }\r\n\r\n cancelar(): void {\r\n this.cerrar();\r\n }\r\n\r\n enfocar(): void {\r\n \r\n }\r\n\r\n\r\n opRetencion(): void {\r\n let suma = this.ordencompra.subTotal + this.ordencompra.iva - this.ordencompra.retencion;\r\n this.ordencompra.total = suma;\r\n }\r\n\r\n\r\n opIva(): void {\r\n let suma = this.ordencompra.subTotal + this.ordencompra.iva - this.ordencompra.retencion;\r\n this.ordencompra.total = suma;\r\n }\r\n\r\n opSubTotal(): void {\r\n let suma = this.ordencompra.subTotal + this.ordencompra.iva - this.ordencompra.retencion;\r\n this.ordencompra.total = suma;\r\n }\r\n\r\n\r\n\r\n limpiar(): void {\r\n \r\n this.ordencompra.numero = null;\r\n this.ordencompra.iva = null\r\n this.ordencompra.subTotal = null;\r\n this.ordencompra.total = null;\r\n\r\n this.flPdf.nativeElement.value = \"\";\r\n this.ordencompra.fechaRegistro = new Date;\r\n }\r\n\r\n OC(): void {\r\n\r\n let datos = new FormData();\r\n let iva;\r\n let total;\r\n let pdf = (this.flPdf.nativeElement).files[0].name;\r\n\r\n this.ordencompra.numero = pdf.split(\".\")[0];\r\n this.ordencompra.subTotal = 0;\r\n this.ordencompra.total = 0;\r\n this.ordencompra.iva = 0;\r\n this.ordencompra.retencion = 0;\r\n\r\n\r\n //let datos = new FormData();\r\n //let iva;\r\n //let total;\r\n //let pdf = (this.flPdf.nativeElement).files[0];\r\n //datos.append(\"pdf\", pdf);\r\n\r\n\r\n //let observable = this.servicios.ordenCompra.leerPdf(datos);\r\n //observable\r\n // .subscribe(\r\n // archivo => {\r\n // if (archivo.numero != null) {\r\n // this.ordencompra.numero = archivo.numero;\r\n // }\r\n // else {\r\n // this.snotifyService.warning(\"No fue posible leer el campo No. Orden de compra\", {\r\n // closeOnClick: true,\r\n // pauseOnHover: true,\r\n // position: SnotifyPosition.centerTop\r\n // });\r\n // datos = null;\r\n // }\r\n\r\n // if (archivo.subTotal != null) {\r\n // this.ordencompra.subTotal = archivo.subTotal;\r\n // }\r\n // else {\r\n // this.snotifyService.warning(\"No fue posible leer el campo SubTotal\", {\r\n // closeOnClick: true,\r\n // pauseOnHover: true,\r\n // position: SnotifyPosition.centerTop\r\n // });\r\n // datos = null;\r\n // }\r\n // if (archivo.iva != null) {\r\n // this.ordencompra.iva = archivo.iva;\r\n // } else {\r\n // this.snotifyService.warning(\"No fue posible leer el campo IVA\", {\r\n // closeOnClick: true,\r\n // pauseOnHover: true,\r\n // position: SnotifyPosition.centerTop\r\n // });\r\n // datos = null;\r\n // }\r\n // if (archivo.total != null) {\r\n // this.ordencompra.total = archivo.total;\r\n // } else {\r\n // this.snotifyService.warning(\"No fue posible leer el campo Total\", {\r\n // closeOnClick: true,\r\n // pauseOnHover: true,\r\n // position: SnotifyPosition.centerTop\r\n // });\r\n // datos = null;\r\n // }\r\n // },\r\n // error => {\r\n // this.snotifyService.error(\"La orden de compra no contiene las caracteristicas solicitadas\", {\r\n // closeOnClick: true,\r\n // pauseOnHover: true,\r\n // position: SnotifyPosition.centerTop\r\n // });\r\n // datos = null;\r\n // }\r\n // );\r\n }\r\n\r\n guardar(): void { \r\n this.Procesando = true;\r\n let iva = this.ordencompra.iva;\r\n let subt = this.ordencompra.subTotal;\r\n if (iva <= 0) {\r\n this.Procesando = false;\r\n this.procesoTerminado.emit(true);\r\n this.notificacion.mostrarAdvertencia(\"El monto de IVA debe ser mayor a cero\");\r\n return;\r\n }\r\n if (subt <= 0) {\r\n this.Procesando = false;\r\n this.procesoTerminado.emit(true);\r\n this.notificacion.mostrarAdvertencia(\"El monto de Sub-Total debe ser mayor a cero\");\r\n return;\r\n }\r\n\r\n let proveedor = this.proveedores.find(s => s.idProveedor == this.ordencompra.idProveedor);\r\n let datos = new FormData();\r\n\r\n let pdf = (this.flPdf.nativeElement).files[0];\r\n datos.append(\"pdf\", pdf);\r\n\r\n datos.append(\"archivoJson\", JSON.stringify(this.ordencompra));\r\n\r\n let mensaje: string;\r\n mensaje = 'Orden de compra guardada con exito.';\r\n let observable = this.servicios.ordenCompra.guardarCompleto(datos);\r\n\r\n observable\r\n .subscribe(\r\n archivo => {\r\n this.notificacion.mostrarExito(mensaje);\r\n this.Procesando = false;\r\n this.procesoTerminado.emit(true);\r\n this.limpiar();\r\n \r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.Procesando = false;\r\n }\r\n );\r\n }\r\n \r\n\r\n recargarComponentes(): void {\r\n // this.frmOrdenCompra.recargarTabla();\r\n }\r\n\r\n\r\n\r\n}","module.exports = \"\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{ titulo }}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","import { Component, Renderer2, ViewChild, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { HttpErrorResponse, HttpClient } from '@angular/common/http';\r\nimport { Servicios, ServicioOrdenCompra } from '../../servicios/indice';\r\nimport { OrdenCompra, Proveedor } from '../../entidades/indice';\r\nimport { Notificacion, Confirmacion } from '../../compartida/indice';\r\nimport { DatepickerMode } from 'ng2-semantic-ui';\r\nimport { FormaOrdenCompra } from './forma.component';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n\r\n@Component({\r\n selector: 'app-ordencompra',\r\n templateUrl: './ordencompra.component.html',\r\n styleUrls: ['./ordencompra.component.css']\r\n})\r\nexport class OrdencompraComponent implements OnInit {\r\n titulo: string = \"Ordenes de compras\";\r\n idSeleccionado: number;\r\n Procesando: boolean;\r\n private oyente: () => void;\r\n @ViewChild('forma', { read: NgForm }) forma: NgForm;\r\n @Output() xmlOprimido: EventEmitter = new EventEmitter();\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n dtTrigger: Subject = new Subject();\r\n dtOptions: DataTables.Settings = {};\r\n @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n @ViewChild(FormaOrdenCompra) formaOrdenCompra: FormaOrdenCompra;\r\n\r\n proveedores: Proveedor[];\r\n ordenesCompra: OrdenCompra[];\r\n ordencompra: OrdenCompra;\r\n modoFecha = DatepickerMode.Date;\r\n tipoBusqueda = 0;\r\n mostrarDatos1: boolean;\r\n mostrarDatos2: boolean;\r\n\r\n\r\n constructor(private servicios: Servicios, private renderer: Renderer2, private notificacion: Notificacion) { }\r\n\r\n ngOnInit() {\r\n this.ordencompra = new OrdenCompra;\r\n this.cargarProveedores();\r\n this.cargarTabla();\r\n }\r\n\r\n actdvFecha1(valor): void {\r\n if (valor == 1) {\r\n this.mostrarDatos1 = true;\r\n this.mostrarDatos2 = false;\r\n this.ordencompra.fechaRegistroDesde = null;\r\n this.ordencompra.fechaRegistroHasta = null;\r\n }\r\n if (valor == 2) {\r\n this.mostrarDatos1 = false;\r\n this.mostrarDatos2 = true;\r\n this.ordencompra.fechaFinalDesde = null;\r\n this.ordencompra.fechaFinalHasta = null;\r\n }\r\n }\r\n\r\n cargarProveedores() {\r\n this.servicios\r\n .proveedores\r\n .ObtenerProveedores()\r\n .subscribe(\r\n lista => {\r\n this.proveedores = lista;\r\n }\r\n );\r\n }\r\n\r\n nuevo(): void {\r\n this.formaOrdenCompra.abrirNuevo();\r\n }\r\n\r\n limpiar(): void {\r\n this.forma.resetForm();\r\n\r\n this.mostrarDatos1 = false;\r\n this.mostrarDatos2 = false;\r\n this.tipoBusqueda = 0;\r\n\r\n this.recargarTabla();\r\n }\r\n\r\n buscar(): void {\r\n this.Procesando = true;\r\n this.recargarTabla();\r\n this.Procesando = false;\r\n }\r\n\r\n reporteExcel(): void {\r\n let observable = this.servicios\r\n .ordenCompra\r\n .obtenerReporteExcelC(this.ordencompra)\r\n .subscribe(\r\n xls => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([xls], { type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = \"Reporte_ordenes_de_compra\" + \".xlsx\";\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n );\r\n }\r\n\r\n cargarTabla(): void {\r\n this.dtOptions = {\r\n language: { url: '/js/espanol.json' },\r\n searching: false,\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios\r\n .ordenCompra\r\n .obtenerReporte(this.ordencompra)\r\n .subscribe(\r\n\r\n lista => {\r\n this.ordenesCompra = lista;\r\n callback({ data: lista });\r\n }\r\n );\r\n this.Procesando = false;\r\n },\r\n columns: [\r\n { title: '', data: 'idOrdenCompra', visible: false },\r\n { title: '', data: 'idProveedor', visible: false },\r\n { title: 'Proveedor', data: 'proveedorRazonSocial' },\r\n { title: 'Orden de Compra', data: 'numero' },\r\n { title: 'Fecha de alta ', data: 'fechaRegistro', render: (data: string) => (new Date(data)).toLocaleDateString() },\r\n {\r\n title: 'Estatus',\r\n data: 'cerrada',\r\n width: \"10%\",\r\n render: (data: any, type: any, full: OrdenCompra) => {\r\n\r\n if (full.cerrada == \"Cerrada\") {\r\n return `
    \r\n \r\n
    `;\r\n } else {\r\n return `
    \r\n \r\n
    `;\r\n }\r\n }\r\n },\r\n //{ title: 'Sub-Total', data: 'subTotal' },\r\n //{ title: 'IVA', data: 'iva' },\r\n { title: 'Total', data: 'total' },\r\n {\r\n title: 'Conciliado',\r\n data: 'montoCubierto',\r\n render: (data: any, type: any, full: OrdenCompra) => {\r\n return `` + (full.total < full.montoCubierto ? full.total : full.montoCubierto);\r\n }\r\n },\r\n {\r\n title: 'Por conciliar',\r\n data: 'porPagar',\r\n render: (data: any, type: any, full: OrdenCompra) => {\r\n return `` + (full.porPagar < 0 ? 0 : full.porPagar);\r\n }\r\n },\r\n {\r\n title: 'Opciones',\r\n data: 'idOrdenCompra',\r\n width: \"15%\",\r\n render: (data: any, type: any, full: OrdenCompra) => {\r\n return `
    \r\n \r\n \r\n
    `;\r\n }\r\n },\r\n {\r\n title: 'Cancelada',\r\n data: 'cancelada',\r\n width: \"5%\",\r\n render: (data: any, type: any, full: OrdenCompra) => {\r\n if (full.cancelada) {\r\n return `
    \r\n \r\n
    `;\r\n } else {\r\n return `
    \r\n \r\n
    `;\r\n }\r\n }\r\n }\r\n ]\r\n };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next();\r\n this.renderer.destroy();\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target;\r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let nombre = objetivo.getAttribute('data-nombre');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n this.idSeleccionado = id;\r\n if (tipo == 'pdf') {\r\n this.descargarPdf(this.idSeleccionado, nombre);\r\n }\r\n if (tipo == 'cerrar') {\r\n this.preguntarSiCerrarManualmente();\r\n }\r\n if (tipo == 'cancelar') {\r\n this.preguntarSiCancelar();\r\n }\r\n }\r\n });\r\n }\r\n\r\n preguntarSiCerrarManualmente(): void {\r\n this.confirmacion.open({\r\n texto: \"�Desea cerrar la orden de compra manualmente?\",\r\n textoCancelar: \"No\",\r\n textoOk: \"Si\",\r\n titulo: \"Confirmaci�n\",\r\n accionOk: this.cerrar.bind(this)\r\n });\r\n }\r\n\r\n cerrar() {\r\n this.servicios\r\n .ordenCompra\r\n .CerrarManualmente(this.idSeleccionado)\r\n .subscribe(\r\n cerrada => {\r\n if (cerrada == \"true\") {\r\n this.notificacion.mostrarExito(\"Orden de compra cerrada manualmente.\");\r\n this.recargarTabla();\r\n } else {\r\n this.notificacion.mostrarAdvertencia(\"La orden de compra ya ha sido cerrada anteriormente, verifique nuevamente.\");\r\n this.recargarTabla();\r\n }\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n }\r\n );\r\n }\r\n\r\n async preguntarSiCancelar(): Promise {\r\n const sePuede = await this.sePuedeCancelar();\r\n if (sePuede) {\r\n this.confirmacion.open({\r\n texto: \"�Desea cancelar la orden de compra?\",\r\n textoCancelar: \"No\",\r\n textoOk: \"Si\",\r\n titulo: \"Confirmaci�n\",\r\n accionOk: this.cancelar.bind(this)\r\n });\r\n }\r\n else {\r\n this.notificacion.mostrarAdvertencia(\"La orden de compra tiene facturas asignadas. No se puede cancelar.\");\r\n }\r\n }\r\n\r\n async sePuedeCancelar(): Promise {\r\n return await this.servicios.ordenCompra.sePuedeCancelar(this.idSeleccionado).toPromise();\r\n }\r\n\r\n cancelar() {\r\n this.servicios\r\n .ordenCompra\r\n .cancelar(this.idSeleccionado)\r\n .subscribe(\r\n cerrada => {\r\n if (cerrada == \"true\") {\r\n this.notificacion.mostrarExito(\"Orden de compra cancelada.\");\r\n this.recargarTabla();\r\n } else {\r\n this.notificacion.mostrarAdvertencia(\"La orden de compra ya ha sido cancelada anteriormente, verifique nuevamente.\");\r\n this.recargarTabla();\r\n }\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n }\r\n );\r\n }\r\n\r\n\r\n descargarPdf(id: number, nombre: string): void {\r\n let observable = this.servicios\r\n .ordenCompra\r\n .descargarPdf(id)\r\n .subscribe(\r\n pdf => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([pdf], { type: \"octet/stream\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = nombre + \".pdf\";\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n );\r\n }\r\n\r\n public recargarTabla(): void {\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n console.log('ordenesCompra-->', this.ordenesCompra);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.oyente();\r\n this.formaOrdenCompra.cancelar();\r\n }\r\n}\r\n","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, TemplateRef, ViewChild, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormaPagos } from './forma.component';\r\nimport { Sociedad } from '../../entidades/indice';\r\nimport { TablaCatalogoPagos } from './tabla.component';\r\n\r\n@Component({\r\n selector: \"catalogo-pagos\",\r\n templateUrl: \"catalogo.component.html\"\r\n})\r\nexport class CatalogoPagos implements OnDestroy {\r\n @ViewChild(FormaPagos) formPagos: FormaPagos;\r\n @ViewChild(TablaCatalogoPagos) tablaCatalogo: TablaCatalogoPagos;\r\n\r\n titulo: string = \"Validación de Pagos\";\r\n\r\n nuevo(): void {\r\n this.formPagos.abrirNuevo();\r\n }\r\n\r\n recargarTabla(): void {\r\n this.tablaCatalogo.recargarTabla();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.formPagos.cancelar();\r\n }\r\n}","module.exports = \"\\r\\n
    {{titulo}}
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n Pago individual\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n {{errorComplemento}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Facturas relacionadas\\r\\n
      \\r\\n
    • \\r\\n {{u}}\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Los totales no coinciden*\\r\\n
    \\r\\n
    \\r\\n El complemento contiene la factura {{pago.facPue}} con método de pago PUE, deberá cancelar el complemento y excluir dicha factura*\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Manetener ventana abierta\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \"","import { DetallesArchivo } from './../../entidades/detallesArchivo';\r\nimport { Component, ElementRef, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { ModalTemplate, SuiModalService } from 'ng2-semantic-ui/dist';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { NgForm } from '@angular/forms';\r\nimport { FormaModal, Notificacion } from '../../compartida/indice';\r\nimport { Configuracion, Pago } from '../../entidades/indice';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\nimport { a } from '@angular/core/src/render3';\r\nimport { ClassGetter } from '@angular/compiler/src/output/output_ast';\r\n\r\n@Component({\r\n selector: 'forma-pagos',\r\n templateUrl: 'forma.component.html'\r\n})\r\nexport class FormaPagos extends FormaModal {\r\n\r\n @ViewChild('modalTemplatePago') modalTemplate: ModalTemplate\r\n @ViewChild('forma', { read: NgForm }) forma: NgForm;\r\n @ViewChild('flXml', { read: ElementRef }) flXml: ElementRef;\r\n @ViewChild('flPdf', { read: ElementRef }) flPdf: ElementRef;\r\n\r\n @Output() procesoTerminado: EventEmitter = new EventEmitter();\r\n pago = new Pago();\r\n facturas: DetallesArchivo[];\r\n totalFacturas: number;\r\n permitirIngresoFacturasSinComplemento = false;\r\n xmlInvalido = false;\r\n errorComplemento = '';\r\n configuracion: Configuracion;\r\n\r\n\r\n get totalesCoinciden(): boolean {\r\n\r\n let coincide = false;\r\n\r\n if ((this.flXml.nativeElement).files.length > 0 && this.totalFacturas && this.pago.total) {\r\n if (this.totalFacturas.toFixed(2) == this.pago.total.toFixed(2)) {\r\n coincide = true;\r\n return coincide;\r\n } else {\r\n\r\n //OBTENGO DIFERENCIA\r\n let diferencia = Number((this.pago.total - this.totalFacturas).toFixed(2));\r\n\r\n let maximo = Number(this.configuracion.importeMaximo);\r\n let minimo = this.configuracion.importeMinimo;\r\n\r\n //DIFERENCIA\r\n if (diferencia <= maximo && diferencia >= minimo) {\r\n coincide = true;\r\n } else {\r\n coincide = false;\r\n }\r\n\r\n }\r\n }\r\n\r\n return coincide;\r\n\r\n // return (this.flXml.nativeElement).files.length > 0 && this.totalFacturas && this.pago.total &&\r\n // this.totalFacturas.toFixed(2) == this.pago.total.toFixed(2)\r\n }\r\n\r\n get esPue(): boolean {\r\n return this.pago.pue;\r\n }\r\n // @ViewChild(TablaCatalogoPagos) tablaCatArchivos: TablaCatalogoPagos;\r\n // @ViewChild(CatalogoPagos) CatArchivos: CatalogoPagos;\r\n\r\n constructor(public modalService: SuiModalService, private snotifyService: SnotifyService, private servicios: Servicios, private notificacion: Notificacion) {\r\n super(modalService);\r\n this.crearNuevo();\r\n this.obtenerFacturas();\r\n this.obtenerTolerancia();\r\n let idCoorporativo = 1;\r\n this.permitirIngresoFacturasSinComplemento = false;\r\n let credenciales = JSON.parse(localStorage.getItem('credencial'));\r\n if (credenciales && credenciales.idTipoUsuario) {\r\n\r\n idCoorporativo = credenciales.idCorporativo ? credenciales.idCorporativo : 1;\r\n }\r\n let observable = this.servicios.configuracion.obtener(idCoorporativo);\r\n observable\r\n .subscribe(\r\n confs => {\r\n this.permitirIngresoFacturasSinComplemento = confs.permitirIngresoFacturasSinComplemento;\r\n },\r\n error => {\r\n }\r\n );\r\n\r\n }\r\n\r\n obtenerTolerancia() {\r\n this.servicios.configuracion.obtenerTodos().subscribe(async (conf) => {\r\n this.configuracion = conf.find((c) => c.id == 1);\r\n });\r\n }\r\n\r\n obtenerFacturas() {\r\n this.servicios\r\n .archivos\r\n .detallesArchivoSinComplementoPago()\r\n .subscribe(\r\n facturas => {\r\n this.facturas = facturas;\r\n }\r\n );\r\n }\r\n\r\n async crearNuevo(): Promise {\r\n this.pago = new Pago();\r\n }\r\n\r\n async XML(): Promise {\r\n let datos = new FormData();\r\n let iva;\r\n let total;\r\n\r\n let xml = (this.flXml.nativeElement).files[0];\r\n datos.append(\"xml\", xml);\r\n let nombre = xml.name.substring(0, xml.name.indexOf('.'));\r\n let archivoresult = await this.servicios.archivos\r\n .leerXML(datos, 1)\r\n .toPromise();\r\n if (!this.validarComplemento(archivoresult)) {\r\n this.xmlInvalido = true;\r\n return;\r\n } else {\r\n const idsArchivo = this.pago.archivosId ? this.pago.archivosId.toString() : '';\r\n datos.append(\"idsFactura\", idsArchivo);\r\n this.servicios.pagos.leerXML(datos).toPromise()\r\n .then(pago => {\r\n this.pago.total = pago.total;\r\n this.pago.uuids = pago.uuids;\r\n this.totalFacturas = pago.archivoTotal;\r\n this.pago.pue = pago.pue;\r\n this.pago.facPue = pago.facPue;\r\n })\r\n .catch(error => {\r\n console.log(error, error);\r\n this.snotifyService.error(\"Error al cargar el archivo XML, verifique nuevamente\", {\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n datos = null;\r\n })\r\n let pago = await this.servicios.pagos.leerXML(datos).toPromise()\r\n .catch(error => {\r\n\r\n });\r\n }\r\n }\r\n\r\n abrirNuevo(): void {\r\n this.crearNuevo();\r\n this.abrir(\"Nuevo\", true);\r\n }\r\n\r\n cancelar(): void {\r\n this.cerrar();\r\n }\r\n\r\n enfocar(): void { }\r\n\r\n limpiar(): void {\r\n this.flPdf.nativeElement.value = \"\";\r\n this.flXml.nativeElement.value = \"\";\r\n this.pago = new Pago();\r\n this.totalFacturas = 0;\r\n }\r\n\r\n // calcularTotalFacturas()\r\n // {\r\n // const ids = this.pago.archivosId;\r\n // const selecciondas = this.facturas.filter(f => ids.includes(f.idArchivo)).map(f => f.total);\r\n // this.totalFacturas = selecciondas.reduce((a,b) => (a + b), 0);\r\n // }\r\n\r\n guardar(): void {\r\n this.Procesando = true;\r\n\r\n let datos = new FormData();\r\n let xml = (this.flXml.nativeElement).files[0];\r\n let nombre = xml.name.substring(0, xml.name.indexOf('.'))\r\n this.pago.nombrePago = nombre;\r\n datos.append(\"xml\", xml);\r\n\r\n let pdf = (this.flPdf.nativeElement).files[0];\r\n datos.append(\"pdf\", pdf);\r\n\r\n datos.append(\"pagoJson\", JSON.stringify(this.pago));\r\n\r\n let mensaje: string;\r\n mensaje = 'Pago guardado.';\r\n let observable = this.servicios.pagos.guardarCompleto(datos);\r\n\r\n observable\r\n .subscribe(\r\n archivo => {\r\n this.notificacion.mostrarExito(mensaje);\r\n this.Procesando = false;\r\n this.limpiar();\r\n this.procesoTerminado.emit(true);\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.Procesando = false;\r\n }\r\n );\r\n }\r\n\r\n public validarComplemento(archivoXml: any): boolean {\r\n\r\n if (this.permitirIngresoFacturasSinComplemento) {\r\n if (String(archivoXml.metodoPago) === 'PPD') {\r\n if (String(archivoXml.formaPago) === '99') {\r\n this.errorComplemento = 'El método de pago es PPD la forma de pago debe ser 99 por definir';\r\n this.xmlInvalido = true;\r\n return false;\r\n }\r\n } else if (String(archivoXml.metodoPago) === 'PUE') {\r\n if (String(archivoXml.formaPago) !== '99') {\r\n this.errorComplemento = 'El método de pago es PUE la forma de pago deberá ser diferente a 99r';\r\n this.xmlInvalido = true;\r\n return false;\r\n }\r\n }\r\n this.xmlInvalido = false;\r\n return true;\r\n } else {\r\n this.xmlInvalido = false;\r\n return true;\r\n }\r\n\r\n }\r\n\r\n}","module.exports = \"\\r\\n
    \\r\\n\"","import { Component, Renderer2, ViewChild, Output, EventEmitter, OnInit, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { Subject } from 'rxjs';\r\nimport { Confirmacion } from '../../compartida/indice';\r\nimport { Pago } from '../../entidades/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { StringifyOptions } from 'querystring';\r\n\r\n@Component({\r\n selector: 'tabla-pagos',\r\n templateUrl: 'tabla.component.html'\r\n})\r\nexport class TablaCatalogoPagos implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n dtOptions: DataTables.Settings = {};\r\n dtTrigger: Subject = new Subject();\r\n @Output() xmlOprimido: EventEmitter = new EventEmitter();\r\n @Output() pdfOprimido: EventEmitter = new EventEmitter();\r\n private oyente: () => void;\r\n pagos: Pago[];\r\n\r\n constructor(private servicios: Servicios, private renderer: Renderer2) { }\r\n\r\n ngOnInit(): void {\r\n this.cargarTabla();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next();\r\n\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target;\r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let nombre = objetivo.getAttribute('data-nombre');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n if (tipo == 'xml') {\r\n this.descargarXml(id, nombre);\r\n } else {\r\n this.descargarPdf(id, nombre);\r\n }\r\n }\r\n });\r\n }\r\n\r\n descargarPdf(id: number, nombre: string): void {\r\n let observable = this.servicios\r\n .pagos\r\n .descargarPdf(id)\r\n .subscribe(\r\n pdf => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([pdf], { type: \"octet/stream\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = nombre + \".pdf\";\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n );\r\n }\r\n\r\n descargarXml(id: number, nombre: string): void {\r\n let observable = this.servicios\r\n .pagos\r\n .descargarXml(id)\r\n .subscribe(\r\n xml => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([xml], { type: \"octet/stream\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = nombre + \".xml\";\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n );\r\n }\r\n\r\n cargarTabla(): void {\r\n this.dtOptions = {\r\n language: { url: '/js/espanol.json' },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios\r\n .pagos\r\n .obtenerTodos()\r\n .subscribe(pagos => {\r\n this.pagos = pagos;\r\n callback({ data: pagos });\r\n });\r\n },\r\n columns: [\r\n { title: 'Id', data: 'idPago', visible: false },\r\n { title: 'Sociedad', data: 'sociedadNombreComercial' },\r\n { title: 'Folio de complemento', data: 'nombrePago' },\r\n { title: 'OC Relacionadas', data: 'ocRel' },\r\n { title: 'Facts Relacionadas', data: 'facturasRel' },\r\n { title: 'Fecha', data: 'fechaRegistro', render: (data: string) => (new Date(data)).toLocaleDateString()},\r\n { title: 'Total', data: 'total' },\r\n {\r\n title: 'Opciones',\r\n data: 'idPago',\r\n width: \"15%\",\r\n render: (data: any, type: any, full: Pago) => {\r\n return `
    \r\n \r\n \r\n
    `;\r\n }\r\n }\r\n ]\r\n };\r\n }\r\n\r\n public recargarTabla(): void {\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n // Destroy the table first\r\n dtInstance.destroy();\r\n // Call the dtTrigger to rerender again\r\n this.dtTrigger.next();\r\n });\r\n\r\n //this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n // dtInstance.ajax.reload();\r\n //});\r\n\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.oyente();\r\n }\r\n}","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import { Component, TemplateRef, ViewChild, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormaProveedor } from './forma.component';\r\nimport { Proveedor } from '../../entidades/indice';\r\nimport { TablaCatalogoProveedor } from './tabla.component';\r\nimport { SuiModalService } from 'ng2-semantic-ui';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Notificacion } from '../../compartida/indice';\r\n\r\n@Component({\r\n selector: \"catalogo-proveedor\",\r\n templateUrl: \"catalogo.component.html\"\r\n})\r\nexport class CatalogoProveedor implements OnDestroy {\r\n titulo: string = \"Proveedor\";\r\n procesando: boolean;\r\n proveedor: Proveedor;\r\n\r\n constructor(public modalService: SuiModalService, private servicios: Servicios, private notificacion: Notificacion) {\r\n }\r\n\r\n ngOnInit() {\r\n this.proveedor = new Proveedor;\r\n this.cargarProveedor();\r\n }\r\n\r\n cargarProveedor(): void {\r\n let idProveedor = this.servicios.autenticacion.credencial.idUsuario;\r\n\r\n let observable = this.servicios.proveedores.obtener(idProveedor);\r\n observable\r\n .subscribe(\r\n proveedor => {\r\n this.proveedor = proveedor;\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarExito(httpError.error);\r\n this.procesando = false;\r\n }\r\n );\r\n }\r\n\r\n guardar(): void {\r\n this.procesando = true;\r\n let mensaje = \"Datos actualizados.\";\r\n let contrasenaFicticia = \"-\";\r\n this.proveedor.confirmarContrasena = contrasenaFicticia;\r\n this.proveedor.contrasena = contrasenaFicticia;\r\n let observable = this.servicios.proveedores.actualizar(this.proveedor.idProveedor.toString(), this.proveedor);\r\n observable\r\n .subscribe(\r\n proveedores => {\r\n this.notificacion.mostrarExito(mensaje);\r\n this.procesando = false;\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.procesando = false;\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n}\r\n","module.exports = \"\\r\\n
    {{titulo}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n La contraseña se compone mínimo una mayúscula, un número, un caracter especial y una longitud de 8 caracteres *\\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Manetener ventana abierta\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import { Component, Input, ElementRef, ViewChild, TemplateRef, ViewContainerRef, Output, EventEmitter } from '@angular/core';\r\nimport { ModalTemplate, TemplateModalConfig, SuiModalService, ActiveModal, IPopup } from 'ng2-semantic-ui/dist';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { FormaModal, Notificacion } from '../../compartida/indice';\r\nimport { Proveedor } from '../../entidades/indice';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { RecaptchaComponent } from 'ng-recaptcha';\r\n\r\n@Component({\r\n selector: 'forma-proveedor',\r\n templateUrl: 'forma.component.html'\r\n})\r\nexport class FormaProveedor extends FormaModal {\r\n @ViewChild('modalTemplateProveedor') modalTemplate: ModalTemplate\r\n @ViewChild('forma', { read: NgForm }) forma: NgForm;\r\n @ViewChild('txtProveedor', { read: ElementRef }) txtproveedor: ElementRef;\r\n @ViewChild('captcha', { read: RecaptchaComponent }) reCaptcha: RecaptchaComponent;\r\n\r\n @Output() procesoTerminado: EventEmitter = new EventEmitter();\r\n proveedor: Proveedor;\r\n tipoProceso: \"editar\"|\"nuevo\"|\"registro\";\r\n\r\n constructor(public modalService: SuiModalService, private servicios: Servicios, private notificacion: Notificacion) {\r\n super(modalService);\r\n this.crearNuevo();\r\n }\r\n\r\n crearNuevo(): void {\r\n this.proveedor = new Proveedor();\r\n }\r\n\r\n abrirRegistrar(): void {\r\n this.crearNuevo();\r\n this.tipoProceso = \"registro\"\r\n this.abrir(\"Registro de proveedor\", false);\r\n }\r\n\r\n abrirNuevo(): void {\r\n this.crearNuevo();\r\n this.tipoProceso = \"nuevo\"\r\n this.abrir(\"Nuevo\", true);\r\n }\r\n\r\n abrirEditar(): void {\r\n this.tipoProceso = \"editar\"\r\n this.abrir(\"Editar\", false);\r\n }\r\n\r\n cancelar(): void {\r\n this.cerrar();\r\n }\r\n\r\n enfocar(): void {\r\n this.txtproveedor.nativeElement.focus()\r\n }\r\n\r\n limpiar(): void {\r\n this.forma.resetForm();\r\n this.proveedor = new Proveedor();\r\n if (!this.MantenerAbierto) {\r\n this.cerrar();\r\n }\r\n this.enfocar();\r\n }\r\n\r\n captchaResuelto(respuestaCaptcha: string): void {\r\n console.log(`Resolved captcha with response ${respuestaCaptcha}:`);\r\n }\r\n \r\n guardar(): void {\r\n this.Procesando = true;\r\n\r\n let observable: Observable;\r\n let mensaje: string;\r\n if (this.tipoProceso == \"editar\") {\r\n mensaje = 'Proveedor actualizada.';\r\n observable = this.servicios.proveedores.actualizar(this.proveedor.idProveedor.toString(), this.proveedor) \r\n } else {\r\n mensaje = 'Proveedor guardada.';\r\n observable = this.servicios.proveedores.guardar(this.proveedor);\r\n }\r\n\r\n if (this.tipoProceso == \"registro\") {\r\n mensaje = 'Proveedor registrado. Se le enviará un correo electrónico cuando se termine la validación de la informacion';\r\n }\r\n\r\n observable\r\n .subscribe(\r\n proveedores => {\r\n this.notificacion.mostrarExito(mensaje);\r\n this.Procesando = false;\r\n this.limpiar();\r\n this.procesoTerminado.emit(true);\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.Procesando = false;\r\n this.reCaptcha.reset();\r\n }\r\n );\r\n }\r\n}","module.exports = \"\"","module.exports = \"
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n Limpiar\\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, Renderer2, ViewChild, OnInit, AfterViewInit } from '@angular/core';\r\nimport { DataTableDirective } from 'angular-datatables';\r\nimport { Subject } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { Proveedor } from '../../entidades/proveedor';\r\nimport { Notificacion } from '../../compartida/indice';\r\nimport { Configuracion } from '../../entidades/indice';\r\nimport { ProveedoresSapComponent } from '../../compartida/proveedores-sap/proveedores-sap.component';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-proveedor',\r\n templateUrl: './proveedor.component.html',\r\n styleUrls: ['./proveedor.component.css']\r\n})\r\nexport class ProveedorComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n titulo: string = \"Proveedores\";\r\n @ViewChild(ProveedoresSapComponent) proveedoresSap: ProveedoresSapComponent;\r\n\r\n dtOptions: DataTables.Settings = {};\r\n dtTrigger: Subject = new Subject();\r\n private oyente: () => void;\r\n idConfiguracion: number;\r\n proveedoresBase: Proveedor[];\r\n proveedores: Proveedor[];\r\n sociedades: any[] = [];\r\n sociedad: any;\r\n proveedor: Proveedor;\r\n configuracion: Configuracion;\r\n tipoOrdenCompraId: number;\r\n constructor(\r\n private servicios: Servicios, \r\n private renderer: Renderer2, \r\n private notificacion: Notificacion) {\r\n this.configuracion = new Configuracion();\r\n this.proveedor = new Proveedor();\r\n\r\n }\r\n\r\n async ngOnInit() {\r\n this.cargarSociedades();\r\n this.cargarTabla();\r\n await this.cargarConfiguracion();\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n if (this.tipoOrdenCompraId === 1) {\r\n dtInstance.column(8).visible(true);\r\n } else {\r\n dtInstance.column(8).visible(false);\r\n }\r\n });\r\n }\r\n\r\n cargarSociedades(){\r\n this.servicios.sociedades\r\n .obtenerTodos()\r\n .pipe(first())\r\n .subscribe(async (sociedades) => { \r\n this.sociedades = sociedades; \r\n });\r\n }\r\n\r\n seleccionarSociedad(sociedad: any) { \r\n this.sociedad = sociedad; \r\n this.cargarTabla();\r\n this.recargarTabla();\r\n }\r\n\r\n limpiar() {\r\n this.sociedad = null; \r\n this.cargarTabla();\r\n this.recargarTabla();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next();\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target;\r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n if (tipo == 'a') {\r\n this.servicios\r\n .proveedores\r\n .autorizarProveedor(id)\r\n .subscribe(\r\n autorizo => {\r\n this.proveedor = autorizo;\r\n var auto = autorizo.autorizado.toString();\r\n if (auto == \"true\") {\r\n this.notificacion.mostrarExito(\"Proveedor autorizado.\");\r\n this.notificacion.mostrarExito(\"Correo enviado al proveedor\");\r\n\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n\r\n });\r\n\r\n } else {\r\n this.notificacion.mostrarExito(\"Proveedor no autorizado\");\r\n\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n\r\n }\r\n\r\n }, error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n });\r\n }\r\n\r\n if (tipo == 'b') {\r\n this.servicios\r\n .proveedores\r\n .aplicaProveedorOrdenCompra(id)\r\n .subscribe(\r\n proveedor => {\r\n\r\n if (proveedor.aplicaOrdenCompra.toString() == \"true\") {\r\n this.notificacion.mostrarExito(\"El proveedor aplica orden de compra.\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n\r\n } else {\r\n this.notificacion.mostrarExito(\"El proveedor no aplica orden de compra.\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n \r\n });\r\n }\r\n\r\n }, error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n });\r\n }\r\n\r\n if (tipo == 'c') {\r\n this.servicios\r\n .proveedores\r\n .aplicaProveedorConOSinOrdenCompra(id)\r\n .subscribe(\r\n proveedor => {\r\n\r\n if (proveedor.aplicaConOSinOrdenCompra.toString() == \"true\") {\r\n this.notificacion.mostrarExito(\"El proveedor aplica con orden de compra.\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n\r\n } else {\r\n this.notificacion.mostrarExito(\"El proveedor aplica sin orden de compra.\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n \r\n });\r\n }\r\n\r\n }, error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n });\r\n }\r\n\r\n if(tipo == 'd'){\r\n this.servicios\r\n .proveedores\r\n .permitirFacturasMesAnterior(id)\r\n .subscribe(\r\n proveedor => {\r\n\r\n if (proveedor.permitirFacturasMesAnterior) {\r\n this.notificacion.mostrarExito(\"El proveedor puede subir facturas del mes anterior.\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n\r\n } else {\r\n this.notificacion.mostrarExito(\"El proveedor no puede subir facturas del mes anterior.\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n }\r\n\r\n }, error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n });\r\n }\r\n\r\n if(tipo == 'e'){\r\n //this.proveedoresSap.recargarTabla();\r\n this.proveedoresSap.abrir('Seleccionar', false);\r\n }\r\n\r\n if(tipo == 'f'){\r\n this.servicios\r\n .proveedores\r\n .aplicaPruebasEntrega(id)\r\n .then(aplicaPruebas => {\r\n if (aplicaPruebas) {\r\n this.notificacion.mostrarExito(\"El proveedor aplica pruebas entrega.\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n\r\n } else {\r\n this.notificacion.mostrarExito(\"El proveedor no aplica pruebas entrega.\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n \r\n });\r\n }\r\n })\r\n .catch(error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n }); \r\n }\r\n }\r\n });\r\n }\r\n cargarTabla(): void {\r\n\r\n var n = 0;\r\n this.dtOptions = {\r\n language: { url: '/js/espanol.json' },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios\r\n .proveedores\r\n .listaProveedores(this.proveedor)\r\n .subscribe( \r\n lista => { \r\n this.proveedoresBase = lista; \r\n if (this.sociedad) {\r\n if (String(this.sociedad) === '1') {\r\n this.proveedores = _.cloneDeep(this.proveedoresBase).filter(mProveedor => mProveedor.codigo); \r\n } else {\r\n this.proveedores = _.cloneDeep(this.proveedoresBase).filter(mProveedor => mProveedor.codigoVexan); \r\n } \r\n } else {\r\n this.proveedores = this.proveedoresBase;\r\n } \r\n callback({ data: this.proveedores });\r\n }\r\n );\r\n },\r\n columnDefs: [\r\n { className: \"dt-center\", targets: [0] },\r\n ],\r\n columns: [\r\n { title: '', data: 'idProveedor', visible: false },\r\n { title: 'Código Motion', data: 'codigo'},\r\n { title: 'Código Vexan', data: 'codigoVexan'},\r\n // { title: 'Código', data: 'codigo',\r\n // render: function (data: any, type: any, full: any) {\r\n // return `
    \r\n // \r\n //
    `;\r\n // } \r\n // },\r\n { title: 'Razón Social', data: 'razonSocial' },\r\n { title: 'RFC', data: 'rfc' },\r\n {\r\n title: 'Fecha de registro', data: 'fechaRegistro', render: function (data) {\r\n if (data === null) return \"\";\r\n var fecha = null;\r\n if (data != null && data != '') {\r\n var date = data.split('T');\r\n fecha = date[0];\r\n return fecha;\r\n }\r\n }\r\n },\r\n { title: 'Activo', data: 'activo' },\r\n {\r\n title: 'Fecha de autorización', data: 'fechaAutorizacion', render: function (data) {\r\n if (data === null) return \"\";\r\n var fecha = null;\r\n if (data != null && data != '') {\r\n var date = data.split('T');\r\n fecha = date[0];\r\n return fecha;\r\n }\r\n }\r\n },\r\n {\r\n title: 'Autorización',\r\n data: 'autorizado',\r\n width: \"10%\",\r\n render: (data: any, type: any, full: Proveedor) => {\r\n if (full.autorizado != null) {\r\n //var resp = `';\r\n //n++;\r\n //return resp;\r\n\r\n\r\n if (full.autorizado == \"Autorizado\") {\r\n\r\n return `
    \r\n \r\n
    `;\r\n }\r\n else {\r\n return `
    \r\n \r\n
    `;\r\n\r\n }\r\n }\r\n }\r\n },\r\n {\r\n title: 'Aplica Orden de Compra',\r\n data: 'aplicaOrdenCompra',\r\n width: \"15%\",\r\n render: (data: any, type: any, full: Proveedor) => {\r\n if (full.aplicaOrdenCompra != null) {\r\n if (full.aplicaOrdenCompra == \"Si\") {\r\n\r\n return `
    \r\n \r\n
    `;\r\n }\r\n else {\r\n return `
    \r\n \r\n
    `;\r\n\r\n }\r\n }\r\n }\r\n },\r\n {\r\n title: 'Aplica con o sin orden de Compra',\r\n data: 'aplicaOrdenCompra',\r\n width: \"15%\",\r\n render: (data: any, type: any, full: Proveedor) => {\r\n if (full.aplicaConOSinOrdenCompra != null) {\r\n if (full.aplicaConOSinOrdenCompra == \"Si\") {\r\n\r\n return `
    \r\n \r\n
    `;\r\n }\r\n else {\r\n return `
    \r\n \r\n
    `;\r\n\r\n }\r\n }\r\n }\r\n },\r\n {\r\n title: 'Permitir facturas del mes anterior',\r\n data: 'permitirFacturasMesAnterior',\r\n width: \"15%\",\r\n render: (data: any, type: any, full: Proveedor) => {\r\n \r\n if (full.permitirFacturasMesAnterior) {\r\n\r\n return `
    \r\n \r\n
    `;\r\n }\r\n else {\r\n return `
    \r\n \r\n
    `;\r\n\r\n }\r\n }\r\n },\r\n {\r\n title: 'Aplica pruebas entrega',\r\n data: 'aplicaPruebasEntrega',\r\n width: \"15%\",\r\n render: (data: any, type: any, full: Proveedor) => { \r\n if (full.aplicaPruebasEntrega) {\r\n\r\n return `
    \r\n \r\n
    `;\r\n }\r\n else {\r\n return `
    \r\n \r\n
    `;\r\n\r\n }\r\n }\r\n }\r\n ]\r\n };\r\n \r\n }\r\n\r\n public recargarTabla(): void {\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.destroy();\r\n this.dtTrigger.next();\r\n });\r\n }\r\n\r\n public async cargarConfiguracion(): Promise {\r\n this.idConfiguracion = this.servicios.autenticacion.credencial.idCorporativo;\r\n let configuracion = await this.servicios.configuracion.obtener(this.idConfiguracion).toPromise();\r\n if (configuracion != null) {\r\n this.tipoOrdenCompraId = configuracion.tipoOrdenCompraId;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.oyente();\r\n }\r\n\r\n asignarCodigoProveedor(event: any){\r\n }\r\n}\r\n\r\n","module.exports = \"\\r\\n
    \\r\\n\"","import { Component, Renderer2, ViewChild, Output, EventEmitter, OnInit, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { Subject } from 'rxjs';\r\nimport { Confirmacion, Notificacion } from '../../compartida/indice';\r\nimport { Proveedor } from '../../entidades/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Servicios } from '../../servicios/indice';\r\n\r\n@Component({\r\n selector: 'tabla-proveedor',\r\n templateUrl: 'tabla.component.html'\r\n})\r\nexport class TablaCatalogoProveedor implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n dtOptions: DataTables.Settings = {};\r\n dtTrigger: Subject = new Subject();\r\n @Output() editarOprimido: EventEmitter = new EventEmitter();\r\n @Output() eliminarOprimido: EventEmitter = new EventEmitter();\r\n private oyente: () => void;\r\n proveedores: Proveedor[];\r\n idSeleccionado: number;\r\n\r\n constructor(private servicios: Servicios, private renderer: Renderer2, private notificacion: Notificacion) { }\r\n\r\n ngOnInit(): void {\r\n this.cargarTabla();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next();\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target;\r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n if (tipo == 'a') {\r\n this.editar(id);\r\n } else {\r\n this.idSeleccionado = id;\r\n this.preguntarSieliminar();\r\n }\r\n }\r\n });\r\n }\r\n\r\n editar(id: number): void {\r\n let sociedad = this.proveedores.find(u => u.idProveedor == id);\r\n this.editarOprimido.emit(sociedad);\r\n }\r\n\r\n preguntarSieliminar(): void {\r\n this.confirmacion.open({\r\n texto: \"¿Seguro que desea continuar?\",\r\n textoCancelar: \"No\",\r\n textoOk: \"Si\",\r\n titulo: \"Confirmacion\"\r\n });\r\n }\r\n\r\n eliminar() {\r\n this.servicios\r\n .proveedores\r\n .eliminar(this.idSeleccionado.toString())\r\n .subscribe(\r\n eliminado => {\r\n this.notificacion.mostrarExito(\"Proveedor eliminada.\");\r\n this.recargarTabla();\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n }\r\n );\r\n }\r\n\r\n cargarTabla(): void {\r\n this.dtOptions = {\r\n language: {url: '/js/espanol.json'},\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios\r\n .proveedores\r\n .obtenerTodos()\r\n .subscribe(proveedores => {\r\n this.proveedores = proveedores;\r\n callback({ data: proveedores });\r\n });\r\n },\r\n columns: [\r\n { title: 'Id', data: 'id', visible: false },\r\n { title: 'Codigo', data: 'codigo' },\r\n { title: 'RFC', data: 'rfc' },\r\n { title: 'Razón social', data: 'razonSocial' },\r\n { title: 'Nombre', data: 'nombreComercial' },\r\n {\r\n title: 'Opciones',\r\n data: 'id',\r\n width: \"15%\",\r\n render: function (data: any, type: any, full: any) {\r\n return `
    \r\n \r\n \r\n
    `;\r\n }\r\n }\r\n ]\r\n };\r\n }\r\n\r\n public recargarTabla(): void {\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n // Destroy the table first\r\n dtInstance.destroy();\r\n // Call the dtTrigger to rerender again\r\n this.dtTrigger.next();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.oyente();\r\n }\r\n\r\n}","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{ titulo }}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, Renderer2, TemplateRef, ViewChild, OnInit, OnDestroy } from '@angular/core';\r\nimport { Corporativo } from '../../entidades/indice';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { SuiModalService } from 'ng2-semantic-ui';\r\nimport { Notificacion } from '../../compartida/indice';\r\nimport { Confirmacion } from '../../compartida/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { DataTableDirective } from 'angular-datatables';\r\n\r\n@Component({\r\n selector: \"catalogo-corporativo\",\r\n templateUrl: \"catalogo.component.html\"\r\n})\r\nexport class CatalogoReenvioCorreoPruebasEntrega implements OnInit {\r\n titulo: string = \"Reenvio correo pruebas de entrega\";\r\n procesando: boolean;\r\n corporativo: Corporativo;\r\n Procesando: boolean;\r\n dtOptions: DataTables.Settings = {};\r\n private oyente: () => void;\r\n idSeleccionado: number;\r\n @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n\r\n constructor(public modalService: SuiModalService, private servicios: Servicios, private renderer: Renderer2, private notificacion: Notificacion) {\r\n }\r\n\r\n ngOnInit() {\r\n this.cargarTabla();\r\n }\r\n\r\n reporteExcel(): void { }\r\n\r\n cargarTabla(): void {\r\n this.dtOptions = {\r\n language: { url: \"/js/espanol.json\" },\r\n searching: true,\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios.ordenCompra\r\n .obtenerPruebasEntregaSinEnviar()\r\n .subscribe((lista) => {\r\n callback({ data: lista });\r\n });\r\n this.Procesando = false;\r\n },\r\n columns: [\r\n { title: \"\", data: \"archivoPruebaId\", visible: false },\r\n { title: \"Proveedor\", data: \"proveedor\" },\r\n { title: \"Fecha\", data: \"fechaRegistro\", render: (data: string) => (new Date(data)).toLocaleDateString() },\r\n { title: \"Orden\", data: \"oc\" },\r\n { title: \"Factura\", data: \"factura\" },\r\n // { title: \"Nombre\", data: \"nombre\" },\r\n {\r\n title: 'Opciones',\r\n data: 'archivoPruebaId',\r\n width: \"5%\",\r\n render: (data: any, type: any) => {\r\n return `
    \r\n \r\n
    `;\r\n }\r\n },\r\n\r\n\r\n ],\r\n };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target;\r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n this.idSeleccionado = id;\r\n if (tipo == 'Reenviar') {\r\n this.reenviar();\r\n }\r\n }\r\n });\r\n }\r\n\r\n // async preguntarSiReenviar(): Promise {\r\n // this.confirmacion.open({\r\n // texto: \"¿Desea reenviar la factura\",\r\n // textoCancelar: \"No\",\r\n // textoOk: \"Si\",\r\n // titulo: \"Confirmación\",\r\n // accionOk: this.reenviar.bind(this)\r\n // });\r\n // }\r\n\r\n reenviar() {\r\n this.servicios\r\n .ordenCompra\r\n .reenviarCorreoApe(this.idSeleccionado)\r\n .subscribe(\r\n cerrada => {\r\n if (cerrada == \"true\") {\r\n this.notificacion.mostrarExito(\"Correo reenviado.\");\r\n this.recargarTabla();\r\n } else {\r\n this.notificacion.mostrarAdvertencia(\"Error al reenviar correo, verifique nuevamente.\");\r\n this.recargarTabla();\r\n }\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n }\r\n );\r\n }\r\n\r\n public recargarTabla(): void {\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n}","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{ titulo }}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, Renderer2, TemplateRef, ViewChild, OnInit, OnDestroy } from '@angular/core';\r\nimport { Corporativo } from '../../entidades/indice';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { SuiModalService } from 'ng2-semantic-ui';\r\nimport { Notificacion } from '../../compartida/indice';\r\nimport { Confirmacion } from '../../compartida/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { DataTableDirective } from 'angular-datatables';\r\n\r\n@Component({\r\n selector: \"catalogo-corporativo\",\r\n templateUrl: \"catalogo.component.html\"\r\n})\r\nexport class CatalogoReenvioFacturas implements OnInit {\r\n titulo: string = \"Reenvio de facturas\";\r\n procesando: boolean;\r\n corporativo: Corporativo;\r\n Procesando: boolean;\r\n dtOptions: DataTables.Settings = {};\r\n private oyente: () => void;\r\n idSeleccionado: number;\r\n @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n\r\n constructor(public modalService: SuiModalService, private servicios: Servicios, private renderer: Renderer2, private notificacion: Notificacion) {\r\n }\r\n\r\n ngOnInit() {\r\n this.cargarTabla();\r\n }\r\n\r\n reporteExcel(): void { }\r\n\r\n cargarTabla(): void {\r\n this.dtOptions = {\r\n language: { url: \"/js/espanol.json\" },\r\n searching: false,\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios.ordenCompra\r\n .obtenerErroresEnviosSap()\r\n .subscribe((lista) => {\r\n callback({ data: lista });\r\n });\r\n this.Procesando = false;\r\n },\r\n columns: [\r\n { title: \"\", data: \"id\", visible: false },\r\n { title: \"Fecha\", data: \"fechaRegistro\", render: (data: string) => (new Date(data)).toLocaleDateString() },\r\n { title: \"Orden\", data: \"numero\" },\r\n { title: \"Sub Total\", data: \"subTotal\" },\r\n { title: \"Iva\", data: \"iva\" },\r\n { title: \"Total\", data: \"total\" },\r\n { title: \"Retención\", data: \"retencion\" },\r\n { title: \"Monto cubierto\", data: \"montoCubierto\" },\r\n { title: \"Proveedor\", data: \"proveedorRs\" },\r\n { title: \"Error\", data: \"errorEnvio\" },\r\n {\r\n title: 'Opciones',\r\n data: 'id',\r\n width: \"5%\",\r\n render: (data: any, type: any) => {\r\n return `
    \r\n \r\n
    `;\r\n }\r\n },\r\n\r\n\r\n ],\r\n };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target;\r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n this.idSeleccionado = id;\r\n if (tipo == 'Reenviar') {\r\n this.reenviar();\r\n }\r\n }\r\n });\r\n }\r\n\r\n // async preguntarSiReenviar(): Promise {\r\n // this.confirmacion.open({\r\n // texto: \"¿Desea reenviar la factura\",\r\n // textoCancelar: \"No\",\r\n // textoOk: \"Si\",\r\n // titulo: \"Confirmación\",\r\n // accionOk: this.reenviar.bind(this)\r\n // });\r\n // }\r\n\r\n reenviar() {\r\n this.servicios\r\n .ordenCompra\r\n .reenviarFactura(this.idSeleccionado)\r\n .subscribe(\r\n cerrada => {\r\n if (cerrada == \"true\") {\r\n this.notificacion.mostrarExito(\"Factura reenviada.\");\r\n this.recargarTabla();\r\n } else {\r\n this.notificacion.mostrarAdvertencia(\"Error al reenviar factura, verifique nuevamente.\");\r\n this.recargarTabla();\r\n }\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n }\r\n );\r\n }\r\n\r\n public recargarTabla(): void {\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n}","module.exports = \"/*table > th > td > .btcCheck {\\r\\n text-align: center;\\r\\n margin-left:45px !important;\\r\\n}*/\\r\\n\\r\\n\\r\\n.ui.button:not(.icon) > .icon:not(.button):not(.dropdown) {\\r\\n font-size: 30px !important;\\r\\n\\r\\n}\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Con complemento de pago\\r\\n Sin complemento de pago\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import {\r\n\tComponent,\r\n\tRenderer2,\r\n\tViewChild,\r\n\tOutput,\r\n\tEventEmitter,\r\n\tOnInit,\r\n\tOnDestroy,\r\n} from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { Subject, Observable, Subscription } from 'rxjs';\r\nimport { HttpErrorResponse, HttpClient } from '@angular/common/http';\r\nimport { Servicios, ServicioArchivos } from '../../servicios/indice';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { Archivo, Proveedor, Sociedad } from '../../entidades/indice';\r\nimport { Notificacion, Confirmacion } from '../../compartida/indice';\r\nimport { DatepickerMode, PopupPlacement } from 'ng2-semantic-ui';\r\nimport { MascaraMoneda } from '../../compartida/mascara-moneda';\r\n\r\n@Component({\r\n\tselector: 'app-reparchivos',\r\n\ttemplateUrl: './reparchivos.component.html',\r\n\tstyleUrls: ['./reparchivos.component.css'],\r\n})\r\nexport class ReparchivoSinComplementoComponent implements OnInit, OnDestroy {\r\n\tidSeleccionado: number;\r\n\tProcesando: boolean;\r\n\t@Output() xmlOprimido: EventEmitter = new EventEmitter();\r\n\t@ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n\t@ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n\r\n\ttitulo: string = 'Facturas vs Complemento pago';\r\n\tprivate oyente: () => void;\r\n\r\n\tdtOptions: DataTables.Settings = {};\r\n\tdtTrigger: Subject = new Subject();\r\n\tmodoFecha = DatepickerMode.Date;\r\n\tconPago = false;\r\n\tsinPago = false;\r\n\r\n\tarchivos: Archivo[];\r\n\tarchivo: Archivo;\r\n\tproveedores: Proveedor[] = [];\r\n\tsociedades: Sociedad[] = [];\r\n\ttipoBusqueda = 0;\r\n\tmostrarDatos1: boolean;\r\n\tmostrarDatos2: boolean;\r\n\tmostrarDatos3: boolean;\r\n\r\n\tval: number;\r\n\tposicionCalendario: PopupPlacement = PopupPlacement.Bottom;\r\n\r\n\tconstructor(\r\n\t\tprivate servicios: Servicios,\r\n\t\tprivate renderer: Renderer2,\r\n\t\tprivate notificacion: Notificacion\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.archivo = new Archivo();\r\n\t\tthis.cargarTabla();\r\n\t\tthis.cargarProveedores();\r\n\t\tthis.cargarSociedades();\r\n\t}\r\n\r\n\tcargarProveedores() {\r\n\t\tthis.servicios.proveedores.ObtenerProveedores().subscribe((lista) => {\r\n\t\t\tthis.proveedores = lista;\r\n\t\t});\r\n\t}\r\n\r\n\tcargarSociedades() {\r\n\t\tthis.servicios.sociedades.obtenerTodos().subscribe((lista) => {\r\n\t\t\tthis.sociedades = lista;\r\n\t\t});\r\n\t}\r\n\r\n\tactdvFecha1(valor): void {\r\n\t\tthis.archivo.fechaAutorizoDesde = null;\r\n\t\tthis.archivo.fechaAutorizoHasta = null;\r\n\t\tthis.archivo.fechaPPD = null;\r\n\t\tthis.archivo.fechaPPH = null;\r\n\r\n\t\tif (valor == 1) {\r\n\t\t\tthis.mostrarDatos1 = true;\r\n\t\t\tthis.mostrarDatos2 = false;\r\n\t\t\tthis.mostrarDatos3 = false;\r\n\t\t\tthis.val = valor;\r\n\t\t}\r\n\t\tif (valor == 2) {\r\n\t\t\tthis.mostrarDatos1 = false;\r\n\t\t\tthis.mostrarDatos2 = true;\r\n\t\t\tthis.mostrarDatos3 = false;\r\n\t\t\tthis.val = valor;\r\n\t\t}\r\n\t\tif (valor == 3) {\r\n\t\t\tthis.mostrarDatos1 = false;\r\n\t\t\tthis.mostrarDatos2 = false;\r\n\t\t\tthis.mostrarDatos3 = true;\r\n\r\n\t\t\tthis.val = valor;\r\n\t\t}\r\n\t\tthis.recargarTabla();\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.dtTrigger.next();\r\n\t\tthis.renderer.destroy();\r\n\t\tthis.oyente = this.renderer.listen('body', 'click', (event) => {\r\n\t\t\tlet objetivo = event.target;\r\n\t\t\tif (objetivo.hasAttribute('acc')) {\r\n\t\t\t\tlet tipo = objetivo.getAttribute('tipo');\r\n\t\t\t\tlet nombre = objetivo.getAttribute('data-nombre');\r\n\t\t\t\tconst dataId = objetivo.getAttribute('data-id');\r\n\t\t\t\tlet id = 0;\r\n\t\t\t\tif (dataId) {\r\n\t\t\t\t\tid = parseInt(dataId);\r\n\t\t\t\t}\r\n\t\t\t\tthis.idSeleccionado = id;\r\n\t\t\t\tif (tipo == 'xml') {\r\n\t\t\t\t\tthis.descargarXml(id, nombre);\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'pdf') {\r\n\t\t\t\t\tthis.descargarPdf(id, nombre);\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'pdfOC') {\r\n\t\t\t\t\tthis.descargarOC(id, nombre);\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'autorizo') {\r\n\t\t\t\t\tthis.preguntarSiAutorizo();\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'programado') {\r\n\t\t\t\t\tthis.pagoProgramado();\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'pdfPE') {\r\n\t\t\t\t\tthis.descargarPE(id, nombre);\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'xmlPago') {\r\n\t\t\t\t\tthis.descargarXmlComplemento(objetivo.getAttribute('data-uuid'));\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'pdfPago') {\r\n\t\t\t\t\tthis.descargarPDFComplemento(objetivo.getAttribute('data-uuid'));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpagoProgramado() {\r\n\t\tif (this.archivo.fechaPago == null) {\r\n\t\t\tthis.notificacion.mostrarAdvertencia(\r\n\t\t\t\t'Seleccion una fecha para realizar el pago programado.'\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.archivo.idArchivo = this.idSeleccionado;\r\n\t\tthis.servicios.archivos.pagoFacturaFA(this.archivo).subscribe(\r\n\t\t\t(autorizo) => {\r\n\t\t\t\tlet auto = autorizo.fechaPago;\r\n\t\t\t\tif (auto != null) {\r\n\t\t\t\t\tthis.notificacion.mostrarExito('Factura pagada.');\r\n\t\t\t\t\tthis.recargarTabla();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.notificacion.mostrarError(\r\n\t\t\t\t\t\t'Error! La factura no ha sido pagada.'\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tthis.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n\t\t\t\t\tdtInstance.ajax.reload();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tthis.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n\t\t\t\t\tdtInstance.ajax.reload();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tlet httpError = error;\r\n\t\t\t\tthis.notificacion.mostrarError(\r\n\t\t\t\t\t'Error al pagar la factura verifique nuevamente'\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tpreguntarSiAutorizo(): void {\r\n\t\tthis.confirmacion.open({\r\n\t\t\ttexto: '�Esta seguro en autorizar el documento?',\r\n\t\t\ttextoCancelar: 'No',\r\n\t\t\ttextoOk: 'Si',\r\n\t\t\ttitulo: 'Confirmaci�n',\r\n\t\t});\r\n\t}\r\n\r\n\tPagoAutorizacion() {\r\n\t\tthis.archivo.idArchivo = this.idSeleccionado;\r\n\t\tthis.servicios.archivos.pagoFacturaCA(this.archivo).subscribe(\r\n\t\t\t(autorizo) => {\r\n\t\t\t\tlet auto = autorizo.fechaAutorizo;\r\n\t\t\t\tif (auto != null) {\r\n\t\t\t\t\tthis.notificacion.mostrarExito('Factura autorizada.');\r\n\t\t\t\t\tthis.recargarTabla();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.notificacion.mostrarError(\r\n\t\t\t\t\t\t'Error! La factura no ha sido autorizada.'\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tthis.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n\t\t\t\t\tdtInstance.ajax.reload();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tthis.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n\t\t\t\t\tdtInstance.ajax.reload();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tlet httpError = error;\r\n\t\t\t\tthis.notificacion.mostrarError(\r\n\t\t\t\t\t'Error al autorizar la factura la factura verifique nuevamente'\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdescargarOC(id: number, nombre: string): void {\r\n\t\tlet observable = this.servicios.ordenCompra\r\n\t\t\t.descargarPdf(id)\r\n\t\t\t.subscribe((pdf) => {\r\n\t\t\t\tlet a = document.createElement('a');\r\n\t\t\t\tlet blob = new Blob([pdf], { type: 'octet/stream' });\r\n\t\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\t\ta.href = url;\r\n\t\t\t\ta.download = nombre + '.pdf';\r\n\t\t\t\tdocument.body.appendChild(a);\r\n\t\t\t\ta.click();\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\ta.remove();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t}\r\n\r\n\tdescargarPdf(id: number, nombre: string): void {\r\n\t\tlet observable = this.servicios.pagos.descargarPdf(id).subscribe((pdf) => {\r\n\t\t\tlet a = document.createElement('a');\r\n\t\t\tlet blob = new Blob([pdf], { type: 'octet/stream' });\r\n\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\ta.href = url;\r\n\t\t\ta.download = nombre + '.pdf';\r\n\t\t\tdocument.body.appendChild(a);\r\n\t\t\ta.click();\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\ta.remove();\r\n\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t}, 100);\r\n\t\t});\r\n\t}\r\n\r\n\tdescargarXmlComplemento(uuid: string): void {\r\n\t\tlet observable = this.servicios.pagos\r\n\t\t\t.descargarXml(uuid)\r\n\t\t\t.subscribe((xml) => {\r\n\t\t\t\tlet a = document.createElement('a');\r\n\t\t\t\tlet blob = new Blob([xml], { type: 'octet/stream' });\r\n\t\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\t\ta.href = url;\r\n\t\t\t\ta.download = uuid + '.xml';\r\n\t\t\t\tdocument.body.appendChild(a);\r\n\t\t\t\ta.click();\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\ta.remove();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t}\r\n\r\n\tdescargarPDFComplemento(uuid: string): void {\r\n\t\tlet observable = this.servicios.pagos\r\n\t\t\t.descargarPdf(uuid)\r\n\t\t\t.subscribe((pdf) => {\r\n\t\t\t\tlet a = document.createElement('a');\r\n\t\t\t\tlet blob = new Blob([pdf], { type: 'octet/stream' });\r\n\t\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\t\ta.href = url;\r\n\t\t\t\ta.download = uuid + '.pdf';\r\n\t\t\t\tdocument.body.appendChild(a);\r\n\t\t\t\ta.click();\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\ta.remove();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t}\r\n\r\n\tdescargarXml(id: number, nombre: string): void {\r\n\t\tlet observable = this.servicios.archivos\r\n\t\t\t.descargarXml(id)\r\n\t\t\t.subscribe((xml) => {\r\n\t\t\t\tlet a = document.createElement('a');\r\n\t\t\t\tlet blob = new Blob([xml], { type: 'octet/stream' });\r\n\t\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\t\ta.href = url;\r\n\t\t\t\ta.download = nombre + '.xml';\r\n\t\t\t\tdocument.body.appendChild(a);\r\n\t\t\t\ta.click();\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\ta.remove();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t}\r\n\r\n\tdescargarPE(id: number, nombre: string): void {\r\n\t\tlet observable = this.servicios.ordenCompra\r\n\t\t\t.descargarPdfPE(id)\r\n\t\t\t.subscribe((pdf) => {\r\n\t\t\t\tfor (const element of pdf) {\r\n\t\t\t\t\tlet pdf = element;\r\n\t\t\t\t\tconst byteArray = new Uint8Array(\r\n\t\t\t\t\t\tatob(pdf.pdfFile)\r\n\t\t\t\t\t\t\t.split('')\r\n\t\t\t\t\t\t\t.map((char) => char.charCodeAt(0))\r\n\t\t\t\t\t);\r\n\t\t\t\t\tlet a = document.createElement('a');\r\n\t\t\t\t\tlet blob = new Blob([byteArray], { type: 'octet/stream' });\r\n\t\t\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = pdf.nombre;\r\n\t\t\t\t\tdocument.body.appendChild(a);\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\ta.remove();\r\n\t\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t\t}, 100);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tcargarTabla(): void {\r\n\t\tvar n = 0;\r\n\t\tthis.dtOptions = {\r\n\t\t\tlanguage: { url: '/js/espanol.json' },\r\n\t\t\tsearching: false,\r\n\t\t\tajax: (dataTablesParameters: any, callback) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\t(this.sinPago && this.conPago) ||\r\n\t\t\t\t\t(!this.sinPago && !this.conPago)\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.servicios.archivos\r\n\t\t\t\t\t\t.obtenerReporte(this.archivo)\r\n\t\t\t\t\t\t.subscribe((lista) => {\r\n\t\t\t\t\t\t\tthis.archivos = lista;\r\n\t\t\t\t\t\t\tcallback({ data: lista });\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\tthis.Procesando = false;\r\n\t\t\t\t} else if (this.conPago) {\r\n\t\t\t\t\tthis.servicios.archivos\r\n\t\t\t\t\t\t.obtenerReporteConComplementos(this.archivo)\r\n\t\t\t\t\t\t.subscribe((lista) => {\r\n\t\t\t\t\t\t\tthis.archivos = lista;\r\n\t\t\t\t\t\t\tcallback({ data: lista });\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\tthis.Procesando = false;\r\n\t\t\t\t} else if (this.sinPago) {\r\n\t\t\t\t\tthis.servicios.archivos\r\n\t\t\t\t\t\t.obtenerReporteSinComplementos(this.archivo)\r\n\t\t\t\t\t\t.subscribe((lista) => {\r\n\t\t\t\t\t\t\tthis.archivos = lista;\r\n\t\t\t\t\t\t\tcallback({ data: lista });\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\tthis.Procesando = false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tcolumns: [\r\n\t\t\t\t{ title: '', data: 'idArchivo', visible: false },\r\n\t\t\t\t{ title: '', data: 'idProveedor', visible: false },\r\n\t\t\t\t{ title: 'Proveedor', data: 'proveedorRazonSocial' },\r\n\t\t\t\t{ title: 'OC', data: 'numeroOrdenCompra' },\r\n\t\t\t\t{ title: 'Código identificador x UUID', data: 'nombreArchivo' },\r\n\t\t\t\t{ title: 'UUID Pago', data: 'nombreArchivoPago' },\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Fecha de alta ',\r\n\t\t\t\t\tdata: 'fechaRegistro',\r\n\t\t\t\t\trender: (data: string) => new Date(data).toLocaleDateString(),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Fecha de pago ',\r\n\t\t\t\t\tdata: 'fechaPago',\r\n\t\t\t\t\trender: (data: string) => new Date(data).toLocaleDateString(),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Total',\r\n\t\t\t\t\tdata: 'total',\r\n\t\t\t\t\twidth: '15%',\r\n\t\t\t\t\trender: (data: number) =>\r\n\t\t\t\t\t\tdata != null ? MascaraMoneda.format(data) : '$ 0.00',\r\n\t\t\t\t},\r\n\t\t\t\t{ title: 'Moneda', data: 'moneda' },\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Opciones',\r\n\t\t\t\t\tdata: 'nombreArchivoPago',\r\n\t\t\t\t\twidth: '15%',\r\n\t\t\t\t\trender: (data: any, type: any, full: Archivo) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t`
    \r\n \r\n \r\n
    `\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t};\r\n\t}\r\n\r\n\tbuscar(): void {\r\n\t\tthis.Procesando = true;\r\n\t\tthis.recargarTabla();\r\n\t\tthis.Procesando = false;\r\n\t}\r\n\r\n\tlimpiar(): void {\r\n\t\tthis.archivo.nombreArchivo = null;\r\n\t\tthis.archivo.proveedorRazonSocial = null;\r\n\t\tthis.archivo.sociedadNombreComercial = null;\r\n\t\tthis.archivo.fechaAutorizoDesde = null;\r\n\t\tthis.archivo.fechaAutorizoHasta = null;\r\n\t\tthis.archivo.fechaPagoDesde = null;\r\n\t\tthis.archivo.fechaPagoHasta = null;\r\n\t\tthis.archivo.fechaPago = null;\r\n\t\tthis.archivo.fechaPPD = null;\r\n\t\tthis.archivo.fechaPPH = null;\r\n\r\n\t\tthis.tipoBusqueda = 0;\r\n\t\tthis.val = 0;\r\n\r\n\t\tthis.mostrarDatos1 = false;\r\n\t\tthis.mostrarDatos2 = false;\r\n\t\tthis.mostrarDatos3 = false;\r\n\r\n\t\tthis.recargarTabla();\r\n\t}\r\n\r\n\tlimpiarFiltroAutorizacion(): void {\r\n\t\tthis.archivo.fechaAutorizoDesde = null;\r\n\t\tthis.archivo.fechaAutorizoHasta = null;\r\n\t\tthis.recargarTabla();\r\n\t}\r\n\r\n\tlimpiarFiltroPago(): void {\r\n\t\tthis.archivo.fechaPagoDesde = null;\r\n\t\tthis.archivo.fechaPagoHasta = null;\r\n\t\tthis.recargarTabla();\r\n\t}\r\n\r\n\tlimpiarFiltroPorAutorizar(): void {\r\n\t\tthis.archivo.fechaPago = null;\r\n\t\tthis.archivo.fechaPPD = null;\r\n\t\tthis.archivo.fechaPPH = null;\r\n\t}\r\n\r\n\treporteExcel(): void {\r\n\t\tlet observable: Observable;\r\n\t\tif ((this.sinPago && this.conPago) || (!this.sinPago && !this.conPago)) {\r\n\t\t\tobservable = this.servicios.archivos.obtenerReporteExcel(this.archivo);\r\n\t\t} else if (this.sinPago) {\r\n\t\t\tobservable = this.servicios.archivos.obtenerReporteExcelSinComplemento(\r\n\t\t\t\tthis.archivo\r\n\t\t\t);\r\n\t\t} else if (this.conPago) {\r\n\t\t\tobservable = this.servicios.archivos.obtenerReporteExcelConComplemento(\r\n\t\t\t\tthis.archivo\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tobservable.subscribe((xls) => {\r\n\t\t\tlet a = document.createElement('a');\r\n\t\t\tlet blob = new Blob([xls], {\r\n\t\t\t\ttype: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n\t\t\t});\r\n\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\ta.href = url;\r\n\t\t\ta.download = 'Reporte Archivos' + '.xlsx';\r\n\t\t\ta.click();\r\n\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t});\r\n\t}\r\n\r\n\tpublic recargarTabla(): void {\r\n\t\tthis.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n\t\t\tdtInstance.ajax.reload();\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.oyente();\r\n\t}\r\n}\r\n","module.exports = \"/*table > th > td > .btcCheck {\\r\\n text-align: center;\\r\\n margin-left:45px !important;\\r\\n}*/\\r\\n\\r\\n\\r\\n.ui.button:not(.icon) > .icon:not(.button):not(.dropdown) {\\r\\n font-size: 30px !important;\\r\\n\\r\\n}\\r\\n\\r\\n\\r\\n.containerFacturas {\\r\\n min-width: 1900px !important; \\r\\n}\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{ titulo }}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n Buscar\\r\\n \\r\\n \\r\\n \\r\\n Excel\\r\\n \\r\\n \\r\\n \\r\\n Limpiar\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Loading
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\"","import {\r\n\tComponent,\r\n\tRenderer2,\r\n\tViewChild,\r\n\tOutput,\r\n\tEventEmitter,\r\n\tOnInit,\r\n\tOnDestroy,\r\n} from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { HttpErrorResponse, HttpClient } from '@angular/common/http';\r\nimport { Servicios, ServicioArchivos } from '../../servicios/indice';\r\nimport { Archivo, Proveedor, Sociedad } from '../../entidades/indice';\r\nimport { Notificacion, Confirmacion } from '../../compartida/indice';\r\nimport { DatepickerMode, PopupPlacement } from 'ng2-semantic-ui';\r\nimport { ArchivoDescargaMasiva } from '../../entidades/archivo-descarga-masiva';\r\nimport { ArticulosSapComponent } from '../../compartida/articulos-sap/articulos-sap.component';\r\nimport { DetalleArchivo } from '../../entidades/detalle-archivo';\r\nimport { MascaraMoneda } from '../../compartida/mascara-moneda';\r\nimport { DatePipe } from '@angular/common';\r\nimport Swal from 'sweetalert2';\r\nimport { ExportToXlsxService } from 'ClientApp/app/servicios/exportToXls';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { first } from 'rxjs/internal/operators/first';\r\n\r\n{ }\r\n\r\n@Component({\r\n\tselector: 'app-reparchivos',\r\n\ttemplateUrl: './reparchivos.component.html',\r\n\tstyleUrls: ['./reparchivos.component.css'],\r\n})\r\nexport class ReparchivosComponent implements OnInit, OnDestroy {\r\n\tidSeleccionado: number;\r\n\tProcesando: boolean;\r\n\tBusquedaG: boolean;\r\n\taplicaPruebasEntregaSoc: boolean;\r\n\tproveedorMonedaCorrecto: boolean;\r\n\timporteCorrectoPedidoUSD: boolean;\r\n\timporteCorrectoPedidoMXP: boolean;\r\n\tdocumentoEnSap: boolean;\r\n\tActivo: boolean = false;\r\n\t@Output() xmlOprimido: EventEmitter = new EventEmitter();\r\n\t@ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n\t@ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n\t@ViewChild(ArticulosSapComponent) articuloSap: ArticulosSapComponent;\r\n\r\n\ttitulo: string = 'Facturas';\r\n\tprivate oyente: () => void;\r\n\r\n\tdtOptions: DataTables.Settings = {};\r\n\tdtOptions2: DataTables.Settings = {};\r\n\r\n\tdtTrigger: Subject = new Subject();\r\n\tdtTrigger2: Subject = new Subject();\r\n\r\n\tmodoFecha = DatepickerMode.Date;\r\n\r\n\tarchivos: Archivo[];\r\n\tarchivo: Archivo;\r\n\tproveedores: Proveedor[] = [];\r\n\tsociedades: Sociedad[] = [];\r\n\ttipoBusqueda = null;\r\n\tmostrarDatos1: boolean;\r\n\tmostrarDatos2: boolean;\r\n\tmostrarDatos3: boolean;\r\n\tmostrarDatos4: boolean;\r\n\tmostrarDatos5: boolean;\r\n\tarchivosXml: number[] = [];\r\n\tarchivosPdf: number[] = [];\r\n\tval: number;\r\n\r\n\r\n\tposicionCalendario: PopupPlacement = PopupPlacement.Bottom;\r\n\tcargaMasiva: ArchivoDescargaMasiva = new ArchivoDescargaMasiva();\r\n\tdatosSap: { detalleArchivo: DetalleArchivo[], centroCostos: string, proyecto: string };\r\n\tconstructor(\r\n\t\tprivate servicios: Servicios,\r\n\t\tprivate renderer: Renderer2,\r\n\t\tprivate notificacion: Notificacion,\r\n\t\tpublic datepipe: DatePipe,\r\n\t\tprivate exportToXlsxService: ExportToXlsxService,\r\n\t\tpublic spinner: NgxSpinnerService\r\n\t) { }\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.archivo = new Archivo();\r\n\r\n\t\tthis.tipoBusqueda = '5';\r\n\t\tthis.val = 5;\r\n\t\tthis.mostrarDatos1 = false;\r\n\t\tthis.mostrarDatos2 = false;\r\n\t\tthis.mostrarDatos3 = false;\r\n\t\tthis.mostrarDatos4 = true;\r\n\t\tthis.mostrarDatos5 = false;\r\n\r\n\t\tthis.establecerFechasMes();\r\n\t\tthis.cargarTabla();\r\n\t\tthis.cargarProveedores();\r\n\t\tthis.cargarSociedades();\r\n\t}\r\n\r\n\testablecerFechasMes() {\r\n\t\t// Obtener la fecha actual\r\n\t\tconst fechaActual = new Date();\r\n\r\n\t\t// Obtener el primer día del mes actual\r\n\t\tconst primerDiaMes = new Date(fechaActual.getFullYear(), fechaActual.getMonth(), 1);\r\n\t\tconst inicioMes = primerDiaMes.toLocaleDateString('en-US', { year: 'numeric', month: '2-digit', day: '2-digit' });\r\n\r\n\t\t//OBTENER EL DIA ACTUAL\r\n\t\tconst diaActual = new Date(fechaActual.getFullYear(), fechaActual.getMonth(), fechaActual.getDate());\r\n\t\tconst ultimoDia = diaActual.toLocaleDateString('en-US', { year: 'numeric', month: '2-digit', day: '2-digit' })\r\n\r\n\t\t//OBTENER EL DIA ACTUAL MENOS 30 DIAS \r\n\t\tconst fechaActualmMes = new Date(fechaActual.getFullYear(), fechaActual.getMonth() - 1, fechaActual.getDate())\r\n\r\n\t\t// Obtener el último día del mes actual\r\n\t\tconst ultimoDiaMes = new Date(fechaActual.getFullYear(), fechaActual.getMonth() + 1, 0);\r\n\t\tconst finMes = ultimoDiaMes.toLocaleDateString('en-US', { year: 'numeric', month: '2-digit', day: '2-digit' });\r\n\r\n\t\t// Imprimir los resultados\r\n\t\tconsole.log('Inicio del mes:', inicioMes);\r\n\t\tconsole.log('Fin del mes:', finMes);\r\n\t\tconsole.log('Hoy', ultimoDia);\r\n\t\tconsole.log('Fecha actual', fechaActual);\r\n\r\n\r\n\t\tthis.archivo.fechaRegistroDesde = fechaActualmMes;\r\n\t\tthis.archivo.fechaRegistroHasta = diaActual;\r\n\t}\r\n\r\n\tcargarProveedores() {\r\n\t\tthis.servicios.proveedores.ObtenerProveedores().subscribe((lista) => {\r\n\t\t\tthis.proveedores = lista;\r\n\t\t});\r\n\t}\r\n\r\n\tcargarSociedades() {\r\n\t\tthis.servicios.sociedades.obtenerTodos().subscribe((lista) => {\r\n\t\t\tthis.sociedades = lista;\r\n\t\t});\r\n\t}\r\n\r\n\tactdvFecha1(valor): void {\r\n\t\tthis.archivo.fechaAutorizoDesde = null;\r\n\t\tthis.archivo.fechaAutorizoHasta = null;\r\n\t\tthis.archivo.fechaPPD = null;\r\n\t\tthis.archivo.fechaPPH = null;\r\n\t\tthis.archivo.autorizado = null;\r\n\t\tthis.archivo.fechaRecepcionDesde = null;\r\n\t\tthis.archivo.fechaRecepcionHasta = null;\r\n\t\t//this.archivo.autorizado = null;\r\n\r\n\t\tif (valor == 1) {\r\n\t\t\tthis.mostrarDatos1 = true;\r\n\t\t\tthis.mostrarDatos2 = false;\r\n\t\t\tthis.mostrarDatos3 = false;\r\n\t\t\tthis.mostrarDatos4 = false;\r\n\t\t\tthis.mostrarDatos5 = false;\r\n\r\n\t\t\tthis.val = valor;\r\n\r\n\t\t\tthis.archivo.pagado = 'Y';\r\n\r\n\t\t}\r\n\t\tif (valor == 2) {\r\n\t\t\tthis.mostrarDatos1 = false;\r\n\t\t\tthis.mostrarDatos2 = true;\r\n\t\t\tthis.mostrarDatos3 = false;\r\n\t\t\tthis.mostrarDatos4 = false;\r\n\t\t\tthis.mostrarDatos5 = false;\r\n\r\n\t\t\tthis.val = valor;\r\n\r\n\t\t}\r\n\t\tif (valor == 3) {\r\n\t\t\tthis.mostrarDatos1 = false;\r\n\t\t\tthis.mostrarDatos2 = false;\r\n\t\t\tthis.mostrarDatos3 = true;\r\n\t\t\tthis.mostrarDatos4 = false;\r\n\t\t\tthis.mostrarDatos5 = false;\r\n\r\n\t\t\tthis.val = valor;\r\n\t\t\tthis.archivo.pagado = 'N';\r\n\t\t} if (valor == 4) {\r\n\t\t\tthis.archivo.autorizado = 'N';\r\n\t\t} if (valor == 5) {\r\n\t\t\tthis.mostrarDatos1 = false;\r\n\t\t\tthis.mostrarDatos2 = false;\r\n\t\t\tthis.mostrarDatos3 = false;\r\n\t\t\tthis.mostrarDatos4 = true;\r\n\t\t\tthis.mostrarDatos5 = false;\r\n\r\n\t\t\tthis.val = valor;\r\n\t\t}\r\n\t\tif (valor == 6) {\r\n\t\t\tthis.archivo.autorizado = 'Y';\r\n\t\t\tthis.archivo.procesadaEnSap = -1;\r\n\t\t}\r\n\t\t//this.recargarTabla();\r\n\t\tconsole.log('archivo-->', this.archivo);\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.dtTrigger.next();\r\n\t\tthis.renderer.destroy();\r\n\t\tthis.oyente = this.renderer.listen('body', 'click', (event) => {\r\n\t\t\tlet objetivo = event.target;\r\n\t\t\tif (objetivo.hasAttribute('acc')) {\r\n\t\t\t\tlet tipo = objetivo.getAttribute('tipo');\r\n\t\t\t\tlet nombre = objetivo.getAttribute('data-nombre');\r\n\t\t\t\tlet id = parseInt(objetivo.getAttribute('data-id'));\r\n\t\t\t\tthis.idSeleccionado = id;\r\n\t\t\t\tif (tipo == 'xml') {\r\n\t\t\t\t\tthis.descargarXml(id, nombre);\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'pdf') {\r\n\t\t\t\t\tthis.descargarPdf(id, nombre);\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'pdfOC') {\r\n\t\t\t\t\tthis.descargarOC(id, nombre);\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'rechazar') {\r\n\t\t\t\t\tthis.rechazarFactura(id);\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'autorizo') {\r\n\t\t\t\t\tthis.evaluarSolicitarArticuloSap();\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'programado') {\r\n\t\t\t\t\tthis.validoFecha_Autorizo_Recepcion(id);\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'pdfPE') {\r\n\t\t\t\t\tthis.descargarPE(id, nombre);\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'selecXml') {\r\n\t\t\t\t\tif ((objetivo).checked) {\r\n\t\t\t\t\t\tthis.archivosXml.push(parseInt((objetivo).id));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.archivosXml.forEach((element, index) => {\r\n\t\t\t\t\t\t\tif (element == parseInt((objetivo).id))\r\n\t\t\t\t\t\t\t\tthis.archivosXml.splice(index, 1);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (tipo == 'selecPdf') {\r\n\t\t\t\t\tif ((objetivo).checked) {\r\n\t\t\t\t\t\tthis.archivosPdf.push(parseInt((objetivo).id));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.archivosPdf.forEach((element, index) => {\r\n\t\t\t\t\t\t\tif (element == parseInt((objetivo).id))\r\n\t\t\t\t\t\t\t\tthis.archivosPdf.splice(index, 1);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tasync validoFecha_Autorizo_Recepcion(id: any) {\r\n\t\tlet tieneRecepcion = await this.tieneFechaRecepcion(id)\r\n\t\tlet tieneAutorizacion = await this.tieneFechaAutorizacion(id)\r\n\t\tif (!tieneAutorizacion) {\r\n\t\t\tthis.notificacion.mostrarAdvertencia(\r\n\t\t\t\t'No es posible asignar fecha probable de pago, aún no ha sido autorizada la factura'\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t} else if (!tieneRecepcion) {\r\n\t\t\tthis.notificacion.mostrarAdvertencia(\r\n\t\t\t\t'No es posible asignar fecha probable de pago, aún no cuenta con recepcion la factura'\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t} else {\r\n\t\t\tthis.pagoProgramado();\r\n\t\t}\r\n\t}\r\n\r\n\tasync tieneFechaAutorizacion(id): Promise {\r\n\t\treturn this.servicios.archivos.tieneAutorizacion(id).toPromise();\r\n\t}\r\n\r\n\tasync tieneFechaRecepcion(id): Promise {\r\n\t\treturn this.servicios.archivos.tieneRecepcion(id).toPromise();\r\n\t}\r\n\r\n\tpagoProgramado() {\r\n\t\tif (this.archivo.fechaPago == null) {\r\n\t\t\tthis.notificacion.mostrarAdvertencia(\r\n\t\t\t\t'Seleccione una fecha para realizar el pago programado.'\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.archivo.idArchivo = this.idSeleccionado;\r\n\t\tthis.servicios.archivos.pagoFacturaFA(this.archivo).subscribe(\r\n\t\t\t(autorizo) => {\r\n\t\t\t\tlet auto = autorizo.fechaPago;\r\n\t\t\t\tif (auto != null) {\r\n\t\t\t\t\tthis.notificacion.mostrarExito('Factura pagada.');\r\n\t\t\t\t\tthis.recargarTabla();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.notificacion.mostrarError(\r\n\t\t\t\t\t\t'Error! La factura no ha sido pagada.'\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tthis.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n\t\t\t\t\tdtInstance.ajax.reload();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tthis.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n\t\t\t\t\tdtInstance.ajax.reload();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tlet httpError = error;\r\n\t\t\t\tthis.notificacion.mostrarError(\r\n\t\t\t\t\t'Error al pagar la factura verifique nuevamente'\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tpreguntarSiAutorizo(datosSap?: { detalleArchivo: DetalleArchivo[], centroCostos: string, proyecto: string }): void {\r\n\t\tthis.confirmacion.open({\r\n\t\t\ttexto: '¿Esta seguro en autorizar el documento?',\r\n\t\t\ttextoCancelar: 'No',\r\n\t\t\ttextoOk: 'Si',\r\n\t\t\ttitulo: 'Confirmación',\r\n\t\t});\r\n\t\tconsole.log('pregunto si autorizo');\r\n\t\tthis.datosSap = datosSap;\r\n\t}\r\n\r\n\tasync evaluarSolicitarArticuloSap() {\r\n\t\tlet arch = this.archivos.find((a) => a.idArchivo == this.idSeleccionado);\r\n\t\t\r\n\t\t//VALIDACION DE PROVEEDOR,MONEDA Y PEDIDO EN SAP SOLO PARA ARCHIVOS CON ORDEN DE COMPRA\r\n\t\tif (arch.numeroOrdenCompra) {\r\n\r\n\t\t\tlet folio = arch.numeroOrdenCompra;\r\n\r\n\t\t\t//VALIDO SI EL PEDIDO ESTA EN SAP\r\n\t\t\tthis.documentoEnSap = await this.servicios.archivos.PedidoEnSap(folio);\r\n\r\n\t\t\t//SI EL PEDIDO SE ENCUENTRA EN SAP --> VALIDO PROVEEDOR Y MONEDA\r\n\t\t\tif (this.documentoEnSap) {\r\n\t\t\t\tthis.proveedorMonedaCorrecto = await this.servicios.archivos.ProveedorMoneda(folio);\r\n\t\t\t\tthis.importeCorrectoPedidoUSD = await this.servicios.archivos.ImportePedidoUSD(folio);\r\n\t\t\t\tthis.importeCorrectoPedidoMXP = await this.servicios.archivos.ImportePedidoMXP(folio);\r\n\r\n\r\n\t\t\t\t///VALIDAR SI TIENE RETENCION O NO COINCIDE AL AUTORIZAR\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\t\t/*this.servicios.sociedades.obtener(arch.idSociedad).pipe(first())\r\n\t\t\t.subscribe(async ss => {\r\n\t\t\t\tif (ss && ss.aplicaPruebasEntrega) {\r\n\t\t\t\t\tthis.aplicaPruebasEntregaSoc = await this.servicios.proveedores.aplicaPruebasEntregaProv(arch.idProveedor);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.aplicaPruebasEntregaSoc = false;\r\n\t\t\t\t}\r\n\t\t\t});*/\r\n\r\n\t\t//OBTENGO SI LA SOCIEDAD APLICA PRUEBAS DE ENTREGA\r\n\t\ttry{\r\n\t\t\tconst ss = await this.servicios.sociedades.obtener(arch.idSociedad).pipe(first()).toPromise();\r\n\t\t\tif(ss && ss.aplicaPruebasEntrega){\r\n\t\t\t\tthis.aplicaPruebasEntregaSoc = await this.servicios.proveedores.aplicaPruebasEntregaProv(arch.idProveedor);\r\n\t\t\t}else{\r\n\t\t\t\tthis.aplicaPruebasEntregaSoc = false;\r\n\t\t\t}\r\n\t\t\tconsole.log(\"Aplica estado: \" + this.aplicaPruebasEntregaSoc)\r\n\t\t}catch(e){\r\n\t\t\tconsole.log(e);\r\n\t\t}\r\n\r\n\t\tif (arch.fechaRecepcion == null) {\r\n\t\t\tthis.notificacion.mostrarError(\"Los archivos de la factura aún no han sido revisados\");\r\n\t\t} else {\r\n\t\t\tif (this.aplicaPruebasEntregaSoc && !await this.pruebasEntregaAceptadas(arch)) {\r\n\t\t\t\tvar usuarioResponsable = arch.numeroOrdenCompra ? await this.usuarioResponsable(arch) : null;\r\n\t\t\t\tthis.notificacion.mostrarError(\r\n\t\t\t\t\t`Pruebas de entrega no han sido autorizadas ${usuarioResponsable ? \"por \" + usuarioResponsable : ''} es necesario rechazar la factura`\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tif (!arch.numeroOrdenCompra) {\r\n\t\t\t\t\tthis.articuloSap.abrir(this.idSeleccionado, arch.sociedadRFC);\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tif (this.documentoEnSap == true) {\r\n\t\t\t\t\t\tif (this.proveedorMonedaCorrecto == true) {\r\n\t\t\t\t\t\t\tdebugger\r\n\t\t\t\t\t\t\tif (arch.moneda == 'USD' || arch.moneda == \"\") {\r\n\t\t\t\t\t\t\t\tif (this.importeCorrectoPedidoUSD == true) {\r\n\t\t\t\t\t\t\t\t\tthis.preguntarSiAutorizo();\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tthis.notificacion.mostrarError(\"Importe de OC no coincide con importe del pedido en SAP\")\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tif (this.importeCorrectoPedidoMXP == true) {\r\n\t\t\t\t\t\t\t\t\tthis.preguntarSiAutorizo();\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tthis.notificacion.mostrarError(\"Importe de OC no coincide con importe del pedido en SAP\")\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.notificacion.mostrarError(\"Proveedor o moneda no coincide con la del pedido en SAP\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.notificacion.mostrarError(\"El pedido no se encuentra en SAP\")\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tPagoAutorizacion() {\r\n\t\tthis.archivo.idArchivo = this.idSeleccionado;\r\n\r\n\t\t//Los datos SAP (Proyecto, centro de costos y artículos) no siempre aplican. Depende de si es una factura con orden de compra o no. \r\n\t\t//Solo las que no tienen orden de compra, llevan datosSap.\r\n\t\tif (this.datosSap != undefined) {\r\n\t\t\tthis.archivo.detalles = this.datosSap.detalleArchivo;\r\n\t\t\tthis.archivo.codigoCentroCostosSap = this.datosSap.centroCostos;\r\n\t\t\tthis.archivo.codigoProyectoSap = this.datosSap.proyecto;\r\n\t\t}\r\n\r\n\t\tthis.servicios.archivos.pagoFacturaCA(this.archivo).subscribe(\r\n\t\t\t(autorizo) => {\r\n\t\t\t\tlet auto = autorizo.fechaAutorizo;\r\n\t\t\t\tif (auto != null) {\r\n\t\t\t\t\tthis.notificacion.mostrarExito('Factura autorizada.');\r\n\t\t\t\t\tthis.recargarTabla();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.notificacion.mostrarError(\r\n\t\t\t\t\t\t'Error! La factura no ha sido autorizada.'\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tthis.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n\t\t\t\t\tdtInstance.ajax.reload();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tthis.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n\t\t\t\t\tdtInstance.ajax.reload();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tlet httpError = error;\r\n\t\t\t\tthis.notificacion.mostrarError(\r\n\t\t\t\t\t'Error al autorizar la factura la factura verifique nuevamente'\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdescargarOC(id: number, nombre: string): void {\r\n\t\tlet observable = this.servicios.ordenCompra\r\n\t\t\t.descargarPdf(id)\r\n\t\t\t.subscribe((pdf) => {\r\n\t\t\t\tlet a = document.createElement('a');\r\n\t\t\t\tlet blob = new Blob([pdf], { type: 'octet/stream' });\r\n\t\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\t\ta.href = url;\r\n\t\t\t\ta.download = nombre + '.pdf';\r\n\t\t\t\tdocument.body.appendChild(a);\r\n\t\t\t\ta.click();\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\ta.remove();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t}\r\n\r\n\tasync descargaMasiva(): Promise {\r\n\t\tthis.cargaMasiva.archivosPdf = this.archivosPdf;\r\n\t\tthis.cargaMasiva.archivosXml = this.archivosXml;\r\n\r\n\t\tlet resultado = await this.servicios.archivos\r\n\t\t\t.descargaMasiva(this.cargaMasiva)\r\n\t\t\t.toPromise();\r\n\t\tconst link = document.createElement('a');\r\n\t\tlink.href = 'data:zip;base64,' + resultado.content;\r\n\t\tlink.download = resultado.nombreArchivo;\r\n\t\tlink.click();\r\n\t}\r\n\r\n\tasync TipoDescarga(tipo): Promise {\r\n\t\tthis.Activo = true;\r\n\r\n\t\tthis.cargaMasiva = new ArchivoDescargaMasiva();\r\n\t\tif (tipo == 1) {\r\n\t\t\tthis.descargaMasiva();\r\n\t\t}\r\n\r\n\t\tif (tipo == 2) {\r\n\t\t\tthis.archivos.forEach((element, index) => {\r\n\t\t\t\tthis.cargaMasiva.archivosPdf.push(element.idArchivo);\r\n\t\t\t});\r\n\r\n\t\t\tlet resultado = await this.servicios.archivos\r\n\t\t\t\t.descargaMasiva(this.cargaMasiva)\r\n\t\t\t\t.toPromise();\r\n\t\t\tconst link = document.createElement('a');\r\n\t\t\tlink.href = 'data:zip;base64,' + resultado.content;\r\n\t\t\tlink.download = resultado.nombreArchivo;\r\n\t\t\tlink.click();\r\n\t\t}\r\n\r\n\t\tif (tipo == 3) {\r\n\t\t\tthis.archivos.forEach((element, index) => {\r\n\t\t\t\tthis.cargaMasiva.archivosXml.push(element.idArchivo);\r\n\t\t\t});\r\n\r\n\t\t\tlet resultado = await this.servicios.archivos\r\n\t\t\t\t.descargaMasiva(this.cargaMasiva)\r\n\t\t\t\t.toPromise();\r\n\t\t\tconst link = document.createElement('a');\r\n\t\t\tlink.href = 'data:zip;base64,' + resultado.content;\r\n\t\t\tlink.download = resultado.nombreArchivo;\r\n\t\t\tlink.click();\r\n\t\t}\r\n\r\n\t\tif (tipo == 4) {\r\n\t\t\tthis.archivos.forEach((element, index) => {\r\n\t\t\t\tthis.cargaMasiva.archivosPdf.push(element.idArchivo);\r\n\t\t\t\tthis.cargaMasiva.archivosXml.push(element.idArchivo);\r\n\t\t\t});\r\n\r\n\t\t\tlet resultado = await this.servicios.archivos\r\n\t\t\t\t.descargaMasiva(this.cargaMasiva)\r\n\t\t\t\t.toPromise();\r\n\t\t\tconst link = document.createElement('a');\r\n\t\t\tlink.href = 'data:zip;base64,' + resultado.content;\r\n\t\t\tlink.download = resultado.nombreArchivo;\r\n\t\t\tlink.click();\r\n\t\t}\r\n\t\tthis.Activo = false;\r\n\t}\r\n\r\n\tdescargarPdf(id: number, nombre: string): void {\r\n\t\tlet observable = this.servicios.archivos\r\n\t\t\t.descargarRecepcionPdf(id)\r\n\t\t\t.subscribe((pdf) => {\r\n\t\t\t\tlet a = document.createElement('a');\r\n\t\t\t\tlet blob = new Blob([pdf], { type: 'octet/stream' });\r\n\t\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\t\ta.href = url;\r\n\t\t\t\ta.download = nombre + '.pdf';\r\n\t\t\t\tdocument.body.appendChild(a);\r\n\t\t\t\ta.click();\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\ta.remove();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t}\r\n\r\n\tdescargarXml(id: number, nombre: string): void {\r\n\t\tlet observable = this.servicios.archivos\r\n\t\t\t.descargarXml(id)\r\n\t\t\t.subscribe((xml) => {\r\n\t\t\t\tlet a = document.createElement('a');\r\n\t\t\t\tlet blob = new Blob([xml], { type: 'octet/stream' });\r\n\t\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\t\ta.href = url;\r\n\t\t\t\ta.download = nombre + '.xml';\r\n\t\t\t\tdocument.body.appendChild(a);\r\n\t\t\t\ta.click();\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\ta.remove();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t}\r\n\r\n\tdescargarPE(id: number, nombre: string): void {\r\n\t\tlet observable = this.servicios.ordenCompra\r\n\t\t\t.descargarPdfPE(id)\r\n\t\t\t.subscribe((pdf) => {\r\n\t\t\t\tfor (const element of pdf) {\r\n\t\t\t\t\tlet pdf = element;\r\n\t\t\t\t\tconst byteArray = new Uint8Array(\r\n\t\t\t\t\t\tatob(pdf.pdfFile)\r\n\t\t\t\t\t\t\t.split('')\r\n\t\t\t\t\t\t\t.map((char) => char.charCodeAt(0))\r\n\t\t\t\t\t);\r\n\t\t\t\t\tlet a = document.createElement('a');\r\n\t\t\t\t\tlet blob = new Blob([byteArray], { type: 'octet/stream' });\r\n\t\t\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = pdf.nombre;\r\n\t\t\t\t\tdocument.body.appendChild(a);\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\ta.remove();\r\n\t\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t\t}, 100);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tcargarTabla(): void {\r\n\t\tthis.Procesando = true;\r\n\t\tthis.dtOptions = {\r\n\t\t\tlanguage: { url: '/js/espanol.json' },\r\n\t\t\tsearching: true,\r\n\t\t\tajax: (dataTablesParameters: any, callback) => {\r\n\t\t\t\tthis.servicios.archivos\r\n\t\t\t\t\t.obtenerReporte(this.archivo)\r\n\t\t\t\t\t.subscribe(async (lista) => {\r\n\t\t\t\t\t\tconst archivosNormalizados = await this.normalizarArchivos(lista);\r\n\t\t\t\t\t\tthis.archivos = archivosNormalizados;\r\n\t\t\t\t\t\tthis.Procesando = false;\r\n\t\t\t\t\t\tcallback({ data: archivosNormalizados });\r\n\t\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tcolumns: [\r\n\t\t\t\t{ title: '', data: 'idArchivo', visible: false },\r\n\t\t\t\t{ title: '', data: 'idProveedor', visible: false },\r\n\t\t\t\t{ title: 'OC', data: 'numeroOrdenCompra' },\r\n\t\t\t\t{ title: 'Proveedor', data: 'proveedorRazonSocial' },\r\n\t\t\t\t{ title: 'Código identificador UUID', data: 'nombreArchivo' },\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Fecha de alta ',\r\n\t\t\t\t\tdata: 'fechaRegistro',\r\n\t\t\t\t\ttype: 'date',\r\n\t\t\t\t\trender: (data: string, type) => {\r\n\t\t\t\t\t\treturn type === 'display' || type === 'filter'\r\n\t\t\t\t\t\t\t? this.datepipe.transform(new Date(data), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t: new Date(data);\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Fecha de recepción ',\r\n\t\t\t\t\tdata: 'fechaRecepcion',\r\n\t\t\t\t\ttype: 'date',\r\n\t\t\t\t\trender: (data: string, type) => {\r\n\t\t\t\t\t\treturn type === 'display' || type === 'filter'\r\n\t\t\t\t\t\t\t? this.datepipe.transform(new Date(data), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t: new Date(data);\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Fecha programación pago ',\r\n\t\t\t\t\tdata: 'fechaPago',\r\n\t\t\t\t\trender: (data: string, type) => {\r\n\t\t\t\t\t\treturn type === 'display' || type === 'filter'\r\n\t\t\t\t\t\t\t? this.datepipe.transform(new Date(data), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t: new Date(data);\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Fecha de autorización ',\r\n\t\t\t\t\tdata: 'fechaAutorizo',\r\n\t\t\t\t\trender: (data: string, type) => {\r\n\t\t\t\t\t\treturn type === 'display' || type === 'filter'\r\n\t\t\t\t\t\t\t? this.datepipe.transform(new Date(data), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t: new Date(data);\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Fecha Xml',\r\n\t\t\t\t\tdata: 'fechaXml',\r\n\t\t\t\t\trender: (data: string, type: any, full: Archivo) => {\r\n\t\t\t\t\t\tif (full.fechaXml) {\r\n\t\t\t\t\t\t\treturn this.datepipe.transform(new Date(full.fechaXml), 'dd/MM/yyyy');\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn '';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t//{\r\n\t\t\t\t// title: 'Pagar',\r\n\t\t\t\t// data: 'autorizado',\r\n\t\t\t\t// width: \"10%\",\r\n\t\t\t\t// render: (data: any, type: any, full: Archivo) => {\r\n\t\t\t\t// if (this.val != 3) {\r\n\t\t\t\t// return `
    \r\n\t\t\t\t// \r\n\t\t\t\t//
    `;\r\n\t\t\t\t// }\r\n\r\n\t\t\t\t// if (full.autorizado == \"Autorizado\") {\r\n\r\n\t\t\t\t// return `
    \r\n\t\t\t\t// \r\n\t\t\t\t//
    `;\r\n\t\t\t\t// }\r\n\t\t\t\t// else {\r\n\t\t\t\t// return `
    \r\n\t\t\t\t// \r\n\t\t\t\t//
    `;\r\n\r\n\t\t\t\t// }\r\n\t\t\t\t// }\r\n\t\t\t\t//},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Programado para pago',\r\n\t\t\t\t\tdata: 'FechaPago',\r\n\t\t\t\t\twidth: '5%',\r\n\t\t\t\t\trender: (data: any, type: any, full: Archivo) => {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tfull.fechaPago == null &&\r\n\t\t\t\t\t\t\tthis.val == 3 &&\r\n\t\t\t\t\t\t\tfull.fechaAutorizo != null\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n \r\n
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n \r\n
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Autorizar',\r\n\t\t\t\t\tdata: 'FechaAutorizo',\r\n\t\t\t\t\twidth: '5%',\r\n\t\t\t\t\trender: (data: any, type: any, full: Archivo) => {\r\n\t\t\t\t\t\tif (full.fechaAutorizo == null) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n \r\n
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (full.fechaAutorizo != null && full.canceladoEnSap == 'Y') {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n \r\n
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n \r\n
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Rechazar',\r\n\t\t\t\t\tdata: 'idArchivo',\r\n\t\t\t\t\twidth: '5%',\r\n\t\t\t\t\trender: (data: any, type: any, full: Archivo) => {\r\n\t\t\t\t\t\tif (full.fechaAutorizo == null) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (full.fechaAutorizo != null && full.canceladoEnSap == 'Y') {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Total',\r\n\t\t\t\t\tdata: 'total',\r\n\t\t\t\t\twidth: '11%',\r\n\t\t\t\t\trender: (data: number) =>\r\n\t\t\t\t\t\tdata != null ? MascaraMoneda.format(data) : '$ 0.00',\r\n\t\t\t\t},\r\n\t\t\t\t{ title: 'Moneda', data: 'moneda' },\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Método de pago',\r\n\t\t\t\t\tdata: 'metodoPago'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Recibida SAP',\r\n\t\t\t\t\tdata: 'procesadaEnSap',\r\n\t\t\t\t\trender: (data: any, type: any, full: Archivo) => {\r\n\t\t\t\t\t\tif (full.procesadaEnSap == 1 && full.canceladoEnSap == 'N') {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n \r\n
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (full.procesadaEnSap == 1 && full.canceladoEnSap == '') {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n \r\n
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (full.procesadaEnSap == 1 && full.canceladoEnSap == 'Y') {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n \r\n
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n \r\n
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Pagada SAP',\r\n\t\t\t\t\tdata: 'pagadoEnSap',\r\n\t\t\t\t\trender: (data: any, type: any, full: Archivo) => {\r\n\t\t\t\t\t\tif (full.pagadoEnSap == 'N') {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n \r\n
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (full.pagadoEnSap == 'Y') {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n \r\n
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle:\r\n\t\t\t\t\t\t'XML
    ',\r\n\t\t\t\t\tdata: 'idArchivo',\r\n\t\t\t\t\twidth: '4%',\r\n\t\t\t\t\trender: (data: any, type: any, full: Archivo) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t`
    \r\n \r\n \t\t\t\t\t \r\n
    `\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle:\r\n\t\t\t\t\t\t'PDF
    ',\r\n\t\t\t\t\tdata: 'idArchivo',\r\n\t\t\t\t\twidth: '4%',\r\n\t\t\t\t\trender: (data: any, type: any, full: Archivo) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t`
    \r\n \r\n \r\n
    `\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Opciones',\r\n\t\t\t\t\tdata: 'idArchivo',\r\n\t\t\t\t\twidth: '8%',\r\n\t\t\t\t\trender: (data: any, type: any, full: Archivo) => {\r\n\t\t\t\t\t\tif (full.pruebasEntregaAceptadas) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t`
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    `\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t};\r\n\r\n\t\tthis.Procesando = false;\r\n\t}\r\n\r\n\tcargarEncabezados(): void {\r\n\t\tthis.Procesando = true;\r\n\t\tthis.dtOptions = {\r\n\t\t\tlanguage: { url: '/js/espanol.json' },\r\n\t\t\tsearching: true,\r\n\t\t\tcolumns: [\r\n\t\t\t\t{ title: '', visible: false },\r\n\t\t\t\t{ title: '', visible: false },\r\n\t\t\t\t{ title: 'OC' },\r\n\t\t\t\t{ title: 'Proveedor' },\r\n\t\t\t\t{ title: 'Código identificador UUID' },\r\n\t\t\t\t{ title: 'Fecha de recepción ' },\r\n\t\t\t\t{ title: 'Fecha de alta ' },\r\n\t\t\t\t{ title: 'Fecha programación pago ' },\r\n\t\t\t\t{ title: 'Fecha de autorización ' },\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Fecha Xml'\r\n\r\n\t\t\t\t},\r\n\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Pagar'\r\n\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Autorizar'\r\n\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Rechazar'\r\n\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Total'\r\n\r\n\t\t\t\t},\r\n\t\t\t\t{ title: 'Moneda' },\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Método de pago'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Enviada SAP'\r\n\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle:\r\n\t\t\t\t\t\t'Descargas'\r\n\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle:\r\n\t\t\t\t\t\t'Descargas'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Opciones'\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t};\r\n\t}\r\n\r\n\tpublic normalizarArchivos(archivos: any): Promise {\r\n\t\treturn new Promise(async (resolve, reject) => {\r\n\t\t\tconst promiseNormalizarArchivos = [];\r\n\t\t\tfor (const archivo of archivos) {\r\n\t\t\t\tpromiseNormalizarArchivos.push(this.normalizarArchivo(archivo));\r\n\t\t\t}\r\n\t\t\tPromise.all(promiseNormalizarArchivos)\r\n\t\t\t\t.then(archivosCompletos => {\r\n\t\t\t\t\tresolve(archivosCompletos);\r\n\t\t\t\t})\r\n\t\t\t\t.catch(error => {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\tpublic normalizarArchivo(archivo: any): Promise {\r\n\t\treturn new Promise(async (resolve, reject) => {\r\n\t\t\ttry {\r\n\t\t\t\tconst parser = new DOMParser();\r\n\t\t\t\tconst xmlDoc = parser.parseFromString(archivo.xml, 'text/xml');\r\n\t\t\t\tconst tagElements = xmlDoc.getElementsByTagName('cfdi:Comprobante');\r\n\t\t\t\tif (tagElements && tagElements[0] && tagElements[0].attributes) {\r\n\t\t\t\t\tconst attributes = tagElements[0].attributes;\r\n\t\t\t\t\tarchivo.fechaXml = attributes['Fecha'] ? attributes['Fecha'].textContent : '';\r\n\t\t\t\t\tarchivo.metodoPago = attributes['MetodoPago'] ? attributes['MetodoPago'].textContent : '';\r\n\t\t\t\t\tarchivo.moneda = attributes['Moneda'] ? attributes['Moneda'].textContent : '';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tarchivo.fechaXml = '';\r\n\t\t\t\t\tarchivo.metodoPago = '';\r\n\t\t\t\t\tarchivo.moneda = '';\r\n\t\t\t\t}\r\n\t\t\t\tarchivo.pruebasEntregaAceptadas = archivo.numeroOrdenCompra ? await this.pruebasEntregaAceptadas(archivo) : false;\r\n\t\t\t\tresolve(archivo);\r\n\t\t\t}\r\n\t\t\tcatch (error) {\r\n\t\t\t\tconsole.log('error-->', error);\r\n\t\t\t\tarchivo.fechaXml = '';\r\n\t\t\t\tarchivo.metodoPago = '';\r\n\t\t\t\tarchivo.moneda = '';\r\n\t\t\t\tarchivo.pruebasEntregaAceptadas = false;\r\n\t\t\t\tresolve(archivo);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tbuscar(): void {\r\n\t\tthis.busquedaGrande();\r\n\t}\r\n\r\n\tbuscarOK(): void {\r\n\t\tthis.Procesando = true;\r\n\t\tthis.recargarTabla();\r\n\t}\r\n\r\n\r\n\tpublic preguntarSiBuscar() {\r\n\r\n\t\tconst swalWithBootstrapButtons = Swal.mixin({\r\n\t\t\tconfirmButtonClass: 'btn btn-success mr-1',\r\n\t\t\tcancelButtonClass: 'btn btn-danger mr-1',\r\n\t\t\tbuttonsStyling: false,\r\n\t\t});\r\n\t\tswalWithBootstrapButtons.fire({\r\n\t\t\ttitle: 'La consulta puede tardar varios minutos',\r\n\t\t\ttext: `¿Desea continuar?`,\r\n\t\t\ttype: 'question',\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: 'Sí, continuar',\r\n\t\t\tcancelButtonText: 'No, cancelar',\r\n\t\t\treverseButtons: true\r\n\t\t}).then((result) => {\r\n\t\t\tif (result.value) {\r\n\t\t\t\tthis.aceptarBusquedaGrande();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\taceptarBusquedaGrande(): void {\r\n\t\tthis.Procesando = true;\r\n\t\tthis.recargarTabla();\r\n\t}\r\n\r\n\tbusquedaGrande(): void {\r\n\t\tif (!this.archivo.nombreArchivo &&\r\n\t\t\t!this.archivo.proveedorRazonSocial &&\r\n\t\t\t!this.archivo.sociedadNombreComercial &&\r\n\t\t\t!this.archivo.fechaAutorizoDesde &&\r\n\t\t\t!this.archivo.fechaAutorizoHasta &&\r\n\t\t\t!this.archivo.fechaPagoDesde &&\r\n\t\t\t!this.archivo.fechaPagoHasta &&\r\n\t\t\t!this.archivo.fechaPago &&\r\n\t\t\t!this.archivo.fechaPPD &&\r\n\t\t\t!this.archivo.fechaPPH &&\r\n\t\t\t//!this.archivo.fechaRecepcionDesde &&\r\n\t\t\t//!this.archivo.fechaRecepcionHasta &&\r\n\t\t\t!this.tipoBusqueda) {\r\n\t\t\tthis.preguntarSiBuscar();\r\n\t\t}\r\n\t\telse if (\r\n\t\t\tthis.archivo.sociedadNombreComercial &&\r\n\t\t\t!this.archivo.fechaRecepcionHasta &&\r\n\t\t\t!this.archivo.fechaRecepcionDesde\r\n\t\t) {\r\n\t\t\tthis.preguntarSiBuscar();\r\n\t\t}\r\n\t\telse if (\r\n\t\t\t!this.archivo.fechaRecepcionHasta &&\r\n\t\t\t!this.archivo.fechaRecepcionDesde\r\n\t\t) {\r\n\t\t\tthis.preguntarSiBuscar();\r\n\t\t}\r\n\t\telse if (\r\n\t\t\tthis.archivo.sociedadNombreComercial &&\r\n\t\t\tthis.archivo.fechaRecepcionHasta &&\r\n\t\t\tthis.archivo.fechaRecepcionDesde\r\n\t\t) {\r\n\t\t\tlet fechaHasta = this.archivo.fechaRegistroDesde.getTime();\r\n\t\t\tlet fechaDesde = this.archivo.fechaRegistroHasta.getTime();\r\n\t\t\tvar diferencia = fechaHasta - fechaDesde;\r\n\t\t\tvar diasBusqueda = (diferencia / (1000 * 60 * 60 * 24))\r\n\t\t\tif (diasBusqueda > 60) {\r\n\t\t\t\tthis.preguntarSiBuscar();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.buscarOK();\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (this.archivo.fechaRecepcionHasta && this.archivo.fechaRecepcionDesde) {\r\n\t\t\t\tlet fechaHasta = this.archivo.fechaRecepcionHasta.getTime();\r\n\t\t\t\tlet fechaDesde = this.archivo.fechaRecepcionDesde.getTime();\r\n\t\t\t\tvar diferencia = fechaHasta - fechaDesde;\r\n\t\t\t\tvar diasBusqueda = (diferencia / (1000 * 60 * 60 * 24))\r\n\t\t\t\tif (diasBusqueda > 60) {\r\n\t\t\t\t\tthis.preguntarSiBuscar();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.buscarOK();\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthis.buscarOK();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tlimpiar(): void {\r\n\t\tthis.archivo.nombreArchivo = null;\r\n\t\tthis.archivo.proveedorRazonSocial = null;\r\n\t\tthis.archivo.sociedadNombreComercial = null;\r\n\t\tthis.archivo.fechaAutorizoDesde = null;\r\n\t\tthis.archivo.fechaAutorizoHasta = null;\r\n\t\tthis.archivo.fechaPagoDesde = null;\r\n\t\tthis.archivo.fechaPagoHasta = null;\r\n\t\tthis.archivo.fechaPago = null;\r\n\t\tthis.archivo.fechaPPD = null;\r\n\t\tthis.archivo.fechaPPH = null;\r\n\t\tthis.archivo.fechaRecepcionDesde = null;\r\n\t\tthis.archivo.fechaRecepcionHasta = null;\r\n\t\tthis.archivo.fechaRegistroDesde = null;\r\n\t\tthis.archivo.fechaRegistroHasta = null;\r\n\r\n\r\n\t\tthis.tipoBusqueda = null;\r\n\t\tthis.val = 0;\r\n\r\n\t\tthis.mostrarDatos1 = false;\r\n\t\tthis.mostrarDatos2 = false;\r\n\t\tthis.mostrarDatos3 = false;\r\n\t\tthis.mostrarDatos4 = false;\r\n\t\tthis.mostrarDatos5 = false;\r\n\t}\r\n\r\n\tlimpiarFiltroAutorizacion(): void {\r\n\t\tthis.archivo.fechaAutorizoDesde = null;\r\n\t\tthis.archivo.fechaAutorizoHasta = null;\r\n\t\tthis.recargarTabla();\r\n\t}\r\n\r\n\tlimpiarFiltroPago(): void {\r\n\t\tthis.archivo.fechaPagoDesde = null;\r\n\t\tthis.archivo.fechaPagoHasta = null;\r\n\t\tthis.recargarTabla();\r\n\t}\r\n\r\n\tlimpiarFiltroPorAutorizar(): void {\r\n\t\tthis.archivo.fechaPago = null;\r\n\t\tthis.archivo.fechaPPD = null;\r\n\t\tthis.archivo.fechaPPH = null;\r\n\t}\r\n\r\n\treporteExcel(): void {\r\n\t\tthis.exportToXlsxService.reporteRecepcionFacturas('Reporte Recepción de Facturas', this.archivos);\r\n\t\t/*\r\n\t\tlet observable = this.servicios.archivos\r\n\t\t\t.obtenerReporteExcel(this.archivo)\r\n\t\t\t.subscribe((xls) => {\r\n\t\t\t\tlet a = document.createElement('a');\r\n\t\t\t\tlet blob = new Blob([xls], {\r\n\t\t\t\t\ttype: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n\t\t\t\t});\r\n\t\t\t\tlet url = window.URL.createObjectURL(blob);\r\n\t\t\t\ta.href = url;\r\n\t\t\t\ta.download = 'Reporte Archivos' + '.xlsx';\r\n\t\t\t\ta.click();\r\n\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t});\r\n\t\t*/\r\n\t}\r\n\r\n\tpublic recargarTabla(): void {\r\n\t\tthis.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n\t\t\tdtInstance.ajax.reload();\r\n\t\t});\r\n\t}\r\n\r\n\tpublic rechazarFactura(id: any) {\r\n\r\n\t\tconst swalWithBootstrapButtons = Swal.mixin({\r\n\t\t\tconfirmButtonClass: 'btn btn-success mr-1',\r\n\t\t\tcancelButtonClass: 'btn btn-danger mr-1',\r\n\t\t\tbuttonsStyling: false,\r\n\t\t});\r\n\t\tswalWithBootstrapButtons.fire({\r\n\t\t\ttitle: '¿Desea rechazar el documento?',\r\n\t\t\ttext: `Se rechazará la Factura`,\r\n\t\t\ttype: 'question',\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: 'Sí, rechazar',\r\n\t\t\tcancelButtonText: 'No, cancelar',\r\n\t\t\treverseButtons: true\r\n\t\t}).then((result) => {\r\n\t\t\tif (result.value) {\r\n\t\t\t\tthis.servicios.archivos.rechazarCompra(id)\r\n\t\t\t\t\t.then(eliminado => {\r\n\t\t\t\t\t\tif (eliminado) {\r\n\t\t\t\t\t\t\tthis.notificacion.mostrarExito('Factura rechazada.');\r\n\t\t\t\t\t\t\tthis.recargarTabla();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.notificacion.mostrarError(\r\n\t\t\t\t\t\t\t\t'Error! La factura no fue rechazada.'\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tpruebasEntregaAceptadas(archivo: any): Promise {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis.servicios.archivos.pruebasEntregaAceptadas(archivo.idArchivo)\r\n\t\t\t\t.then(respuesta => {\r\n\t\t\t\t\tresolve(respuesta);\r\n\t\t\t\t})\r\n\t\t\t\t.catch(error => {\r\n\t\t\t\t\tconsole.log('error ==>', error);\r\n\t\t\t\t\tresolve(false);\r\n\t\t\t\t})\r\n\t\t});\r\n\t}\r\n\r\n\t// pruebasEntregaAceptadas(archivo: any): Promise {\r\n\t// \treturn new Promise((resolve, reject) => {\r\n\t// \t\tif (archivo.numeroOrdenCompra) {\r\n\t// \t\t\tthis.servicios.archivos.pruebasEntregaAceptadas(archivo.idArchivo)\r\n\t// \t\t\t\t.then(respuesta => {\r\n\t// \t\t\t\t\tresolve(respuesta);\r\n\t// \t\t\t\t})\r\n\t// \t\t\t\t.catch(error => {\r\n\t// \t\t\t\t\tconsole.log('error ==>', error);\r\n\t// \t\t\t\t\tresolve(false);\r\n\t// \t\t\t\t})\r\n\t// \t\t} else {\r\n\t// \t\t\tresolve(false);\r\n\t// \t\t}\r\n\t// \t});\r\n\r\n\r\n\t// }\r\n\r\n\tusuarioResponsable(archivo: any): Promise {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tif (archivo.numeroOrdenCompra) {\r\n\t\t\t\tthis.servicios.archivos.usuarioResponsable(archivo.numeroOrdenCompra)\r\n\t\t\t\t\t.then(respuesta => {\r\n\t\t\t\t\t\tresolve(respuesta);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(error => {\r\n\t\t\t\t\t\tconsole.log('error ==>', error);\r\n\t\t\t\t\t\tresolve(false);\r\n\t\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tresolve(false);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.oyente();\r\n\t}\r\n}\r\n","module.exports = \".ui.button:not(.icon) > .icon:not(.button):not(.dropdown) {\\r\\n font-size: 30px !important;\\r\\n\\r\\n}\\r\\n\\r\\n.containerFacturas {\\r\\n min-width: 1900px !important; \\r\\n}\\r\\n\\r\\n.table-responsive {\\r\\n display: block;\\r\\n width: 100%;\\r\\n overflow-x: auto;\\r\\n .mat-table {\\r\\n width: 100%;\\r\\n max-width: 100%;\\r\\n margin-bottom: 1rem;\\r\\n display: table;\\r\\n border-collapse: collapse;\\r\\n margin: 0px;\\r\\n }\\r\\n .mat-row,\\r\\n .mat-header-row {\\r\\n display: table-row;\\r\\n }\\r\\n .mat-cell,\\r\\n .mat-header-cell {\\r\\n word-wrap: initial;\\r\\n display: table-cell;\\r\\n padding: 0px 5px;\\r\\n line-break: unset;\\r\\n width: auto;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n vertical-align: middle;\\r\\n }\\r\\n .row {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n margin-right: -15px;\\r\\n margin-left: -15px;\\r\\n }\\r\\n}\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Loading
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { ExportToXlsxService } from 'ClientApp/app/servicios/exportToXls';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { Component, OnInit, Output, EventEmitter,ViewChild, Renderer2 } from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { Subject, Observable, of } from 'rxjs';\r\nimport { Sociedad } from 'ClientApp/app/entidades/sociedad';\r\nimport { Servicios } from 'ClientApp/app/servicios/servicios';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MascaraMoneda } from '../../compartida/mascara-moneda';\r\n\r\n\r\n@Component({\r\n selector: 'app-reporte-facturas',\r\n templateUrl: './reporte-facturas.component.html',\r\n styleUrls: ['./reporte-facturas.component.css']\r\n})\r\nexport class ReporteFacturasComponent implements OnInit {\r\n Procesando: boolean;\r\n Activo: boolean = false;\r\n @Output() xmlOprimido: EventEmitter = new EventEmitter();\t\r\n\t@ViewChild(DataTableDirective) dtElement: DataTableDirective ;\r\n\treloadTrigger: Subject = new Subject();\r\n cargaInicial = false;\r\n titulo: string = 'XML a Excel';\r\n private oyente: () => void;\r\n\r\n\r\n \r\n origenDatos:String = 'sistema';\r\n \r\n archivosXML: any[] = [];\r\n sociedades: Sociedad[] = [];\r\n sociedadComercial: any; \r\n dtOptions: DataTables.Settings = {};\r\n dtTrigger: Subject = new Subject();\r\n\r\n archivos: any[] = [];\r\n origenes = [\r\n {\r\n value: 'sistema',\r\n display: 'Sistema' \r\n },\r\n {\r\n value: 'directorio',\r\n display: 'Directorio Local' \r\n }\r\n ];\r\n meses = [\r\n {\r\n value: '01',\r\n display: 'ENERO'\r\n },\r\n {\r\n value: '02',\r\n display: 'FEBRERO'\r\n },\r\n {\r\n value: '03',\r\n display: 'MARZO'\r\n },\r\n {\r\n value: '04',\r\n display: 'ABRÍL'\r\n },\r\n {\r\n value: '05',\r\n display: 'MAYO'\r\n },\r\n {\r\n value: '06',\r\n display: 'JUNIO'\r\n },\r\n {\r\n value: '07',\r\n display: 'JULIO'\r\n },\r\n {\r\n value: '08',\r\n display: 'AGOSTO'\r\n },\r\n {\r\n value: '09',\r\n display: 'SEPTIEMBRE'\r\n },\r\n {\r\n value: '10',\r\n display: 'OCTUBRE'\r\n },\r\n {\r\n value: '11',\r\n display: 'NOVIEMBRE'\r\n },\r\n {\r\n value: '12',\r\n display: 'DICIEMBRE'\r\n }\r\n ]\r\n mes;\r\n anios: any[];\r\n anio;\r\n criterioBusqueda;\r\n constructor(\r\n private servicios: Servicios,\r\n private renderer: Renderer2,\r\n public datepipe: DatePipe,\r\n private exportToXlsxService: ExportToXlsxService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.origenDatos = 'sistema';\r\n const fechaActual = new Date();\r\n this.anios = []\r\n for(var i = fechaActual.getFullYear()-3; i <= fechaActual.getFullYear(); i++) {\r\n this.anios.push(\r\n {\r\n value: String(i),\r\n display: String(i)\r\n }\r\n )\r\n }\r\n \r\n this.cargarTabla(); \r\n this.Procesando = true; \r\n this.cargarSociedades();\r\n }\r\n\r\n establecerOrigen() {\r\n \r\n this.limpiar();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next();\r\n\t\tthis.renderer.destroy();\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n\t\t\tlet objetivo = event.target;\t\t\t\t\t\t\r\n\t\t});\r\n }\r\n\r\n \r\n\r\n establecerFechasMes() {\r\n\t\t// Obtener la fecha actual\r\n\t\tconst fechaActual = new Date();\r\n\r\n\t\t// Obtener el primer día del mes actual\r\n\t\tconst primerDiaMes = new Date(fechaActual.getFullYear(), fechaActual.getMonth(), 1);\r\n\t\tconst inicioMes = primerDiaMes.toLocaleDateString('en-US', { year: 'numeric', month: '2-digit', day: '2-digit' });\r\n\r\n\t\t// Obtener el último día del mes actual\r\n\t\tconst ultimoDiaMes = new Date(fechaActual.getFullYear(), fechaActual.getMonth() + 1, 0);\r\n\t\tconst finMes = ultimoDiaMes.toLocaleDateString('en-US', { year: 'numeric', month: '2-digit', day: '2-digit' });\r\n\t}\r\n\r\n cargarSociedades() {\r\n\t\tthis.servicios.sociedades.obtenerTodos().subscribe((lista) => {\r\n\t\t\tthis.sociedades = lista; \r\n\t\t});\r\n\t}\r\n\r\n buscar() { \r\n this.criterioBusqueda = {\r\n sociedadComercial: this.sociedadComercial ? this.sociedadComercial : null,\r\n fechaDesde: null,\r\n fechaHasta: null\r\n };\r\n if (this.anio && this.mes) {\r\n const fecha = new Date(Number(this.anio), Number(this.mes)-1, 1);\r\n \r\n const primerDiaMes = new Date(fecha.getFullYear(), fecha.getMonth(), 1);\r\n this.criterioBusqueda.fechaDesde = primerDiaMes; \r\n const ultimoDiaMes = new Date(fecha.getFullYear(), fecha.getMonth() + 1, 0); \r\n this.criterioBusqueda.fechaHasta = ultimoDiaMes\r\n \r\n } \r\n this.Procesando = true;\t\t\t\t\r\n\t\tthis.recargarTabla();\r\n }\r\n\r\n \r\n\tpublic recargarTabla(): void {\r\n this.cargaInicial = true;\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\t\t\t\t\t\t\t\t\t\t\r\n dtInstance.ajax.reload();\t\t\t\t\t\t\t\t\t\r\n });\r\n\t\t\r\n\t}\r\n\r\n public normalizarArchivos(archivos: any): Promise {\t\t\r\n\t\treturn new Promise(async (resolve, reject) => {\t\t\t\t\t\r\n\t\t\tconst promiseNormalizarArchivos = [];\t\t\r\n \r\n for(const archivo of archivos) {\r\n if (this.origenDatos === 'sistema') {\r\n promiseNormalizarArchivos.push(this.normalizarArchivo(archivo));\r\n } else {\r\n promiseNormalizarArchivos.push(this.normalizarArchivoLocal(archivo));\r\n } \r\n }\r\n Promise.all(promiseNormalizarArchivos)\r\n .then(archivosCompletos => { \r\n if (this.origenDatos === 'directorio') {\r\n this.archivosXML = [];\r\n }\r\n resolve(archivosCompletos.filter(mFacturav=> mFacturav));\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\t\t\t\r\n\t\t});\r\n\t}\r\n\r\n public normalizarArchivo(archivo: any): Promise {\t\r\n\t\treturn new Promise(async (resolve, reject) => {\r\n if (!archivo.xml || String(archivo.xml).length <= 10) {\r\n resolve(null);\r\n }\r\n try { \r\n const parser = new DOMParser();\r\n const xmlDoc = parser.parseFromString(archivo.xml, 'text/xml'); \r\n const emisor = xmlDoc.getElementsByTagName('cfdi:Emisor');\r\n const attributesEmisor = emisor[0].attributes;\r\n const receptor = xmlDoc.getElementsByTagName('cfdi:Receptor');\r\n const attributesReceptor = receptor[0].attributes;\r\n const comprobante = xmlDoc.getElementsByTagName('cfdi:Comprobante');\r\n const attributesComprobante = comprobante[0].attributes;\r\n const timbreFiscalDigital = xmlDoc.getElementsByTagName('tfd:TimbreFiscalDigital');\r\n const attributesTimbreFiscalDigital = timbreFiscalDigital[0].attributes;\r\n const cfdiRelacionados = xmlDoc.getElementsByTagName('cfdi:CfdiRelacionados');\r\n const attributesCfdiRelacionados = cfdiRelacionados && cfdiRelacionados[0] ? cfdiRelacionados[0].attributes : null;\r\n const cfdiRelacionado = xmlDoc.getElementsByTagName('cfdi:CfdiRelacionado');\r\n const attributesCfdiRelacionado = cfdiRelacionado && cfdiRelacionado[0]? cfdiRelacionado[0].attributes : null; \r\n\r\n const promiseImpuestos: any = new Promise (async (resolveImpuestos: any) => { \r\n const promiseNodoImpuestos: any = new Promise (async (resolveNodoImpuestos: any) => { \r\n const root = xmlDoc.documentElement;\r\n const comprobante = xmlDoc.getElementsByTagName('cfdi:Comprobante');\r\n //const childs = Array.from(comprobante[0].children);\r\n const childs = Array.from(comprobante[0].children);\r\n let nodoImpuestos = {\r\n totalImpuestosTrasladados: 0,\r\n totalImpuestosRetenidos: 0, \r\n traslados: [],\r\n retenciones: [] \r\n } \r\n for (const childElement of childs) {\r\n if (childElement.tagName ==='cfdi:Impuestos') { \r\n const childsLeve1 = Array.from(childElement.children);\r\n for(const chidl1 of childsLeve1) {\r\n if (chidl1.tagName === 'cfdi:Retenciones') {\r\n const childsRetenciones = Array.from(chidl1.children);\r\n for (const childRetencion of childsRetenciones) {\r\n const retencion = {\r\n Impuesto: '',\r\n TipoFactor: '',\r\n TasaOCuota: '',\r\n Importe: 0\r\n }\r\n for (let i = 0; i < childRetencion.attributes.length; i++) { \r\n const attribute = childRetencion.attributes[i]; \r\n if (attribute.name === 'Impuesto') {\r\n retencion.Impuesto = attribute.value;\r\n } else if (attribute.name === 'TipoFactor') {\r\n retencion.TipoFactor = attribute.value;\r\n } else if (attribute.name === 'TasaOCuota') {\r\n retencion.TasaOCuota = attribute.value;\r\n } else if (attribute.name === 'Importe') {\r\n retencion.Importe = Number(attribute.value);\r\n }\r\n }\r\n nodoImpuestos.retenciones.push(retencion);\r\n }\r\n } else if(chidl1.tagName === 'cfdi:Traslados') {\r\n const childsTraslados = Array.from(chidl1.children);\r\n for (const childTraslado of childsTraslados) {\r\n const traslado = {\r\n Impuesto: '',\r\n TipoFactor: '',\r\n TasaOCuota: '',\r\n Importe: 0\r\n }\r\n for (let i = 0; i < childTraslado.attributes.length; i++) { \r\n const attribute = childTraslado.attributes[i]; \r\n if (attribute.name === 'Impuesto') {\r\n traslado.Impuesto = attribute.value;\r\n } else if (attribute.name === 'TipoFactor') {\r\n traslado.TipoFactor = attribute.value;\r\n } else if (attribute.name === 'TasaOCuota') {\r\n traslado.TasaOCuota = attribute.value;\r\n } else if (attribute.name === 'Importe') {\r\n traslado.Importe = Number(attribute.value);\r\n }\r\n\r\n }\r\n \r\n nodoImpuestos.traslados.push(traslado);\r\n }\r\n } \r\n }\r\n const attributes = childElement.attributes;\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attribute = attributes[i]; \r\n const attributeValue = attribute.value;\r\n if (attribute.name === 'TotalImpuestosRetenidos') {\r\n nodoImpuestos.totalImpuestosRetenidos = Number(attributeValue);\r\n } else if (attribute.name === 'TotalImpuestosTrasladados') {\r\n nodoImpuestos.totalImpuestosTrasladados = Number(attributeValue);\r\n } \r\n }\r\n } \r\n } \r\n resolveNodoImpuestos(nodoImpuestos); \r\n });\r\n\r\n const promiseNodoImpuestosLocales: any = new Promise (async (resolveNodoImpuestosLocales: any) => { \r\n const impuestosLocales = Array.from(xmlDoc.getElementsByTagName('implocal:ImpuestosLocales')); \r\n const nodoImpuestosLocales = {\r\n totalRetenciones: 0,\r\n totalTraslados:0,\r\n ish: 0\r\n }\r\n if (impuestosLocales && impuestosLocales.length > 0 ) {\r\n for(const impuestoLocal of impuestosLocales) {\r\n const attributesImpuestosLocales = impuestoLocal.attributes;\r\n nodoImpuestosLocales.totalRetenciones = attributesImpuestosLocales['TotaldeRetenciones'] ? Number(attributesImpuestosLocales['TotaldeRetenciones'].textContent) : nodoImpuestosLocales.totalRetenciones;\r\n nodoImpuestosLocales.totalTraslados = attributesImpuestosLocales['TotaldeTraslados'] ? Number(attributesImpuestosLocales['TotaldeTraslados'].textContent) : nodoImpuestosLocales.totalTraslados;\r\n const childs = Array.from(impuestoLocal.children);\r\n for(const child of childs) {\r\n const childAtributes = child.attributes\r\n nodoImpuestosLocales.ish = childAtributes['ImpLocTrasladado'] && childAtributes['Importe'] ? childAtributes['ImpLocTrasladado'].textContent === 'ISH' ? Number(childAtributes['Importe'].textContent): nodoImpuestosLocales.ish : nodoImpuestosLocales.ish;\r\n }\r\n \r\n }\r\n resolveNodoImpuestosLocales(nodoImpuestosLocales);\r\n } else {\r\n resolveNodoImpuestosLocales(nodoImpuestosLocales);\r\n }\r\n });\r\n \r\n const nodoImpuestos = await promiseNodoImpuestos; \r\n const nodoImpuestosLocales = await promiseNodoImpuestosLocales; \r\n const promiseTotalIEPS: any = new Promise (async (resolveTotalEIPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\");\r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveTotalEIPS(totalIEPS);\r\n });\r\n\r\n const promiseIVA8: any = new Promise (async (resolveIVA: any) => {\r\n let totalIVA = 0;\r\n const trasladosIVA = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"002\" && mTraslado.TasaOCuota === \"0.080000\"); \r\n if (trasladosIVA.length > 0) {\r\n for(const traslado of trasladosIVA ) {\r\n totalIVA += traslado.Importe;\r\n }\r\n }\r\n const retencionesIVA = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"002\" && mTraslado.TasaOCuota === \"0.080000\");\r\n if (retencionesIVA.length > 0) {\r\n for(const retencion of retencionesIVA ) {\r\n totalIVA += retencion.Importe;\r\n }\r\n }\r\n resolveIVA(totalIVA);\r\n });\r\n\r\n const promiseIVA6Ret: any = new Promise (async (resolveIVA: any) => {\r\n let totalIVA = 0; \r\n const retencionesIVA = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"002\" && mTraslado.TasaOCuota === \"0.060000\");\r\n if (retencionesIVA.length > 0) {\r\n for(const retencion of retencionesIVA ) {\r\n totalIVA += retencion.Importe;\r\n }\r\n }\r\n resolveIVA(totalIVA);\r\n });\r\n\r\n const promiseIVA16: any = new Promise (async (resolveIVA16: any) => {\r\n let totalIVA16 = 0;\r\n const trasladosIVA16 = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"002\" && mTraslado.TasaOCuota === \"0.160000\"); \r\n if (trasladosIVA16.length > 0) {\r\n for(const traslado of trasladosIVA16 ) {\r\n totalIVA16 += traslado.Importe;\r\n }\r\n }\r\n const retencionesIVA16 = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"002\" && mTraslado.TasaOCuota === \"0.160000\");\r\n if (retencionesIVA16.length > 0) {\r\n for(const retencion of retencionesIVA16 ) {\r\n totalIVA16 += retencion.Importe;\r\n }\r\n }\r\n resolveIVA16(totalIVA16);\r\n });\r\n\r\n const promiseRetenidoIVA: any = new Promise (async (resolveRetenidoIVA: any) => {\r\n let retenidoIVA = 0;\r\n const retencionesIVA = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"002\");\r\n if (retencionesIVA.length > 0) {\r\n for(const retencion of retencionesIVA ) {\r\n retenidoIVA += retencion.Importe;\r\n }\r\n }\r\n resolveRetenidoIVA(retenidoIVA);\r\n });\r\n\r\n const promiseRetenidoISR: any = new Promise (async (resolveRetenidoISR: any) => {\r\n let retenidoIRS = 0;\r\n const retencionesISR = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"001\");\r\n if (retencionesISR.length > 0) {\r\n for(const retencion of retencionesISR ) {\r\n retenidoIRS += retencion.Importe;\r\n }\r\n }\r\n resolveRetenidoISR(retenidoIRS);\r\n });\r\n \r\n const promiseIEPS3: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.030000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.030000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS6: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.060000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.060000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS7: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.070000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.070000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS8: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.080000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.080000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS9: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.090000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.090000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS265: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.265000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.265000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS30: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.300000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.300000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS34: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.340000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.340000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS53: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.530000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.530000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS160: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"1.600000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"1.600000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n }); \r\n\r\n const impuestos = {\r\n totalIEPS: await promiseTotalIEPS,\r\n iva8 : await promiseIVA8,\r\n iva16: await promiseIVA16,\r\n ivat6Ret: await promiseIVA6Ret,\r\n retenidoIVA: await promiseRetenidoIVA,\r\n retenidoISR: await promiseRetenidoISR,\r\n totalTraslados: nodoImpuestos.totalImpuestosTrasladados,\r\n totalRetenidos: nodoImpuestos.totalImpuestosRetenidos,\r\n ieps3: await promiseIEPS3,\r\n ieps6: await promiseIEPS6,\r\n ieps7: await promiseIEPS7,\r\n ieps8: await promiseIEPS8,\r\n ieps9: await promiseIEPS9,\r\n ieps265: await promiseIEPS265,\r\n ieps30: await promiseIEPS30,\r\n ieps34: await promiseIEPS34,\r\n ieps53: await promiseIEPS53,\r\n ieps160: await promiseIEPS160,\r\n totalTrasladosLocales: nodoImpuestosLocales.totalTraslados,\r\n totalRetencionesLocales: nodoImpuestosLocales.totalRetenciones,\r\n ish: nodoImpuestosLocales.ish\r\n\r\n }\r\n resolveImpuestos(impuestos);\r\n \r\n }); \r\n \r\n const impuestos = await promiseImpuestos; \r\n \r\n const factura = { \r\n //\"Verificado o Asociado\": 'SD', //DUDA \r\n \"Estado SAT\": archivo.estado,\r\n \"Estado Validación\": archivo.codigoEstado,\r\n \"No Certificado Emisor\": attributesComprobante['NoCertificado'] ? attributesComprobante['NoCertificado'].textContent : '', \r\n \"No Certificado SAT\": attributesTimbreFiscalDigital['NoCertificadoSAT'] ? attributesTimbreFiscalDigital['NoCertificadoSAT'].textContent : '',\r\n \"Versión\": attributesComprobante['Version'] ? attributesComprobante['Version'].textContent : attributesComprobante['version'] ? attributesComprobante['version'].textContent : '', \r\n \"TipoComprobante\": attributesComprobante['TipoDeComprobante'] ? attributesComprobante['TipoDeComprobante'].textContent : '', \r\n //\"Tipo\": 'Factura/NotaCredido',\r\n \"Fecha Emisión\": attributesComprobante['Fecha'] ? attributesComprobante['Fecha'].textContent : '', \r\n \"Fecha Timbrado\": attributesTimbreFiscalDigital['FechaTimbrado'] ? attributesTimbreFiscalDigital['FechaTimbrado'].textContent : '', \r\n \"Año\": Number(String(attributesTimbreFiscalDigital['FechaTimbrado'].textContent).substring(0,4)),\r\n \"Mes\": Number(String(attributesTimbreFiscalDigital['FechaTimbrado'].textContent).substring(5,7)),\r\n \"Dia\": Number(String(attributesTimbreFiscalDigital['FechaTimbrado'].textContent).substring(8,10)),\r\n //\"Estado Pago\": 'SD', //DUDA\r\n //\"Fecha Pago\": 'SD', //DUDA\r\n \r\n \"Serie\": attributesComprobante['Serie'] ? attributesComprobante['Serie'].textContent : attributesComprobante['serie'] ? attributesComprobante['serie'].textContent : '', \r\n \"Folio\": attributesComprobante['Folio'] ? attributesComprobante['Folio'].textContent : attributesComprobante['folio'] ? attributesComprobante['folio'].textContent : '', \r\n \"UUID\": attributesTimbreFiscalDigital['UUID'] ? attributesTimbreFiscalDigital['UUID'].textContent : '',\r\n \"Tipo Relación\": cfdiRelacionados && attributesCfdiRelacionados && attributesCfdiRelacionados['TipoRelacion'] ? await this.getTipoRelacion(attributesCfdiRelacionados['TipoRelacion'].textContent): '',\r\n \"UUID Relación\": cfdiRelacionado && attributesCfdiRelacionado && attributesCfdiRelacionado['UUID'] ? attributesCfdiRelacionado['UUID'].textContent : '',\r\n \"RFC Emisor\": attributesEmisor['Rfc'] ? attributesEmisor['Rfc'].textContent : attributesEmisor['rfc'] ? attributesEmisor['rfc'].textContent : '',\r\n \"Nombre Emisor\": attributesEmisor['Nombre'] ? attributesEmisor['Nombre'].textContent : attributesEmisor['nombre'] ? attributesEmisor['nombre'].textContent : '',\r\n \"Regimen Fiscal\": attributesEmisor['RegimenFiscal'] ? attributesEmisor['RegimenFiscal'].textContent : '',\r\n \"Lugar Expedición\": attributesComprobante['LugarExpedicion'] ? attributesComprobante['LugarExpedicion'].textContent : '', \r\n \"RFC Receptor\": attributesReceptor['Rfc'] ? attributesReceptor['Rfc'].textContent : attributesReceptor['rfc'] ? attributesReceptor['rfc'].textContent : '',\r\n \"Nombre Receptor\": attributesReceptor['Nombre'] ? attributesReceptor['Nombre'].textContent : attributesReceptor['nombre'] ? attributesReceptor['nombre'].textContent : '',\r\n \r\n //\"Residencia Fiscal\": 'SD', //DUDA\r\n //\"NumRegIdTrib\": 'SD', //DUDA\r\n \r\n \"Uso CDFI\": attributesReceptor['UsoCFDI'] ? await this.getUsoCFDI(attributesReceptor['UsoCFDI'].textContent) : '',\r\n \"Total IEPS\": impuestos.totalIEPS,\r\n \"Total\": attributesComprobante['Total'] ? Number(attributesComprobante['Total'].textContent) : attributesComprobante['total'] ? Number(attributesComprobante['total'].textContent) : '',\r\n \"SubTotal\": attributesComprobante['SubTotal'] ? Number(attributesComprobante['SubTotal'].textContent) : '', \r\n \"Descuento\": attributesComprobante['Descuento'] ? Number(attributesComprobante['Descuento'].textContent) : 0, \r\n \"IVA 16%\": impuestos.iva16,\r\n \"IVA 8%\": impuestos.iva8, \r\n \"IVA Ret 6%\": impuestos.ivat6Ret,\r\n \"Retenido IVA\": impuestos.retenidoIVA,\r\n \"Retenido ISR\": impuestos.retenidoISR,\r\n \"ISH\": impuestos.ish, \r\n \r\n \r\n //\"Total Original\": 'SD', // DUDA\r\n \r\n \"Total Trasladados\": impuestos.totalTraslados,\r\n \"Total Retenidos\":impuestos.totalRetenidos,\r\n \"Total Local Trasladado\": impuestos.totalTrasladosLocales, \r\n \"Total Local Retenido\": impuestos.totalRetencionesLocales,\r\n //\"Complemento\": 'SD', // DUDA\r\n \"Moneda\": attributesComprobante['Moneda'] ? attributesComprobante['Moneda'].textContent : '', \r\n \"Tipo de Cambio\": attributesComprobante['TipoCambio'] ? attributesComprobante['TipoCambio'].textContent : '', \r\n \"Forma de Pago\": attributesComprobante['FormaPago'] ? await this.geFormaPago(attributesComprobante['FormaPago'].textContent) : '',\r\n \"Metodo de Pago\": attributesComprobante['MetodoPago'] ? attributesComprobante['MetodoPago'].textContent === 'PUE' ? String('PUE-Pago en una sola exhibición').toUpperCase() : String('PPD-Pago en parcialidades o diferido').toUpperCase() : '', \r\n //\"NumCtaPago\": 'SD', // DUDA\r\n \"Condición de Pago\": attributesComprobante['CondicionesDePago'] ? attributesComprobante['CondicionesDePago'].textContent : '', \r\n \"Conceptos\": await this.obtenerConceptos(xmlDoc),\r\n \r\n //\"Combustible\": '', \r\n \"IEPS 3%\" : impuestos.ieps3,\r\n \"IEPS 6%\" : impuestos.ieps6,\r\n \"IEPS 7%\" : impuestos.ieps7,\r\n \"IEPS 8%\" : impuestos.ieps8,\r\n \"IEPS 9%\" : impuestos.ieps9,\r\n \"IEPS 265%\" : impuestos.ieps265,\r\n \"IEPS 30%\" : impuestos.ieps30,\r\n \"IEPS 304%\": impuestos.ieps34,\r\n \"IEPS 53%\" : impuestos.ieps53, \r\n \"IEPS 160%\" : impuestos.ieps160,\r\n \"Archivo XML\": archivo.nombreArchivo\r\n //\"Direccion Emisor\": 'SD', // DUDA\r\n //\"Localidad Emisor\": 'SD', // DUDA\r\n //\"Direccion Receptor\": 'SD', // DUDA\r\n //\"Localidad Receptor\": 'SD', // DUDA\r\n \r\n } \r\n resolve(factura) ;\r\n \r\n }\r\n catch(error){\r\n \r\n resolve(null); \r\n }\r\n });\r\n }\r\n\r\n\r\n public normalizarArchivoLocal(archivo: any ): Promise {\r\n return new Promise(async (resolve, reject) => {\r\n try { \r\n const parser = new DOMParser();\r\n const xmlDoc = parser.parseFromString(archivo.xml, 'text/xml'); \r\n const emisor = xmlDoc.getElementsByTagName('cfdi:Emisor');\r\n const attributesEmisor = emisor[0].attributes;\r\n const receptor = xmlDoc.getElementsByTagName('cfdi:Receptor');\r\n const attributesReceptor = receptor[0].attributes;\r\n const comprobante = xmlDoc.getElementsByTagName('cfdi:Comprobante');\r\n const attributesComprobante = comprobante[0].attributes;\r\n const timbreFiscalDigital = xmlDoc.getElementsByTagName('tfd:TimbreFiscalDigital');\r\n const attributesTimbreFiscalDigital = timbreFiscalDigital[0].attributes;\r\n const cfdiRelacionados = xmlDoc.getElementsByTagName('cfdi:CfdiRelacionados');\r\n const attributesCfdiRelacionados = cfdiRelacionados && cfdiRelacionados[0] ? cfdiRelacionados[0].attributes : null;\r\n const cfdiRelacionado = xmlDoc.getElementsByTagName('cfdi:CfdiRelacionado');\r\n const attributesCfdiRelacionado = cfdiRelacionado && cfdiRelacionado[0]? cfdiRelacionado[0].attributes : null; \r\n\r\n const promiseImpuestos: any = new Promise (async (resolveImpuestos: any) => { \r\n const promiseNodoImpuestos: any = new Promise (async (resolveNodoImpuestos: any) => { \r\n const root = xmlDoc.documentElement;\r\n const comprobante = xmlDoc.getElementsByTagName('cfdi:Comprobante');\r\n //const childs = Array.from(comprobante[0].children);\r\n const childs = Array.from(comprobante[0].children);\r\n let nodoImpuestos = {\r\n totalImpuestosTrasladados: 0,\r\n totalImpuestosRetenidos: 0, \r\n traslados: [],\r\n retenciones: [] \r\n } \r\n for (const childElement of childs) {\r\n if (childElement.tagName ==='cfdi:Impuestos') { \r\n const childsLeve1 = Array.from(childElement.children);\r\n for(const chidl1 of childsLeve1) {\r\n if (chidl1.tagName === 'cfdi:Retenciones') {\r\n const childsRetenciones = Array.from(chidl1.children);\r\n for (const childRetencion of childsRetenciones) {\r\n const retencion = {\r\n Impuesto: '',\r\n TipoFactor: '',\r\n TasaOCuota: '',\r\n Importe: 0\r\n }\r\n for (let i = 0; i < childRetencion.attributes.length; i++) { \r\n const attribute = childRetencion.attributes[i]; \r\n if (attribute.name === 'Impuesto') {\r\n retencion.Impuesto = attribute.value;\r\n } else if (attribute.name === 'TipoFactor') {\r\n retencion.TipoFactor = attribute.value;\r\n } else if (attribute.name === 'TasaOCuota') {\r\n retencion.TasaOCuota = attribute.value;\r\n } else if (attribute.name === 'Importe') {\r\n retencion.Importe = Number(attribute.value);\r\n }\r\n }\r\n nodoImpuestos.retenciones.push(retencion);\r\n }\r\n } else if(chidl1.tagName === 'cfdi:Traslados') {\r\n const childsTraslados = Array.from(chidl1.children);\r\n for (const childTraslado of childsTraslados) {\r\n const traslado = {\r\n Impuesto: '',\r\n TipoFactor: '',\r\n TasaOCuota: '',\r\n Importe: 0\r\n }\r\n for (let i = 0; i < childTraslado.attributes.length; i++) { \r\n const attribute = childTraslado.attributes[i]; \r\n if (attribute.name === 'Impuesto') {\r\n traslado.Impuesto = attribute.value;\r\n } else if (attribute.name === 'TipoFactor') {\r\n traslado.TipoFactor = attribute.value;\r\n } else if (attribute.name === 'TasaOCuota') {\r\n traslado.TasaOCuota = attribute.value;\r\n } else if (attribute.name === 'Importe') {\r\n traslado.Importe = Number(attribute.value);\r\n }\r\n\r\n }\r\n \r\n nodoImpuestos.traslados.push(traslado);\r\n }\r\n } \r\n }\r\n const attributes = childElement.attributes;\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attribute = attributes[i]; \r\n const attributeValue = attribute.value;\r\n if (attribute.name === 'TotalImpuestosRetenidos') {\r\n nodoImpuestos.totalImpuestosRetenidos = Number(attributeValue);\r\n } else if (attribute.name === 'TotalImpuestosTrasladados') {\r\n nodoImpuestos.totalImpuestosTrasladados = Number(attributeValue);\r\n } \r\n }\r\n } \r\n } \r\n resolveNodoImpuestos(nodoImpuestos); \r\n });\r\n\r\n const promiseNodoImpuestosLocales: any = new Promise (async (resolveNodoImpuestosLocales: any) => { \r\n const impuestosLocales = Array.from(xmlDoc.getElementsByTagName('implocal:ImpuestosLocales')); \r\n const nodoImpuestosLocales = {\r\n totalRetenciones: 0,\r\n totalTraslados:0,\r\n ish: 0\r\n }\r\n if (impuestosLocales && impuestosLocales.length > 0 ) {\r\n for(const impuestoLocal of impuestosLocales) {\r\n const attributesImpuestosLocales = impuestoLocal.attributes;\r\n nodoImpuestosLocales.totalRetenciones = attributesImpuestosLocales['TotaldeRetenciones'] ? Number(attributesImpuestosLocales['TotaldeRetenciones'].textContent) : nodoImpuestosLocales.totalRetenciones;\r\n nodoImpuestosLocales.totalTraslados = attributesImpuestosLocales['TotaldeTraslados'] ? Number(attributesImpuestosLocales['TotaldeTraslados'].textContent) : nodoImpuestosLocales.totalTraslados;\r\n const childs = Array.from(impuestoLocal.children);\r\n for(const child of childs) {\r\n const childAtributes = child.attributes\r\n nodoImpuestosLocales.ish = childAtributes['ImpLocTrasladado'] && childAtributes['Importe'] ? childAtributes['ImpLocTrasladado'].textContent === 'ISH' ? Number(childAtributes['Importe'].textContent): nodoImpuestosLocales.ish : nodoImpuestosLocales.ish;\r\n }\r\n \r\n }\r\n resolveNodoImpuestosLocales(nodoImpuestosLocales);\r\n } else {\r\n resolveNodoImpuestosLocales(nodoImpuestosLocales);\r\n }\r\n });\r\n \r\n const nodoImpuestos = await promiseNodoImpuestos; \r\n const nodoImpuestosLocales = await promiseNodoImpuestosLocales; \r\n const promiseTotalIEPS: any = new Promise (async (resolveTotalEIPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\");\r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveTotalEIPS(totalIEPS);\r\n });\r\n\r\n const promiseIVA8: any = new Promise (async (resolveIVA: any) => {\r\n let totalIVA = 0;\r\n const trasladosIVA = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"002\" && mTraslado.TasaOCuota === \"0.080000\"); \r\n if (trasladosIVA.length > 0) {\r\n for(const traslado of trasladosIVA ) {\r\n totalIVA += traslado.Importe;\r\n }\r\n }\r\n const retencionesIVA = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"002\" && mTraslado.TasaOCuota === \"0.080000\");\r\n if (retencionesIVA.length > 0) {\r\n for(const retencion of retencionesIVA ) {\r\n totalIVA += retencion.Importe;\r\n }\r\n }\r\n resolveIVA(totalIVA);\r\n });\r\n\r\n const promiseIVA6Ret: any = new Promise (async (resolveIVA: any) => {\r\n let totalIVA = 0; \r\n const retencionesIVA = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"002\" && mTraslado.TasaOCuota === \"0.060000\");\r\n if (retencionesIVA.length > 0) {\r\n for(const retencion of retencionesIVA ) {\r\n totalIVA += retencion.Importe;\r\n }\r\n }\r\n resolveIVA(totalIVA);\r\n });\r\n\r\n const promiseIVA16: any = new Promise (async (resolveIVA16: any) => {\r\n let totalIVA16 = 0;\r\n const trasladosIVA16 = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"002\" && mTraslado.TasaOCuota === \"0.160000\"); \r\n if (trasladosIVA16.length > 0) {\r\n for(const traslado of trasladosIVA16 ) {\r\n totalIVA16 += traslado.Importe;\r\n }\r\n }\r\n const retencionesIVA16 = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"002\" && mTraslado.TasaOCuota === \"0.160000\");\r\n if (retencionesIVA16.length > 0) {\r\n for(const retencion of retencionesIVA16 ) {\r\n totalIVA16 += retencion.Importe;\r\n }\r\n }\r\n resolveIVA16(totalIVA16);\r\n });\r\n\r\n const promiseRetenidoIVA: any = new Promise (async (resolveRetenidoIVA: any) => {\r\n let retenidoIVA = 0;\r\n const retencionesIVA = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"002\");\r\n if (retencionesIVA.length > 0) {\r\n for(const retencion of retencionesIVA ) {\r\n retenidoIVA += retencion.Importe;\r\n }\r\n }\r\n resolveRetenidoIVA(retenidoIVA);\r\n });\r\n\r\n const promiseRetenidoISR: any = new Promise (async (resolveRetenidoISR: any) => {\r\n let retenidoIRS = 0;\r\n const retencionesISR = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"001\");\r\n if (retencionesISR.length > 0) {\r\n for(const retencion of retencionesISR ) {\r\n retenidoIRS += retencion.Importe;\r\n }\r\n }\r\n resolveRetenidoISR(retenidoIRS);\r\n });\r\n \r\n const promiseIEPS3: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.030000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.030000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS6: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.060000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.060000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS7: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.070000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.070000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS8: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.080000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.080000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS9: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.090000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.090000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS265: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.265000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.265000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS30: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.300000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.300000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS34: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.340000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.340000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS53: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.530000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"0.530000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n });\r\n\r\n const promiseIEPS160: any = new Promise (async (resolveIEPS: any) => {\r\n let totalIEPS = 0;\r\n const trasladosIEPS = nodoImpuestos.traslados.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"1.600000\"); \r\n if (trasladosIEPS.length > 0) {\r\n for(const traslado of trasladosIEPS ) {\r\n totalIEPS += traslado.Importe;\r\n }\r\n }\r\n const retencionesIEPS = nodoImpuestos.retenciones.filter(mTraslado => mTraslado.Impuesto === \"003\" && mTraslado.TasaOCuota === \"1.600000\");\r\n if (retencionesIEPS.length > 0) {\r\n for(const retencion of retencionesIEPS ) {\r\n totalIEPS += retencion.Importe;\r\n }\r\n }\r\n resolveIEPS(totalIEPS)\r\n }); \r\n\r\n const impuestos = {\r\n totalIEPS: await promiseTotalIEPS,\r\n iva8 : await promiseIVA8,\r\n iva16: await promiseIVA16,\r\n ivat6Ret: await promiseIVA6Ret,\r\n retenidoIVA: await promiseRetenidoIVA,\r\n retenidoISR: await promiseRetenidoISR,\r\n totalTraslados: nodoImpuestos.totalImpuestosTrasladados,\r\n totalRetenidos: nodoImpuestos.totalImpuestosRetenidos,\r\n ieps3: await promiseIEPS3,\r\n ieps6: await promiseIEPS6,\r\n ieps7: await promiseIEPS7,\r\n ieps8: await promiseIEPS8,\r\n ieps9: await promiseIEPS9,\r\n ieps265: await promiseIEPS265,\r\n ieps30: await promiseIEPS30,\r\n ieps34: await promiseIEPS34,\r\n ieps53: await promiseIEPS53,\r\n ieps160: await promiseIEPS160,\r\n totalTrasladosLocales: nodoImpuestosLocales.totalTraslados,\r\n totalRetencionesLocales: nodoImpuestosLocales.totalRetenciones,\r\n ish: nodoImpuestosLocales.ish\r\n\r\n }\r\n resolveImpuestos(impuestos);\r\n \r\n }); \r\n \r\n const cfdi = {\r\n RFC_EMISOR: attributesEmisor['Rfc'] ? attributesEmisor['Rfc'].textContent : attributesEmisor['rfc'] ? attributesEmisor['rfc'].textContent : '',\r\n RFC_RECEPTOR: attributesReceptor['Rfc'] ? attributesReceptor['Rfc'].textContent : attributesReceptor['rfc'] ? attributesReceptor['rfc'].textContent : '',\r\n SERIE: attributesComprobante['Serie'] ? attributesComprobante['Serie'].textContent : attributesComprobante['serie'] ? attributesComprobante['serie'] : '', \r\n FOLIO: attributesComprobante['Folio'] ? attributesComprobante['Folio'].textContent : attributesComprobante['folio'] ? attributesComprobante['folio'] : '', \r\n TOTAL: attributesComprobante['Total'] ? attributesComprobante['Total'].textContent : attributesComprobante['total'] ? attributesComprobante['total'] : '', \r\n UUID: attributesTimbreFiscalDigital['UUID'] ? attributesTimbreFiscalDigital['UUID'].textContent : ''\r\n } \r\n\r\n const validacion = await this.validarCFDI(cfdi); \r\n const impuestos = await promiseImpuestos; \r\n \r\n const factura = { \r\n //\"Verificado o Asociado\": 'SD', //DUDA \r\n \"Estado SAT\": validacion && validacion.estado ? String(validacion.estado).toUpperCase(): '',\r\n \"Estado Validación\": validacion && validacion. codigO_ESTATUS ? String(validacion.codigO_ESTATUS).toUpperCase(): '',\r\n \"No Certificado Emisor\": attributesComprobante['NoCertificado'] ? attributesComprobante['NoCertificado'].textContent : '', \r\n \"No Certificado SAT\": attributesTimbreFiscalDigital['NoCertificadoSAT'] ? attributesTimbreFiscalDigital['NoCertificadoSAT'].textContent : '',\r\n \"Versión\": attributesComprobante['Version'] ? attributesComprobante['Version'].textContent : attributesComprobante['version'] ? attributesComprobante['version'].textContent : '', \r\n \"TipoComprobante\": attributesComprobante['TipoDeComprobante'] ? attributesComprobante['TipoDeComprobante'].textContent : '', \r\n //\"Tipo\": 'Factura/NotaCredido',\r\n \"Fecha Emisión\": attributesComprobante['Fecha'] ? attributesComprobante['Fecha'].textContent : '', \r\n \"Fecha Timbrado\": attributesTimbreFiscalDigital['FechaTimbrado'] ? attributesTimbreFiscalDigital['FechaTimbrado'].textContent : '', \r\n \"Año\": Number(String(attributesTimbreFiscalDigital['FechaTimbrado'].textContent).substring(0,4)),\r\n \"Mes\": Number(String(attributesTimbreFiscalDigital['FechaTimbrado'].textContent).substring(5,7)),\r\n \"Dia\": Number(String(attributesTimbreFiscalDigital['FechaTimbrado'].textContent).substring(8,10)),\r\n //\"Estado Pago\": 'SD', //DUDA\r\n //\"Fecha Pago\": 'SD', //DUDA\r\n \r\n \"Serie\": attributesComprobante['Serie'] ? attributesComprobante['Serie'].textContent : attributesComprobante['serie'] ? attributesComprobante['serie'].textContent : '', \r\n \"Folio\": attributesComprobante['Folio'] ? attributesComprobante['Folio'].textContent : attributesComprobante['folio'] ? attributesComprobante['folio'].textContent : '', \r\n \"UUID\": attributesTimbreFiscalDigital['UUID'] ? attributesTimbreFiscalDigital['UUID'].textContent : '',\r\n \"Tipo Relación\": cfdiRelacionados && attributesCfdiRelacionados && attributesCfdiRelacionados['TipoRelacion'] ? await this.getTipoRelacion(attributesCfdiRelacionados['TipoRelacion'].textContent): '',\r\n \"UUID Relación\": cfdiRelacionado && attributesCfdiRelacionado && attributesCfdiRelacionado['UUID'] ? attributesCfdiRelacionado['UUID'].textContent : '',\r\n \"RFC Emisor\": attributesEmisor['Rfc'] ? attributesEmisor['Rfc'].textContent : attributesEmisor['rfc'] ? attributesEmisor['rfc'].textContent : '',\r\n \"Nombre Emisor\": attributesEmisor['Nombre'] ? attributesEmisor['Nombre'].textContent : attributesEmisor['nombre'] ? attributesEmisor['nombre'].textContent : '',\r\n \"Regimen Fiscal\": attributesEmisor['RegimenFiscal'] ? attributesEmisor['RegimenFiscal'].textContent : '',\r\n \"Lugar Expedición\": attributesComprobante['LugarExpedicion'] ? attributesComprobante['LugarExpedicion'].textContent : '', \r\n \"RFC Receptor\": attributesReceptor['Rfc'] ? attributesReceptor['Rfc'].textContent : attributesReceptor['rfc'] ? attributesReceptor['rfc'].textContent : '',\r\n \"Nombre Receptor\": attributesReceptor['Nombre'] ? attributesReceptor['Nombre'].textContent : attributesReceptor['nombre'] ? attributesReceptor['nombre'].textContent : '',\r\n \r\n //\"Residencia Fiscal\": 'SD', //DUDA\r\n //\"NumRegIdTrib\": 'SD', //DUDA\r\n \r\n \"Uso CDFI\": attributesReceptor['UsoCFDI'] ? await this.getUsoCFDI(attributesReceptor['UsoCFDI'].textContent) : '',\r\n \"Total IEPS\": impuestos.totalIEPS,\r\n \"Total\": attributesComprobante['Total'] ? Number(attributesComprobante['Total'].textContent) : attributesComprobante['total'] ? Number(attributesComprobante['total'].textContent) : '',\r\n \"SubTotal\": attributesComprobante['SubTotal'] ? Number(attributesComprobante['SubTotal'].textContent) : '', \r\n \"Descuento\": attributesComprobante['Descuento'] ? Number(attributesComprobante['Descuento'].textContent) : 0, \r\n \"IVA 16%\": impuestos.iva16,\r\n \"IVA 8%\": impuestos.iva8, \r\n \"IVA Ret 6%\": impuestos.ivat6Ret,\r\n \"Retenido IVA\": impuestos.retenidoIVA,\r\n \"Retenido ISR\": impuestos.retenidoISR,\r\n \"ISH\": impuestos.ish, \r\n \r\n \r\n //\"Total Original\": 'SD', // DUDA\r\n \r\n \"Total Trasladados\": impuestos.totalTraslados,\r\n \"Total Retenidos\":impuestos.totalRetenidos,\r\n \"Total Local Trasladado\": impuestos.totalTrasladosLocales, \r\n \"Total Local Retenido\": impuestos.totalRetencionesLocales,\r\n //\"Complemento\": 'SD', // DUDA\r\n \"Moneda\": attributesComprobante['Moneda'] ? attributesComprobante['Moneda'].textContent : '', \r\n \"Tipo de Cambio\": attributesComprobante['TipoCambio'] ? attributesComprobante['TipoCambio'].textContent : '', \r\n \"Forma de Pago\": attributesComprobante['FormaPago'] ? await this.geFormaPago(attributesComprobante['FormaPago'].textContent) : '',\r\n \"Metodo de Pago\": attributesComprobante['MetodoPago'] ? attributesComprobante['MetodoPago'].textContent === 'PUE' ? String('PUE-Pago en una sola exhibición').toUpperCase() : String('PPD-Pago en parcialidades o diferido').toUpperCase() : '', \r\n //\"NumCtaPago\": 'SD', // DUDA\r\n \"Condición de Pago\": attributesComprobante['CondicionesDePago'] ? attributesComprobante['CondicionesDePago'].textContent : '', \r\n \"Conceptos\": await this.obtenerConceptos(xmlDoc),\r\n \r\n //\"Combustible\": '', \r\n \"IEPS 3%\" : impuestos.ieps3,\r\n \"IEPS 6%\" : impuestos.ieps6,\r\n \"IEPS 7%\" : impuestos.ieps7,\r\n \"IEPS 8%\" : impuestos.ieps8,\r\n \"IEPS 9%\" : impuestos.ieps9,\r\n \"IEPS 265%\" : impuestos.ieps265,\r\n \"IEPS 30%\" : impuestos.ieps30,\r\n \"IEPS 304%\": impuestos.ieps34,\r\n \"IEPS 53%\" : impuestos.ieps53, \r\n \"IEPS 160%\" : impuestos.ieps160,\r\n \"Archivo XML\": archivo.nombreArchivo,\r\n //\"Direccion Emisor\": 'SD', // DUDA\r\n //\"Localidad Emisor\": 'SD', // DUDA\r\n //\"Direccion Receptor\": 'SD', // DUDA\r\n //\"Localidad Receptor\": 'SD', // DUDA\r\n \r\n } \r\n resolve(factura) ;\r\n \r\n }\r\n catch(error){\r\n \r\n resolve(null); \r\n }\r\n });\r\n }\t\r\n\r\n validarCFDI(cfdi: any) : Promise { \r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis.servicios.archivos.validarCFDI(cfdi)\r\n\t\t\t\t.then(respuesta => {\t\t\t\t\t\r\n\t\t\t\t\tresolve(respuesta);\r\n\t\t\t\t})\r\n\t\t\t\t.catch(error => {\r\n\t\t\t\t\tconsole.log('error ==>', error);\r\n\t\t\t\t\tresolve(false);\r\n\t\t\t\t})\t\t\r\n\t\t});\t\t\r\n\t}\r\n\r\n \r\n\r\n cargarTabla(): void{\r\n this.Procesando = true;\r\n // 38985 35893 34782\r\n this.dtOptions = {\r\n\t\t\tlanguage: { url: '/js/espanol.json' },\r\n\t\t\tsearching: true, \r\n ajax: (dataTablesParameters: any, callback) => {\r\n\t\t\t\tthis.obtenerFacturas()\r\n\t\t\t\t\t.subscribe(async (lista: any) => { \r\n\t\t\t\t\t const archivosNormalizados = await this.normalizarArchivos(lista);\t \r\n\t\t\t\t\t\tthis.archivos = archivosNormalizados;\t\t\t \r\n\t\t\t\t\t\tthis.Procesando = false;\t\t\t\t\t\t\r\n\t\t\t\t\t\tcallback({ data: this.archivos });\r\n\t\t\t\t\t});\t\t\t\t\r\n\t\t\t}, \r\n\t\t\tcolumns: [\t\t\t\t\r\n\t\t\t\t//{ title: 'Verificado o Asociado', data: 'Verificado o Asociado' },\r\n\t\t\t\t{ title: 'Estado SAT', data: 'Estado SAT' },\r\n { title: 'Estado Validación', data: 'Estado Validación' }, \r\n { title: 'No Certificado Emisor', data: 'No Certificado Emisor'},\r\n { title: 'No Certificado SAT', data: 'No Certificado SAT'},\r\n { title: 'Versión', data: 'Versión'},\r\n { title: 'TipoComprobante', data: 'TipoComprobante'},\r\n //{ title: 'Tipo', data: 'Tipo'},\r\n { \r\n title: 'Fecha Emisión',\r\n data: 'Fecha Emisión',\r\n type: 'date',\r\n\t\t\t\t\trender: (data: string, type) => {\r\n\t\t\t\t\t\treturn type === 'display' || type === 'filter'\r\n\t\t\t\t\t\t\t? this.datepipe.transform(new Date(data), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t: new Date(data);\r\n\t\t\t\t\t},\r\n },\r\n { \r\n title: 'Fecha Timbrado', \r\n data: 'Fecha Timbrado', \r\n type: 'date',\r\n\t\t\t\t\trender: (data: string, type) => {\r\n\t\t\t\t\t\treturn type === 'display' || type === 'filter'\r\n\t\t\t\t\t\t\t? this.datepipe.transform(new Date(data), 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t: new Date(data);\r\n\t\t\t\t\t}\r\n },\r\n { title: 'Año', data: 'Año'},\r\n { title: 'Mes', data: 'Mes'},\r\n { title: 'Dia', data: 'Dia'},\r\n //{ title: 'Estado Pago', data: 'Estado Pago'},\r\n //{ title: 'Fecha Pago', data: 'Fecha Pago'},\r\n { title: 'Serie', data: 'Serie'},\r\n { title: 'Folio', data: 'Folio'},\r\n { title: 'UUID', data: 'UUID'},\r\n { title: 'Tipo Relación', data: 'Tipo Relación'},\r\n { title: 'UUID Relación', data: 'UUID Relación'},\r\n { title: 'RFC Emisor', data: 'RFC Emisor'},\r\n { title: 'Nombre Emisor', data: 'Nombre Emisor'},\r\n { title: 'Regimen Fiscal', data: 'Regimen Fiscal'},\r\n { title: 'Lugar Expedición', data: 'Lugar Expedición'},\r\n { title: 'RFC Receptor', data: 'RFC Receptor'},\r\n { title: 'Nombre Receptor', data: 'Nombre Receptor'},\r\n //{ title: 'Residencia Fiscal', data: 'Residencia Fiscal'},\r\n //{ title: 'NumRegIdTrib', data: 'NumRegIdTrib'},\r\n { title: 'Uso CDFI', data: 'Uso CDFI'},\r\n { \r\n title: 'Total IEPS', \r\n data: 'Total IEPS', \r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { \r\n title: 'Total', \r\n data: 'Total',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { \r\n title: 'SubTotal', \r\n data: 'SubTotal',\r\n render: (data: number) =>\r\n\t\t\t\t\t\tdata != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { \r\n title: 'Descuento', \r\n data: 'Descuento',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n \r\n { \r\n title: 'IVA 16%',\r\n data: 'IVA 16%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { \r\n title: 'IVA 8%', \r\n data: 'IVA 8%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { \r\n title: 'IVA Ret 6%', \r\n data: 'IVA Ret 6%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { \r\n title: 'Retenido IVA', \r\n data: 'Retenido IVA',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { \r\n title: 'Retenido ISR', \r\n data: 'Retenido ISR',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { title: 'ISH', data: 'ISH'},\r\n \r\n //{ title: 'Total Original', data: 'Total Original'},\r\n { \r\n title: 'Total Trasladados', \r\n data: 'Total Trasladados',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { \r\n title: 'Total Retenidos', \r\n data: 'Total Retenidos',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { \r\n title: 'Total Local Trasladado', \r\n data: 'Total Local Trasladado',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { \r\n title: 'Total Local Retenido', \r\n data: 'Total Local Retenido',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n //{ title: 'Complemento', data: 'Complemento'},\r\n { title: 'Moneda', data: 'Moneda'},\r\n { \r\n title: 'Tipo de Cambio', \r\n data: 'Tipo de Cambio',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { title: 'Forma de Pago', data: 'Forma de Pago'},\r\n { title: 'Metodo de Pago', data: 'Metodo de Pago'},\r\n //{ title: 'NumCtaPago', data: 'NumCtaPago'},\r\n { title: 'Condición de Pago', data: 'Condición de Pago'},\r\n { \r\n title: 'Conceptos', \r\n data: 'Conceptos',\r\n width: '11%'\r\n },\r\n //{ title: 'Combustible', data: 'Combustible'},\r\n { \r\n title: 'IEPS 3%', data: 'IEPS 3%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { \r\n title: 'IEPS 6%', data: 'IEPS 6%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'\r\n },\r\n { title: 'IEPS 7%', data: 'IEPS 7%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'},\r\n { title: 'IEPS 8%', data: 'IEPS 8%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'},\r\n { title: 'IEPS 9%', data: 'IEPS 9%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'},\r\n { title: 'IEPS 26.5%', data: 'IEPS 265%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'},\r\n { title: 'IEPS 30%', data: 'IEPS 30%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'},\r\n { title: 'IEPS 30.4%', data: 'IEPS 304%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'},\r\n { title: 'IEPS 53%', data: 'IEPS 53%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'},\r\n { title: 'IEPS 160%', data: 'IEPS 160%',\r\n render: (data: number) =>\r\n data != null ? MascaraMoneda.format(data) : '$ 0.00'},\r\n { title: 'Archivo XML', data: 'Archivo XML'},\r\n //{ title: 'Direccion Emisos', data: 'Direccion Emisor'},\r\n //{ title: 'Localidad Emisor', data: 'Localidad Emisor'},\r\n //{ title: 'Direccion Receptor', data: 'Direccion Receptor'},\r\n //{ title: 'Localidad Receptor', data: 'Localidad Receptor'}, \r\n\t\t\t],\r\n\t\t};\t\t\r\n }\r\n\r\n \r\n obtenerFacturas(): Observable {\r\n if (!this.cargaInicial) {\r\n return of([]); \r\n } else {\r\n if (this.origenDatos === 'sistema') {\r\n return this.servicios.archivos.buscarFacturas(this.criterioBusqueda).pipe(\r\n map((lista: any) => {\r\n return lista;\r\n })\r\n );\r\n } else {\r\n const archivosTransformados: any[] = this.archivosXML.map((archivo: any) => { \r\n return archivo;\r\n });\r\n return of(archivosTransformados);\r\n }\r\n }\r\n \r\n }\r\n \r\n \r\n\r\n public obtenerConceptos(xmlDoc: Document): Promise {\r\n return new Promise((resolve, reject) => {\r\n const conceptos = xmlDoc.getElementsByTagName('cfdi:Concepto');\r\n const conceptosArray = Array.from(conceptos);\r\n const conceptosStringArray: string[] = [];\r\n \r\n for (const concepto of conceptosArray) {\r\n const descripcion = concepto.getAttribute('Descripcion');\r\n if (descripcion) {\r\n conceptosStringArray.push(descripcion);\r\n }\r\n }\r\n resolve(conceptosStringArray.join(' * '));\r\n }); \r\n }\r\n\r\n getTipoRelacion(tipoRelacion: string): Promise { \r\n\t\treturn new Promise((resolve, reject) => {\r\n switch(tipoRelacion) {\r\n case '01':\r\n resolve(String('01-Nota de crédito de los documentos relacionados').toUpperCase());\r\n break;\r\n case '02':\r\n resolve(String('02-Nota de débito de los documentos relacionados').toUpperCase());\r\n break;\r\n case '03':\r\n resolve(String('03-Devolución de mercancía sobre facturas o traslados previos').toUpperCase());\r\n break;\r\n case '04':\r\n resolve(String('04-Sustitución de los CFDI previos').toUpperCase());\r\n break;\r\n case '05':\r\n resolve(String('05-Traslados de mercancías facturados previamente').toUpperCase());\r\n break;\r\n case '06':\r\n resolve(String('06-Factura generada por los traslados previos').toUpperCase());\r\n break;\r\n case '07':\r\n resolve(String('07-CFDI por aplicación de anticipo').toUpperCase());\r\n break;\r\n default: \r\n resolve(tipoRelacion);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n getUsoCFDI(usoCFDI: string): Promise { \r\n\t\treturn new Promise((resolve, reject) => {\r\n switch(usoCFDI){\r\n case 'G01':\r\n resolve(String('G01-Adquisición de mercancías.').toUpperCase());\r\n break;\r\n case 'G02':\r\n resolve(String('G02-Devoluciones, descuentos o bonificaciones.').toUpperCase());\r\n break;\r\n case 'G03':\r\n resolve(String('G03-Gastos en general.').toUpperCase());\r\n break;\r\n case 'I01':\r\n resolve(String('I01-Construcciones.').toUpperCase());\r\n break;\r\n case 'I02':\r\n resolve(String('I02-Mobiliario y equipo de oficina por inversiones.').toUpperCase());\r\n break;\r\n case 'I03':\r\n resolve(String('I03-Equipo de transporte.').toUpperCase());\r\n break;\r\n case 'I04':\r\n resolve(String('I04-Equipo de computo y accesorios.').toUpperCase());\r\n break;\r\n case 'I05':\r\n resolve(String('I05-Dados, troqueles, moldes, matrices y herramental.').toUpperCase());\r\n break;\r\n case 'I06':\r\n resolve(String('I06-Comunicaciones telefónicas.').toUpperCase());\r\n break;\r\n case 'I07':\r\n resolve(String('I07-Comunicaciones satelitales.').toUpperCase());\r\n break;\r\n case 'I08':\r\n resolve(String('I08-Otra maquinaria y equipo.').toUpperCase());\r\n break;\r\n case 'D01':\r\n resolve(String('D01-Honorarios médicos, dentales y gastos hospitalarios.').toUpperCase());\r\n break;\r\n case 'D02':\r\n resolve(String('D02-Gastos médicos por incapacidad o discapacidad.').toUpperCase());\r\n break;\r\n case 'D03':\r\n resolve(String('D03-Gastos funerales.').toUpperCase());\r\n break;\r\n case 'D04':\r\n resolve(String('D04-Donativos.').toUpperCase());\r\n break;\r\n case 'D05':\r\n resolve(String('D05-Intereses reales efectivamente pagados por créditos hipotecarios (casa habitación).').toUpperCase());\r\n break;\r\n case 'D06':\r\n resolve(String('D06-Aportaciones voluntarias al SAR.').toUpperCase());\r\n break;\r\n case 'D07':\r\n resolve(String('D07-Primas por seguros de gastos médicos.').toUpperCase());\r\n break;\r\n case 'D08':\r\n resolve(String('D08-Gastos de transportación escolar obligatoria.').toUpperCase());\r\n break;\r\n case 'D09':\r\n resolve(String('D09-Depósitos en cuentas para el ahorro, primas que tengan como base planes de pensiones.').toUpperCase());\r\n break;\r\n case 'D10':\r\n resolve(String('D10-Pagos por servicios educativos (colegiaturas).').toUpperCase());\r\n break;\r\n case 'S01':\r\n resolve(String('S01-Sin efectos fiscales.').toUpperCase());\r\n break;\r\n case 'CP01':\r\n resolve(String('CP01-Pagos').toUpperCase());\r\n break;\r\n case 'CN01':\r\n resolve(String('CN01-Nómina').toUpperCase());\r\n break;\r\n default:\r\n resolve(usoCFDI);\r\n break;\r\n }\r\n \r\n\r\n });\r\n }\r\n\r\n \r\n geFormaPago(formaPago: string): Promise { \r\n\t\treturn new Promise((resolve, reject) => {\r\n switch(formaPago) {\r\n case '01':\r\n resolve(String('01-Efectivo').toUpperCase());\r\n case '02':\r\n resolve(String('02-Cheque nominativo').toUpperCase());\r\n case '03':\r\n resolve(String('03-Transferencia electrónica de fondos').toUpperCase());\r\n case '04':\r\n resolve(String('04-Tarjeta de crédito').toUpperCase());\r\n case '05':\r\n resolve(String('05-Monedero electrónico').toUpperCase());\r\n case '06':\r\n resolve(String('06-Dinero electrónico').toUpperCase());\r\n case '08':\r\n resolve(String('08-Vales de despensa').toUpperCase());\r\n case '12':\r\n resolve(String('12-Dación en pago').toUpperCase());\r\n case '13':\r\n resolve(String('13-Pago por subrogación').toUpperCase());\r\n case '14':\r\n resolve(String('14-Pago por consignación').toUpperCase());\r\n case '15':\r\n resolve(String('15-Condonación').toUpperCase());\r\n case '17':\r\n resolve(String('17-Compensación').toUpperCase());\r\n case '23':\r\n resolve(String('23-Novación').toUpperCase());\r\n case '24':\r\n resolve(String('24-Confusión').toUpperCase());\r\n case '25':\r\n resolve(String('25-Remisión de deuda').toUpperCase());\r\n case '26':\r\n resolve(String('26-Prescripción o caducidad').toUpperCase());\r\n case '27':\r\n resolve(String('27-A satisfacción del acreedor').toUpperCase());\r\n case '28':\r\n resolve(String('28-Tarjeta de débito').toUpperCase());\r\n case '29':\r\n resolve(String('29-Tarjeta de servicios').toUpperCase());\r\n case '30':\r\n resolve(String('30-Aplicación de anticipos').toUpperCase());\r\n case '31':\r\n resolve(String('31-Intermediario pagos').toUpperCase());\r\n case '99':\r\n resolve(String('99-Por definir').toUpperCase());\r\n default: \r\n resolve(formaPago);\r\n break;\r\n }\r\n });\r\n } \r\n\r\n reporteExcel(){\r\n this.exportToXlsxService.reporteXMLFacturas(this.origenDatos === 'sistema' ? `Reporte Facturas XML Referi ${this.mes ? this.mes+\"-\": ''}${this.anio ? this.anio: ''}`: \"`Reporte Facturas XML Directorio Local\", this.archivos);\r\n }\r\n\r\n \r\n\r\n limpiar() {\r\n this.anio = null;\r\n this.mes = null;\r\n this.sociedadComercial = null; \r\n this.archivosXML = [];\r\n }\r\n\r\n seleccionarDirectorio() {\r\n const inputElement: HTMLInputElement = document.createElement('input');\r\n inputElement.type = 'file';\r\n inputElement.setAttribute('webkitdirectory', 'true');\r\n inputElement.setAttribute('multiple', 'true');\r\n inputElement.accept = '.xml';\r\n inputElement.addEventListener('change', (event: Event) => {\r\n this.cargarArchivos(event);\r\n });\r\n inputElement.click();\r\n }\r\n\r\n async cargarArchivos(event: Event) {\r\n const archivosSeleccionados: FileList = (event.target as HTMLInputElement).files;\r\n const archivos: File[] = Array.from(archivosSeleccionados).filter(archivo => archivo.name.toLowerCase().endsWith('.xml'));\r\n this.archivosXML = await this.leerArchivos(archivos); \r\n console.log('archivosXML-->',this.archivosXML);\r\n }\r\n\r\n \r\n leerArchivos(archivos: File[]): Promise { \r\n\t\t\r\n return new Promise((resolve, reject) => {\r\n const archivosXML: any[] = [];\r\n \r\n archivos.forEach(archivo => {\r\n const lector = new FileReader();\r\n lector.onload = (evento: any) => {\r\n const contenidoArchivo: string = evento.target.result;\r\n const archivoXML: any = {\r\n nombreArchivo: archivo.name,\r\n xml: contenidoArchivo\r\n };\r\n archivosXML.push(archivoXML); \r\n };\r\n lector.readAsText(archivo);\r\n });\r\n resolve(archivosXML);\r\n }); \r\n }\r\n \r\n \r\n \r\n \r\n\r\n ngOnDestroy(): void {\r\n\t\tthis.oyente();\r\n\t}\r\n\r\n}\r\n","module.exports = \".sin-registros {\\r\\n margin: 40px 0px;\\r\\n}\\r\\n\\r\\n.erroneo{\\r\\n background-color: red;\\r\\n color: white;\\r\\n}\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    Generando Reporte ...

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    No existen coincidencias

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    0 && origen === 'xmonitor'\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    OCProveedorF. OC. ReferiF. OC. SAPF. Aut. ReferiNum Fact. SAPU. Reg. Fact.F. Registro Fact.MonedaImporte Fact. ReferiImporte Fact. SAPF. Pago SAPImporte Pagado SAP
    {{cv.cv}}{{cv.proveedor}}{{cv.fechaOCReferi | date: 'dd/MM/yyyy'}} {{cv.fechaOCSAP | date: 'dd/MM/yyyy'}} {{cv.fechaAuthReferi | date: 'dd/MM/yyyy'}} {{cv.numFactSAP}}{{cv.userRegistroFactura}}{{cv.fechaRegistroFactura | date: 'dd/MM/yyyy'}} {{cv.currency}}{{cv.importeFacturaReferi | currency}}\\r\\n \\r\\n {{cv.importeFacturaSAPCurrency | currency}}\\r\\n \\r\\n \\r\\n {{cv.importeFacturaSAPPesos | currency}}\\r\\n \\r\\n {{cv.fechaPagoSAP | date: 'dd/MM/yyyy'}} \\r\\n \\r\\n {{cv.importePagadoSAPCurrency | currency}}\\r\\n \\r\\n \\r\\n {{cv.importePagadoSAPPesos | currency}}\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    0 && origen === 'otro'\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Folio FiscalProveedorF. Aut. ReferiF. OC. SAPNum Fact. SAPU. Reg. Fact.F. Registro Fact.F. Pago SAPImporte Pagado SAPMonedaImporte Fact. ReferiImporte Fact. SAP
    {{cv.folioFiscal}}{{cv.proveedor}}{{cv.fechaAuthReferi | date: 'dd/MM/yyyy'}} {{cv.fechaOCSAP | date: 'dd/MM/yyyy'}} {{cv.numFactSAP}}{{cv.userRegistroFactura}}{{cv.fechaRegistroFactura | date: 'dd/MM/yyyy'}} {{cv.fechaPagoSAP | date: 'dd/MM/yyyy'}} \\r\\n \\r\\n {{cv.importePagadoSAPCurrency | currency}}\\r\\n \\r\\n \\r\\n {{cv.importePagadoSAPPesos | currency}}\\r\\n \\r\\n {{cv.currency}}{{cv.importeFacturaReferi | currency}}\\r\\n \\r\\n {{cv.importeFacturaSAPCurrency | currency}}\\r\\n \\r\\n \\r\\n {{cv.importeFacturaSAPPesos | currency}}\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n = itemsPerPage\\\" (pageChange)=\\\"handlePageChangeRecibos($event)\\\" previousLabel=\\\"Anterior\\\" nextLabel=\\\"Siguiente\\\" class=\\\"float-right\\\"> \\r\\n
    \\r\\n
    0 && origen === 'sap'\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    OCProveedorF. OC. ReferiF. OC. SAPF. Aut. ReferiNum Fact. SAPU. Reg. Fact.F. Registro Fact.MonedaImporte Fact. ReferiImporte Fact. SAPF. Pago SAPImporte Pagado SAP
    {{cv.cv}}{{cv.proveedor}}{{cv.fechaOCReferi | date: 'dd/MM/yyyy'}} {{cv.fechaOCSAP | date: 'dd/MM/yyyy'}} {{cv.fechaAuthReferi | date: 'dd/MM/yyyy'}} {{cv.numFactSAP}}{{cv.userRegistroFactura}}{{cv.fechaRegistroFactura | date: 'dd/MM/yyyy'}} {{cv.currency}}{{cv.importeFacturaReferi | currency}}\\r\\n \\r\\n {{cv.importeFacturaSAPCurrency | currency}}\\r\\n \\r\\n \\r\\n {{cv.importeFacturaSAPPesos | currency}}\\r\\n \\r\\n {{cv.fechaPagoSAP | date: 'dd/MM/yyyy'}} \\r\\n \\r\\n {{cv.importePagadoSAPCurrency | currency}}\\r\\n \\r\\n \\r\\n {{cv.importePagadoSAPPesos | currency}}\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { ClassGetter } from '@angular/compiler/src/output/output_ast';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Sociedad } from 'ClientApp/app/entidades/sociedad';\r\nimport { Servicios } from 'ClientApp/app/servicios/servicios';\r\nimport { DatepickerMode, PopupPlacement } from 'ng2-semantic-ui';\r\nimport * as _ from 'lodash';\r\nimport { ExportToXlsxService } from 'ClientApp/app/servicios/exportToXls';\r\nimport { Proveedor } from 'ClientApp/app/entidades/indice';\r\n\r\n@Component({\r\n selector: 'app-reporte-flujo-compras',\r\n templateUrl: './reporte-flujo-compras.component.html',\r\n styleUrls: ['./reporte-flujo-compras.component.css']\r\n})\r\nexport class ReporteFlujoComprasComponent implements OnInit {\r\n\r\n titulo: string = 'Flujo de Compras';\r\n Procesando: boolean;\r\n sociedades: Sociedad[] = [];\r\n sociedadComercial: any;\r\n origen: any;\r\n origenes: any[] = [];\r\n diferencia: any;\r\n diferencias: any[] = [];\r\n proveedor: any;\r\n proveedores: Proveedor[];\r\n fechaRegistroDe: any;\r\n fechaRegistroA: any;\r\n modoFecha = DatepickerMode.Date;\r\n cvsTodas: any[] = [];\r\n posicionCalendario: PopupPlacement = PopupPlacement.Bottom; \r\n cvsTotal: number = 0;\r\n cvsPaginas: any[] = [];\r\n cvsPagina: any[] = [];\r\n itemsPerPage: number = 10;\r\n ocStr = '';\r\n page: number = 1;\r\n pages: number = 1;\r\n filter: string;\r\n key = 'cv';\r\n reverse = false;\r\n \r\n \r\n\r\n\r\n constructor(\r\n private servicios: Servicios,\r\n private exportToXlsxService: ExportToXlsxService \r\n\r\n ) { \r\n this.origen = 'xmonitor';\r\n this.origenes =[\r\n {\r\n value: 'xmonitor',\r\n display: 'Xmonitor'\r\n },\r\n {\r\n value: 'sap',\r\n display: 'SAP'\r\n },\r\n {\r\n value: 'otro',\r\n display: 'Otro'\r\n }\r\n ]; \r\n \r\n this.diferencia = 'Todas';\r\n this.diferencias = [\r\n {\r\n value: '1',\r\n display: 'Todas'\r\n },\r\n {\r\n value: '2',\r\n display: 'Si'\r\n },\r\n {\r\n value: '3',\r\n display: 'No'\r\n }\r\n ]\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n this.cargarSociedades();\r\n this.cargarProveedores();\r\n this.cargarReporte(); \r\n \r\n }\r\n\r\n \r\n\r\n sort( key) {\r\n this.key = key;\r\n this.reverse = !this.reverse;\r\n } \r\n\r\n seleccionarOrigen(){\r\n this.sociedadComercial = null;\r\n this.fechaRegistroDe = null;\r\n this.fechaRegistroA = null;\r\n this.cargarReporte();\r\n } \r\n\r\n cargarSociedades() {\r\n\t\tthis.servicios.sociedades.obtenerTodos().subscribe((lista) => {\r\n\t\t\tthis.sociedades = lista; \r\n\t\t});\r\n\t}\r\n\r\n cargarProveedores() {\r\n this.servicios\r\n .proveedores\r\n .ObtenerProveedores()\r\n .subscribe(\r\n proveedores => { \r\n proveedores.sort((a: any, b: any) => a.razonSocial - b.razonSocial); \r\n this.proveedores = proveedores; \r\n }\r\n );\r\n }\r\n\r\n seleccionarItemsPerPage() {\r\n this.page = 1;\r\n }\r\n\r\n limpiarFiltro() { \r\n this.sociedadComercial = null;\r\n this.fechaRegistroDe = null;\r\n this.fechaRegistroA = null;\r\n this.proveedor = null;\r\n this.page = 1;\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas);\r\n this.cvsTotal = this.cvsPaginas.length; \r\n }\r\n\r\n exportarExcel() { \r\n this.exportToXlsxService.reporteFlujoCompas('Reporte Flujo de Compras', this.cvsPaginas, this.origen);\r\n }\r\n\r\n aplicarFiltro() {\r\n this.Procesando = true;\r\n this.page = 1;\r\n this.cvsPaginas = []; \r\n if(String(this.origen) === 'xmonitor') { \r\n if (this.sociedadComercial) { \r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => Number(mCV.sociedadId) === Number(this.sociedadComercial)));\r\n } else {\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas);\r\n }\r\n\r\n if (this.diferencia == 2) { \r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => mCV.erroneo === true));\r\n } else if (this.diferencia == 3){\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => mCV.erroneo === false));\r\n }else{\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas);\r\n }\r\n \r\n if(this.proveedor) {\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => (mCV.proveedor) === (this.proveedor)));\r\n } \r\n \r\n if (this.fechaRegistroDe && this.fechaRegistroA) { \r\n if(new Date(this.fechaRegistroDe).getTime() <= new Date(this.fechaRegistroA).getTime() ) {\r\n this.cvsPaginas = _.cloneDeep(this.cvsPaginas).filter(mCV => new Date(mCV.fechaOCReferi).getTime() >= new Date(this.fechaRegistroDe).getTime() && new Date(mCV.fechaOCReferi).getTime() <= new Date(this.fechaRegistroA).getTime()); \r\n } \r\n } \r\n\r\n if(this.ocStr != ''){\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => Number(mCV.cv) === Number(this.ocStr)));\r\n }\r\n\r\n this.cvsPaginas.sort(\r\n (objA, objB) => new Date(objB.fechaOCReferi).getTime() - new Date(objA.fechaOCReferi).getTime(),\r\n );\r\n } else if(String(this.origen) === 'otro' ) { \r\n if (this.sociedadComercial) { \r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => Number(mCV.sociedadId) === Number(this.sociedadComercial)));\r\n } else {\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas);\r\n }\r\n \r\n if (this.diferencia == 2) { \r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => mCV.erroneo === true));\r\n } else if (this.diferencia == 3){\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => mCV.erroneo === false));\r\n }else{\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas);\r\n }\r\n\r\n if(this.proveedor) {\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => (mCV.proveedor) === (this.proveedor)));\r\n }\r\n \r\n \r\n if (this.fechaRegistroDe && this.fechaRegistroA) { \r\n if(new Date(this.fechaRegistroDe).getTime() <= new Date(this.fechaRegistroA).getTime() ) { \r\n this.cvsPaginas = _.cloneDeep(this.cvsPaginas).filter(mCV => new Date(mCV.fechaAuthReferi).getTime() >= new Date(this.fechaRegistroDe).getTime() && new Date(mCV.fechaAuthReferi).getTime() <= new Date(this.fechaRegistroA).getTime()); \r\n } \r\n } \r\n\r\n if(this.ocStr != ''){\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => mCV.folioFiscal === this.ocStr));\r\n }\r\n\r\n this.cvsPaginas.sort(\r\n (objA, objB) => new Date(objB.fechaOCReferi).getTime() - new Date(objA.fechaOCReferi).getTime(),\r\n );\r\n } else {\r\n console.log('si sap')\r\n this.cvsPaginas = this.cvsTodas;\r\n if (this.sociedadComercial) { \r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => Number(mCV.sociedadId) === Number(this.sociedadComercial)));\r\n } else {\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas);\r\n }\r\n\r\n if (this.diferencia == 2) { \r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => mCV.erroneo === true));\r\n } else if (this.diferencia == 3){\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => mCV.erroneo === false));\r\n }else{\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas);\r\n }\r\n \r\n if(this.proveedor) {\r\n this.cvsPaginas = _.cloneDeep(this.cvsTodas.filter(mCV => (mCV.proveedor) === (this.proveedor)));\r\n } \r\n \r\n if (this.fechaRegistroDe && this.fechaRegistroA) { \r\n if(new Date(this.fechaRegistroDe).getTime() <= new Date(this.fechaRegistroA).getTime() ) {\r\n this.cvsPaginas = _.cloneDeep(this.cvsPaginas).filter(mCV => new Date(mCV.fechaOCSAP).getTime() >= new Date(this.fechaRegistroDe).getTime() && new Date(mCV.fechaOCSAP).getTime() <= new Date(this.fechaRegistroA).getTime()); \r\n } \r\n } \r\n this.cvsPaginas.sort(\r\n (objA, objB) => new Date(objB.fechaOCSAP).getTime() - new Date(objA.fechaOCSAP).getTime(),\r\n ); \r\n } \r\n \r\n \r\n \r\n this.cvsTotal = this.cvsPaginas.length; \r\n this.Procesando = false;\r\n }\r\n\r\n\r\n cargarReporte() {\r\n this.Procesando = true;\r\n this.page = 1; \r\n if(String(this.origen) === 'xmonitor') {\r\n this.servicios.archivos.reporteFlujoCompras()\r\n .then(async cvs => { \r\n this.cvsTodas = [];\r\n for(const cv of cvs){ \r\n this.cvsTodas.push(\r\n {\r\n cv: cv.cv,\r\n proveedor: cv.proveedor, \r\n fechaOCReferi: cv.fechaOCReferi,\r\n fechaOCSAP: cv.fechaOCSAP,\r\n fechaAuthReferi: cv.fechaAuthReferi,\r\n numFactSAP: cv.numFactSAP,\r\n userRegistroFactura: cv.userRegistroFactura,\r\n fechaRegistroFactura: cv.fechaRegistroFactura,\r\n fechaPagoSAP: cv.fechaPagoSAP,\r\n importePagadoSAPCurrency: cv.importePagadoSAPCurrency,\r\n importePagadoSAPPesos: cv.importePagadoSAPPesos,\r\n currency: cv.currency,\r\n importeFacturaReferi: cv.importeFacturaReferi,\r\n importeFacturaSAPCurrency: cv.importeFacturaSAPCurrency,\r\n importeFacturaSAPPesos: cv.importeFacturaSAPPesos,\r\n erroneo : await this.marcar(cv,this.origen),\r\n sociedadId: cv.sociedadId,\r\n id: cv.id\r\n }\r\n ) \r\n } \r\n \r\n this.cvsTodas.sort(\r\n (objA, objB) => new Date(objB.fechaOCReferi).getTime() - new Date(objA.fechaOCReferi).getTime(),\r\n );\r\n \r\n this.aplicarFiltro();\r\n })\r\n .catch(error => {\r\n this.Procesando = false;\r\n });\r\n } else if(String(this.origen) === 'otro') {\r\n this.servicios.archivos.reporteFlujoComprasOtros()\r\n .then(async archivos => { \r\n this.cvsTodas = [] \r\n for(const archivo of archivos) { \r\n this.cvsTodas.push(\r\n {\r\n folioFiscal: archivo.folioFiscal,\r\n proveedor: archivo.proveedor, \r\n fechaAuthReferi: archivo.fechaAuthReferi,\r\n fechaOCSAP: archivo.fechaOCSAP,\r\n numFactSAP: archivo.numFactSAP,\r\n userRegistroFactura: archivo.userRegistroFactura,\r\n fechaRegistroFactura: archivo.fechaRegistroFactura,\r\n fechaPagoSAP: archivo.fechaPagoSAP,\r\n importePagadoSAPCurrency: archivo.importePagadoSAPCurrency,\r\n importePagadoSAPPesos: archivo.importePagadoSAPPesos,\r\n currency: archivo.currency,\r\n importeFacturaReferi: archivo.importeFacturaReferi,\r\n importeFacturaSAPCurrency: archivo.importeFacturaSAPCurrency,\r\n importeFacturaSAPPesos: archivo.importeFacturaSAPPesos,\r\n erroneo : await this.marcar(archivo,this.origen),\r\n sociedadId: archivo.sociedadId,\r\n id: archivo.id\r\n }\r\n )\r\n }\r\n \r\n \r\n this.cvsTodas.sort(\r\n (objA, objB) => new Date(objB.fechaOCReferi).getTime() - new Date(objA.fechaOCReferi).getTime(),\r\n );\r\n \r\n this.aplicarFiltro();\r\n })\r\n .catch(error => {\r\n this.Procesando = false;\r\n });\r\n } else {\r\n // ORIGEN SAP\r\n this.servicios.archivos.reporteFlujoComprasSAP()\r\n .then(async cvs => { \r\n console.log('cvs-->',cvs)\r\n this.cvsTodas = [];\r\n for(const cv of cvs){ \r\n this.cvsTodas.push(\r\n {\r\n cv: cv.cv,\r\n proveedor: cv.proveedor, \r\n fechaOCReferi: cv.fechaOCReferi,\r\n fechaOCSAP: cv.fechaOCSAP,\r\n fechaAuthReferi: cv.fechaAuthReferi,\r\n numFactSAP: cv.numFactSAP,\r\n userRegistroFactura: cv.userRegistroFactura,\r\n fechaRegistroFactura: cv.fechaRegistroFactura,\r\n fechaPagoSAP: cv.fechaPagoSAP,\r\n importePagadoSAPCurrency: cv.importePagadoSAPCurrency,\r\n importePagadoSAPPesos: cv.importePagadoSAPPesos,\r\n currency: cv.currency,\r\n importeFacturaReferi: cv.importeFacturaReferi,\r\n importeFacturaSAPCurrency: cv.importeFacturaSAPCurrency,\r\n importeFacturaSAPPesos: cv.importeFacturaSAPPesos,\r\n erroneo : await this.marcar(cv,this.origen),\r\n sociedadId: cv.sociedadId,\r\n id: cv.id\r\n }\r\n ) \r\n } \r\n \r\n \r\n this.cvsTodas.sort(\r\n (objA, objB) => new Date(objB.fechaOCSAP).getTime() - new Date(objA.fechaOCSAP).getTime(),\r\n ); \r\n this.aplicarFiltro();\r\n })\r\n .catch(error => {\r\n this.Procesando = false;\r\n });\r\n\r\n }\r\n }\r\n\r\n public marcar(renglon: any, origen: String): Promise {\r\n return new Promise((resolve) => {\r\n if(String(this.origen) === 'xmonitor' || String(this.origen) === 'sap') {\r\n const rengloValidacionXmonitor = {\r\n currency: renglon.currency,\r\n valor1: renglon.currency === 'USD' ? Math.trunc(renglon.importeFacturaSAPCurrency) : Math.trunc(renglon.importeFacturaSAPPesos),\r\n valor2: renglon.fechaPagoSAP ? renglon.currency === 'USD' ? Math.trunc(renglon.importePagadoSAPCurrency) : Math.trunc(renglon.importePagadoSAPPesos): null,\r\n valor3: renglon.currency === 'USD' ? Math.trunc(renglon.importePagadoSAPCurrency) : Math.trunc(renglon.importePagadoSAPPesos),\r\n valor4: renglon.importeFacturaReferi ? Math.trunc(renglon.importeFacturaReferi) : '0.0' \r\n }\r\n if(rengloValidacionXmonitor.currency && rengloValidacionXmonitor.valor1 && (rengloValidacionXmonitor.valor2 || rengloValidacionXmonitor.valor3)) {\r\n if(rengloValidacionXmonitor.valor2 && rengloValidacionXmonitor.valor3) {\r\n resolve(!(String(rengloValidacionXmonitor['valor1']) === String(rengloValidacionXmonitor['valor2']) && String(rengloValidacionXmonitor['valor1']) === String(rengloValidacionXmonitor['valor3']) && String(rengloValidacionXmonitor['valor1']) === String(rengloValidacionXmonitor['valor4'])));\r\n } else {\r\n if (rengloValidacionXmonitor['valor2']) {\r\n resolve(!(String(rengloValidacionXmonitor['valor1']) !== String(rengloValidacionXmonitor['valor2'])));\r\n } else {\r\n resolve(!(String(rengloValidacionXmonitor['valor1']) !== String(rengloValidacionXmonitor['valor3'])));\r\n }\r\n }\r\n \r\n } else {\r\n if (rengloValidacionXmonitor.valor1) {\r\n if (rengloValidacionXmonitor.valor2) {\r\n resolve(!(String(rengloValidacionXmonitor['valor1']) !== String(rengloValidacionXmonitor['valor2'])));\r\n }\r\n if (rengloValidacionXmonitor.valor3) {\r\n resolve(!(String(rengloValidacionXmonitor['valor1']) !== String(rengloValidacionXmonitor['valor3'])));\r\n }\r\n if (rengloValidacionXmonitor.valor4) {\r\n resolve((String(rengloValidacionXmonitor['valor4']) !== String(rengloValidacionXmonitor['valor1'])));\r\n } \r\n }\r\n if (rengloValidacionXmonitor.valor2) {\r\n if (rengloValidacionXmonitor.valor3) {\r\n resolve(!(String(rengloValidacionXmonitor['valor2']) !== String(rengloValidacionXmonitor['valor3'])));\r\n } \r\n }\r\n resolve(false);\r\n }\r\n } else {\r\n const rengloValidacionOtros = { \r\n valor1: renglon.currency === 'USD' ? Math.trunc(renglon.importeFacturaSAPCurrency) : Math.trunc(renglon.importeFacturaSAPPesos),\r\n valor2 : renglon.fechaPagoSAP ? renglon.currency === 'USD' ? Math.trunc(renglon.importePagadoSAPCurrency) : Math.trunc(renglon.importePagadoSAPPesos): null, \r\n valor3: renglon.currency === 'USD' ? Math.trunc(renglon.importePagadoSAPCurrency) : Math.trunc(renglon.importePagadoSAPPesos),\r\n valor4: renglon.importeFacturaReferi ? Math.trunc(renglon.importeFacturaReferi) : '0.0'\r\n }\r\n if(rengloValidacionOtros.valor1 && (rengloValidacionOtros.valor2 || rengloValidacionOtros.valor3)) {\r\n if(rengloValidacionOtros.valor2 && rengloValidacionOtros.valor3) {\r\n resolve(!(String(rengloValidacionOtros['valor1']) === String(rengloValidacionOtros['valor2']) && String(rengloValidacionOtros['valor1']) === String(rengloValidacionOtros['valor3']) && String(rengloValidacionOtros['valor1']) === String(rengloValidacionOtros['valor4'])));\r\n } else {\r\n if (rengloValidacionOtros['valor2']) {\r\n resolve(!(String(rengloValidacionOtros['valor1']) !== String(rengloValidacionOtros['valor2'])));\r\n } else {\r\n resolve(!(String(rengloValidacionOtros['valor1']) !== String(rengloValidacionOtros['valor3'])));\r\n }\r\n }\r\n \r\n } else {\r\n if (rengloValidacionOtros.valor1) {\r\n if (rengloValidacionOtros.valor2) {\r\n resolve(!(String(rengloValidacionOtros['valor1']) !== String(rengloValidacionOtros['valor2'])));\r\n }\r\n if (rengloValidacionOtros.valor3) {\r\n resolve(!(String(rengloValidacionOtros['valor1']) !== String(rengloValidacionOtros['valor3'])));\r\n }\r\n }\r\n if (rengloValidacionOtros.valor2) {\r\n if (rengloValidacionOtros.valor3) {\r\n resolve(!(String(rengloValidacionOtros['valor2']) !== String(rengloValidacionOtros['valor3'])));\r\n } \r\n } \r\n resolve(false);\r\n } \r\n } \r\n });\r\n }\r\n\r\n handlePageChangeRecibos(event) {\r\n this.page = event; \r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Loading
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\"","import { Component, Renderer2, ViewChild, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { map } from 'rxjs/operators';\r\nimport { Subject, Observable, of } from 'rxjs';\r\nimport { HttpErrorResponse, HttpClient } from '@angular/common/http';\r\nimport { Servicios, ServicioArchivos } from '../../servicios/indice';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { Pago, Proveedor, Sociedad } from '../../entidades/indice';\r\nimport { Notificacion } from '../../compartida/indice';\r\nimport { DatepickerMode } from 'ng2-semantic-ui';\r\n\r\n@Component({\r\n selector: 'app-reppagos',\r\n templateUrl: './reppagos.component.html',\r\n styleUrls: ['./reppagos.component.css']\r\n})\r\nexport class ReppagosComponent implements OnInit {\r\n\r\n idSeleccionado: number;\r\n Procesando: boolean;\r\n @Output() xmlOprimido: EventEmitter = new EventEmitter();\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n seleccionado:string;\r\n titulo: string = \"Reporte complementos de pago\";\r\n private oyente: () => void;\r\n\r\n dtOptions: DataTables.Settings = {};\r\n dtTrigger: Subject = new Subject();\r\n modoFecha = DatepickerMode.Date;\r\n\r\n pagos: Pago[];\r\n pago: Pago; \r\n proveedores: Proveedor[];\r\n sociedades: Sociedad[];\r\n tipoBusqueda = 0;\r\n \r\n val: number;\r\n cargaInicial = false;\r\n constructor(private servicios: Servicios, private renderer: Renderer2, private notificacion: Notificacion) { }\r\n\r\n ngOnInit() {\r\n this.pago = new Pago;\r\n \r\n this.cargarTabla(); \r\n this.Procesando = true;\r\n this.cargarProveedores();\r\n this.cargarSociedades(); \r\n }\r\n\r\n cargarProveedores() {\r\n this.servicios\r\n .proveedores\r\n .ObtenerProveedores()\r\n .subscribe(\r\n lista => {\r\n this.proveedores = lista;\r\n console.log('proveedores-->', this.proveedores);\r\n /*\r\n codigo\r\n : \r\n \"P0016\"\r\n correo\r\n : \r\n \"ccadena@proesmma.com\"\r\n descripcion\r\n : \r\n \"PRO091204KP3-PROESMMA S.A DE C.V\"\r\n idProveedor\r\n : \r\n 220\r\n nombreUsuario\r\n : \r\n \"P0016\"\r\n razonSocial\r\n : \r\n \"PROESMMA S.A DE C.V\"\r\n rfc\r\n : \r\n \"PRO091204KP3\"\r\n */\r\n }\r\n );\r\n }\r\n\r\n cargarSociedades() {\r\n this.servicios\r\n .sociedades\r\n .obtenerTodos()\r\n .subscribe(\r\n lista => {\r\n this.sociedades = lista;\r\n console.log('sociedades-->', this.sociedades);\r\n }\r\n );\r\n }\r\n\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next();\r\n this.renderer.destroy();\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target;\r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let nombre = objetivo.getAttribute('data-nombre');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n if (tipo == \"xml\") {\r\n this.descargarXml(id, nombre);\r\n }\r\n if (tipo = \"pdf\") {\r\n\r\n this.descargarPdf(id, nombre);\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n limpiar(): void {\r\n this.cargaInicial = false;\r\n\r\n /*\r\n this.pago.nombrePago = null;\r\n this.pago.sociedadNombreComercial = null;\r\n this.pago.proveedorRazonSocial = null;\r\n this.pago.fechaDesde = null;\r\n this.pago.fechaHasta = null;\r\n */\r\n this.pago = new Pago();\r\n\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n }\r\n\r\n\r\n\r\n buscar(): void {\r\n this.Procesando = true; \r\n this.recargarTabla(); \r\n }\r\n\r\n \r\n\r\n cargarTabla(): void {\r\n this.Procesando = true;\r\n var n = 0;\r\n this.dtOptions = {\r\n language: { url: '/js/espanol.json' },\r\n searching: false,\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.obtenerReporte()\r\n .subscribe(\r\n lista => {\r\n this.pagos = lista;\r\n this.Procesando = false;\r\n callback({ data: lista });\r\n }\r\n );\r\n \r\n },\r\n columns: [\r\n { title: '', data: 'idPago', visible: false },\r\n { title: '', data: 'idProveedor', visible: false },\r\n { title: 'Sociedad', data: 'sociedadNombreComercial' },\r\n { title: 'Proveedor', data: 'proveedorRazonSocial' },\r\n { title: 'UUID del complemento', data: 'nombrePago' },\r\n { title: 'Fecha de registro ', data: 'fechaRegistro', render: (data: string) => (new Date(data)).toLocaleDateString() },\r\n { title: 'Fecha de pago ', data: 'fechaTimbro', render: (data: string) => (new Date(data)).toLocaleDateString() },\r\n {\r\n title: 'Opciones',\r\n data: 'idPago',\r\n width: \"15%\",\r\n render: (data: any, type: any, full: Pago) => {\r\n return `
    \r\n \r\n \r\n
    `;\r\n }\r\n }\r\n ]\r\n };\r\n }\r\n\r\n obtenerReporte(): Observable { \r\n if (!this.cargaInicial) {\r\n return of([]) ; \r\n } else {\r\n return this.servicios.pagos.obtenerReporte(this.pago).pipe(\r\n map((lista: any) => {\r\n return lista;\r\n })\r\n );\r\n }\r\n }\r\n\r\n reporteExcel(): void {\r\n let observable = this.servicios\r\n .pagos\r\n .obtenerReporteExcel(this.pago)\r\n .subscribe(\r\n xls => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([xls], { type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = \"Reporte_de_pagos\" + \".xlsx\";\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n );\r\n }\r\n\r\n\r\n descargarPdf(id: number, nombre: string): void {\r\n let observable = this.servicios\r\n .pagos\r\n .descargarPdf(id)\r\n .subscribe(\r\n pdf => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([pdf], { type: \"octet/stream\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = nombre + \".pdf\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(() => {\r\n a.remove();\r\n window.URL.revokeObjectURL(url);\r\n }, 100);\r\n \r\n }\r\n );\r\n\r\n }\r\n\r\n\r\n\r\n descargarXml(id: number, nombre: string): void {\r\n let observable = this.servicios\r\n .pagos\r\n .descargarXml(id)\r\n .subscribe(\r\n xml => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([xml], { type: \"octet/stream\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = nombre + \".xml\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(() => {\r\n a.remove();\r\n window.URL.revokeObjectURL(url);\r\n }, 100);\r\n }\r\n );\r\n }\r\n\r\n\r\n public recargarTabla(): void {\r\n this.cargaInicial = true;\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.oyente();\r\n }\r\n}\r\n","module.exports = \"body {\\r\\n background-color: #DADADA;\\r\\n}\\r\\n\\r\\n body > .grid {\\r\\n height: 100%;\\r\\n }\\r\\n\\r\\n .image {\\r\\n margin-top: -100px;\\r\\n}\\r\\n\\r\\n .column {\\r\\n max-width: 450px;\\r\\n}\\r\\n\\r\\n input:-webkit-autofill {\\r\\n -webkit-box-shadow: 0 0 0px 100px #fff inset !important;\\r\\n transition: background-color 5000s ease-in-out 0s !important;\\r\\n}\\r\\n\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n Restablecer contraseña de usuario\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n www.createga.com\\r\\n
    \\r\\n
    \\r\\n \\r\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { RestablecerContrasena } from '../../entidades/indice';\r\nimport { ServicioAutenticacion, Servicios } from '../../servicios/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-restablecercontrasena',\r\n templateUrl: './restablecercontrasena.component.html',\r\n styleUrls: ['./restablecercontrasena.component.css']\r\n})\r\nexport class RestablecercontrasenaComponent implements OnInit {\r\n usuario: RestablecerContrasena;\r\n procesando: boolean;\r\n token : string\r\n \r\n constructor(private router: Router, private autenticacion: ServicioAutenticacion, private servicios: Servicios, private snotifyService: SnotifyService, private route: ActivatedRoute) {\r\n console.log('Called Constructor');\r\n this.route.queryParams.subscribe(params => {\r\n this.token = params['usuario'];\r\n });\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.usuario = new RestablecerContrasena();\r\n }\r\n\r\n usuarioRes(usu: string): void {\r\n let observable = this.servicios\r\n .restablecerContrasena\r\n .reesContrasena(usu)\r\n .subscribe(\r\n pdf => {\r\n\r\n\r\n }\r\n );\r\n }\r\n\r\n IrLogin(): void {\r\n this.router.navigateByUrl('/');\r\n }\r\n\r\n restablecer(): void {\r\n this.usuario.token = this.token;\r\n let observable = this.autenticacion\r\n .actualizarToken(this.usuario.usuario, this.usuario.contrasena, this.usuario.token)\r\n .subscribe(\r\n result => {\r\n if (result == \"exito\") {\r\n this.snotifyService.success(\"Contraseña reestablecida con exito\", {\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n this.router.navigateByUrl('/');\r\n }\r\n else if (result == \"errorLetraMayuscula\") {\r\n this.snotifyService.warning(\"La contraseña debe contener por lo menos una letra mayuscula y/o minuscula\", {\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n\r\n }\r\n else if (result == \"errorCambio\") {\r\n this.snotifyService.warning(\"El usuario ya no cuenta con un token de seguridad\", {\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n\r\n }\r\n else if (result == \"erroNoFound\") {\r\n this.snotifyService.warning(\"Usuario no identificado\", {\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n\r\n }\r\n else if (result == \"errorArgInvalidos\") {\r\n this.snotifyService.warning(\"Datos invalidos, verifique nuevamente\", {\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n\r\n }\r\n else {\r\n this.snotifyService.error(\"Error al restablecer la contraseña, verifique nuevamente...\", {\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n \r\n }\r\n }\r\n , error => {\r\n let httpError = error;\r\n this.snotifyService.error(\"Error contacte a su administrador!\", {\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n position: SnotifyPosition.centerTop\r\n });\r\n \r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n
    {{ titulo }}
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n Destinatario\\r\\n \\r\\n Correo\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n {{d.nombre}}\\r\\n \\r\\n {{d.correo}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","import { first } from 'rxjs/operators';\r\nimport { Usuario } from './../../entidades/usuario';\r\nimport { Proveedor } from './../../entidades/proveedor';\r\nimport { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ModalTemplate, SuiModalService, TemplateModalConfig } from 'ng2-semantic-ui';\r\nimport { Servicios } from '../../servicios/servicios';\r\nimport { StaticInjector } from '@angular/core/src/di/injector';\r\n\r\nclass Destinatario {\r\n seleccionado: boolean;\r\n nombre: string;\r\n correo: string;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-seleccion-proveedores',\r\n templateUrl: './seleccion-proveedores.component.html',\r\n styleUrls: ['./seleccion-proveedores.component.css']\r\n})\r\nexport class SeleccionProveedoresComponent implements OnInit {\r\n @ViewChild('modalTemplate')\r\n public modalTemplate: ModalTemplate<{\r\n seleccionado: boolean,\r\n proveedor: Proveedor\r\n }[], string, string>\r\n\r\n titulo = 'Seleccionar destinatarios';\r\n destinatarios: Destinatario[]\r\n\r\n ordenamiento: {columna: string, ascendente: boolean} = {columna:'', ascendente:true};\r\n\r\n @Output() selecionados: EventEmitter = new EventEmitter();\r\n\r\n get haySeleccionadas() {\r\n return this.destinatarios.filter(d => d.seleccionado).length;\r\n }\r\n\r\n constructor(public modalService: SuiModalService, public ctx: Servicios) { }\r\n\r\n ngOnInit() {\r\n this.cargarDestinatarios();\r\n }\r\n\r\n cargarDestinatarios() {\r\n this.ctx.proveedores.ObtenerProveedores().pipe(first()).subscribe(u => {\r\n this.destinatarios = u.map(u => { return { nombre: u.razonSocial, seleccionado: true, correo: u.correo } })\r\n })\r\n }\r\n\r\n public open() {\r\n const config = new TemplateModalConfig<{\r\n seleccionado: boolean,\r\n proveedor: Proveedor\r\n }[], string, string>(this.modalTemplate);\r\n // config.context = confirmConfig;\r\n config.size = 'normal';\r\n config.isClosable = false;\r\n this.modalService\r\n .open(config)\r\n .onApprove(result => {\r\n const destinatariosSeleccionados = this.destinatarios.filter(d => d.seleccionado).map(d => d.correo);\r\n this.selecionados.emit(destinatariosSeleccionados);\r\n })\r\n .onDeny(result => { /* deny callback */ });\r\n }\r\n\r\n seleccionarTodos(evento: any) {\r\n this.destinatarios.forEach(d => {\r\n d.seleccionado = evento.srcElement.checked;\r\n })\r\n }\r\n\r\n seleccionarDestinatario(seleccionado: boolean, nombre: string) {\r\n const elemento = this.destinatarios.find(d => d.nombre == nombre);\r\n elemento.seleccionado = seleccionado;\r\n }\r\n\r\n ordenar(columna:string): any[] {\r\n \r\n if(this.ordenamiento.columna == columna){\r\n this.ordenamiento.ascendente = !this.ordenamiento.ascendente\r\n }else{\r\n this.ordenamiento.columna = columna;\r\n this.ordenamiento.ascendente = true;\r\n }\r\n let sortedArray = this.destinatarios.sort((a,b)=>{\r\n if(a[columna] > b[columna]){\r\n return (this.ordenamiento.ascendente) ? 1 : -1;\r\n }\r\n if(a[columna] < b[columna]){\r\n return (this.ordenamiento.ascendente) ? -1 : 1;\r\n }\r\n return 0;\r\n })\r\n return sortedArray;\r\n}\r\n\r\n}\r\n","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, TemplateRef, ViewChild, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormaSociedad } from './forma.component';\r\nimport { Sociedad } from '../../entidades/indice';\r\nimport { TablaCatalogoSociedad } from './tabla.component';\r\n\r\n@Component({\r\n selector: \"catalogo-sociedad\",\r\n templateUrl: \"catalogo.component.html\"\r\n})\r\nexport class CatalogoSociedad implements OnDestroy {\r\n @ViewChild(FormaSociedad) formaSociedad: FormaSociedad;\r\n @ViewChild(TablaCatalogoSociedad) tablaCatalogo: TablaCatalogoSociedad;\r\n\r\n titulo: string = \"Sociedades\";\r\n\r\n nuevo(): void {\r\n this.formaSociedad.abrirNuevo();\r\n }\r\n\r\n editar(sociedadEvento: Sociedad): void {\r\n this.formaSociedad.sociedad = sociedadEvento;\r\n this.formaSociedad.abrirEditar();\r\n }\r\n\r\n recargarTabla(): void {\r\n this.tablaCatalogo.recargarTabla();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.formaSociedad.cancelar();\r\n }\r\n}","module.exports = \"\\r\\n
    {{titulo}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n 0\\\" (keyup)=\\\"txtSociedad.value = txtSociedad.value.toUpperCase()\\\"\\r\\n pattern=\\\"^([A-ZÑ\\\\x26]{3,4}([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])([A-Z]|[0-9]){2}([A]|[0-9]){1})?$\\\">\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Manetener ventana abierta\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import { Component, Input, ElementRef, ViewChild, TemplateRef, ViewContainerRef, Output, EventEmitter } from '@angular/core';\r\nimport { ModalTemplate, TemplateModalConfig, SuiModalService, ActiveModal, IPopup } from 'ng2-semantic-ui/dist';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { FormaModal, Notificacion } from '../../compartida/indice';\r\nimport { Sociedad } from '../../entidades/indice';\r\nimport { Servicios } from '../../servicios/indice';\r\n\r\n@Component({\r\n selector: 'forma-sociedad',\r\n templateUrl: 'forma.component.html'\r\n})\r\nexport class FormaSociedad extends FormaModal {\r\n @ViewChild('modalTemplateSociedad') modalTemplate: ModalTemplate\r\n @ViewChild('forma', { read: NgForm }) forma: NgForm;\r\n @ViewChild('txtSociedad', { read: ElementRef }) txtsociedad: ElementRef;\r\n sociedad: Sociedad;\r\n @Output() procesoTerminado: EventEmitter = new EventEmitter();\r\n\r\n constructor(public modalService: SuiModalService, private servicios: Servicios, private notificacion: Notificacion) {\r\n super(modalService);\r\n this.crearNuevo();\r\n }\r\n\r\n crearNuevo(): void {\r\n this.sociedad = new Sociedad();\r\n }\r\n\r\n abrirNuevo(): void {\r\n this.crearNuevo();\r\n this.abrir(\"Nuevo\", true);\r\n }\r\n\r\n abrirEditar(): void {\r\n this.abrir(\"Editar\", false);\r\n }\r\n\r\n cancelar(): void {\r\n this.cerrar();\r\n }\r\n\r\n enfocar(): void {\r\n this.txtsociedad.nativeElement.focus()\r\n }\r\n\r\n limpiar(): void {\r\n this.forma.resetForm();\r\n this.sociedad = new Sociedad();\r\n if (!this.MantenerAbierto) {\r\n this.cerrar();\r\n }\r\n this.enfocar();\r\n }\r\n\r\n guardar(): void {\r\n this.Procesando = true;\r\n\r\n let observable: Observable;\r\n let mensaje: string;\r\n if (this.sociedad.id > 0) {\r\n mensaje = 'Sociedad actualizada.';\r\n observable = this.servicios.sociedades.actualizar(this.sociedad.id.toString(), this.sociedad) \r\n } else {\r\n mensaje = 'Sociedad guardada.';\r\n observable = this.servicios.sociedades.guardar(this.sociedad);\r\n }\r\n\r\n observable\r\n .subscribe(\r\n sociedades => {\r\n this.notificacion.mostrarExito(mensaje);\r\n this.Procesando = false;\r\n this.limpiar();\r\n this.procesoTerminado.emit(true);\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.Procesando = false;\r\n }\r\n );\r\n }\r\n}","module.exports = \"\\r\\n
    \\r\\n\"","import { Component, Renderer2, ViewChild, Output, EventEmitter, OnInit, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { Subject } from 'rxjs';\r\nimport { Confirmacion, Notificacion } from '../../compartida/indice';\r\nimport { Sociedad } from '../../entidades/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Servicios } from '../../servicios/indice';\r\n\r\n@Component({\r\n selector: 'tabla-sociedad',\r\n templateUrl: 'tabla.component.html'\r\n})\r\nexport class TablaCatalogoSociedad implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n dtOptions: DataTables.Settings = {};\r\n dtTrigger: Subject = new Subject();\r\n @Output() editarOprimido: EventEmitter = new EventEmitter();\r\n @Output() eliminarOprimido: EventEmitter = new EventEmitter();\r\n private oyente: () => void;\r\n sociedades: Sociedad[];\r\n idSeleccionado: number;\r\n\r\n constructor(private servicios: Servicios, private renderer: Renderer2, private notificacion: Notificacion) { }\r\n\r\n ngOnInit(): void {\r\n this.cargarTabla();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next();\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target;\r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n if (tipo == 'a') {\r\n this.editar(id);\r\n } \r\n else if(tipo == 'f'){\r\n this.servicios\r\n .sociedades\r\n .aplicaPruebasEntrega(id)\r\n .then(aplicaPruebas => {\r\n if (aplicaPruebas) {\r\n this.notificacion.mostrarExito(\"La sociedad aplica pruebas entrega.\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n\r\n } else {\r\n this.notificacion.mostrarExito(\"La sociedad no aplica pruebas entrega.\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n \r\n });\r\n }\r\n })\r\n .catch(error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n }); \r\n }\r\n else {\r\n this.idSeleccionado = id;\r\n this.preguntarSieliminar();\r\n }\r\n }\r\n \r\n });\r\n }\r\n\r\n editar(id: number): void {\r\n let sociedad = this.sociedades.find(u => u.id == id);\r\n this.editarOprimido.emit(sociedad);\r\n }\r\n\r\n preguntarSieliminar(): void {\r\n this.confirmacion.open({\r\n texto: \"¿Seguro que desea continuar?\",\r\n textoCancelar: \"No\",\r\n textoOk: \"Si\",\r\n titulo: \"Confirmacion\"\r\n });\r\n }\r\n\r\n eliminar() {\r\n this.servicios\r\n .sociedades\r\n .eliminar(this.idSeleccionado.toString())\r\n .subscribe(\r\n eliminado => {\r\n this.notificacion.mostrarExito(\"Sociedad eliminada.\");\r\n this.recargarTabla();\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n }\r\n );\r\n }\r\n\r\n cargarTabla(): void {\r\n this.dtOptions = {\r\n language: {url: '/js/espanol.json'},\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios\r\n .sociedades\r\n .obtenerTodos()\r\n .subscribe(sociedades => {\r\n this.sociedades = sociedades;\r\n callback({ data: sociedades });\r\n });\r\n },\r\n columns: [\r\n { title: 'Id', data: 'id', visible: false },\r\n { title: 'RFC', data: 'rfc' },\r\n { title: 'Razón social', data: 'razonSocial' },\r\n { title: 'Nombre', data: 'nombreComercial' },\r\n { title: 'Correo electrónico', data: 'correoElectronico' },\r\n { title: 'Regimen fiscal', data: 'regimenFiscal' },\r\n {\r\n title: 'Aplica pruebas entrega',\r\n data: 'aplicaPruebasEntrega',\r\n width: \"15%\",\r\n render: (data: any, type: any, full: Sociedad) => { \r\n if (full.aplicaPruebasEntrega) {\r\n\r\n return `
    \r\n \r\n
    `;\r\n }\r\n else {\r\n return `
    \r\n \r\n
    `;\r\n\r\n }\r\n }\r\n },\r\n {\r\n title: 'Opciones',\r\n data: 'id',\r\n width: \"15%\",\r\n render: function (data: any, type: any, full: any) {\r\n return `
    \r\n \r\n \r\n
    `;\r\n }\r\n }\r\n ]\r\n };\r\n }\r\n\r\n public recargarTabla(): void {\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n // Destroy the table first\r\n dtInstance.destroy();\r\n // Call the dtTrigger to rerender again\r\n this.dtTrigger.next();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.oyente();\r\n }\r\n\r\n}","module.exports = \".mistep {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n\\r\\n.total {\\r\\n float: right;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n Documento CFDI: {{archivo.nombreArchivo}} -- \\r\\n Fecha de Registro: {{archivo.fechaRegistro | date : 'dd-MM-yyyy'}} --\\r\\n Fecha probable pago: {{archivo.fechaPago | date : 'dd-MM-yyyy'}} -- \\r\\n Importe: {{archivo.total | currency: 2 : \\\"$\\\"}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Enviado
    \\r\\n
    CFDI enviado
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Enviado
    \\r\\n
    CFDI enviado
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Recibido
    \\r\\n
    CFDI recibido
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Recibido
    \\r\\n
    CFDI recibido
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Recibido
    \\r\\n
    CFDI recibido
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Autorizado
    \\r\\n
    CFDI autorizado
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Autorizado
    \\r\\n
    CFDI autorizado
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Autorizado
    \\r\\n
    CFDI autorizado
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Programado
    \\r\\n
    CFDI pago programado
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Programado
    \\r\\n
    CFDI pago programado
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Programado
    \\r\\n
    CFDI pago programado
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Pagado parcialmente
    \\r\\n
    CFDI pago
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Pagado parcialmente
    \\r\\n
    CFDI pago
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Pagado parcialmente
    \\r\\n
    CFDI pago
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Pagado
    \\r\\n
    CFDI pagado
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Pagado
    \\r\\n
    CFDI pagado
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Pagado
    \\r\\n
    CFDI pagado
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Documento CFDI: {{archivo.nombreArchivo}}
    \\r\\n
    \\r\\n

    Fecha de registro: {{archivo.fechaRegistro | date : 'dd-MM-yyyy'}}

    \\r\\n

    Fecha de recepción: {{archivo.fechaRecepcion | date : 'dd-MM-yyyy'}}

    \\r\\n

    Fecha de autorización: {{archivo.fechaAutorizo | date : 'dd-MM-yyyy'}}

    \\r\\n

    Fecha probable de pago: {{archivo.fechaPago | date : 'dd-MM-yyyy'}}      

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n  Total: {{archivo.total | currency: 2 : \\\"$\\\"}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\"","import { Component, Renderer2, ViewChild, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { HttpErrorResponse, HttpClient } from '@angular/common/http';\r\nimport { Servicios, ServicioArchivos, ServicioAutenticacion } from '../../servicios/indice';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { Archivo, Proveedor, Sociedad } from '../../entidades/indice';\r\nimport { Notificacion } from '../../compartida/indice';\r\nimport { DatepickerMode, PopupPlacement } from 'ng2-semantic-ui';\r\n\r\n@Component({\r\n selector: 'app-traking-cfdi',\r\n templateUrl: './traking-cfdi.component.html',\r\n styleUrls: ['./traking-cfdi.component.css']\r\n})\r\nexport class TrakingCFDIComponent implements OnInit {\r\n\r\n Procesando: boolean;\r\n titulo: string = \"Traking\";\r\n archivos: Archivo[];\r\n archivo: Archivo;\r\n\r\n completoEnvio: boolean;\r\n completoRecibido: boolean;\r\n completoAutorizado: boolean;\r\n completoProgramado: boolean;\r\n completoPagadoParcialmente: boolean;\r\n completoPagado: boolean;\r\n\r\n procesandoEnvio: boolean;\r\n procesandoRecibido: boolean;\r\n procesandoAutorizado: boolean;\r\n procesandoProgramado: boolean;\r\n procesandoPagadoParcialmente: boolean;\r\n procesandoPagado: boolean;\r\n\r\n bloqueadoEnvio: boolean;\r\n bloqueadoRecibido: boolean;\r\n bloqueadoAutorizado: boolean;\r\n bloqueadoProgramado: boolean;\r\n bloqueadoPagadoParcialmente: boolean;\r\n bloqueadoPagado: boolean;\r\n\r\n habilitarPagado: boolean;\r\n habilitarPagadoParcialmente: boolean;\r\n\r\n modoFecha = DatepickerMode.Date;\r\n posicionCalendario: PopupPlacement = PopupPlacement.Bottom;\r\n\r\n constructor(private servicios: Servicios, private autenticacion: ServicioAutenticacion, private renderer: Renderer2, private notificacion: Notificacion) { }\r\n\r\n ngOnInit() {\r\n this.archivo = new Archivo;\r\n }\r\n\r\n\r\n deshabilitarTodo(): void {\r\n this.completoEnvio = false;\r\n this.completoRecibido = false;\r\n this.completoAutorizado = false;\r\n this.completoProgramado = false;\r\n this.completoPagadoParcialmente = false;\r\n this.completoPagado = false;\r\n\r\n this.procesandoEnvio = false;\r\n this.procesandoRecibido = false;\r\n this.procesandoAutorizado = false;\r\n this.procesandoProgramado = false;\r\n this.procesandoPagadoParcialmente = false;\r\n this.procesandoPagado = false;\r\n\r\n this.bloqueadoEnvio = false;\r\n this.bloqueadoRecibido = false;\r\n this.bloqueadoAutorizado = false;\r\n this.bloqueadoProgramado = false;\r\n this.bloqueadoPagadoParcialmente = false;\r\n this.bloqueadoPagado = false;\r\n\r\n\r\n\r\n\r\n this.habilitarPagado = false;\r\n this.habilitarPagadoParcialmente = false;\r\n }\r\n\r\n habilitar(id: number): void {\r\n\r\n this.deshabilitarTodo();\r\n \r\n let arc = this.archivos.find(ele => ele.idArchivo == id);\r\n if (arc != null) {\r\n if (arc.fechaRegistro != null && arc.fechaRecepcion != null && arc.fechaAutorizo != null && arc.fechaPago != null && (arc.ordenCerrada == true || arc.ordenCerradaManualmente == true)) {\r\n\r\n this.completoEnvio = true;\r\n this.completoRecibido = true;\r\n this.completoAutorizado = true;\r\n this.completoProgramado = true;\r\n this.habilitarPagado = true;\r\n this.completoPagado = true;\r\n return;\r\n }\r\n else if (arc.fechaRegistro != null && arc.fechaRecepcion != null && arc.fechaAutorizo != null && arc.fechaPago != null && (arc.ordenCerrada == false || arc.ordenCerradaManualmente == false)) {\r\n\r\n this.completoEnvio = true;\r\n this.completoRecibido = true;\r\n this.completoAutorizado = true;\r\n this.completoProgramado = true;\r\n this.habilitarPagadoParcialmente = true;\r\n this.procesandoPagadoParcialmente = true;\r\n this.habilitarPagado = false;\r\n return;\r\n\r\n }\r\n else if (arc.fechaRegistro != null && arc.fechaRecepcion != null && arc.fechaAutorizo != null && arc.fechaPago == null && (arc.ordenCerrada == false || arc.ordenCerradaManualmente == false)) {\r\n\r\n this.completoEnvio = true;\r\n this.completoRecibido = true;\r\n this.completoAutorizado = true;\r\n this.procesandoProgramado = true;\r\n this.bloqueadoPagadoParcialmente = true;\r\n this.habilitarPagadoParcialmente = true;\r\n this.habilitarPagado = false;\r\n return;\r\n }\r\n else if (arc.fechaRegistro != null && arc.fechaRecepcion != null && arc.fechaAutorizo == null && arc.fechaPago == null && (arc.ordenCerrada == false || arc.ordenCerradaManualmente == false)) {\r\n this.completoEnvio = true;\r\n this.completoRecibido = true;\r\n this.procesandoAutorizado = true;\r\n this.bloqueadoProgramado = true;\r\n this.bloqueadoPagadoParcialmente = true;\r\n this.habilitarPagadoParcialmente = true;\r\n this.habilitarPagado = false;\r\n return;\r\n }\r\n else if (arc.fechaRegistro != null && arc.fechaRecepcion == null && arc.fechaAutorizo == null && arc.fechaPago == null && (arc.ordenCerrada == false || arc.ordenCerradaManualmente == false)) {\r\n this.completoEnvio = true;\r\n this.procesandoRecibido = true;\r\n this.bloqueadoAutorizado = true;\r\n this.bloqueadoProgramado = true;\r\n this.bloqueadoPagadoParcialmente = true;\r\n this.habilitarPagadoParcialmente = true;\r\n this.habilitarPagado = false;\r\n return;\r\n }\r\n }\r\n }\r\n\r\n\r\n buscar(): void {\r\n this.archivo.idProveedor = this.autenticacion.credencial.idUsuario;\r\n this.servicios\r\n .archivos\r\n .obtenerReporteTrackingProveedor(this.archivo)\r\n .subscribe(\r\n lista => {\r\n this.archivos = lista;\r\n\r\n }\r\n );\r\n }\r\n\r\n limpiar(): void {\r\n this.archivo.nombreArchivo = null;\r\n this.archivo.fechaRegistroDesde = null;\r\n this.archivo.fechaRegistroHasta = null;\r\n this.deshabilitarTodo();\r\n this.archivos = null;\r\n }\r\n\r\n descargarPDF(id: number, nombre: string): void {\r\n let observable = this.servicios\r\n .archivos\r\n .descargarPdf(id)\r\n .subscribe(\r\n pdf => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([pdf], { type: \"octet/stream\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = nombre + \".pdf\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(() => {\r\n a.remove();\r\n window.URL.revokeObjectURL(url);\r\n }, 100);\r\n }\r\n );\r\n }\r\n\r\n descargarXML(id: number, nombre: string): void {\r\n let observable = this.servicios\r\n .archivos\r\n .descargarXml(id)\r\n .subscribe(\r\n xml => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([xml], { type: \"octet/stream\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = nombre + \".xml\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(() => {\r\n a.remove();\r\n window.URL.revokeObjectURL(url);\r\n }, 100);\r\n }\r\n );\r\n }\r\n}\r\n","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{titulo}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormaUsuario } from './forma.component';\r\nimport { Usuario } from '../../entidades/indice';\r\nimport { TablaCatalogoUsuario } from './tabla.component';\r\n\r\n@Component({\r\n selector: \"catalogo-usuario\",\r\n templateUrl: \"catalogo.component.html\"\r\n})\r\nexport class CatalogoUsuario implements OnDestroy {\r\n @ViewChild(FormaUsuario) formaUsuario: FormaUsuario;\r\n @ViewChild(TablaCatalogoUsuario) tablaCatalogo: TablaCatalogoUsuario;\r\n titulo: string = \"Usuarios\";\r\n\r\n nuevo(): void { \r\n this.formaUsuario.abrirNuevo();\r\n }\r\n\r\n editar(usuarioEvento: Usuario): void {\r\n this.formaUsuario.usuario = usuarioEvento;\r\n this.formaUsuario.abrirEditar();\r\n }\r\n\r\n recargarTabla(): void {\r\n this.tablaCatalogo.recargarTabla();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.formaUsuario.cancelar();\r\n }\r\n\r\n}","module.exports = \"\\r\\n
    {{titulo}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Manetener ventana abierta\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import { Component, Input, ElementRef, ViewChild, TemplateRef, ViewContainerRef, Output, EventEmitter } from '@angular/core';\r\nimport { ModalTemplate, TemplateModalConfig, SuiModalService, ActiveModal, IPopup } from 'ng2-semantic-ui/dist';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { FormaModal, Notificacion } from '../../compartida/indice';\r\nimport { Usuario } from '../../entidades/indice';\r\nimport { Servicios } from '../../servicios/indice';\r\n\r\n@Component({\r\n selector: 'forma-usuario',\r\n templateUrl: 'forma.component.html'\r\n})\r\nexport class FormaUsuario extends FormaModal {\r\n @ViewChild('modalTemplateUsuario') modalTemplate: ModalTemplate\r\n @ViewChild('forma', { read: NgForm }) forma: NgForm;\r\n @ViewChild('txtUsuario', { read: ElementRef }) txtusuario: ElementRef;\r\n usuario: Usuario;\r\n @Output() procesoTerminado: EventEmitter = new EventEmitter();\r\n\r\n constructor(public modalService: SuiModalService, private servicios: Servicios, private notificacion: Notificacion) {\r\n super(modalService);\r\n this.crearNuevo();\r\n }\r\n\r\n crearNuevo(): void {\r\n this.usuario = new Usuario(); \r\n }\r\n\r\n abrirNuevo(): void {\r\n this.crearNuevo();\r\n this.abrir(\"Nuevo\", true);\r\n }\r\n\r\n abrirEditar(): void {\r\n this.abrir(\"Editar\", false);\r\n }\r\n\r\n cancelar(): void {\r\n this.cerrar();\r\n }\r\n\r\n enfocar(): void {\r\n this.txtusuario.nativeElement.focus()\r\n }\r\n\r\n limpiar(): void {\r\n this.forma.resetForm();\r\n this.usuario = new Usuario();\r\n if (!this.MantenerAbierto) {\r\n this.cerrar();\r\n }\r\n this.enfocar();\r\n }\r\n\r\n guardar(): void {\r\n this.Procesando = true;\r\n\r\n let observable: Observable;\r\n let mensaje: string;\r\n if (this.usuario.idUsuario > 0) {\r\n mensaje = 'Usuario actualizado.';\r\n observable = this.servicios.usuarios.actualizar(this.usuario.idUsuario.toString(), this.usuario) \r\n } else {\r\n mensaje = 'Usuario guardado.';\r\n observable = this.servicios.usuarios.guardar(this.usuario);\r\n }\r\n\r\n observable\r\n .subscribe(\r\n usuarios => {\r\n this.notificacion.mostrarExito(mensaje);\r\n this.Procesando = false;\r\n this.limpiar();\r\n this.procesoTerminado.emit(true);\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n this.Procesando = false;\r\n }\r\n );\r\n }\r\n}","module.exports = \"\\r\\n
    \\r\\n\"","import { Component, Renderer2, ViewChild, Output, EventEmitter, OnDestroy, AfterViewInit, OnInit } from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { Subject } from 'rxjs';\r\nimport { Confirmacion, Notificacion } from '../../compartida/indice';\r\nimport { Usuario } from '../../entidades/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Servicios } from '../../servicios/indice';\r\n\r\n@Component({\r\n selector: 'tabla-usuario',\r\n templateUrl: 'tabla.component.html'\r\n})\r\nexport class TablaCatalogoUsuario implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n dtOptions: DataTables.Settings = {};\r\n dtTrigger: Subject = new Subject();\r\n @Output() editarOprimido: EventEmitter = new EventEmitter();\r\n @Output() eliminarOprimido: EventEmitter = new EventEmitter();\r\n private oyente: () => void;\r\n usuarios: Usuario[];\r\n idSeleccionado: number;\r\n\r\n constructor(private servicios: Servicios, private renderer: Renderer2, private notificacion: Notificacion) { }\r\n\r\n ngOnInit(): void {\r\n this.cargarTabla();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next();\r\n \r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target;\r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n if (tipo == 'a') {\r\n this.editar(id);\r\n } else {\r\n this.idSeleccionado = id;\r\n this.preguntarSieliminar();\r\n }\r\n }\r\n });\r\n }\r\n\r\n editar(id: number): void {\r\n let usuario = this.usuarios.find(u => u.idUsuario == id);\r\n this.editarOprimido.emit(usuario);\r\n }\r\n\r\n preguntarSieliminar(): void {\r\n this.confirmacion.open({\r\n texto: \"¿Seguro que desea continuar?\",\r\n textoCancelar: \"No\",\r\n textoOk: \"Si\",\r\n titulo: \"Confirmacion\"\r\n });\r\n }\r\n\r\n eliminar() {\r\n this.servicios\r\n .usuarios\r\n .eliminar(this.idSeleccionado.toString())\r\n .subscribe(\r\n eliminado => {\r\n this.notificacion.mostrarExito(\"Usuario eliminado.\");\r\n this.recargarTabla();\r\n },\r\n error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n }\r\n );\r\n }\r\n\r\n cargarTabla(): void {\r\n this.dtOptions = {\r\n language: {url: '/js/espanol.json'},\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios\r\n .usuarios\r\n .obtenerTodos()\r\n .subscribe(usuarios => {\r\n this.usuarios = usuarios;\r\n callback({ data: usuarios });\r\n });\r\n },\r\n columns: [\r\n { title: 'Id', data: 'idUsuario', visible: false },\r\n { title: 'Nombre', data: 'nombreUsuario' },\r\n { title: 'Correo', data: 'correo' },\r\n {\r\n title: 'Opciones',\r\n data: 'idUsuario',\r\n width: \"15%\",\r\n render: function (data: any, type: any, full: any) {\r\n return `
    \r\n \r\n \r\n
    `;\r\n }\r\n }\r\n ]\r\n };\r\n }\r\n\r\n public recargarTabla(): void {\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n // Destroy the table first\r\n dtInstance.destroy();\r\n // Call the dtTrigger to rerender again\r\n this.dtTrigger.next();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.oyente();\r\n }\r\n}","module.exports = \"\"","module.exports = \"\\r\\n
    \\r\\n 0 && progress < 100\\\">\\r\\n {{progress}}%\\r\\n\\r\\n\\r\\n {{message}}\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { HttpClient, HttpRequest, HttpEventType } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'archivo-unico',\r\n templateUrl: './archivo-unico.component.html',\r\n styleUrls: ['./archivo-unico.component.css']\r\n})\r\nexport class ArchivoUnicoComponent implements OnInit {\r\n\r\n public progress: number;\r\n public message: string;\r\n constructor(private http: HttpClient) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n upload(files) {\r\n if (files.length === 0)\r\n return;\r\n\r\n const formData = new FormData();\r\n\r\n for (let file of files)\r\n formData.append(file.name, file);\r\n\r\n const uploadReq = new HttpRequest('POST', \"api/Archivos\", formData, {\r\n reportProgress: true,\r\n });\r\n\r\n this.http.request(uploadReq).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response)\r\n this.message = event.body.toString();\r\n });\r\n }\r\n}\r\n","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n Nuevo\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","import {\r\n Component,\r\n ViewChild,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { FormaArchivos } from './forma.component';\r\nimport { TablaCatalogoArchivos } from './tabla.component';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { Notificacion } from '../../compartida/indice';\r\n\r\n@Component({\r\n selector: 'catalogo-archivos',\r\n templateUrl: 'catalogo.component.html',\r\n})\r\nexport class CatalogoArchivos implements OnDestroy {\r\n @ViewChild(FormaArchivos) formaSociedad: FormaArchivos;\r\n @ViewChild(TablaCatalogoArchivos) tablaCatalogo: TablaCatalogoArchivos;\r\n\r\n constructor(public servicios: Servicios, private notificacion: Notificacion) { }\r\n\r\n titulo: string = 'Validación y envío de XML Facturas';\r\n\r\n async nuevo() {\r\n\r\n let tienePendientes = await this.tieneFacturasSinPagoRelacionado();\r\n let hoy = new Date();\r\n if (tienePendientes && hoy.getDay() < 11) {\r\n const msj = \"Existen facturas sin complemento de pago, para ingresar una nueva factura es necesario que no haya facturas sin su complemento\";\r\n this.notificacion.mostrarAdvertencia(msj);\r\n }\r\n else {\r\n let tieneComplementoSinPago = await this.tieneComplementoSinPago();\r\n if (tieneComplementoSinPago) {\r\n const msj = \"Existen facturas sin complemento de pago XML, para ingresar una nueva factura es necesario que no haya facturas sin su complemento\";\r\n this.notificacion.mostrarAdvertencia(msj);\r\n\r\n } else {\r\n await this.formaSociedad.abrirNuevo();\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n async tieneComplementoSinPago(): Promise {\r\n return this.servicios.archivos.tieneComplementoAsociado().toPromise();\r\n }\r\n\r\n async tieneFacturasSinPagoRelacionado(): Promise {\r\n return this.servicios.archivos.tieneFacturasSinPagoRelacionado().toPromise();\r\n }\r\n\r\n recargarTabla(): void {\r\n this.tablaCatalogo.recargarTabla();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.formaSociedad.cancelar();\r\n }\r\n}\r\n","module.exports = \"\\r\\n
    {{ titulo }}
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n Archivo individual\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n Debe cargar pruebas de entrega*\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Orden de compra

    \\r\\n
    \\r\\n
    \\r\\n

    Factura

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n El comprobante es de pago, por favor ingrese un comprobante de\\r\\n ingreso *\\r\\n
    \\r\\n \\r\\n
    \\r\\n El código postal no es válido *\\r\\n
    \\r\\n
    \\r\\n Ingrese número de factura *\\r\\n
    \\r\\n
    \\r\\n El xml no corresponde con la sociedad seleccionada*\\r\\n
    \\r\\n
    \\r\\n El RFC del emisor no corresponde con el RFC del usuario.\\r\\n
    \\r\\n
    \\r\\n No coincide el regimen fiscal de factura vs sociedad seleccionada\\r\\n
    \\r\\n
    \\r\\n La orden de compra no coincide*\\r\\n
    \\r\\n
    \\r\\n No coincide el importe de factura vs orden de compra, contacte al\\r\\n área de operaciones *\\r\\n
    \\r\\n
    \\r\\n No coincide el importe de IVA de factura vs orden de compra, contacte al\\r\\n área de operaciones *\\r\\n
    \\r\\n
    \\r\\n No coincide el importe de retencion de factura vs orden de compra, contacte al\\r\\n área de operaciones *\\r\\n
    \\r\\n
    \\r\\n La factura no coincide con la fecha del mes actual verifique\\r\\n nuevamente*\\r\\n \\r\\n
    \\r\\n
    \\r\\n La moneda del archivo no coincide*\\r\\n \\r\\n
    \\r\\n
    \\r\\n No es posible ingresar la factura, el área de operaciones aún tiene la compra abierta en sistema*\\r\\n \\r\\n
    \\r\\n
    \\r\\n No se permite XML con método de pago PUE *\\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    Second nested tab!
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Mantener ventana abierta\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import {\r\n\tComponent,\r\n\tElementRef,\r\n\tViewChild,\r\n\tOutput,\r\n\tEventEmitter,\r\n} from '@angular/core';\r\nimport { ModalTemplate, SuiModalService } from 'ng2-semantic-ui/dist';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { NgForm } from '@angular/forms';\r\nimport { FormaModal, Notificacion } from '../../compartida/indice';\r\nimport {\r\n\tArchivo,\r\n\tSociedad,\r\n\tOrdenCompra,\r\n\tConfiguracion,\r\n} from '../../entidades/indice';\r\nimport { Servicios } from '../../servicios/indice';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\nimport { ArchivoPruebaEntrega } from '../../entidades/archivos-prueba-entrega';\r\nimport { OrdenCompraSeleccionadas } from '../../entidades/ordenes-compra-seleccionadas';\r\nimport { first } from 'rxjs/operators';\r\n\r\n@Component({\r\n\tselector: 'forma-archivos',\r\n\ttemplateUrl: 'forma.component.html',\r\n})\r\nexport class FormaArchivos extends FormaModal {\r\n\t@ViewChild('modalTemplateArchivo') modalTemplate: ModalTemplate<\r\n\t\tvoid,\r\n\t\tvoid,\r\n\t\tvoid\r\n\t>;\r\n\t@ViewChild('forma', { read: NgForm }) forma: NgForm;\r\n\t@ViewChild('txtArchivo', { read: ElementRef }) txtarchivo: ElementRef;\r\n\t@ViewChild('flXml', { read: ElementRef }) flXml: ElementRef;\r\n\t@ViewChild('flPdf', { read: ElementRef }) flPdf: ElementRef;\r\n\t@ViewChild('flPdfPruebasEntrega', { read: ElementRef })\r\n\tflPdfPruebasEntrega: ElementRef;\r\n\t@Output() procesoTerminado: EventEmitter =\r\n\t\tnew EventEmitter();\r\n\tarchivo: Archivo;\r\n\tarchivoPEPDF: ArchivoPruebaEntrega;\r\n\tsociedades: Sociedad[];\r\n\tordenesCompras: OrdenCompra[];\r\n\tconfiguracion: Configuracion;\r\n\tordenesComprasSeleccionadas: OrdenCompraSeleccionadas[] = [];\r\n\tordenCompraSeleccionada: OrdenCompraSeleccionadas;\r\n\tminimo: number = 0;\r\n\tmaximo: number = 0;\r\n\tgeneOC: boolean = false;\r\n\ttipoComprobante: boolean;\r\n\tmostrarCheckOC: boolean;\r\n\tdesactivarTodo: boolean = false;\r\n\tesMesActualXML: boolean = false;\r\n\tmostrarDatos1: boolean;\r\n\tvalidacionOC = '';\r\n\tnumFac = '';\r\n\tcoincidencia: string[];\r\n\tesExtranjero = false;\r\n\taplicaPruebasEntregaSociedad = false;\r\n\taplicaPruebasEntregaProveedor = false;\r\n\tregexRfc: RegExp = /^([A-ZÑ&]{3,4}) ?(?:- ?)?(\\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\\d|3[01])) ?(?:- ?)?([A-Z\\d]{2})([A\\d])$/;\r\n\r\n\terrorSociedad = false;\r\n\terrorMoneda = false;\r\n\tcompraAbiertaXmonitor = false;\r\n\terrorImportes: boolean;\r\n\terrorIVA: boolean;\r\n\terrorRetencion: boolean;\r\n\r\n\terrorMismoProveedor = false;\r\n\terrorMetodoPago = false;\r\n\terrorRegimenFiscal = false;\r\n\r\n\tcondicioPagoProveedor: any;\r\n\r\n\tget tieneNumeroFactura(): boolean {\r\n\t\tif (!this.esExtranjero) {\r\n\t\t\treturn true;\r\n\t\t} else {\r\n\t\t\tif (this.numFac.length > 0) {\r\n\t\t\t\treturn true;\r\n\t\t\t} else {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tget cumpleConOrdenesCompra(): boolean {\r\n\t\treturn (\r\n\t\t\t(this.geneOC && this.ordenesComprasSeleccionadas.length > 0) ||\r\n\t\t\t!this.geneOC\r\n\t\t);\r\n\t}\r\n\r\n\tget correspondenOrdenesCompra(): boolean {\r\n\t\tif (this.ordenesComprasSeleccionadas.length > 0) {\r\n\t\t\tif (!this.validacionOC) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tconst ocEscritas = this.validacionOC.split(',');\r\n\t\t\tconst ocSelecionadas = this.ordenesComprasSeleccionadas.map(\r\n\t\t\t\t(o) => o.numero\r\n\t\t\t);\r\n\r\n\t\t\tconst faltantes1 = ocSelecionadas.filter(\r\n\t\t\t\t(numero) => ocEscritas.indexOf(numero) < 0\r\n\t\t\t);\r\n\t\t\tconst faltantes2 = ocEscritas.filter(\r\n\t\t\t\t(numero) => ocSelecionadas.indexOf(numero) < 0\r\n\t\t\t);\r\n\r\n\t\t\tthis.coincidencia = faltantes1.concat(faltantes2);\r\n\t\t\treturn faltantes1.length == 0 && faltantes2.length == 0;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\t// @ViewChild(TablaCatalogoArchivos) tablaCatArchivos: TablaCatalogoArchivos;\r\n\t// @ViewChild(CatalogoArchivos) CatArchivos: CatalogoArchivos;\r\n\tconstructor(\r\n\t\tpublic modalService: SuiModalService,\r\n\t\tprivate snotifyService: SnotifyService,\r\n\t\tpublic servicios: Servicios,\r\n\t\tprivate notificacion: Notificacion\r\n\t) {\r\n\t\tsuper(modalService);\r\n\t}\r\n\r\n\tasync ngOnInit() {\r\n\t\tthis.errorMoneda = false;\r\n\t\tthis.aplicaPruebasEntregaSociedad = false;\r\n\t\tthis.aplicaPruebasEntregaProveedor = false;\r\n\r\n\t}\r\n\r\n\tobtenerSociedades() {\r\n\r\n\t\tlet sociedades = this.servicios.sociedades.obtenerTodos().pipe(first())\r\n\t\t\t.subscribe(ss => {\r\n\t\t\t\tif (ss && ss.length > 0) {\r\n\t\t\t\t\tthis.sociedades = ss;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tasync obtenerOrdenCompra() {\r\n\t\t//OBTENGO SI LA SOCIEDAD APLICA PRUEBAS DE ENTREGA\r\n\t\tlet sociedadSel = this.servicios.sociedades.obtener(this.archivo.idSociedad).pipe(first())\r\n\t\t\t.subscribe(async ss => {\r\n\t\t\t\tif (ss && ss.aplicaPruebasEntrega) {\r\n\t\t\t\t\tlet usuarioId = this.servicios.autenticacion.credencial.idUsuario;\r\n\t\t\t\t\tlet proveedor: any = await this.servicios.proveedores\r\n\t\t\t\t\t\t.obtener(usuarioId)\r\n\t\t\t\t\t\t.toPromise();\r\n\t\t\t\t\tthis.aplicaPruebasEntregaProveedor = proveedor.aplicaPruebasEntrega;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.aplicaPruebasEntregaProveedor = false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tlet proveedorId = this.servicios.autenticacion.credencial.idUsuario;\r\n\t\tlet ordenesCompra = await this.servicios.ordenCompra\r\n\t\t\t.OrdenesCompraProveedorSociedad(proveedorId, this.archivo.idSociedad)\r\n\t\t\t.toPromise();\r\n\r\n\t\tthis.ordenesCompras = ordenesCompra;\r\n\t\tif (!this.geneOC) {\r\n\t\t\tthis.desactivarTodo = false;\r\n\t\t} else {\r\n\t\t\tthis.desactivarTodo = false;\r\n\t\t}\r\n\t}\r\n\r\n\tobtenerTolerancia() {\r\n\t\tthis.servicios.configuracion.obtenerTodos().subscribe(async (conf) => {\r\n\t\t\tthis.configuracion = conf.find((c) => c.id == 1);\r\n\r\n\t\t\tlet usuarioId = this.servicios.autenticacion.credencial.idUsuario;\r\n\t\t\tlet proveedor: any = await this.servicios.proveedores\r\n\t\t\t\t.obtener(usuarioId)\r\n\t\t\t\t.toPromise();\r\n\t\t\tthis.condicioPagoProveedor = proveedor.condicionPago;\r\n\r\n\t\t\tif (this.configuracion.tipoOrdenCompraId === 1) {\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tproveedor &&\r\n\t\t\t\t\tproveedor.aplicaOrdenCompra === 'Si' &&\r\n\t\t\t\t\tproveedor.aplicaConOSinOrdenCompra === 'No'\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.geneOC = true;\r\n\t\t\t\t\tthis.mostrarDatos1 = true;\r\n\t\t\t\t\tthis.mostrarCheckOC = false;\r\n\t\t\t\t\tthis.archivo.aplicaConOSinOrdenCompra = true;\r\n\t\t\t\t} else if (\r\n\t\t\t\t\tproveedor &&\r\n\t\t\t\t\tproveedor.aplicaOrdenCompra === 'No' &&\r\n\t\t\t\t\tproveedor.aplicaConOSinOrdenCompra === 'Si'\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.geneOC = true;\r\n\t\t\t\t\tthis.mostrarDatos1 = true;\r\n\t\t\t\t\tthis.mostrarCheckOC = true;\r\n\t\t\t\t\tthis.archivo.aplicaConOSinOrdenCompra = true;\r\n\t\t\t\t} else if (\r\n\t\t\t\t\tproveedor &&\r\n\t\t\t\t\tproveedor.aplicaOrdenCompra === 'Si' &&\r\n\t\t\t\t\tproveedor.aplicaConOSinOrdenCompra === 'Si'\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.geneOC = true;\r\n\t\t\t\t\tthis.mostrarDatos1 = true;\r\n\t\t\t\t\tthis.mostrarCheckOC = true;\r\n\t\t\t\t\tthis.archivo.aplicaConOSinOrdenCompra = true;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (this.configuracion.pedirOrdenCompra == false) {\r\n\t\t\t\t\tthis.mostrarDatos1 = false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.geneOC = true;\r\n\t\t\t\t\tthis.mostrarDatos1 = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (\r\n\t\t\t\tthis.configuracion != null &&\r\n\t\t\t\tthis.configuracion.importeMaximo != 0 &&\r\n\t\t\t\tthis.configuracion.importeMinimo != 0\r\n\t\t\t) {\r\n\t\t\t\tthis.minimo = this.configuracion.importeMinimo;\r\n\t\t\t\tthis.maximo = this.configuracion.importeMaximo;\r\n\t\t\t} else {\r\n\t\t\t\tthis.snotifyService.warning(\r\n\t\t\t\t\t'No se encuentran los montos maximos y minimos de la tolerancia!',\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcloseOnClick: true,\r\n\t\t\t\t\t\tpauseOnHover: true,\r\n\t\t\t\t\t\tposition: SnotifyPosition.centerTop,\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tthis.errorImportes = false;\r\n\t\t\t}\r\n\r\n\t\t\tthis.esExtranjero = !this.regexRfc.test(proveedor.rfc);\r\n\r\n\t\t});\r\n\t}\r\n\r\n\tprecargaOrdenCompra(ordenesCompras: number[]): void {\r\n\t\tdebugger\r\n\t\tif (this.ordenesComprasSeleccionadas.length > 0) {\r\n\t\t\tthis.ordenesComprasSeleccionadas.splice(\r\n\t\t\t\t0,\r\n\t\t\t\tthis.ordenesComprasSeleccionadas.length\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tordenesCompras.forEach((ordenCompra) => {\r\n\t\t\tlet oc = this.ordenesCompras.find((s) => s.idOrdenCompra == ordenCompra);\r\n\r\n\t\t\tif (oc) {\r\n\t\t\t\tif (oc.abiertaXmonitor == true) {\r\n\t\t\t\t\tthis.compraAbiertaXmonitor = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.ordenCompraSeleccionada = new OrdenCompraSeleccionadas();\r\n\t\t\t\t\tthis.ordenCompraSeleccionada.numero = oc.numero;\r\n\t\t\t\t\tthis.ordenCompraSeleccionada.idOrdenCompra = ordenCompra;\r\n\t\t\t\t\t(this.ordenCompraSeleccionada.iva = oc.iva),\r\n\t\t\t\t\t\t(this.ordenCompraSeleccionada.retencion = oc.retencion),\r\n\t\t\t\t\t\t(this.ordenCompraSeleccionada.montoCubierto = oc.montoCubierto),\r\n\t\t\t\t\t\t(this.ordenCompraSeleccionada.subTotal = oc.subTotal),\r\n\t\t\t\t\t\t(this.ordenCompraSeleccionada.total = oc.total - oc.montoCubierto);\r\n\t\t\t\t\tthis.ordenCompraSeleccionada.moneda = oc.moneda;\r\n\t\t\t\t\tthis.ordenesComprasSeleccionadas.push(this.ordenCompraSeleccionada);\r\n\t\t\t\t\tthis.compraAbiertaXmonitor = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tconsole.dir(this.ordenesComprasSeleccionadas);\r\n\t\tlet total = this.ordenesComprasSeleccionadas.reduce(\r\n\t\t\t(sum, current) => sum + current.total,\r\n\t\t\t0\r\n\t\t);\r\n\t\tlet iva = this.ordenesComprasSeleccionadas.reduce(\r\n\t\t\t(sum, current) => sum + current.iva,\r\n\t\t\t0\r\n\t\t);\r\n\t\tlet retencion = this.ordenesComprasSeleccionadas.reduce(\r\n\t\t\t(sum, current) => sum + current.retencion,\r\n\t\t\t0\r\n\t\t);\r\n\r\n\t\tthis.archivo.totalOrdenCompra = total;\r\n\t\tthis.archivo.ivaOrdenCompra = iva;\r\n\t\tthis.archivo.retencionOrdenCompra = retencion;\r\n\t\tthis.archivo.monedaOrdenDeCompra = this.ordenCompraSeleccionada.moneda;\r\n\t\tthis.errorIVA = this.validarIVA();\r\n\t\tthis.errorRetencion = this.validarRetencion();\r\n\t\tthis.errorImportes = this.validarMontos();\r\n\t\t// let oc = this.ordenesCompras.find(s => s.idOrdenCompra == id);\r\n\t\t// this.archivo.totalOrdenCompra = (oc.total - oc.montoCubierto);\r\n\t\t// this.archivo.ivaOrdenCompra = oc.iva;\r\n\t\t// this.archivo.idOrdenCompra = oc.idOrdenCompra;\r\n\t\t// this.archivo.montoCubierto = oc.montoCubierto;\r\n\t\t// this.archivo.retencionOrdenCompra = oc.retencion;\r\n\t\t// this.XML();\r\n\t}\r\n\r\n\tasync XML() {\r\n\t\tlet datos = new FormData();\r\n\t\ttry {\r\n\t\t\tlet xml = (this.flXml.nativeElement).files[0];\r\n\t\t\tdatos.append('xml', xml);\r\n\t\t\tlet archivoresult = await this.servicios.archivos\r\n\t\t\t\t.leerXML(datos, this.archivo.idSociedad)\r\n\t\t\t\t.toPromise();\r\n\t\t\tif (archivoresult != null) {\r\n\t\t\t\tthis.archivo.subtotal = archivoresult.subtotal;\r\n\t\t\t\tthis.archivo.iva = archivoresult.iva;\r\n\t\t\t\tthis.archivo.total = archivoresult.total;\r\n\t\t\t\tthis.archivo.retencion = archivoresult.retencion;\r\n\t\t\t\tthis.archivo.moneda = archivoresult.moneda;\r\n\t\t\t\tthis.archivo.folio = archivoresult.folio;\r\n\t\t\t\tthis.archivo.formaPago = archivoresult.formaPago;\r\n\t\t\t\tthis.archivo.codigoPostalValido = archivoresult.codigoPostalValido;\r\n\t\t\t\tthis.archivo.razonSocialValida = archivoresult.razonSocialValida;\r\n\t\t\t\tthis.archivo.mismoProveedor = archivoresult.mismoProveedor;\r\n\t\t\t\tthis.archivo.mismoRegimenFiscal = archivoresult.mismoRegimenFiscal;\r\n\r\n\t\t\t\tif (archivoresult.tipoComprobante === 'P') {\r\n\t\t\t\t\tthis.tipoComprobante = true;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.tipoComprobante = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (archivoresult.mesTimbrado && archivoresult.mesTimbrado == 0) {\r\n\t\t\t\t\tthis.esMesActualXML = true;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!archivoresult.esMesActualXML) {\r\n\t\t\t\t\tthis.esMesActualXML = true;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.geneOC === true) {\r\n\t\t\t\t\tthis.errorIVA = this.validarIVA();\r\n\t\t\t\t\tthis.errorRetencion = this.validarRetencion();\r\n\t\t\t\t\tthis.errorImportes = this.validarMontos();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.errorImportes = false;\r\n\t\t\t\t\tthis.errorIVA = false;\r\n\t\t\t\t\tthis.errorRetencion = false;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.archivo.monedaOrdenDeCompra != this.archivo.moneda) {\r\n\t\t\t\t\tthis.errorMoneda = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.errorMoneda = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.archivo.mismoProveedor == false) {\r\n\t\t\t\t\tthis.errorMismoProveedor = true\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.errorMismoProveedor = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.archivo.mismoRegimenFiscal == false) {\r\n\t\t\t\t\tthis.errorRegimenFiscal = true\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.errorRegimenFiscal = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.validarMetodoPago(archivoresult);\r\n\r\n\t\t\t\tconst sociedadSeleccionada = this.sociedades.find(s => s.id === this.archivo.idSociedad)\r\n\t\t\t\tthis.errorSociedad = sociedadSeleccionada.rfc != archivoresult.sociedadRFC;\r\n\r\n\t\t\t} else {\r\n\t\t\t\tthis.snotifyService.error(\r\n\t\t\t\t\t'Error al cargar el archivo XML, verifique nuevamente',\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcloseOnClick: true,\r\n\t\t\t\t\t\tpauseOnHover: true,\r\n\t\t\t\t\t\tposition: SnotifyPosition.centerTop,\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tdatos = null;\r\n\t\t\t}\r\n\t\t} catch (error) { }\r\n\t}\r\n\r\n\r\n\tpublic validarIVA(): boolean {\r\n\t\tif (!this.esExtranjero) {\r\n\t\t\tif (this.archivo.ivaOrdenCompra == this.archivo.iva) {\r\n\t\t\t\tthis.errorIVA = false;\r\n\t\t\t} else {\r\n\t\t\t\tthis.errorIVA = true;\r\n\t\t\t\tthis.validoToleraCIA();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.errorIVA = false;\r\n\t\t}\r\n\t\treturn this.errorIVA;\r\n\t}\r\n\r\n\tpublic validarRetencion(): boolean {\r\n\t\tif (!this.esExtranjero) {\r\n\t\t\tif (this.archivo.retencionOrdenCompra == this.archivo.retencion) {\r\n\t\t\t\tthis.errorRetencion = false;\r\n\t\t\t} else {\r\n\t\t\t\tthis.errorRetencion = true;\r\n\t\t\t\tthis.validoToleraCIA();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.errorRetencion = false;\r\n\t\t}\r\n\t\treturn this.errorRetencion;\r\n\t}\r\n\r\n\tpublic validarMontos(): boolean {\r\n\t\tif (!this.ordenCompraSeleccionada) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tlet montoConMaximo = this.archivo.totalOrdenCompra + this.maximo;\r\n\t\tlet montoConMinimo = this.archivo.totalOrdenCompra + this.minimo;\r\n\r\n\t\t// || this.archivo.total <= montoConMaximo\r\n\t\t// || this.archivo.total <= montoConMinimo ---ESTAS LAS AGREGAMOS AL PRIMER IF\r\n\t\tif (\r\n\t\t\tthis.archivo.total == montoConMaximo ||\r\n\t\t\tthis.archivo.total == montoConMinimo ||\r\n\t\t\tthis.archivo.total.toFixed(2) == this.archivo.totalOrdenCompra.toFixed(2)\r\n\t\t) {\r\n\t\t\tthis.errorImportes = false;\r\n\t\t} else if (\r\n\t\t\tthis.archivo.total > montoConMinimo ||\r\n\t\t\tthis.archivo.total > montoConMaximo\r\n\t\t) {\r\n\t\t\tthis.errorImportes = true;\r\n\t\t\tthis.validoToleraCIA();\r\n\t\t} else if (\r\n\t\t\tthis.archivo.totalOrdenCompra > this.archivo.total ||\r\n\t\t\tthis.archivo.totalOrdenCompra > this.archivo.total\r\n\t\t) {\r\n\t\t\tthis.errorImportes = true;\r\n\t\t\tthis.validoToleraCIA();\r\n\t\t} else {\r\n\t\t\tthis.errorImportes = false;\r\n\t\t}\r\n\t\treturn this.errorImportes;\r\n\r\n\t}\r\n\r\n\tpublic validoToleraCIA() {\r\n\t\tlet montoConMaximo = parseFloat(this.archivo.totalOrdenCompra.toFixed(2)) + parseFloat(this.maximo.toFixed(2));\r\n\t\tlet montoConMinimo = parseFloat(this.archivo.totalOrdenCompra.toFixed(2)) - parseFloat(this.minimo.toFixed(2));\r\n\r\n\t\t// || this.archivo.total <= montoConMaximo\r\n\t\t// || this.archivo.total <= montoConMinimo ---ESTAS LAS AGREGAMOS AL PRIMER IF\r\n\t\tif (\r\n\t\t\tthis.archivo.total <= montoConMaximo &&\r\n\t\t\tthis.archivo.total >= montoConMinimo\r\n\t\t) {\r\n\t\t\tthis.errorImportes = false;\r\n\t\t\tthis.errorIVA = false;\r\n\t\t\tthis.errorRetencion = false;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tpublic validarMetodoPago(archivoXml: any): void {\r\n\t\tthis.errorMetodoPago = false;\r\n\t\tif (String(archivoXml.metodoPago) === 'PUE') {\r\n\t\t\tif (this.condicioPagoProveedor !== '-1') {\r\n\t\t\t\tthis.errorMetodoPago = true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tasync abrirNuevo() {\r\n\t\tthis.abrir('Nuevo', true);\r\n\t\tlet nuevoArchivo: Archivo = new Archivo();\r\n\t\tthis.archivo = nuevoArchivo;\r\n\t\tthis.archivo.aplicaConOSinOrdenCompra = true;\r\n\t\tthis.geneOC = false;\r\n\t\tthis.mostrarDatos1 = false;\r\n\t\tthis.errorImportes = false;\r\n\t\tthis.mostrarCheckOC = false;\r\n\t\tthis.tipoComprobante = false;\r\n\t\tawait this.obtenerSociedades();\r\n\t\tthis.obtenerTolerancia();\r\n\t}\r\n\r\n\tcancelar(): void {\r\n\t\tthis.archivo = new Archivo();\r\n\t\tthis.errorImportes = false;\r\n\t\tthis.tipoComprobante = false;\r\n\t\tthis.esMesActualXML = false;\r\n\t\tthis.errorMoneda = false;\r\n\t\tthis.cerrar();\r\n\t}\r\n\r\n\tenfocar(): void { }\r\n\r\n\tlimpiar(): void {\r\n\t\tthis.flPdf.nativeElement.value = '';\r\n\t\tthis.flXml.nativeElement.value = '';\r\n\t\tthis.flPdfPruebasEntrega.nativeElement.value = '';\r\n\r\n\t\tthis.archivo = new Archivo();\r\n\t\tthis.archivo.iva = 0;\r\n\t\tthis.archivo.ivaOrdenCompra = 0;\r\n\t\tthis.archivo.retencion = 0;\r\n\t\tthis.archivo.retencionOrdenCompra = 0;\r\n\t\tthis.archivo.total = 0;\r\n\t\tthis.archivo.totalOrdenCompra = 0;\r\n\t\tthis.archivo.subTotalOrdenCompra = 0;\r\n\t\tthis.archivo.subtotal = 0;\r\n\t\tthis.ordenesCompras = [];\r\n\t\tthis.obtenerTolerancia();\r\n\t}\r\n\r\n\tguardar(): void {\r\n\t\tthis.Procesando = true;\r\n\r\n\t\tif (this.archivo.ordenesComprasSeleccionadas.length == 0) {\r\n\t\t\tthis.archivo.idOrdenCompra = 0;\r\n\t\t}\r\n\r\n\t\tlet sociedad = this.sociedades.find((s) => s.id == this.archivo.idSociedad);\r\n\t\tthis.archivo.sociedadRFC = sociedad.rfc;\r\n\t\tthis.archivo.idSociedad = sociedad.id;\r\n\t\tthis.archivo.ordenesComprasSeleccionadas = this.ordenesComprasSeleccionadas;\r\n\r\n\t\tlet datos = new FormData();\r\n\r\n\t\tif (!this.esExtranjero) {\r\n\t\t\tlet xml = (this.flXml.nativeElement).files[0];\r\n\t\t\tlet nombre = xml.name.substring(0, xml.name.indexOf('.'));\r\n\t\t\tthis.archivo.nombreArchivo = nombre;\r\n\t\t\tdatos.append('xml', xml);\r\n\t\t}\r\n\r\n\t\tlet pdf = (this.flPdf.nativeElement).files[0];\r\n\t\tdatos.append('pdf', pdf);\r\n\r\n\t\tlet pdfPruebasEntrega = ((\r\n\t\t\tthis.flPdfPruebasEntrega.nativeElement\r\n\t\t)).files;\r\n\t\tfor (let index = 0; index < pdfPruebasEntrega.length; index++) {\r\n\t\t\tconst element = pdfPruebasEntrega[index];\r\n\t\t\tdatos.append('pdfPruebasEntrega', element);\r\n\t\t}\r\n\r\n\t\tthis.archivo.numFac = this.numFac;\r\n\t\tdatos.append('archivoJson', JSON.stringify(this.archivo));\r\n\t\tdatos.append('numFac', this.numFac);\r\n\t\tconsole.dir(datos);\r\n\t\tlet mensaje: string;\r\n\t\tmensaje = 'CFDI guardado.';\r\n\t\tlet observable = this.servicios.archivos.guardarCompleto(datos);\r\n\r\n\t\tobservable.subscribe(\r\n\t\t\t() => {\r\n\t\t\t\tthis.notificacion.mostrarExito(mensaje);\r\n\t\t\t\tthis.Procesando = false;\r\n\t\t\t\tthis.limpiar();\r\n\t\t\t\tthis.procesoTerminado.emit(true);\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tlet httpError = error;\r\n\t\t\t\tthis.notificacion.mostrarError(httpError.error);\r\n\t\t\t\tthis.Procesando = false;\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\taplicaOC(valor: boolean): void {\r\n\t\tdebugger\r\n\t\tconsole.log(valor);\r\n\t\tif (valor === false) {\r\n\t\t\tthis.geneOC = false;\r\n\t\t\tthis.mostrarDatos1 = false;\r\n\t\t\tthis.archivo = new Archivo();\r\n\t\t\tthis.flPdf.nativeElement.value = '';\r\n\t\t\tthis.flXml.nativeElement.value = '';\r\n\t\t\tthis.flPdfPruebasEntrega.nativeElement.value = '';\r\n\t\t} else {\r\n\t\t\tthis.geneOC = true;\r\n\t\t\tthis.mostrarDatos1 = true;\r\n\t\t\tthis.archivo = new Archivo();\r\n\t\t\tthis.flPdf.nativeElement.value = '';\r\n\t\t\tthis.flXml.nativeElement.value = '';\r\n\t\t\tthis.flPdfPruebasEntrega.nativeElement.value = '';\r\n\t\t}\r\n\t}\r\n}\r\n","module.exports = \"tabla\\r\\n\\r\\n\"","import { Component, Renderer2, ViewChild, Output, EventEmitter, OnInit, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { DataTableDirective, DataTablesModule } from 'angular-datatables';\r\nimport { Subject } from 'rxjs';\r\nimport { Confirmacion, Notificacion } from '../../compartida/indice';\r\nimport { Archivo } from '../../entidades/indice';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Servicios } from '../../servicios/indice';\r\n\r\n@Component({\r\n selector: 'tabla-archivos',\r\n templateUrl: 'tabla.component.html'\r\n})\r\nexport class TablaCatalogoArchivos implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(DataTableDirective) dtElement: DataTableDirective;\r\n @ViewChild(Confirmacion) confirmacion: Confirmacion;\r\n dtOptions: DataTables.Settings = {};\r\n dtTrigger: Subject = new Subject();\r\n @Output() xmlOprimido: EventEmitter = new EventEmitter();\r\n @Output() pdfOprimido: EventEmitter = new EventEmitter();\r\n private oyente: () => void;\r\n archivos: Archivo[];\r\n\r\n constructor(private servicios: Servicios, private renderer: Renderer2, private notificacion: Notificacion) { }\r\n\r\n ngOnInit(): void {\r\n this.cargarTabla();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next();\r\n\r\n this.oyente = this.renderer.listen('body', 'click', (event) => {\r\n let objetivo = event.target;\r\n if (objetivo.hasAttribute('acc')) {\r\n let tipo = objetivo.getAttribute('tipo');\r\n let nombre = objetivo.getAttribute('data-nombre');\r\n let id = parseInt(objetivo.getAttribute('data-id'));\r\n if (tipo == 'xml') {\r\n this.descargarXml(id, nombre);\r\n } \r\n if (tipo == 'pdf') {\r\n this.descargarPdf(id, nombre);\r\n } \r\n\r\n if (tipo == 'oc') {\r\n this.servicios\r\n .archivos\r\n .cancelarOrdenCompra(id)\r\n .subscribe(\r\n respuesta => {\r\n console.log(respuesta);\r\n \r\n if (respuesta.ok) {\r\n this.notificacion.mostrarExito(\"Orden de compra cancelada\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n });\r\n \r\n } else {\r\n this.notificacion.mostrarExito(\"Error al cancelar la orden de compra.\");\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.ajax.reload();\r\n \r\n });\r\n }\r\n }, error => {\r\n let httpError = error;\r\n this.notificacion.mostrarError(httpError.error);\r\n });\r\n }\r\n }\r\n\r\n \r\n \r\n });\r\n }\r\n\r\n descargarPdf(id: number, nombre: string): void {\r\n let observable = this.servicios\r\n .archivos\r\n .descargarPdf(id)\r\n .subscribe(\r\n pdf => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([pdf], { type: \"octet/stream\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = nombre + \".pdf\";\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n );\r\n }\r\n\r\n descargarXml(id: number, nombre: string): void {\r\n let observable = this.servicios\r\n .archivos\r\n .descargarXml(id)\r\n .subscribe(\r\n xml => {\r\n let a = document.createElement(\"a\");\r\n let blob = new Blob([xml], { type: \"octet/stream\" });\r\n let url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = nombre + \".xml\";\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n );\r\n }\r\n\r\n cargarTabla(): void {\r\n this.dtOptions = {\r\n language: { url: '/js/espanol.json' },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.servicios\r\n .archivos\r\n .obtenerTodos()\r\n .subscribe(archivos => {\r\n this.archivos = archivos;\r\n console.log('archivos-->', this.archivos);\r\n callback({ data: archivos });\r\n });\r\n },\r\n columns: [\r\n { title: 'Id', data: 'idArchivo', visible: false },\r\n { title: 'Sociedad', data: 'sociedadNombreComercial' },\r\n { title: 'Nombre', width: \"20%\", data: 'nombreArchivo' },\r\n { title: 'Fecha de registro', data: 'fechaRegistro', render: (data: string) => (new Date(data)).toLocaleDateString() },\r\n { title: 'Orden de compra', data: 'numeroOrdenCompra' },\r\n { title: 'Fecha probable de pago', data: 'fechaPago', render: (data: string) => data != null ? (new Date(data)).toLocaleDateString() : \"\" },\r\n { title: 'Estatus', data: 'autorizado' },\r\n { title: 'UUID Complemento', data: 'uuidComplemento' },\r\n { title: 'Total', width: \"10%\", data: 'total', render: (data: string) => (new String(\"$ \" + data)) },\r\n {\r\n title: 'Cancelar',\r\n data: 'idArchivo',\r\n width: \"7%\",\r\n render: (data: any, type: any, full: Archivo) => {\r\n\r\n if(full.fechaAutorizo != null || full.autorizado === \"Autorizado\" || full.autorizado === \"Pagado\")\r\n {\r\n return `
    \r\n \r\n
    `;\r\n }else{\r\n return `
    \r\n \r\n
    `;\r\n }\r\n }\r\n },\r\n {\r\n title: 'Opciones',\r\n data: 'idArchivo',\r\n width: \"15%\",\r\n render: (data: any, type: any, full: Archivo) => {\r\n return `
    \r\n \r\n \r\n
    `;\r\n }\r\n }\r\n ]\r\n };\r\n }\r\n\r\n public recargarTabla(): void {\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n // Destroy the table first\r\n dtInstance.destroy();\r\n // Call the dtTrigger to rerender again\r\n this.dtTrigger.next();\r\n });\r\n\r\n //this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n // dtInstance.ajax.reload();\r\n //});\r\n\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.oyente();\r\n }\r\n}","module.exports = \"\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n Archivo individual\\r\\n Nested 2\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Second nested tab!
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-validacion',\r\n templateUrl: './validacion.component.html',\r\n styleUrls: ['./validacion.component.css']\r\n})\r\nexport class ValidacionComponent implements OnInit {\r\n titulo = \"Validación de CFDIs\";\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Servicio } from \"./servicio\";\r\nimport { RestablecerContrasena } from \"../entidades/indice\";\r\nimport { HttpClient, HttpEvent, HttpEventType, HttpRequest } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nexport class ServicioRestablecerContrasena extends Servicio {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, \"api/Acceso\");\r\n }\r\n\r\n reesContrasena(usuario: string): Observable {\r\n let ruta = this.Ruta + \"/\" + usuario + \"/AutorizacionProveedor\";\r\n return this.ClienteHttp.get(ruta)\r\n .pipe(map((usu: string) => usu));\r\n }\r\n\r\n \r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'sheetjs-style';\r\nimport * as _ from 'lodash';\r\nimport { ClassGetter } from '@angular/compiler/src/output/output_ast';\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\nexport class ExportToXlsxService {\r\n public async reporteFlujoCompas(encabezado: string, cvsArchivos: any, origen: string): Promise { \r\n const renglones = [];\r\n const columnas = origen === 'xmonitor' ? ['A','B','C','D','E','F','G','H','I','J','K','L','M']:['A','B','C','D','E','F','G','H','I','J','K','L'];\r\n if(origen === 'xmonitor' || origen === 'sap') {\r\n for(const cv of cvsArchivos){\r\n renglones.push(\r\n {\r\n \"CV\": cv.cv,\r\n \"Proveedor\": cv.proveedor,\r\n \"F. OC. Referi\": cv.fechaOCReferi ? await this.fecha(cv.fechaOCReferi): '',\r\n \"F. OC. SAP\": cv.fechaOCSAP ? await this.fecha(cv.fechaOCSAP) : '',\r\n \"F. Aut. Referi\": cv.fechaAuthReferi ? await this.fecha(cv.fechaAuthReferi) : '',\r\n \"Num Fact. SAP\": cv.numFactSAP,\r\n \"U. Reg. Fact,\": cv.userRegistroFactura,\r\n \"F. Registro Fact.\": cv.fechaRegistroFactura ? await this.fecha(cv.fechaRegistroFactura): '',\r\n \"F. Pago SAP\": cv.fechaPagoSAP ? await this.fecha(cv.fechaPagoSAP) : '',\r\n \"Importe Pagado SAP\": cv.fechaPagoSAP ? cv.currency === 'USD' ? await this.formatMoneda(cv.importePagadoSAPCurrency) : await this.formatMoneda(cv.importePagadoSAPPesos): '',\r\n \"Moneda\": cv.currency,\r\n \"Importe Fact. Referi\": cv.importeFacturaReferi ? await this.formatMoneda(cv.importeFacturaReferi) : '',\r\n \"Importe Fact. SAP\": cv.currency === 'USD' ? await this.formatMoneda(cv.importeFacturaSAPCurrency) : await this.formatMoneda(cv.importeFacturaSAPPesos)\r\n }\r\n );\r\n }\r\n } else {\r\n for(const archivo of cvsArchivos){\r\n renglones.push(\r\n {\r\n \"Folio Fiscal\": archivo.folioFiscal,\r\n \"Proveedor\": archivo.proveedor,\r\n \"F. Aut. Referi\": archivo.fechaAuthReferi ? await this.fecha(archivo.fechaAuthReferi) : '',\r\n \"F. OC. SAP\": archivo.fechaOCSAP ? await this.fecha(archivo.fechaOCSAP) : '', \r\n \"Num Fact. SAP\": archivo.numFactSAP ? archivo.numFactSAP : '',\r\n \"U. Reg. Fact,\": archivo.userRegistroFactura ? archivo.userRegistroFactura: '',\r\n \"F. Registro Fact.\": archivo.fechaRegistroFactura ? await this.fecha(archivo.fechaRegistroFactura): '',\r\n \"F. Pago SAP\": archivo.fechaPagoSAP ? await this.fecha(archivo.fechaPagoSAP) : '',\r\n \"Importe Pagado SAP\": archivo.fechaPagoSAP ? archivo.currency === 'USD' ? await this.formatMoneda(archivo.importePagadoSAPCurrency) : await this.formatMoneda(archivo.importePagadoSAPPesos): '',\r\n \"Moneda\": archivo.currency ? archivo.currency : '',\r\n \"Importe Fact. Referi\": archivo.importeFacturaReferi ? await this.formatMoneda(archivo.importeFacturaReferi) : '',\r\n \"Importe Fact. SAP\": archivo.currency ? archivo.currency === 'USD' ? await this.formatMoneda(archivo.importeFacturaSAPCurrency) : await this.formatMoneda(archivo.importeFacturaSAPPesos) : ''\r\n }\r\n );\r\n }\r\n } \r\n\r\n const worksheet = XLSX.utils.aoa_to_sheet([\r\n [encabezado]\r\n ]); \r\n \r\n if (renglones.length > 0) {\r\n XLSX.utils.sheet_add_aoa(worksheet, [\r\n Object.getOwnPropertyNames(renglones[0])\r\n ], {origin: -1});\r\n \r\n let index = 0 ;\r\n for(const renglon of renglones) {\r\n \r\n XLSX.utils.sheet_add_aoa(worksheet, [\r\n Object.values(renglon)\r\n ], {origin: -1}); \r\n\r\n\r\n \r\n if (await this.marcar(renglon, origen)) { \r\n for(const columna of columnas) { \r\n worksheet[`${columna}${2}`].s = {\r\n font: { \r\n bold: false,\r\n color: {\r\n rgb: \"FAFAFA\"\r\n }\r\n },\r\n fill : {\r\n fgColor : {\r\n theme : 8,\r\n tint : 0.3999755851924192,\r\n rgb : '9E0000'\r\n }\r\n }\r\n }; \r\n worksheet[`${columna}${index+3}`].s = {\r\n font: { \r\n bold: false,\r\n color: {\r\n rgb: \"FAFAFA\"\r\n }\r\n },\r\n fill : {\r\n fgColor : {\r\n theme : 8,\r\n tint : 0.3999755851924192,\r\n rgb : '9E0000'\r\n }\r\n }\r\n };\r\n \r\n } \r\n } \r\n index++; \r\n } \r\n } \r\n \r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] }; \r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, encabezado);\r\n \r\n \r\n }\r\n\r\n public async reporteRecepcionFacturas(encabezado: string, archivos: any): Promise {\r\n const renglones = [];\r\n for(const archivo of archivos) {\r\n renglones.push(\r\n {\r\n \"OC\": archivo.numeroOrdenCompra,\r\n \"Proveedor\": archivo.proveedorRazonSocial,\r\n \"Código identificador UUID\": archivo.nombreArchivo,\r\n \"Fecha de alta\": await this.fecha(archivo.fechaRegistro),\r\n \"Fecha programación pago\": await this.fecha(archivo.fechaPago),\r\n \"Fecha de autorización\": archivo.fechaAutorizo ? await this.fecha(archivo.fechaAutorizo) : '',\r\n \"Fecha Xml\": archivo.fechaXml ? await this.fecha(archivo.fechaXml) : '',\r\n \"Autorizado\": archivo.fechaAutorizo ? \"Si\" : 'No',\r\n \"Cancelado\": archivo.fechaCancelacion ? \"Si\" : 'No',\r\n \"Sociedad Comercial\": archivo.sociedadNombreComercial,\r\n \"Total\": archivo.total,\r\n \"Moneda\": archivo.moneda,\r\n \"Método de pago\": archivo.metodoPago,\r\n \"Orden Cerrada\": archivo.ordenCerrada ? \"Si\": \"No\",\r\n \"Orden Cerrada Manualmente\": archivo.ordenCerradaManualmente ? \"Si\": \"No\",\r\n \"Enviada a SAP\": archivo.procesadaEnSap === 1 ? \"Si\": \"No\"\r\n }\r\n );\r\n \r\n }\r\n const columnas = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P'];\r\n if (renglones.length > 0) {\r\n const worksheet = XLSX.utils.aoa_to_sheet([\r\n [encabezado]\r\n ]); \r\n XLSX.utils.sheet_add_aoa(worksheet, [\r\n Object.getOwnPropertyNames(renglones[0])\r\n ], {origin: -1});\r\n for(const renglon of renglones) {\r\n \r\n XLSX.utils.sheet_add_aoa(worksheet, [\r\n Object.values(renglon)\r\n ], {origin: -1}); \r\n }\r\n for(const columna of columnas) {\r\n worksheet[`${columna}${2}`].s = {\r\n font: { \r\n bold: false,\r\n color: {\r\n rgb: \"FAFAFA\"\r\n }\r\n },\r\n fill : {\r\n fgColor : {\r\n theme : 8,\r\n tint : 0.3999755851924192,\r\n rgb : '9E0000'\r\n }\r\n }\r\n };\r\n }\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] }; \r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, encabezado);\r\n }\r\n \r\n }\r\n\r\n public async reporteXMLFacturas(encabezado: string, facturas: any): Promise {\r\n const worksheet = XLSX.utils.aoa_to_sheet([\r\n [encabezado]\r\n ]); \r\n if(facturas.length > 0) {\r\n XLSX.utils.sheet_add_aoa(worksheet, [\r\n Object.getOwnPropertyNames(facturas[0])\r\n ], {origin: -1});\r\n for(const renglon of facturas) { \r\n XLSX.utils.sheet_add_aoa(worksheet, [\r\n Object.values(renglon)\r\n ], {origin: -1}); \r\n }\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] }; \r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, encabezado);\r\n }\r\n \r\n }\r\n\r\n public marcar(renglon: any, origen: String): Promise {\r\n return new Promise((resolve) => {\r\n if(origen === 'xmonitor') {\r\n if (renglon['Moneda'] && renglon['Importe Fact. SAP'] && (renglon['Importe Fact. Referi'] || renglon['Importe Pagado SAP'])) {\r\n if (renglon['Importe Fact. SAP'] && renglon['Importe Fact. Referi'] && renglon['Importe Pagado SAP']) {\r\n resolve(!(String(renglon['Importe Fact. SAP']) === String(renglon['Importe Pagado SAP']) && String(renglon['Importe Fact. SAP']) === String(renglon['Importe Fact. Referi'])));\r\n } else {\r\n if(renglon['Importe Pagado SAP']) {\r\n resolve(String(renglon['Importe Fact. SAP']) !== String(renglon['Importe Pagado SAP']));\r\n } else {\r\n resolve(String(renglon['Importe Fact. SAP']) !== String(renglon['Importe Fact. Referi']));\r\n }\r\n } \r\n } else {\r\n resolve(false);\r\n }\r\n } else {\r\n if (renglon['Importe Fact. SAP'] && (renglon['Importe Fact. Referi'] || renglon['Importe Pagado SAP'])) {\r\n if (renglon['Importe Fact. SAP'] && renglon['Importe Fact. Referi'] && renglon['Importe Pagado SAP']) {\r\n resolve(!(String(renglon['Importe Fact. SAP']) === String(renglon['Importe Pagado SAP']) && String(renglon['Importe Fact. SAP']) === String(renglon['Importe Fact. Referi'])));\r\n } else {\r\n if(renglon['Importe Pagado SAP']) {\r\n resolve(String(renglon['Importe Fact. SAP']) !== String(renglon['Importe Pagado SAP']));\r\n } else {\r\n resolve(String(renglon['Importe Fact. SAP']) !== String(renglon['Importe Fact. Referi']));\r\n }\r\n } \r\n } else {\r\n resolve(false);\r\n }\r\n } \r\n });\r\n }\r\n \r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {type: EXCEL_TYPE});\r\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\r\n }\r\n\r\n \r\n\r\n public fecha(value: string): Promise {\r\n return new Promise((resolve) => {\r\n const fecha = new Date(value);\r\n const dia = fecha.getDate();\r\n const mes = fecha.getMonth()+ 1;\r\n const anio = fecha.getFullYear();\r\n resolve(`${dia < 10 ? '0'+dia : dia}/${mes < 10 ? '0'+mes: mes}/${anio}`);\r\n });\r\n }\r\n\r\n public formatMoneda(value: any): Promise {\r\n return new Promise((resolve) => {\r\n if (isNaN(value)) {\r\n resolve(value);\r\n }\r\n const formatted = new Intl.NumberFormat('es-MX', {\r\n style: 'currency',\r\n currency: 'MXN',\r\n minimumFractionDigits: 2\r\n });\r\n resolve(formatted.format(Number(value)));\r\n });\r\n }\r\n}\r\n\r\n","export * from './servicio';\r\nexport * from './servicioCorreo';\r\nexport * from './servicioUsuario';\r\nexport * from './servicioSociedad';\r\n//export * from './Interceptor';\r\n//export * from './servicioLogin';\r\nexport * from './servicios';\r\nexport * from './servicioAutenticacion';\r\nexport * from './servicioProveedor';\r\nexport * from './servicioArchivos';\r\nexport * from './interceptor';\r\nexport * from './ServicioRestablecerContrasena';\r\nexport * from './servicioEnviarToken';\r\nexport * from './servicioOrdenCompra';\r\nexport * from './servicioConfiguracion';\r\nexport * from './servicio-sap';\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpResponse,\r\n HttpErrorResponse,\r\n\r\n HttpHeaders\r\n} from '@angular/common/http';\r\nimport { Observable, BehaviorSubject, EMPTY, EmptyError } from 'rxjs';\r\nimport { map, switchMap, catchError, take, filter, finalize, flatMap, } from 'rxjs/operators';\r\nimport { Servicios, ServicioAutenticacion } from './indice';\r\n\r\n@Injectable()\r\nexport class Interceptor implements HttpInterceptor {\r\n private autenticacion: ServicioAutenticacion;\r\n refrescandoToken = false;\r\n peticionRefrescoEnviada = false;\r\n\r\n constructor(public servicios: Servicios) {\r\n this.autenticacion = servicios.autenticacion;\r\n }\r\n\r\n agregarToken(solicitud: HttpRequest): HttpRequest {\r\n let tokenBearer = `Bearer ${this.autenticacion.obtenerToken()}`;\r\n let encabezados = new HttpHeaders({\r\n \"Authorization\": tokenBearer,\r\n });\r\n\r\n let solicitudToken = solicitud.clone({ headers: encabezados });\r\n return solicitudToken;\r\n }\r\n\r\n intercept(solicitud: HttpRequest, next: HttpHandler): Observable> {\r\n if (this.refrescandoToken && !this.peticionRefrescoEnviada) { \r\n return this.autenticacion.tokenActualizado.asObservable()\r\n .pipe(\r\n flatMap(async (listo, idx) => {\r\n if (listo) {\r\n return await this.enviarSolicitud(solicitud, next).toPromise();\r\n }\r\n else {\r\n return EMPTY.toPromise();\r\n }\r\n }));\r\n }\r\n else {\r\n this.peticionRefrescoEnviada = false;\r\n return this.enviarSolicitud(solicitud, next);\r\n }\r\n }\r\n\r\n enviarSolicitud(solicitud: HttpRequest, next: HttpHandler): Observable> {\r\n solicitud = this.agregarToken(solicitud);\r\n return next.handle(solicitud).pipe(\r\n catchError((err: any, caught: Observable>) => {\r\n if (err instanceof HttpErrorResponse) {\r\n if (err.status === 401) {\r\n return this.intentarRefresarToken(solicitud, next);\r\n }\r\n }\r\n throw err;\r\n }));\r\n }\r\n\r\n intentarRefresarToken(solicitud: HttpRequest, next: HttpHandler): Observable> {\r\n this.refrescandoToken = true;\r\n this.peticionRefrescoEnviada = true;\r\n \r\n return this.autenticacion.refrescarToken()\r\n .pipe(flatMap(\r\n (res: any) => {\r\n this.refrescandoToken = false;\r\n this.autenticacion.tokenActualizado.next(true);\r\n return next.handle(this.agregarToken(solicitud));\r\n }\r\n ),\r\n catchError((err: any) => {\r\n this.refrescandoToken = false;\r\n this.autenticacion.salir();\r\n return EMPTY;\r\n })\r\n );\r\n }\r\n}","import { Aviso } from './../entidades/aviso';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Servicio } from \"./servicio\";\r\n\r\nexport class ServicioAvisosService extends Servicio {\r\n\r\n constructor(\r\n http: HttpClient\r\n ) \r\n {\r\n super(http, \"avisos\");\r\n }\r\n\r\n crearAviso(datos: FormData): Observable {\r\n let ruta = this.Ruta;\r\n return this.ClienteHttp.post(ruta, datos)\r\n .pipe(map((aviso: Aviso) => aviso));\r\n } \r\n\r\n actualizarAviso(datos: FormData): Observable {\r\n let ruta = this.Ruta;\r\n return this.ClienteHttp.put(ruta, datos)\r\n .pipe(map((aviso: Aviso) => aviso));\r\n } \r\n\r\n obtenerAvisosVigentes() : Observable {\r\n let ruta = this.Ruta + '/BuscarAvisosVigentes';\r\n return this.ClienteHttp.get(ruta).pipe(\r\n map((avisos: Aviso[]) => avisos)\r\n );\r\n } \r\n\r\n descargarArchivo(idAviso: number): Observable {\r\n let ruta = this.Ruta + \"/ArchivoAviso/\" + idAviso;\r\n return this.ClienteHttp.get(ruta, { responseType: 'blob' })\r\n .pipe(map((archivo: Blob) => archivo)); \r\n }\r\n\r\n getAviso(idAviso: number): Promise { \r\n let ruta = this.Ruta + \"/Aviso/\" + idAviso;\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then( (aviso: Aviso) => { \r\n resolve(aviso);\r\n })\r\n .catch((error) => {\r\n reject(error.error.err.message);\r\n });\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { HttpClient} from '@angular/common/http';\r\nimport { Observable, EMPTY } from 'rxjs';\r\nimport { OCRD } from '../entidades/ocrd';\r\nimport { OITM } from '../entidades/oitm';\r\nimport { OPRC } from '../entidades/oprc';\r\nimport { OPRJ } from '../entidades/oprj';\r\n\r\nexport class ServicioSap {\r\n\r\n private readonly ruta;\r\n get Ruta() { return this.ruta };\r\n get ClienteHttp() { return this.http };\r\n\r\n constructor(private http: HttpClient) {\r\n this.ruta = '/api/Sap';\r\n }\r\n\r\n obtenerProveedores(sociedadRfc: string): Observable {\r\n return this.http.get(`${this.ruta}/Proveedores/${sociedadRfc}`)\r\n }\r\n\r\n obtenerArticulos(sociedadRfc: string): Observable {\r\n return this.http.get(`${this.ruta}/Articulos/${sociedadRfc}`)\r\n }\r\n\r\n obtenerCentrosCostos(sociedadRfc: string): Observable{\r\n return this.http.get(`${this.ruta}/CentrosCostos/${sociedadRfc}`)\r\n }\r\n\r\n obtenerProyectos(sociedadRfc: string): Observable{\r\n return this.http.get(`${this.ruta}/Proyectos/${sociedadRfc}`)\r\n }\r\n}","import { HttpClient, HttpInterceptor, HttpRequest, HttpEvent, HttpHandler } from '@angular/common/http';\r\nimport { Observable, EMPTY } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nexport abstract class Servicio {\r\n\r\n private readonly ruta;\r\n get Ruta() { return this.ruta };\r\n get ClienteHttp() { return this.http };\r\n\r\n constructor(private http: HttpClient, controlador: string) {\r\n this.ruta = 'api/' + controlador;\r\n }\r\n\r\n obtener(id: number): Observable {\r\n return this.http.get(`${this.ruta}/${id}`)\r\n .pipe(map((data: T) => {\r\n return data;\r\n }));\r\n }\r\n\r\n obtenerTodos(): Observable { \r\n return this.http.get(this.ruta)\r\n .pipe(map((data: T[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n guardar(entidad: T): Observable {\r\n return this.http.post(this.ruta, entidad)\r\n .pipe(map((data: T) => {\r\n return data;\r\n }));\r\n }\r\n\r\n actualizar(id: string, entidad: T): Observable {\r\n let ruta = this.ruta + '/' + id;\r\n return this.http.put(ruta, entidad)\r\n .pipe(map((data: T) => {\r\n return data;\r\n }));\r\n }\r\n\r\n eliminar(id: string): Observable {\r\n let ruta = this.ruta + '/' + id;\r\n return this.http.delete(ruta)\r\n .pipe(map((data: T) => {\r\n return true;\r\n }));\r\n }\r\n\r\n}","import { DetallesArchivo } from './../entidades/detallesArchivo';\r\nimport { Servicio } from \"./servicio\";\r\nimport { Correo, Archivo } from \"../entidades/indice\";\r\nimport { HttpClient, HttpEvent, HttpEventType, HttpRequest } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { Respuesta } from \"../entidades/respuesta\";\r\nimport { ArchivoDescargaMasiva } from '../entidades/archivo-descarga-masiva';\r\nimport { ArchivoComprimido } from '../entidades/archivo-comprimido';\r\nimport { DetalleArchivo } from '../entidades/detalle-archivo';\r\nexport class ServicioArchivos extends Servicio {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, \"archivos\");\r\n }\r\n\r\n guardarCompleto(datos: FormData): Observable {\r\n let ruta = this.Ruta;\r\n return this.ClienteHttp.post(ruta, datos)\r\n .pipe(map((archivo: Archivo) => archivo));\r\n }\r\n\r\n descargarXml(idArchivo: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idArchivo + \"/DescargarXml\";\r\n return this.ClienteHttp.get(ruta, { responseType: 'text' })\r\n .pipe(map((xml: string) => xml));\r\n }\r\n\r\n descargarPdf(idArchivo: number | string): Observable {\r\n let ruta = this.Ruta + \"/\" + idArchivo + \"/DescargarPdf\";\r\n\r\n return this.ClienteHttp.get(ruta, { responseType: 'blob' })\r\n .pipe(map((pdf: Blob) => pdf));\r\n\r\n }\r\n\r\n descargarRecepcionPdf(idArchivo: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idArchivo + \"/DescargarRecepcionPdf\";\r\n\r\n return this.ClienteHttp.get(ruta, { responseType: 'blob' })\r\n .pipe(map((pdf: Blob) => pdf));\r\n }\r\n\r\n obtenerArchivosSinPagar(): Observable {\r\n let ruta = this.Ruta + \"/ArchivosSinPagar\";\r\n return this.ClienteHttp.get(ruta)\r\n .pipe(map((data: Archivo[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n PedidoEnSap(folio: string): Promise {\r\n let ruta = this.Ruta + \"/\" + Number(folio) + \"/PedidoEnSap\";\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then(estaEnSap => {\r\n resolve(Boolean(estaEnSap));\r\n })\r\n .catch(error => [\r\n resolve(false)\r\n ]);\r\n });\r\n }\r\n\r\n ProveedorMoneda(folio: string): Promise {\r\n let ruta = this.Ruta + \"/\" + Number(folio) + \"/ProveedorMoneda\";\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then(proveedorMonedaCorrecto => {\r\n resolve(Boolean(proveedorMonedaCorrecto));\r\n })\r\n .catch(error => [\r\n resolve(false)\r\n ]);\r\n });\r\n }\r\n\r\n ImportePedidoUSD(folio: string): Promise {\r\n let ruta = this.Ruta + \"/\" + Number(folio) + \"/ImportePedidoUSD\";\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then(importeCorrectoUsd => {\r\n resolve(Boolean(importeCorrectoUsd));\r\n })\r\n .catch(error => [\r\n resolve(false)\r\n ]);\r\n });\r\n }\r\n\r\n ImportePedidoMXP(folio: string): Promise {\r\n let ruta = this.Ruta + \"/\" + Number(folio) + \"/ImportePedidoMXP\";\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then(importeCorrectoUsd => {\r\n resolve(Boolean(importeCorrectoUsd));\r\n })\r\n .catch(error => [\r\n resolve(false)\r\n ]);\r\n });\r\n }\r\n\r\n descargaMasiva(listaArchivos: ArchivoDescargaMasiva): Observable {\r\n let ruta = this.Ruta + \"/DescargaMasiva\";\r\n return this.ClienteHttp.post(ruta, listaArchivos)\r\n .pipe(map((data: ArchivoComprimido) => {\r\n return data;\r\n }));\r\n }\r\n DetallesArchivo(): Observable {\r\n let ruta = this.Ruta + \"/DescripcionArchivo\";\r\n return this.ClienteHttp.get(ruta)\r\n .pipe(map((data: DetallesArchivo[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n detallesArchivoSinComplementoPago(): Observable {\r\n let ruta = this.Ruta + \"/DescripcionArchivoSinComplementoPago\";\r\n return this.ClienteHttp.get(ruta)\r\n .pipe(map((data: DetallesArchivo[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n obtenerReporte(entidad: Archivo): Observable {\r\n let ruta = this.Ruta + \"/Buscar\";\r\n return this.ClienteHttp.post(ruta, entidad)\r\n .pipe(map((data: Archivo[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n buscarFacturas(criterio: any): Observable {\r\n let ruta = this.Ruta + \"/BuscarFacturas\";\r\n return this.ClienteHttp.post(ruta, criterio)\r\n .pipe(map((data: Archivo[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n public validarCFDI(cfdi: any): Promise {\r\n let ruta = this.Ruta + \"/ValidarCFDI\";\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.post(ruta, cfdi).toPromise()\r\n .then((success: any) => {\r\n resolve(success);\r\n })\r\n .catch((error) => {\r\n console.log('error-->', error);\r\n resolve(false);\r\n });\r\n });\r\n }\r\n\r\n tieneRecepcion(id: number): Observable {\r\n let ruta = this.Ruta + \"/\" + id + \"/TieneRecepcion\";\r\n return this.ClienteHttp.get(ruta);\r\n }\r\n\r\n tieneAutorizacion(id: number): Observable {\r\n let ruta = this.Ruta + \"/\" + id + \"/TieneAutorizacion\";\r\n return this.ClienteHttp.get(ruta);\r\n }\r\n\r\n obtenerReporteTrackingProveedor(entidad: Archivo): Observable {\r\n let ruta = this.Ruta + \"/BuscarTrackingProveedor\";\r\n console.log('archivo-->', entidad);\r\n return this.ClienteHttp.post(ruta, entidad)\r\n .pipe(map((data: Archivo[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n obtenerReporteExcel(entidad: Archivo): Observable {\r\n let ruta = this.Ruta + \"/BuscarExcel\";\r\n return this.ClienteHttp.post(ruta, entidad, { responseType: 'blob' })\r\n .pipe(map((xls: Blob) => xls));\r\n }\r\n\r\n obtenerReporteExcelSinComplemento(entidad: Archivo): Observable {\r\n let ruta = this.Ruta + \"/BuscarExcelSinComplementos\";\r\n return this.ClienteHttp.post(ruta, entidad, { responseType: 'blob' })\r\n .pipe(map((xls: Blob) => xls));\r\n }\r\n\r\n obtenerReporteExcelConComplemento(entidad: Archivo): Observable {\r\n let ruta = this.Ruta + \"/BuscarExcelConComplementos\";\r\n return this.ClienteHttp.post(ruta, entidad, { responseType: 'blob' })\r\n .pipe(map((xls: Blob) => xls));\r\n }\r\n\r\n\r\n pagoFacturaFA(entidad: Archivo): Observable {\r\n let ruta = this.Ruta + \"/pagoFacturaFA\";\r\n return this.ClienteHttp.post(ruta, entidad)\r\n .pipe(map((archivo: Archivo) => archivo));\r\n }\r\n\r\n\r\n pagoFacturaCA(entidad: Archivo): Observable {\r\n let ruta = this.Ruta + \"/pagoFacturaCA\";\r\n return this.ClienteHttp.post(ruta, entidad)\r\n .pipe(map((archivo: Archivo) => archivo));\r\n }\r\n\r\n leerXML(datos: FormData, sociedadId: number): Observable {\r\n let ruta = `${this.Ruta}/LeerXML/${sociedadId}`;\r\n return this.ClienteHttp.post(ruta, datos)\r\n .pipe(map((archivo: Archivo) => archivo));\r\n }\r\n\r\n obtenerReporteSinComplementos(entidad: Archivo): Observable {\r\n let ruta = this.Ruta + \"/BuscarFacturasSinComplemento\";\r\n return this.ClienteHttp.post(ruta, entidad)\r\n .pipe(map((data: Archivo[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n obtenerReporteConComplementos(entidad: Archivo): Observable {\r\n let ruta = this.Ruta + \"/BuscarFacturasConComplemento\";\r\n return this.ClienteHttp.post(ruta, entidad)\r\n .pipe(map((data: Archivo[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n cancelarOrdenCompra(id: number): Observable {\r\n let ruta = this.Ruta + \"/\" + id + \"/CancelarOrdenCompra\";\r\n return this.ClienteHttp.get(ruta)\r\n .pipe(map((respuesta: Respuesta) => respuesta));\r\n }\r\n\r\n tieneComplementoAsociado(): Observable {\r\n let ruta = this.Ruta + \"/TieneComplementoAsociado\";\r\n return this.ClienteHttp.get(ruta);\r\n }\r\n\r\n tieneFacturasSinPagoRelacionado(): Observable {\r\n let ruta = this.Ruta + \"/TieneFacturasSinPagoRelacionado\";\r\n return this.ClienteHttp.get(ruta);\r\n }\r\n\r\n obtenerDetallesArchivo(archivoId: number) {\r\n let ruta = this.Ruta + '/ObtenerDetalles/' + archivoId;\r\n return this.ClienteHttp.get(ruta);\r\n }\r\n\r\n rechazarCompra(idArchivo: number): Promise {\r\n let ruta = this.Ruta + \"/RechazarFactura/\" + idArchivo;\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.delete(ruta).toPromise()\r\n .then((success: any) => {\r\n console.log('success-->', success);\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n\r\n resolve(false);\r\n });\r\n });\r\n }\r\n\r\n public reporteFlujoCompras(): Promise {\r\n let ruta = this.Ruta + \"/ReporteFlujoCompras\";\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then((success: any) => {\r\n resolve(success.filter(c => String(c.canceled) !== 'Y' && String(c.canceled) !== 'C'))\r\n })\r\n .catch((error) => {\r\n resolve([]);\r\n });\r\n });\r\n }\r\n\r\n public reporteFlujoComprasOtros(): Promise {\r\n let ruta = this.Ruta + \"/ReporteFlujoComprasOtros\";\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then((success: any) => {\r\n resolve(success);\r\n })\r\n .catch((error) => {\r\n console.log('error-->', error);\r\n resolve([]);\r\n });\r\n });\r\n }\r\n\r\n public reporteFlujoComprasSAP(): Promise {\r\n let ruta = this.Ruta + \"/ReporteFlujoComprasSap\";\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then((success: any) => {\r\n resolve(success);\r\n })\r\n .catch((error) => {\r\n console.log('error-->', error);\r\n resolve([]);\r\n });\r\n });\r\n }\r\n\r\n\r\n public pruebasEntregaAceptadas(idArchivo): Promise {\r\n let ruta = this.Ruta + \"/PruebasEntregaAceptadas/\" + idArchivo;\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then((success: any) => {\r\n resolve(success);\r\n })\r\n .catch((error) => {\r\n console.log('error-->', error);\r\n resolve(false);\r\n });\r\n });\r\n }\r\n\r\n public usuarioResponsable(folioCV): Promise {\r\n let ruta = this.Ruta + \"/UsuarioResponsable/\" + folioCV;\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then((success: any) => {\r\n resolve(success);\r\n })\r\n .catch((error) => {\r\n console.log('error-->', error);\r\n resolve(false);\r\n });\r\n });\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpClient } from '@angular/common/http';\r\nimport { Observable, BehaviorSubject, Subject } from 'rxjs';\r\nimport { map, window } from 'rxjs/operators';\r\nimport { Usuario } from '../entidades/indice';\r\nimport { Router } from '@angular/router';\r\nimport { Credencial } from '../entidades/credencial';\r\nimport { RestablecerContrasena } from '../entidades/restablecercontrasena';\r\n\r\n@Injectable()\r\nexport class ServicioAutenticacion {\r\n private ruta: string;\r\n private persistente: boolean;\r\n tokenActualizado: Subject = new Subject();\r\n\r\n public get estaAutenticado() {\r\n let credencial = this.obtenerCredencial();\r\n if (!credencial)\r\n return false;\r\n return (credencial.token != \"\" && new Date(credencial.expira) > new Date())\r\n }\r\n public get credencial() {\r\n return this.obtenerCredencial();\r\n \r\n }\r\n \r\n constructor(private http: HttpClient, private router: Router) {\r\n this.ruta = 'api/Acceso';\r\n this.persistente = false;\r\n }\r\n\r\n limpiarCredencial(): void {\r\n localStorage.clear();\r\n }\r\n\r\n almacenarCredencial(credencial: Credencial): void {\r\n localStorage.setItem('credencial', JSON.stringify(credencial));\r\n }\r\n\r\n private obtenerCredencial(): Credencial {\r\n let json = localStorage.getItem('credencial');\r\n if (!json)\r\n return { expira: \"\", token: \"\", tokenActualizable: \"\", idTipoUsuario: 0, idUsuario:0, idCorporativo: 0, nombreUsuario: \"\" };\r\n return JSON.parse(json);\r\n }\r\n\r\n public obtenerToken(): string {\r\n return this.obtenerCredencial().token;\r\n }\r\n\r\n public obtenerTokenActualizable(): string {\r\n return this.obtenerCredencial().tokenActualizable;\r\n }\r\n\r\n public acceder(usuario: Usuario): Observable {\r\n return this.http.post(this.ruta, usuario)\r\n .pipe(map((data: Credencial) => {\r\n this.almacenarCredencial(data);\r\n return data;\r\n }));\r\n }\r\n\r\n public salir() {\r\n this.limpiarCredencial();\r\n }\r\n\r\n public refrescarToken(): Observable {\r\n let ruta = `${this.ruta}/RefrescarToken/${this.obtenerTokenActualizable()}`;\r\n return this.http.get(ruta)\r\n .pipe(map((data: Credencial) => { \r\n this.almacenarCredencial(data);\r\n return data;\r\n }));\r\n }\r\n\r\n enviarToken(usuario: string): Observable {\r\n let ruta = `${this.ruta}/EnviarToken/${usuario}`;\r\n return this.http.get(ruta)\r\n .pipe(map((t: string) => t));\r\n\r\n }\r\n\r\n\r\n public restablecer() {\r\n this.limpiarCredencial();\r\n this.router.navigateByUrl('/restablecercontrasena');\r\n }\r\n\r\n\r\n actualizarToken(usuario: string, contrasena: string, token: string): Observable {\r\n let ruta = `${this.ruta}/RestablecerContrasena/${token}`;\r\n return this.http.post(ruta, {NombreUsuario:usuario, contrasena:contrasena, confirmacionContrasena: contrasena, correo:'a@a'})\r\n .pipe(map((res: string) => res));\r\n }\r\n}","import { Comunicado } from './../entidades/comunicado';\r\nimport { Servicio } from \"./servicio\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nexport class ServicioComunicado extends Servicio {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, \"Comunicado\");\r\n }\r\n\r\n enviar(comunicado: FormData){\r\n return this.ClienteHttp.post(this.Ruta, comunicado);\r\n }\r\n\r\n}","import { Servicio } from \"./servicio\";\r\nimport { Configuracion } from \"../entidades/indice\";\r\nimport { HttpClient, HttpEvent, HttpEventType, HttpRequest } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nexport class ServicioConfiguracion extends Servicio {\r\n constructor(http: HttpClient) {\r\n super(http, \"configuracion\");\r\n }\r\n}","import { Servicio } from \"./servicio\";\r\nimport { Correo, Corporativo } from \"../entidades/indice\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nexport class ServicioCorporativo extends Servicio {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, \"corporativos\");\r\n }\r\n}","import { Servicio } from \"./servicio\";\r\nimport { Correo } from \"../entidades/indice\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nexport class ServicioCorreo extends Servicio {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, \"correos\");\r\n }\r\n}","import { Servicio } from \"./servicio\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { EnviarToken } from \"../entidades/enviartoken\";\r\n\r\nexport class ServicioEnviarToken extends Servicio {\r\n constructor(http: HttpClient) {\r\n super(http, \"enviarToken\");\r\n }\r\n\r\n enviarToken(usuario: string): Observable {\r\n let ruta = this.Ruta + \"/\" + usuario + \"/EnviarToken\";\r\n return this.ClienteHttp.get(ruta)\r\n .pipe(map((proveedor: string) => proveedor));\r\n\r\n }\r\n\r\n}","import { Servicio } from \"./servicio\";\r\nimport { OrdenCompra } from \"../entidades/indice\";\r\nimport {\r\n HttpClient,\r\n HttpEvent,\r\n HttpEventType,\r\n HttpRequest,\r\n} from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { ArchivoPruebaEntrega } from \"../entidades/archivos-prueba-entrega\";\r\nimport { ErrorEnvioSap } from \"../entidades/error-envio-sap\";\r\nimport { CorreoPruebasEntrega } from \"../entidades/correo-prueba-entrega\";\r\n\r\nexport class ServicioOrdenCompra extends Servicio {\r\n constructor(http: HttpClient) {\r\n super(http, \"ordencompra\");\r\n }\r\n\r\n guardarCompleto(datos: FormData): Observable {\r\n let ruta = this.Ruta;\r\n\r\n return this.ClienteHttp.post(ruta, datos).pipe(\r\n map((archivo: OrdenCompra) => archivo)\r\n );\r\n }\r\n\r\n leerPdf(datos: FormData): Observable {\r\n let ruta = `${this.Ruta}/LeerPDF`;\r\n return this.ClienteHttp.post(ruta, datos).pipe(\r\n map((archivo: OrdenCompra) => archivo)\r\n );\r\n }\r\n\r\n obtenerReporte(entidad: OrdenCompra): Observable {\r\n let ruta = this.Ruta + \"/Buscar\"; \r\n return this.ClienteHttp.post(ruta, entidad).pipe(\r\n map((data: OrdenCompra[]) => { \r\n return data;\r\n })\r\n );\r\n }\r\n\r\n obtenerErroresEnviosSap(): Observable {\r\n let ruta = this.Ruta + \"/ErroresEnviosSap\";\r\n return this.ClienteHttp.get(ruta);\r\n }\r\n\r\n obtenerPruebasEntregaSinEnviar(): Observable {\r\n let ruta = this.Ruta + \"/PruebasEntregaSinEnviar\";\r\n return this.ClienteHttp.get(ruta);\r\n }\r\n\r\n obtenerReporteExcel(entidad: OrdenCompra): Observable {\r\n let ruta = this.Ruta + \"/BuscarExcel\";\r\n return this.ClienteHttp.post(ruta, entidad, {\r\n responseType: \"blob\",\r\n }).pipe(map((xls: Blob) => xls));\r\n }\r\n\r\n obtenerReporteExcelC(entidad: OrdenCompra): Observable {\r\n let ruta = this.Ruta + \"/ExcelCompra\";\r\n return this.ClienteHttp.post(ruta, entidad, {\r\n responseType: \"blob\",\r\n }).pipe(map((xls: Blob) => xls));\r\n }\r\n\r\n descargarPdf(idArchivo: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idArchivo + \"/DescargarPdf\";\r\n return this.ClienteHttp.get(ruta, { responseType: \"blob\" }).pipe(\r\n map((pdf: Blob) => pdf)\r\n );\r\n }\r\n\r\n CerrarManualmente(idOrden: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idOrden + \"/CerrarManualmente\";\r\n return this.ClienteHttp.get(ruta, { responseType: \"text\" }).pipe(\r\n map((oc: string) => oc)\r\n );\r\n }\r\n\r\n OrdenesCompraProveedorSociedad(proveedorId: number, sociedadId: number): Observable {\r\n let ruta = this.Ruta + \"/OrdenesCompraProveedorSociedad/\" + proveedorId + \"/\" + sociedadId;\r\n return this.ClienteHttp.get(ruta).pipe(\r\n map((compras: OrdenCompra[]) => compras)\r\n );\r\n }\r\n\r\n descargarPdfPE(idArchivo: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idArchivo + \"/DescargarPdfPE\";\r\n return this.ClienteHttp.get(ruta).pipe(\r\n map((pdf: ArchivoPruebaEntrega[]) => pdf)\r\n );\r\n }\r\n\r\n cancelar(idOrden: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idOrden + \"/Cancelar\";\r\n return this.ClienteHttp.get(ruta, { responseType: \"text\" }).pipe(\r\n map((oc: string) => oc)\r\n );\r\n }\r\n\r\n reenviarFactura(idOrden: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idOrden + \"/ReenviarFactura\";\r\n return this.ClienteHttp.get(ruta, { responseType: \"text\" }).pipe(\r\n map((oc: string) => oc)\r\n );\r\n }\r\n\r\n reenviarCorreoApe(idOrden: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idOrden + \"/ReenviarApe\";\r\n return this.ClienteHttp.get(ruta, { responseType: \"text\" }).pipe(\r\n map((oc: string) => oc)\r\n );\r\n }\r\n\r\n sePuedeCancelar(idOrden: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idOrden + \"/SePuedeCancelar\";\r\n return this.ClienteHttp.get(ruta)\r\n }\r\n\r\n \r\n\r\n \r\n\r\n}\r\n","import { Servicio } from \"./servicio\";\r\nimport { Correo, Pago, Archivo } from \"../entidades/indice\";\r\nimport { HttpClient, HttpEvent, HttpEventType, HttpRequest } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nexport class ServicioPagos extends Servicio {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, \"pagos\");\r\n }\r\n\r\n guardarCompleto(datos: FormData): Observable {\r\n let ruta = this.Ruta;\r\n return this.ClienteHttp.post(ruta, datos)\r\n .pipe(map((archivo: Pago) => archivo));\r\n }\r\n\r\n descargarXml(idPago: number | string): Observable {\r\n let ruta = this.Ruta + \"/\" + idPago + \"/DescargarXml\";\r\n return this.ClienteHttp.get(ruta, { responseType: 'text' })\r\n .pipe(map((xml: string) => xml));\r\n }\r\n\r\n descargarPdf(idPago: number | string): Observable {\r\n let ruta = this.Ruta + \"/\" + idPago + \"/DescargarPdf\";\r\n\r\n return this.ClienteHttp.get(ruta, { responseType: 'blob' })\r\n .pipe(map((pdf: Blob) => pdf));\r\n\r\n }\r\n\r\n\r\n obtenerReporte(entidad: Pago): Observable {\r\n let ruta = this.Ruta + \"/Buscar\";\r\n return this.ClienteHttp.post(ruta, entidad)\r\n .pipe(map((data: Pago[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n obtenerReporteExcel(entidad: Pago): Observable {\r\n let ruta = this.Ruta + \"/BuscarExcel\";\r\n return this.ClienteHttp.post(ruta, entidad, { responseType: 'blob' })\r\n .pipe(map((xls: Blob) => xls));\r\n }\r\n\r\n leerXML(datos: FormData): Observable {\r\n let ruta = `${this.Ruta}/LeerXML`;\r\n return this.ClienteHttp.post(ruta, datos)\r\n .pipe(map((archivo: Pago) => archivo));\r\n }\r\n\r\n\r\n obtenerSinComplementoPago(rfc: string): Observable {\r\n let ruta = this.Ruta + \"/\" + rfc + \"/BuscarProveedoresSinComplementoPago\";\r\n return this.ClienteHttp.get(ruta)\r\n .pipe(map((archivos: Archivo[]) => archivos));\r\n }\r\n}","import { Servicio } from \"./servicio\";\r\nimport { Correo, Proveedor } from \"../entidades/indice\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nexport class ServicioProveedor extends Servicio {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, \"proveedores\");\r\n }\r\n\r\n obtenerProveedor(codigo: string): Promise {\r\n let ruta = this.Ruta + \"/\" + codigo;\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then((succcess: any) => {\r\n resolve(succcess);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n //aca mando el model la supuesta entidad de Archivo\r\n listaProveedores(entidad: Proveedor): Observable {\r\n let ruta = this.Ruta + \"/LProveedores\";\r\n return this.ClienteHttp.post(ruta, entidad)\r\n .pipe(map((data: Proveedor[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n /*\r\n\r\n */\r\n\r\n autorizarProveedor(idProveedor: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idProveedor + \"/AutorizacionProveedor\";\r\n return this.ClienteHttp.get(ruta)\r\n .pipe(map((proveedor: Proveedor) => proveedor));\r\n\r\n }\r\n\r\n aplicaProveedorOrdenCompra(idProveedor: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idProveedor + \"/AplicaProveedorOrdenCompra\";\r\n return this.ClienteHttp.get(ruta)\r\n .pipe(map((proveedor: Proveedor) => proveedor));\r\n\r\n }\r\n\r\n aplicaProveedorConOSinOrdenCompra(idProveedor: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idProveedor + \"/AplicaProveedorConOSinOrdenCompra\";\r\n return this.ClienteHttp.get(ruta)\r\n .pipe(map((proveedor: Proveedor) => proveedor));\r\n }\r\n\r\n /*\r\n validateMatricula(matricula: string, movimiento: number, _id?: string): Promise { \r\n const url = environment.apiUrl + '/validate/alumno/matricula/' + matricula;\r\n return new Promise((resolve, reject) => {\r\n this.httpclient.post(url, {_id, movimiento}).toPromise()\r\n .then( (success: any) => { \r\n resolve(success.existe); \r\n })\r\n .catch((error) => {\r\n let message: string;\r\n message = error.message;\r\n reject(message);\r\n });\r\n });\r\n}\r\n */\r\n\r\n\r\n aplicaPruebasEntrega(idProveedor: number): Promise {\r\n let ruta = this.Ruta + \"/\" + idProveedor + \"/AplicaPruebasEntrega\";\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then(aplicaPruebas => {\r\n resolve(Boolean(aplicaPruebas));\r\n })\r\n .catch(error => [\r\n resolve(false)\r\n ]);\r\n });\r\n }\r\n\r\n aplicaPruebasEntregaProv(idProveedor: number): Promise {\r\n let ruta = this.Ruta + \"/\" + idProveedor + \"/AplicaPruebasEntregaProv\";\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then(aplicaPruebas => {\r\n resolve(Boolean(aplicaPruebas));\r\n })\r\n .catch(error => [\r\n resolve(false)\r\n ]);\r\n });\r\n }\r\n\r\n permitirFacturasMesAnterior(idProveedor: number): Observable {\r\n let ruta = this.Ruta + \"/\" + idProveedor + \"/PermitirFacturasMesAnterior\";\r\n return this.ClienteHttp.get(ruta)\r\n .pipe(map((proveedor: Proveedor) => proveedor));\r\n\r\n }\r\n\r\n ObtenerProveedores(): Observable {\r\n let ruta = this.Ruta + \"/ProveedoresLista\";\r\n return this.ClienteHttp.get(ruta).pipe(map((data: Proveedor[]) => {\r\n return data;\r\n }));\r\n }\r\n\r\n}","import { Servicio } from \"./servicio\";\r\nimport { Sociedad } from \"../entidades/indice\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nexport class ServicioSociedad extends Servicio {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, \"sociedades\");\r\n }\r\n\r\n aplicaPruebasEntrega(idSociedad: number): Promise {\r\n let ruta = this.Ruta + \"/\" + idSociedad + \"/AplicaPruebasEntrega\";\r\n return new Promise((resolve, reject) => {\r\n this.ClienteHttp.get(ruta).toPromise()\r\n .then(aplicaPruebas => {\r\n resolve(Boolean(aplicaPruebas));\r\n })\r\n .catch(error => [\r\n resolve(false)\r\n ]);\r\n });\r\n }\r\n}","import { Servicio } from \"./servicio\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { TipoOrdenCompra } from \"../entidades/tipo-orden-compra\";\r\n\r\nexport class ServicioTipoOrdenCompra extends Servicio {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, \"TiposOrdenCompra\");\r\n }\r\n}","import { Servicio } from \"./servicio\";\r\nimport { Usuario } from \"../entidades/indice\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nexport class ServicioUsuario extends Servicio {\r\n\r\n constructor(http: HttpClient) {\r\n super(http, \"usuarios\");\r\n }\r\n\r\n}","import { ServicioAvisosService } from './servicio-avisos.service';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ServicioUsuario } from \"./servicioUsuario\";\r\nimport { ServicioSociedad } from \"./servicioSociedad\";\r\nimport { ServicioCorreo} from \"./servicioCorreo\";\r\nimport { ServicioArchivos } from \"./servicioArchivos\";\r\nimport { ServicioAutenticacion } from \"./servicioAutenticacion\";\r\nimport { ServicioProveedor } from \"./servicioProveedor\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ServicioCorporativo } from \"./servicioCorporativo\";\r\nimport { ServicioRestablecerContrasena } from \"./indice\";\r\nimport { ServicioOrdenCompra } from \"./indice\";\r\nimport { ServicioConfiguracion } from \"./servicioConfiguracion\";\r\nimport { ServicioPagos } from \"./servicioPago\";\r\nimport { ServicioTipoOrdenCompra } from \"./servicioTiposOrdenCompra\";\r\nimport { ServicioSap } from \"./servicio-sap\";\r\nimport { ServicioComunicado } from \"./servicioComunicado\";\r\n@Injectable()\r\nexport class Servicios {\r\n autenticacion: ServicioAutenticacion;\r\n usuarios: ServicioUsuario;\r\n sociedades: ServicioSociedad;\r\n correos: ServicioCorreo;\r\n archivos: ServicioArchivos;\r\n proveedores: ServicioProveedor;\r\n corporativos: ServicioCorporativo;\r\n restablecerContrasena: ServicioRestablecerContrasena;\r\n ordenCompra: ServicioOrdenCompra;\r\n configuracion: ServicioConfiguracion;\r\n pagos: ServicioPagos;\r\n tiposOrdenCompra: ServicioTipoOrdenCompra;\r\n comunicados: ServicioComunicado;\r\n\r\n //SAP\r\n servicioSap: ServicioSap\r\n\r\n //Avisos\r\n avisos: ServicioAvisosService\r\n\r\n constructor(private http: HttpClient, private router: Router) {\r\n this.usuarios = new ServicioUsuario(http);\r\n this.sociedades = new ServicioSociedad(http);\r\n this.correos = new ServicioCorreo(http);\r\n this.archivos = new ServicioArchivos(http);\r\n this.autenticacion = new ServicioAutenticacion(http, router);\r\n this.proveedores = new ServicioProveedor(http);\r\n this.corporativos = new ServicioCorporativo(http);\r\n this.restablecerContrasena = new ServicioRestablecerContrasena(http);\r\n this.ordenCompra = new ServicioOrdenCompra(http);\r\n this.configuracion = new ServicioConfiguracion(http);\r\n this.pagos = new ServicioPagos(http);\r\n this.tiposOrdenCompra = new ServicioTipoOrdenCompra(http);\r\n this.servicioSap = new ServicioSap(http);\r\n this.comunicados = new ServicioComunicado(http);\r\n this.avisos = new ServicioAvisosService(http);\r\n }\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}