{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/guards/auth.guard.ts","webpack:///src/app/login/login.component.ts","webpack:///src/app/login/login.component.html","webpack:///src/app/material.module.ts","webpack:///src/app/models/usuario.model.ts","webpack:///src/app/pages/analytics/analytics-routing.module.ts","webpack:///src/app/pages/analytics/analytics.component.html","webpack:///src/app/pages/analytics/analytics.component.ts","webpack:///src/app/pages/analytics/analytics.module.ts","webpack:///src/app/pages/analytics/analytics.service.ts","webpack:///src/app/pages/analytics/cargar/cargar.component.ts","webpack:///src/app/pages/analytics/cargar/cargar.component.html","webpack:///src/app/pages/conexion/conexion-nueva/conexion-nueva.component.ts","webpack:///src/app/pages/conexion/conexion-nueva/conexion-nueva.component.html","webpack:///src/app/pages/conexion/conexion-routing.module.ts","webpack:///src/app/pages/conexion/conexion.component.ts","webpack:///src/app/pages/conexion/conexion.component.html","webpack:///src/app/pages/conexion/conexion.module.ts","webpack:///src/app/pages/conexion/conexion.service.ts","webpack:///src/app/pages/pages.component.html","webpack:///src/app/pages/pages.component.ts","webpack:///src/app/pages/pages.module.ts","webpack:///src/app/pages/pages.service.ts","webpack:///src/app/pages/proyecto/avance/avance-excel.service.ts","webpack:///src/app/pages/proyecto/avance/avance-filtro/avance-filtro.component.ts","webpack:///src/app/pages/proyecto/avance/avance-filtro/avance-filtro.component.html","webpack:///src/app/pages/proyecto/avance/avance.component.ts","webpack:///src/app/pages/proyecto/avance/avance.component.html","webpack:///src/app/pages/proyecto/avance/avance.service.ts","webpack:///src/app/pages/proyecto/avanzadas/avanzadas.component.ts","webpack:///src/app/pages/proyecto/avanzadas/avanzadas.component.html","webpack:///src/app/pages/proyecto/avanzadas/avanzadas.service.ts","webpack:///src/app/pages/proyecto/codificacion/codificacion-filtro/codificacion-filtro.component.ts","webpack:///src/app/pages/proyecto/codificacion/codificacion-filtro/codificacion-filtro.component.html","webpack:///src/app/pages/proyecto/codificacion/codificacion.component.html","webpack:///src/app/pages/proyecto/codificacion/codificacion.component.ts","webpack:///src/app/pages/proyecto/codificacion/codificacion.service.ts","webpack:///src/app/pages/proyecto/codigo/codigo-excel.service.ts","webpack:///src/app/pages/proyecto/codigo/codigo.component.html","webpack:///src/app/pages/proyecto/codigo/codigo.component.ts","webpack:///src/app/pages/proyecto/codigo/codigo.service.ts","webpack:///src/app/pages/proyecto/descarga/descarga.component.html","webpack:///src/app/pages/proyecto/descarga/descarga.component.ts","webpack:///src/app/pages/proyecto/detalle-proyecto/detalle-excel.service.ts","webpack:///src/app/pages/proyecto/detalle-proyecto/detalle-proyecto.component.html","webpack:///src/app/pages/proyecto/detalle-proyecto/detalle-proyecto.component.ts","webpack:///src/app/pages/proyecto/detalle-proyecto/detalle-proyecto.service.ts","webpack:///src/app/pages/proyecto/evento/evento.component.ts","webpack:///src/app/pages/proyecto/evento/evento.component.html","webpack:///src/app/pages/proyecto/evento/evento.service.ts","webpack:///src/app/pages/proyecto/importar/importar.component.ts","webpack:///src/app/pages/proyecto/importar/importar.component.html","webpack:///src/app/pages/proyecto/importar/importar.service.ts","webpack:///src/app/pages/proyecto/pantalla/filtro/filtro.component.ts","webpack:///src/app/pages/proyecto/pantalla/filtro/filtro.component.html","webpack:///src/app/pages/proyecto/pantalla/pantalla.component.html","webpack:///src/app/pages/proyecto/pantalla/pantalla.component.ts","webpack:///src/app/pages/proyecto/pantalla/pantalla.service.ts","webpack:///src/app/pages/proyecto/pantalla/valida/valida.component.ts","webpack:///src/app/pages/proyecto/pantalla/valida/valida.component.html","webpack:///src/app/pages/proyecto/proyecto-routing.module.ts","webpack:///src/app/pages/proyecto/proyecto.component.html","webpack:///src/app/pages/proyecto/proyecto.component.ts","webpack:///src/app/pages/proyecto/proyecto.module.ts","webpack:///src/app/pages/proyecto/proyecto.service.ts","webpack:///src/app/pages/proyecto/registro/registro-edita/registro-edita.component.ts","webpack:///src/app/pages/proyecto/registro/registro-edita/registro-edita.component.html","webpack:///src/app/pages/proyecto/registro/registro-filtro/registro-filtro.component.ts","webpack:///src/app/pages/proyecto/registro/registro-filtro/registro-filtro.component.html","webpack:///src/app/pages/proyecto/registro/registro-logs/registro-logs.component.ts","webpack:///src/app/pages/proyecto/registro/registro-logs/registro-logs.component.html","webpack:///src/app/pages/proyecto/registro/registro-nuevo/registro-nuevo.component.html","webpack:///src/app/pages/proyecto/registro/registro-nuevo/registro-nuevo.component.ts","webpack:///src/app/pages/proyecto/registro/registro.component.html","webpack:///src/app/pages/proyecto/registro/registro.component.ts","webpack:///src/app/pages/proyecto/registro/registro.service.ts","webpack:///src/app/pages/proyecto/revision/revision-filtro/revision-filtro.component.ts","webpack:///src/app/pages/proyecto/revision/revision-filtro/revision-filtro.component.html","webpack:///src/app/pages/proyecto/revision/revision.component.html","webpack:///src/app/pages/proyecto/revision/revision.component.ts","webpack:///src/app/pages/proyecto/revision/revision.service.ts","webpack:///src/app/pages/proyecto/vista/vista.component.html","webpack:///src/app/pages/proyecto/vista/vista.component.ts","webpack:///src/app/pages/proyecto/vista/vista.service.ts","webpack:///src/app/pages/usuario/asigna-ver/asigna-ver.component.ts","webpack:///src/app/pages/usuario/asigna-ver/asigna-ver.component.html","webpack:///src/app/pages/usuario/asigna/asigna.component.ts","webpack:///src/app/pages/usuario/asigna/asigna.component.html","webpack:///src/app/pages/usuario/usuario-nuevo/usuario-nuevo.component.ts","webpack:///src/app/pages/usuario/usuario-nuevo/usuario-nuevo.component.html","webpack:///src/app/pages/usuario/usuario-routing.module.ts","webpack:///src/app/pages/usuario/usuario.component.html","webpack:///src/app/pages/usuario/usuario.component.ts","webpack:///src/app/pages/usuario/usuario.module.ts","webpack:///src/app/pages/usuario/usuario.service.ts","webpack:///src/app/public/public.component.ts","webpack:///src/app/public/public.component.html","webpack:///src/app/service/auth.service.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","routes","path","component","pathMatch","redirectTo","AppRoutingModule","forRoot","preloadingStrategy","imports","AppComponent","title","selector","templateUrl","styleUrls","AppModule","declarations","providers","bootstrap","AuthGuard","auth","router","statusAuth","navigateByUrl","providedIn","LoginComponent","usuario","remember","localStorage","getItem","email","form","invalid","fire","icon","allowOutsideClick","onBeforeOpen","showLoading","login","subscribe","data","close","setItem","err","console","log","text","MaterialModule","UsuarioModel","childRoutes","AnalyticsRoutingModule","forChild","AnalyticsComponent","dialog","analyticsService","dataSource","camposList","datosList","opened","procesos","carga","isType","body","onOpen","readDatos","forEach","element","error","dialogRef","open","width","height","disableClose","afterClosed","result","column","input","html","inputValue","showCancelButton","cancelButtonText","cancelButtonColor","value","valores","String","salto","search","replace","valoresList","split","push","inputOptions","inputPlaceholder","inputValidator","tipo","openDialogCarga","AnalyticsModule","AnalyticsService","http","env","idToken","headers","get","api","conexion","tabla","post","CargarComponent","_formBuilder","conexionList","tablasList","camposTablaList","configTablas","displayKey","placeholder","noResultsFound","searchPlaceholder","clearOnSelection","configCamposTablas","moreText","readConexion","firstFormGroup","group","firstCtrl1","required","firstCtrl2","Object","map","i","viewValue","parseInt","readTablas","description","firstCtrl3","readCamposTabla","event","removeControl","addControl","opcion","campos","firstCtrl4","consulta","firstCtrl5","closeCarga","ConexionNuevaComponent","conexionService","manejadorList","alias","sistemadb","host","db","password","puerto","isconexion","sistema","port","testConexion","showConfirmButton","timer","createConexion","change","ConexionRoutingModule","ConexionComponent","Toast","mixin","toast","position","timerProgressBar","addEventListener","stopTimer","resumeTimer","displayedColumns","row","confirmButtonColor","confirmButtonText","isConfirmed","deleteConexion","openDialogConexion","ConexionModule","ConexionService","PagesComponent","permissions","pages","label","user","getPermissions","logout","PagesModule","Pages","children","canActivate","reuse","AvanceExcelService","name","proyecto","codificacion","workbook","worksheet","addWorksheet","addRow","headerRow","columns","avance","temp","eachCell","cell","number","getColumn","alignment","horizontal","fill","type","pattern","fgColor","argb","bgColor","style","font","bold","color","xlsx","writeBuffer","blob","Blob","AvanceFiltroComponent","fechaIniForm","fechaFinForm","control","fechaini","Date","toDateString","fechafin","filtro","AvanceComponent","avanceService","avanceExcelService","chartOptions","chartOptionsPie","avancePie","chartOptionsSerie","titulo","proyectoName","readAvanceProyecto","codificacionName","readAvanceCodificacion","series","chart","stacked","stackType","responsive","breakpoint","options","legend","offsetX","offsetY","plotOptions","bar","dataLabels","enabled","formatter","val","parseFloat","toFixed","stroke","show","colors","xaxis","categories","yaxis","axisBorder","axisTicks","labels","opacity","maxNumber","dropShadow","top","left","blur","toolbar","curve","align","grid","borderColor","markers","size","min","max","Math","horizontalAlign","floating","downloadAvance","openDialogFiltro","AvanceService","AvanzadasComponent","avanzadasService","estado","registrosEstado","registrosControl","estadoList","variable","valor","registros","identificador","updateAvanzadas","AvanzadasService","put","CodificacionFiltroComponent","controlValue","filtroValue","$event","CodificacionComponent","codificacionService","textList","dataCod","grupoCol","codigosDefault","codigos","valRowList","valColList","captura","selectEstado","config","registro","observacion","isvista","multipleForm","readVista","reduce","o","key","grupo","table","j","k","readRegistro","getValide","length","messages","join","revision","updateRegistro","control_value","filtro_value","reset","undefined","target","sendData","openDialogFilterRegistro","CodificacionService","CodigoExcelService","titleRow","family","resultado","stopPropagation","selectionCode","CodigoComponent","codigoService","codigoExcelService","grupoList","codigoList","isGrupo","id_grupo","name_grupo","codigoColumns","grupoColumns","dataSourceCode","readGrupo","allowEscapeKey","preConfirm","values","showValidationMessage","queue","createGrupo","newname","updateGrupo","deleteGrupo","readCodigo","Number","codigo","nombre","createCodigo","newcode","updateCodigo","deleteCodigo","clear","numSelected","selected","numRows","isAllSelected","select","isSelected","item","deleted","toString","inputAttributes","showLoaderOnConfirm","file","reader","FileReader","onload","workBook","sheet1","SheetNames","sheet","Sheets","jsonData","sheet_to_json","arrayData","r","readAsBinaryString","isLoading","downloadCodigo","CodigoService","DescargaComponent","detalleExcelService","detalleProyectoService","codificacionList","selectCodificacion","dataList","campoControl","downloadProyecto","nameProyecto","cod","countProyecto","toPromise","respcount","count","chunkList","chunks","c","dataChunkObj","chunk","downloadProyectoPag","resdata","total","grupos","DetalleExcelService","isObject","DetalleProyectoComponent","activeRoute","detalleService","idProyecto","idCodificacion","descripcion","iscod","ispantalla","params","parametro","readCod","pantalla","campo","toLowerCase","updateProyecto","deleteProyecto","backProyecto","createCod","updateCod","selectCod","deleteCod","disableProyecto","DetalleProyectoService","patch","EventoComponent","eventoService","eventoList","dataSourceEvento","eventoColumns","readEvento","fecha","evento","EventoService","mapeoForm","ImportarComponent","importarService","displayedColumnsMapeo","displayedColumnsImportacion","camposPreview","datosPreview","dataSourcePreview","dataSourceMapeo","dataSourceImportacion","selectCamposList","importacionList","isupdate","idImportacion","readImportacion","secondFormGroup","secondCtrl","previewFormGroup","previewCtrl","mapeo","readCamposPantalla","controls","setValue","readDataPreview","createImportar","importacion","initImportar","deleteImportacion","updateImportar","ImportarService","FiltroComponent","expandedFiltro","dataFilter","isEdit","columnsToDisplay","firstCtrl","thirdFormGroup","thirdCtrl","fourthCtrl","Campo","Grupo","idGrupo","Texto","Codigos","renderRows","filter","addFilter","minHeight","animations","PantallaComponent","pantallaService","step","readPantalla","index","num","txt","slice","next","col","previousIndex","currentIndex","texto","colnota","codes","valcol","valrow","createPantalla","yourgrupo","vacio","setStep","addText","prevStep","nextStep","addTable","PantallaService","ValidaComponent","ProyectoRoutingModule","ProyectoComponent","proyectoService","proyectoList","readProyecto","createProyecto","ProyectoModule","ProyectoService","RegistroEditaComponent","registroService","camposForm","selectList","registrosList","selectedEstado","campoGrupo","isdisabled","readRegistroCodigo","multiple","singleForm","disable","enable","edit","RegistroFiltroComponent","panelOpenState","estadoForm","custom","readRegistroFiltro","camposSelect","RegistroLogsComponent","logsList","dataSourceLogs","logsColumns","readLogs","mensaje","RegistroNuevoComponent","createRegistro","uploadRegistro","selection","RegistroComponent","columnsList","idColumns","controlColumns","variableColumns","menuColumns","registroList","defaultTxt","idProcodList","procod_id","deletes","deleteRegistro","downloadCodificacion","validaCodigos","addRegistro","validarCodigos","RegistroService","RevisionFiltroComponent","filtroEstado","RevisionComponent","revisionService","observacion_usuario","filtro_estado","RevisionService","VistaComponent","vistaService","VistaService","AsignaVerComponent","usuarioService","asignacionList","readAsignacion","deleteList","deleteAsignacion","AsignaComponent","createAsignacion","MyErrorStateMatcher","isSubmitted","submitted","dirty","touched","UsuarioNuevoComponent","hide","emailFormControl","nameFormControl","passFormControl","levelFormControl","matcher","levelList","level","action","nivel","createUsuario","updateUsuario","UsuarioRoutingModule","UsuarioComponent","usuarioList","codificadoresList","readUsuario","nivel_name","deleteUsuario","codificadores","openAsignaUsuario","openCreateUsuario","UsuarioModule","UsuarioService","PublicComponent","AuthService","userToken","authData","pipe","resp","saveToken","removeItem","environment","production","bootstrapModule"],"mappings":"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","file":"main-es5.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 = \"./$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router';\n\nimport { LoginComponent } from './login/login.component';\nimport { PublicComponent } from './public/public.component';\n\n\nconst routes: Routes = [\n { path: 'welcome', component: PublicComponent },\n { path: 'login', component: LoginComponent },\n { path: '', pathMatch: 'full', redirectTo: '/welcome' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n preloadingStrategy: PreloadAllModules\n })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'ProCod';\n}\n","","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { MaterialModule } from './material.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\n\r\nimport { PagesModule } from './pages/pages.module';\r\nimport { ProyectoModule } from './pages/proyecto/proyecto.module';\r\nimport { UsuarioModule } from './pages/usuario/usuario.module';\r\nimport { ConexionModule } from './pages/conexion/conexion.module';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { PublicComponent } from './public/public.component';\r\nimport { AnalyticsModule } from './pages/analytics/analytics.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n PublicComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n MaterialModule,\r\n FormsModule,\r\n HttpClientModule,\r\n PagesModule,\r\n ProyectoModule,\r\n UsuarioModule,\r\n ConexionModule,\r\n AnalyticsModule,\r\n NgApexchartsModule,\r\n AppRoutingModule,\r\n ],\r\n providers: [],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router } from '@angular/router';\n\nimport { AuthService } from '../service/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate {\n\n constructor(\n private auth: AuthService,\n private router: Router\n ){}\n \n canActivate(): boolean {\n if (this.auth.statusAuth()) {\n return true;\n }else{\n this.router.navigateByUrl('/welcome');\n return false;\n }\n \n }\n \n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { UsuarioModel } from '../models/usuario.model';\r\nimport { AuthService } from '../service/auth.service';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n usuario: UsuarioModel = new UsuarioModel();\r\n remember = false;\r\n constructor(\r\n private auth: AuthService,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (localStorage.getItem('email')) {\r\n this.usuario.email = localStorage.getItem('email');\r\n this.remember = true;\r\n }\r\n }\r\n\r\n login( form: NgForm){\r\n if(form.invalid){\r\n return;\r\n }\r\n\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Espere ...',\r\n allowOutsideClick: false,\r\n onBeforeOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n\r\n this.auth.login(this.usuario)\r\n .subscribe((data) => {\r\n Swal.close();\r\n if (this.remember) {\r\n localStorage.setItem('email', this.usuario.email);\r\n }\r\n if (data['level']==5) {\r\n this.router.navigateByUrl('/analytics');\r\n } else {\r\n this.router.navigateByUrl('/proyectos'); \r\n }\r\n }, (err) => {\r\n\r\n console.log(err)\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Error de autenticación',\r\n text: '¡Intente nuevamente!'\r\n });\r\n\r\n });\r\n }\r\n\r\n}\r\n","\n \n \n

Procod

\n

Iniciar sesión

\n\n El email es obligatorio\n \n\n El password es obligatorio\n \n\n
\n \n
\n\n \n

© Procod

\n\n\n","import {NgModule} from '@angular/core';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\n\r\n\r\nimport {A11yModule} from '@angular/cdk/a11y';\r\nimport {BidiModule} from '@angular/cdk/bidi';\r\nimport {ObserversModule} from '@angular/cdk/observers';\r\nimport {OverlayModule} from '@angular/cdk/overlay';\r\nimport {PlatformModule} from '@angular/cdk/platform';\r\nimport {PortalModule} from '@angular/cdk/portal';\r\nimport {CdkStepperModule} from '@angular/cdk/stepper';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport {CdkTreeModule} from '@angular/cdk/tree';\r\nimport {DragDropModule} from '@angular/cdk/drag-drop';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\n\r\n/**\r\n * NgModule that includes all Material modules.\r\n*/\r\n@NgModule({\r\n exports: [\r\n // CDK\r\n A11yModule,\r\n BidiModule,\r\n ObserversModule,\r\n OverlayModule,\r\n PlatformModule,\r\n PortalModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n // Material\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatStepperModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n ]\r\n})\r\nexport class MaterialModule {}","export class UsuarioModel {\r\n email: string;\r\n password: string;\r\n}","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { Pages } from '../pages.service';\r\n\r\nimport { AnalyticsComponent } from './analytics.component';\r\n\r\n\r\nconst routes: Routes = [\r\n Pages.childRoutes([\r\n { path: 'analytics', component: AnalyticsComponent }\r\n ])\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n providers: []\r\n})\r\nexport class AnalyticsRoutingModule {}\r\n","\r\n \r\n \r\n chevron_right\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
\r\n

query_statsAnalytics

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
{{column}}\r\n \r\n \r\n \r\n workspaces\r\n Tipo de variable\r\n \r\n \r\n hdr_weak\r\n Recodificar columna\r\n \r\n \r\n
\r\n
\r\n {{ element[column] }}\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { AnalyticsService } from './analytics.service';\r\n\r\nimport { CargarComponent } from './cargar/cargar.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-analytics',\r\n templateUrl: './analytics.component.html',\r\n styleUrls: ['./analytics.component.scss']\r\n})\r\nexport class AnalyticsComponent implements OnInit {\r\n\r\n dataSource = null;\r\n camposList = [];\r\n datosList = [];\r\n \r\n opened: boolean = true; \r\n\r\n procesos = [];\r\n carga = null;\r\n isType = {};\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private analyticsService: AnalyticsService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ///////////////////////Carga de datos\r\n readDatos(body: any){\r\n Swal.fire({\r\n title: 'Cargando datos ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n this.analyticsService.readDatos(body)\r\n .subscribe( (data) => {\r\n console.log(data);\r\n this.camposList = data['campos'];\r\n this.datosList = data['resultado'];\r\n this.camposList.forEach(element => {\r\n this.isType[element] = 0;\r\n });\r\n this.dataSource = new MatTableDataSource(this.datosList);\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n openDialogCarga(){\r\n const dialogRef = this.dialog.open(CargarComponent, {\r\n width: '100%',\r\n height: '98%',\r\n disableClose: true,\r\n data: {}\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.carga = result;\r\n this.readDatos(this.carga);\r\n console.log(this.carga);\r\n });\r\n }\r\n\r\n async openDialogRecodificar(column: String){\r\n const { value: text } = await Swal.fire({\r\n input: 'textarea',\r\n title: `Recodificación de variable ${column}`,\r\n html: `Nota: Escriba los valores entre comillas, si la columna es de texto`,\r\n inputValue: 'valor_actual_1: valor_nuevo_1, valor_actual_2: valor_nuevo_2, valor_actual_3: valor_nuevo_3',\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33'\r\n })\r\n \r\n if (text) {\r\n Swal.fire({\r\n title: 'Cargando datos ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let valores = String(text);\r\n let salto = valores.search('\\n');\r\n while (salto > 0) {\r\n valores = valores.replace('\\n','')\r\n salto = valores.search('\\n');\r\n }\r\n let valoresList = valores.split(',');\r\n\r\n this.procesos.push({ 'proceso': 'recode', 'config': [column, valoresList] });\r\n this.carga['procesos'] = this.procesos;\r\n this.dataSource = null;\r\n this.analyticsService.procesos(this.carga).subscribe( \r\n (data) => {\r\n console.log(data);\r\n this.camposList = data['campos'];\r\n this.datosList = data['resultado'];\r\n this.dataSource = new MatTableDataSource(this.datosList);\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n });\r\n console.log(this.procesos);\r\n }\r\n }\r\n\r\n async openDialogTipoVar(column: String){\r\n const { value: tipo } = await Swal.fire({\r\n title: 'Tipo de variable',\r\n input: 'select',\r\n inputOptions: {\r\n 'int': 'INT (Entero)',\r\n 'float': 'Float (Flotante)',\r\n 'str': 'String (cadena)'\r\n },\r\n inputPlaceholder: 'Selecciona tipo de variable',\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n inputValidator: (value) => {\r\n return new Promise((resolve) => {\r\n if (!value) {\r\n resolve('Campo requerido'); \r\n }else{\r\n resolve('')\r\n }\r\n })\r\n }\r\n })\r\n \r\n if (tipo) {\r\n this.procesos.push({ 'proceso': 'convert_type', 'config': [column, tipo] });\r\n this.isType[String(column)] = 1;\r\n Swal.close();\r\n }\r\n \r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { MaterialModule } from '../../material.module';\r\nimport { SelectDropDownModule } from 'ngx-select-dropdown';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\nimport { AnalyticsRoutingModule } from './analytics-routing.module';\r\n\r\nimport { AnalyticsComponent } from './analytics.component';\r\nimport { CargarComponent } from './cargar/cargar.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n AnalyticsRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SelectDropDownModule,\r\n BrowserModule,\r\n NgApexchartsModule\r\n ],\r\n exports: [],\r\n declarations: [\r\n AnalyticsComponent,\r\n CargarComponent\r\n ],\r\n providers: [],\r\n})\r\nexport class AnalyticsModule { }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { environment } from \"@env/environment\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnalyticsService {\r\n\r\n env = environment;\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n \r\n ///////////////////////Busca conexiones\r\n readConexion(){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/conexion`, { headers });\r\n }\r\n\r\n ///////////////////////Busca tablas de DB\r\n readTablas(conexion: Number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/tablas/${conexion}`, { headers });\r\n }\r\n\r\n ///////////////////////Busca campos de tabla de DB \r\n readCamposTabla(conexion: number, tabla: String){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/tablas/${conexion}/${tabla}`, { headers });\r\n }\r\n\r\n ///////////////////////Carga de datos DB\r\n readDatos(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/analytics/datos`, body, { headers });\r\n }\r\n\r\n ///////////////////////Procesamiento de datos\r\n procesos(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/analytics/procesos`, body, { headers });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { AnalyticsService } from '../analytics.service';\r\n\r\n@Component({\r\n selector: 'app-cargar',\r\n templateUrl: './cargar.component.html',\r\n styleUrls: ['./cargar.component.scss']\r\n})\r\nexport class CargarComponent implements OnInit {\r\n\r\n firstFormGroup: FormGroup;\r\n conexionList = [];\r\n tablasList = [];\r\n camposTablaList = [];\r\n\r\n configTablas = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona tabla',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n configCamposTablas = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n moreText: 'más',\r\n placeholder:'Selecciona campos',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private _formBuilder: FormBuilder,\r\n private analyticsService: AnalyticsService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readConexion();\r\n this.firstFormGroup = this._formBuilder.group({\r\n firstCtrl1: ['', Validators.required],\r\n firstCtrl2: ['', Validators.required]\r\n });\r\n }\r\n\r\n /////////////Busca conexiones\r\n readConexion(){\r\n this.analyticsService.readConexion()\r\n .subscribe( (data) => {\r\n this.conexionList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i][0], \r\n viewValue: data[i][1]\r\n }\r\n });\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca tablas\r\n readTablas(){\r\n Swal.fire({\r\n title: 'Cargando tablas ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n this.analyticsService.readTablas(conexion)\r\n .subscribe( (data) => {\r\n this.tablasList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i], \r\n description: data[i]\r\n }\r\n });\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca campos de tabla\r\n readCamposTabla(){\r\n Swal.fire({\r\n title: 'Cargando campos ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n let tabla = this.firstFormGroup.value.firstCtrl3.value;\r\n this.analyticsService.readCamposTabla(conexion, tabla)\r\n .subscribe( (data) => {\r\n this.camposTablaList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i], \r\n description: data[i]\r\n }\r\n });\r\n this.camposTablaList = [{value: 'Todos', description: 'Todos'}, ...this.camposTablaList]\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n selectOption(event: any){\r\n if (event == 1) {\r\n this.firstFormGroup.removeControl('firstCtrl5');\r\n this.firstFormGroup.addControl('firstCtrl3', new FormControl('', Validators.required));\r\n this.firstFormGroup.addControl('firstCtrl4', new FormControl('', Validators.required));\r\n this.readTablas();\r\n } else {\r\n this.firstFormGroup.removeControl('firstCtrl3');\r\n this.firstFormGroup.removeControl('firstCtrl4');\r\n this.firstFormGroup.addControl('firstCtrl5', new FormControl('', Validators.required));\r\n }\r\n }\r\n\r\n closeCarga(){\r\n let conexion = this.firstFormGroup.value.firstCtrl1;\r\n let opcion = parseInt(this.firstFormGroup.value.firstCtrl2);\r\n let body = null;\r\n if (opcion == 1) {\r\n let tabla = this.firstFormGroup.value.firstCtrl3;\r\n let campos = this.firstFormGroup.value.firstCtrl4;\r\n body = {\r\n conexion: conexion,\r\n opcion: opcion,\r\n tabla: tabla,\r\n campos: campos,\r\n consulta: null\r\n };\r\n } else {\r\n let consulta = this.firstFormGroup.value.firstCtrl5;\r\n body = {\r\n conexion: conexion,\r\n opcion: opcion,\r\n tabla: null,\r\n campos: null,\r\n consulta: consulta\r\n };\r\n }\r\n this.dialogRef.close(body);\r\n }\r\n\r\n}\r\n","

Carga de datos

\r\n\r\n

Asistente para carga de base de datos.

\r\n
\r\n Conexión\r\n

Selecciona conexión.

\r\n \r\n Conexión\r\n \r\n \r\n {{conexion.viewValue}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Agregar tabla\r\n Crear consulta SQL\r\n \r\n
\r\n
\r\n \r\n

Información de tabla.

\r\n Tabla a cargar:\r\n \r\n \r\n
\r\n Campos a cargar:\r\n \r\n \r\n \r\n
\r\n
\r\n

Consulta SQL

\r\n \r\n SQL\r\n \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, OnInit } from '@angular/core';\r\nimport { ConexionService } from '../conexion.service';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-conexion-nueva',\r\n templateUrl: './conexion-nueva.component.html',\r\n styleUrls: ['./conexion-nueva.component.scss']\r\n})\r\nexport class ConexionNuevaComponent implements OnInit {\r\n\r\n manejadorList = [\r\n {value: 'MySQL', viewValue: 'MySQL'}, \r\n {value: 'PostgreSQL', viewValue: 'PostgreSQL'}\r\n ];\r\n alias = null;\r\n sistemadb = null;\r\n host = null;\r\n db = null;\r\n usuario = null;\r\n password = null;\r\n puerto = null;\r\n\r\n isconexion = false;\r\n\r\n conexionList = [];\r\n\r\n constructor(\r\n public conexionService: ConexionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ///////////////Prueba de conexion\r\n testConexion(){\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Probando conexión',\r\n allowOutsideClick: false,\r\n onBeforeOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n\r\n let body = {\r\n alias: this.alias,\r\n sistema: this.sistemadb,\r\n host: this.host,\r\n db: this.db,\r\n usuario: this.usuario,\r\n password: this.password,\r\n port: this.puerto\r\n };\r\n\r\n this.conexionService.testConexion(body)\r\n .subscribe( (data) => {\r\n if (data) {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Conexión exitosa',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n this.isconexion = true;\r\n }else{\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error de conexión, revise la información.',\r\n })\r\n }\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Revise su conexión a internet.',\r\n })\r\n }\r\n );\r\n \r\n }\r\n\r\n //////////Crear conexion\r\n createConexion(){\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Creando conexión',\r\n allowOutsideClick: false,\r\n onBeforeOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n\r\n let body = {\r\n alias: this.alias,\r\n sistema: this.sistemadb,\r\n host: this.host,\r\n db: this.db,\r\n usuario: this.usuario,\r\n password: this.password,\r\n port: this.puerto\r\n };\r\n\r\n this.conexionService.createConexion(body)\r\n .subscribe( (data) => {\r\n if (data) {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Conexión creada correctamente',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n this.isconexion = true;\r\n }else{\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al crear conexión, revise la información.',\r\n })\r\n }\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Revise su conexión a internet.',\r\n })\r\n }\r\n );\r\n }\r\n\r\n\r\n ///////////////Puerto predeterminado de manejador BD\r\n change(event: any){\r\n switch (event.value) {\r\n case 'MySQL':\r\n this.puerto = '3306';\r\n break;\r\n \r\n case 'PostgreSQL':\r\n this.puerto = '5432';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n}\r\n","

Crear conexión

\r\n\r\n

Asistente para conexión a base de datos externa.

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

Escriba un alias que identifique la conexión:

\r\n \r\n Alias\r\n \r\n Alias requerido\r\n \r\n \r\n
 \r\n

Selecciona el sistema de gestión de base de datos:

\r\n \r\n Sistema\r\n \r\n \r\n {{manejador.viewValue}}\r\n \r\n \r\n Sistema requerido\r\n \r\n
\r\n

Escriba la dirección del host de la base de datos:

\r\n \r\n Host\r\n \r\n Host requerido\r\n \r\n \r\n
 \r\n

Escriba el nombre de la base de datos:

\r\n \r\n Base de datos\r\n \r\n Base de datos requerida\r\n \r\n \r\n
\r\n

Escriba el nombre de usuario:

\r\n \r\n Usuario\r\n \r\n Usuario requerido\r\n \r\n \r\n
 \r\n

Escriba la contraseña:

\r\n \r\n Contraseña\r\n \r\n Contraseña requerida\r\n \r\n \r\n
   
\r\n

Escriba el puerto:

\r\n \r\n Puerto\r\n \r\n Puerto requerido\r\n \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 { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { Pages } from '../pages.service';\r\n\r\nimport { ConexionComponent } from './conexion.component';\r\n\r\nconst routes: Routes = [\r\n Pages.childRoutes([\r\n { path: 'conexiones', component: ConexionComponent }\r\n ])\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n providers: []\r\n})\r\nexport class ConexionRoutingModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { ConexionNuevaComponent } from './conexion-nueva/conexion-nueva.component';\r\n\r\nimport { ConexionService } from './conexion.service';\r\n\r\n@Component({\r\n selector: 'app-conexion',\r\n templateUrl: './conexion.component.html',\r\n styleUrls: ['./conexion.component.scss']\r\n})\r\nexport class ConexionComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n dataSource = null;\r\n conexionList = [];\r\n displayedColumns = ['alias', 'menu'];\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private conexionService:ConexionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readConexion();\r\n }\r\n\r\n /////////////Busca conexiones\r\n readConexion(){\r\n this.conexionService.readConexion()\r\n .subscribe( (data) => {\r\n this.conexionList = Object.keys(data).map( (i) => {\r\n return {\r\n id: data[i][0], \r\n alias: data[i][1]\r\n }\r\n });\r\n this.dataSource = new MatTableDataSource(this.conexionList);\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n );\r\n }\r\n\r\n ////////////Edita conexion\r\n updateConexion(id: number){\r\n\r\n }\r\n\r\n ////////////Elimina conexion\r\n deleteConexion(row: any){\r\n Swal.fire({\r\n title: `¿Estas seguro de eliminar la conexión?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, Eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n \r\n this.conexionService.deleteConexion(row.id)\r\n .subscribe( (data) => {\r\n if (data) {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Conexión eliminada correctamente'\r\n });\r\n this.readConexion(); \r\n } else {\r\n this.Toast.fire({\r\n icon: 'error',\r\n title: 'Error al eliminar conexión'\r\n }); \r\n }\r\n \r\n },\r\n (error) => {\r\n this.Toast.fire({\r\n icon: 'error',\r\n title: 'Error al eliminar conexión'\r\n });\r\n });\r\n }\r\n })\r\n }\r\n\r\n /////////////Lleva a vista de importacion de datos\r\n openDialogConexion(){\r\n const dialogRef = this.dialog.open(ConexionNuevaComponent, {\r\n width: '100%',\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.readConexion();\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

electrical_servicesConexiones

\r\n

Conexiones a bases de datos externas.

\r\n \r\n add_circle_outline\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Alias {{element.alias}} \r\n \r\n
\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { MaterialModule } from '../../material.module';\r\nimport { SelectDropDownModule } from 'ngx-select-dropdown';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\nimport { ConexionRoutingModule } from './conexion-routing.module';\r\n\r\nimport { ConexionComponent } from './conexion.component';\r\nimport { ConexionNuevaComponent } from './conexion-nueva/conexion-nueva.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n ConexionRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SelectDropDownModule,\r\n BrowserModule,\r\n NgApexchartsModule\r\n ],\r\n exports: [],\r\n declarations: [\r\n ConexionComponent,\r\n ConexionNuevaComponent\r\n ],\r\n providers: [],\r\n})\r\nexport class ConexionModule { }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { environment } from \"@env/environment\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConexionService {\r\n\r\n env = environment;\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n ///////////////////////Busca conexiones\r\n readConexion(){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/conexion`, { headers });\r\n }\r\n\r\n ///////////////////////Prueba de conexion\r\n testConexion(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/conexion/test`, body, { headers });\r\n }\r\n\r\n ///////////////////////Crear de conexion\r\n createConexion(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/conexion/create`, body, { headers });\r\n }\r\n\r\n ///////////////////////Eliminar de conexion\r\n deleteConexion(conexion: number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.delete(`${ this.env.api }/conexion/${conexion}`, { headers });\r\n }\r\n\r\n}\r\n","\n \n ProCod\n \n \n \n

Usuario: {{ user }}

\n
\n \n
\n
\n\n\n \n \n \n arrow_right {{ page.label }}\n \n \n \n \n \n \n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { AuthService } from '../service/auth.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-pages',\r\n templateUrl: './pages.component.html',\r\n styleUrls: ['./pages.component.scss']\r\n})\r\nexport class PagesComponent implements OnInit {\r\n user: String;\r\n permissions = {};\r\n\r\n pages = [\r\n { label: 'Proyectos', path: '/proyectos', auth: 'proyecto' },\r\n { label: 'Usuarios', path: '/usuarios', auth: 'usuario' },\r\n { label: 'Analytics', path: '/analytics', auth: 'analytics' },\r\n { label: 'Conexiones', path: '/conexiones', auth: 'conexion' }\r\n ];\r\n\r\n constructor(\r\n private auth: AuthService,\r\n private router: Router\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this.user = localStorage.getItem('email');\r\n await this.getPermissions();\r\n }\r\n\r\n logout(){\r\n this.auth.logout();\r\n this.router.navigateByUrl('/login');\r\n }\r\n\r\n async getPermissions(){\r\n this.auth.getPermissions()\r\n .subscribe( (data) => {\r\n this.permissions = data;\r\n },\r\n (error) => {\r\n this.router.navigateByUrl('/login');\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { MaterialModule } from '@app/material.module';\r\nimport { PagesComponent } from './pages.component';\r\n\r\n@NgModule({\r\n imports: [\r\n MaterialModule,\r\n RouterModule,\r\n CommonModule\r\n ],\r\n exports: [],\r\n declarations: [PagesComponent],\r\n providers: [],\r\n})\r\nexport class PagesModule { }\r\n","import { Injectable } from '@angular/core';\nimport { Routes } from \"@angular/router\";\n\nimport { AuthGuard } from \"../guards/auth.guard\";\nimport { PagesComponent } from \"./pages.component\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Pages {\n static childRoutes(routes: Routes){\n return {\n path: '',\n component: PagesComponent,\n children: routes,\n canActivate: [AuthGuard],\n data: { reuse: true }\n };\n }\n}","import { Injectable } from '@angular/core';\nimport { Workbook } from 'exceljs';\nimport * as fs from 'file-saver';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AvanceExcelService {\n\n constructor() { }\n\n ///////////////////////Descarga de codificacion\n downloadAvance(body: any){\n const name = body.tipo == 'proyecto' ? body.proyecto : body.codificacion;\n const title = 'Avance: ' + name;\n let workbook = new Workbook();\n let worksheet = workbook.addWorksheet(name);\n // Add new row\n worksheet.addRow([title]);\n worksheet.addRow(['Creado por Procod']);\n worksheet.addRow([]);\n\n let headerRow = worksheet.addRow(body.columns);\n for (let row of body.avance){\n let temp=[];\n for(let value of row){\n temp.push(value);\n }\n worksheet.addRow(temp);\n }\n\n headerRow.eachCell((cell, number) => {\n worksheet.getColumn(number).width = 20;\n cell.alignment = { horizontal: 'center' };\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '4D79FF' },\n bgColor: { argb: '4D79FF' }\n }\n cell.style.font = {\n bold: true,\n color: { argb: 'FFFFFF' }\n }\n });\n //#4d79ff\n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n fs.saveAs(blob, `Avance - ${name}.xlsx`);\n });\n\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {FormControl} from '@angular/forms';\n\n@Component({\n selector: 'app-avance-filtro',\n templateUrl: './avance-filtro.component.html',\n styleUrls: ['./avance-filtro.component.scss']\n})\nexport class AvanceFiltroComponent implements OnInit {\n\n fechaIniForm = new FormControl();\n fechaFinForm = new FormControl();\n control = null;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data,\n ) { }\n\n ngOnInit(): void {\n }\n\n filtro(){\n let data = {\n control: this.control,\n fechaini: this.fechaIniForm.value ? (new Date(this.fechaIniForm.value)).toDateString() : null,\n fechafin: this.fechaFinForm.value ? (new Date(this.fechaFinForm.value)).toDateString() : null\n }\n this.dialogRef.close(data);\n }\n\n}\n","

Filtro de avance

\n\n
\n
\n

Esta opción te permite filtar por el valor de la variable de {{ data.control }}.

\n \n Campo {{ data.control }}\n \n \n
\n

Esta opción te permite filtar por rango de fecha.

\n \n Fecha inicio\n \n \n \n \n \n Fecha fin\n \n \n \n \n
\n \n
\n
\n
\n\n \n\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\n\nimport { AvanceExcelService } from './avance-excel.service';\nimport { AvanceService } from './avance.service';\n\nimport { AvanceFiltroComponent } from './avance-filtro/avance-filtro.component';\n\n@Component({\n selector: 'app-avance',\n templateUrl: './avance.component.html',\n styleUrls: ['./avance.component.scss']\n})\nexport class AvanceComponent implements OnInit {\n\n chartOptions = null;\n chartOptionsPie = null;\n campos = null;\n avance = null;\n avancePie = null;\n\n chartOptionsSerie = null;\n \n titulo = null;\n\n constructor(\n public dialog: MatDialog,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data,\n private avanceService: AvanceService,\n private avanceExcelService: AvanceExcelService\n ) { }\n\n ngOnInit(): void {\n let body = null;\n if (this.data.tipo == 'proyecto') {\n this.titulo = this.data.proyectoName;\n body = {\n tipo: this.data.tipo,\n proyecto: this.data.proyecto,\n control: null,\n fechaini: null,\n fechafin: null\n };\n this.readAvanceProyecto(body);\n } else {\n this.titulo = this.data.codificacionName;\n body = {\n tipo: this.data.tipo,\n proyecto: this.data.proyecto,\n codificacion: this.data.codificacion,\n control: null,\n fechaini: null,\n fechafin: null\n };\n this.readAvanceCodificacion(body);\n }\n }\n\n ///////////Busca reporte de proyecto\n readAvanceProyecto(body: any){\n Swal.fire({\n title: 'Cargando avance...',\n allowOutsideClick: false,\n onOpen: () =>{\n Swal.showLoading();\n }\n });\n this.avanceService.readAvanceProyecto(body)\n .subscribe( (data) => {\n this.campos = data['avance']['campos'];\n this.avance = data['avance']['resultado'];\n this.chartOptions = {\n series: data['series'],\n chart: {\n type: \"bar\",\n height: 350,\n stacked: true,\n stackType: \"100%\"\n },\n responsive: [{\n breakpoint: 480,\n options: {\n legend: {\n position: 'bottom',\n offsetX: -10,\n offsetY: 0\n }\n }\n }],\n plotOptions: {\n bar: {\n horizontal: false,\n }\n },\n dataLabels: {\n enabled: true,\n formatter: function (val) {\n return parseFloat(val).toFixed(1) + \"%\";\n }\n },\n stroke: {\n show: true,\n width: 2,\n colors: [\"transparent\"]\n },\n xaxis: {\n categories: data['categorias']\n },\n yaxis: {\n yaxis: {\n axisBorder: {\n show: false\n },\n axisTicks: {\n show: false,\n },\n labels: {\n show: false,\n formatter: function (val) {\n return parseFloat(val).toFixed(1) + \"%\";\n }\n }\n }\n },\n legend: {\n position: 'right',\n offsetY: 40\n },\n fill: {\n opacity: 1\n },\n };\n Swal.close();\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n ///////////Busca reporte de codificacion\n readAvanceCodificacion(body: any){\n Swal.fire({\n title: 'Cargando avance...',\n allowOutsideClick: false,\n onOpen: () =>{\n Swal.showLoading();\n }\n });\n this.avanceService.readAvanceCodificacion(body)\n .subscribe( (data) => {\n this.campos = data['avance']['campos'];\n this.avance = data['avance']['resultado'];\n let maxNumber = [];\n this.avance.forEach(element => {\n maxNumber.push(element[2]);\n maxNumber.push(element[3]);\n maxNumber.push(element[4]);\n maxNumber.push(element[5]);\n });\n console.log(maxNumber)\n this.avancePie = data['avance_pie'];\n\n this.chartOptionsSerie = {\n series: data['series'],\n chart: {\n height: 350,\n type: \"line\",\n dropShadow: {\n enabled: true,\n color: \"#000\",\n top: 18,\n left: 7,\n blur: 10,\n opacity: 0.2\n },\n toolbar: {\n show: false\n }\n },\n colors: [\"#33CC33\", \"#FFA31A\", \"#FF5050\"],\n dataLabels: {\n enabled: true\n },\n stroke: {\n curve: \"straight\"\n },\n title: {\n text: \"Estado de registros por día\",\n align: \"left\"\n },\n grid: {\n borderColor: \"#e7e7e7\",\n row: {\n colors: [\"#f3f3f3\", \"transparent\"], // takes an array which will be repeated on columns\n opacity: 0.5\n }\n },\n markers: {\n size: 1\n },\n xaxis: {\n categories: data['categorias'],\n title: {\n text: \"Día\"\n }\n },\n yaxis: {\n title: {\n text: \"Cantidad\"\n },\n min: 0,\n max: Math.max(...maxNumber) + 10\n },\n legend: {\n position: \"top\",\n horizontalAlign: \"right\",\n floating: true,\n offsetY: -25,\n offsetX: -5\n }\n };\n\n this.chartOptionsPie = {\n series: this.avancePie,\n chart: {\n type: \"donut\"\n },\n labels: [\"Sin usar\", \"Finalizado\", \"Pendiente\", \"No es posible completar\"],\n responsive: [\n {\n breakpoint: 480,\n options: {\n chart: {\n width: 70\n },\n legend: {\n position: \"bottom\"\n }\n }\n }\n ]\n };\n Swal.close();\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n downloadAvance(){\n let body = {\n tipo: this.data.tipo,\n proyecto: this.data.proyectoName,\n codificacion: this.data.codificacionName,\n columns: this.campos,\n avance: this.avance\n };\n this.avanceExcelService.downloadAvance(body);\n }\n\n openDialogFiltro(){\n const dialogRef = this.dialog.open(AvanceFiltroComponent, {\n width: '50%',\n disableClose: true,\n data: {control: this.data.control}\n });\n dialogRef.afterClosed().subscribe(result => {\n let body = null;\n if(result){\n if (this.data.tipo == 'proyecto') {\n body = {\n tipo: this.data.tipo,\n proyecto: this.data.proyecto,\n control: result.control,\n fechaini: result.fechaini,\n fechafin: result.fechafin\n };\n this.readAvanceProyecto(body);\n } else {\n body = {\n tipo: this.data.tipo,\n proyecto: this.data.proyecto,\n codificacion: this.data.codificacion,\n control: result.control,\n fechaini: result.fechaini,\n fechafin: result.fechafin\n };\n this.readAvanceCodificacion(body);\n }\n }\n });\n }\n\n}\n","

Avance: {{ titulo }}

\n\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n\n \n\n
\n

Avance general

\n \n
\n \n
\n\n \n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AvanceService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n \n ///////////////////////Busca codificacion\n readAvanceProyecto(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/avance/proyecto`, body, { headers });\n }\n \n ///////////////////////Busca codificacion\n readAvanceCodificacion(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/avance/codificacion`, body, { headers });\n }\n\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\n\nimport { AvanzadasService } from './avanzadas.service';\n\n@Component({\n selector: 'app-avanzadas',\n templateUrl: './avanzadas.component.html',\n styleUrls: ['./avanzadas.component.scss']\n})\nexport class AvanzadasComponent implements OnInit {\n\n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n\n estado = null;\n registrosEstado = null;\n\n control = null;\n registrosControl = null;\n\n estadoList = [\n {value: 0, viewValue: 'Sin usar'},\n {value: 1, viewValue: 'Finalizado'},\n {value: 2, viewValue: 'Pendiente'},\n {value: 3, viewValue: 'No es posible completar'}\n ];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data,\n public dialog: MatDialog,\n private avanzadasService: AvanzadasService\n ) { }\n\n ngOnInit(): void {\n }\n\n updateAvanzadas(variable: any){\n let body = null;\n if (variable == 'estado') {\n body = {\n variable: 'procod_' + variable,\n valor: this.estado,\n registros: this.registrosEstado,\n identificador: this.data.identificador,\n proyecto: this.data.proyecto\n };\n } else {\n body = {\n variable: variable,\n valor: this.control,\n registros: this.registrosControl,\n identificador: this.data.identificador,\n proyecto: this.data.proyecto\n };\n }\n Swal.fire({\n title: '¿Estas seguro de continuar con el cambio?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '¡Si, cambiar!',\n cancelButtonText: 'Cancelar'\n }).then((result) => {\n if (result.isConfirmed) {\n this.avanzadasService.updateAvanzadas(body)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'El cambio se realizó correctamente!'\n });\n },\n (error) => {\n Swal.fire(\n 'Error',\n 'Ocurrio un error al realizar el cambio, intenta más tarde.',\n 'error'\n );\n });\n }\n })\n }\n\n}\n","

Opciones avanzadas

\n\n \n \n
\n

Esta opción te permite cambiar el estado de los registros del proyecto.

\n \n Estado\n \n {{estado.viewValue}}\n \n \n \n Registros\n \n \n \n
\n
\n \n
\n

Esta opción te permite cambiar el valor de la variable de {{ data.control }} de los registros del proyecto.

\n
\n \n Campo {{ data.control }}\n \n \n \n Registros\n \n \n \n
\n
\n
\n
\n
\n\n \n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AvanzadasService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Edita opciones avanzadas\n updateAvanzadas(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.put(`${ this.env.api }/avanzadas`, body, { headers });\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-codificacion-filtro',\n templateUrl: './codificacion-filtro.component.html',\n styleUrls: ['./codificacion-filtro.component.scss']\n})\nexport class CodificacionFiltroComponent implements OnInit {\n\n controlValue = null;\n filtroValue = null;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data,\n ) { }\n\n ngOnInit(): void {\n this.controlValue = this.data.controlValue;\n this.filtroValue = this.data.filtroValue;\n }\n\n filtro(){\n let body = {\n controlValue: this.controlValue,\n filtroValue: this.filtroValue\n };\n this.dialogRef.close(body);\n }\n\n}\n","

Filtro de registros

\n\n
\n \n Seleccionar {{ data.control }}\n \n \n
\n \n Seleccionar valor de campo\n \n \n {{ valor.texto }}\n \n \n \n
\n
\n\n \n \n","

Codificación - {{ data['descripcion'] }}

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ identificador }}{{ text }}
{{ registro[identificador] }} {{ registro[text] }}
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Estado\r\n \r\n \r\n {{ estado.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ columns }}
\r\n {{ value }}\r\n \r\n \r\n 0 && codigos[grupoCol[i][k]]\"\r\n placeholder=\"Selecciona\"\r\n notFoundText=\"Sin resultados\"\r\n [items]=\"codigos[grupoCol[i][k]]\"\r\n bindLabel=\"description\"\r\n clearAllText=\"Clear\"\r\n [formControlName]=\"dataCod[i][j][k]\"\r\n (change)=\"updateCaptura(i, j, k - 1, 'select', $event)\">\r\n \r\n \r\n

\r\n

0 && \r\n codigos[grupoCol[i][k]] && \r\n multipleForm.value[dataCod[i][j][k]]\">\r\n Seleccionado: {{ multipleForm.value[dataCod[i][j][k]].description }}\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n","import { Component, OnInit, OnDestroy, Inject } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {FormControl, FormGroup} from '@angular/forms';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { CodificacionService } from './codificacion.service';\r\nimport { CodificacionFiltroComponent } from './codificacion-filtro/codificacion-filtro.component';\r\n\r\nexport interface DialogData {\r\n id: number;\r\n name: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-codificacion',\r\n templateUrl: './codificacion.component.html',\r\n styleUrls: ['./codificacion.component.scss']\r\n})\r\nexport class CodificacionComponent implements OnInit, OnDestroy {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n identificador: string;\r\n textList = [];\r\n dataCod = [];\r\n displayedColumns = [];\r\n\r\n grupoCol = [];\r\n codigosDefault = null;\r\n codigos = null;\r\n\r\n valRowList = [];\r\n valColList = [];\r\n\r\n captura = [];\r\n\r\n estadoList = [\r\n { value: 1, name: 'Completado' },\r\n { value: 2, name: 'Pendiente' }\r\n // { value: 3, name: 'No es posible completar' }\r\n ];\r\n\r\n selectEstado = null;\r\n\r\n config = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n registro = null;\r\n observacion = null;\r\n\r\n controlValue = null;\r\n filtro = null;\r\n filtroValue = null;\r\n isvista = false;\r\n\r\n multipleForm: FormGroup = null;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialog: MatDialog,\r\n private codificacionService: CodificacionService\r\n ) { }\r\n\r\n ngOnInit() {\r\n console.log(this.data)\r\n this.readVista();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('salida'); \r\n }\r\n\r\n /////////////////////////////// Busca Vista\r\n readVista(){\r\n Swal.fire({\r\n title: 'Cargando pantalla...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n let group = {};\r\n this.codificacionService.readVista(this.data.id)\r\n .subscribe( async (data) => {\r\n this.filtro = data['filtros'] ? data['filtros'] : null;\r\n this.identificador = data['id'] ? data['id'] : null;\r\n this.textList = data['txt'] ? data['txt'] : [];\r\n this.displayedColumns = data['colnota'] ? data['colnota'] : [];\r\n this.dataCod = data['codes'] ? data['codes'] : [];\r\n this.grupoCol = data['grupos'] ? data['grupos'] : [];\r\n let codigos = data['codigos'] ? data['codigos'] : [];\r\n this.codigosDefault = codigos.reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});\r\n this.valColList = data['valcol'] ? data['valcol'] : [];\r\n this.valRowList = data['valrow'] ? data['valrow'] : [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n k > 0 ? group[element] = new FormControl() : null;\r\n });\r\n });\r\n });\r\n this.multipleForm = new FormGroup(group);\r\n await this.readRegistro();\r\n Swal.close();\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n /**Busca validaciones */\r\n getValide(){\r\n Swal.fire({\r\n title: 'Revisando...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n let data = {\r\n captura: this.captura,\r\n codificacion: this.data.id\r\n }\r\n this.codificacionService.getValide(data)\r\n .subscribe( (data: any) => {\r\n if(data.length > 0){\r\n let messages = data.join('');\r\n Swal.fire({\r\n title: 'Revisa las siguientes observaciones',\r\n icon: 'info',\r\n width: 700,\r\n html: `\r\n
    \r\n ${messages}\r\n
\r\n `\r\n });\r\n }else{\r\n let body = {\r\n observacion: this.observacion,\r\n data: this.multipleForm.value,\r\n codificacion: this.data.id,\r\n estado: this.selectEstado,\r\n identificador: this.registro['procod_id'],\r\n revision: false\r\n };\r\n this.updateRegistro(body);\r\n }\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Error al revisar',\r\n text: 'Intente nuevamente'\r\n });\r\n }\r\n );\r\n }\r\n\r\n\r\n /**Guarda informacion*/\r\n async sendData(){\r\n if (!this.selectEstado) {\r\n Swal.fire(\r\n 'Debes seleccionar un estado',\r\n '',\r\n 'info'\r\n ); \r\n }\r\n \r\n if (this.selectEstado > 1) {\r\n const { value: text } = await Swal.fire({\r\n title: 'Observaciones',\r\n input: 'textarea',\r\n inputPlaceholder: 'Escribe tus observaciones aquí...',\r\n confirmButtonText: 'Enviar',\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n });\r\n \r\n if (text) {\r\n this.observacion = text;\r\n let body = {\r\n observacion: this.observacion,\r\n data: this.multipleForm.value,\r\n codificacion: this.data.id,\r\n estado: this.selectEstado,\r\n identificador: this.registro['procod_id'],\r\n revision: false\r\n }\r\n \r\n this.updateRegistro(body);\r\n }\r\n }else if(this.selectEstado == 1){\r\n this.getValide();\r\n }\r\n }\r\n\r\n /////////////////////////////// Busca registro a codificar\r\n async readRegistro(){\r\n this.registro = null;\r\n let body = {\r\n codificacion: this.data.id,\r\n control: this.data['control'],\r\n control_value: this.controlValue,\r\n filtro: this.filtro,\r\n filtro_value: this.filtroValue\r\n };\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n return new Promise((resolve) => {\r\n this.codificacionService.readRegistro(body)\r\n .subscribe( (data) => {\r\n this.isvista = false;\r\n this.registro = data['registro'];\r\n if (!this.registro) {\r\n Swal.fire({\r\n icon: 'info',\r\n text: 'No hay registro disponibles',\r\n });\r\n }\r\n if (data['codigos'].length > 0) {\r\n this.codigos = data['codigos'].reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});;\r\n }else{\r\n this.codigos = this.codigosDefault;\r\n }\r\n this.isvista = true;\r\n resolve(data); \r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n });\r\n }\r\n\r\n ///////////////////////// Guardar registro\r\n updateRegistro(body: any){\r\n this.codificacionService.updateRegistro(body)\r\n .subscribe(async (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Registro guardado correctamente'\r\n });\r\n this.multipleForm.reset();\r\n this.selectEstado = null;\r\n this.observacion = null;\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n await this.readRegistro();\r\n },\r\n (error) => {\r\n this.Toast.fire({\r\n icon: 'error',\r\n title: 'Error al guardar el registro'\r\n });\r\n }\r\n );\r\n }\r\n\r\n /////////////// Seleccionar filtro de registros\r\n openDialogFilterRegistro(){\r\n const dialogRef = this.dialog.open(CodificacionFiltroComponent, {\r\n width: '400px',\r\n disableClose: true,\r\n data: { control: this.data['control'], controlValue: this.controlValue , filtro: this.filtro, filtroValue: this.filtroValue }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(async result => {\r\n if (result) {\r\n Swal.fire({\r\n title: 'Cargando...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.multipleForm.reset();\r\n this.selectEstado = null;\r\n this.observacion = null;\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n this.filtroValue = result.filtroValue;\r\n this.controlValue = result.controlValue;\r\n await this.readRegistro(); \r\n Swal.close();\r\n }\r\n });\r\n }\r\n\r\n\r\n /////////////// Actualiza arreglo de captura\r\n updateCaptura(table: number, row: number, column: number, type: string, $event: any){\r\n if (type == 'input' && $event != undefined) {\r\n this.captura[table][row][column] = $event.target.value;\r\n } else if (type == 'select' && $event != undefined) {\r\n this.captura[table][row][column] = $event;\r\n }else {\r\n this.captura[table][row][column] = null;\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CodificacionService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca pantalla\n readVista(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/vista/${id}`, { headers });\n }\n\n ///////////////////////Busca validacion\n getValide(data: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/valida`, data, { headers });\n }\n\n ///////////////////////Busca registro a codificar\n readRegistro(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/vista/registro`, body, { headers });\n }\n\n \n updateRegistro(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.put(`${ this.env.api }/vista/registro`, body, { headers });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Workbook } from 'exceljs';\nimport * as fs from 'file-saver';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CodigoExcelService {\n\n constructor() { }\n \n downloadCodigo(proyectoName: any, body: any){\n let workbook = new Workbook();\n for (let grupo of body) {\n const title = 'Códigos: ' + grupo.grupo;\n let worksheet = workbook.addWorksheet(grupo.grupo);\n // Add new row\n let titleRow = worksheet.addRow([title]);\n worksheet.addRow(['Creado por Procod']);\n worksheet.addRow([]);\n\n titleRow.font = { name: 'Arial', family: 4, size: 14, bold: true };\n \n let headerRow = worksheet.addRow(grupo.campos);\n for (let row of grupo.resultado){\n let keys = grupo.campos;\n let temp=[];\n for(let key of keys){\n temp.push(row[key]);\n }\n worksheet.addRow(temp);\n }\n \n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '4D79FF' },\n bgColor: { argb: '4D79FF' }\n }\n cell.style.font = {\n bold: true,\n color: { argb: 'FFFFFF' }\n }\n });\n }\n \n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n fs.saveAs(blob, `Códigos - ${proyectoName}.xlsx`);\n });\n\n }\n\n\n}\n","

Códigos

\n\n
\n
\n\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n Grupo \n {{element.name}} \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n \n
\n\n \n \n info\n \n Selecciona un grupo para ver los códigos.\n \n\n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n Código \n {{element.code}} \n Nombre {{element.name}} \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n\n\n
\n \n
\n\n \n","import { Component, OnInit, Inject } from '@angular/core';\n\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {MatTableDataSource} from '@angular/material/table';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\nimport * as XLSX from 'xlsx';\n\nimport { CodigoService } from './codigo.service';\nimport { CodigoExcelService } from './codigo-excel.service';\n\nexport interface DialogData {\n proyecto: number;\n proyectoName: string;\n}\n\nexport interface Codigos {\n id: number;\n nombre: string;\n codigo: number;\n}\n\n@Component({\n selector: 'app-codigo',\n templateUrl: './codigo.component.html',\n styleUrls: ['./codigo.component.scss']\n})\nexport class CodigoComponent implements OnInit {\n\n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n \n grupoList = null;\n codigoList = null;\n isGrupo = false;\n id_grupo = null;\n name_grupo = null;\n\n codigoColumns: string[] = ['select' ,'codigo', 'nombre', 'mas'];\n grupoColumns: string[] = ['id', 'grupo', 'mas'];\n\n dataSourceCode = null;\n selectionCode = new SelectionModel(true, []);\n \n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private codigoService: CodigoService,\n private codigoExcelService: CodigoExcelService\n ) { }\n\n ngOnInit() {\n this.readGrupo();\n }\n\n /////////////////////////////// Busca grupo\n readGrupo(){\n this.codigoService.readGrupo(this.data.proyecto)\n .subscribe( (data) => {\n this.grupoList = Object.keys(data).map( (row) => {\n return {\n id: data[row][0], \n name: data[row][1],\n }\n });\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n /////////////////////////////// Crea grupo\n createGrupo(){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Crear',\n showCancelButton: true,\n allowEscapeKey: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage(\n 'Campo requerido'\n )\n }\n }\n }).queue([\n {\n title: 'Nuevo grupo',\n text: 'Escribe el nombre del grupo nuevo'\n }\n ]).then((result: any) => {\n if (result.value) {\n const name = result.value[0];\n this.codigoService.createGrupo(name, this.data.proyecto)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Grupo creado correctamente'\n });\n this.readGrupo();\n },\n (error) => {\n Swal.fire(\n `¡Se generó un error al crear el grupo ${name}, revise que el nombre del grupo no este duplicado, o intente más tarde!`,\n '',\n 'info'\n );\n }\n );\n }\n })\n }\n\n /////////////////////////////// Edita grupo\n updateGrupo(id: number, name: string){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Editar',\n showCancelButton: true,\n allowEscapeKey: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage(\n \"Campo requerido\"\n )\n }\n }\n }).queue([\n {\n title: 'Edita grupo',\n text: 'Escribe el nuevo nombre del grupo',\n inputValue: `${name}`\n }\n ]).then((result: any) => {\n if (result.value) {\n const newname = result.value[0];\n this.codigoService.updateGrupo(newname, id)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Grupo editado creado correctamente'\n });\n this.readGrupo();\n },\n (error) => {\n Swal.fire(\n `¡Se generó un error al ceditado el grupo '${name}', revise que el nombre del grupo no este duplicado, o intente más tarde!`,\n '',\n 'info'\n );\n }\n );\n }\n })\n }\n\n //////////////////////Elimina grupo\n deleteGrupo(id: number, name: string){\n Swal.fire({\n title: `¿Estas seguro de eliminar el grupo ${name}?`,\n text: 'Se eliminara todo lo relacionado con el grupo',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '¡Si, Eliminar!',\n cancelButtonText: 'Cancelar'\n }).then((result) => {\n if (result.isConfirmed) {\n this.codigoService.deleteGrupo(id)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'El grupo se eliminó correctamente'\n });\n this.readGrupo();\n },\n (error) => {\n Swal.fire(\n 'Error',\n 'Ocurrio un error al eliminar el grupo, intenta más tarde.',\n 'error'\n );\n });\n }\n })\n }\n\n ////////////Selecciona grupo\n selectGrupo(id: number){\n this.isGrupo = true;\n this.id_grupo = id;\n this.readCodigo(this.id_grupo);\n }\n\n /////////////////////////////// Busca Codigo\n readCodigo(grupo: number){\n this.codigoService.readCodigo(grupo)\n .subscribe( (data) => {\n this.codigoList = Object.keys(data).map( (row) => {\n return {\n id: Number(data[row][0]),\n code: Number(data[row][1]),\n name: data[row][2]\n }\n });\n this.selectionCode = new SelectionModel(true, []);\n this.dataSourceCode = new MatTableDataSource(this.codigoList);\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n /////////////////////////////// Crea Codigo\n createCodigo(){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Siguiente →',\n showCancelButton: true,\n allowEscapeKey: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage(\n 'Campo requerido'\n )\n }\n }\n }).queue([\n {\n title: 'Nuevo código',\n text: 'Escribe el código nuevo',\n input: 'number'\n },\n {\n title: 'Nombre de código',\n text: 'Escribe la nombre del código',\n }\n ]).then((result: any) => {\n if (result.value) {\n let codigo = result.value[0];\n let nombre = result.value[1];\n let data = [\n [codigo,nombre]\n ];\n Swal.fire({\n title: `Código nuevo: '${codigo}' → '${nombre}'`,\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '¡Crear!',\n cancelButtonText: 'Cancelar'\n }).then((result: any) => {\n this.codigoService.createCodigo(data, this.id_grupo)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Código creado exitosamente!'\n });\n this.readCodigo(this.id_grupo);\n },\n (error) => {\n Swal.fire(\n `¡Se generó un error al crear código '${codigo}' → '${nombre}', revise que el código o el nombre no este duplicado, o intente más tarde!`,\n '',\n 'info'\n );\n }\n );\n });\n }\n })\n }\n\n /////////////////////////////// edita codigo\n updateCodigo(id: number, code: number, name: string){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Siguiente →',\n showCancelButton: true,\n allowEscapeKey: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage(\n \"Campo requerido\"\n )\n }\n }\n }).queue([\n {\n title: `Edita código → ${code}`,\n text: `Escribe el código nuevo`,\n input: 'number',\n inputValue: `${code}`\n },\n {\n title: 'Edita nombre del código',\n text: `Escribe el nuevo nombre del código '${name}'`,\n inputValue: `${name}`\n }\n ]).then((result: any) => {\n if (result.value) {\n const newcode = result.value[0];\n const newname = result.value[1];\n Swal.fire({\n title: `¡Editar '${code}' → '${newcode}', '${name}' → '${newname}' !`,\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '!Editar!',\n cancelButtonText: 'Cancelar'\n }).then((result: any) => {\n this.codigoService.updateCodigo(id, newcode, newname)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Código editado exitosamente!'\n });\n this.readCodigo(this.id_grupo);\n },\n (error) => {\n Swal.fire(\n `¡Se generó un error al editar el código '${name}', revise que el código o el nombre no esten duplicados, o intente más tarde!`,\n '',\n 'info'\n );\n }\n );\n });\n }\n })\n }\n\n /////////////////////////////// Elimina codificacion\n deleteCodigo(id: string, code: string, name: string){\n Swal.fire({\n title: `¿Estas seguro de eliminar el código '${code}' → '${name}'?`,\n text: \"Se eliminara permanentemente el código\",\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '¡Si, Eliminar!',\n cancelButtonText: 'Cancelar'\n }).then((result) => {\n if (result.isConfirmed) {\n this.codigoService.deleteCodigo(id)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'El código se eliminó correctamente!'\n });\n this.selectionCode.clear();\n this.readCodigo(this.id_grupo);\n },\n (error) => {\n Swal.fire(\n 'Error',\n 'Ocurrio un error al eliminar el código, intenta más tarde.',\n 'error'\n );\n });\n }\n })\n }\n\n /** Seleccciona todos los codigos */\n isAllSelected() {\n const numSelected = this.selectionCode.selected.length;\n const numRows = this.dataSourceCode.data.length;\n return numSelected === numRows;\n }\n\n masterToggle() {\n this.isAllSelected() ?\n this.selectionCode.clear() :\n this.dataSourceCode.data.forEach(row => this.selectionCode.select(row));\n }\n\n checkboxLabel(row?: Codigos): string {\n if (!row) {\n return `${this.isAllSelected() ? 'select' : 'deselect'} all`;\n }\n return `${this.selectionCode.isSelected(row) ? 'deselect' : 'select'} row ${row.codigo + 1}`;\n }\n\n /** Elimina codigos seleccionados */\n deleteSelectCodes(){\n let item = [];\n for(let select of this.selectionCode.selected){\n item.push(select.id);\n }\n let deleted = item.toString();\n Swal.fire({\n title: `¿Estas seguro de eliminar los ${item.length} códigos seleccionados?`,\n text: \"Se eliminaran permanentemente los códigos\",\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '¡Si, Eliminar!',\n cancelButtonText: 'Cancelar'\n }).then((result) => {\n if (result.isConfirmed) {\n this.codigoService.deleteCodigo(deleted)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Los códigos se eliminaron correctamente!'\n });\n this.selectionCode.clear();\n this.readCodigo(this.id_grupo);\n },\n (error) => {\n Swal.fire(\n 'Error',\n 'Ocurrio un error al eliminar los códigos, intenta más tarde.',\n 'error'\n );\n });\n }\n })\n \n }\n \n async uploadCodigo(){\n Swal.fire({\n title: 'Selecciona xlsx',\n input: 'file',\n inputAttributes: {\n 'accept': 'file/*',\n 'aria-label': 'Carga archivo xlsx'\n },\n showCancelButton: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Ok',\n showLoaderOnConfirm: true,\n preConfirm: (file) => {\n if (file) {\n const reader = new FileReader;\n reader.onload = (e) => {\n const data = reader.result;\n let workBook = XLSX.read(data, { type: 'binary' });\n let sheet1 = workBook.SheetNames[0];\n let sheet = workBook.Sheets[sheet1];\n let jsonData = XLSX.utils.sheet_to_json(sheet);\n let arrayData = [];\n jsonData.forEach(element => {\n let row = [];\n Object.keys(element).map(r =>{\n row.push(element[r]);\n });\n arrayData.push(row);\n });\n Swal.fire({\n title: 'Carga de datos',\n text: `El archivo contiene ${arrayData.length} filas`,\n icon: 'info',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonText: 'Cancelar',\n cancelButtonColor: '#d33',\n confirmButtonText: 'Cargar'\n }).then((result) => {\n if (result.isConfirmed) {\n this.codigoService.createCodigo(arrayData,this.id_grupo)\n .subscribe( (data) => {\n Swal.fire(\n 'Códigos',\n `Se cargaron ${data} códigos correctamente.`,\n 'success'\n );\n this.readCodigo(this.id_grupo);\n },\n (error) => {\n Swal.fire(\n 'Error',\n 'Ocurrio un error al cargar los códigos, intenta más tarde.',\n 'error'\n );\n });\n }\n })\n };\n reader.readAsBinaryString(file);\n }\n },\n allowOutsideClick: () => !Swal.isLoading()\n });\n \n }\n\n /**Descargar codigos */\n downloadCodigo(){\n this.codigoService.downloadCodigo(this.data.proyecto).\n subscribe((data) => {\n this.codigoExcelService.downloadCodigo(this.data.proyectoName, data);\n },\n (error) => {\n console.log(error);\n });\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CodigoService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n\n ///////////////////////Busca grupo\n readGrupo(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/grupo/${id}`, { headers });\n }\n\n ///////////////////////Crea grupo\n createGrupo(name: string, id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n nombre: name,\n id: id\n };\n\n return this.http.post(`${ this.env.api }/grupo`, body, { headers });\n }\n\n ///////////////////////Edita grupo\n updateGrupo(name: string, id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n nombre: name,\n id: id\n };\n\n return this.http.put(`${ this.env.api }/grupo`, body, { headers });\n }\n\n ///////////////////////Elimina grupo\n deleteGrupo(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/grupo/${id}`, { headers });\n }\n\n ///////////////////////Busca codigo\n readCodigo(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/codigo/${id}`, { headers });\n }\n\n ///////////////////////Crea codigo\n createCodigo(data: any, grupo: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n data: data,\n grupo: grupo\n };\n\n return this.http.post(`${ this.env.api }/codigo`, body, { headers });\n }\n\n ///////////////////////Edita codigo\n updateCodigo(id: number, codigo:number, nombre: string){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n id: id,\n codigo: codigo,\n nombre: nombre\n };\n\n return this.http.put(`${ this.env.api }/codigo`, body, { headers });\n }\n\n ///////////////////////Elimina codigo\n deleteCodigo(id: string){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/codigo/${id}`, { headers });\n }\n\n\n ////////////////////Descarga codigos\n downloadCodigo(proyecto: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/codigo/descarga/${proyecto}`, { headers });\n }\n\n\n}\n","

Descarga de proyecto

\n\n
\n \n Seleccionar {{ data.control }} (opcional)\n \n \n
\n \n Seleccionar estado\n \n \n {{ estado.name }}\n \n \n \n
\n \n Selecciona codificación (opcional)\n \n \n {{ codificacion.name }}\n \n \n \n
\n
\n\n \n \n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport Swal from 'sweetalert2';\nimport { DetalleExcelService } from '../detalle-proyecto/detalle-excel.service';\nimport { DetalleProyectoService } from '../detalle-proyecto/detalle-proyecto.service';\n\n@Component({\n selector: 'app-descarga',\n templateUrl: './descarga.component.html',\n styleUrls: ['./descarga.component.scss']\n})\nexport class DescargaComponent implements OnInit {\n\n estadoList = [\n { value: 0, name: 'Sin usar' },\n { value: 1, name: 'Completado' },\n { value: 2, name: 'Pendiente' },\n { value: 3, name: 'No es posible completar' }\n ];\n\n selectEstado = null;\n controlValue = null;\n codificacionList = null;\n selectCodificacion = null;\n\n labels = 'value';\n public dataList = [];\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data,\n public dialog: MatDialog,\n private detalleExcelService: DetalleExcelService,\n private detalleProyectoService: DetalleProyectoService,\n ) { }\n\n ngOnInit(): void {\n }\n\n downloadProyecto(){\n let body = {\n proyecto: Number(this.data.proyecto),\n identificador: this.data.identificador,\n estado: this.selectEstado,\n campoControl: this.data.control,\n control: this.controlValue,\n codificacion: this.selectCodificacion,\n };\n this.detalleProyectoService.downloadProyecto(body).\n subscribe((data)=>{\n this.detalleExcelService.downloadProyecto(this.data.nameProyecto, data, this.labels);\n },\n (error) => {\n // console.log(error);\n });\n }\n\n async countProyecto(){\n this.dataList = [];\n Swal.fire({\n title: 'Descargando registros. Esto puede tardar un poco',\n allowOutsideClick: false,\n onOpen: () =>{\n Swal.showLoading();\n }\n });\n for await (const cod of this.selectCodificacion) {\n let body = {\n proyecto: Number(this.data.proyecto),\n identificador: this.data.identificador,\n estado: this.selectEstado,\n campoControl: this.data.control,\n control: this.controlValue,\n codificacion: [cod],\n };\n // console.log(body)\n\n let respcount = await this.detalleProyectoService.countProyecto(body).toPromise();\n // console.log(respcount)\n let count = respcount?.[0]?.[\"resultado\"]?.[\"cuenta\"];\n let chunkList = this.chunks(count, 500);\n let c = 1;\n let dataChunkObj = {\n resultado: [],\n // resultado: [],\n };\n if(chunkList.length > 0){\n\n for await (const chunk of chunkList) {\n body[\"pagina\"] = chunk;\n let resdata = await this.detalleProyectoService.downloadProyectoPag(body).toPromise();\n // console.log(resdata)\n if(c == 1) {\n dataChunkObj = resdata[0];\n }else{\n dataChunkObj[\"resultado\"] = [...dataChunkObj[\"resultado\"], ...resdata[0][\"resultado\"]]\n }\n c += 1; \n }\n if(dataChunkObj) this.dataList.push(dataChunkObj);\n\n }else{\n body[\"pagina\"] = 1;\n let resdata = await this.detalleProyectoService.downloadProyectoPag(body).toPromise();\n dataChunkObj = resdata[0];\n this.dataList.push(dataChunkObj);\n }\n }\n Swal.close();\n if(this.dataList.length > 0) this.detalleExcelService.downloadProyecto(this.data.nameProyecto, this.dataList, this.labels);\n else {\n Swal.fire(\n 'Información',\n 'No se encontraron registros a descargar.',\n 'info'\n );\n }\n }\n\n\n chunks(total, grupo){\n const grupos: number[] = [];\n for (let i = 0; i < total / grupo; i++) {\n grupos.push((i + 1) * grupo - grupo);\n }\n return grupos\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Workbook } from 'exceljs';\nimport * as fs from 'file-saver';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DetalleExcelService {\n\n constructor() { }\n\n ///////////////////////Descarga de codificacion\n downloadCodificacion(body: any){\n const title = 'Codificación: ' + body.codificacion;\n let workbook = new Workbook();\n let worksheet = workbook.addWorksheet(body.codificacion);\n // Add new row\n let titleRow = worksheet.addRow([title]);\n worksheet.addRow(['Creado por Procod']);\n worksheet.addRow([]);\n\n titleRow.font = { name: 'Arial', family: 4, size: 14, bold: true };\n\n let headerRow = worksheet.addRow(body.columns);\n for (let row of body.data){\n let keys = body.columns;\n let temp=[];\n for(let key of keys){\n temp.push(this.isObject(row[key], body.labels));\n }\n worksheet.addRow(temp);\n }\n\n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '4D79FF' },\n bgColor: { argb: '4D79FF' }\n }\n cell.style.font = {\n bold: true,\n color: { argb: 'FFFFFF' }\n }\n });\n \n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n fs.saveAs(blob, `Codificación - ${body.codificacion}.xlsx`);\n });\n\n }\n\n ///////////////////////Descarga de proyecto\n downloadProyecto(proyecto: any, body: any, labels: string){\n let workbook = new Workbook();\n for (let codificacion of body) {\n const title = 'Codificación: ' + codificacion.codificacion;\n let worksheet = workbook.addWorksheet(codificacion.codificacion);\n // Add new row\n let titleRow = worksheet.addRow([title]);\n worksheet.addRow(['Creado por Procod']);\n worksheet.addRow([]);\n\n titleRow.font = { name: 'Arial', family: 4, size: 14, bold: true };\n \n let headerRow = worksheet.addRow(codificacion.campos);\n for (let row of codificacion.resultado){\n let keys = codificacion.campos;\n let temp=[];\n for(let key of keys){\n temp.push(this.isObject(row[key], labels));\n }\n worksheet.addRow(temp);\n }\n \n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '4D79FF' },\n bgColor: { argb: '4D79FF' }\n }\n cell.style.font = {\n bold: true,\n color: { argb: 'FFFFFF' }\n }\n });\n }\n \n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n fs.saveAs(blob, `Proyecto - ${proyecto}.xlsx`);\n });\n\n }\n\n\n ////////////////Revisa si el valor es un objeto\n isObject(value: any, labels: string){\n if (typeof value === 'object' && value !== null) {\n return value[labels];\n } else {\n return value;\n }\n }\n\n\n}\n","\r\n \r\n \r\n \r\n
\r\n \r\n

\r\n Selecciona una pantalla para ver las opciones disponibles.\r\n

\r\n \r\n
\r\n \r\n
\r\n\t
\r\n\r\n\t\r\n \r\n \r\n \r\n \r\n
\r\n folder\r\n
\r\n {{ proyecto }}\r\n {{ codificacion }}\r\n
\r\n \r\n

Descripción: {{ descripcion }}

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

Pantallas

\r\n
\r\n \r\n
\r\n 1\" \r\n mat-icon-button \r\n class=\"text-success\" \r\n matTooltip=\"Crea nueva codificación\" \r\n matTooltipPosition=\"above\"\r\n (click)=\"createCod()\">\r\n add_circle_outline\r\n \r\n Pantalla\r\n
\r\n \r\n
\r\n \r\n \r\n code\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\t
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { AuthService } from '../../../service/auth.service';\r\nimport { DetalleProyectoService } from './detalle-proyecto.service';\r\n\r\nimport { CodigoComponent } from '../codigo/codigo.component';\r\nimport { PantallaComponent } from '../pantalla/pantalla.component';\r\nimport { VistaComponent } from '../vista/vista.component';\r\nimport { RegistroComponent } from '../registro/registro.component';\r\nimport { AvanzadasComponent } from '../avanzadas/avanzadas.component';\r\nimport { CodificacionComponent } from '../codificacion/codificacion.component';\r\nimport { DescargaComponent } from '../descarga/descarga.component';\r\nimport { AvanceComponent } from '../avance/avance.component';\r\nimport { RevisionComponent } from '../revision/revision.component';\r\nimport { ImportarComponent } from '../importar/importar.component';\r\n\r\n@Component({\r\n selector: 'app-detalle-proyecto',\r\n templateUrl: './detalle-proyecto.component.html',\r\n styleUrls: ['./detalle-proyecto.component.scss']\r\n})\r\nexport class DetalleProyectoComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n permissions = null;\r\n\r\n proyecto = null;\r\n idProyecto = null;\r\n identificador = null;\r\n control = null;\r\n codificacion = null;\r\n idCodificacion = null;\r\n descripcion = null;\r\n codificacionList = null;\r\n\r\n iscod = false;\r\n ispantalla = false;\r\n \r\n constructor(\r\n private router: Router,\r\n private activeRoute: ActivatedRoute,\r\n private auth: AuthService,\r\n public dialog: MatDialog,\r\n private detalleService: DetalleProyectoService,\r\n ) { \r\n this.activeRoute.params.subscribe( parametro => {\r\n this.idProyecto = parametro.proyecto;\r\n });\r\n }\r\n\r\n async ngOnInit() {\r\n await this.getPermissions();\r\n this.readCod();\r\n }\r\n\r\n ///////////////////Busca permisos\r\n async getPermissions(){\r\n this.auth.getPermissions()\r\n .subscribe( (data) => {\r\n this.permissions = data;\r\n },\r\n (error) => {\r\n this.router.navigateByUrl('/login');\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca pantallas\r\n readCod(){\r\n this.detalleService.readCod(this.idProyecto)\r\n .subscribe( (data) => {\r\n this.codificacionList = Object.keys(data['pantallas']).map( (row) => {\r\n return {\r\n id: data['pantallas'][row][0], \r\n name: data['pantallas'][row][1],\r\n pantalla: data['pantallas'][row][2],\r\n descripcion: data['pantallas'][row][3]\r\n }\r\n });\r\n this.proyecto = data['proyecto'][0][0];\r\n this.identificador = data['proyecto'][0][1];\r\n this.control = data['proyecto'][0][2];\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n );\r\n }\r\n\r\n ///////////////////Seleccion de pantalla\r\n selectCod(id: number, name: string, descripcion: string, pantalla: boolean){\r\n this.idCodificacion = id;\r\n this.codificacion = name;\r\n this.descripcion = descripcion;\r\n this.ispantalla = pantalla;\r\n this.iscod = true;\r\n }\r\n\r\n /////////////////////Regresa a proyectos\r\n backProyecto(){\r\n this.router.navigateByUrl('proyectos');\r\n }\r\n\r\n //////////////////////Edita proyecto\r\n updateProyecto(){\r\n let campo = 1;\r\n Swal.mixin({\r\n input: 'text',\r\n confirmButtonText: 'Siguiente →',\r\n allowEscapeKey: true,\r\n showCancelButton: true,\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: 'Cancelar',\r\n preConfirm: (values) =>{\r\n if (!values && campo < 3) {\r\n Swal.showValidationMessage(\r\n \"Campo requerido\"\r\n );\r\n }else{\r\n campo += 1;\r\n }\r\n }\r\n }).queue([\r\n {\r\n title: 'Edita proyecto',\r\n text: 'Escribe el nuevo nombre del proyecto',\r\n inputValue: `${this.proyecto}`\r\n },\r\n {\r\n title: 'Identificador',\r\n text: 'Escribe el nuevo nombre del campo que servira de identificador para tus tablas de codificación',\r\n inputValue: `${this.identificador}`\r\n },\r\n {\r\n title: 'Variable de control (Opcional)',\r\n html: 'Escribe el nuevo nombre del campo que servira como variable de control (Variable de corte, periodo, etc.).',\r\n inputValue: `${this.control}`\r\n }\r\n ]).then((result: any) => {\r\n if (result.value) {\r\n let body = {\r\n proyecto: this.idProyecto,\r\n nombre: result.value[0],\r\n identificador: result.value[1].toLowerCase(),\r\n control: result.value[2].toLowerCase()\r\n };\r\n this.detalleService.updateProyecto(body)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Proyecto editado correctamente'\r\n });\r\n this.readCod();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n `¡Se generó un error al editar el proyecto ${result.value[0]}, revise que el nombre del proyecto no este duplicado, o intente más tarde!`,\r\n '',\r\n \"info\"\r\n );\r\n }\r\n );\r\n }\r\n })\r\n }\r\n\r\n //////////////////////Elimina proyecto\r\n deleteProyecto(){\r\n Swal.fire({\r\n title: `¿Estas seguro de eliminar el proyecto ${this.proyecto}?`,\r\n text: 'Se eliminara todo lo relacionado con el proyecto',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, Eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.detalleService.deleteProyecto(this.idProyecto)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Proyecto eliminado correctamente'\r\n });\r\n this.backProyecto();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al eliminar el proyecto, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n\r\n /////////////////////////////// Crea codificacion\r\n createCod(){\r\n Swal.mixin({\r\n input: 'text',\r\n confirmButtonText: 'Siguiente →',\r\n showCancelButton: true,\r\n allowEscapeKey: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n preConfirm: (values) =>{\r\n if (!values) {\r\n Swal.showValidationMessage(\r\n \"Campo requerido\"\r\n )\r\n }\r\n }\r\n }).queue([\r\n {\r\n title: 'Nueva codificación',\r\n text: 'Escribe el nombre de la codificación nueva'\r\n },\r\n {\r\n title: 'Descripción de codificación',\r\n text: 'Escribe la descripción de la codificación'\r\n }\r\n ]).then((result: any) => {\r\n if (result.value) {\r\n const name = result.value[0];\r\n const descripcion = result.value[1];\r\n Swal.fire({\r\n title: `¡Todo listo para crear la codificación!`,\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Crear!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result: any) => {\r\n this.detalleService.createCod(name, descripcion, this.idProyecto)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Codificación creada correctamente'\r\n });\r\n this.readCod();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n `¡Se generó un error al crear la codificación ${name}, revise que el nombre de la codificación no este duplicado, o intente más tarde!`,\r\n '',\r\n 'info'\r\n );\r\n }\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n /////////////////////////////// edita codificacion\r\n updateCod(){\r\n Swal.mixin({\r\n input: 'text',\r\n confirmButtonText: 'Siguiente →',\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: 'Cancelar',\r\n showCancelButton: true,\r\n allowEscapeKey: true,\r\n preConfirm: (values) =>{\r\n if (!values) {\r\n Swal.showValidationMessage(\r\n \"Campo requerido\"\r\n )\r\n }\r\n }\r\n }).queue([\r\n {\r\n title: 'Edita codificación',\r\n text: 'Escribe el nombre nuevo de la codificación',\r\n inputValue: `${this.codificacion}`\r\n },\r\n {\r\n title: 'Edita descripción de codificación',\r\n text: 'Escribe la nueva descripción de la codificación',\r\n inputValue: `${this.descripcion}`\r\n }\r\n ]).then((result: any) => {\r\n if (result.value) {\r\n const newname = result.value[0];\r\n const descripcion = result.value[1];\r\n Swal.fire({\r\n title: `¡Todo listo para editar la codificación!`,\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n confirmButtonText: '!Editar!',\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result: any) => {\r\n this.detalleService.updateCod(newname, descripcion, this.idCodificacion)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Codificación editada correctamente'\r\n });\r\n this.readCod();\r\n this.selectCod(this.idCodificacion, newname, descripcion, this.ispantalla);\r\n },\r\n (error) => {\r\n Swal.fire(\r\n `¡Se generó un error al editar la codificación '${newname}', revise que el nombre de la codificación no este duplicado, o intente más tarde!`,\r\n '',\r\n \"info\"\r\n );\r\n }\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n /////////////////////////////// Elimina codificacion\r\n deleteCod(){\r\n Swal.fire({\r\n title: `¿Estas seguro de eliminar la codificación ${this.descripcion}?`,\r\n text: 'Se eliminara todo lo relacionado con la codificación',\r\n icon: 'question',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, Eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.detalleService.deleteCod(this.idCodificacion)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Codificación eliminada correctamente'\r\n });\r\n this.readCod();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al eliminar la codificación, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n /////////////Lleva a vista de codigos\r\n openDialogCod() {\r\n const dialogRef = this.dialog.open(CodigoComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: { proyecto: this.idProyecto, proyectoName: this.proyecto }\r\n });\r\n }\r\n\r\n /////////////Lleva a vista de crear pantalla\r\n openDialogPantalla() {\r\n const dialogRef = this.dialog.open(PantallaComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: { proyecto: this.idProyecto, id: this.idCodificacion, pantalla: this.ispantalla }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.readCod();\r\n this.selectCod(this.idCodificacion, this.codificacion, this.descripcion, result);\r\n });\r\n }\r\n\r\n /////////////Lleva a vista de vista previa de pantalla\r\n openDialogVista() {\r\n const dialogRef = this.dialog.open(VistaComponent, {\r\n width: '100%',\r\n height: '98%',\r\n disableClose: true,\r\n data: { id: this.idCodificacion }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de registros\r\n openDialogRegistro() {\r\n const dialogRef = this.dialog.open(RegistroComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: { id: this.idCodificacion, codificacion: this.codificacion }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de opciones avanzadas\r\n openDialogAvanzadas() {\r\n const dialogRef = this.dialog.open(AvanzadasComponent, {\r\n disableClose: true,\r\n data: { control: this.control, identificador: this.identificador, proyecto: this.idProyecto, codificacion: this.idCodificacion }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de iniciar codificacion\r\n openDialogIniciar() {\r\n const dialogRef = this.dialog.open(CodificacionComponent, {\r\n width: '100%',\r\n height: '98%',\r\n disableClose: true,\r\n data: { id: this.idCodificacion, control: this.control, descripcion: this.descripcion }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de iniciar codificacion\r\n openDialogRevision() {\r\n const dialogRef = this.dialog.open(RevisionComponent, {\r\n width: '100%',\r\n height: '98%',\r\n disableClose: true,\r\n data: { id: this.idCodificacion, control: this.control }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de descarga de proyecto\r\n openDialogDescarga() {\r\n const dialogRef = this.dialog.open(DescargaComponent, {\r\n width: '50%',\r\n disableClose: true,\r\n data: {\r\n nameProyecto: this.proyecto,\r\n proyecto: this.idProyecto, \r\n identificador: this.identificador, \r\n control: this.control, \r\n codificacionList: this.codificacionList \r\n }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de descarga de proyecto\r\n openDialogAvance(tipo: string) {\r\n const dialogRef = this.dialog.open(AvanceComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: {\r\n tipo: tipo, \r\n proyectoName: this.proyecto, \r\n proyecto: this.idProyecto, \r\n codificacionName: this.codificacion, \r\n codificacion: this.idCodificacion, \r\n control: this.control\r\n }\r\n });\r\n\r\n }\r\n\r\n /**\r\n * @description Deshabilita proyecto\r\n */\r\n async disableProyecto(){\r\n console.log(this.idProyecto)\r\n Swal.fire({\r\n title: `¿Estas seguro de deshabilitar el proyecto ${this.proyecto}?`,\r\n text: 'El proyecto no se eliminará, sólo quedará oculto.',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, deshabilitar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.detalleService.disableProyecto(this.idProyecto)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Proyecto deshabilitado correctamente'\r\n });\r\n this.backProyecto();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al deshabilitar el proyecto, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n openDialogImport(){\r\n const dialogRef = this.dialog.open(ImportarComponent, {\r\n width: '100%',\r\n height: '98%',\r\n disableClose: true,\r\n data: {\r\n idProyecto: this.idProyecto,\r\n control: this.control\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DetalleProyectoService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca codificacion\n readCod(proyecto: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/codificacion/${proyecto}`, { headers });\n }\n \n ///////////////////////Edita proyecto\n updateProyecto(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.put(`${ this.env.api }/proyecto`, body, { headers });\n }\n\n ///////////////////////Elimina proyecto\n deleteProyecto(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/proyecto/${id}`, { headers });\n }\n\n ///////////////////////Deshabilita proyecto\n disableProyecto(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n let body = {\n id: id\n };\n\n return this.http.patch(`${ this.env.api }/proyecto`, body, { headers });\n }\n\n ///////////////////////Crea codificacion\n createCod(name: string, descripcion: string, proyecto: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n nombre: name,\n descripcion: descripcion,\n proyecto: proyecto\n };\n\n return this.http.post(`${ this.env.api }/codificacion`, body, { headers });\n }\n\n ///////////////////////Edita codificacion\n updateCod(name: string, descripcion: string, codificacion: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n nombre: name,\n descripcion: descripcion,\n codificacion: codificacion\n };\n\n return this.http.put(`${ this.env.api }/codificacion`, body, { headers });\n }\n\n ///////////////////////Elimina codificacion\n deleteCod(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/codificacion/${id}`, { headers });\n }\n\n\n ///////////////////////Busca codificaciones a descargar\n downloadProyecto(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/proyecto/descarga`, body, { headers });\n }\n\n ///////////////////////Busca codificaciones a descargar\n countProyecto(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/proyecto-pag/registro-count`, body, { headers });\n }\n\n\n ///////////////////////Busca codificaciones a descargar\n downloadProyectoPag(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/proyecto-pag/descarga-pag`, body, { headers });\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport {MatTableDataSource} from '@angular/material/table';\n\nimport { EventoService } from './evento.service';\n\n@Component({\n selector: 'app-evento',\n templateUrl: './evento.component.html',\n styleUrls: ['./evento.component.scss']\n})\nexport class EventoComponent implements OnInit {\n\n eventoList = [];\n dataSourceEvento = null;\n eventoColumns: string[] = ['fecha' ,'usuario', 'evento', 'proyecto', 'codificacion'];\n\n constructor(\n private eventoService: EventoService\n ) { }\n\n ngOnInit(): void {\n this.readEvento();\n }\n\n /////////////////////////////// Busca eventos\n readEvento(){\n this.eventoService.readEvento()\n .subscribe( (data) => {\n this.eventoList = Object.keys(data).map( (row) => {\n return {\n fecha: data[row][0],\n usuario: data[row][1],\n evento: data[row][2],\n proyecto: data[row][3],\n codificacion: data[row][4]\n }\n });\n this.dataSourceEvento = new MatTableDataSource(this.eventoList);\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n}\n","

Eventos de proyectos

\n\n
\n \n \n \n \n \n \n \n \n \n
{{ column }} {{element[column]}}
\n
\n
\n\n \n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EventoService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca grupo\n readEvento(){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/evento`, { headers });\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { ConexionService } from '@app/pages/conexion/conexion.service';\r\nimport { ImportarService } from './importar.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n selector: 'app-importar',\r\n templateUrl: './importar.component.html',\r\n styleUrls: ['./importar.component.scss']\r\n})\r\nexport class ImportarComponent implements OnInit {\r\n\r\n displayedColumnsMapeo = ['tipo', 'pantalla', 'tabla', 'accion'];\r\n displayedColumnsImportacion = ['codificacion', 'accion'];\r\n\r\n conexionList = [];\r\n codificacionList = [];\r\n camposList = [];\r\n tablasList = null;\r\n camposTablaList = null;\r\n camposPreview = [];\r\n datosPreview = [];\r\n dataSourcePreview = null;\r\n dataSourceMapeo = null;\r\n dataSourceImportacion = null;\r\n\r\n selectCamposList = null;\r\n importacionList = []\r\n\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n previewFormGroup: FormGroup;\r\n mapeoForm: FormGroup;\r\n\r\n isupdate = false;\r\n idImportacion = null;\r\n selected = new FormControl(0);\r\n\r\n configTablas = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona tabla',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n configCamposTablas = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n moreText: 'más',\r\n placeholder:'Selecciona campos',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private conexionService: ConexionService,\r\n private importarService: ImportarService,\r\n private _formBuilder: FormBuilder\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readImportacion();\r\n this.readConexion();\r\n this.readCod();\r\n\r\n this.firstFormGroup = this._formBuilder.group({\r\n firstCtrl1: ['', Validators.required],\r\n firstCtrl2: ['', Validators.required]\r\n });\r\n \r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: ['', Validators.required]\r\n });\r\n\r\n this.previewFormGroup = this._formBuilder.group({\r\n previewCtrl: ['', Validators.required]\r\n });\r\n }\r\n\r\n /////////////Busca importaciones\r\n readImportacion(){\r\n this.importarService.readImportacion(parseInt(this.data.idProyecto))\r\n .subscribe( (data) => {\r\n this.importacionList = Object.keys(data).map( (row) => {\r\n return {\r\n id: data[row][0],\r\n conexion: data[row][1],\r\n opcion: data[row][2],\r\n consulta: data[row][3],\r\n tabla: data[row][4],\r\n campos: data[row][5],\r\n mapeo: data[row][6],\r\n codificacion: data[row][7],\r\n nombre: data[row][8],\r\n alias: data[row][9]\r\n }\r\n });\r\n this.dataSourceImportacion = new MatTableDataSource(this.importacionList);\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n /////////////Busca conexiones\r\n readConexion(){\r\n this.conexionService.readConexion()\r\n .subscribe( (data) => {\r\n this.conexionList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i][0], \r\n viewValue: data[i][1]\r\n }\r\n });\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca pantallas\r\n readCod(){\r\n this.importarService.readCod(this.data.idProyecto)\r\n .subscribe( (data) => {\r\n this.codificacionList = Object.keys(data['pantallas']).map( (row) => {\r\n return {\r\n id: data['pantallas'][row][0], \r\n name: data['pantallas'][row][1]\r\n }\r\n });\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca variables de pantalla\r\n readCamposPantalla(){\r\n if (this.mapeoForm) {\r\n this.dataSourceMapeo = null;\r\n this.camposList.forEach(element => {\r\n this.mapeoForm.removeControl(element[1])\r\n });\r\n this.camposList = [];\r\n }\r\n Swal.fire({\r\n title: 'Cargando campos de pantalla ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n if(this.secondFormGroup.value.secondCtrl){\r\n let codificacion = parseInt(this.secondFormGroup.value.secondCtrl[0].id);\r\n let group = {};\r\n this.importarService.readCamposPantalla(codificacion)\r\n .subscribe( (data) => {\r\n this.camposList = [...Object(data), ['Filtro (Opcional)', 'filtro']];\r\n this.camposList.forEach(element => {\r\n group[element[1]] = new FormControl('');\r\n });\r\n this.mapeoForm = new FormGroup(group); \r\n this.dataSourceMapeo = new MatTableDataSource(this.camposList);\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }else{\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n \r\n }\r\n\r\n ///////////////////////Busca tablas\r\n readTablas(){\r\n Swal.fire({\r\n title: 'Cargando tablas ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n this.importarService.readTablas(conexion)\r\n .subscribe( (data) => {\r\n this.tablasList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i], \r\n description: data[i]\r\n }\r\n });\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca campos de tabla\r\n readCamposTabla(){\r\n Swal.fire({\r\n title: 'Cargando campos ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n let tabla = this.firstFormGroup.value.firstCtrl3.value;\r\n this.importarService.readCamposTabla(conexion, tabla)\r\n .subscribe( (data) => {\r\n this.camposTablaList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i], \r\n description: data[i]\r\n }\r\n });\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca previzualizacion de datos\r\n readDataPreview(){\r\n this.previewFormGroup.controls['previewCtrl'].setValue('1');\r\n Swal.fire({\r\n title: 'Cargando datos ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n let opcion = parseInt(this.firstFormGroup.value.firstCtrl2);\r\n let body = null;\r\n if (opcion == 1) {\r\n body = {\r\n opcion: opcion,\r\n conexion: conexion,\r\n consulta: null,\r\n tabla: this.firstFormGroup.value.firstCtrl3.value,\r\n campos: this.firstFormGroup.value.firstCtrl4\r\n };\r\n } else {\r\n body = {\r\n opcion: opcion,\r\n conexion: conexion,\r\n consulta: this.firstFormGroup.value.firstCtrl5,\r\n tabla: null,\r\n campos: null\r\n };\r\n }\r\n this.importarService.readDataPreview(body)\r\n .subscribe( (data) => {\r\n this.camposPreview = data['campos'];\r\n this.datosPreview = data['resultado'];\r\n this.selectCamposList = Object.keys(data['campos']).map( (i) => {\r\n return {\r\n value: data['campos'][i], \r\n description: data['campos'][i]\r\n }\r\n });\r\n this.dataSourcePreview = new MatTableDataSource(this.datosPreview);\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n selectOption(event: any){\r\n if (event == 1) {\r\n this.firstFormGroup.removeControl('firstCtrl5');\r\n this.firstFormGroup.addControl('firstCtrl3', new FormControl('', Validators.required));\r\n this.firstFormGroup.addControl('firstCtrl4', new FormControl('', Validators.required));\r\n this.readTablas();\r\n } else {\r\n this.firstFormGroup.removeControl('firstCtrl3');\r\n this.firstFormGroup.removeControl('firstCtrl4');\r\n this.firstFormGroup.addControl('firstCtrl5', new FormControl('', Validators.required));\r\n }\r\n }\r\n\r\n createImportar(){\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n let opcion = parseInt(this.firstFormGroup.value.firstCtrl2);\r\n let codificacion = parseInt(this.secondFormGroup.value.secondCtrl[0].id);\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Guardando información ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n if (opcion==1) {\r\n var body = {\r\n conexion: conexion,\r\n opcion: opcion,\r\n codificacion: codificacion,\r\n consulta: null,\r\n tabla: this.firstFormGroup.value.firstCtrl3.value,\r\n campos: this.firstFormGroup.value.firstCtrl4,\r\n mapeo: this.mapeoForm.value\r\n };\r\n } else {\r\n var body = {\r\n conexion: conexion,\r\n opcion: opcion,\r\n codificacion: codificacion,\r\n consulta: this.firstFormGroup.value.firstCtrl5,\r\n tabla: null,\r\n campos: null,\r\n mapeo: this.mapeoForm.value\r\n };\r\n }\r\n this.importarService.createImportar(body).\r\n subscribe( (data) => {\r\n if (data) {\r\n this.readImportacion();\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Datos de importación guardados correctamente',\r\n showConfirmButton: false,\r\n timer: 1500\r\n });\r\n }else{\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al guardar información, intente más tarde.',\r\n });\r\n }\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al guardar información, intente más tarde.',\r\n });\r\n });\r\n }\r\n\r\n initImportacion(row: any){\r\n if (row['mapeo']['filtro']) {\r\n let campo = 1;\r\n Swal.mixin({\r\n icon: 'info',\r\n input: 'text',\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n preConfirm: (values) => {\r\n if (!values && campo < 2) {\r\n Swal.showValidationMessage(\r\n \"Campo requerido\"\r\n );\r\n }else{\r\n campo += 1;\r\n }\r\n }\r\n }).queue([\r\n {\r\n title: 'Filtrar datos',\r\n text: `Escriba el valor a filtrar en la variable ${row['mapeo']['filtro']['value']}`,\r\n confirmButtonText: 'Siguiente →'\r\n },\r\n {\r\n title: 'Importar datos',\r\n html: `\r\n Agrega un valor a tu variable ${this.data.control} (Opcional)\r\n `,\r\n confirmButtonText: 'Importar',\r\n }\r\n ]).then( (result) => {\r\n let body = {\r\n importacion: parseInt(row.id),\r\n filtro: result['value'][0],\r\n control: this.data.control,\r\n control_value: result['value'][1]\r\n };\r\n if (result) {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Importando datos ...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.importarService.initImportar(body)\r\n .subscribe( (data) => {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Importación completada',\r\n text: `Se importaron correctamente ${data} registros a la codificación ${row.nombre}`\r\n });\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al importar datos, intente más tarde.'\r\n });\r\n });\r\n }\r\n });\r\n }else{\r\n Swal.fire({\r\n icon: 'info',\r\n input: 'text',\r\n title: 'Importar datos',\r\n html: `\r\n Agrega un valor a tu variable ${this.data.control} (Opcional)\r\n `,\r\n showCancelButton: true,\r\n confirmButtonText: 'Importar',\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n let body = {\r\n importacion: parseInt(row.id),\r\n filtro: null,\r\n control: this.data.control,\r\n control_value: result['value'][0]\r\n };\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Importando datos ...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.importarService.initImportar(body)\r\n .subscribe( (data) => {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Importación completada',\r\n text: `Se importaron correctamente ${data} registros a la codificación ${row.nombre}`\r\n });\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al importar datos, intente más tarde.',\r\n });\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n deleteImportacion(row: any){\r\n Swal.fire({\r\n title: '¿Estas seguro de eliminar la configuración de importación?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, Eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.importarService.deleteImportacion(row.id)\r\n .subscribe( (data) => {\r\n if (data) {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Eliminar importación',\r\n text: `Configuración de importación eliminada correctamente`\r\n });\r\n this.readImportacion(); \r\n } else {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al eliminar configuración, intente más tarde.',\r\n }); \r\n }\r\n \r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al eliminar configuración, intente más tarde.',\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n openUpdateImportacion(row: any){\r\n this.isupdate = true;\r\n this.selected.setValue(1);\r\n this.idImportacion = row['id'];\r\n this.conexionList.forEach(element => {\r\n if (element['value'] == row['conexion']) {\r\n this.firstFormGroup.controls['firstCtrl1'].setValue(element); \r\n }\r\n });\r\n this.firstFormGroup.controls['firstCtrl2'].setValue(String(row['opcion']));\r\n if (row['opcion'] == 1) {\r\n this.firstFormGroup.addControl('firstCtrl3', new FormControl({value: row['tabla'], description: row['tabla']}, Validators.required));\r\n this.firstFormGroup.addControl('firstCtrl4', new FormControl(row['campos'], Validators.required));\r\n this.readCamposTabla();\r\n }else{\r\n this.firstFormGroup.addControl('firstCtrl5', new FormControl(row['consulta'], Validators.required));\r\n }\r\n this.previewFormGroup.controls['previewCtrl'].setValue('1');\r\n this.readDataPreview();\r\n this.secondFormGroup.controls['secondCtrl'].setValue([{id: row['codificacion'], name: row['nombre']}]);\r\n let group = {};\r\n this.importarService.readCamposPantalla(row['codificacion'])\r\n .subscribe( (data) => {\r\n this.camposList = [...Object(data), ['Filtro (Opcional)', 'filtro']];\r\n this.camposList.forEach(element => {\r\n group[element[1]] = new FormControl(row['mapeo'][element[1]])\r\n });\r\n this.mapeoForm = new FormGroup(group); \r\n this.dataSourceMapeo = new MatTableDataSource(this.camposList);\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n\r\n }\r\n\r\n updateImportacion(){\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n let opcion = parseInt(this.firstFormGroup.value.firstCtrl2);\r\n let codificacion = parseInt(this.secondFormGroup.value.secondCtrl[0].id);\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Guardando información ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n if (opcion==1) {\r\n var body = {\r\n id: this.idImportacion,\r\n conexion: conexion,\r\n opcion: opcion,\r\n codificacion: codificacion,\r\n consulta: null,\r\n tabla: this.firstFormGroup.value.firstCtrl3.value,\r\n campos: this.firstFormGroup.value.firstCtrl4,\r\n mapeo: this.mapeoForm.value\r\n };\r\n } else {\r\n var body = {\r\n id: this.idImportacion,\r\n conexion: conexion,\r\n opcion: opcion,\r\n codificacion: codificacion,\r\n consulta: this.firstFormGroup.value.firstCtrl5,\r\n tabla: null,\r\n campos: null,\r\n mapeo: this.mapeoForm.value\r\n };\r\n }\r\n this.importarService.updateImportar(body).\r\n subscribe( (data) => {\r\n if (data) {\r\n this.readImportacion();\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Datos de importación guardados correctamente',\r\n showConfirmButton: false,\r\n timer: 1500\r\n });\r\n }else{\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al guardar información, intente más tarde.',\r\n });\r\n }\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al guardar información, intente más tarde.',\r\n });\r\n });\r\n }\r\n\r\n}\r\n","

Importar datos

\r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Codificación {{element.nombre}} \r\n \r\n \r\n \r\n import_export\r\n Iniciar importación\r\n \r\n \r\n edit\r\n Editar\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n

Asistente para importar datos de base de datos externa.

\r\n \r\n \r\n
\r\n Conexión\r\n

Selecciona conexión.

\r\n \r\n Conexión\r\n \r\n \r\n {{conexion.viewValue}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Agregar tabla\r\n Crear consulta SQL\r\n \r\n
\r\n
\r\n \r\n

Información de tabla.

\r\n Tabla a importar:\r\n \r\n \r\n
\r\n \r\n Campos a importar:
\r\n Nota: Puede agregar una variable que sirva como filtro,\r\n y disminuir el tiempo de importación.\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

Consulta SQL

\r\n \r\n SQL\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n

En esta sección puedes visualizar los datos de tu consulta.

\r\n
\r\n \r\n Cargar datos\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{column}} \r\n {{ element[column] }}\r\n
\r\n
\r\n
\r\n\r\n \r\n

Seleccione la pantalla en la que desea importar los datos.

\r\n
\r\n \r\n \r\n {{codificacion.name}}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n

Seleccione los campos de la tabla que requiera mapear con los campos de la pantalla.

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Tipo {{element[0]}} Campo de pantalla {{element[1]}} Campo de tabla \r\n \r\n \r\n \r\n \r\n clear\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\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 { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { environment } from \"@env/environment\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ImportarService {\r\n\r\n env = environment;\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n ///////////////////////Busca importaciones\r\n readImportacion(proyecto: Number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/${proyecto}`, { headers });\r\n }\r\n\r\n ///////////////////////Busca conexiones\r\n readConexion(){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/conexion`, { headers });\r\n }\r\n\r\n ///////////////////////Busca codificacion\r\n readCod(proyecto: number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/codificacion/${proyecto}`, { headers });\r\n }\r\n\r\n ///////////////////////Busca campos de pantalla\r\n readCamposPantalla(codificacion: Number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/campos/pantalla/${codificacion}`, { headers });\r\n }\r\n\r\n ///////////////////////Busca tablas de DB\r\n readTablas(conexion: Number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/tablas/${conexion}`, { headers });\r\n }\r\n\r\n ///////////////////////Busca campos de tabla de DB \r\n readCamposTabla(conexion: number, tabla: String){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/tablas/${conexion}/${tabla}`, { headers });\r\n }\r\n\r\n\r\n ///////////////////////Previsualizacion de datos DB\r\n readDataPreview(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/importar/tablas/preview`, body, { headers });\r\n }\r\n\r\n\r\n ///////////////////////Crea importacion\r\n createImportar(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/importar`, body, { headers });\r\n }\r\n\r\n ///////////////////////Inicia importacion\r\n initImportar(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n \r\n return this.http.post(`${ this.env.api }/importar/iniciar`, body, { headers }); \r\n }\r\n\r\n ///////////////////////Elimina importacion\r\n deleteImportacion(importacion: Number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n \r\n return this.http.delete(`${ this.env.api }/importar/pantalla/${importacion}`, { headers }); \r\n }\r\n\r\n ///////////////////////Actualiza importacion\r\n updateImportar(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.put(`${ this.env.api }/importar`, body, { headers });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\nimport { MatTable } from '@angular/material/table';\n\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-filtro',\n templateUrl: './filtro.component.html',\n styleUrls: ['./filtro.component.scss'],\n animations: [\n trigger('detailExpand', [\n state('collapsed', style({height: '0px', minHeight: '0'})),\n state('expanded', style({height: '*'})),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class FiltroComponent implements OnInit {\n\n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n\n firstFormGroup: FormGroup;\n secondFormGroup: FormGroup;\n thirdFormGroup: FormGroup;\n\n expandedFiltro = null;\n dataFilter = []\n\n isEdit = false;\n\n columnsToDisplay = ['Campo', 'Grupo', 'Texto'];\n @ViewChild(MatTable,{static:true}) table: MatTable;\n\n\n constructor(\n private _formBuilder: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data\n ) { }\n\n ngOnInit(): void {\n this.firstFormGroup = this._formBuilder.group({\n firstCtrl: ['', Validators.required]\n });\n this.secondFormGroup = this._formBuilder.group({\n secondCtrl: ['', Validators.required]\n });\n this.thirdFormGroup = this._formBuilder.group({\n thirdCtrl: ['', Validators.required],\n fourthCtrl: ['', Validators.required]\n });\n this.dataFilter = this.data.dataFilter;\n }\n\n /**Agrega filtro */\n addFilter(){\n this.dataFilter.push({\n Campo: this.firstFormGroup.controls.firstCtrl.value, \n Grupo: this.secondFormGroup.controls.secondCtrl.value[0],\n idGrupo: this.secondFormGroup.controls.secondCtrl.value[1],\n Texto: this.thirdFormGroup.controls.thirdCtrl.value, \n Codigos: this.thirdFormGroup.controls.fourthCtrl.value\n });\n this.Toast.fire({\n icon: 'success',\n title: 'Filtro agregado exitosamente!'\n });\n this.table.renderRows();\n \n }\n\n /**Elimina filtro */\n deleteFilter(element: any){\n this.dataFilter = this.dataFilter.filter((value,key)=>{\n return value.Texto != element.Texto;\n });\n }\n\n /**Editar filtro */\n openEditFilter(element: any){\n this.isEdit = true;\n }\n\n editFilter(element: any){\n this.isEdit = false;\n this.dataFilter = this.dataFilter.filter((value,key)=>{\n if(value.Texto == element.Texto){\n value.name = element.Codigos;\n }\n return true;\n });\n }\n\n}\n","

Filtro de texto

\n\n \n\n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n
{{column}} {{element[column]}} \n
\n
\n
\n \n \n \n\n \n
\n Lista de codigos: \n

{{element.Codigos}}

\n \n
\n
\n
\n
\n\n \n \n \n
\n Selecciona la variable de texto a filtrar\n \n Selecciona variable texto\n \n \n {{texto}}\n \n \n \n
\n \n
\n
\n
\n \n
\n Selecciona el grupo de códigos que se filtrarán por la variable de texto\n \n Selecciona variable texto\n \n \n {{grupo.name}}\n \n \n \n
\n \n \n
\n
\n
\n \n
\n Agrega texto y lista de códigos especificos a filtrar\n \n \n Texto\n \n \n \n \n Códigos\n \n \n
\n \n Agregar\n
\n
\n
\n
\n \n
\n
\n
\n\n \n","

Pantalla

\n
\n \n \n\n \n \n \n \n Variables de texto\n \n \n Se crean las variables de texto que contendrá la tabla\n text_rotation_none\n \n \n\n \n 0\" \n mat-icon-button\n class=\"text-primary\"\n matTooltip=\"Crear filtro de texto\" \n matTooltipPosition=\"right\"\n (click)=\"filter()\">\n filter_alt\n \n
\n
\n \n
{{txt}}
\n
\n \n \n \n \n
\n
\n
\n \n \n \n \n
\n\n \n \n \n \n Variables de captura\n \n \n Se crean las variables de captura que contendrá la tabla\n code\n \n \n\n \n\n \n \n \n \n \n \n \n \n \n \n {{ item }}\n \n \n \n \n \n
\n \n \n \n \n \n \n
\n\n \n \n \n \n {{ element }}\n\n
\n\n \n \n \n\n
\n\n
\n\n
\n\n \n \n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';\n\nimport Swal from 'sweetalert2';\n\nimport { PantallaService } from './pantalla.service';\nimport { CodigoService } from '../codigo/codigo.service';\n\nimport { ValidaComponent } from './valida/valida.component';\nimport { FiltroComponent } from './filtro/filtro.component';\n\nexport interface DialogData {\n proyecto: number;\n id: number;\n pantalla: boolean;\n}\n\n@Component({\n selector: 'app-pantalla',\n templateUrl: './pantalla.component.html',\n styleUrls: ['./pantalla.component.scss']\n})\nexport class PantallaComponent implements OnInit {\n\n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n \n step = null;\n textList = [];\n\n dataCod = [];\n displayedColumns = [];\n\n grupos = [];\n grupoList = {};\n grupoCol = [];\n\n valColList = []; /**Validacion de columnas [codigo duplicado, celda vacia] */\n valRowList = []; /**Validacion de renglones [codigo duplicado, celda vacia]*/\n\n dataFilter = [];\n\n ispantalla: boolean;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public dialog: MatDialog,\n private pantallaService: PantallaService,\n private codigoService: CodigoService\n ) { }\n\n ngOnInit(): void {\n this.readPantalla();\n this.readGrupo();\n this.ispantalla = this.data.pantalla;\n }\n \n ////////////////////////////Funciones de acordion\n setStep(index: number) {\n this.step = index;\n }\n\n nextStep() {\n this.step++;\n }\n\n prevStep() {\n this.step--;\n }\n\n ////////////////Agrega caja de texto\n addText(){\n let num = this.textList.length;\n this.textList.push('txt' + (num + 1));\n }\n\n ///////////////////////////////Edita caja de texto\n editText(index: number){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Editar',\n showCancelButton: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n allowEscapeKey: true,\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage('Campo requerido');\n }\n }\n }).queue([\n { inputValue: `${ this.textList[index] }` }\n ]).then((result: any) => {\n if (result.value) {\n const txt = result.value[0].replace(' ','_').toLowerCase();\n this.textList[index] = txt;\n }\n })\n }\n\n ///////////////////Eliminar caja de texto\n deleteText(index: number){\n this.textList = [\n ...this.textList.slice(0, index),\n ...this.textList.slice(index + 1)\n ];\n }\n\n ////////////////////////////////////////////////Tablas de codigos\n\n ///////////////////Crea tabla de codigos\n addTable(){\n this.displayedColumns.push(['Nota 1']);\n this.dataCod.push([['Nota 1', 'code11']]);\n this.valColList.push([[false, false]]);\n this.valRowList.push([[false, false]]);\n this.grupoCol.push([null]);\n }\n\n ///////////////////Elimina tabla de codigos\n deleteTable(table: number){\n this.dataCod = [\n ...this.dataCod.slice(0, table),\n ...this.dataCod.slice(table + 1)\n ];\n this.displayedColumns = [\n ...this.displayedColumns.slice(0, table),\n ...this.displayedColumns.slice(table + 1)\n ];\n this.grupoCol = [\n ...this.grupoCol.slice(0, table),\n ...this.grupoCol.slice(table + 1)\n ];\n this.valColList = [\n ...this.valColList.slice(0, table),\n ...this.valColList.slice(table + 1)\n ];\n }\n \n ////////////////////Agrega columna de codigos\n addColumn(table: number) {\n let next = this.displayedColumns[table].length + 1;\n this.displayedColumns[table].push('Nota ' + next);\n this.grupoCol[table].push(null);\n this.valColList[table].push([false, false]);\n this.dataCod[table].forEach((element, index) => {\n this.dataCod[table][index].push('code' + String(index + 1) + String(next));\n });\n }\n\n deleteCol(table: number, column: number) {\n if (this.displayedColumns[table].length > 1) {\n this.displayedColumns[table] = [\n ...this.displayedColumns[table].slice(0, column),\n ...this.displayedColumns[table].slice(column + 1)\n ];\n this.grupoCol[table] = [\n ...this.grupoCol[table].slice(0, column),\n ...this.grupoCol[table].slice(column + 1)\n ];\n this.valColList[table] = [\n ...this.valColList[table].slice(0, column),\n ...this.valColList[table].slice(column + 1)\n ];\n this.dataCod[table].forEach((element, index) => {\n this.dataCod[table][index] = [\n ...this.dataCod[table][index].slice(0, (column + 1)),\n ...this.dataCod[table][index].slice((column + 1) + 1)\n ];\n }); \n }\n }\n\n addRow(table: number) {\n let next = this.dataCod[table].length + 1;\n let row = ['Nota ' + next];\n this.displayedColumns[table].forEach((element, index) => {\n row.push('code' + String(next) + String(index + 1));\n });\n this.dataCod[table].push(row);\n }\n\n deleteRow(table: number, row: number){\n if (this.dataCod[table].length > 1) {\n this.dataCod[table] = [\n ...this.dataCod[table].slice(0, row),\n ...this.dataCod[table].slice(row + 1)\n ];\n }\n \n }\n\n ///////////////////Editar notas de columna\n editCol(table: number, col: number){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Editar',\n showCancelButton: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n allowEscapeKey: true,\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage('Campo requerido');\n }\n }\n }).queue([\n { inputValue: `${ this.displayedColumns[table][col] }` }\n ]).then((result: any) => {\n if (result.value) {\n const txt = result.value[0];\n this.displayedColumns[table][col] = txt;\n }\n })\n }\n\n ///////////////////Editar codigos\n editCode(table: number, row: number, col: number){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Editar',\n showCancelButton: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n allowEscapeKey: true,\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage('Campo requerido');\n }\n }\n }).queue([\n { inputValue: `${ this.dataCod[table][row][col] }` }\n ]).then((result: any) => {\n if (result.value) {\n const txt = col > 0 ? result.value[0].replace(' ','_').toLowerCase() : result.value[0]; \n this.dataCod[table][row][col] = txt;\n }\n })\n } \n\n dropText(event: CdkDragDrop) {\n moveItemInArray(this.textList, event.previousIndex, event.currentIndex);\n }\n\n\n /////////////////////////////// Busca pantalla\n readPantalla(){\n this.pantallaService.readPantalla(this.data.id)\n .subscribe( (data) => {\n this.textList = data['txt'] ? data['txt'] : [];\n this.displayedColumns = data['colnota'] ? data['colnota'] : [];\n this.dataCod = data['codes'] ? data['codes'] : [];\n this.grupoCol = data['grupo'] ? data['grupo'] : [];\n this.valColList = data['valcol'] ? data['valcol'] : [];\n this.valRowList = data['valrow'] ? data['valrow'] : [];\n this.dataFilter = data['filter'] ? data['filter'] : [];\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n /////////////////////////Crear Pantalla\n createPantalla() {\n let pantalla = {\n texto: this.textList,\n colnota: this.displayedColumns,\n codes: this.dataCod,\n codificacion: this.data.id,\n grupo: this.grupoCol,\n valcol : this.valColList,\n valrow: this.valRowList,\n filter: this.dataFilter\n }\n console.log(pantalla)\n this.pantallaService.createPantalla(pantalla)\n .subscribe( (data) => {\n if (data[1]) {\n this.ispantalla = true;\n this.Toast.fire({\n icon: 'success',\n title: `${data[1]}`\n });\n }else if(data[0]){\n Swal.fire(\n `${data[0]}`,\n '',\n 'info'\n ); \n }\n },\n (error) => {\n Swal.fire(\n 'No fue posible guardar la pantalla, intente más tarde',\n '',\n 'info'\n );\n }\n );\n }\n\n //////////////////////Busca grupo de codigos\n readGrupo(){\n this.codigoService.readGrupo(this.data.proyecto)\n .subscribe( (data: any[]) => {\n this.grupos = Object.keys(data).map( (row) => {\n return {\n id: data[row][0], \n name: data[row][1],\n }\n });\n this.grupos = [{id: null, name: 'Ninguno'}, ...this.grupos]\n this.grupoList = this.grupos.reduce((o, key) => ({...o, [key.id]: key.name}), {});\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n //////////////////////Selecciona grupos de codigos\n async selectGrupo(table: number, col: number){\n let yourgrupo = this.grupoCol[table][col];\n const { value: grupo } = await Swal.fire({\n title: 'Selecciona un grupo de codigos',\n html: `Grupo actual: ${this.grupoList[yourgrupo] ? this.grupoList[yourgrupo] : 'Sin grupo'}`,\n input: 'select',\n inputOptions: this.grupoList,\n inputPlaceholder: 'Selecciona un grupo',\n showCancelButton: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n inputValidator: (value) => {\n if (!value) {\n return 'You need to write something!'\n }\n }\n });\n \n if (grupo) {\n this.grupoCol[table][col] = Number(grupo);\n }\n }\n\n //////Validacion\n async valide(type: string, table: number, col?: number,){\n let codigo = col!= null && col!= undefined ? this.valColList[table][col][0] : this.valRowList[table][0][0];\n let vacio = col!= null && col!= undefined ? this.valColList[table][col][1] : this.valRowList[table][0][1];\n const dialogRef = this.dialog.open(ValidaComponent, {\n width: '350px',\n disableClose: true,\n data: { type: type, codigo: codigo, vacio: vacio }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (col != null && col!= undefined) {\n this.valColList[table][col][0] = result.codigo;\n this.valColList[table][col][1] = result.vacio; \n }else{\n this.valRowList[table][0][0] = result.codigo;\n this.valRowList[table][0][1] = result.vacio; \n }\n });\n }\n\n\n ////////////////Filtros\n filter(){\n const dialogRef = this.dialog.open(FiltroComponent, {\n width: '50%',\n disableClose: true,\n data: { textList: this.textList, grupos: this.grupos, dataFilter: this.dataFilter }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n this.dataFilter = result;\n });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PantallaService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca pantalla\n readPantalla(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/pantalla/${id}`, { headers });\n }\n\n ///////////////////////Crea pantalla\n createPantalla(pantalla: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/pantalla`, pantalla, { headers });\n }\n\n ///////////////////////Busca grupo\n readGrupo(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/grupo/${id}`, { headers });\n }\n\n}\n\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n\r\nexport interface DialogData {\r\n codigo: boolean;\r\n vacio: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-valida',\r\n templateUrl: './valida.component.html',\r\n styleUrls: ['./valida.component.scss']\r\n})\r\nexport class ValidaComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","

