| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/02/2011 22:07:51
|
d34d_d3v1l
GUJ Ranger
![[Avatar]](/images/avatar/34b5c53bbef2ba5ad2186dc720b0e503.png)
Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Offline
|
Gente,
novamente referindo ao software de bar que estou fazendo.. Eu tinha feito o seguinte, me digam se é uma boa prática:
No meu objeto "Produto" criei dois atributos para me ajudar a fazer relatórios.. Eis os atributos:
Para que que eu fiz isso? Saber quantos itens foram vendidos do produto X .. Tanto em quantidade quanto em valor..
Por exemplo,
Se um "pão de queijo" custa R$1,00 ... e eu vender 12 itens em um dia.. as variaveis ficariam assim:
Isso ficaria guardado no banco de dados (cuja nao implementei ainda, na verdade estou totalmente perdido.. mas tudo bem)...
Acham isso uma boa prática? Ou deve ser feito de outra maneira ?
Provavelmente vocês vão falar para criar vínculos entre Produtos e Pedidos.. Porem no meu software funciona da seguinte maneira:
Objeto mesa:
-Lista de Produtos
-Numero da mesa
-Total [dos produtos consumidos]
... No banco eu penso em colocar a data, para futuramente fazer relatorios do tipo:
Dia X a mesa Y realizou tantas vendas...
Porém acho isso dificil, pois na mesma data, varias pessoas vão sentar, consumir e fechar a conta na mesma mesa...
Então to meio perdido quanto a isso...
Iai,
qual a opinião de vcs?
|
Vamos abandonar o DefaultTableModel? Criando o seu próprio modelo irá 'gerenciar' sua jTable de forma mais fácil... Não use o DTM:
http://www.guj.com.br/java/231928-morte-definitiva-ao-default-table-model
Meus projetos
Sugestões e críticas são bem vindas:
http://www.nortev.net63.net/projetos
Att.,
Marco Túlio Jacovine Noronha |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 04:23:11
|
gilvan.sfilho
JavaChild
![[Avatar]](/images/avatar/d23671163a649809c8fe17be26181809.jpg)
Membro desde: 08/09/2010 14:17:21
Mensagens: 112
Localização: Rio Branco, Acre
Offline
|
Amigo, já fiz um sistema com algo parecido.. No caso era para motel.
Um motel tem muitos quartos e cada quarto e ocupado várias vezes ao dia.. durante essa ocupação existe consumo.. também necessitava de relatório, por quarto, por periodo.. etc.
Sugiro que você faça assim:
O bar têm várias mesas cadastradas. Cada mesa vai ter várias ocupações (no mesmo dia ou não. Nesse ponto entra a data).
Cada ocupação vai ter um consumo. O consumo consiste em N produtos, consumidos X vezes, gera um total Y.
Deu para entender?
Com base nas ocupações vai ser possivel você extrair o relatório que mencionou.
Abraços.
|
Gilvan A. dos Santos Filho
Bacharel em Sistemas de Informação pela Universidade Federal do Acre.
MSN: gfilho2002@hotmail.com
Skype: gilvan.sfilho
Linkedin: http://br.linkedin.com/in/gilvansfilho
www.ganhonoclick.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 08:21:09
|
jurunaloco
JavaChild
![[Avatar]](/images/avatar/f06adf060c098f11e76fa2ff1565ba70.jpg)
Membro desde: 16/06/2006 16:18:10
Mensagens: 117
Localização: Zion
Offline
|
gilvan.sfilho wrote:Amigo, já fiz um sistema com algo parecido.. No caso era para motel.
Um motel tem muitos quartos e cada quarto e ocupado várias vezes ao dia.. durante essa ocupação existe consumo.. também necessitava de relatório, por quarto, por periodo.. etc.
Sugiro que você faça assim:
O bar têm várias mesas cadastradas. Cada mesa vai ter várias ocupações (no mesmo dia ou não. Nesse ponto entra a data).
Cada ocupação vai ter um consumo. O consumo consiste em N produtos, consumidos X vezes, gera um total Y.
Deu para entender?
Com base nas ocupações vai ser possivel você extrair o relatório que mencionou.
Abraços.
permuta detected hehe
|
bURPPP!!
aaaWWwwwAAAaaYYyyyy!!!!!!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 08:32:16
|
d34d_d3v1l
GUJ Ranger
![[Avatar]](/images/avatar/34b5c53bbef2ba5ad2186dc720b0e503.png)
Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Offline
|
Não entendi...
Mas a ideia é essa
qual a chave primaria do se uqaurto ?
|
Vamos abandonar o DefaultTableModel? Criando o seu próprio modelo irá 'gerenciar' sua jTable de forma mais fácil... Não use o DTM:
http://www.guj.com.br/java/231928-morte-definitiva-ao-default-table-model
Meus projetos
Sugestões e críticas são bem vindas:
http://www.nortev.net63.net/projetos
Att.,
Marco Túlio Jacovine Noronha |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 14:55:02
|
gilvan.sfilho
JavaChild
![[Avatar]](/images/avatar/d23671163a649809c8fe17be26181809.jpg)
Membro desde: 08/09/2010 14:17:21
Mensagens: 112
Localização: Rio Branco, Acre
Offline
|
Ahn? a chave primaria do quarto? não entendi o motivo da pergunta ...
Amigo, o quarto é uma entidade com chave primeira do tipo long, auto incremental, como a maioria das classes.
A questão é: para tirar os relatórios você precisa armazenar as informações em algum canto. Por isso entra a ocupação.
Sendo que 1 quarto pode ter N ocupações. Você vai tirar os relatórios a partir das ocupações cadastradas no sistema.
Na ocupação (entidade) vai ficar data, hora, itens consumidos, garçom responsável pelo mesa.. etc. =)
Quando você quizer saber o movimento de determinado dia, basta buscar no banco pelas ocupações com o dia desejado.
Daria para saber a rotatividade de cada mesa também, etc...
Abraços =)))
|
Gilvan A. dos Santos Filho
Bacharel em Sistemas de Informação pela Universidade Federal do Acre.
MSN: gfilho2002@hotmail.com
Skype: gilvan.sfilho
Linkedin: http://br.linkedin.com/in/gilvansfilho
www.ganhonoclick.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 15:01:11
|
d34d_d3v1l
GUJ Ranger
![[Avatar]](/images/avatar/34b5c53bbef2ba5ad2186dc720b0e503.png)
Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Offline
|
gilvan.sfilho wrote:Ahn? a chave primaria do quarto? não entendi o motivo da pergunta ...
Amigo, o quarto é uma entidade com chave primeira do tipo long, auto incremental, como a maioria das classes.
A questão é: para tirar os relatórios você precisa armazenar as informações em algum canto. Por isso entra a ocupação.
Sendo que 1 quarto pode ter N ocupações. Você vai tirar os relatórios a partir das ocupações cadastradas no sistema.
Na ocupação (entidade) vai ficar data, hora, itens consumidos, garçom responsável pelo mesa.. etc. =)
Quando você quizer saber o movimento de determinado dia, basta buscar no banco pelas ocupações com o dia desejado.
Daria para saber a rotatividade de cada mesa também, etc...
Abraços =)))
realmente eu fiz a pergunta errada...
Tipo, as ocupações tem chave primaria?
Data e Hora ? é isso?
ai vc pesquisa no relatorio todas as ocupações da data x
é isso?
obrigado por me ajudar cara,
esta sendo muito util!
vlw msmo
|
Vamos abandonar o DefaultTableModel? Criando o seu próprio modelo irá 'gerenciar' sua jTable de forma mais fácil... Não use o DTM:
http://www.guj.com.br/java/231928-morte-definitiva-ao-default-table-model
Meus projetos
Sugestões e críticas são bem vindas:
http://www.nortev.net63.net/projetos
Att.,
Marco Túlio Jacovine Noronha |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 15:03:57
|
d34d_d3v1l
GUJ Ranger
![[Avatar]](/images/avatar/34b5c53bbef2ba5ad2186dc720b0e503.png)
Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Offline
|
detalhe a tabela Quarto (no meu caso a tabela Mesa) vai ter quais atributos?
Numero,
"Ocupação" ?
|
Vamos abandonar o DefaultTableModel? Criando o seu próprio modelo irá 'gerenciar' sua jTable de forma mais fácil... Não use o DTM:
http://www.guj.com.br/java/231928-morte-definitiva-ao-default-table-model
Meus projetos
Sugestões e críticas são bem vindas:
http://www.nortev.net63.net/projetos
Att.,
Marco Túlio Jacovine Noronha |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 16:48:34
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
Sugestão:
Crie uma tabela de Vendas. Cada venda terá um código, uma data, uma mesa e um cliente.
Depois crie uma tabela de ItensConsumidos. Cada registro da tabela associará uma venda a um produto. Dessa forma, cada linha terá o código da venda, o código do produto e a quantidade comprada.
Note que a tabela de ItensConsumidos serviria de intermédio para a relação muitos-para-muitos entre Vendas e Produtos.
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 17:39:20
|
gilvan.sfilho
JavaChild
![[Avatar]](/images/avatar/d23671163a649809c8fe17be26181809.jpg)
Membro desde: 08/09/2010 14:17:21
Mensagens: 112
Localização: Rio Branco, Acre
Offline
|
Fala d34d_d3v1l ,
então cara, quando implementei fiz assim
Os quartos (no seu caso mesa) tinha chave primaria , long, auto incremento...
As ocupações também, cada ocupação com um id único.
Desta forma, uma mesa vai ter um conjunto de ocupações, isso pode ser feito colocando na entidade mesa um artributo List<Ocupacao>,
que guardará todas as ocupações de determinada mesa. (hibernate faz isso tranquilo)
A data e hora não utilizei como chave primaria não.. mas armazei elas na ocupacao.
A sugestão que o marcobiscaro2112 deu é interessante. Inclusive utilizei algo bem parecido com o que ele falou, não mencionei aqui por que não era o foco.
Enfim, acredito que suas classes irão fica algo do tipo:
Mesa.java
Ocupacao.java
ItemConsumo.java
Produto.java
Acho que algo desse tipo ai cara, lembrando que fiz algo para que funcione no hibernate. Não sei se ta tdo certinho pq digitei direto aqui no editor do forum.
OBS: o valor armazenado no itemConsumido é importante pois guardara o valor do produto no dia que o mesmo foi vendido. Desta forma, caso o valor do produto mude, o relatoria ira mostrar a realidade. Aconteceu um problema comigo quanto a isso. Eu calculava o valor da venda com base no preco do produto que tava armazenado no banco... Desta forma, se o valor do produto mudasse os relatorios tambem mudavam, ficando consequentemente tudo errado.
Cada venda terá um código, uma data, uma mesa e um cliente.
marcobiscaro2112, acho que data, mesa pode ser puxado direto do relacionamento, no caso a ocupacao. Então não tem por que armazenar a data e a mesa tanto na ocupação como na venda. Caso use hibernate não vejo também a necessidade de criar a entidade venda, pode ser feito direto utilizando itemConsumido.
Quando fiz o sistema para o motel não conhecia o hibernate, ai sim utilizei venda, pois não tinha como mapear.
Abraços..
|
Gilvan A. dos Santos Filho
Bacharel em Sistemas de Informação pela Universidade Federal do Acre.
MSN: gfilho2002@hotmail.com
Skype: gilvan.sfilho
Linkedin: http://br.linkedin.com/in/gilvansfilho
www.ganhonoclick.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 17:46:52
|
gilvan.sfilho
JavaChild
![[Avatar]](/images/avatar/d23671163a649809c8fe17be26181809.jpg)
Membro desde: 08/09/2010 14:17:21
Mensagens: 112
Localização: Rio Branco, Acre
Offline
|
d34d_d3v1l wrote:
int quantidadeVendida; //cada vez que vender, incrementa
double quantidadeVendidaDinheiro; //cada vez que vende, adicionava o seu preço
Isso ai acredito que não vai mais ser necessário,
pois com base no que ja foi dito do topico voce vai poder puxar a quantidade consumida de acordo com a data ou periodo que voce especificar.
Ai consequentemente tera tambem o valor em reais do consumo.
Abraços
|
Gilvan A. dos Santos Filho
Bacharel em Sistemas de Informação pela Universidade Federal do Acre.
MSN: gfilho2002@hotmail.com
Skype: gilvan.sfilho
Linkedin: http://br.linkedin.com/in/gilvansfilho
www.ganhonoclick.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 17:47:49
|
d34d_d3v1l
GUJ Ranger
![[Avatar]](/images/avatar/34b5c53bbef2ba5ad2186dc720b0e503.png)
Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Offline
|
Veja minha classe Mesa:
Guarda isso ai na mente que eu já comento....
Cara eu nao queria usar o Hibernate na minha aplicação, por isso não queria armazenar objetos no banco de dados...
Queria trabalhar com tabelas mesmo... queria fazer isso para aprender mais sobre sql... e vai ser util para mim em outras situações...
entãoo, não tem como eu fugir da ocupação, pois é através dela q vou gerar relatorios (correto?)... entao teria que ficar:
Tranquilo...
minha classe de ocupação:
resolveram 90% do meu problema... E agora, como transformar isso em tbelas?
|
Vamos abandonar o DefaultTableModel? Criando o seu próprio modelo irá 'gerenciar' sua jTable de forma mais fácil... Não use o DTM:
http://www.guj.com.br/java/231928-morte-definitiva-ao-default-table-model
Meus projetos
Sugestões e críticas são bem vindas:
http://www.nortev.net63.net/projetos
Att.,
Marco Túlio Jacovine Noronha |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 17:53:47
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
gilvan.sfilho wrote:
Cada venda terá um código, uma data, uma mesa e um cliente.
marcobiscaro2112, acho que data, mesa pode ser puxado direto do relacionamento, no caso a ocupacao. Então não tem por que armazenar a data e a mesa tanto na ocupação como na venda.
De fato, se a data estiver em alguma outra tabela, não há porque duplicar este dado.
Quando disse que cada venda tem uma data, mesa e cliente, não considerei que a utilização de uma tabela de ocupação. No caso, pensei em relacionar diretamente o cliente, com a mesa na qual ele sentou e quando ocorreu isso (ou seja, os dados da ocupação ficariam nessa mesma tabela).
Na hora de gerar o relatório, poderia ser feita uma consulta na tabela de vendas, filtrando pelo número da mesa específica. Com isso é possível saber quantos clientes passaram por aquela mesa em determinado dia, o valor total acumulado por mesa, etc.
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 17:59:32
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
d34d_d3v1l wrote:resolveram 90% do meu problema... E agora, como transformar isso em tbelas?
Acho que antes respondermos isso, seria interessante termos uma visão geral de como seu sistema está. Você poderia fazer um diagrama UML de classes e postar aqui? Isso vai permitir sugerir melhorias tanto no código quanto na parte do banco de dados posteriormente.
This message was edited 2 times. Last update was at 19/02/2011 18:02:42
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 18:17:05
|
d34d_d3v1l
GUJ Ranger
![[Avatar]](/images/avatar/34b5c53bbef2ba5ad2186dc720b0e503.png)
Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Offline
|
ta ae
|
Vamos abandonar o DefaultTableModel? Criando o seu próprio modelo irá 'gerenciar' sua jTable de forma mais fácil... Não use o DTM:
http://www.guj.com.br/java/231928-morte-definitiva-ao-default-table-model
Meus projetos
Sugestões e críticas são bem vindas:
http://www.nortev.net63.net/projetos
Att.,
Marco Túlio Jacovine Noronha |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2011 18:19:06
|
d34d_d3v1l
GUJ Ranger
![[Avatar]](/images/avatar/34b5c53bbef2ba5ad2186dc720b0e503.png)
Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Offline
|
no caso nao fiz as modificações que deveria .. criar outra classe "Ocupação" e tal
|
Vamos abandonar o DefaultTableModel? Criando o seu próprio modelo irá 'gerenciar' sua jTable de forma mais fácil... Não use o DTM:
http://www.guj.com.br/java/231928-morte-definitiva-ao-default-table-model
Meus projetos
Sugestões e críticas são bem vindas:
http://www.nortev.net63.net/projetos
Att.,
Marco Túlio Jacovine Noronha |
|
|
 |
|
|