Untitled

importar ats
 avatar
brabo
python
a day ago
6.8 kB
4
Indexable
# -*- coding: utf-8 -*-
from rh.gfp.models import ExtraPayment,ExtraPaymentPeriod
from rh.models import Servidor
from datetime import date
from contrib.middleware import set_current_user

set_current_user('athenas')


NAME_EP = u'ADICIONAL POR TEMPO DE SERVICO MEMBROS'
SLUG_EP = 'ATS'


def get_ep(slug='ATS'):
    return ExtraPayment.objects.filter(slug=slug).first()

def create_ep(name=NAME_EP,slug=SLUG_EP):
    query_ep = ExtraPayment.objects.filter(slug=slug) 
    if not query_ep.exists():
        ep = ExtraPayment()
        ep.slug = slug
        ep.name = name
        ep.save()
        print('VERBA EXTRA -{} CRIADA!'.format(ep))
    else:
        ep = query_ep.first()
        print('A VERBA EXTRA - {} JA EXISTE!'.format(ep))

    # extra_payment = models.ForeignKey('ExtraPayment', verbose_name='Pagamento', related_name='periods')
    # employee = models.ForeignKey('rh.Servidor', verbose_name='Servidor', null=True, blank=True, related_name='extrapaymentperiods')
    # type_value = models.SmallIntegerField(choices=Choice.get_choices_for('gfp', 'TYPE_OF_VALUE'), verbose_name=u'Tipo', default=1)
    # value = models.DecimalField(max_digits=19, decimal_places=2, default=0)
    # start_validity = models.DateField(verbose_name=u'Início vigência')
    # end_validity = models.DateField(verbose_name=u'Fim vigência', null=True, blank=True)
    # decision_date = models.DateField(u'Data da Decisão', null=True, blank=True)
    # information = models.CharField(max_length=50, verbose_name='Info', default='', blank=True)
    # close_prev_period = models.BooleanField(default=False)
    # main_salary = models.BooleanField(u'Aplica-se à remuneração principal', default=True)
    # gratification = models.BooleanField(u'Aplica-se à gratificação', default=False)

def create_epp(extra_payment=None,employee=None,value=None,type=None,start_validity=None):
    query_epp = ExtraPaymentPeriod.objects.filter(
        extra_payment=extra_payment,
        employee=employee,
        value=value,
        type_value=type,
        start_validity=start_validity,
    )

    if not query_epp.exists():
        epp = ExtraPaymentPeriod()
        epp.extra_payment = extra_payment
        epp.employee = employee
        epp.value = value
        epp.type_value = type
        epp.start_validity = start_validity
        epp.main_salary = True
        epp.save()
        print('Vebra extra - {} salva com sucesso!'.format(epp))
    else:
        epp = query_epp.first()
        print('Vebra extra - {} ja existe no sistema!'.format(epp))