Validación de {{ data['type'] }}

\n
\n

Selecciona la validaciones que requieras:

\n \n
    \n
  • \n No permitir códigos duplicados\n
  • \n
  • \n No permitir llenado parcial\n
  • \n
\n
\n
\n
\n \n
","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { ProyectoComponent } from './proyecto.component';\r\nimport { DetalleProyectoComponent } from './detalle-proyecto/detalle-proyecto.component';\r\n\r\nimport { Pages } from '../pages.service';\r\n\r\nconst routes: Routes = [\r\n Pages.childRoutes([\r\n { path: 'proyectos', component: ProyectoComponent },\r\n { path: 'proyectos/:proyecto', component: DetalleProyectoComponent }\r\n ])\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n providers: []\r\n})\r\nexport class ProyectoRoutingModule {}\r\n","
\r\n

workProyectos

\r\n
\r\n \r\n
\r\n 2\" \r\n mat-icon-button\r\n class=\"text-primary float-right\" \r\n matTooltip=\"Ver eventos\" \r\n matTooltipPosition=\"above\"\r\n (click)=\"openDialogEvento()\">\r\n event_note\r\n \r\n 1\" \r\n mat-icon-button\r\n class=\"text-success\" \r\n matTooltip=\"Crea nuevo proyecto\" \r\n matTooltipPosition=\"above\"\r\n (click)=\"createProyecto()\">\r\n add_circle_outline\r\n \r\n Proyecto\r\n
\r\n \r\n
\r\n \r\n \r\n folder\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\n\nimport { AuthService } from '../../service/auth.service';\nimport { ProyectoService } from './proyecto.service';\n\nimport { EventoComponent } from './evento/evento.component';\n\n@Component({\n selector: 'app-proyecto',\n templateUrl: './proyecto.component.html',\n styleUrls: ['./proyecto.component.scss']\n})\nexport class ProyectoComponent implements OnInit {\n \n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n\n permissions = null;\n proyectoList = null;\n \n constructor(\n private proyectoService: ProyectoService,\n private auth: AuthService,\n public dialog: MatDialog,\n private router: Router\n ) { }\n\n async ngOnInit() {\n await this.getPermissions();\n this.readProyecto();\n }\n\n ///////////////////Busca permisos\n async getPermissions(){\n this.auth.getPermissions()\n .subscribe( (data) => {\n this.permissions = data;\n },\n (error) => {\n this.router.navigateByUrl('/login');\n }\n );\n }\n\n /////////////////////////////// Busca proyectos\n readProyecto(){\n this.proyectoService.readProyecto()\n .subscribe( (data) => {\n this.proyectoList = Object.keys(data).map( (i) => {\n return {id: i, name: data[i]}\n });\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n /////////////////////Selecciona proyecto\n selectProyecto(id: number){\n this.router.navigateByUrl('proyectos/'+String(id));\n }\n\n /////////////////////////////// Crea proyecto\n createProyecto(){\n let campo = 1;\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Siguiente →',\n showCancelButton: true,\n cancelButtonText: 'Cancelar',\n cancelButtonColor: '#d33',\n allowEscapeKey: true,\n preConfirm: (values) =>{\n if (!values && campo < 3) {\n Swal.showValidationMessage(\n 'Campo requerido'\n );\n }else{\n campo += 1;\n }\n }\n }).queue([\n {\n title: 'Nuevo proyecto',\n text: 'Escribe el nombre del proyecto nuevo'\n },\n {\n title: 'Identificador',\n text: 'Escribe el nombre del campo que servira de identificador para tus tablas de codificación'\n },\n {\n title: 'Variable de control (Opcional)',\n text: 'Escribe el nombre del campo que servira como variable de control (Variable de corte, periodo, etc.). Por default se creara una variable llamada \"control\"'\n }\n ]).then((result: any) => {\n if (result.value) {\n let body = {\n nombre: result.value[0],\n identificador: result.value[1].toLowerCase(),\n control: result.value[2].toLowerCase()\n };\n this.proyectoService.createProyecto(body)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Proyecto creado correctamente'\n });\n this.readProyecto();\n },\n (error) => {\n Swal.fire(\n `¡Se generó un error al crear el proyecto ${result.value[0]}, revise que el nombre del proyecto no este duplicado, o intente más tarde!`,\n '',\n 'info'\n );\n }\n );\n }\n })\n }\n\n /////////////Lleva a vista de eventos\n openDialogEvento() {\n const dialogRef = this.dialog.open(EventoComponent, {\n width: '100%',\n disableClose: true\n });\n\n }\n\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { MaterialModule } from '../../material.module';\r\nimport { ProyectoRoutingModule } from './proyecto-routing.module';\r\nimport { SelectDropDownModule } from 'ngx-select-dropdown';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\n\r\nimport { ProyectoComponent } from './proyecto.component';\r\nimport { CodigoComponent } from './codigo/codigo.component';\r\nimport { PantallaComponent } from './pantalla/pantalla.component';\r\nimport { VistaComponent } from './vista/vista.component';\r\nimport { ValidaComponent } from './pantalla/valida/valida.component';\r\nimport { FiltroComponent } from './pantalla/filtro/filtro.component';\r\nimport { RegistroComponent } from './registro/registro.component';\r\nimport { DetalleProyectoComponent } from './detalle-proyecto/detalle-proyecto.component';\r\nimport { RegistroEditaComponent } from './registro/registro-edita/registro-edita.component';\r\nimport { RegistroFiltroComponent } from './registro/registro-filtro/registro-filtro.component';\r\nimport { AvanzadasComponent } from './avanzadas/avanzadas.component';\r\nimport { CodificacionComponent } from './codificacion/codificacion.component';\r\nimport { RevisionComponent } from './revision/revision.component';\r\nimport { CodificacionFiltroComponent } from './codificacion/codificacion-filtro/codificacion-filtro.component';\r\nimport { DescargaComponent } from './descarga/descarga.component';\r\nimport { AvanceComponent } from './avance/avance.component';\r\nimport { AvanceFiltroComponent } from './avance/avance-filtro/avance-filtro.component';\r\nimport { EventoComponent } from './evento/evento.component';\r\nimport { RegistroLogsComponent } from './registro/registro-logs/registro-logs.component';\r\nimport { RegistroNuevoComponent } from './registro/registro-nuevo/registro-nuevo.component';\r\nimport { RevisionFiltroComponent } from './revision/revision-filtro/revision-filtro.component';\r\nimport { ImportarComponent } from './importar/importar.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n ProyectoRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SelectDropDownModule,\r\n NgSelectModule,\r\n BrowserModule,\r\n NgApexchartsModule\r\n ],\r\n exports: [],\r\n declarations: [\r\n ProyectoComponent,\r\n CodigoComponent,\r\n PantallaComponent,\r\n VistaComponent,\r\n ValidaComponent,\r\n FiltroComponent,\r\n RegistroComponent,\r\n DetalleProyectoComponent,\r\n RegistroEditaComponent,\r\n RegistroFiltroComponent,\r\n AvanzadasComponent,\r\n CodificacionComponent,\r\n RevisionComponent,\r\n CodificacionFiltroComponent,\r\n DescargaComponent,\r\n AvanceComponent,\r\n AvanceFiltroComponent,\r\n EventoComponent,\r\n RegistroLogsComponent,\r\n RegistroNuevoComponent,\r\n RevisionFiltroComponent,\r\n ImportarComponent\r\n ],\r\n providers: [],\r\n})\r\nexport class ProyectoModule { }\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProyectoService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca proyecto\n readProyecto(){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/proyecto`, { headers });\n }\n\n ///////////////////////Crea proyecto\n createProyecto(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/proyecto`, body, { headers });\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {FormControl, FormGroup} from '@angular/forms';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { RegistroService } from '../registro.service';\r\n\r\n@Component({\r\n selector: 'app-registro-edita',\r\n templateUrl: './registro-edita.component.html',\r\n styleUrls: ['./registro-edita.component.scss']\r\n})\r\nexport class RegistroEditaComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n camposList = null;\r\n camposForm = new FormControl();\r\n singleForm: FormGroup;\r\n multipleForm: FormGroup;\r\n selectList = null;\r\n registrosList = [];\r\n\r\n estadoList = [\r\n {value: 0, viewValue: 'Sin usar'},\r\n {value: 1, viewValue: 'Finalizado'},\r\n {value: 2, viewValue: 'Pendiente'},\r\n {value: 3, viewValue: 'No es posible completar'}\r\n ];\r\n selectedEstado = null;\r\n\r\n campoGrupo = null;\r\n codigos = null;\r\n\r\n config = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n isdisabled = true;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private registroService: RegistroService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readRegistroCodigo();\r\n this.camposList = [this.data.campos[2], this.data.campos[4], ...this.data.campos.slice(8, this.data.campos.length)];\r\n this.data.registros.forEach(element => {\r\n this.registrosList.push(element['procod_id']);\r\n });\r\n if (!this.data.multiple) {\r\n switch (this.data.registros[0]['estado']) {\r\n case 'Sin usar':\r\n this.selectedEstado = 0;\r\n break;\r\n case 'Finalizado':\r\n this.selectedEstado = 1;\r\n break;\r\n case 'Pendiente':\r\n this.selectedEstado = 2;\r\n break;\r\n case 'No es posible completar':\r\n this.selectedEstado = 3;\r\n break;\r\n }\r\n\r\n let group = {};\r\n this.camposList.forEach(element => {\r\n if (element=='estado') {\r\n group[element] = new FormControl(this.selectedEstado); \r\n } else {\r\n group[element] = new FormControl(this.data.registros[0][element] ? this.data.registros[0][element] : ''); \r\n }\r\n });\r\n this.singleForm = new FormGroup(group);\r\n }\r\n }\r\n\r\n camposSelect(){\r\n let group = {};\r\n this.selectList = this.camposForm.value;\r\n this.selectList.forEach(element => {\r\n group[element] = new FormControl('');\r\n });\r\n this.camposForm.disable();\r\n this.isdisabled = false;\r\n this.multipleForm = new FormGroup(group); \r\n }\r\n\r\n camposDelete(){\r\n this.camposForm.reset();\r\n this.camposForm.enable();\r\n this.selectList = null;\r\n this.multipleForm = null;\r\n this.isdisabled = true;\r\n }\r\n\r\n updateRegistro(){\r\n let body = null;\r\n if (this.data.multiple) {\r\n body = {\r\n edit: this.multipleForm.value,\r\n registro: this.registrosList,\r\n codificacion: this.data.codificacion\r\n }\r\n } else {\r\n body = {\r\n edit: this.singleForm.value,\r\n registro: this.registrosList,\r\n codificacion: this.data.codificacion\r\n }\r\n }\r\n Swal.fire({\r\n title: '¿Estas seguro de editar los registros seleccionados?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, editar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: 'Editando registros...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.registroService.updateRegistro(body)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Registros editados correctamente'\r\n });\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al editar los registros, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n \r\n }\r\n \r\n /* Busca codigos de codificacion */\r\n readRegistroCodigo(){\r\n this.registroService.readRegistroCodigo(this.data.codificacion).\r\n subscribe( (data) => {\r\n this.campoGrupo = data['campos'][0];\r\n let codigos = data['codigos'] ? data['codigos'] : [];\r\n this.codigos = codigos.reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n /**Elimina Codigo */\r\n deleteCode(campo: any){\r\n this.singleForm.controls[campo].reset();\r\n }\r\n\r\n}\r\n","

Edición de registros

\n\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n\n\n \n \n \n \n \n
CampoValor
{{ campo }}{{ data.registros[0][campo] }}{{ campo }}{{ campo }}\n \n Selecciona estado\n \n \n {{estado.viewValue}}\n \n \n \n =8 && campoGrupo\">{{ campo }}=8 && campoGrupo\">\n \n \n \n

\n

\n Seleccionado: {{ singleForm.value[campo]['description'] }}\n

\n
=8 && campoGrupo\">\n \n clear\n \n
\n
\n
\n\n
\n
\n \n Campos editables\n \n {{campo}}\n \n \n add\n delete\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CampoValor
{{ campo }}\n \n \n \n \n

\n

\n Seleccionado: {{ multipleForm.value[campo]['description'] }}\n

\n
\n \n clear\n \n \n \n Selecciona estado\n \n \n {{estado.viewValue}}\n \n \n \n
\n
\n
\n
\n\n
\n\n \n \n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {FormControl, FormGroup} from '@angular/forms';\r\n\r\nimport Swal from 'sweetalert2';\r\nimport { RegistroService } from '../registro.service';\r\n\r\n@Component({\r\n selector: 'app-registro-filtro',\r\n templateUrl: './registro-filtro.component.html',\r\n styleUrls: ['./registro-filtro.component.scss']\r\n})\r\nexport class RegistroFiltroComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n panelOpenState = false;\r\n\r\n estadoList = [\r\n {value: 0, viewValue: 'Sin usar'},\r\n {value: 1, viewValue: 'Finalizado'},\r\n {value: 2, viewValue: 'Pendiente'},\r\n {value: 3, viewValue: 'No es posible completar'}\r\n ];\r\n selectedEstado = null;\r\n\r\n estadoForm = new FormControl();\r\n fechaIniForm = new FormControl();\r\n fechaFinForm = new FormControl();\r\n camposForm = new FormControl();\r\n multipleForm: FormGroup = null;\r\n\r\n camposList = null;\r\n selectList = null;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialog: MatDialog,\r\n private registroService: RegistroService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.camposList = [this.data.campos[1], this.data.campos[2], ...this.data.campos.slice(9, this.data.campos.length)];\r\n }\r\n\r\n /**Seleccion de campo */\r\n camposSelect(){\r\n let group = {};\r\n this.selectList = this.camposForm.value;\r\n this.camposForm.value.forEach(element => {\r\n group[element] = new FormControl('');\r\n });\r\n this.multipleForm = new FormGroup(group);\r\n }\r\n\r\n //////////Busca registros\r\n readRegistro(){\r\n Swal.fire({\r\n title: 'Cargando registros...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n let body = {\r\n codificacion: this.data.codificacion,\r\n estado: this.estadoForm.value,\r\n fechaini: this.fechaIniForm.value ? (new Date(this.fechaIniForm.value)).toDateString() : null,\r\n fechafin: this.fechaFinForm.value ? (new Date(this.fechaFinForm.value)).toDateString() : null,\r\n custom: this.multipleForm ? this.multipleForm.value : null\r\n };\r\n this.registroService.readRegistroFiltro(body)\r\n .subscribe( (data) => {\r\n Swal.close();\r\n this.dialogRef.close(data);\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al filtrar los registros, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n\r\n}\r\n","

