Historico_200. Migração de dias de direito
Origem dos dados Protheus
ORIGEM 1: DIAS DE DIREITOS TOTALIZADOS SELECT DIREITOS.*, RA_CATFUNC CATEGORIA_FUNCIONAL FROM ( SELECT RF_MAT MATRICULA, RF_PD VERBA, SUBSTR(rf_databas,1,4) ANO, SUM(RF_DIASDIR) TOTAL_DIAS, SUM(RF_DIREMAN) TOTAL_DIAS_SUSPENSOS, MIN(rf_databas) INICIO_PERIODO_AQUISITIVO, MAX(rf_datafim) FIM_PERIODO_AQUISITIVO FROM SRF010 WHERE SRF010.D_E_L_E_T_ = ' ' and RF_STATUS NOT IN ('2','4') -- NÃO CANCELADO NEM PRESCRITO GROUP BY RF_MAT, SUBSTR(rf_databas,1,4) , RF_PD) DIREITOS INNER JOIN SRA010 ON MATRICULA = RA_MAT AND SRA010.D_E_L_E_T_ = ' ' ORDER BY ANO, VERBA ; ORIGEM 2: ANEXOS DE DIAS DE DIREITO SELECT RF_MAT MATRICULA, RF_DIASDIR DIAS, RF_PD VERBA, SUBSTR(rf_databas,1,4) ANO, rf_databas INICIO, rf_datafim FIM, rf_status SITUACAO, ra_catfunc CATEGORIA_FUNCIONAL FROM SRF010 INNER JOIN SRA010 ON RA_MAT = RF_MAT AND SRA010.D_E_L_E_t_ = ' ' WHERE SRF010.D_E_L_E_T_ = ' ' and RF_STATUS NOT IN ('2','4'); -- NÃO CANCELADO NEM PRESCRITO;
Como zerar programações e direitos Athenas
--DELETE FROM dayoff_acQUISITIONPERIODattachment;
--DELETE FROM dayoff_activity_modifieds;
--DELETE FROM dayoff_usufruct;
--DELETE FROM dayoff_activity;
--DELETE FROM dayoff_acquisitionperiod;
Como gravar no Athenas
Periodo Aquisitivos Instruções para gravar no dayoff_acquisitionperiod utilizar "ORIGEM 1: DIAS DE DIREITOS TOTALIZADOS" | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Campos | Valor | Observaçaõ | ||||||||||||||||||||||||
status | Se (real_days_cache - booked_days_cache) == 0 então '4' senão '2' | Status Athenas 1 - ACQP_WAIT: 'Aguardando Liberação p/ Marcação', Status Protheus 0 = Em aquisição De/Para:
| ||||||||||||||||||||||||
start_date_acquisition | INICIO_PERIODO_AQUISITIVO | |||||||||||||||||||||||||
start_date_fruition | INICIO_PERIODO_AQUISITIVO | |||||||||||||||||||||||||
end_date_acquisition | FIM_PERIODO_AQUISITIVO | |||||||||||||||||||||||||
days | TOTAL_DIAS | |||||||||||||||||||||||||
suspended_days | TOTAL_DIAS_SUSPENSOS | |||||||||||||||||||||||||
description | Gerar no seguinte formato "18/01/2021 - 19/01/2021" sendo as datas ?INICIO_PERIODO_AQUISITIVO? - ?FIM_PERIODO_AQUISITIVO? | |||||||||||||||||||||||||
group_period_id | SQL para buscar o periodo aquisitivo select dayoff_groupperiod.* De acordo com a verba do periodo aquisitivo no protheus(campo VERBA), deve buscar a configuração correspondente(tabela dayoff_configuration) de acordo com de-para abaixo:
| 9000 - Férias Regulamentares 9001 - Férias Individuais 9002 - Recesso Forense 9003 - Folga de Aniversário 9004 - Folga Eleitoral 9005 - Plantão (Servidores) 9006 - <vago> 9007 - Folgas Compensatórias de Membros 9008 - Férias Compensatórias de Membros 9009- Licença Prêmio 9010 - Recesso de Estagiário 9011 - Concurso Promotor Substituto 9012 - Concurso de Estagiários Rascunho 1 - Férias | ||||||||||||||||||||||||
employee_id | select id From rh_servidor where matricula = MATRICULA Unknown macro: {converter MATRICULA para numerico para ficar no padrão Athenas pois o campo Matricula_origem não é preenchido mais.} | |||||||||||||||||||||||||
indemnified | false | |||||||||||||||||||||||||
note | false | |||||||||||||||||||||||||
pendency | false | |||||||||||||||||||||||||
continuous_period | false | |||||||||||||||||||||||||
blocked | false | |||||||||||||||||||||||||
automatic_created | false | |||||||||||||||||||||||||
real_days_cache | TOTAL_DIAS | |||||||||||||||||||||||||
booked_days_cache | SELECT DIAS_TOTAL FROM ( | |||||||||||||||||||||||||
days_to_enjoy_cache | real_days_cache - booked_days_cache | |||||||||||||||||||||||||
paid_days_cache | SELECT DIAS_TOTAL FROM ( select ria_mat MATRICULA, ria_pd VERBA, SUBSTR(RIA_DTINPA,1,4) ANO, SUM(RIA010.RIA_NRDIND) DIAS_TOTAL , RA_CATFUNC CATEGORIA_FUNCIONAL FROM ria010 INNER JOIN SRA010 ON RA_MAT = RIA010.RIA_MAT AND SRA010.D_E_L_E_T_ = ' ' where ria010.D_E_L_E_T_ = ' ' AND RIA_STATUS <> '1' GROUP BY RIA_MAT, RIA_PD, RIA_DTINPA, RA_CATFUNC) WHERE VERBA = ?VERBA? AND MATRICULA = '?MATRICULA?' AND ANO = ?ANO?; | |||||||||||||||||||||||||
days_not_booked_cache | real_days_cache - booked_days_cache | |||||||||||||||||||||||||
paid_without_payroll | false | |||||||||||||||||||||||||
Anexos dos periodos aquisitivos Instruções para gravar no dayoff_acquisitionperiodattachment utilizar "ORIGEM 2: ANEXOS DE DIAS DE DIREITOS" Somente para VERBA diferente de S25(Férias) e S59(BS LICENCA PREMIO) | ||||||||||||||||||||||||||
id | Gerado automaticamente | |||||||||||||||||||||||||
created_at | Data de hoje | |||||||||||||||||||||||||
modified_at | Data de hoje | |||||||||||||||||||||||||
description | INICIO - FIM Ex. 20/01/2021 - 21/01/2021 | |||||||||||||||||||||||||
information | ||||||||||||||||||||||||||
date_start | INICIO | |||||||||||||||||||||||||
date_end | FIM | |||||||||||||||||||||||||
days_law | DIAS | |||||||||||||||||||||||||
acquisition_period_id | Para buscar o periodo aquisitivo correspondente:
select * | sub_type_of_usufruct 9000 - Férias Regulamentares 9001 - Férias Individuais 9002 - Recesso Forense 9003 - Folga de Aniversário 9004 - Folga Eleitoral 9005 - Gratificação de Plantão(Servidores) 9006 - Folga Compensatória(Servidores) 9007 - Folgas Compensatórias de Membros 9008 - Férias Compensatórias de Membros 9009- Licença Prêmio 9010 - Recesso de Estagiário 9011 - Concurso Promotor Substituto 9012 - Concurso de Estagiários | ||||||||||||||||||||||||
attachment_id | NULL | |||||||||||||||||||||||||
created_by_id | 1 | |||||||||||||||||||||||||
modified_by_id | 1 |
select status, start_date_acquisition, end_date_acquisition, start_date_fruition, days, suspended_days, description, group_period_id, employee_id from dayoff_acquisitionperiod;
INSERT INTO public.dayoff_groupperiod (created_at, modified_at, created_by_id, modified_by_id, title, period, start_date_book, start_date_fruition, year_reference, blocked, configuration_id)
VALUES
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2022-01-01', '2022-01-01', 2021, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2021-01-01', '2021-01-01', 2020, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2020-01-01', '2020-01-01', 2019, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2019-01-01', '2019-01-01', 2018, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2018-01-01', '2018-01-01', 2017, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2017-01-01', '2017-01-01', 2016, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2016-01-01', '2016-01-01', 2015, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2015-01-01', '2015-01-01', 2014, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2014-01-01', '2014-01-01', 2013, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2013-01-01', '2013-01-01', 2012, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2012-01-01', '2012-01-01', 2011, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2011-01-01', '2011-01-01', 2010, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2010-01-01', '2010-01-01', 2009, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2009-01-01', '2009-01-01', 2008, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2008-01-01', '2008-01-01', 2007, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2007-01-01', '2007-01-01', 2006, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2006-01-01', '2006-01-01', 2005, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2005-01-01', '2005-01-01', 2004, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2004-01-01', '2004-01-01', 2003, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2003-01-01', '2003-01-01', 2002, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2002-01-01', '2002-01-01', 2001, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '2001-01-01', '2001-01-01', 2000, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '1999-01-01', '1999-01-01', 1998, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '1997-01-01', '1997-01-01', 1996, false, 10),
(now(), now(), 1,1, 'FERIAS REGULAMENTARES ', 1, '1991-01-01', '1991-01-01', 1990, false, 10)
;
select
*
from
rh_servidor
where
id =
'631274'
;
-- 006402
select
*
from
dayoff_configuration
where
type_of_usufruct =
'4'
;
-- tipo eleicoes
select
*
from
dayoff_groupperiod
where
configuration_id =
'4'
;
select
start_date_acquisition INICIO_PERIODO_AQUISITIVO,
end_date_acquisition FIM_PERIODO_AQUISITIVO,
days TOTAL,
booked_days_cache DIAS_AGENDADOS,
days_to_enjoy_cache SALDO,
suspended_days DIAS_SUSPENSOS
from
dayoff_acquisitionperiod
where
group_period_id
in
(
'19'
,
'4'
,
'17'
,
'18'
)
and
employee_id =
'631274'
and
status
not
in
(1, 4, 12);
ria_status
0 = Programado
1 = Cancelado
2 = Suspenso
3 = Retificado
4 = Quitado
INSERT INTO public.dayoff_acquisitionperiod
(indemnified, note, pendency, continuous_period,blocked,automatic_created, real_days_cache, booked_days_cache, days_to_enjoy_cache, paid_days_cache, days_not_booked_cache, paid_without_payroll, created_at,modified_at,status,start_date_acquisition,end_date_acquisition,start_date_fruition,days,suspended_days,created_by_id,employee_id,group_period_id,modified_by_id)
VALUES (false, false, false, false, false, false, 30, 0,30, 0,30, false, now(),now(),2,'2013-02-13','2014-02-12','2014-01-01', 30, 0, 1, 627393, 41, 1);