klasss Posted March 5, 2022 at 11:17 PM Report Share #625514 Posted March 5, 2022 at 11:17 PM 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 More sharing options...
Ivo Vicente Posted March 6, 2022 at 10:04 PM Report Share #625515 Posted March 6, 2022 at 10:04 PM 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 More sharing options...
klasss Posted March 7, 2022 at 09:11 PM Author Report Share #625523 Posted March 7, 2022 at 09:11 PM 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 More sharing options...
pedrox Posted March 8, 2022 at 10:52 AM Report Share #625524 Posted March 8, 2022 at 10:52 AM 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 More sharing options...
klasss Posted March 8, 2022 at 08:44 PM Author Report Share #625527 Posted March 8, 2022 at 08:44 PM 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 More sharing options...
pedrox Posted March 9, 2022 at 10:55 AM Report Share #625528 Posted March 9, 2022 at 10:55 AM 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% ! 😅 1 Report Link to comment Share on other sites More sharing options...
klasss Posted March 10, 2022 at 02:54 PM Author Report Share #625536 Posted March 10, 2022 at 02:54 PM (edited) 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 March 10, 2022 at 05:53 PM by klasss Link to comment Share on other sites More sharing options...
klasss Posted March 10, 2022 at 09:25 PM Author Report Share #625538 Posted March 10, 2022 at 09:25 PM resolvido da seguinte forma : $ferias = feria::where('id_funcionario', '=', $userid)->pluck('n_ferias_disponiveis'); Link to comment Share on other sites More sharing options...
klasss Posted March 11, 2022 at 10:24 AM Author Report Share #625542 Posted March 11, 2022 at 10:24 AM Tenho uma duvida: Como consigo que ao marcar as férias exista um soma dos vários valores? Começo com 0 dias usados, depois marco 5 (resultado 5), marco mais 2 (resultado 7)... ? 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