Advertisement
Guest User

Dataset que consulta CSV (Fluig)

a guest
Dec 6th, 2019
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function createDataset(fields, constraints, sortFields) {
  2.     var codigoDocumento = null; /// Alterar para passar via constraint 1088998 2253127
  3.  
  4.     for (var i = 0; i < constraints.length; i++) {
  5.         if (constraints[i].fieldName == "codigoDocumento") {
  6.             codigoDocumento = constraints[i].initialValue;
  7.         }
  8.     }
  9.  
  10.     var dataset = DatasetBuilder.newDataset();
  11.     dataset.addColumn('codigoDocumento');
  12.     dataset.addColumn('TIPO_REGISTRO');
  13.     dataset.addColumn('COD_EMPRESA');
  14.     dataset.addColumn('NOME_LOTACAO');
  15.     dataset.addColumn('COMPETENCIA');
  16.     dataset.addColumn('TIPO_OPERACAO');
  17.     dataset.addColumn('VIGENCIA');
  18.     dataset.addColumn('FUNCIONAL');
  19.     dataset.addColumn('DEPENDENCIA');
  20.     dataset.addColumn('NOME_ASSOCIADO');
  21.     dataset.addColumn('DT_NASC_ASSOCIADO');
  22.     dataset.addColumn('CPF_ASSOCIADO');
  23.     dataset.addColumn('NUM_ASSOCIADO');
  24.     dataset.addColumn('SEXO');
  25.     dataset.addColumn('EST_CIVIL');
  26.     dataset.addColumn('NOME_TITULAR');
  27.     dataset.addColumn('CPF_TITULAR');
  28.     dataset.addColumn('DT_INI_CONVENIO');
  29.     dataset.addColumn('DT_FIM_CONVENIO');
  30.     dataset.addColumn('CATEG_BENEFICIARIO');
  31.     dataset.addColumn('COD_PLANO');
  32.     dataset.addColumn('IDADE_MAXIMA');
  33.     dataset.addColumn('VL_FATURA');
  34.     dataset.addColumn('SINAL_OPERACAO');
  35.     dataset.addColumn('VL_INSCRICAO');
  36.     dataset.addColumn('NUM_FATURA');
  37.     dataset.addColumn('CENTRO_DE_CUSTO');
  38.     dataset.addColumn('NOME_EMPRESA');
  39.     dataset.addColumn('COD_LOTACAO');
  40.     dataset.addColumn('CNPJ');
  41.  
  42.     if (codigoDocumento == null) {
  43.         dataset.addRow(new Array("codigo do documento é null"));
  44.     } else {
  45.         try {
  46.             var dto = docAPI.getDocumentVersion(parseInt(codigoDocumento), 1000);
  47.             var documentProvider = ServiceManager.getServiceInstance('ECMDocumentService');
  48.             var serviceLocator = documentProvider.instantiate('com.totvs.technology.ecm.dm.ws.ECMDocumentServiceService');
  49.             var documentService = serviceLocator.getDocumentServicePort();
  50.  
  51.             // Chama o dataset que usuário e senha do fluig (mais prático)
  52.             var connector = DatasetFactory.getDataset('dsConnector', null, null, null);
  53.  
  54.             var result = documentService.getDocumentContent(
  55.                 connector.getValue(0, 'fUser'),
  56.                 connector.getValue(0, 'fSenha'),
  57.                 1,
  58.                 parseInt(dto.getDocumentId()),
  59.                 getValue('WKUser'),
  60.                 1000,
  61.                 dto.getPhisicalFile()
  62.             );
  63.  
  64.             for (var i = 0; i < result.length; ++i) {
  65.                 if (i == 0) {
  66.                     objetoRecebido = new Array(0);
  67.                 }
  68.                 novoResult += (String.fromCharCode(result[i]));
  69.                 if (result[i] == 10) {
  70.                     var dadosDataset = adicionaPrevs(novoResult);
  71.                     dataset.addRow(new Array(codigoDocumento,
  72.                         dadosDataset[0].TIPO_REGISTRO,
  73.                         dadosDataset[0].COD_EMPRESA,
  74.                         dadosDataset[0].NOME_LOTACAO,
  75.                         dadosDataset[0].COMPETENCIA,
  76.                         dadosDataset[0].TIPO_OPERACAO,
  77.                         dadosDataset[0].VIGENCIA,
  78.                         dadosDataset[0].FUNCIONAL,
  79.                         dadosDataset[0].DEPENDENCIA,
  80.                         dadosDataset[0].NOME_ASSOCIADO,
  81.                         dadosDataset[0].DT_NASC_ASSOCIADO,
  82.                         dadosDataset[0].CPF_ASSOCIADO,
  83.                         dadosDataset[0].NUM_ASSOCIADO,
  84.                         dadosDataset[0].SEXO,
  85.                         dadosDataset[0].EST_CIVIL,
  86.                         dadosDataset[0].NOME_TITULAR,
  87.                         dadosDataset[0].CPF_TITULAR,
  88.                         dadosDataset[0].DT_INI_CONVENIO,
  89.                         dadosDataset[0].DT_FIM_CONVENIO,
  90.                         dadosDataset[0].CATEG_BENEFICIARIO,
  91.                         dadosDataset[0].COD_PLANO,
  92.                         dadosDataset[0].IDADE_MAXIMA,
  93.                         dadosDataset[0].VL_FATURA,
  94.                         dadosDataset[0].SINAL_OPERACAO,
  95.                         dadosDataset[0].VL_INSCRICAO,
  96.                         dadosDataset[0].NUM_FATURA,
  97.                         dadosDataset[0].CENTRO_DE_CUSTO,
  98.                         dadosDataset[0].NOME_EMPRESA,
  99.                         dadosDataset[0].COD_LOTACAO,
  100.                         dadosDataset[0].CNPJ));
  101.                 }
  102.             }
  103.  
  104.         } catch (e) {
  105.             dataset.addRow(new Array(e.message));
  106.         }
  107.     }
  108.     return dataset;
  109.  
  110. }
  111.  
  112. /* Variáveis globais */
  113. var novoResult = "";
  114. var objetoRecebido = new Array(0);
  115.  
  116. function adicionaPrevs(data) {
  117.     objetoRecebido = new Array(0); // sempre que chama a função cria um novo obejto, dessa forma não excede o limite
  118.     if (data != undefined) {
  119.         var aLine = data.split(/\r?\n|\r/);
  120.         //aLine.splice(0, 2); // Pula primeira linha
  121.         aLine.forEach(function (element, index) {
  122.             var cols = element.split(';');
  123.             if (cols.length >= 4) {
  124.                 objetoRecebido.push(getObjPrev(cols));
  125.             }
  126.         });
  127.     } else {
  128.         // não faz nada
  129.     }
  130.     return objetoRecebido;
  131. }
  132.  
  133. function getObjPrev(colunas) {
  134.     var obj = {
  135.         TIPO_REGISTRO: colunas[0] != undefined ? colunas[0] : null,
  136.         COD_EMPRESA: colunas[1] != undefined ? colunas[1] : null,
  137.         NOME_LOTACAO: colunas[2] != undefined ? colunas[2] : null,
  138.         COMPETENCIA: colunas[3] != undefined ? colunas[3] : null,
  139.         TIPO_OPERACAO: colunas[4] != undefined ? colunas[4] : null,
  140.         VIGENCIA: colunas[5] != undefined ? colunas[5] : null,
  141.         FUNCIONAL: colunas[6] != undefined ? colunas[6] : null,
  142.         DEPENDENCIA: colunas[7] != undefined ? colunas[7] : null,
  143.         NOME_ASSOCIADO: colunas[8] != undefined ? colunas[8] : null,
  144.         DT_NASC_ASSOCIADO: colunas[9] != undefined ? colunas[9] : null,
  145.         CPF_ASSOCIADO: colunas[10] != undefined ? colunas[10] : null,
  146.         NUM_ASSOCIADO: colunas[11] != undefined ? colunas[11] : null,
  147.         SEXO: colunas[12] != undefined ? colunas[12] : null,
  148.         EST_CIVIL: colunas[13] != undefined ? colunas[13] : null,
  149.         NOME_TITULAR: colunas[14] != undefined ? colunas[14] : null,
  150.         CPF_TITULAR: colunas[15] != undefined ? colunas[15] : null,
  151.         DT_INI_CONVENIO: colunas[16] != undefined ? colunas[16] : null,
  152.         DT_FIM_CONVENIO: colunas[17] != undefined ? colunas[17] : null,
  153.         CATEG_BENEFICIARIO: colunas[18] != undefined ? colunas[18] : null,
  154.         COD_PLANO: colunas[19] != undefined ? colunas[19] : null,
  155.         IDADE_MAXIMA: colunas[20] != undefined ? colunas[20] : null,
  156.         VL_FATURA: colunas[21] != undefined ? colunas[21] : null,
  157.         SINAL_OPERACAO: colunas[22] != undefined ? colunas[22] : null,
  158.         VL_INSCRICAO: colunas[23] != undefined ? colunas[23] : null,
  159.         NUM_FATURA: colunas[24] != undefined ? colunas[24] : null,
  160.         CENTRO_DE_CUSTO: colunas[25] != undefined ? colunas[25] : null,
  161.         NOME_EMPRESA: colunas[26] != undefined ? colunas[26] : null,
  162.         COD_LOTACAO: colunas[27] != undefined ? colunas[27] : null,
  163.         CNPJ: colunas[28] != undefined ? colunas[28] : null,
  164.     };
  165.     novoResult = ""; // aqui ele limpa a variável para não execer o limite
  166.     return obj;
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement