Explorar el Código

Merge branch 'master' of http://209.50.56.224/git/ITTEC/SistemaMantenimiento

JeanBenitez hace 1 año
padre
commit
12141bea85

+ 2 - 1
sistema-mantenimiento-front/src/app/components/control-panel/graphic-interface-indicators/control-panel-view/control-panel-view.component.html

@@ -1,5 +1,6 @@
 <div class="control-panel-main-container" (window:resize)="onResize()">
   <h1 *ngIf="isPreview">Vista previa del panel '{{ controlPanel == null ? '-' : controlPanel.NOMBRE_PANEL + " (" + controlPanel.ID_PANEL + ")" }}'</h1>
+  <a id="download" class="hidden"></a>
   <div [ngClass]="{ control_panel_for_preview: isPreview && screenSize > 535, control_panel_for_preview_movile: isPreview && screenSize <= 535,
   control_panel: !isPreview && screenSize > 535 }">
     <div *ngIf="panelElementsIDS.includes('S002V01P01MOCO')" [ngClass]="{ connected_users_indicator: screenSize > 535, 
@@ -47,7 +48,7 @@
               <button mat-raised-button color="primary" class="mr-4" (click)="openMeasuresDialog(counterChart.counterID)">
                 <mat-icon>history</mat-icon> Historial de medidas
               </button>
-              <button mat-raised-button class="green_dark_background white_font">
+              <button mat-raised-button class="green_dark_background white_font" (click)="exportExcelData('S002V01M06COAC', counterChart.counterID)">
                 <mat-icon svgIcon="xls"></mat-icon> Exportar medidas
               </button>
             </div>

+ 33 - 0
sistema-mantenimiento-front/src/app/components/control-panel/graphic-interface-indicators/control-panel-view/control-panel-view.component.ts

@@ -15,6 +15,7 @@ import { MatIconRegistry } from '@angular/material/icon';
 import { DomSanitizer } from '@angular/platform-browser';
 import { DOCUMENT } from '@angular/common';
 import { ControlPanelService } from 'src/app/services/control-panel.service';
+import { DocumentManagementService } from 'src/app/services/document-management/document-management.service';
 
 @Component({
   selector: 'app-control-panel-view',
@@ -48,6 +49,7 @@ export class ControlPanelViewComponent implements OnInit {
     private _matIconRegistry: MatIconRegistry,
     private _domSanitizer: DomSanitizer,
     private _controlPanelService: ControlPanelService,
+    private _documentManagementService: DocumentManagementService,
   ) {
     this.isPreview = false;
     this.controlPanel = null;
@@ -385,4 +387,35 @@ export class ControlPanelViewComponent implements OnInit {
       break;
     }
   }
+
+  async exportExcelData(module: string, indicator: string){
+    try{
+      this._resourcesService.openSnackBar('Generando archivo...');
+
+      let idUser = localStorage.getItem('idusuario')!;
+      let idModule = await this._encService.encrypt(module);
+      let indicatorEnc = await this._encService.encrypt(indicator);
+
+      let excelDoc = await lastValueFrom(this._controlPanelService.getInfoToExcel(indicatorEnc, idModule, idUser, 1));
+      let downloadToken = await lastValueFrom(this._documentManagementService.getDownloadToken(
+        excelDoc.response.report,
+        idUser,
+        1
+      ));
+
+      let idFile = await this._encService.decrypt(excelDoc.response.report);
+      let download = this._document.getElementById('download') as HTMLAnchorElement;
+      download.href = `http://git.ittec.mx/sam/public/api/download-file/${downloadToken.response.TOKEN}/${idUser}/1`;
+      download.download = idFile;
+      download.click();
+    }catch(error: any){
+      if(error.error == undefined){
+        this._resourcesService.openSnackBar('Ocurrió un error inesperado.');
+      }else if(error.error.msg == undefined){
+        this._resourcesService.openSnackBar('Ocurrió un error inesperado.');
+      }else{
+        this._resourcesService.openSnackBar(error.error.msg);
+      }
+    }
+  }
 }

+ 4 - 0
sistema-mantenimiento-front/src/app/services/control-panel.service.ts

@@ -22,6 +22,10 @@ export class ControlPanelService {
     return this.getQuery(`control-panel/get-panel/${idPanel}/${idUser}/${line}`).pipe(map((data: any) => data));
   }
 
+  getInfoToExcel(element: string, idModule: string, idUser: string, line: number){
+    return this.getQuery(`control-panel/get-info-to-excel/${element}/${idModule}/${idUser}/${line}`).pipe(map((data: any) => data));
+  }
+
   registerPanel(body: any){
     return this.postQuery("control-panel/register-panel", body).pipe(map((data: any) => data));
   }

+ 4 - 4
sistema-mantenimiento-front/src/environments/environment.prod.ts

@@ -119,10 +119,10 @@ export const supportedFiles = [
 ];
 
 export const validateRFC = "/^([A-ZÑ&]{3,4}) ?(?:- ?)?(\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])) ?(?:- ?)?([A-Z\d]{2})([A\d])$/";
-export const socket = 'http://localhost:3200';
-// export const socket = 'https://a9cf-209-50-56-224.ngrok-free.app';
-export const apiTemp = `http://192.168.100.105:8000/api/`;
-// export const apiTemp = 'http://git.ittec.mx/sam/public/api/';
+// export const socket = 'http://localhost:3200';
+export const socket = 'https://a9cf-209-50-56-224.ngrok-free.app';
+// export const apiTemp = `http://192.168.100.105:8000/api/`;
+export const apiTemp = 'http://git.ittec.mx/sam/public/api/';
 
 
 /*******************************************************************************/