Filtro de registro

\n\n \n \n\n \n \n Fechas de carga\n \n \n Busca registros cargados en el rango de fechas seleccionado.\n \n \n\n \n Fecha inicio\n \n \n \n \n \n Fecha fin\n \n \n \n \n \n\n \n \n \n Estado de registro\n \n \n Busca registros por estado.\n \n \n \n Estado\n \n {{estado.viewValue}}\n \n \n \n\n \n \n \n Filtro personalizado\n \n \n Busca registros con filtro personalizado.\n \n \n
\n
\n \n Campos disponibles\n \n {{campo}}\n \n \n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CampoValores a buscar
{{ campo }}\n \n \n \n Selecciona estado\n \n \n {{estado.viewValue}}\n \n \n \n
\n
\n
\n
\n
\n
\n\n
\n\n \n \n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {MatTableDataSource} from '@angular/material/table';\n\nimport { RegistroService } from '../registro.service';\n\n@Component({\n selector: 'app-registro-logs',\n templateUrl: './registro-logs.component.html',\n styleUrls: ['./registro-logs.component.scss']\n})\nexport class RegistroLogsComponent implements OnInit {\n\n logsList = [];\n dataSourceLogs = null;\n logsColumns: string[] = ['fecha' ,'usuario', 'identificador', 'mensaje'];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data,\n public dialog: MatDialog,\n private registroService: RegistroService\n ) { }\n\n ngOnInit(): void {\n this.readLogs();\n }\n\n /////////////////////////////// Busca eventos\n readLogs(){\n this.registroService.readLogs(this.data.codificacion, this.data.registro)\n .subscribe( (data) => {\n this.logsList = Object.keys(data).map( (row) => {\n return {\n fecha: data[row][0],\n usuario: data[row][1],\n identificador: data[row][2],\n mensaje: data[row][3]\n }\n });\n this.dataSourceLogs = new MatTableDataSource(this.logsList);\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n}\n","

