source: portal_2019/js/handlerJSON.js @ 5751968

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

Portal funcional

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