Como criar numeração começando com data

3 respostas
netbeansjava
D

Boa noite galera!
Preciso de uma ajuda. Estou criando um sistema medico java no netbeans e gostaria que quando eu criasse um paciente, o código dele começasse com, exemplo: 201711210001
Onde se inicia pelo ano(2017),mês(11),dia(21) e 4 números sequenciais.
Meu sistema já cria o Código, porem sequencial só. 1,2,3,4 … Gostaria de colocar a data do dia + 4 dígitos sequenciais.
Obs: Sou novo na programação, começando agora.

Agradeço a todos.

3 Respostas

R

É um situações bem incomum essa que pretende fazer. Primeiro, precisa pegar a sua data e transformar em um valor inteiro ou long. Depois então, pegue esse valor e multiplique por 1000 + id
20171121 * 1000 + 1 = 201711210001
20171121 * 1000 + 10 = 201711210010

D

Poderia me informar como fazer? Tenho um jTextfieldCodPac e quero transformar ele com essa mascara, 201711220001. No momento ele está como codigo sequencial 1, 2, 3…

Agradeço

A

Já que seu código final vai ficar grande demais para tratar como inteiro, você pode simplesmente tratá-lo como string e formatar a data do jeito que quer:
new SimpleDateFormat("yyyyMMdd").format( new Date() ) + sequencia

Se eu fosse você, eu ainda me livraria desse número sequencial e geraria o id baseado até os segundos (e talvez mais 3 dígitos aleatórios só por garantia)

Com o tempo controlar esses números sequenciais na aplicaçao sempre dá dor de cabeça: tem que reiniciar para cada dia, tem que lembrar o último usado, tem que controlar concorrência, etc.

Criado 22 de novembro de 2017
Ultima resposta 22 de nov. de 2017
Respostas 3
Participantes 3