TMACUL

CA SDM Brasil::. z_workshift_holidays.spl

Blog Post created by TMACUL Champion on Feb 21, 2018

NOVA FUNCIONALIDADE: Atualização automática de turnos de trabalho com feriados (workshifts x holidays) 
Todo administrador de SDM sabe que anualmente é necessário atualizar todos os registros de turno de trabalho que possuem feriados ou datas que não devem ser contabilizadas nos cálculos de horas úteis através dos métodos Spel workshift_abs2work e workshift_work2abs. 

 

O problema se agrava quando temos muitos feriados "móveis" ou feriados eventuais que são estabelecidos durante o decorrer do ano. 
Infelizmente a ferramenta SDM não possui uma tabela única de feriados ou qualquer outro mecanismo que propicie uma manutenção facilitada nos registros de turnos de trabalho. 
Esse é o cenário. 
Agora vem a solução... 

 

Criei um método Spel que atualiza todos os workshifts da ferramenta de uma forma dinâmica e parametrizável. 
Todos os feriados móveis são calculados automaticamente, os fixos são parametrizados e a função permite a definição de um filtro para indicar os workshifts que deverão ser atualizados no processo. 
Esse método pode ser agendado anualmente ou executado eventualmente para adicionar feriados "de última hora". 

 

COMO UTILIZAR: 
z_updateWorkshiftHolidays([int zi_depurar], [string zs_metodo], [int zi_year], [string zs_wc], [string zs_datepart]) 

 

DEFINIÇÕES: 
(int) zi_depurar - [OPCIONAL] Define o nivel de depuracao da funcao 
(string) zs_metodo - [OPCIONAL] Define o nome do metodo que esta chamando este metodo 
(int) zi_year - [OPCIONAL] Define o ano de referencia dos feriados. 
(string) zs_wc - [OPCIONAL] Define o filtro de workwhifts que serao afetados. 
(string) zs_datepart - [OPCIONAL] Define uma string que devera ser incluida no final do workshift. 

 

EXEMPLOS DE CHAMADA: 
z_updateWorkshiftHolidays() 
z_updateWorkshiftHolidays(1, 'teste', 2017, 'delete_flag=0') 
z_updateWorkshiftHolidays(1, 'teste', 2017, 'sym='meu workshift', '12/28/2024 {08:00 - 12:00}') 

 

1º EXEMPLO (ANTES): 
Mon { 09:30 - 18:00 00:00 - 00:00 } 
Tue { 09:30 - 18:00 00:00 - 00:00 } 
Wed { 09:30 - 18:00 00:00 - 00:00 } 
Thu { 09:30 - 18:00 00:00 - 00:00 } 
Fri { 09:30 - 18:00 00:00 - 00:00 } 
01/01/2010 {} 02/02/2010 {} 

 

1º EXEMPLO (DEPOIS): 
Mon { 09:30 - 18:00 00:00 - 00:00 } 
Tue { 09:30 - 18:00 00:00 - 00:00 } 
Wed { 09:30 - 18:00 00:00 - 00:00 } 
Thu { 09:30 - 18:00 00:00 - 00:00 } 
Fri { 09:30 - 18:00 00:00 - 00:00 } 
01/01/2017 {} 02/02/2017 {} 02/28/2017 {} 04/14/2017 {} 04/16/2017 {} 04/21/2017 {} 05/01/2017 {} 06/15/2017 {} 09/07/2017 {} 09/20/2017 {} 10/12/2017 {} 11/02/2017 {} 11/15/2017 {} 12/25/2017 {} 

 

2º EXEMPLO (ANTES): 
Mon - Fri {8:00 am - 12:00 pm 2:00 pm - 6:00 pm} 01/01/2015 {} 02/02/2015 {} 

 

2º EXEMPLO (DEPOIS) 
Mon - Fri {8:00 am - 12:00 pm 2:00 pm - 6:00 pm} 01/01/2017 {} 02/02/2017 {} 02/28/2017 {} 04/14/2017 {} 04/16/2017 {} 04/21/2017 {} 05/01/2017 {} 06/15/2017 {} 09/07/2017 {} 09/20/2017 {} 10/12/2017 {} 11/02/2017 {} 11/15/2017 {} 12/25/2017 {} 

 

FUNÇÕES INCLUÍDAS NA CUSTOMIZAÇÃO 
z_updateWorkshiftHolidays 
z_removeWorkshiftHolidays 
z_getHolidaysBrazil 
z_getEasterDay 
z_getYear 
z_getMonth 
z_getDay 
z_getWeekday 
z_getDateToString 
z_get_default_admin 
z_get_groupleader 
z_bloco_fim 
z_bloco_inicio 

 

 

Bom proveito.

 

 

CA SDM Brasil::. z_workshift_holidays.spl 

 

 

 

CA SDM Brasil Sumário - Índice 

 

As publicações descritas neste post foi postada inicialmente na comunidade do facebook denominada CA SDM Brasil  e criada Por: Daniel Bighelini

Outcomes