def get_dict_ats():
    dict_ats = [
        {'matricula':16406, 'pct':4}
        ,{'matricula':16004, 'pct':19}
        ,{'matricula':16659, 'pct':1}
        ,{'matricula':15998, 'pct':19}
        ,{'matricula':16263, 'pct':8}
        ,{'matricula':16072, 'pct':16}
        ,{'matricula':16015, 'pct':18}
        ,{'matricula':16677, 'pct':1}
        ,{'matricula':15956, 'pct':21}
        ,{'matricula':15921, 'pct':24}
        ,{'matricula':15960, 'pct':21}
        ,{'matricula':16170, 'pct':9}
        ,{'matricula':15967, 'pct':21}
        ,{'matricula':16257, 'pct':8}
        ,{'matricula':16678, 'pct':1}
        ,{'matricula':16165, 'pct':9}
        ,{'matricula':15959, 'pct':21}
        ,{'matricula':16189, 'pct':9}
        ,{'matricula':16213, 'pct':8}
        ,{'matricula':16187, 'pct':9}
        ,{'matricula':16661, 'pct':1}
        ,{'matricula':16177, 'pct':9}
        ,{'matricula':16173, 'pct':9}
        ,{'matricula':15964, 'pct':21}
        ,{'matricula':16254, 'pct':8}
        ,{'matricula':16171, 'pct':9}
        ,{'matricula':16657, 'pct':1}
        ,{'matricula':16064, 'pct':16}
        ,{'matricula':16658, 'pct':1}
        ,{'matricula':16219, 'pct':8}
        ,{'matricula':16036, 'pct':16}
        ,{'matricula':16190, 'pct':9}
        ,{'matricula':16697, 'pct':0}
        ,{'matricula':16226, 'pct':8}
        ,{'matricula':16230, 'pct':8}
        ,{'matricula':16176, 'pct':9}
        ,{'matricula':16588, 'pct':2}
        ,{'matricula':15991, 'pct':19}
        ,{'matricula':16600, 'pct':2}
        ,{'matricula':16234, 'pct':8}
        ,{'matricula':16229, 'pct':8}
        ,{'matricula':16641, 'pct':1}
        ,{'matricula':16043, 'pct':16}
        ,{'matricula':16172, 'pct':9}
        ,{'matricula':16683, 'pct':1}
        ,{'matricula':16680, 'pct':1}
        ,{'matricula':16286, 'pct':7}
        ,{'matricula':16060, 'pct':16}
        ,{'matricula':16698, 'pct':0}
        ,{'matricula':15965, 'pct':21}
        ,{'matricula':16042, 'pct':16}
        ,{'matricula':16590, 'pct':2}
        ,{'matricula':15911, 'pct':25}
        ,{'matricula':16185, 'pct':9}
        ,{'matricula':16595, 'pct':2}
        ,{'matricula':16701, 'pct':0}
        ,{'matricula':16700, 'pct':0}
        ,{'matricula':16593, 'pct':2}
        ,{'matricula':16044, 'pct':16}
        ,{'matricula':16085, 'pct':15}
        ,{'matricula':16405, 'pct':4}
        ,{'matricula':16629, 'pct':2}
        ,{'matricula':16684, 'pct':1}
        ,{'matricula':15931, 'pct':23}
        ,{'matricula':16640, 'pct':1}
        ,{'matricula':16403, 'pct':4}
        ,{'matricula':15979, 'pct':21}
        ,{'matricula':16628, 'pct':2}
        ,{'matricula':15950, 'pct':21}
        ,{'matricula':16191, 'pct':9}
        ,{'matricula':16166, 'pct':9}
        ,{'matricula':16644, 'pct':1}
        ,{'matricula':16676, 'pct':1}
        ,{'matricula':16220, 'pct':8}
        ,{'matricula':16632, 'pct':2}
        ,{'matricula':16175, 'pct':9}
        ,{'matricula':16228, 'pct':8}
        ,{'matricula':15929, 'pct':23}
        ,{'matricula':16645, 'pct':1}
        ,{'matricula':16033, 'pct':16}
        ,{'matricula':16646, 'pct':1}
        ,{'matricula':16046, 'pct':16}
        ,{'matricula':16696, 'pct':0}
        ,{'matricula':16585, 'pct':2}
        ,{'matricula':15974, 'pct':21}
        ,{'matricula':16188, 'pct':9}
        ,{'matricula':16233, 'pct':8}
        ,{'matricula':16643, 'pct':1}
        ,{'matricula':16675, 'pct':1}
        ,{'matricula':16000, 'pct':19}
        ,{'matricula':16599, 'pct':2}
        ,{'matricula':15951, 'pct':21}
        ,{'matricula':16260, 'pct':8}
        ,{'matricula':16231, 'pct':8}
        ,{'matricula':16598, 'pct':2}
        ,{'matricula':16596, 'pct':2}
        ,{'matricula':15966, 'pct':21}
        ,{'matricula':15920, 'pct':24}
        ,{'matricula':16039, 'pct':16}
        ,{'matricula':16633, 'pct':2}
        ,{'matricula':16222, 'pct':8}
        ,{'matricula':15973, 'pct':21}]

    return dict_ats

def run_add_ats():
    create_ep()
    ep = get_ep()
    atss = get_dict_ats()
    for ats in atss:
        servidor = Servidor.objects.get(matricula=ats['matricula'])
        create_epp(
            ep,
            servidor,
            ats['pct'],
            2,
            date(2024,12,1)
        )
run_add_ats()
    
Editor is loading...
Leave a Comment