Acho que a parte do banco esta ok, agora vamos aumenta o nível de dificuldade vamos passar para a criação do formulário:
tenho duas tabela
1 - pega todas as duplicatas
2 - pega todas as duplicatas recebidas
tenho cinco campos para lança os valores
1 - Total a receber - recebe o calcula de todas as duplicatas
2 - Valor pagamento - onde lanço o valor que o cliente vai efetuar o pagamento
3 - Juros - onde lanço o valor do juros
4 - Multas - onde lanço o valor do multas
5 - Descontos - onde lanço o valor do descontos
1- Pergunta. de que forma devo fazer a logica para receber o pagamento das duplicatas?
este é botão que clico para adicionar a duplicatarecebida
private void bt_adicionarActionPerformed(java.awt.event.ActionEvent evt) {
for (int i = 0; i < tabela_despesa.getRowCount(); i++) {
Boolean ck = (Boolean)tabela_despesa.getValueAt(i, 5);
if (ck == null){
ck = false;
}else if((Boolean) tabela_despesa.getValueAt(i, 5)==true) {
bdr.codigoDuplicata = Integer.parseInt(String.valueOf(tabela_despesa.getValueAt(i, 0)));
bdr.juros = Double.parseDouble(parametrosNS.TransStrDou.TransformaValorStringeDouble(txt_valorJuro.getText(), 1));
bdr.multas = Double.parseDouble(parametrosNS.TransStrDou.TransformaValorStringeDouble(txt_valorMulta.getText(), 1));
bdr.desconto = Double.parseDouble(parametrosNS.TransStrDou.TransformaValorStringeDouble(txt_valorDesconto.getText(), 1));
PegaDuplicataRecebida();
IncluirDuplicataRecebida();
mensagem = "Pagamento da duplitada finalizada com êxito!";
mostraMensagem();
}
}
}
private void PegaDuplicataRecebida(){
sql = "select \n"
+ " tb_duplicata_recebidas.idDuplicataRecebidas, \n"
+ " tb_duplicata_recebidas.idEmpresa, \n"
+ " tb_duplicata_recebidas.codigoGrupo, \n"
+ " tb_duplicata_recebidas.codigoEmpresa, \n"
+ " tb_duplicata_recebidas.codigoDuplicata, \n"
+ " tb_duplicata_recebidas.dataRecebimento, \n"
+ " tb_duplicata_recebidas.valorRecebimento, \n"
+ " tb_duplicata_recebidas.tipoPagamento, \n"
+ " tb_duplicata_recebidas.detalhePagamento, \n"
+ " tb_duplicata_recebidas.juros, \n"
+ " tb_duplicata_recebidas.multas, \n"
+ " tb_duplicata_recebidas.descontos \n"
+ "from tb_duplicata_recebidas "
+ "where tb_duplicata_recebidas.codigoDuplicata = " + bdr.codigoDuplicata + " and tb_duplicata_recebidas.idEmpresa = " + parametrosNS.be.IdEmpresa + "\n"
+ preenchimento
+ " order by dataRecebimento asc;";
dadosContaRecebida.clear();
dadosContaRecebida = parametrosNS.dao.Consulta(sql);
PegaDadosDuplicataRecebida();
}
private void PegaDadosDuplicataRecebida(){
tabela_recebida.getColumnModel().getColumn(0).setPreferredWidth(0);
tabela_recebida.getColumnModel().getColumn(0).setMaxWidth(0);
tabela_recebida.getColumnModel().getColumn(0).setMinWidth(0);
tabela_recebida.getTableHeader().getColumnModel().getColumn(0).setMaxWidth(0);
tabela_recebida.getTableHeader().getColumnModel().getColumn(0).setMinWidth(0);
TableContaRecebida.setNumRows(0);
SomaValorContaReceberdr = 0;
SomaValorPagodr = 0;
SomaValorRecebidodr = 0;
String valorDespesa = "";
for(int i = 0; i < dadosContaRecebida.size(); i++){
bdur = new BeanDuplicataReceber();
bdur.idDuplicataReceber = Integer.parseInt ((String) dadosContaRecebida.get(i).get(0));
bdur.idEmpresa = Integer.parseInt ((String) dadosContaRecebida.get(i).get(2));
bdur.codigoGrupo = Integer.parseInt ((String) dadosContaRecebida.get(i).get(3));
bdur.codigoEmpresa = Integer.parseInt ((String) dadosContaRecebida.get(i).get(4));
bdur.codigoDuplicata = Integer.parseInt ((String) dadosContaRecebida.get(i).get(1));
bdur.detalheRecebimento = (String) dadosContaRecebida.get(i).get(8);
bdur.valorRecebimento = Double.parseDouble((String) dadosContaRecebida.get(i).get(6));
bdur.dataRecebimento = (String) dadosContaRecebida.get(i).get(5);
valorDespesa = TransStrDou.TransformaValorStringeDouble(String.valueOf(bdur.valorRecebimento), 0);
bdur.juros = Double.parseDouble((String) dadosContaRecebida.get(i).get(9));
bdur.multas = Double.parseDouble((String) dadosContaRecebida.get(i).get(10));
bdur.desconto = Double.parseDouble((String) dadosContaRecebida.get(i).get(11));
SomaValorContaReceberdr += bdur.valorRecebimento;
SomaValorPagodr = bdur.valorRecebimento + bdur.juros + bdur.multas - bdur.desconto;
SomaValorRecebidodr += SomaValorPagodr;
bdur.dataRecebimento = invdata.inverterData(bdur.dataRecebimento, 1);
TableContaRecebida.addRow(new Object[] {fc.FormataCampo(String.valueOf(bdur.idDuplicataReceber), 6, 0), fc.FormataCampo(String.valueOf(bdur.idDuplicataReceber), 6, 0), bdur.detalheRecebimento, bdur.dataRecebimento,valorDespesa,TransStrDou.TransformaValorStringeDouble(String.valueOf(bdur.juros), 0),TransStrDou.TransformaValorStringeDouble(String.valueOf(bdur.multas), 0),TransStrDou.TransformaValorStringeDouble(String.valueOf(bdur.desconto), 0),TransStrDou.TransformaValorStringeDouble(String.valueOf(SomaValorPagodr), 0)
});
}
new AjustarLarguraColunasBoolean(tabela_recebida);
}
private void IncluirDuplicataRecebida(){
bdr.idEmpresa = parametrosNS.be.IdEmpresa;
bdr.codigoGrupo = parametrosNS.bge.CodigoGrupo;
bdr.codigoEmpresa = parametrosNS.be.CodigoEmpresa;
bdr.dataRecebimento = invdata.inverterData(cdh.CapturarData(), 2);
bdr.valorRecebimento = SomaValorRecebidodr; //Ismael Martins: tenho que ver este calculo para tentar da baixa
bdr.tipoPagamento = 1;
bdr.detalheRecebimento = "Ref. ao Pagamento da Duplicata de Nº: “+bdr.codigoDuplicata+” ";
sql = "insert into tb_duplicata_recebidas (idEmpresa, codigoGrupo, codigoEmpresa, codigoDuplicata, dataRecebimento, valorRecebimento, tipoPagamento, detalhePagamento, juros, multas, descontos) "
+ "values (" + bdr.idEmpresa + ", " + bdr.codigoGrupo + ", " + bdr.codigoEmpresa + ", " + bdr.codigoDuplicata + ", '" + bdr.dataRecebimento + "', " + bdr.valorRecebimento + ", " + bdr.tipoPagamento + ", '" + bdr.detalheRecebimento + "', " + bdr.juros + ", " + bdr.multas + ", " + bdr.desconto + ");";
sqlstate = parametrosNS.dao.incluirRegistro(sql);
if(!sqlstate.equals("00000")){
mensagem = "Erro ao incluir duplicatas recebidas!";
mostraMensagem();
}
}
Com estes códigos, o sistema já insere os dados no banco, só falta a parte de cálculos.
Estou com problema nos cálculos para inserir os valores no banco de dados.
quem puder mim ajudar, pode manisfesta-se que eu passo todos os detalhes.