Skip to content

Commit bf30101

Browse files
authored
XMLSAT Implementado (#2)
* XMLSAT Implementado * Fiz a identacao correta
1 parent 8446468 commit bf30101

3 files changed

Lines changed: 43 additions & 26 deletions

File tree

src/main/java/com/exemplo/Main.java

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
import com.sun.jna.Library;
44
import com.sun.jna.Native;
55
import java.util.Scanner;
6-
import javax.swing.JFileChooser;
6+
import javax.swing.*;
7+
import javax.swing.filechooser.FileNameExtensionFilter;
78
import java.io.File;
89
import java.io.IOException;
910
import java.nio.charset.StandardCharsets;
@@ -16,7 +17,7 @@ public interface ImpressoraDLL extends Library {
1617

1718
// Caminho completo para a DLL
1819
ImpressoraDLL INSTANCE = (ImpressoraDLL) Native.load(
19-
"C:\\Users\\richard.spanhol\\Downloads\\Java-Aluno Graduacao\\E1_Impressora01.dll",
20+
"/workspaces/testing-java/E1_Impressora01.dll",
2021
ImpressoraDLL.class
2122
);
2223

@@ -75,7 +76,45 @@ public static void fecharConexao() {
7576

7677
}
7778

79+
public static String escolherArquivoXML() throws Exception {
80+
JFileChooser fileChooser = new JFileChooser();
81+
FileNameExtensionFilter filtroXML = new FileNameExtensionFilter("Arquivos XML (*.xml)", "xml");
82+
fileChooser.setFileFilter(filtroXML);
83+
84+
int resultado = fileChooser.showOpenDialog(null);
85+
86+
if (resultado == JFileChooser.APPROVE_OPTION) {
87+
File arquivoSelecionado = fileChooser.getSelectedFile();
88+
return arquivoSelecionado.getAbsolutePath();
89+
} else {
90+
throw new Exception("Seleção cancelada pelo usuário.");
91+
}
92+
}
93+
94+
public static void imprimirXML() {
95+
try {
96+
String caminho = escolherArquivoXML();
97+
ImpressoraDLL.INSTANCE.ImprimeXMLSAT(caminho, 0);
98+
99+
} catch (Exception e) {
100+
System.out.println(e.getMessage());
101+
}
102+
103+
104+
}
105+
public static void imprimirXMLCancel() {
106+
var assQRCode = "Q5DLkpdRijIRGY6YSSNsTWK1TztHL1vD0V1Jc4spo/CEUqICEb9SFy82ym8EhBRZjbh3btsZhF+sjHqEMR159i4agru9x6KsepK/q0E2e5xlU5cv3m1woYfgHyOkWDNcSdMsS6bBh2Bpq6s89yJ9Q6qh/J8YHi306ce9Tqb/drKvN2XdE5noRSS32TAWuaQEVd7u+TrvXlOQsE3fHR1D5f1saUwQLPSdIv01NF6Ny7jZwjCwv1uNDgGZONJdlTJ6p0ccqnZvuE70aHOI09elpjEO6Cd+orI7XHHrFCwhFhAcbalc+ZfO5b/+vkyAHS6CYVFCDtYR9Hi5qgdk31v23w==";
107+
108+
try {
109+
String caminho = escolherArquivoXML();
110+
ImpressoraDLL.INSTANCE.ImprimeXMLCancelamentoSAT(caminho, assQRCode, 0);
111+
} catch (Exception e) {
112+
System.out.println(e.getMessage());
113+
}
114+
}
115+
78116
public static void main(String[] args) {
117+
System.out.println(ImpressoraDLL.INSTANCE.AbreConexaoImpressora(1, "i9", "USB", 0));
79118
while (true) {
80119
System.out.println("\n*************************************************");
81120
System.out.println("**************** MENU IMPRESSORA *******************");
@@ -114,32 +153,10 @@ public static void main(String[] args) {
114153

115154

116155
case "6":
117-
// --- IMPORTANTE ---
118-
// Este trecho permite ao usuário escolher um arquivo XML no computador.
119-
// Para funcionar, será necessário importar as classes de manipulação de arquivos e da interface gráfica:
120-
// import java.io.*; // Para trabalhar com arquivos (ex: File, IOException)
121-
// import javax.swing.*; // Para usar o JFileChooser (janela de seleção de arquivos)
122-
//
123-
// A ideia: abrir uma janela para o usuário escolher o XML, ler o conteúdo do arquivo
124-
// e enviar para a função que imprime o XML de cancelamento do SAT.
125-
//
126-
// >>> Os alunos deverão implementar as partes de leitura do arquivo (função lerArquivoComoString)
127-
// e o controle de fluxo (switch/case, etc) conforme aprendido em aula.
156+
imprimirXML();
128157

129158
case "7":
130-
// --- IMPORTANTE ---
131-
// Este trecho permite ao usuário escolher um arquivo XML no computador.
132-
// Para funcionar, será necessário importar as classes de manipulação de arquivos e da interface gráfica:
133-
// import java.io.*; // Para trabalhar com arquivos (ex: File, IOException)
134-
// import javax.swing.*; // Para usar o JFileChooser (janela de seleção de arquivos)
135-
//
136-
// A ideia: abrir uma janela para o usuário escolher o XML, ler o conteúdo do arquivo
137-
// e enviar para a função que imprime o XML de cancelamento do SAT.
138-
//
139-
// >>> Os alunos deverão implementar as partes de leitura do arquivo (função lerArquivoComoString)
140-
// e o controle de fluxo (switch/case, etc) conforme aprendido em aula.
141-
142-
159+
imprimirXMLCancel();
143160
case "8":
144161

145162

-31 Bytes
Binary file not shown.
1.94 KB
Binary file not shown.

0 commit comments

Comments
 (0)