Advertisement
sombriks

Exportação de Beneficiários para Convênio e-Pharma.ip

Jan 19th, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. includeOnce -1895673476 /*/products/DYADhrp/processes/Exportacao/Exportacao de Beneficiarios para Convenio e-Pharma.ip*/
  2. includeOnce -1892834224 /* DYADinfrastructure: /products/DYADinfrastructure/library/includes/Funcoes Auxiliares do DYADinfrasctructure/Funcoes de Uso Geral.ijs */
  3.  
  4. this.help = "O objetivo deste processo é permitir a exportação de dados de beneficiários que possuem o benefício e-Pharma."
  5.             + " Ao executar o processo, o sistema irá gerar um arquivo no formato TXT, posição fixa, estruturado da seguinte forma:"
  6.             + " Cabeçalho, Registros de Beneficiários, Registros de Endereços de Beneficiários (apenas para titulares) e Trailer (Rodapé)."
  7.  
  8. this.geraNomeDoArquivoePharma = function geraNomeDoArquivoePharma( codcliente, numerador ){
  9.  
  10.     codigoDoCliente        = padString( codcliente.toString(), 6, 'right', '0' )
  11.  
  12.     numeradorDoCliente     = padString( numerador.toString(),  6, 'right', '0' )
  13.  
  14.     return codigoDoCliente + numeradorDoCliente + ".txt"
  15.  
  16. }
  17.  
  18. //================================= ACTIONS ====================================//
  19. this.actExecutar = this.action( 'Executar' )
  20.  
  21. this.actExecutar.onClick.set( function actExecutar_onClick ( sender ) {
  22.  
  23.     var process = sender.process
  24.    
  25.     var objGeradorDoArquivoePharma = new GeradorDoArquivoePharma()
  26.    
  27.     //var cli         = process.estruturaClientes[process.clienteEletros]
  28.     //
  29.     //var numerador   = connection.createNumber( session.hrp[cli.numerador] )[2]
  30.     //var codcontrato = session.hrp[cli.codcontrato]
  31.     //var codplano    = session.hrp[cli.codplano]
  32.     //var codcliente  = session.hrp[cli.codcliente]
  33.     //var codproduto  = session.hrp[cli.codproduto]
  34.     //var agregador   = session.hrp[cli.agregador]
  35.     //
  36.     // refino do código do produto
  37.     //try {
  38.     //    // TODO o lookup de produtos acessórios não funcionou.
  39.     //    codproduto  = codproduto.split(";")
  40.     //
  41.     //    codproduto  = "'" + codproduto.join("','")  + "'"
  42.     //    //codcontrato = codcontrato.join(",")
  43.     //    //codplano    = codplano.join(",")
  44.     //
  45.     //} catch(e) {
  46.     //
  47.     //    process.alert("Os produtos e-pharma não foram totalmente parametrizados!\n
  48.     //    Siga para dyad > Admin > Parâmetros gerais do sistema > Cadastro e parametrize a geração do arquivo e-Pharma.")
  49.     //    log.write(e)
  50.     //
  51.     //}
  52.  
  53.     var inOutParams = {
  54.         dataReferencia : process.dataReferencia,
  55.         clienteEletros : process.clienteEletros
  56.         // params trabalhará de in/out
  57.         // codcontrato    : codcontrato,
  58.         // codcliente     : codcliente,
  59.         // codproduto     : codproduto,
  60.         // numerador      : numerador,
  61.         // agregador      : agregador,
  62.         // codplano       : codplano
  63.     }
  64.    
  65.     log.write(JSON.stringify(inOutParams))
  66.  
  67.     try{
  68.    
  69.        var arquivo = objGeradorDoArquivoePharma.geraArquivo( inOutParams )
  70.        var nomeArquivo = process.geraNomeDoArquivoePharma( inOutParams.codcliente, inOutParams.numerador )
  71.  
  72.        process.setNextInteraction( 'Exportar',[
  73.            'nomeArquivo',     nomeArquivo,
  74.            'conteudoArquivo', arquivo.buffer
  75.        ],-1892821562 /* DYADinfrastructure: /products/DYADinfrastructure/process/Process Genérico para Download.ip */,
  76.        null,true )
  77.     }catch(e){
  78.       process.alert(e.message ? e.message : e)
  79.     }
  80.    
  81. } )
  82.  
  83.  
  84. //================================= GRIDs ====================================//
  85.  
  86. var grd = this.grid( 'grdVariaveis' )
  87. grd.title = 'Variáveis'
  88. grd.onDefineFields.set( function grdVariaveis_onDefineFields( grd ){
  89.  
  90.     var proc = grd.process
  91.  
  92.     var fld = null
  93.  
  94.     fld          = grd.field( 'dataReferencia', 'date' )
  95.     fld.label    = 'Data de Referência'
  96.     fld.width    = 15
  97.     fld.required = true
  98.     fld.help     = 'Data limite que deve ser considerada para filtragem com base nas datas de início '
  99.                     + 'e/ou fim do plano de saúde aderido pelo beneficiário.'
  100.  
  101.  
  102.     //fld          = grd.field( 'clienteEletros', 'combo' )
  103.     //fld.label    = "Cliente"
  104.     //fld.width    = 15
  105.     //fld.required = true
  106.     //var opts = []
  107.     //for(var i in proc.estruturaClientes){
  108.     //   opts.push([ "ELETROS-"+i, i ])
  109.     //}
  110.     //fld.options  = opts
  111.  
  112.     fld          = grd.field('clienteEletros','integer')
  113.     fld.label    = "Cliente"
  114.     fld.classKey = -1895673460 // /Dados/Cadastros/Tabelas/Aux HRP/Perfil Exportador e-Pharma
  115.     fld.help     = "Clientes (contratos, planos e produtos) parametrizados para a exportação"
  116.  
  117.  
  118.     criaCampoDeHelpDinamicoParaGrids( grd )
  119.  
  120. } )
  121.  
  122.  
  123. //================================= INTERACTIONS ====================================//
  124.  
  125. this.interaction( "main" , function interaction_main() {
  126.  
  127.     this.visibleActions = [ this.actExecutar ]
  128.     this.grdVariaveis.write()
  129.  
  130. } )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement