klasss Posted June 7, 2023 at 07:33 PM Report Share #631253 Posted June 7, 2023 at 07:33 PM Olá a todos, Estou a precisar de uma pequena ajuda para tentar criar o seguinte: Estou a criar uma pequena plataforma que vai gerar um processo cada um novo registo com um número por ordem sequencial. A minha ideia seria esse número ser criado assim que é gravado o processo mas quando fossem criados processos no ano 2024 a sequencia voltasse ao valor 0. Não estou a conseguir ter uma ideia de criar desta forma. Obrigado! Link to comment Share on other sites More sharing options...
Ivo Vicente Posted June 7, 2023 at 09:33 PM Report Share #631255 Posted June 7, 2023 at 09:33 PM Viva, O teu objetivo é um pouco vago e sem contexto, podes acrescentar mais algum detalhe? Alguma coisa que já esteja feita? Existe muitos modos de fazer isso, podes guardar numa tabela de números gerados, e quando chegar ao 2024 no código fazes o reset para zero. Na tabela podes ainda criar um trigger para fazer isso. No limite podes até gravar essa informação num ficheiro de texto e gerir o próximo numero ou o reset do número. São apenas ideias sem pensar Feito é melhor que perfeito Link to comment Share on other sites More sharing options...
klasss Posted June 8, 2023 at 09:33 AM Author Report Share #631259 Posted June 8, 2023 at 09:33 AM Em 07/06/2023 às 23:33, Ivo Vicente disse: Viva, O teu objetivo é um pouco vago e sem contexto, podes acrescentar mais algum detalhe? Alguma coisa que já esteja feita? Existe muitos modos de fazer isso, podes guardar numa tabela de números gerados, e quando chegar ao 2024 no código fazes o reset para zero. Na tabela podes ainda criar um trigger para fazer isso. No limite podes até gravar essa informação num ficheiro de texto e gerir o próximo numero ou o reset do número. São apenas ideias sem pensar O objetivo é : Criar um processo com a data 08-06-2023 e ser gerado o número 1/2023; Novo processo para o mesmo dia, 2/2023. Imaginado que faço depois a criação de um novo processo para o dia 02-01-2024; o número sequencial anterior volta ao 1 ficando 1/2024. Link to comment Share on other sites More sharing options...
pwseo Posted June 8, 2023 at 10:16 AM Report Share #631261 Posted June 8, 2023 at 10:16 AM @klasss A tua questão tem pouco que ver com Laravel propriamente dito, e muito de programação pura. Diria que o ideal será definires claramente o que pretendes que a tua função faça, e depois a implementes. Sugiro um breve exercício em pseudo-código para não estares limitado pela sintaxe da linguagem. função Gerar Número de Processo inputs ultimo_n: número do último processo gerado ultimo_ano: ano do último processo gerado ano: ano actual logica ... Consegues completar a secção «lógica» com base nos inputs e na descrição que fizeste do resultado esperado? Link to comment Share on other sites More sharing options...
klasss Posted June 8, 2023 at 10:53 AM Author Report Share #631263 Posted June 8, 2023 at 10:53 AM Em 08/06/2023 às 11:16, pwseo disse: @klasss A tua questão tem pouco que ver com Laravel propriamente dito, e muito de programação pura. Diria que o ideal será definires claramente o que pretendes que a tua função faça, e depois a implementes. Sugiro um breve exercício em pseudo-código para não estares limitado pela sintaxe da linguagem. função Gerar Número de Processo inputs ultimo_n: número do último processo gerado ultimo_ano: ano do último processo gerado ano: ano actual logica ... Consegues completar a secção «lógica» com base nos inputs e na descrição que fizeste do resultado esperado? Logica assim a primeira vista : SE ultimo_ano = ano ultimo_n +1 SE não descobrir o ano novo Link to comment Share on other sites More sharing options...
pwseo Posted June 8, 2023 at 01:44 PM Report Share #631264 Posted June 8, 2023 at 01:44 PM Agora, tendo em conta o que falámos, consegues facilmente escrever uma função em PHP que faça o pretendido. Experimenta. Existem pormenores que não estão completamente correctos na solução que deste, mas tornar-se-ão evidentes no código. Link to comment Share on other sites More sharing options...
klasss Posted June 10, 2023 at 02:52 PM Author Report Share #631280 Posted June 10, 2023 at 02:52 PM Em 08/06/2023 às 14:44, pwseo disse: Agora, tendo em conta o que falámos, consegues facilmente escrever uma função em PHP que faça o pretendido. Experimenta. Existem pormenores que não estão completamente correctos na solução que deste, mas tornar-se-ão evidentes no código. Obrigado pela dica! Neste momento estou a guardar os dados da seguinte forma : Pesquiso o ultimo processo inserido. Na data procuro o ano do agendamento faço a soma (+1) do ultimo processo. Duvida: Não seria importante eu tambem guardar apenas o ano na base de dados ? ou consigo fazer apenas isso no código? $ultimo_processo = processo::orderby('created_at','DESC')->first(); $data_processo = $request->data_agendamento; $ano_processo = date('Y', strtotime($data_processo)); $soma_processo = $ultimo_processo+1; $tabela->n_processo = $ano_processo. '/' .$soma_processo; Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now