Просмотр исходного кода

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

JeanBenitez 1 год назад
Родитель
Сommit
e4586467d0

+ 1 - 1
sistema-mantenimiento-front/src/app/components/corrective-maintenance/maintenance-planning/plan-register/plan-register.component.html

@@ -392,7 +392,7 @@
                   <th mat-header-cell *matHeaderCellDef>Acciones</th>
                   <td mat-cell *matCellDef="let row">
                     <button mat-mini-fab class="override_no_shadow mr-4" [ngClass]="{ amber_primary_background: !deleteFilesDisabled }" 
-                    (click)="downloadFile(row.id)" [disabled]="deleteFilesDisabled">
+                    (click)="downloadFile(row.id)" [disabled]="deleteFilesDisabled" *ngIf="row.isFinalFile">
                       <mat-icon>download</mat-icon>
                     </button>
                     <button mat-mini-fab color="warn" class="override_no_shadow" (click)="openDeleteFileAlert(row.id)" 

+ 1 - 1
sistema-mantenimiento-front/src/app/components/equipment-management/equipment-card/equipment-card.component.html

@@ -19,7 +19,7 @@
     <button mat-button color="success2" *ngIf="equipmentType == 'pending'" (click)="action('accept')">
       Aceptar
     </button>
-    <button mat-button color="primary" (click)="action('details')">
+    <button mat-button color="primary" (click)="action('details')" [disabled]="!equipmentDetailsEnabled">
       Detalles
     </button>
   </div>

+ 2 - 0
sistema-mantenimiento-front/src/app/components/equipment-management/equipment-card/equipment-card.component.ts

