0% acharam este documento útil (0 voto)
16 visualizações3 páginas

Envio de Confirmações de Reparo SIGITM

O documento apresenta a classe AppRITMN, que é responsável por enviar confirmações de abertura de reparo no SIGITM para o SADS. Ele lê dados de um arquivo de texto, processa informações relacionadas a cotações e pedidos, e salva os resultados em um novo arquivo. O código também inclui funcionalidades de logging e manipulação de arquivos, além de tratar exceções durante a execução.

Enviado por

joaolimatech
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
16 visualizações3 páginas

Envio de Confirmações de Reparo SIGITM

O documento apresenta a classe AppRITMN, que é responsável por enviar confirmações de abertura de reparo no SIGITM para o SADS. Ele lê dados de um arquivo de texto, processa informações relacionadas a cotações e pedidos, e salva os resultados em um novo arquivo. O código também inclui funcionalidades de logging e manipulação de arquivos, além de tratar exceções durante a execução.

Enviado por

joaolimatech
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

package com.telefonica.

rnlc;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.sun.corba.se.spi.orb.Operation;
import com.telefonica.rnlc.dao.OperationsSat;
import com.telefonica.rnlc.models.DadosSat;
import com.telefonica.rnlc.models.DadosFinais;

/**
* Envia confirmações de abertura de reparo no SIGITM para o SADS que não tenham
sido enviadas automaticamente.
*/
public class AppRITMN {
private static String PULA_LINHA = System.getProperty("line.separator");
private static final Logger logger = LoggerFactory.getLogger(AppRITMN.class);
private BufferedWriter buffer;

private static List<DadosFinais> listaFinal = new ArrayList<DadosFinais>();


public static void main( String[] args ) throws IOException
{

logger.info("======================================================================
=====");
logger.info("INICIANDO ");

logger.info("======================================================================
=====");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
logger.info("Hora de inicio: ".concat(sdf.format(new Date())));

try
{
OperationsSat opSat = new OperationsSat();
String path= "C:\\Users\\40417404\\Downloads\\baseDados.txt";
String caminhoArquivoNovo = "C:\\Users\\40417404\\Downloads\\
baseDadosFinal.txt";
List<String> linhasArquivoCarga = lerArquivoControle(path);
/// LE O ARQUIVO TXT e coloca na variavel DADOSFINAIS
for (int i = 1; i < linhasArquivoCarga.size(); i++) {

String s = linhasArquivoCarga.get(i); // linha


String[] camposCarga = s.split(";"); //Cria um array novo a cada
iteração
DadosFinais d = new DadosFinais();
// COTAÇÃO;X DESIGNADOR;SERVICE_NUM;STATUS COTAÇÃO;PEDIDO;FILA_SAT
d.setCotacao(camposCarga[0]);
d.setXDesignador(camposCarga[1]);
d.setServiceNum(camposCarga[2]);
d.setStatusCotacao(camposCarga[3]);
if(camposCarga.length>4)
d.setPedido(camposCarga[4]);

// CONSULTAR COTACAO SAT


ArrayList<DadoSat> listadeTarefasCptacap =
opSat.consultaCotacao(d.getCotacao());
for(int j =0 ; j<listadeTarefasCptacap.size() ; j++)
{
DadoSat dadoSat = listadeTarefasCptacap.get(j);
d.setFilaSAT(dadoSat.getNomeDaTarefa());
//SE ACHA SETA NA LISTA DE RETORNO O CARA QUE ACHOU, INCLUSIVE
SE FOI MAIS DE UM
listaFinal.add(d);
}

ArrayList<DadoSat> listadeTarefasPedido = new ArrayList<>();


if(d.getPedido()!=null && !d.getPedido().equals("") && !
d.getPedido().equals(" ")) {
listadeTarefasPedido = opSat.consultaPedidos(d.getPedido());
for(int j =0 ; j<listadeTarefasCptacap.size() ; j++)
{
// SE ACHOU ETA NA LISTA DE RETORNO e FOR MAIS DE1.... cria
mais uma linha
DadoSat dadoSat = listadeTarefasCptacap.get(j);
d.setFilaSAT(dadoSat.getNomeDaTarefa());
listaFinal.add(d);
}
}

// se nao retorno nada nas listas de cotacao e pedido add sem nada
no txt
if(listadeTarefasPedido.size() == 0 &&listadeTarefasCptacap.size()
== 0)
{
listaFinal.add(d);
}

}
// //SALVA NOV ARQUIV TXT com ; delimitador
BufferedWriter buffer;

FileWriter gravador = new FileWriter(caminhoArquivoNovo, true);


buffer = new BufferedWriter(gravador);
buffer.write(PULA_LINHA);
buffer.write(linhasArquivoCarga.get(0));
for(int w = 0; w<listaFinal.size() ; w++)
{
DadosFinais df= listaFinal.get(w);
// COTAÇÃO;X_DESIGNADOR;SERVICE_NUM;STATUS COTAÇÃO;PEDIDO;FILA_SAT
String linhaEscrita = df.getCotacao() +";"+df.getXDesignador()
+";"+df.getServiceNum()+";"+df.getStatusCotacao()+
buffer.write(linhaEscrita);
buffer.write(PULA_LINHA);
}

buffer.flush();

// ULTIMA ETAPA: copiar o txt novo no excel e separar por ; em


colunas// MANUAL

}catch (Exception e) {
logger.error("ERRO NA ATUALIZACAO " , e);
}

sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


logger.info("Hora de termino: ".concat(sdf.format(new Date())));
}

public ArrayList<String> getCriaControles(String data, String caminho) throws


ClassNotFoundException, SQLException
{
ArrayList<String> lstControle = new ArrayList<String>();
try
{
logger.info("getCriaControles caminho["+caminho+"]");
lstControle = (ArrayList<String>) lerArquivoControle(caminho);
for (Iterator iterator = lstControle.iterator(); iterator.hasNext();) {
String s = (String) iterator.next();
System.out.println(s);
logger.info(s);
}
FileWriter gravador = new FileWriter(caminho, true);
buffer = new BufferedWriter(gravador);
buffer.write(PULA_LINHA);
buffer.write(data);
lstControle.add(data);
buffer.flush();
logger.info("Adicionei data["+data+"] No Arquivo e na lista");
} catch (IOException e) {
e.printStackTrace();
logger.error("ERROR: getCriaControles:"+e.getMessage(),e);
}
logger.info("getCriaControles FIM["+lstControle.size()+"]");
return lstControle;
}

private static List<String> lerArquivoControle(String path) throws IOException


{
return Files.readAllLines(Paths.get(path));
}
}

Você também pode gostar