Historia de registro

\n\n
\n \n \n \n \n \n \n \n \n \n
{{ column=='identificador' ? data.identificador : column }} {{element[column]}}
\n
\n
\n\n \n\n","

Añadir registro

\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
CampoValor
{{ campo }}{{ campo }}=9 && campoGrupo\">{{ campo }}=9 && campoGrupo\">\r\n \r\n \r\n \r\n

\r\n

\r\n Seleccionado: {{ singleForm.value[campo]['description'] }}\r\n

\r\n
=9 && campoGrupo\">\r\n \r\n clear\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {FormControl, FormGroup} from '@angular/forms';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { RegistroService } from '../registro.service';\r\n\r\n@Component({\r\n selector: 'app-registro-nuevo',\r\n templateUrl: './registro-nuevo.component.html',\r\n styleUrls: ['./registro-nuevo.component.scss']\r\n})\r\nexport class RegistroNuevoComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n singleForm: FormGroup;\r\n\r\n estadoList = [\r\n {value: 0, viewValue: 'Sin usar'},\r\n {value: 1, viewValue: 'Finalizado'},\r\n {value: 2, viewValue: 'Pendiente'},\r\n {value: 3, viewValue: 'No es posible completar'}\r\n ];\r\n selectedEstado = null;\r\n campoGrupo = null;\r\n codigos = null;\r\n camposList = null;\r\n\r\n config = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private registroService: RegistroService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readRegistroCodigo();\r\n this.camposList = [this.data.campos[1], this.data.campos[2], ...this.data.campos.slice(9, this.data.campos.length)];\r\n let group = {};\r\n this.camposList.forEach(element => {\r\n group[element] = new FormControl(''); \r\n });\r\n this.singleForm = new FormGroup(group);\r\n }\r\n\r\n /**Elimina Codigo */\r\n deleteCode(campo: any){\r\n this.singleForm.controls[campo].reset();\r\n }\r\n\r\n /* Busca codigos de codificacion */\r\n readRegistroCodigo(){\r\n this.registroService.readRegistroCodigo(this.data.codificacion).\r\n subscribe( (data) => {\r\n this.campoGrupo = data['campos'][0];\r\n let codigos = data['codigos'] ? data['codigos'] : [];\r\n this.codigos = codigos.reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n /**Añadir registro */\r\n async uploadRegistro(){\r\n let body = {\r\n data: [this.singleForm.value],\r\n codificacion: this.data.codificacion,\r\n control: this.data.control,\r\n control_value: this.singleForm.value[this.data.control]\r\n };\r\n this.registroService.createRegistro(body)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: `Registro cargado correctamente`\r\n });\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al cargar el registro, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n\r\n}\r\n","