@@ -16,6 +16,7 @@ export class EquipmentCardComponent implements OnInit {
   @Input() pendingEquipment: PendingEquipmentsListItem | null;
   @Input() equipment: EquipmentsListItem | null;
   @Input() equipmentType: string;
+  @Input() equipmentDetailsEnabled: boolean;
   @Output() refreshPendingList = new EventEmitter<string>();
   @Output() openChildren = new EventEmitter<string>();
 
@@ -31,6 +32,7 @@ export class EquipmentCardComponent implements OnInit {
     this.pendingEquipment = null;
     this.equipment = null;
     this.equipmentType = "";
+    this.equipmentDetailsEnabled = true;
     this.images = [];
     this.imageIndex = 0;
     this.equipmentLabel = "";

+ 16 - 14
sistema-mantenimiento-front/src/app/components/equipment-management/equipment-management.component.html

@@ -30,7 +30,7 @@
       <button mat-menu-item (click)="openEquipmentForm('new')">
         <mat-icon>add</mat-icon> Registrar equipamiento
       </button>
-      <button mat-menu-item (click)="manageFamilies()" [disabled]="!familiesSubfamiliesEnabled">
+      <button mat-menu-item (click)="manageFamilies()">
         <mat-icon>category</mat-icon> Administrar familias
       </button>
       <button mat-menu-item (click)="manageLocations()">
@@ -70,7 +70,11 @@
       <p style="font-style: italic; font-size: 16px; overflow-wrap: anywhere; text-align: center;">{{ errorStr }}</p>
     </div>
 
-    <div class="pending-equipments animated fadeIn" *ngIf="!isLoading && !hasError && pendingEquipments.length > 0">
+    <div class="animated fadeIn" *ngIf="!equipmentsMenuEnabled && !isLoading && !hasError">
+      <h3 class="ml-20"><b>Su perfil no cuenta con los permisos necesarios para visualizar la información de esta sección.</b></h3>
+    </div>
+
+    <div class="pending-equipments animated fadeIn" *ngIf="!isLoading && !hasError && pendingEquipments.length > 0 && equipmentsMenuEnabled">
       <h2>Equipos en revisión</h2>
       <div class="pending-equipments-list">
         <app-equipment-card equipmentType="pending" *ngFor="let pendingEquipment of pendingEquipments" [pendingEquipment]="pendingEquipment" 
@@ -78,20 +82,19 @@
       </div>
     </div>
 
-    <div class="scroll-vertical animated fadeIn" *ngIf="!isLoading && !hasError" [ngClass]="{ equipments_full_width: pendingEquipments.length == 0, 
-    equipments_partial_width: pendingEquipments.length > 0}">
-      <div class="equipments-container w-100" *ngIf="!isLoading && !hasError && currentLevel == 1 && families.length > 0 && familiesSubfamiliesEnabled">
+    <div class="scroll-vertical animated fadeIn" *ngIf="!isLoading && !hasError && equipmentsMenuEnabled" 
+    [ngClass]="{ equipments_full_width: pendingEquipments.length == 0, equipments_partial_width: pendingEquipments.length > 0}">
+      <div class="equipments-container w-100" *ngIf="!isLoading && !hasError && currentLevel == 1 && families.length > 0">
         <app-family-card *ngFor="let family of families" [id]="family.CODIGOFAMILIA" [icon]="family.ICONO" [customIcon]="family.ICONO_PERSONALIZADO" 
         [family]="family.NOMBREFAMILIA" [iconFile]="family.URL_ICONO!" (familyClicked)="familyClicked($event)"></app-family-card>
       </div>
 
-      <div class="equipments-container w-100" *ngIf="!isLoading && !hasError && currentLevel == 1 && (families.length == 0 || !familiesSubfamiliesEnabled)">
-        <div class="w-100" style="display: flex; justify-content: center; align-items: center;" *ngIf="familiesSubfamiliesEnabled">
+      <div class="equipments-container w-100" *ngIf="!isLoading && !hasError && currentLevel == 1 && (families.length == 0)">
+        <div class="w-100" style="display: flex; justify-content: center; align-items: center;">
           <object data="assets/img/empty_data.svg" style="width: 200px;"></object>
         </div>
         <h3 style="font-weight: 500;">
-          {{ familiesSubfamiliesEnabled ? 'No se encontraron familias registradas.' : 
-          'Su perfil no cuenta con los permisos necesarios para visualizar la información de esta sección.' }}
+          No se encontraron familias registradas.
         </h3>
       </div>
 
@@ -101,13 +104,12 @@
         [customIcon]="subfamily.ICONO_PERSONALIZADO"></app-family-card>
       </div>
 
-      <div class="equipments-container w-100" *ngIf="!isLoading && !hasError && currentLevel == 2 && (subfamilies.length == 0 || !familiesSubfamiliesEnabled)">
-        <div class="w-100" style="display: flex; justify-content: center; align-items: center;" *ngIf="familiesSubfamiliesEnabled">
+      <div class="equipments-container w-100" *ngIf="!isLoading && !hasError && currentLevel == 2 && (subfamilies.length == 0)">
+        <div class="w-100" style="display: flex; justify-content: center; align-items: center;">
           <object data="assets/img/empty_data.svg" style="width: 200px;"></object>
         </div>
         <h3 style="font-weight: 500;">
-          {{ familiesSubfamiliesEnabled ? 'No se encontraron familias registradas.' : 
-          'Su perfil no cuenta con los permisos necesarios para visualizar la información de esta sección.' }}
+          No se encontraron familias registradas.
         </h3>
       </div>
 
@@ -120,7 +122,7 @@
         <app-equipment-details class="w-100" [equipment]="parentEquipmentDetails" *ngIf="currentLevel > 3" 
         (refreshCriticality)="updateEquipmentCriticality($event)" (printFile)="generateFile($event)"></app-equipment-details>
         <app-equipment-card equipmentType="equipment" *ngFor="let equipment of equipmentsBySubfamily" [equipment]="equipment" 
-        (openChildren)="openChildren($event)"></app-equipment-card>
+        (openChildren)="openChildren($event)" [equipmentDetailsEnabled]="equipmentDetailsEnabled"></app-equipment-card>
 
         <div class="no-equipments w-100 mt-32" *ngIf="equipmentsBySubfamily.length == 0">
           <object data="assets/img/empty_data.svg" width="300"></object>

+ 170 - 9
sistema-mantenimiento-front/src/app/components/equipment-management/equipment-management.component.ts

@@ -56,7 +56,20 @@ export class EquipmentManagementComponent implements OnInit {
   graphicArborescence: any[];
   priorities: PriorityInterface[];
 
-  familiesSubfamiliesEnabled: boolean;
+  equipmentsMenuEnabled: boolean;
+  equipmentDetailsEnabled: boolean;
+  equipmentImagesGalleryEnabled: boolean;
+  relatedDocumentsTableEnabled: boolean;
+  equivalentEquipmentsTableEnabled: boolean;
+  lastMeasuresTableEnabled: boolean;
+  movementsHistoryEnabled: boolean;
+  equipmentRecordsTableEnabled: boolean;
+  moveEquipmentEnabled: boolean;
+  copyEquipmentEnabled: boolean;
+  addEquipmentEnabled: boolean;
+  equipmentTypeManagementEnabled: boolean;
+  equipmentLocationEnabled: boolean;
+  viewArborescenceInData: boolean;
 
   constructor(
     @Inject(DOCUMENT) private _document: Document,
@@ -101,7 +114,20 @@ export class EquipmentManagementComponent implements OnInit {
 
     this.priorities = [];
 
-    this.familiesSubfamiliesEnabled = true;
+    this.equipmentsMenuEnabled = true;
+    this.equipmentDetailsEnabled = true;
+    this.equipmentImagesGalleryEnabled = true;
+    this.relatedDocumentsTableEnabled = true;
+    this.equivalentEquipmentsTableEnabled = true;
+    this.lastMeasuresTableEnabled = true;
+    this.movementsHistoryEnabled = true;
+    this.equipmentRecordsTableEnabled = true;
+    this.moveEquipmentEnabled = true;
+    this.copyEquipmentEnabled = true;
+    this.addEquipmentEnabled = true;
+    this.equipmentTypeManagementEnabled = true;
+    this.equipmentLocationEnabled = true;
+    this.viewArborescenceInData = true;
   }
 
   ngOnInit(): void {
@@ -138,9 +164,77 @@ export class EquipmentManagementComponent implements OnInit {
             let permArr = await this._functionsService.processPermissions(profInfo.response.PERMISOS.permissions);
             let modPerm = permArr.filter(item => item.id == 'S002V01M07GEEQ');
             if(modPerm.length > 0){
-              let familiesSubfamiliesEnabled = modPerm[0].children.filter(item => item.id == 'S002V01F02DFSU');
-              if(familiesSubfamiliesEnabled.length > 0){
-                this.familiesSubfamiliesEnabled = familiesSubfamiliesEnabled[0].access > 0;
+              let funPerm = modPerm[0].children.filter(item => item.id == 'S002V01F01ADEQ');
+              if(funPerm.length > 0){
+                let equipmentsMenuEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P01MEEQ');
+                if(equipmentsMenuEnabled.length > 0){
+                  this.equipmentsMenuEnabled = equipmentsMenuEnabled[0].access > 0;
+                }
+            
+                let equipmentDetailsEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P02DEEQ');
+                if(equipmentDetailsEnabled.length > 0){
+                  this.equipmentDetailsEnabled = equipmentDetailsEnabled[0].access > 0;
+                }
+                
+                let equipmentImagesGalleryEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P03GIEQ');
+                if(equipmentImagesGalleryEnabled.length > 0){
+                  this.equipmentImagesGalleryEnabled = equipmentImagesGalleryEnabled[0].access > 0;
+                }
+                
+                let relatedDocumentsTableEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P04TDRE');
+                if(relatedDocumentsTableEnabled.length > 0){
+                  this.relatedDocumentsTableEnabled = relatedDocumentsTableEnabled[0].access > 0;
+                }
+                
+                let equivalentEquipmentsTableEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P05TEEQ');
+                if(equivalentEquipmentsTableEnabled.length > 0){
+                  this.equivalentEquipmentsTableEnabled = equivalentEquipmentsTableEnabled[0].access > 0;
+                }
+    
+                let lastMeasuresTableEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P06TUME');
+                if(lastMeasuresTableEnabled.length > 0){
+                  this.lastMeasuresTableEnabled = lastMeasuresTableEnabled[0].access > 0;
+                }
+    
+                let movementsHistoryEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P07HIMO');
+                if(movementsHistoryEnabled.length > 0){
+                  this.movementsHistoryEnabled = movementsHistoryEnabled[0].access > 0;
+                }
+    
+                let equipmentRecordsTableEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P08TFEQ');
+                if(equipmentRecordsTableEnabled.length > 0){
+                  this.equipmentRecordsTableEnabled = equipmentRecordsTableEnabled[0].access > 0;
+                }
+    
+                let moveEquipmentEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P09MOEQ');
+                if(moveEquipmentEnabled.length > 0){
+                  this.moveEquipmentEnabled = moveEquipmentEnabled[0].access > 0;
+                }
+    
+                let copyEquipmentEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P10COEQ');
+                if(copyEquipmentEnabled.length > 0){
+                  this.copyEquipmentEnabled = copyEquipmentEnabled[0].access > 0;
+                }
+    
+                let addEquipmentEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P11REEQ');
+                if(addEquipmentEnabled.length > 0){
+                  this.addEquipmentEnabled = addEquipmentEnabled[0].access > 0;
+                }
+    
+                let equipmentTypeManagementEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P12GCTE');
+                if(equipmentTypeManagementEnabled.length > 0){
+                  this.equipmentTypeManagementEnabled = equipmentTypeManagementEnabled[0].access > 0;
+                }
+    
+                let equipmentLocationEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P13LOEQ');
+                if(equipmentLocationEnabled.length > 0){
+                  this.equipmentLocationEnabled = equipmentLocationEnabled[0].access > 0;
+                }
+    
+                let viewArborescenceInData = funPerm[0].children.filter(item => item.id == 'S002V01P14VAFD');
+                if(viewArborescenceInData.length > 0){
+                  this.viewArborescenceInData = viewArborescenceInData[0].access > 0;
+                }
               }
             }
           }
@@ -171,11 +265,78 @@ export class EquipmentManagementComponent implements OnInit {
       if(permissionsArr.permissions != undefined){
         let modPerm = permissionsArr.permissions.filter(item => item.id == 'S002V01M07GEEQ');
         if(modPerm.length > 0){
-          let familiesSubfamiliesEnabled = modPerm[0].children.filter(item => item.id == 'S002V01F02DFSU');
-          if(familiesSubfamiliesEnabled.length > 0){
-            this.familiesSubfamiliesEnabled = familiesSubfamiliesEnabled[0].access > 0;
+          let funPerm = modPerm[0].children.filter(item => item.id == 'S002V01F01ADEQ');
+          if(funPerm.length > 0){
+            let equipmentsMenuEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P01MEEQ');
+            if(equipmentsMenuEnabled.length > 0){
+              this.equipmentsMenuEnabled = equipmentsMenuEnabled[0].access > 0;
+            }
+            
+            let equipmentDetailsEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P02DEEQ');
+            if(equipmentDetailsEnabled.length > 0){
+              this.equipmentDetailsEnabled = equipmentDetailsEnabled[0].access > 0;
+            }
+            
+            let equipmentImagesGalleryEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P03GIEQ');
+            if(equipmentImagesGalleryEnabled.length > 0){
+              this.equipmentImagesGalleryEnabled = equipmentImagesGalleryEnabled[0].access > 0;
+            }
+            
+            let relatedDocumentsTableEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P04TDRE');
+            if(relatedDocumentsTableEnabled.length > 0){
+              this.relatedDocumentsTableEnabled = relatedDocumentsTableEnabled[0].access > 0;
+            }
+            
+            let equivalentEquipmentsTableEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P05TEEQ');
+            if(equivalentEquipmentsTableEnabled.length > 0){
+              this.equivalentEquipmentsTableEnabled = equivalentEquipmentsTableEnabled[0].access > 0;
+            }
+
+            let lastMeasuresTableEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P06TUME');
+            if(lastMeasuresTableEnabled.length > 0){
+              this.lastMeasuresTableEnabled = lastMeasuresTableEnabled[0].access > 0;
+            }
+
+            let movementsHistoryEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P07HIMO');
+            if(movementsHistoryEnabled.length > 0){
+              this.movementsHistoryEnabled = movementsHistoryEnabled[0].access > 0;
+            }
+
+            let equipmentRecordsTableEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P08TFEQ');
+            if(equipmentRecordsTableEnabled.length > 0){
+              this.equipmentRecordsTableEnabled = equipmentRecordsTableEnabled[0].access > 0;
+            }
+
+            let moveEquipmentEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P09MOEQ');
+            if(moveEquipmentEnabled.length > 0){
+              this.moveEquipmentEnabled = moveEquipmentEnabled[0].access > 0;
+            }
+
+            let copyEquipmentEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P10COEQ');
+            if(copyEquipmentEnabled.length > 0){
+              this.copyEquipmentEnabled = copyEquipmentEnabled[0].access > 0;
+            }
+
+            let addEquipmentEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P11REEQ');
+            if(addEquipmentEnabled.length > 0){
+              this.addEquipmentEnabled = addEquipmentEnabled[0].access > 0;
+            }
+
+            let equipmentTypeManagementEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P12GCTE');
+            if(equipmentTypeManagementEnabled.length > 0){
+              this.equipmentTypeManagementEnabled = equipmentTypeManagementEnabled[0].access > 0;
+            }
+
+            let equipmentLocationEnabled = funPerm[0].children.filter(item => item.id == 'S002V01P13LOEQ');
+            if(equipmentLocationEnabled.length > 0){
+              this.equipmentLocationEnabled = equipmentLocationEnabled[0].access > 0;
+            }
+
+            let viewArborescenceInData = funPerm[0].children.filter(item => item.id == 'S002V01P14VAFD');
+            if(viewArborescenceInData.length > 0){
+              this.viewArborescenceInData = viewArborescenceInData[0].access > 0;
+            }
           }
-          //console.log(familiesSubfamiliesEnabled);
         }
       }