Exemplo n.º 1
0
def make_rec(line, payrun_id, employee_id):
    flds = line.split('^')
    return PayRecord.create(
        payrun=payrun_id,
        employee=employee_id,
        normal_hours_8b=int(flds[5]),
        normal_hours=int(flds[6]),
        oasdi_tax_va_share_cppd=to_float(flds[7]),
        fegli_va_share_cppd=to_float(flds[8]),
        health_benefits_va_share_cppd=to_float(flds[9]),
        retirement_va_share_cppd=to_float(flds[10]),
        tsp_csf_gov_basic_contrib=to_float(flds[11]),
        tsp_gsf_gov_basic_contrib=to_float(flds[12]),
        tsp_csf_gov_match_contrib=to_float(flds[13]),
        tsp_gsf_gov_match_contrib=to_float(flds[14]),
        base_pay_cppd=to_float(flds[15]),
        holiday_amt=to_float(flds[16]),
        overtime_amt_cppd=to_float(flds[17]),
        gross_pay_plus_benefits_cppd=to_float(flds[18]),
        overtime_hours_wk_1=to_float(flds[19]),
        overtime_hours_wk_2=to_float(flds[20]),
        overtime_amt_wk_1=to_float(flds[21]),
        overtime_amt_wk_2=to_float(flds[22]),
        hrs_excess_8_day_wk_1=to_float(flds[23]),
        hrs_excess_8_day_wk_2=to_float(flds[24]),
        hrs_excess_8_day_amt_wk_1=to_float(flds[25]),
        hrs_excess_8_day_amt_wk_2=to_float(flds[26])
    )
Exemplo n.º 2
0
    def make_diffs(self):
        from models import PayRecord, PayDiff
        from app import db

        prev_rex = self._get_previous_records()
        if not prev_rex:
            return
        for current_rec in self.records:
            qry = prev_rex.select().where(PayRecord.employee == current_rec.employee)
            if not qry.exists():
                continue
            rec_diffs = PayRecord.get_diffs(prev_rex.get(), current_rec)
            if rec_diffs:
                with db.atomic():
                    PayDiff.insert_many(rec_diffs).execute()
Exemplo n.º 3
0
    def _get_previous_records(self):
        from models import PayRecord

        prev_id = self.get_previous_run_id()
        return [PayRecord(r) for r in PayRecord.select().where(PayRecord.payrun == prev_id)] or None