e ai pessoal estou querendo fazer um sistema de vendas que quando
o vendedor for fazer uma venda que pegue a data atual e as parcelas
e insere no banco a data atual e incremente as as parcelas
acho que deu para entender
segue um trecho de código que achei aqui para incrementar mas como por ele para adicionar no banco de dados
publicstaticvoidmain(String[]args){GregorianCalendargc=newGregorianCalendar();intnumPar=Integer.parseInt(JOptionPane.showInputDialog("Quantidade de parcelas"));DatediaAtual=newDate();for(inte=0;e<numPar;e++){gc.setTime(diaAtual);gc.roll(GregorianCalendar.MONTH,e);DateFormatdf=newSimpleDateFormat("dd/MM/yyyy");Dated=gc.getTime();if(d.equals(diaAtual)){System.out.print("Entrada ");}else{System.out.print("Parcela "+e+": ");}System.out.println(df.format(d));}}
ele funciona inserindo as parcelas tipo se colocar 3 parcelas ele insere 3 datas iguais
eu queri que ele incrementasse a data
deu para entender?
mauricioadl
o que eu fiz pra vc eh exatamente isso ele incrementa a data a cada 30 dias, basta vc adicionar o codigo no local onde voce passa a data para o banco de dados.
jaissonduarte
como ficaria então?
mauricioadl
jaissonduarte:
como ficaria então?
depois do guj ta facil programar em java. :?
publicbooleaninserir(Gastosobjeto){objeto.setCodigo(obtemproximocodigo());Stringsql="INSERT INTO gastos (descricao, data, valor, ie_fazenda, cod_tipo_gastos, animal, parcelas, data_primeiro_vencimento, codigo) VALUES (?,?,?,?,?,?,?,?,?)";try{PreparedStatementps=Conexao.getConexao().prepareStatement(sql);ps.setString(1,objeto.getDescricao());ps.setDate(2,ConverteData.formataData(objeto.getData()));ps.setDouble(3,objeto.getValor());ps.setLong(4,objeto.getFazenda().getIe());ps.setInt(5,objeto.getTipo_gastos().getCodigo());if(objeto.getAnimal()==null){ps.setNull(6,Types.INTEGER);}else{ps.setInt(6,objeto.getAnimal().getNumero());}ps.setInt(7,objeto.getParcelas());ps.setDate(8,ConverteData.formataData(objeto.getData_primeiro_vencimento()));ps.setInt(9,objeto.getCodigo());ps.execute();// cria o objeto calendarGregorianCalendargc=newGregorianCalendar();// adiciona a data inicialgc.setTime(objeto.getData_primeiro_vencimento());for(inti=0;i<objeto.getParcelas();i++){Parcelaspar=newParcelas();par.setNumero(i+1);// adiciona a datapar.setData_ven(gc.getTime());// incrementa 30 diasgc.set(GregorianCalendar.DAY_OF_MONTH,gc.get(GregorianCalendar.DAY_OF_MONTH)+30);par.setValor(objeto.getValor()/objeto.getParcelas());par.setCodigo(objeto);ControleModeloParcelascmp=newControleModeloParcelas();cmp.inserir(par);}returntrue;}catch(Exceptionex){System.out.println(ex.getMessage());returnfalse;}}
jaissonduarte
meu valeu mesmo funcionou
mas estranho é que ele não aumenta o ano
tipo quando eu coloco a data de hoje
ele incrementa os meses mas o ano continua o mesmo
pelo menos está quase funcionando só falta o ano
pmlm
gc.add(GregorianCalendar.DAY_OF_MONTH,30);
Já agora, tu queres mesmo adicionar 30 dias, ou queres adicionar um mês? Nesse caso seria:
gc.add(GregorianCalendar.MONTH,1);
mauricioadl
gc.add(GregorianCalendar.DAY_OF_MONTH,30);
Já agora, tu queres mesmo adicionar 30 dias, ou queres adicionar um mês? Nesse caso seria:
gc.add(GregorianCalendar.MONTH,1);
bom saber do add.
“morrendo e aprendendo!”
M
maraliza
Olá pessoal, esse código me auxiliou bastante, mas como sou iniciante em programação, não sei como fazer para um jtextfield receber o numero de parcelas q eu digitar em:
intnumPar=Integer.parseInt(JOptionPane.showInputDialog("Quantidade de parcelas"));
fiz o mais óbvio: tf_qtdparc = numPar; mas diz q os tipos são incompatíveis… lógico, só não sei como resolver!
E tbm, tenho um jtextfield contendo o valor total da compra, e gostaria q ele no final dependendo da quantidade de parcelas digistadas recebesse o calculo: tf_valorparc.setText(String.valueOf(Double.parseDouble(tf_qtdparc.getText())
Double.parseDouble(tf_somatotalparc.getText()))); Me ajudem por favor! Segue o código todo:
GregorianCalendar gc = new GregorianCalendar();
int numPar = Integer.parseInt(JOptionPane.showInputDialog("Quantidade de parcelas"));
//tf_qtdparc = numPar;
Date diaAtual = new Date();
for (int e = 0; e < numPar; e++) {
gc.setTime(diaAtual);
gc.roll(GregorianCalendar.MONTH, e); // gc.add(GregorianCalendar.MONTH, 1);
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date d = gc.getTime();
if(d.equals(diaAtual)){
System.out.print("Entrada ");
}else{
System.out.print("Parcela " + e + ": ");
}
System.out.println(df.format(d));
}
/*tf_valorparc.setText(String.valueOf(Double.parseDouble(tf_qtdparc.getText()) /
Double.parseDouble(tf_somatotalparc.getText())));*/
} Obs:Como posso mostrar mais de uma data de vencimento em um jtable?