source: portal_2019/js/handlerJSON.js @ 0320f1b

devportal
Last change on this file since 0320f1b was 0320f1b, checked in by Angelo Osorio <danielking.321@…>, 5 years ago

cambios en el frontend

  • Property mode set to 100644
File size: 7.2 KB
Line 
1/** Funcion para el manejo de un archivo json
2 * Recibe el json (verificación de una firma pdf), lo introduce en una tabla y devuelve una un cadena de texto.
3 */
4
5function manejoJsonPDF(json) {
6  var fielJsonEs = {
7    fileId: "Identificador único del archivo en el servidor",
8    fileExist:"El archivo se cargó exitosamente en el servidor",
9    mimeType:"Tipo MIME del archivo verificado",
10    error:"Extension not supported. En caso de que el archivo sea diferente de PDF y BDOC",
11    numberOfSignatures:"Número de firmas existentes en el archivo",
12    signatures:"Lista de firmas",
13    signatureType:"Tipo de firma de archivo PDF",
14    signedOn:"Fecha en que se realiza la firma",
15    integrityCheck:"Chequea la integridad de la firma",
16    timeStamp:"Estampilla de tiempo",
17    reason:"Razón de la firma",
18    location:"Ubicación donde se realiza la firma",
19    alternativeNameOfTheSigner:"Nombre alternativo del firmante",
20    signerCertificateValidFrom:"Fecha de inicio de validez del certificado",
21    signerCertificateStillValid:"El certificado todavía está válido",
22    signerCertificateHasExpired:"El certificado expiró",
23    signatureCoversWholeDocument:"La firma abarca todo el documento PDF",
24    filterSubtype:"Tipo de subfiltro: /adbe.pkcs7.sha1, /adbe.pkcs7.detached",
25    signerCertificateSubject:"Sujeto firmante",
26    signerCertificateValidAtTimeOfSigning:"El certificado es válido en el momento de la firma",
27    encryptionAlgorithm:"Algoritmo de cifrado",
28    timeStampService:"Servicio de estampillado de tiempo",
29    digestAlgorithm:"Algoritmo hash (reseña)",
30    certificatesVerifiedAgainstTheKeyStore:"Certificado verificado contra el repositorio de certificados confiables",
31    documentRevision:"Número de revisión del documento PDF",
32    nameOfTheSigner:"Nombre del firmante",
33    totalDocumentRevisions:"Número total de revisiones del documento PDF",
34    contactInfo:"Información de contacto del firmante",
35    timeStampVerified:"Estampilla de tiempo verificada",
36    signerCertificateIssuer:"Emisor del certificado firmante",
37    signerCertificateValidTo:"Fecha de fin de validez del certificado",
38    signerCertificateSerial:"BDOC: Serial del certificado del firmante",
39    signatureProfile:"BDOC: Perfil de la firma",
40    signatureMethod:"BDOC: Algoritmo de firma utilizado",
41    signatureId:"BDOC: identificador de la firma",
42    signatureSigningTime:"Fecha en que se realiza la firma",
43    signerCertificateIsValid:"El certificado todavía está válido",
44    signatureValidationException:"BDOC: Exepciones de la validación de la firma",
45    isValid:"BDOC: Firma electrónica válida",
46    signerCertificateSubjectName:"Nombre del firmante",
47    containerValidation:"BDOC: Especifica si el contenedor posee una estructura válida",
48    numberOfDataFiles:"BDOC: Cantidad de archivos incluidos en el contenedor BDOC",
49    dataFiles:"BDOC: Lista de archivos incluidos en el contenedor",
50    name:"BDOC: Nombre del archivo incluido en el contenedor",
51    dataFileSize:"BDOC: Tamaño del archivo incluido en el contenedor",
52    filename:"BDOC: Nombre del archivo incluido en el contenedor",
53    mediaType:"BDOC: Tipo MIME del archivo incluido en el contenedor"
54  };
55  var objVarVerifique = JSON.parse(json);
56  var signatures = ''; //variable que maneja las firmas
57  var fields = ''; //variable que maneja los campos de la firma
58  var title = '<h2 class="text-dark pb-3"> Información de la firma electrónica </h2>';
59  var head =
60    `<div class="container-table">
61      <table class="display table table-striped table-bordered" >
62        <thead>
63          <tr class="font-weight-bold">
64            <th class="text-right border-bottom-0 font-weight-bold"> Campo </th>
65            <th class="text-left border-bottom-0 font-weight-bold"> Descripción </th>
66          </tr>
67        </thead>
68        <tbody>`;
69  var footer =
70        `</tbody>
71      </table>
72    </div>`;
73  var html = title;
74  var numsign = 0;
75  var htmltemp = '';
76  var objxEsp = '';
77
78  $.each(objVarVerifique, function(idx, obj) {
79
80    if (idx == "error") {
81      html = '<h2 class="text-danger"> Extensión no soportada, verifique el archivo </h2>';
82      return(html);
83    }
84
85    if (idx == "numberOfSignatures") {
86      numsign = obj;
87      html += `<p class="text-left text-dark"> ${fielJsonEs[idx]}: ${obj} </p>`;
88    }
89
90    if (idx == "signatures") {
91      signatures = obj; //se almacena la(s) cabecera(s) de las firmas
92    }
93  });
94
95  var contsing = 1; // variable que indica la firma donde esta posicionado
96
97  // recorre las firmas signatures
98
99  $.each(signatures, function(idx, obj) {
100    html += '<p class="text-left text-dark pt-3"> Información de la firma <strong> Nro '+ contsing +'</strong><p>';
101    html += head;
102
103    // variable que indica el campo de la firma -- arranca en el campo 6 porque necesitamos que muestre de primero
104    // las 5 campos requeridos
105    var contfiels = 8;
106
107    fields = obj; // variable que almacena los campos de la firma
108    $.each(fields, function(id, objx) {
109      // Recorreo los campos de la firma
110      if ( fielJsonEs[id] == 'Nombre del firmante' ) {
111        html += `<tr><td class="text-right"> ${fielJsonEs[id]} </td><td class="text-left"> ${objx} </td></tr>`;
112      }
113      else if (fielJsonEs[id]=='Fecha en que se realiza la firma') {
114        html += `<tr><td class="text-right"> ${fielJsonEs[id]} </td><td class="text-left"> ${objx} </td></tr>`;
115      }
116      else if (fielJsonEs[id]=='Chequea la integridad de la firma') {
117        if(objx == 'true') {
118          objxEsp = 'verdadero';
119        } else {
120          objxEsp='falso';
121        }
122        html += `<tr><td class="text-right"> ${fielJsonEs[id]} </td><td class="text-left"> ${objxEsp} </td></tr>`;
123      }
124      else if( fielJsonEs[id] == 'El certificado todavía está válido' ) {
125        if(objx == 'true') {
126          objxEsp = 'verdadero';
127        } else {
128          objxEsp='falso';
129        }
130        html += `<tr><td class="text-right"> ${fielJsonEs[id]} </td><td class="text-left"> ${objxEsp} </td></tr>`;
131      }
132      else if(fielJsonEs[id]=='Fecha de inicio de validez del certificado') {
133        html += `<tr><td class="text-right"> ${fielJsonEs[id]} </td><td class="text-left"> ${objx} </td></tr>`;
134      }
135      else if(fielJsonEs[id]=='Fecha de fin de validez del certificado') {
136        html += `<tr><td class="text-right"> ${fielJsonEs[id]} </td><td class="text-left"> ${objx} </td></tr>`;
137      }
138      else if(fielJsonEs[id]=='El certificado es válido en el momento de la firma') {
139        if(objx == 'true') {
140          objxEsp = 'verdadero';
141        } else {
142          objxEsp='falso';
143        }
144        html += `<tr><td class="text-right"> ${fielJsonEs[id]} </td><td class="text-left"> ${objxEsp} </td></tr>`;
145      } else {
146        if ( objx == 'true' ) {
147          htmltemp += `<tr><td class="text-right"> ${fielJsonEs[id]} </td><td class="text-left"> verdadero </td></tr>`;
148        } else if(objx == 'false'){
149          htmltemp += `<tr><td class="text-right"> ${fielJsonEs[id]} </td><td class="text-left"> falso </td></tr>`;
150        } else {
151          htmltemp += `<tr><td class="text-right"> ${fielJsonEs[id]} </td><td class="text-left"> ${objx} </td></tr>`;
152        }
153          contfiels++;
154      }
155    });
156
157    contsing++;
158    html += htmltemp;
159    htmltemp = '';
160    html += footer;
161  });
162  return(html);
163}
Note: See TracBrowser for help on using the repository browser.