class PayrollComponentRequest:
    id = None
    code = None
    name = None
    status = None
    allowance_type = None
    pf_include = None
    is_deduction = None
    percentage = None
    payrollcomp_id = None
    type = None
    from_date = None
    to_date = None
    gradelevel = None
    is_default = None
    cat_id = None
    subcat_id = None
    glno = None


    def __init__(self, prm_obj):
        if 'id' in prm_obj:
            self.id = prm_obj['id']
        if 'code' in prm_obj:
            self.code = prm_obj['code']
        if 'name' in prm_obj:
            self.name = prm_obj['name']
        if 'status' in prm_obj:
            self.status = prm_obj['status']
        if 'allowance_type' in prm_obj:
            self.allowance_type = prm_obj['allowance_type']
        if 'pf_include' in prm_obj:
            self.pf_include = prm_obj['pf_include']
        if 'is_deduction' in prm_obj:
            self.is_deduction = prm_obj['is_deduction']
        if 'percentage' in prm_obj:
            if prm_obj['percentage'] != '':
                self.percentage = prm_obj['percentage']
            else:
                self.percentage = 0.00
        if 'payrollcomp_id' in prm_obj:
            self.payrollcomp_id = prm_obj['payrollcomp_id']
        if 'type' in prm_obj:
            self.type = prm_obj['type']
        if 'from_date' in prm_obj:
            self.from_date = prm_obj['from_date']
        if 'to_date' in prm_obj:
            self.to_date = prm_obj['to_date']
        if 'gradelevel' in prm_obj:
            self.gradelevel = prm_obj['gradelevel']
        if 'is_default' in prm_obj:
            self.is_default = prm_obj['is_default']
        if 'cat_id' in prm_obj:
            self.cat_id = prm_obj['cat_id']
        if 'subcat_id' in prm_obj:
            self.subcat_id = prm_obj['subcat_id']
        if 'glno' in prm_obj:
            self.glno = prm_obj['glno']

    def get_id(self):
        return self.id

    def get_code(self):
        return self.code

    def get_name(self):
        return self.name

    def get_status(self):
        return self.status

    def get_allowance_type(self):
        return self.allowance_type

    def get_pf_include(self):
        return self.pf_include

    def get_is_deduction(self):
        return self.is_deduction

    def get_percentage(self):
        return self.percentage

    def get_payrollcomp_id(self):
        return self.payrollcomp_id

    def get_type(self):
        return self.type

    def get_from_date(self):
        return self.from_date

    def get_to_date(self):
        return self.to_date

    def get_gradelevel(self):
        return self.gradelevel

    def get_is_default(self):
        return self.is_default

    def get_cat_id(self):
        return self.cat_id

    def get_subcat_id(self):
        return self.subcat_id

    def get_glno(self):
        return self.glno

class CompanyContributionRequest:
    id = None
    name = None
    percentage = None
    effective_from = None
    effective_to = None
    status = None
    amount = None
    cat_id = None
    subcat_id = None
    glno = None
    sal_amount = None

    def __init__(self, prm_obj):
        if 'id' in prm_obj:
            self.id = prm_obj['id']
        if 'name' in prm_obj:
            self.name = prm_obj['name']
        # if 'percentage' in prm_obj:
        #     self.percentage = prm_obj['percentage']
        if 'percentage' in prm_obj:
            if prm_obj['percentage'] != '':
                self.percentage = prm_obj['percentage']
            else:
                self.percentage = 0.00
        if 'status' in prm_obj:
            self.status = prm_obj['status']
        if 'effective_from' in prm_obj:
            self.effective_from = prm_obj['effective_from']
        if 'effective_to' in prm_obj:
            self.effective_to = prm_obj['effective_to']
        # if 'amount' in prm_obj:
        #     self.amount = prm_obj['amount']
        if 'amount' in prm_obj:
            if prm_obj['amount'] != '':
                self.amount = prm_obj['amount']
            else:
                self.amount = 0.00
        if 'cat_id' in prm_obj:
            self.cat_id = prm_obj['cat_id']
        if 'subcat_id' in prm_obj:
            self.subcat_id = prm_obj['subcat_id']
        if 'glno' in prm_obj:
            if prm_obj['glno']!='':
                self.glno = prm_obj['glno']
        if 'sal_amount' in prm_obj:
            if prm_obj['sal_amount'] != '':
                self.sal_amount = prm_obj['sal_amount']
            else:
                self.sal_amount = 0.00

    def get_id(self):
        return self.id

    def get_name(self):
        return self.name

    def get_percentage(self):
        return self.percentage

    def get_status(self):
        return self.status

    def get_effective_from(self):
        return self.effective_from

    def get_effective_to(self):
        return self.effective_to

    def get_amount(self):
        return self.amount

    def get_cat_id(self):
        return self.cat_id

    def get_subcat_id(self):
        return self.subcat_id

    def get_glno(self):
        return self.glno

    def get_sal_amount(self):
        return self.sal_amount

