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.");
}
}