MO
Ajuda com incremento de número
Bom dia a todos, pessoal estou criando um sistema para elaboração de CI´s e Ofícios entre outros, preciso de uma ideia para que eu possa gerar a codificação por tipo de documentos, tipo: Ofício nº 0001/2020-SEMAM, já para outro tipo de documento, também iniciaria com o 001, tipo: CI nº 0001/2020-SEMAM. Eu teria que ter uma tabela só pra isso? Estou sem ideia, alguém poderia me ajudar?
Marcos,
Eu acrescentaria o tipo do documento na codificação, ex:
OF_0001/2020-SEMAM (para Ofícios)
CI_0001/2020-SEMAM (para as CI´s)
e na tabela acrescentaria o código do tipo de documento, ex: tipo_doc_id
e criaria uma tabela de Tipos de Documento, ex
id, int
tipo_documento, varchar(30)
1 - Ofício
2 - Circulação Interna
Marcos
Você não poderia usar auto incremento nesta coluna, certo.
Eu criarei um método no model que tivesse um filtro por tipo de documento e sempre retornaria o último registro e a este somaria 1.
Seria +/- isso:
Bom dia Marcos,
Eu não vejo outra maneira de fazer isso sem uma tabela de controle, é o mesmo que controlar o número de nota por série. A única solução que encontrei foi criando uma tabela de controle.
No seu caso seria algo como:
create table controle_doc (
id int/bigint primary key auto_increment
,tp_doc int/smallint/tinyint.. # o tipo de documento (1 - Oficio, 2 - CI, 3 - Outros)
,nr_doc int/bigint # o número do documento em si
);
alter table controle_doc add constraint "controle_doc_key" unique (tp_doc, nr_doc); # cria uma chave única de tp_doc + nr_doc
Espero ter ajudado!
Saudações,
Como fazer para ter o controle 001 com a virada de ano?