private void btnInserirCuponsActionPerformed(java.awt.event.ActionEvent evt) { //Testa se os campos na GUI estão vazios if (!txtQtdCupons.getText().isEmpty()) { //desabilita os botoes da aplicação btnIserirNotas.setEnabled(false); btnGerarEFD.setEnabled(false); btnInserirCupons.setEnabled(false); new Thread(new Runnable() { public synchronized void run() { try { int total = Integer.parseInt(txtQtdCupons.getText()); jProgressBar1.setMaximum(total - 1); jProgressBar1.setStringPainted(true); //Instacia os objetos cupom = new Cupom(); itemCupom = new ItensCupom(); reducao = new Reducoes(); //Instacia os objetos DAO cupomDAO = new CupomDAO(); itensCupomDAO = new ItensCupomDAO(); reducoesDAO = new ReducoesDAO(); //Instancia a conexão com firebird connFB = new ConexaoFb(strConn.split(":")[0], strConn.replaceAll("localhost:", ""), "sysdba", "masterkey"); connFB.getConexaoFB().setAutoCommit(false); //Apaga tabelas de cupons, itensCupom e reduçõesz connFB.getConexaoFB().createStatement().executeUpdate("DELETE FROM ECFCUPOM;"); connFB.getConexaoFB().createStatement().executeUpdate("DELETE FROM ECFCUPOM_ITENS;"); connFB.getConexaoFB().createStatement().executeUpdate("DELETE FROM ECFREDUCAOZ;"); //Seta conexão das classes DAO cupomDAO.setConexao(connFB.getConexaoFB()); itensCupomDAO.setConexao(connFB.getConexaoFB()); reducoesDAO.setConexao(connFB.getConexaoFB()); //ID inicial int idCupom = 1; int numCupom = 1; int idItemCupom = 1; //Seta dados do Cupom cupom.setECF_CX(3); //Número do caixa atribuído ao ECF cupom.setCOD_SIT("00"); //Código da situação do documento fiscal: cupom.setDT_DOC(new java.sql.Date(111, 0, 03)); //Data da emissão do documento fiscal cupom.setVL_DOC(78); //Valor total do documento fiscal cupom.setCPFCNPJ("02060533000194"); //CPF ou CNPJ do adquirente cupom.setNOM_ADQ("A MOVELAR - ALTAMIRA"); //Nome do adquirente //Seta dados do item do cupom itemCupom.setCOD_ITEM("0000000011236"); //Codigo do Item itemCupom.setDESCRICAO("LIQUID. MALLORY EXPART");//Descricao do Item itemCupom.setQTD(1); //Quantidade do Item itemCupom.setQTD_CANC(0); //Quantidade cancelado itemCupom.setUNID("UN"); //Unidade itemCupom.setVL_ITEM(70); //Valor do item (quantidade * unitario), COM desconto. itemCupom.setVL_DESCONTO(8); //Valor do desconto dado para este item (desconto_unitario * quantidade). itemCupom.setCFOP(5102); //Código Fiscal de Operações e Prestações. Utilizar Tabela de CFOP. itemCupom.setALIQ_ICMS(17); //Percentual de Aliquota itemCupom.setVL_PIS(0.46); //Valor total do PIS para este registro. itemCupom.setVL_COFINS(2.10); //Valor total do COFINS para este registro. itemCupom.setCST_ICMS("000"); //CODIGO DE SITUACAO TRIBUTARIA. itemCupom.setCOD_TOT_PARC("01T1700"); //4.4.6 - Tabela de Códigos dos Totalizadores Parciais da REDUÇÃO Z itemCupom.setNCM(""); // jFrame1.setVisible(true); for (int i = 0; i < total; i++) { //Seta o ID do cupom cupom.setID(idCupom); //Numero sequenciador - Chave Primaria //Seta o numero do cupom cupom.setNUM_DOC(numCupom); //Número do documento fiscal //Salva o cupom cupomDAO.salvarCupom(cupom); //Seta ID do item itemCupom.setID(idItemCupom); //Numero sequenciador - Chave Primaria //Seta ID do cumpo no Item itemCupom.setECFCUPOM_ID(idCupom); //REFERE-SE AO [ECFCUPOM].[ID], VINCULANDO OS DADOS. MESTRE/DETALHE. //Salva o Item do Cupom itensCupomDAO.salvarItem(itemCupom); idCupom++; numCupom++; idItemCupom++; jProgressBar1.setValue(i); } //Seta dados da Reduçãoz reducao.setID(1); //Numero Sequencial - Chave Primaria. reducao.setECF_CX(3); //Número do caixa atribuído ao ECF reducao.setDT_DOC(new java.sql.Date(111, 0, 03)); //Data do movimento a que se refere a Redução Z reducao.setCRO(1); //Posição do Contador de Reinício de Operação reducao.setCRZ(Double.parseDouble(txtQtdCupons.getText()));//Posição do Contador de Redução Z reducao.setNUM_COO_FIN(Double.parseDouble(txtQtdCupons.getText()));//Número do Contador de Ordem de Operação do último documento emitido no dia. reducao.setGT_FIN(Double.parseDouble(txtQtdCupons.getText()) * 78);//Valor do Grande Total final reducao.setCOD_MOD("BE"); //Código do modelo do equipamento: reducao.setECF_MOD("MP-20 FI II ECF-IF"); //Modelo do equipamento reducao.setECF_SERIE("4708021047275"); //Número de série de fabricação do ECF //Salva reduçãoz reducoesDAO.salvarCupom(reducao); //fecha conexão connFB.getConexaoFB().commit(); connFB.fechaConexao(); //menssagem de conclusão JOptionPane.showMessageDialog(null, "Processo concluído."); //zera o progressBar jProgressBar1.setValue(0); //esconde o Jframe de progresso jFrame1.setVisible(false); //Abilita o botoes btnIserirNotas.setEnabled(true); btnGerarEFD.setEnabled(true); btnInserirCupons.setEnabled(true); } catch (Exception ex) { //Fecha conexão try { connFB.getConexaoFB().rollback(); connFB.fechaConexao(); } catch (SQLException ex1) { } //caso haja erros exibe em mensagem na tela JOptionPane.showMessageDialog(null, ex); //Abilita os botoes btnIserirNotas.setEnabled(true); btnGerarEFD.setEnabled(true); btnInserirCupons.setEnabled(true); } } }).start(); } else { JOptionPane.showMessageDialog(null, "Favor Preencher todos os campos."); } }