class EmpPFStructureRequest:
    id = None
    name = None
    percentage = None
    is_standard = None
    status = None
    amount = None
    cat_id = None
    subcat_id = None
    glno = None
    sal_amount = None

    def __init__(self, prm_obj):
        if 'id' in prm_obj:
            self.id = prm_obj['id']
        if 'name' in prm_obj:
            self.name = prm_obj['name']
        # if 'percentage' in prm_obj:
        #     self.percentage = prm_obj['percentage']
        if 'percentage' in prm_obj:
            if prm_obj['percentage'] != '':
                self.percentage = prm_obj['percentage']
            else:
                self.percentage = 0.00
        if 'status' in prm_obj:
            self.status = prm_obj['status']
        if 'is_standard' in prm_obj:
            self.is_standard = prm_obj['is_standard']
        if 'amount' in prm_obj:
            if prm_obj['amount'] != '':
                self.amount = prm_obj['amount']
            else:
                self.amount = 0.00
        if 'cat_id' in prm_obj:
            self.cat_id = prm_obj['cat_id']
        if 'subcat_id' in prm_obj:
            self.subcat_id = prm_obj['subcat_id']
        if 'glno' in prm_obj:
            if prm_obj['glno'] != '':
                self.glno = prm_obj['glno']
        if 'sal_amount' in prm_obj:
            if prm_obj['sal_amount'] != '':
                self.sal_amount = prm_obj['sal_amount']
            else:
                self.sal_amount = 0.00

    def get_id(self):
        return self.id

    def get_name(self):
        return self.name

    def get_percentage(self):
        return self.percentage

    def get_status(self):
        return self.status

    def get_is_standard(self):
        return self.is_standard

    def get_amount(self):
        return self.amount

    def get_cat_id(self):
        return self.cat_id

    def get_subcat_id(self):
        return self.subcat_id

    def get_glno(self):
        return self.glno

    def get_sal_amount(self):
        return self.sal_amount

class PayrollDeductionRequest:
    id = None
    payrollcomp_id = None
    type = None
    from_date = None
    to_date = None

    def __init__(self, pdr_obj):
        if 'id' in pdr_obj:
            self.id = pdr_obj['id']
        if 'payrollcomp_id' in pdr_obj:
            self.payrollcomp_id = pdr_obj['payrollcomp_id']
        if 'type' in pdr_obj:
            self.type = pdr_obj['type']
        if 'from_date' in pdr_obj:
            self.from_date = pdr_obj['from_date']
        if 'to_date' in pdr_obj:
            self.to_date = pdr_obj['to_date']

    def get_id(self):
        return self.id

    def get_payrollcomp_id(self):
        return self.payrollcomp_id

    def get_type(self):
        return self.type

    def get_from_date(self):
        return self.from_date

    def get_to_date(self):
        return self.to_date


class ComponentTypeRequest:
    id = None
    name = None
    percentage = None
    category = None

    def __init__(self, ctr_obj):
        if 'id' in ctr_obj:
            self.id = ctr_obj['id']
        if 'name' in ctr_obj:
            self.name = ctr_obj['name']
        if 'percentage' in ctr_obj:
            if ctr_obj['percentage'] != '':
                self.percentage = ctr_obj['percentage']
            else:
                self.percentage = 0.00
        elif 'percenatge' not in ctr_obj:
            self.percentage = 0.00

        if 'category' in ctr_obj:
            if ctr_obj['category'] != '':
                self.category = ctr_obj['category']
            else:
                self.category = ''



    def get_id(self):
        return self.id

    def get_name(self):
        return self.name

    def get_percentage(self):
        return self.percentage

    def get_category(self):
        return self.category



class PaycomponentFlagmasterRequest:
    id = None
    map_id = None
    ref_id = None
    ref_type = None

    def __init__(self, pfr_obj):
        if 'id' in pfr_obj:
            self.id = pfr_obj['id']
        if 'map_id' in pfr_obj:
            self.map_id = pfr_obj['map_id']
        if 'ref_id' in pfr_obj:
            self.ref_id = pfr_obj['ref_id']
        if 'ref_type' in pfr_obj:
            self.ref_type = pfr_obj['ref_type']


    def get_id(self):
        return self.id

    def get_map_id(self):
        return self.map_id

    def get_ref_id(self):
        return self.ref_id

    def get_ref_type(self):
        return self.ref_type


class SegmentMasterRequest:
    id = None
    name = None
    component_type = None
    type = None
    percentage = None
    glno = None

    def __init__(self, smr_obj):
        if 'id' in smr_obj:
            self.id = smr_obj['id']
        if 'name' in smr_obj:
            self.name = smr_obj['name']
        if 'component_type' in smr_obj:
            self.component_type = smr_obj['component_type']
        if 'type' in smr_obj:
            self.type = smr_obj['type']
        if 'percentage' in smr_obj:
            if smr_obj['percentage'] != '':
                self.percentage = smr_obj['percentage']
            else:
                self.percentage = 0.00
        if 'glno' in smr_obj:
            if smr_obj['glno'] != '':
                self.glno = smr_obj['glno']


    def get_id(self):
        return self.id

    def get_name(self):
        return self.name

    def get_component_type(self):
        return self.component_type

    def get_type(self):
        return self.type

    def get_percentage(self):
        return self.percentage

    def get_glno(self):
        return self.glno