Registros

\n

Cargando ...

\n\n \n \n \n \n \n \n Registros: {{dataSource.data.length}} (Por default se muestran los últimos 100 registros)\n \n Mostrar etiquetas\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n {{idColumns}} {{element[idColumns]}} {{column}} \n
6}\">{{ isObject(element[column]) }}
\n \n \n \n \n \n \n
\n
\n
\n
\n\n \n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {SelectionModel} from '@angular/cdk/collections';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\n\r\nimport Swal from 'sweetalert2';\r\nimport * as XLSX from 'xlsx';\r\n\r\nimport { RegistroService } from './registro.service';\r\nimport { DetalleExcelService } from '../detalle-proyecto/detalle-excel.service';\r\n\r\nimport { RegistroEditaComponent } from './registro-edita/registro-edita.component';\r\nimport { RegistroFiltroComponent } from './registro-filtro/registro-filtro.component';\r\nimport { RegistroLogsComponent } from './registro-logs/registro-logs.component';\r\nimport { RegistroNuevoComponent } from './registro-nuevo/registro-nuevo.component';\r\n\r\n@Component({\r\n selector: 'app-registro',\r\n templateUrl: './registro.component.html',\r\n styleUrls: ['./registro.component.scss']\r\n})\r\nexport class RegistroComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n columnsToDisplay = null;\r\n columnsList = null;\r\n idColumns = null;\r\n controlColumns = null;\r\n variableColumns = null;\r\n menuColumns = null;\r\n\r\n registroList = [];\r\n\r\n selection = new SelectionModel(true, []);\r\n dataSource = null;\r\n\r\n labels = 'value';\r\n defaultTxt = true;\r\n\r\n idProcodList = [];\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private registroService: RegistroService,\r\n private detalleExcelService: DetalleExcelService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.readRegistro();\r\n }\r\n\r\n /** Whether the number of selected elements matches the total number of rows. */\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.dataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n\r\n /** Selects all rows if they are not all selected; otherwise clear selection. */\r\n masterToggle() {\r\n this.isAllSelected() ?\r\n this.selection.clear() :\r\n this.dataSource.data.forEach(row => this.selection.select(row));\r\n }\r\n\r\n /** The label for the checkbox on the passed row */\r\n checkboxLabel(row?: any): string {\r\n if (!row) {\r\n return `${this.isAllSelected() ? 'select' : 'deselect'} all`;\r\n }\r\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\r\n }\r\n\r\n /////////////////////////////// Busca proyectos\r\n readRegistro(){\r\n let body = {\r\n codificacion: this.data.id,\r\n procod_id: this.idProcodList\r\n };\r\n this.registroService.readRegistro(body)\r\n .subscribe( (data) => {\r\n this.columnsList = data['campos'];\r\n this.columnsToDisplay = ['select',...data['campos'].slice(1, data['campos'].length), 'star'];\r\n this.registroList = data['resultado'];\r\n this.dataSource = new MatTableDataSource(this.registroList);\r\n this.idColumns = this.columnsToDisplay[1];\r\n this.controlColumns = this.columnsToDisplay[2];\r\n this.variableColumns = [...this.columnsToDisplay.slice(2, this.columnsToDisplay.length - 1)];\r\n this.menuColumns = this.columnsToDisplay[this.columnsToDisplay.length - 1];\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n );\r\n }\r\n\r\n async uploadRegistro(){\r\n Swal.fire({\r\n title: 'Selecciona xlsx',\r\n input: 'file',\r\n inputAttributes: {\r\n 'accept': 'file/*',\r\n 'aria-label': 'Carga archivo xlsx'\r\n },\r\n showCancelButton: true,\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: 'Cancelar',\r\n confirmButtonText: 'Ok',\r\n showLoaderOnConfirm: true,\r\n preConfirm: (file) => {\r\n if (file) {\r\n const reader = new FileReader;\r\n reader.onload = (e) => {\r\n const data = reader.result;\r\n let workBook = XLSX.read(data, { type: 'binary' });\r\n let sheet1 = workBook.SheetNames[0];\r\n let sheet = workBook.Sheets[sheet1];\r\n let jsonData = XLSX.utils.sheet_to_json(sheet);\r\n let arrayData = [];\r\n jsonData.forEach(element => {\r\n let row = [];\r\n Object.keys(element).map(r =>{\r\n row.push(element[r]);\r\n });\r\n arrayData.push(row);\r\n });\r\n Swal.mixin({\r\n input: 'text',\r\n inputPlaceholder: `${this.controlColumns}`,\r\n }).queue([\r\n {\r\n title: 'Carga de datos',\r\n html: `\r\n El archivo contiene ${arrayData.length} registros.

\r\n Agrega un valor a tu variable ${this.controlColumns} (Opcional)\r\n `,\r\n icon: 'info',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Cargar'\r\n }\r\n ]).then((result) => {\r\n if (result) {\r\n let body = {\r\n data: jsonData,\r\n codificacion: this.data.id,\r\n control: this.controlColumns,\r\n control_value: result['value'][0],\r\n };\r\n this.registroService.createRegistro(body)\r\n .subscribe( (data) => {\r\n Swal.fire({\r\n icon: 'success',\r\n text: `Registros cargados: ${data}`\r\n })\r\n this.readRegistro();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al cargar los registros, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n };\r\n reader.readAsBinaryString(file);\r\n }\r\n },\r\n allowOutsideClick: () => !Swal.isLoading()\r\n });\r\n }\r\n\r\n deleteRegistro(multiple: boolean, registro?: any){\r\n let deletes = null;\r\n let item = [];\r\n if (multiple) {\r\n for(let select of this.selection.selected){\r\n item.push(select.procod_id);\r\n } \r\n } else {\r\n item.push(registro.procod_id);\r\n }\r\n deletes = item.toString();\r\n Swal.fire({\r\n title: `¿Estas seguro de eliminar los ${item.length} registros seleccionados?`,\r\n text: 'Se eliminaran permanentemente los registros',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.registroService.deleteRegistro(deletes, this.data.id)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: `Registros eliminados: ${data}`\r\n });\r\n this.selection.clear();\r\n this.readRegistro();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al eliminar los registros, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n\r\n /////////////Lleva a vista de edicion de registros\r\n openDialogEditRegistro(multiple: boolean, row?: any) {\r\n let registros = multiple ? this.selection.selected : [row];\r\n const dialogRef = this.dialog.open(RegistroEditaComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: { \r\n codificacion: this.data.id, \r\n multiple: multiple, \r\n control: this.controlColumns,\r\n registros: registros,\r\n campos: this.columnsList\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.selection.clear();\r\n this.readRegistro();\r\n });\r\n }\r\n\r\n openDialogFilterRegistro(){\r\n const dialogRef = this.dialog.open(RegistroFiltroComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: { \r\n codificacion: this.data.id,\r\n control: this.controlColumns,\r\n campos: this.columnsList\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.defaultTxt = false;\r\n this.selection.clear();\r\n this.columnsList = result['campos'];\r\n this.columnsToDisplay = ['select',...result['campos'].slice(1, result['campos'].length), 'star'];\r\n this.registroList = result['resultado'];\r\n this.dataSource = new MatTableDataSource(this.registroList);\r\n this.idColumns = this.columnsToDisplay[1];\r\n this.controlColumns = this.columnsToDisplay[2];\r\n this.variableColumns = [...this.columnsToDisplay.slice(2, this.columnsToDisplay.length - 1)];\r\n this.menuColumns = this.columnsToDisplay[this.columnsToDisplay.length - 1]; \r\n result['resultado'].forEach(element => {\r\n this.idProcodList.push(element.procod_id);\r\n });\r\n }\r\n });\r\n }\r\n\r\n //////////////Descarga codificacion\r\n downloadCodificacion(){\r\n let body = {\r\n codificacion: this.data.codificacion,\r\n columns: [this.idColumns, ...this.variableColumns],\r\n data: this.dataSource.data,\r\n labels: this.labels\r\n };\r\n this.detalleExcelService.downloadCodificacion(body);\r\n }\r\n\r\n ////////////////Revisa si el valor es un objeto\r\n isObject(value: any){\r\n if (typeof value === 'object' && value !== null) {\r\n return value[this.labels];\r\n } else {\r\n return value;\r\n }\r\n }\r\n\r\n ///////////////Mortrar etiquetas\r\n showLabels(value: any){\r\n if(value){\r\n this.labels = 'description';\r\n }else{\r\n this.labels = 'value';\r\n }\r\n this.readRegistro();\r\n }\r\n\r\n /////////////Lleva a vista de logs\r\n openDialogLogs(row: any) {\r\n const dialogRef = this.dialog.open(RegistroLogsComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: {\r\n identificador: this.idColumns,\r\n codificacion: this.data.id,\r\n registro: row['procod_id']\r\n }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de añadir registro\r\n addRegistro() {\r\n const dialogRef = this.dialog.open(RegistroNuevoComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: {\r\n codificacion: this.data.id, \r\n control: this.controlColumns,\r\n campos: this.columnsList\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.readRegistro();\r\n });\r\n\r\n }\r\n\r\n /**\r\n * @description Carga de registros desde xlsx\r\n */\r\n async uploadRegistroJson(){\r\n Swal.fire({\r\n title: 'Selecciona xlsx',\r\n input: 'file',\r\n inputAttributes: {\r\n 'accept': 'file/*',\r\n 'aria-label': 'Carga archivo xlsx'\r\n },\r\n showCancelButton: true,\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: 'Cancelar',\r\n confirmButtonText: 'Ok',\r\n showLoaderOnConfirm: true,\r\n preConfirm: (file) => {\r\n if (file) {\r\n const reader = new FileReader;\r\n reader.onload = (e) => {\r\n const data = reader.result;\r\n let workBook = XLSX.read(data, { type: 'binary' });\r\n let sheet1 = workBook.SheetNames[0];\r\n let sheet = workBook.Sheets[sheet1];\r\n let jsonData = XLSX.utils.sheet_to_json(sheet);\r\n let arrayData = [];\r\n jsonData.forEach(element => {\r\n let row = [];\r\n Object.keys(element).map(r =>{\r\n row.push(element[r]);\r\n });\r\n arrayData.push(row);\r\n });\r\n Swal.mixin({\r\n input: 'text',\r\n inputPlaceholder: `${this.controlColumns}`,\r\n }).queue([\r\n {\r\n title: 'Carga de datos',\r\n html: `\r\n El archivo contiene ${arrayData.length} registros.

\r\n Agrega un valor a tu variable ${this.controlColumns} (Opcional)\r\n `,\r\n icon: 'info',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Cargar'\r\n }\r\n ]).then((result) => {\r\n if (result) {\r\n let body = {\r\n data: jsonData,\r\n codificacion: this.data.id,\r\n control: this.controlColumns,\r\n control_value: result['value'][0],\r\n };\r\n this.registroService.createRegistro(body)\r\n .subscribe( (data) => {\r\n Swal.fire({\r\n icon: 'success',\r\n text: `Registros cargados: ${data}`\r\n })\r\n this.readRegistro();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al cargar los registros, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n };\r\n reader.readAsBinaryString(file);\r\n }\r\n },\r\n allowOutsideClick: () => !Swal.isLoading()\r\n });\r\n }\r\n\r\n validarCodigos(){\r\n Swal.fire({\r\n title: 'Revisando registros',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n let body = {codificacion: this.data.id}\r\n this.registroService.validaCodigos(body)\r\n .subscribe( (data: any) => {\r\n console.log(data)\r\n if(data.length > 0){\r\n let texto = '';\r\n data.forEach(element => {\r\n texto += `${element['campo']}: ${element['codigo']}
`\r\n });\r\n Swal.fire({\r\n icon: 'info',\r\n title: '¡Revisar!',\r\n text: 'Revisa los códigos en los campos indicados.',\r\n html: texto\r\n })\r\n }else{\r\n Swal.fire({\r\n icon: 'success',\r\n title: '¡Perfecto!',\r\n text: 'Todos los códigos son validos.'\r\n })\r\n }\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { environment } from \"@env/environment\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RegistroService {\r\n\r\n env = environment;\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n ///////////////////////Busca registros\r\n readRegistro(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n \r\n return this.http.post(`${ this.env.api }/registro/read`, body, { headers }); \r\n }\r\n\r\n \r\n /**\r\n * @description Crea registro\r\n * @param body Informacion de registros\r\n * @returns Estatus de respuesta\r\n * @deprecated En proceso de cambio por createRegistroJson\r\n */\r\n createRegistro(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/registro`, body, { headers });\r\n }\r\n\r\n ///////////////////////Crea registro\r\n deleteRegistro(registro: any, codificacion: number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.delete(`${ this.env.api }/registro/${codificacion}/${registro}`, { headers });\r\n }\r\n\r\n ///////////////////////Edita registro\r\n updateRegistro(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n return this.http.put(`${ this.env.api }/registro`, body, { headers });\r\n }\r\n\r\n ///////////////////////Busca registros con filtro\r\n readRegistroFiltro(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/registro/filtro`, body, { headers });\r\n }\r\n\r\n ///////////////////////Busca registros con filtro\r\n readRegistroCodigo(codificacion: number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/registro/${codificacion}/codigo`, { headers });\r\n }\r\n\r\n ///////////////////////Busca logs\r\n readLogs(codificacion: number, procod_id: number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/logs/${codificacion}/${procod_id}`, { headers });\r\n }\r\n\r\n\r\n /**\r\n * @description Insert de registro nuevo\r\n * @param body Información de registro\r\n * @returns Estatus de respuesta\r\n */\r\n async createRegistroJson(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/registro`, body, { headers }).toPromise();\r\n }\r\n\r\n /**\r\n * @description Valida códigos\r\n */\r\n validaCodigos(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/registro/valida`, body, { headers });\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { CodificacionFiltroComponent } from '../../codificacion/codificacion-filtro/codificacion-filtro.component';\n\n@Component({\n selector: 'app-revision-filtro',\n templateUrl: './revision-filtro.component.html',\n styleUrls: ['./revision-filtro.component.scss']\n})\nexport class RevisionFiltroComponent implements OnInit {\n\n controlValue = null;\n filtroValue = null;\n filtroEstado = null;\n\n estadoList = [\n { value: 1, name: 'Completado' },\n { value: 2, name: 'Pendiente' },\n { value: 3, name: 'No es posible completar' }\n ];\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data,\n ) { }\n\n ngOnInit(): void {\n this.controlValue = this.data.controlValue;\n this.filtroValue = this.data.filtroValue;\n this.filtroEstado = this.data.filtroEstado;\n }\n\n filtro(){\n let body = {\n controlValue: this.controlValue,\n filtroValue: this.filtroValue,\n filtroEstado: this.filtroEstado\n };\n this.dialogRef.close(body);\n }\n\n}\n","

Filtro de registros

\n\n
\n \n Seleccionar {{ data.control }}\n \n \n
\n \n Estado\n \n \n {{ estado.name }}\n \n \n \n
\n \n Seleccionar valor de campo\n \n \n {{ valor.texto }}\n \n \n \n
\n
\n\n \n \n","

