Manipulação de código

9 respostas
F

Galera, seguinte.. Tô desenvolvendo um programinha simples pra empresa do meu tio e preciso cadastrar despesas.
Mas o código delas é assim:

2 - Despesas

   2.1 - Fixas

       2.1.1 - Administração

            2.1.1.1 - Desp. Escritório
            2.1.1.2 - Desp. Pessoal

   2.2 - Variáveis

        2.2.1 - Obra

             2.2.1.1 - Material + Equipamento
             2.2.1.2 - Mão de Obra

        2.2.2 - Comerciais
        2.2.3 - Impostos
        2.2.4 - Financeira
        2.2.5 - Operacionais

Como faria isso? Eu confesso que tô meio que viajando... Apenas com tratamento de strings?
Até porque eu quero, depois, na hora de fazer um lançamento e inserir o código, poder abrir um "autocompletar" do jtextfield mostrando as possibilidades de código conforme for digitando.

9 Respostas

ganondorfan

E qual seu grau de intimidade com o Java? Que que você já sabe fazer?

nel

Oi!

Creio que um Map seja uma solução adequada a sua necessidade.
Podes por como chave do Map uma String, com o respectivo código. No seu valor, podes criar um Objeto, uma String, enfim, ai é questão de analisar as suas respectivas necessidades.

O que eu quero dizer isso? Supondo que o código seja o 2.1.1.1, que são Desp. Escritório, o que o programa deve fazer? Emitir uma Nota Fiscal? Calcular Imposto?
Entende o que quero dizer? Dada uma ação sua respectiva reação.

Enfim, está ai a sugestão. Boa análise.
Abraços.

kenneth

Fala brow,

Nao sei se seria uma boa solucao, mas eu criaria uma tabela de relacionamento, onde cada um dos seus codigos
equivaleria a um codigo interno do seu sistema.
Algo como:
2.1.1.1 = 1
2.1.1.2 = 2
3.1.1.1 = 3
3.1.1.2 = 4

Com o codigo, fica mais facil trabalhar com Hibernate, por exemplo.

Mas, novamente, eh uma sugestao.

Abraco.

F

Esses códigos (objeto) vão ser só pra classificar na hora de gerar relatórios, onde esses relatórios vão ser separados entre despesas e receitas… E a separação se dá a partir desses códigos.
Obrigado pelas opiniões. Agora tô correndo pro trabalho, mas quando voltar vou ver direitinho isso.

nel

kenneth:
Fala brow,

Nao sei se seria uma boa solucao, mas eu criaria uma tabela de relacionamento, onde cada um dos seus codigos
equivaleria a um codigo interno do seu sistema.
Algo como:
2.1.1.1 = 1
2.1.1.2 = 2
3.1.1.1 = 3
3.1.1.2 = 4

Com o codigo, fica mais facil trabalhar com Hibernate, por exemplo.

Mas, novamente, eh uma sugestao.

Abraco.

Então, por isso eu disse o Map. Sendo a chave o código como ele quer o valor pode ser qualquer um.
Pode até criar o relacionamento como você sugeriu para persistir no banco. Eu diria mais, podes persistir o código completo (2.1.1.1) e que a partir dele tens a referência ao que quiser. Mas enfim, é questão de opinião e ponto de vista.

Abraços!

F

Entendi.
Então eu poderia guardar os dados com o código inteiro e quando precisasse fazer o “detalhamento” era só tratá-lo. Exemplo: se o código começa com 1 é receita, se começa com 2 é despesa, se o segundo número é 1 é tal coisa, se é 2 é outra…

Vou ver se faço isso quando chegar em casa e posto aqui pra vocês darem uma olhada.

A

Se vc estiver usando swing, procure usar o jComboBox assim ficaria mais facil! a cada item selecionado do ComboBox(getSelectedIndex() ) retornaria as propriedades dos códigos que vc quer implementar!!

douglaskd

isso ai não é um menu não?

2 - Despesas 2.1 - Fixas 2.1.1 - Administração 2.1.1.1 - Desp. Escritório 2.1.1.2 - Desp. Pessoal 2.2 - Variáveis 2.2.1 - Obra 2.2.1.1 - Material + Equipamento 2.2.1.2 - Mão de Obra 2.2.2 - Comerciais 2.2.3 - Impostos 2.2.4 - Financeira 2.2.5 - Operacionais

F

douglaskd:
isso ai não é um menu não?

2 - Despesas 2.1 - Fixas 2.1.1 - Administração 2.1.1.1 - Desp. Escritório 2.1.1.2 - Desp. Pessoal 2.2 - Variáveis 2.2.1 - Obra 2.2.1.1 - Material + Equipamento 2.2.1.2 - Mão de Obra 2.2.2 - Comerciais 2.2.3 - Impostos 2.2.4 - Financeira 2.2.5 - Operacionais

Exato, é que esqueci de por em code e aí perdi a identação!
Obrigado por lembrar!

Criado 8 de julho de 2011
Ultima resposta 8 de jul. de 2011
Respostas 9
Participantes 6