Jump to content

Laravel: marcação férias, X dias por ano


klasss

Recommended Posts

Olá a todos, 

Preciso de uma pequena ajuda de como posso fazer uma em código que cada utilizador tenha 22 dias para marcação de férias. 

para efetuar o registo das férias o utilizador tem uma janela com a data de inicio e data de fim. tenho um campo oculto que diz os dias de férias marcados. 

tabela: id, data inicio, data fim, contar, total (colocar aqui os 22 dias e ir diminuindo com o campo contar?)

 

isto faz sentido? Existe algo um pouco mais racional de fazer ? 

Obrigado 

Link to comment
Share on other sites

A abordagem e a solução pode depender da abrangência do projeto, por exemplo se for só em Portugal são 22 dias (agora) se tiveres mais que um país pode mudar, ou mesmo em Portugal pode vir a ser alterado.

Tens que ter em conta que uma nova pessoa que comece a trabalhar no ano corrente pode não ter direito aos 22 (são 2 dias por cada mes, após o sexto mês, se não me falha a memória) , ainda existe o caso de dias de férias que não foram gozados e transitam para o ano seguinte.

Na minha perspetiva, podes ter um histórico de férias, no qual existem entradas positivas dos dias a gozar lançadas no dia 1 de cada ano, ou por alguém de recursos humanos que atribui os dias, e depois a mesma coluna serve para registar os dias de férias, assim no fim basta somar a coluna dos dias para estar sempre atualizada.

Dica adicional de quem já teve que remendar um sistema de marcações :-)

Em vez do total de dias, regista os dias de férias de forma individual, pois se existir uma situação que se regressou mais tarde, se regresse mais cedo, ou se cancela um dia a meio das férias (acredita que acontece) vai sem mais fácil ao utilizador acertar os dias de férias, bastando ajustar (adicionar/cancelar) o estado desses dias.

Fica a dica

Feito é melhor que perfeito

Link to comment
Share on other sites

Sendo este um projeto meramente de aprendizagem estou apenas a usar a base como se fosse para uma empresa. 

Histórico de férias parece-me algo simples. Deixando os dados já gravados na BD e sem possibilidade de utilizador mexer. 
Tenho aqui uma duvida, 
ter uma tabela onde é feito o registo e depois uma outra tabela que apresenta os dias disponíveis ? 
Tabela marcação e tabela dias_ferias

Ao contar os dias ir diminuindo na tabela dias_ferias. 


 


 

Link to comment
Share on other sites

Boas klasss, se tens uma tabela com os dias marcados, podes ter um agregador que te some o total de dias marcados para o utilizador e depois`$utilizador->dias_de_ferias - $dias_ja_utilizados. Não precisas de duas tabelas para uma informação que consegues obter a partir da outra. 

O que o Ivo disse tem todo o sentido, se quiseres contar com "meios dias de férias" na tabela onde guardas os dias marcados de férias de cada utilizador adiciona um campo boolean `dia_completo` por exemplo que caso false indica que foi só meio dia. 

Link to comment
Share on other sites

Tem toda a razão. Falta-me os meios dias de férias. 

Então se puderem ajudem me a perceber uma coisa.. 
Tenho a seguinte tabela
 

id_funcionario | title | data_inicio| data_fim| contadias | contatotal

Cada vez que um utilizador faz um registo vai fazendo a soma do ultimo registo desse utilizador? 
Terei de por uma regra para limitar o numero de dias disponíveis certo?  

 

Link to comment
Share on other sites

Boas klass. 

Visto que os dias de férias são referentes ao funcionário, o número disponível deverá estar guardado ou na tabela do funcionário, ou numa tabela separada, exemplo: `ferias` onde tens `empregado_id, n_ferias_disponiveis (podes por examplo ter "ano", se necessitares de saber a que ano são referentes as férias disponíveis, muitas vezes as férias passam de um ano para o outro e acumulam)`.

na tabela `empregado_ferias` a que referiste na resposta anterior basta:  id_funcionario | title | data_inicio| data_fim| dias | tem_meio_dia (bool)

Quando estiveres a fazer a validação basta ires buscar um count dos nº de ferias disponíveis na tabela férias e o count dos dias registados na tabela empregado_ferias (e somas os meios dias) e ver se o artista pode ou não registar mais férias. 

Isto foi uma ideia de 5m, desculpa se não funcionar a 100% ! 😅

  • Vote 1
Link to comment
Share on other sites

Obrigado a todos, vou ter atenção as vossas dicas. 

Preciso de uma ajuda.. 
tenho um zona onde quero mostrar os dias disponíveis da tabela ferias : 
 

 $ferias = feria::count();

fazendo desta forma mostra-me os registos. 

Consigo mostrar o valor da tabela n_ferias_disponiveis? 

Tentei da seguinte forma e não consegui obter nenhum resultado 

 

	  $ferias = feria::where('id_funcionario', '=', $userid)
        ->select('n_ferias_disponiveis')
        ->get();

para depois mostrar da seguinte forma: 

                <h3>{{$itens}}</h3>

                <p>Dias Disponiveis de férias</p>

 

Edited by klasss
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.