RoinujNosde 25 de mar. de 2021
Parece que você só soma.
Não importa se aumentou, zerou, diminuiu a quantidade; a cada ação vc soma o valor.
De alguma forma vc poderia pegar o valor total de cada item e somá-los a cada alteração na quantidade.
rafaspara2017 26 de mar. de 2021
@RoinujNosde …sim, eu havia pensado em algo parecido, vou ver se consigo codificar…muito obg!!
rafaspara2017 26 de mar. de 2021
galera tentei de tudo aqui, nada deu certo…alguém tem mais dicas para dar?
RoinujNosde 26 de mar. de 2021
Quando você criar um novo objeto pra valor total de item, coloque esse objeto numa lista.
Se remover um produto da lista, remova esse objeto da lista.
No evento de quantidade alterada, itere pela lista e vá somando os valores. Aí sete no valor total.
rafaspara2017 26 de mar. de 2021
@RoinujNosde
+/- assim:
private void adicionaProduto () {
ComboBox<Produto> txtProdutos = new ComboBox<>() ;
NumberField txtQuantidade = new NumberField("Quantidade") ;
TextField txtValorUnitario = new TextField("Valor Unitário") ;
TextField txtValorTotalItem = new TextField("Valor Total Item") ;
txtProdutos.setWidth("370px") ;
txtProdutos.setLabel("Produtos") ;
List<Produto> listaDeProdutos = produtoRepository.findAll() ;
txtProdutos.setItemLabelGenerator( Produto : : getNome );
txtProdutos.setItems(listaDeProdutos) ;
txtProdutos.addValueChangeListener(event -> {
NumberFormat formatter = NumberFormat.getCurrencyInstance(new Locale("pt", "BR")) ;
try {
txtValorUnitario.setValue(formatter.format(event.getValue().getValor())) ;
} catch ( Exception e ) {
e.printStackTrace() ;
}
} );
//==========================================================================================================================
txtQuantidade . setHasControls ( true );
txtQuantidade . setValue ( null );
txtQuantidade . setMin ( 1 );
txtQuantidade . addValueChangeListener ( event - > {
NumberFormat formatter = NumberFormat.getCurrencyInstance(new Locale("pt", "BR")) ;
double valorTotal = 0 ;
try {
valorTotal = formatter.parse(txtValorUnitario.getValue()).doubleValue() * txtQuantidade.getValue() ;
} catch ( ParseException e ) {
// TODO Auto-generated catch block
e.printStackTrace() ;
}
txtValorTotalItem . setValue ( formatter . format ( valorTotal ));
somaValores += valorTotal ;
campoSomaValores . setValue ( formatter . format ( somaValores ));
} );
HorizontalLayout linhaNova = new HorizontalLayout ();
linhaNova . add ( txtProdutos , txtQuantidade , txtValorUnitario , txtValorTotalItem );
venderDiv . add ( linhaNova );
}
RoinujNosde 26 de mar. de 2021
Você tem um método removeProduto()?
rafaspara2017 29 de mar. de 2021
@RoinujNosde …bom dia, tenho sim…segue:
private void excluirClick () {
if ( venda != null ) {
listaVendas .remove ( venda ) ;
vendaService .delete ( venda ) ;
atualizaGrdVenda () ;
}
}
RoinujNosde 29 de mar. de 2021
Esse seria para excluir a venda, não?
Não tem um para remover produto?
rafaspara2017 29 de mar. de 2021
@RoinujNosde , não…para remover o produto não
RoinujNosde 29 de mar. de 2021
Coloque seus txtValorTotalItem numa lista e a cada vez que uma quantidade for alterada, itere por essa lista somando os valores e definindo o resultado no total geral da compra.
rafaspara2017 29 de mar. de 2021
@RoinujNosde
então, primeiro passo seria criar isso, dentro do metodo adicionaProduto:
List listaValores;
certo?
RoinujNosde 29 de mar. de 2021
A criação da lista tem que ser fora do adicionaProduto.
Só o método add que fica dentro.
rafaspara2017 29 de mar. de 2021
@RoinujNosde
certo entendi…o parametro que passo para esta lista
List String
List Venda
List Produto
qual parametro?
RoinujNosde 29 de mar. de 2021
rafaspara2017 29 de mar. de 2021 1 like
@RoinujNosde
Muito obrigado por sua ajuda, mas realmente eu não sei como implementar sua ideia(eu entendo ela, mas não consigo aplica-la). Você foi o cara que mais me ensinou aqui no GUJ, sou grato a vc, mas sei que já deve estar cansado…kkk…e eu ainda tenho muito o que aprender…obg por toda ajuda
RoinujNosde 29 de mar. de 2021
Qual parte exatamente vc tá com dúvida?
rafaspara2017 29 de mar. de 2021
@RoinujNosde
em tudo na vdd
É como te falei, entendo o que vc quer dizer, mas não consigo colocar em pratica, fico em duvida por exemplo, onde criar a lista? Como sou novo em programação e em Vaadin, tudo o que eu aprendo é observando os códigos, então por exemplo eu vejo lá system.out.print, se for a primeira vez que vejo isso, ai fico boiando no que este código significa e faz…ai depois alguém me explica, que esse código é para mostrar o resultado no console, então aprendo que sempre que precisar mostrar algo no console, basta chamar sysout.
Neste caso em particular, como eu nunca fiz uma operação matematica desta natureza, estou perdido…
é diferente de vc fazer
double valor1 = 10 ;
double valor2 = 10 ;
double soma = valor1 + valor2
pra mim é muito mais complexo
rafaspara2017 29 de mar. de 2021
aqui vc pediu para criar uma lista do mesmo tipo que que txtValorTotalItem(TextField)
Logo seria uma lista igual essa:
private List < String > valores;
correto?
rafaspara2017 29 de mar. de 2021
caso aqui esteja certo, então criei a lista aqui:
no começo de tudo, fora de qualquer metodo
Linha 110
rafaspara2017 29 de mar. de 2021
Ai para setar txtValorTotalItem na lista valores eu devo fazer isso:
txtValorTotalItem.setItemLabelGenerator(Venda::getvalorTotalVenda);
txtValorTotalItem.setItems(valores);
la no metodo adicionarProduto
RoinujNosde 29 de mar. de 2021
txtValorTotalItem(TextField)
Logo seria uma lista igual essa:
private List < String > valores;
List<TextField>
Não, só isso:
valores.add(textValorTotalItem);
rafaspara2017 29 de mar. de 2021
@RoinujNosde
LINHA 109 - ESTÁ CORETO?
LINHA 409
RoinujNosde 29 de mar. de 2021
Não coloque o valores.add() dentro do valuechangelistener
rafaspara2017 29 de mar. de 2021
@RoinujNosde
coloquei na linha 419
java . lang . NullPointerException : null
at br . com . fjsistemas . cadastros . view . VendaView . adicionaProduto ( VendaView . java : 419 ) ~ [ classes / : na ]
at br . com . fjsistemas . cadastros . view . VendaView . lambda $ 15 ( VendaView . java : 298 ) ~ [ classes / : na ]
at com . vaadin . flow . component . ComponentEventBus . fireEventForListener ( ComponentEventBus . java : 205 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . ComponentEventBus . handleDomEvent ( ComponentEventBus . java : 373 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . ComponentEventBus . lambda $ addDomTrigger $ dd1b7957 $ 1 ( ComponentEventBus . java : 264 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . internal . nodefeature . ElementListenerMap . lambda $ fireEvent $ 2 ( ElementListenerMap . java : 441 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at java . base / java . util . ArrayList . forEach ( ArrayList . java : 1507 ) ~ [ na : na ]
at com . vaadin . flow . internal . nodefeature . ElementListenerMap . fireEvent ( ElementListenerMap . java : 441 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . communication . rpc . EventRpcHandler . handleNode ( EventRpcHandler . java : 59 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . communication . rpc . AbstractRpcInvocationHandler . handle ( AbstractRpcInvocationHandler . java : 64 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . communication . ServerRpcHandler . handleInvocationData ( ServerRpcHandler . java : 409 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . communication . ServerRpcHandler . lambda $ handleInvocations $ 1 ( ServerRpcHandler . java : 390 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at java . base / java . util . ArrayList . forEach ( ArrayList . java : 1507 ) ~ [ na : na ]
at com . vaadin . flow . server . communication . ServerRpcHandler . handleInvocations ( ServerRpcHandler . java : 390 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . communication . ServerRpcHandler . handleRpc ( ServerRpcHandler . java : 317 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . communication . UidlRequestHandler . synchronizedHandleRequest ( UidlRequestHandler . java : 89 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . SynchronizedRequestHandler . handleRequest ( SynchronizedRequestHandler . java : 40 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . VaadinService . handleRequest ( VaadinService . java : 1547 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . VaadinServlet . service ( VaadinServlet . java : 247 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . spring . SpringServlet . service ( SpringServlet . java : 111 ) ~ [ vaadin - spring - 12.3.2 . jar : na ]
at javax . servlet . http . HttpServlet . service ( HttpServlet . java : 733 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 4.0 . FR ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 231 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationDispatcher . invoke ( ApplicationDispatcher . java : 712 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationDispatcher . processRequest ( ApplicationDispatcher . java : 459 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationDispatcher . doForward ( ApplicationDispatcher . java : 352 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationDispatcher . forward ( ApplicationDispatcher . java : 312 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . springframework . web . servlet . mvc . ServletForwardingController . handleRequestInternal ( ServletForwardingController . java : 141 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . mvc . AbstractController . handleRequest ( AbstractController . java : 177 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . mvc . SimpleControllerHandlerAdapter . handle ( SimpleControllerHandlerAdapter . java : 52 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . DispatcherServlet . doDispatch ( DispatcherServlet . java : 1060 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . DispatcherServlet . doService ( DispatcherServlet . java : 962 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . FrameworkServlet . processRequest ( FrameworkServlet . java : 1006 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . FrameworkServlet . doPost ( FrameworkServlet . java : 909 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at javax . servlet . http . HttpServlet . service ( HttpServlet . java : 652 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 4.0 . FR ]
at org . springframework . web . servlet . FrameworkServlet . service ( FrameworkServlet . java : 883 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at javax . servlet . http . HttpServlet . service ( HttpServlet . java : 733 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 4.0 . FR ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 231 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . tomcat . websocket . server . WsFilter . doFilter ( WsFilter . java : 53 ) ~ [ tomcat - embed - websocket - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 193 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . springframework . web . filter . RequestContextFilter . doFilterInternal ( RequestContextFilter . java : 100 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . filter . OncePerRequestFilter . doFilter ( OncePerRequestFilter . java : 119 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 193 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . springframework . web . filter . FormContentFilter . doFilterInternal ( FormContentFilter . java : 93 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . filter . OncePerRequestFilter . doFilter ( OncePerRequestFilter . java : 119 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 193 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . springframework . web . filter . CharacterEncodingFilter . doFilterInternal ( CharacterEncodingFilter . java : 201 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . filter . OncePerRequestFilter . doFilter ( OncePerRequestFilter . java : 119 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 193 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . StandardWrapperValve . invoke ( StandardWrapperValve . java : 202 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . StandardContextValve . invoke ( StandardContextValve . java : 97 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . authenticator . AuthenticatorBase . invoke ( AuthenticatorBase . java : 542 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . StandardHostValve . invoke ( StandardHostValve . java : 143 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . valves . ErrorReportValve . invoke ( ErrorReportValve . java : 92 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . StandardEngineValve . invoke ( StandardEngineValve . java : 78 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . connector . CoyoteAdapter . service ( CoyoteAdapter . java : 343 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . coyote . http11 . Http11Processor . service ( Http11Processor . java : 374 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . coyote . AbstractProcessorLight . process ( AbstractProcessorLight . java : 65 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . coyote . AbstractProtocol $ ConnectionHandler . process ( AbstractProtocol . java : 888 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . tomcat . util . net . NioEndpoint $ SocketProcessor . doRun ( NioEndpoint . java : 1597 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . tomcat . util . net . SocketProcessorBase . run ( SocketProcessorBase . java : 49 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at java . base / java . util . concurrent . ThreadPoolExecutor . runWorker ( ThreadPoolExecutor . java : 1128 ) ~ [ na : na ]
at java . base / java . util . concurrent . ThreadPoolExecutor $ Worker . run ( ThreadPoolExecutor . java : 628 ) ~ [ na : na ]
at org . apache . tomcat . util . threads . TaskThread $ WrappingRunnable . run ( TaskThread . java : 61 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at java . base / java . lang . Thread . run ( Thread . java : 830 ) ~ [ na : na ]
RoinujNosde 29 de mar. de 2021
Faltou criar (new) a lista na linha 109, vc só declarou.
rafaspara2017 29 de mar. de 2021
@RoinujNosde veja que ainda não está somando os campos
linha 110
linha 419
o stack foi solucionado
RoinujNosde 29 de mar. de 2021
Sim, essa lógica ainda não foi feita.
Agora no valuechangelistener vc vai fazer um for pela lista de valores.
double soma = 0 ;
for ( TextField tf : valores ) {
//Pegar valor do tf e transformar em número
//Somar na variável soma
}
//Usar a variável soma para definir o total geral da compra
rafaspara2017 29 de mar. de 2021
@RoinujNosde
tentei assim:
deu essa stack:
java . lang . NumberFormatException : For input string : "R$ 1.000,00"
at java . base / jdk . internal . math . FloatingDecimal . readJavaFormatString ( FloatingDecimal . java : 2054 ) ~ [ na : na ]
at java . base / jdk . internal . math . FloatingDecimal . parseDouble ( FloatingDecimal . java : 110 ) ~ [ na : na ]
at java . base / java . lang . Double . parseDouble ( Double . java : 549 ) ~ [ na : na ]
at br . com . fjsistemas . cadastros . view . VendaView . lambda $ 18 ( VendaView . java : 414 ) ~ [ classes / : na ]
at com . vaadin . flow . component . internal . AbstractFieldSupport . lambda $ addValueChangeListener $ 828 eca10 $ 1 ( AbstractFieldSupport . java : 96 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . ComponentEventBus . fireEventForListener ( ComponentEventBus . java : 205 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . ComponentEventBus . fireEvent ( ComponentEventBus . java : 194 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . Component . fireEvent ( Component . java : 359 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . ComponentUtil . fireEvent ( ComponentUtil . java : 386 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . internal . AbstractFieldSupport . setValue ( AbstractFieldSupport . java : 207 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . internal . AbstractFieldSupport . setModelValue ( AbstractFieldSupport . java : 167 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . AbstractField . setModelValue ( AbstractField . java : 225 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . AbstractSinglePropertyField . handlePropertyChange ( AbstractSinglePropertyField . java : 352 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . AbstractSinglePropertyField . access $ 200 ( AbstractSinglePropertyField . java : 48 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . component . AbstractSinglePropertyField $ 1 . propertyChange ( AbstractSinglePropertyField . java : 325 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . internal . nodefeature . ElementPropertyMap . lambda $ fireEvent $ 2 ( ElementPropertyMap . java : 454 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at java . base / java . util . ArrayList . forEach ( ArrayList . java : 1507 ) ~ [ na : na ]
at com . vaadin . flow . internal . nodefeature . ElementPropertyMap . fireEvent ( ElementPropertyMap . java : 454 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . internal . nodefeature . ElementPropertyMap . access $ 100 ( ElementPropertyMap . java : 48 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . internal . nodefeature . ElementPropertyMap $ PutResult . run ( ElementPropertyMap . java : 166 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . communication . ServerRpcHandler . runMapSyncTask ( ServerRpcHandler . java : 395 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . communication . ServerRpcHandler . lambda $ handleInvocations $ 0 ( ServerRpcHandler . java : 389 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at java . base / java . util . ArrayList . forEach ( ArrayList . java : 1507 ) ~ [ na : na ]
at com . vaadin . flow . server . communication . ServerRpcHandler . handleInvocations ( ServerRpcHandler . java : 389 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . communication . ServerRpcHandler . handleRpc ( ServerRpcHandler . java : 317 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . communication . UidlRequestHandler . synchronizedHandleRequest ( UidlRequestHandler . java : 89 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . SynchronizedRequestHandler . handleRequest ( SynchronizedRequestHandler . java : 40 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . VaadinService . handleRequest ( VaadinService . java : 1547 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . server . VaadinServlet . service ( VaadinServlet . java : 247 ) ~ [ flow - server - 2.4.6 . jar : 2.4.6 ]
at com . vaadin . flow . spring . SpringServlet . service ( SpringServlet . java : 111 ) ~ [ vaadin - spring - 12.3.2 . jar : na ]
at javax . servlet . http . HttpServlet . service ( HttpServlet . java : 733 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 4.0 . FR ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 231 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationDispatcher . invoke ( ApplicationDispatcher . java : 712 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationDispatcher . processRequest ( ApplicationDispatcher . java : 459 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationDispatcher . doForward ( ApplicationDispatcher . java : 352 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationDispatcher . forward ( ApplicationDispatcher . java : 312 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . springframework . web . servlet . mvc . ServletForwardingController . handleRequestInternal ( ServletForwardingController . java : 141 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . mvc . AbstractController . handleRequest ( AbstractController . java : 177 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . mvc . SimpleControllerHandlerAdapter . handle ( SimpleControllerHandlerAdapter . java : 52 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . DispatcherServlet . doDispatch ( DispatcherServlet . java : 1060 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . DispatcherServlet . doService ( DispatcherServlet . java : 962 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . FrameworkServlet . processRequest ( FrameworkServlet . java : 1006 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . servlet . FrameworkServlet . doPost ( FrameworkServlet . java : 909 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at javax . servlet . http . HttpServlet . service ( HttpServlet . java : 652 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 4.0 . FR ]
at org . springframework . web . servlet . FrameworkServlet . service ( FrameworkServlet . java : 883 ) ~ [ spring - webmvc - 5.3.3 . jar : 5.3.3 ]
at javax . servlet . http . HttpServlet . service ( HttpServlet . java : 733 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 4.0 . FR ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 231 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . tomcat . websocket . server . WsFilter . doFilter ( WsFilter . java : 53 ) ~ [ tomcat - embed - websocket - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 193 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . springframework . web . filter . RequestContextFilter . doFilterInternal ( RequestContextFilter . java : 100 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . filter . OncePerRequestFilter . doFilter ( OncePerRequestFilter . java : 119 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 193 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . springframework . web . filter . FormContentFilter . doFilterInternal ( FormContentFilter . java : 93 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . filter . OncePerRequestFilter . doFilter ( OncePerRequestFilter . java : 119 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 193 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . springframework . web . filter . CharacterEncodingFilter . doFilterInternal ( CharacterEncodingFilter . java : 201 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . springframework . web . filter . OncePerRequestFilter . doFilter ( OncePerRequestFilter . java : 119 ) ~ [ spring - web - 5.3.3 . jar : 5.3.3 ]
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 193 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 166 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . StandardWrapperValve . invoke ( StandardWrapperValve . java : 202 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . StandardContextValve . invoke ( StandardContextValve . java : 97 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . authenticator . AuthenticatorBase . invoke ( AuthenticatorBase . java : 542 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . StandardHostValve . invoke ( StandardHostValve . java : 143 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . valves . ErrorReportValve . invoke ( ErrorReportValve . java : 92 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . core . StandardEngineValve . invoke ( StandardEngineValve . java : 78 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . catalina . connector . CoyoteAdapter . service ( CoyoteAdapter . java : 343 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . coyote . http11 . Http11Processor . service ( Http11Processor . java : 374 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . coyote . AbstractProcessorLight . process ( AbstractProcessorLight . java : 65 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . coyote . AbstractProtocol $ ConnectionHandler . process ( AbstractProtocol . java : 888 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . tomcat . util . net . NioEndpoint $ SocketProcessor . doRun ( NioEndpoint . java : 1597 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at org . apache . tomcat . util . net . SocketProcessorBase . run ( SocketProcessorBase . java : 49 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at java . base / java . util . concurrent . ThreadPoolExecutor . runWorker ( ThreadPoolExecutor . java : 1128 ) ~ [ na : na ]
at java . base / java . util . concurrent . ThreadPoolExecutor $ Worker . run ( ThreadPoolExecutor . java : 628 ) ~ [ na : na ]
at org . apache . tomcat . util . threads . TaskThread $ WrappingRunnable . run ( TaskThread . java : 61 ) ~ [ tomcat - embed - core - 9.0.41 . jar : 9.0.41 ]
at java . base / java . lang . Thread . run ( Thread . java : 830 ) ~ [ na : na ]
RoinujNosde 29 de mar. de 2021
O Double.parseDouble dá erro porque tem R$ e ponto e vírgula trocados.
Use o mesmo formatter que usou nos outros métodos, o de dinheiro.
rafaspara2017 30 de mar. de 2021
@RoinujNosde
Bom dia meu amigo!
rafaspara2017 30 de mar. de 2021
tentei isso:
mas o resultado foi isso:
Solucao aceita
rafaspara2017 30 de mar. de 2021 1 like
@RoinujNosde
consegui resolver o problema(consegui modo de falar, vc quem me ajudou MUITO)
MUITO OBRIGADO POR SUA AJUDA, VC É O CARA!!!