Revisión

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ identificador }}{{ text }}
{{ registro[identificador] }} {{ registro[text] }}
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Estado\r\n \r\n \r\n {{ estado.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Observación: {{ observacion_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
{{ columns }}
\r\n {{ value }}\r\n \r\n 0 && codigos[grupoCol[i][k]]\"\r\n placeholder=\"Selecciona\"\r\n notFoundText=\"Sin resultados\"\r\n [items]=\"codigos[grupoCol[i][k]]\"\r\n bindLabel=\"description\"\r\n clearAllText=\"Clear\"\r\n [formControlName]=\"dataCod[i][j][k]\"\r\n (change)=\"updateCaptura(i, j, k - 1, 'select', $event)\">\r\n \r\n\r\n

\r\n

0 && \r\n codigos[grupoCol[i][k]] && \r\n multipleForm.value[dataCod[i][j][k]]\">\r\n Seleccionado: {{ multipleForm.value[dataCod[i][j][k]].description }}\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {FormControl, FormGroup} from '@angular/forms';\r\n\r\nimport Swal from 'sweetalert2';\r\nimport { RevisionService } from './revision.service';\r\nimport { RevisionFiltroComponent } from './revision-filtro/revision-filtro.component';\r\n\r\n@Component({\r\n selector: 'app-revision',\r\n templateUrl: './revision.component.html',\r\n styleUrls: ['./revision.component.scss']\r\n})\r\nexport class RevisionComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n identificador: string;\r\n textList = [];\r\n dataCod = [];\r\n displayedColumns = [];\r\n\r\n grupoCol = [];\r\n codigosDefault = null;\r\n codigos = null;\r\n\r\n valRowList = [];\r\n valColList = [];\r\n\r\n captura = [];\r\n\r\n estadoList = [\r\n { value: 1, name: 'Completado' },\r\n { value: 2, name: 'Pendiente' },\r\n { value: 3, name: 'No es posible completar' }\r\n ];\r\n\r\n selectEstado = null;\r\n\r\n config = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n registro = null;\r\n observacion = null;\r\n\r\n observacion_usuario = null;\r\n\r\n controlValue = null;\r\n filtro = null;\r\n filtroValue = null;\r\n filtroEstado = null;\r\n isvista = false;\r\n\r\n multipleForm: FormGroup = null;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private revisionService: RevisionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readVista();\r\n }\r\n\r\n /////////////////////////////// Busca Vista\r\n readVista(){\r\n Swal.fire({\r\n title: 'Cargando pantalla...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n let group = {};\r\n this.revisionService.readVista(this.data.id)\r\n .subscribe(async (data) => {\r\n this.filtro = data['filtros'] ? data['filtros'] : null;\r\n this.identificador = data['id'] ? data['id'] : null;\r\n this.textList = data['txt'] ? data['txt'] : [];\r\n this.displayedColumns = data['colnota'] ? data['colnota'] : [];\r\n this.dataCod = data['codes'] ? data['codes'] : [];\r\n this.grupoCol = data['grupos'] ? data['grupos'] : [];\r\n let codigos = data['codigos'] ? data['codigos'] : [];\r\n this.codigosDefault = codigos.reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});\r\n this.valColList = data['valcol'] ? data['valcol'] : [];\r\n this.valRowList = data['valrow'] ? data['valrow'] : [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n k > 0 ? group[element] = new FormControl() : null;\r\n });\r\n });\r\n });\r\n this.multipleForm = new FormGroup(group);\r\n await this.readRegistro();\r\n Swal.close();\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n /**Busca validaciones */\r\n getValide(){\r\n let data = {\r\n captura: this.captura,\r\n codificacion: this.data.id\r\n }\r\n this.revisionService.getValide(data)\r\n .subscribe( (data: any) => {\r\n if(data.length > 0){\r\n let messages = data.join('');\r\n Swal.fire({\r\n title: 'Revisa las siguientes observaciones',\r\n icon: 'info',\r\n width: 700,\r\n html: `\r\n
    \r\n ${messages}\r\n
      \r\n `\r\n });\r\n }else{\r\n let body = {\r\n observacion: this.observacion,\r\n data: this.multipleForm.value,\r\n codificacion: this.data.id,\r\n estado: this.selectEstado,\r\n identificador: this.registro['procod_id'],\r\n revision: true\r\n };\r\n this.updateRegistro(body);\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n\r\n /**Guarda informacion*/\r\n async sendData(){\r\n if (!this.selectEstado) {\r\n Swal.fire(\r\n '¡Debes seleccionar un estado!',\r\n '',\r\n 'info'\r\n ); \r\n }\r\n \r\n if (this.selectEstado > 1) {\r\n const { value: text } = await Swal.fire({\r\n title: 'Observaciones',\r\n input: 'textarea',\r\n inputPlaceholder: 'Escribe tus observaciones aquí...',\r\n confirmButtonText: 'Enviar',\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n });\r\n \r\n if (text) {\r\n this.observacion = text;\r\n let body = {\r\n observacion: this.observacion,\r\n data: this.multipleForm.value,\r\n codificacion: this.data.id,\r\n estado: this.selectEstado,\r\n identificador: this.registro['procod_id'],\r\n revision: true\r\n }\r\n \r\n this.updateRegistro(body);\r\n }\r\n }else if(this.selectEstado == 1){\r\n this.getValide();\r\n }\r\n }\r\n\r\n /////////////////////////////// Busca registro a codificar\r\n async readRegistro(){\r\n this.registro = null;\r\n let body = {\r\n codificacion: this.data.id,\r\n control: this.data['control'],\r\n control_value: this.controlValue,\r\n filtro: this.filtro,\r\n filtro_value: this.filtroValue,\r\n filtro_estado: this.filtroEstado\r\n };\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n return new Promise((resolve) => {\r\n this.revisionService.readRegistro(body)\r\n .subscribe( (data) => {\r\n this.isvista = false;\r\n this.registro = data['registro'];\r\n if (this.registro) {\r\n this.observacion_usuario = this.registro['procod_observacion'];\r\n this.selectEstado = this.registro['procod_estado'];\r\n Object.keys(this.registro).forEach(element => {\r\n this.multipleForm.controls[element] && this.registro[element] != null ? \r\n this.multipleForm.controls[element].setValue(this.registro[element]) : \r\n null;\r\n });\r\n if (data['codigos'].length > 0) {\r\n this.codigos = data['codigos'].reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});;\r\n }else{\r\n this.codigos = this.codigosDefault;\r\n }\r\n \r\n for (let table = 0; table < this.displayedColumns.length; table++) {\r\n for (let row = 0; row < this.dataCod[table].length; row++) {\r\n for (let column = 1; column < this.dataCod[table][row].length; column++) {\r\n this.captura[table][row][column - 1] = \r\n this.multipleForm.value[this.dataCod[table][row][column]] != \"\" ?\r\n this.multipleForm.value[this.dataCod[table][row][column]] :\r\n null;\r\n }\r\n }\r\n }\r\n this.isvista = true;\r\n resolve(data);\r\n } else {\r\n Swal.fire({\r\n icon: 'info',\r\n text: 'No hay registro disponibles',\r\n });\r\n } \r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }); \r\n }\r\n\r\n ///////////////////////// Guardar registro\r\n updateRegistro(body: any){\r\n Swal.fire({\r\n title: 'Guardando...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.revisionService.updateRegistro(body)\r\n .subscribe(async (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Registro guardado correctamente'\r\n });\r\n this.multipleForm.reset();\r\n this.selectEstado = null;\r\n this.observacion = null;\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n await this.readRegistro();\r\n },\r\n (error) => {\r\n this.Toast.fire({\r\n icon: 'error',\r\n title: 'Error al guardar el registro'\r\n });\r\n }\r\n );\r\n }\r\n\r\n /////////////// Seleccionar filtro de registros\r\n openDialogFilterRegistro(){\r\n const dialogRef = this.dialog.open(RevisionFiltroComponent, {\r\n width: '400px',\r\n disableClose: true,\r\n data: { \r\n control: this.data['control'], \r\n controlValue: this.controlValue, \r\n filtro: this.filtro, \r\n filtroValue: this.filtroValue,\r\n filtroEstado: this.filtroEstado\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(async result => {\r\n if (result) {\r\n Swal.fire({\r\n title: 'Cargando...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.filtroValue = result.filtroValue;\r\n this.controlValue = result.controlValue;\r\n this.filtroEstado = result.filtroEstado;\r\n this.multipleForm.reset();\r\n this.selectEstado = null;\r\n this.observacion = null;\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n await this.readRegistro();\r\n Swal.close();\r\n }\r\n });\r\n }\r\n\r\n\r\n /////////////// Actualiza arreglo de captura\r\n updateCaptura(table: number, row: number, column: number, type: string, $event: any){\r\n if (type == 'input' && $event != undefined) {\r\n this.captura[table][row][column] = $event.target.value;\r\n } else if (type == 'select' && $event != undefined) {\r\n this.captura[table][row][column] = $event;\r\n }else {\r\n this.captura[table][row][column] = null;\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RevisionService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca pantalla\n readVista(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/vista/${id}`, { headers });\n }\n\n ///////////////////////Busca validacion\n getValide(data: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/valida`, data, { headers });\n }\n\n ///////////////////////Busca registro a codificar\n readRegistro(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/vista/registro/revision`, body, { headers });\n }\n\n \n updateRegistro(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.put(`${ this.env.api }/vista/registro`, body, { headers });\n }\n\n}\n","

      Vista previa

      \n\n
      \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      {{ identificador }}{{ text }}
      Valor Valor
      \n
      \n\n
      \n \n \n \n \n \n \n \n \n
      \n \n Estado\n \n \n {{ estado.name }}\n \n \n \n \n \n \n \n
      \n
      \n\n \n \n \n \n \n \n \n \n \n \n \n \n
      {{ columns }}
      \n {{ value }}\n \n\n 0 && codigos[grupoCol[i][k]]\"\n style=\"float: left; width: 150px;\"\n [multiple]=\"false\"\n [config]=\"config\"\n [(ngModel)]=\"captura[i][j][k - 1]\"\n [options]=\"codigos[grupoCol[i][k]]\"\n >\n \n 0 && codigos[grupoCol[i][k]]\"\n mat-icon-button\n color=\"warn\"\n matTooltip=\"Eliminar código\"\n matTooltipPosition=\"above\"\n style=\"float: left;\"\n (click)=\"deleteCode(i,j,k)\">\n clear\n \n
      \n
      \n\n\n \n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\n\nimport { VistaService } from './vista.service';\n\nexport interface DialogData {\n id: number;\n name: string;\n}\n\n@Component({\n selector: 'app-vista',\n templateUrl: './vista.component.html',\n styleUrls: ['./vista.component.scss']\n})\nexport class VistaComponent implements OnInit {\n\n identificador: string;\n textList = [];\n dataCod = [];\n displayedColumns = [];\n\n grupoCol = [];\n codigos = null;\n\n valRowList = [];\n valColList = [];\n\n captura = [];\n\n estadoList = [\n { value: 1, name: 'Completado' },\n { value: 2, name: 'Pendiente' },\n { value: 3, name: 'No es posible completar' }\n ];\n\n selectEstado = null;\n\n config = {\n displayKey: 'description',\n search: true,\n height: '200px',\n placeholder:'Selecciona',\n noResultsFound: 'Sin resultados',\n searchPlaceholder:'Buscar...',\n clearOnSelection: false\n }\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private vistaService: VistaService\n ) { }\n\n ngOnInit(): void {\n this.readVista();\n }\n\n /////////////////////////////// Busca Vista\n readVista(){\n this.vistaService.readVista(this.data.id)\n .subscribe( (data) => {\n this.identificador = data['id'] ? data['id'] : null;\n this.textList = data['txt'] ? data['txt'] : [];\n this.displayedColumns = data['colnota'] ? data['colnota'] : [];\n this.dataCod = data['codes'] ? data['codes'] : [];\n this.grupoCol = data['grupos'] ? data['grupos'] : [];\n let codigos = data['codigos'] ? data['codigos'] : [];\n this.codigos = codigos.reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});\n this.valColList = data['valcol'] ? data['valcol'] : [];\n this.valRowList = data['valrow'] ? data['valrow'] : [];\n this.dataCod.forEach((table, i) => {\n this.captura.push([]);\n table.forEach((row, j) => {\n this.captura[i].push([]);\n row.forEach((element,k) => {\n k > 0 ? this.captura[i][j].push(null) : null;\n });\n });\n });\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n /**Elimina Codigo */\n deleteCode(table: number, row: number, column: number){\n this.captura[table][row][column - 1] = null;\n }\n\n /**Busca validaciones */\n getValide(){\n let data = {\n captura: this.captura,\n codificacion: this.data.id\n }\n this.vistaService.getValide(data)\n .subscribe( (data: any) => {\n if(data.length > 0){\n let messages = data.join('');\n Swal.fire({\n title: 'Revisa las siguientes observaciones',\n icon: 'info',\n width: 700,\n html: `\n
        \n ${messages}\n
          \n `\n });\n }\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n\n /**Guarda informacion*/\n async sendData(){\n if (!this.selectEstado) {\n Swal.fire(\n `¡Debes seleccionar un estado!`,\n \"\",\n 'info'\n ); \n }\n \n if (this.selectEstado > 1) {\n const { value: text } = await Swal.fire({\n title: 'Observaciones',\n input: 'textarea',\n inputPlaceholder: 'Escribe tus observaciones aquí...',\n showCancelButton: true\n });\n \n if (text) {\n Swal.fire(text);\n }\n }else if(this.selectEstado == 1){\n this.getValide();\n }\n\n\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VistaService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca pantalla\n readVista(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/vista/${id}`, { headers });\n }\n\n ///////////////////////Busca validacion\n getValide(data: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/valida`, data, { headers });\n }\n\n \n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {SelectionModel} from '@angular/cdk/collections';\n\nimport Swal from 'sweetalert2';\n\nimport { UsuarioService } from '../usuario.service';\n\n@Component({\n selector: 'app-asigna-ver',\n templateUrl: './asigna-ver.component.html',\n styleUrls: ['./asigna-ver.component.scss']\n})\nexport class AsignaVerComponent implements OnInit {\n\n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n\n dataSource = null;\n asignacionList = [];\n selection = new SelectionModel(true, []);\n displayedColumns = ['select', 'proyecto', 'pantalla']\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data,\n public dialog: MatDialog,\n private usuarioService: UsuarioService\n ) { }\n\n ngOnInit(): void {\n this.readAsignacion();\n }\n\n /** Whether the number of selected elements matches the total number of rows. */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /** Selects all rows if they are not all selected; otherwise clear selection. */\n masterToggle() {\n this.isAllSelected() ?\n this.selection.clear() :\n this.dataSource.data.forEach(row => this.selection.select(row));\n }\n\n /** The label for the checkbox on the passed row */\n checkboxLabel(row?): string {\n if (!row) {\n return `${this.isAllSelected() ? 'select' : 'deselect'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\n }\n\n readAsignacion(){\n this.usuarioService.readAsignacion(this.data.usuario.id)\n .subscribe( (data) => {\n this.asignacionList = Object.keys(data).map( (i) => {\n return {\n id: data[i][0], \n usuario: data[i][1],\n proyecto: data[i][2],\n pantalla: data[i][3]\n }\n });\n this.dataSource = new MatTableDataSource(this.asignacionList);\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n deleteAsignacion(){\n let deleteList = [];\n let deletes: string = null;\n this.selection['_selected'].forEach(element => {\n deleteList.push(element.id);\n });\n deletes = deleteList.join(',');\n this.usuarioService.deleteAsignacion(deletes)\n .subscribe( (data) => {\n this.dataSource = null;\n this.Toast.fire({\n icon: 'success',\n title: 'Asignación eliminada exitosamente'\n });\n this.readAsignacion();\n },\n (error) => {\n this.Toast.fire({\n icon: 'error',\n title: 'Error al eliminar la asignación'\n });\n }\n );\n }\n\n}\n","

          Proyectos asignados - {{ data.usuario.nombre }}

          \n\n
          \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
          \n \n \n \n \n \n Proyecto {{element.proyecto}} Pantalla {{element.pantalla}}
          \n
          \n
          \n Eliminar asignaciones\n
          \n
          \n\n \n","import { Component, OnInit, Inject } from '@angular/core';\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\n\nimport { UsuarioService } from '../usuario.service';\n\n@Component({\n selector: 'app-asigna',\n templateUrl: './asigna.component.html',\n styleUrls: ['./asigna.component.scss']\n})\nexport class AsignaComponent implements OnInit {\n \n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n\n firstFormGroup: FormGroup;\n secondFormGroup: FormGroup;\n thirdFormGroup: FormGroup;\n\n proyectoList = null;\n codificacionList = null;\n\n constructor(\n private _formBuilder: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data,\n public dialog: MatDialog,\n private usuarioService: UsuarioService\n ) { }\n\n ngOnInit(): void {\n this.readProyecto();\n this.firstFormGroup = this._formBuilder.group({\n firstCtrl: ['', Validators.required]\n });\n this.secondFormGroup = this._formBuilder.group({\n secondCtrl: ['', Validators.required]\n });\n this.thirdFormGroup = this._formBuilder.group({\n thirdCtrl: ['', Validators.required]\n });\n }\n\n /////////////////////////////// Busca proyectos\n readProyecto(){\n this.usuarioService.readProyecto()\n .subscribe( (data) => {\n this.proyectoList = Object.keys(data).map( (i) => {\n return {id: i, name: data[i]}\n });\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n ///////////////////////Busca pantallas\n readCod(proyecto: number){\n this.usuarioService.readCod(proyecto)\n .subscribe( (data) => {\n this.codificacionList = Object.keys(data['pantallas']).map( (row) => {\n return {\n id: data['pantallas'][row][0], \n name: data['pantallas'][row][1]\n }\n });\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n createAsignacion(){\n let body = {\n usuario: this.firstFormGroup.value.firstCtrl,\n codificacion: this.thirdFormGroup.value.thirdCtrl\n }\n\n this.usuarioService.createAsignacion(body)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Usuarios asignados exitosamente'\n });\n },\n (error) => {\n this.Toast.fire({\n icon: 'error',\n title: 'Error al asignar usuarios'\n });\n }\n );\n }\n\n}\n","

          Asignación de proyectos

          \n\n \n \n
          \n Codificadores\n

          Selecciona los usuarios a asignar

          \n
          \n \n \n {{codificador.nombre}}\n \n \n
          \n
          \n \n
          \n
          \n
          \n \n
          \n

          Selecciona proyecto a asignar

          \n
          \n \n \n {{proyecto.name}}\n \n \n
          \n
          \n \n \n
          \n
          \n
          \n \n
          \n

          Selecciona pantallas a asignar

          \n
          \n \n \n {{codificacion.name}}\n \n \n
          \n
          \n \n \n
          \n
          \n
          \n\n
          \n
          \n\n \n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {FormControl, FormGroupDirective, NgForm, Validators} from '@angular/forms';\r\nimport {ErrorStateMatcher} from '@angular/material/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { UsuarioService } from '../usuario.service';\r\n\r\n/** Error when invalid control is dirty, touched, or submitted. */\r\nexport class MyErrorStateMatcher implements ErrorStateMatcher {\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-usuario-nuevo',\r\n templateUrl: './usuario-nuevo.component.html',\r\n styleUrls: ['./usuario-nuevo.component.scss']\r\n})\r\nexport class UsuarioNuevoComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n hide = true;\r\n title = null;\r\n\r\n emailFormControl = new FormControl('', [\r\n Validators.required,\r\n Validators.email,\r\n ]);\r\n\r\n nameFormControl = new FormControl('', [\r\n Validators.required,\r\n ]);\r\n passFormControl = new FormControl('', [\r\n Validators.required,\r\n ]);\r\n levelFormControl = new FormControl('', [\r\n Validators.required,\r\n ]);\r\n matcher = new MyErrorStateMatcher();\r\n\r\n levelList = null;\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private usuarioService: UsuarioService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if(this.data.level==3){\r\n this.levelList = [\r\n {value: 1, viewValue: 'Codificador'},\r\n {value: 2, viewValue: 'Supervisor'},\r\n {value: 3, viewValue: 'Administrador'}\r\n ];\r\n }else if(this.data.level==2){\r\n this.levelList = [\r\n {value: 1, viewValue: 'Codificador'},\r\n ];\r\n }\r\n\r\n if(this.data.action=='update'){\r\n this.title = 'Editar usuario';\r\n this.nameFormControl.setValue(this.data.usuario.nombre);\r\n this.emailFormControl.setValue(this.data.usuario.email);\r\n this.passFormControl.setValue(this.data.usuario.password);\r\n this.levelFormControl.setValue(this.data.usuario.nivel);\r\n }else{\r\n this.title = 'Crear usuario';\r\n }\r\n }\r\n\r\n createUsuario(){\r\n let body = {\r\n nombre: this.nameFormControl.value,\r\n email: this.emailFormControl.value,\r\n password: this.passFormControl.value,\r\n level: this.levelFormControl.value\r\n };\r\n this.usuarioService.createUsuario(body)\r\n .subscribe((data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Usuario creado correctamente'\r\n });\r\n },\r\n (error) => {\r\n Swal.fire(\r\n `¡Se generó un error al crear el usuario, revise que el email no este duplicado, o intente más tarde!`,\r\n '',\r\n \"info\"\r\n );\r\n });\r\n }\r\n\r\n updateUsuario(){\r\n let body = {\r\n usuario: this.data.usuario.id,\r\n nombre: this.nameFormControl.value,\r\n email: this.emailFormControl.value,\r\n password: this.passFormControl.value,\r\n level: this.levelFormControl.value\r\n };\r\n this.usuarioService.updateUsuario(body)\r\n .subscribe((data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Usuario actualizado correctamente'\r\n });\r\n },\r\n (error) => {\r\n Swal.fire(\r\n `¡Se generó un error al actualizar el usuario, revise que el email no este duplicado, o intente más tarde!`,\r\n '',\r\n \"info\"\r\n );\r\n });\r\n }\r\n\r\n}\r\n","

          {{ title }}

          \n\n \n Nombre de usuario\n \n \n Nombre requerido\n \n \n
          \n \n Email\n \n \n Por favor ingresa un email valido\n \n \n Email es requerido\n \n \n
          \n \n Contraseña\n \n \n \n contraseña requerida\n \n \n\n \n Nivel\n \n \n {{level.viewValue}}\n \n \n \n nivel requerido\n \n \n
          \n\n \n \n \n\n ","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { Pages } from '../pages.service';\r\n\r\nimport { UsuarioComponent } from './usuario.component';\r\n\r\nconst routes: Routes = [\r\n Pages.childRoutes([\r\n { path: 'usuarios', component: UsuarioComponent },\r\n ])\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n providers: []\r\n})\r\nexport class UsuarioRoutingModule {}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n
          \r\n

          groupsUsuarios

          \r\n
          \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
          \r\n \r\n \r\n \r\n \r\n \r\n Nombre {{element.nombre}} Email {{element.email}} Nivel {{element.nivel_name}} \r\n \r\n \r\n \r\n visibility\r\n Ver proyectos\r\n \r\n \r\n \r\n \r\n
          \r\n
          \r\n
          \r\n
          \r\n
          ","import { Component, OnInit } from '@angular/core';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthService } from '../../service/auth.service';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport {SelectionModel} from '@angular/cdk/collections';\r\nimport { UsuarioService } from './usuario.service';\r\nimport { UsuarioNuevoComponent } from './usuario-nuevo/usuario-nuevo.component';\r\nimport { AsignaComponent } from './asigna/asigna.component';\r\nimport { AsignaVerComponent } from './asigna-ver/asigna-ver.component';\r\n\r\n@Component({\r\n selector: 'app-usuario',\r\n templateUrl: './usuario.component.html',\r\n styleUrls: ['./usuario.component.scss']\r\n})\r\nexport class UsuarioComponent implements OnInit {\r\n \r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n permissions = null;\r\n\r\n displayedColumns: string[] = ['select' ,'Nombre', 'Email', 'Nivel', 'menu'];\r\n selection = new SelectionModel(true, []);\r\n dataSource = null;\r\n\r\n usuarioList = null;\r\n codificadoresList = null;\r\n\r\n\r\n constructor(\r\n private usuarioService: UsuarioService,\r\n public dialog: MatDialog,\r\n private auth: AuthService,\r\n private router: Router,\r\n ) { }\r\n\r\n async ngOnInit() {\r\n await this.getPermissions();\r\n await this.readUsuario();\r\n }\r\n\r\n ///////////////////Busca permisos\r\n async getPermissions(){\r\n this.auth.getPermissions()\r\n .subscribe( (data) => {\r\n this.permissions = data;\r\n },\r\n (error) => {\r\n this.router.navigateByUrl('/login');\r\n }\r\n );\r\n }\r\n\r\n /** Whether the number of selected elements matches the total number of rows. */\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.dataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n\r\n /** Selects all rows if they are not all selected; otherwise clear selection. */\r\n masterToggle() {\r\n this.isAllSelected() ?\r\n this.selection.clear() :\r\n this.dataSource.data.forEach(row => this.selection.select(row));\r\n }\r\n\r\n /** The label for the checkbox on the passed row */\r\n checkboxLabel(row?: any): string {\r\n if (!row) {\r\n return `${this.isAllSelected() ? 'select' : 'deselect'} all`;\r\n }\r\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\r\n }\r\n\r\n /////////////////////////////// Busca proyectos\r\n async readUsuario(){\r\n this.codificadoresList = [];\r\n this.usuarioService.readUsuario()\r\n .subscribe( (data) => {\r\n this.usuarioList = Object.keys(data).map( (i) => {\r\n return {\r\n id: data[i][0], \r\n nombre: data[i][1],\r\n email: data[i][2],\r\n password: data[i][3],\r\n nivel: data[i][4],\r\n nivel_name: data[i][5]\r\n }\r\n });\r\n this.usuarioList.forEach(element => {\r\n if (element.nivel == 1) {\r\n this.codificadoresList.push(element); \r\n }\r\n });\r\n this.dataSource = new MatTableDataSource(this.usuarioList);\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////////// Crear usuario\r\n openCreateUsuario(){\r\n const dialogRef = this.dialog.open(UsuarioNuevoComponent, {\r\n width: '400px',\r\n disableClose: true,\r\n data: { level: this.permissions.level, action: 'create' }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.readUsuario();\r\n });\r\n }\r\n\r\n ///////////////////////////// Actualizar usuario\r\n openUpdateUsuario(usuario: any){\r\n const dialogRef = this.dialog.open(UsuarioNuevoComponent, {\r\n width: '400px',\r\n disableClose: true,\r\n data: { level: this.permissions.level, usuario: usuario, action: 'update' }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.readUsuario();\r\n });\r\n }\r\n\r\n ///////////////////////// Eliminar usuario\r\n deleteUsuario(usuario: any){\r\n Swal.fire({\r\n title: `¿Estas seguro de eliminar el usuario ${usuario.nombre}?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, Eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n \r\n this.usuarioService.deleteUsuario(usuario.id)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Usuario eliminado correctamente'\r\n });\r\n this.readUsuario();\r\n },\r\n (error) => {\r\n this.Toast.fire({\r\n icon: 'error',\r\n title: 'Error al eliminar usuario'\r\n });\r\n });\r\n }\r\n })\r\n }\r\n\r\n ///////////////////////////// Asigna usuario\r\n openAsignaUsuario(){\r\n const dialogRef = this.dialog.open(AsignaComponent, {\r\n disableClose: true,\r\n data: { codificadores: this.codificadoresList }\r\n });\r\n }\r\n\r\n ///////////////////////////// Busca proyectos asignados\r\n openAsignacion(usuario: any){\r\n const dialogRef = this.dialog.open(AsignaVerComponent, {\r\n width: '900px',\r\n disableClose: true,\r\n data: { usuario: usuario }\r\n });\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { MaterialModule } from '../../material.module';\r\nimport { SelectDropDownModule } from 'ngx-select-dropdown';\r\nimport { UsuarioRoutingModule } from './usuario-routing.module';\r\nimport { UsuarioComponent } from './usuario.component';\r\nimport { UsuarioNuevoComponent } from './usuario-nuevo/usuario-nuevo.component';\r\nimport { AsignaComponent } from './asigna/asigna.component';\nimport { AsignaVerComponent } from './asigna-ver/asigna-ver.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n UsuarioRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SelectDropDownModule,\r\n BrowserModule\r\n ],\r\n exports: [],\r\n declarations: [\r\n UsuarioComponent,\r\n UsuarioNuevoComponent,\r\n AsignaComponent,\r\n AsignaVerComponent\r\n ],\r\n providers: [],\r\n})\r\nexport class UsuarioModule { }\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UsuarioService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca usuarios\n readUsuario(){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/usuario`, { headers });\n }\n\n ///////////////////////Crea usuario\n createUsuario(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/usuario`, body, { headers });\n }\n\n ///////////////////////Actualiza usuario\n updateUsuario(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.put(`${ this.env.api }/usuario`, body, { headers });\n }\n\n ///////////////////////Eliminar usuario\n deleteUsuario(usuario){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/usuario/${usuario}`, { headers });\n }\n\n ///////////////////////Busca proyecto\n readProyecto(){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/proyecto`, { headers });\n }\n\n ///////////////////////Busca codificacion\n readCod(proyecto: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/codificacion/${proyecto}`, { headers });\n }\n\n ////////////////////Crea asignacion\n createAsignacion(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/asignacion`, body, { headers }); \n }\n\n ////////////////////Busca asignacion\n readAsignacion(usuario: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/asignacion/usuario/${usuario}`, { headers }); \n }\n\n ////////////////////Busca asignacion\n deleteAsignacion(id: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/asignacion/${id}`, { headers }); \n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-public',\n templateUrl: './public.component.html',\n styleUrls: ['./public.component.scss']\n})\nexport class PublicComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n \n ProCod\n \n \n \n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\nimport { UsuarioModel } from '../models/usuario.model';\n\nimport { map } from \"rxjs/operators\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n env = environment;\n userToken: string = '';\n constructor( \n private http: HttpClient\n ) { }\n\n login( usuario: UsuarioModel ){\n\n const authData = {\n ...usuario\n };\n\n return this.http.post(\n `${ this.env.api }/auth`,\n authData\n ).pipe(\n map( (resp) => {\n this.saveToken(resp['idToken']);\n return resp;\n })\n );\n }\n\n private saveToken(idToken: string){\n this.userToken = idToken;\n localStorage.setItem('idToken', idToken);\n }\n\n getToken(){\n if (this.userToken) {\n this.userToken = localStorage.getItem('idToken'); \n }else{\n this.userToken = '';\n }\n return this.userToken;\n }\n\n statusAuth(): boolean {\n if (localStorage.getItem('idToken')) {\n return true; \n }\n return false;\n }\n\n logout(){\n localStorage.removeItem('idToken');\n }\n\n getPermissions(){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/auth`, { headers });\n\n }\n\n}\n\n\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n api: 'https://api.procodmx.com'\n //api: 'http://127.0.0.1:5000/api'\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"]}