示例#1
0
def set_dict_insert_data(args):
    ret_dict = dict()

    ret_dict.update(
        job_pos_code       = (lambda x: x['job_pos_code']      if x.has_key('job_pos_code')        else None)(args['data']),
        job_pos_name       = (lambda x: x['job_pos_name']      if x.has_key('job_pos_name')        else None)(args['data']),
        job_pos_name2      = (lambda x: x['job_pos_name2']     if x.has_key('job_pos_name2')       else None)(args['data']),
        man_level          = (lambda x: x['man_level']         if x.has_key('man_level')           else None)(args['data']),
        ordinal            = (lambda x: x['ordinal']           if x.has_key('ordinal')             else None)(args['data']),
        note               = (lambda x: x['note']              if x.has_key('note')                else None)(args['data']),
        is_fix             = (lambda x: x['is_fix']            if x.has_key('is_fix')              else None)(args['data']),
        coeff              = (lambda x: x['coeff']             if x.has_key('coeff')               else None)(args['data']),
        begin_date_cal     = (lambda x: x['begin_date_cal']    if x.has_key('begin_date_cal')      else None)(args['data']),
        lock               = (lambda x: x['lock']              if x.has_key('lock')                else None)(args['data']),
        details            = (lambda x: x['details']           if x.has_key('details')             else [])(args['data'])
    )

    if ret_dict.has_key('details') and type(ret_dict['details']) is dict:
        ret_dict['details'].update(
            rec_id            = common.generate_guid(),
            seniority_from    = (lambda x: x['seniority_from']      if x.has_key('seniority_from')        else None)(args['data']),
            seniority_to      = (lambda x: x['seniority_to']        if x.has_key('seniority_to')          else None)(args['data']),
            coefficient       = (lambda x: x['coefficient']         if x.has_key('coefficient')           else None)(args['data']),
            salary            = (lambda x: x['salary']              if x.has_key('salary')                else None)(args['data']),
            created_on        = datetime.datetime.now(),
            created_by        = common.get_user_id(),
            modified_on       = None,
            modified_by       = None
            )


    return ret_dict
示例#2
0
def set_dict_insert_data(args):
    ret_dict = dict()

    ret_dict.update(
        job_pos_code       = (lambda x: x['job_pos_code']      if x.has_key('job_pos_code')        else None)(args['data']),
        job_pos_name       = (lambda x: x['job_pos_name']      if x.has_key('job_pos_name')        else None)(args['data']),
        job_pos_name2      = (lambda x: x['job_pos_name2']     if x.has_key('job_pos_name2')       else None)(args['data']),
        man_level          = (lambda x: x['man_level']         if x.has_key('man_level')           else None)(args['data']),
        ordinal            = (lambda x: x['ordinal']           if x.has_key('ordinal')             else None)(args['data']),
        note               = (lambda x: x['note']              if x.has_key('note')                else None)(args['data']),
        is_fix             = (lambda x: x['is_fix']            if x.has_key('is_fix')              else None)(args['data']),
        coeff              = (lambda x: x['coeff']             if x.has_key('coeff')               else None)(args['data']),
        begin_date_cal     = (lambda x: x['begin_date_cal']    if x.has_key('begin_date_cal')      else None)(args['data']),
        lock               = (lambda x: x['lock']              if x.has_key('lock')                else None)(args['data']),
        details            = (lambda x: x['details']           if x.has_key('details')             else [])(args['data'])
    )

    if ret_dict.has_key('details') and type(ret_dict['details']) is dict:
        ret_dict['details'].update(
            rec_id            = common.generate_guid(),
            seniority_from    = (lambda x: x['seniority_from']      if x.has_key('seniority_from')        else None)(args['data']),
            seniority_to      = (lambda x: x['seniority_to']        if x.has_key('seniority_to')          else None)(args['data']),
            coefficient       = (lambda x: x['coefficient']         if x.has_key('coefficient')           else None)(args['data']),
            salary            = (lambda x: x['salary']              if x.has_key('salary')                else None)(args['data']),
            created_on        = datetime.datetime.now(),
            created_by        = common.get_user_id(),
            modified_on       = None,
            modified_by       = None
            )


    return ret_dict
示例#3
0
def set_dict_detail_insert_data(args):
    ret_dict = dict()
    ret_dict.update(
        rec_id=common.generate_guid(),
        rank_code=(lambda x: x['rank_code']
                   if x.has_key('rank_code') else None)(args),
        change_object=(lambda x: x['change_object']
                       if x.has_key('change_object') else None)(args),
        object_level=(lambda x: x['object_level']
                      if x.has_key('object_level') else None)(args),
        object_code=(lambda x: x['object_code']
                     if x.has_key('object_code') else None)(args),
        object_name=(lambda x: x['object_name']
                     if x.has_key('object_name') else None)(args),
        priority_no=(lambda x: x['priority_no']
                     if x.has_key('priority_no') else None)(args),
        total_from=(lambda x: x['total_from']
                    if x.has_key('total_from') else None)(args),
        total_to=(lambda x: x['total_to']
                  if x.has_key('total_to') else None)(args),
        created_on=datetime.datetime.now(),
        created_by=common.get_user_id(),
        modified_on=None,
        modified_by=None)
    return ret_dict
示例#4
0
def set_dict_insert_factor_appraisal(args):
    ret_dict = dict()
    ret_dict.update(rec_id=common.generate_guid(),
                    jow_w_code=(lambda x: x['jow_w_code']
                                if x.has_key('jow_w_code') else None)(args),
                    factor_code=(lambda x: x['factor_code']
                                 if x.has_key('factor_code') else None)(args),
                    weight=(lambda x: x['weight']
                            if x.has_key('weight') else None)(args),
                    created_on=datetime.datetime.now(),
                    created_by=common.get_user_id(),
                    modified_on=None,
                    modified_by='')
    return ret_dict
示例#5
0
def set_dict_detail_insert_data(args):
    ret_dict = dict()
    ret_dict.update(
            rec_id            = common.generate_guid(),
            seniority_from    = (lambda x: x['seniority_from']      if x.has_key('seniority_from')        else None)(args),
            seniority_to      = (lambda x: x['seniority_to']        if x.has_key('seniority_to')          else None)(args),
            coefficient       = (lambda x: x['coefficient']         if x.has_key('coefficient')           else None)(args),
            salary            = (lambda x: x['salary']              if x.has_key('salary')                else None)(args),
            created_on        = datetime.datetime.now(),
            created_by        = common.get_user_id(),
            modified_on       = None,
            modified_by       = None
            )
    return ret_dict
示例#6
0
def set_dict_detail_insert_data(args):
    ret_dict = dict()
    ret_dict.update(
            rec_id            = common.generate_guid(),
            seniority_from    = (lambda x: x['seniority_from']      if x.has_key('seniority_from')        else None)(args),
            seniority_to      = (lambda x: x['seniority_to']        if x.has_key('seniority_to')          else None)(args),
            coefficient       = (lambda x: x['coefficient']         if x.has_key('coefficient')           else None)(args),
            salary            = (lambda x: x['salary']              if x.has_key('salary')                else None)(args),
            created_on        = datetime.datetime.now(),
            created_by        = common.get_user_id(),
            modified_on       = None,
            modified_by       = ''
            )
    return ret_dict
示例#7
0
def set_dict_detail_insert_data(args, rank_code):
    ret_dict = dict()
    change_object = []
    object = {}
    object_name = ""
    column_name = ""
    if args.has_key('change_object') and args.has_key('object_code'):
        change_object = TMSYS_ConfigChangeObjectPriority.get_list({"data":{"name":"TMChangeObjectRank"}})
        for x in change_object:
            if x['change_object'] == args['change_object']:
                object = x
                break
        __collection = getattr(models, object['table_name'])()
        if object['change_object'] == 1:
            column_name = "gjw_code"
            ret = __collection.aggregate().project(gjw_code = 1, gjw_name = 1)
            object_name = ret.match(column_name + " == {0}", args['object_code']).get_item()['gjw_name']
        elif object['change_object'] == 2:
            column_name = "job_w_code"
            ret = __collection.aggregate().project(job_w_code = 1, job_w_name = 1)
            object_name = ret.match(column_name + " == {0}", args['object_code']).get_item()['job_w_name']
        elif object['change_object'] == 3:
            column_name = "job_pos_code"
            ret = __collection.aggregate().project(job_pos_code = 1, job_pos_name = 1)
            object_name = ret.match(column_name + " == {0}", args['object_code']).get_item()['job_pos_name']
        elif object['change_object'] == 4:
            column_name = "emp_type_code"
            ret = __collection.aggregate().project(emp_type_code = 1, emp_type_name = 1)
            object_name = ret.match(column_name + " == {0}", args['object_code']).get_item()['emp_type_name']
    else:
        return None

    ret_dict.update(
            rec_id            = common.generate_guid(),
            rank_code         = rank_code,
            change_object     = (lambda x: x['change_object']  if x.has_key('change_object')    else None)(args),
            object_level      = None,
            object_code       = (lambda x: x['object_code']    if x.has_key('object_code')      else None)(args),
            object_name       = object_name,
            priority_no       = object['priority_no'],
            total_from        = (lambda x: x['total_from']     if x.has_key('total_from')       else None)(args),
            total_to          = (lambda x: x['total_to']       if x.has_key('total_to')         else None)(args),
            note              = (lambda x: x['note']           if x.has_key('note')             else None)(args),
            created_on        = datetime.datetime.now(),
            created_by        = common.get_user_id(),
            modified_on       = "",
            modified_by       = ""
            )
    return ret_dict
示例#8
0
def set_dict_detail_insert_data(args, rank_code):
    ret_dict = dict()
    change_object = []
    object = {}
    object_name = ""
    column_name = ""
    if args.has_key('change_object') and args.has_key('object_code'):
        change_object = TMSYS_ConfigChangeObjectPriority.get_list({"data":{"name":"TMChangeObjectRank"}})
        for x in change_object:
            if x['change_object'] == args['change_object']:
                object = x
                break
        __collection = getattr(models, object['table_name'])()
        if object['change_object'] == 1:
            column_name = "gjw_code"
            ret = __collection.aggregate().project(gjw_code = 1, gjw_name = 1)
            object_name = ret.match(column_name + " == {0}", args['object_code']).get_item()['gjw_name']
        elif object['change_object'] == 2:
            column_name = "job_w_code"
            ret = __collection.aggregate().project(job_w_code = 1, job_w_name = 1)
            object_name = ret.match(column_name + " == {0}", args['object_code']).get_item()['job_w_name']
        elif object['change_object'] == 3:
            column_name = "job_pos_code"
            ret = __collection.aggregate().project(job_pos_code = 1, job_pos_name = 1)
            object_name = ret.match(column_name + " == {0}", args['object_code']).get_item()['job_pos_name']
        elif object['change_object'] == 4:
            column_name = "emp_type_code"
            ret = __collection.aggregate().project(emp_type_code = 1, emp_type_name = 1)
            object_name = ret.match(column_name + " == {0}", args['object_code']).get_item()['emp_type_name']
    else:
        return None

    ret_dict.update(
            rec_id            = common.generate_guid(),
            rank_code         = rank_code,
            change_object     = (lambda x: x['change_object']  if x.has_key('change_object')    else None)(args),
            object_level      = None,
            object_code       = (lambda x: x['object_code']    if x.has_key('object_code')      else None)(args),
            object_name       = object_name,
            priority_no       = object['priority_no'],
            total_from        = (lambda x: x['total_from']     if x.has_key('total_from')       else None)(args),
            total_to          = (lambda x: x['total_to']       if x.has_key('total_to')         else None)(args),
            note              = (lambda x: x['note']           if x.has_key('note')             else None)(args),
            created_on        = datetime.datetime.now(),
            created_by        = common.get_user_id(),
            modified_on       = "",
            modified_by       = ""
            )
    return ret_dict
示例#9
0
def set_dict_insert_task(args):
    ret_dict = dict()
    ret_dict.update(rec_id=common.generate_guid(),
                    task_name=(lambda x: x['task_name']
                               if x.has_key('task_name') else None)(args),
                    weight=(lambda x: x['weight']
                            if x.has_key('weight') else None)(args),
                    description=(lambda x: x['description']
                                 if x.has_key('description') else None)(args),
                    ordinal=(lambda x: x['ordinal']
                             if x.has_key('ordinal') else None)(args),
                    created_on=datetime.datetime.now(),
                    created_by=common.get_user_id(),
                    modified_on=None,
                    modified_by='')
    return ret_dict
示例#10
0
def generate_list_approve_by_max_approve_level(args):
    #số cấp duyệt đã có
    count_approve_level = common.get_collection(
        "LMS_SetupProcessApproveLevel").find({
            "process_id":
            int(args['data']['process_id'])
        }).count()

    if args['data'] != None:
        max_approve_level = args['data']['max_approve_level']
        if max_approve_level == None:
            return None
        else:
            if count_approve_level < max_approve_level:  #tăng số cấp duyệt
                i = count_approve_level + 1
                while (i <= max_approve_level):
                    print(i)
                    args['data']['rec_id'] = common.generate_guid()
                    args['data']['process_id'] = int(
                        args['data']['process_id'])
                    args['data']['approve_level'] = i
                    args['data']['approver_value'] = None
                    args['data']['email_approve_code'] = None
                    args['data']['email_approve_to'] = None
                    args['data']['email_approve_cc'] = None
                    args['data']['email_reject_code'] = None
                    args['data']['email_reject_to'] = None
                    args['data']['email_reject_cc'] = None
                    args['data']['default_approver_code'] = None
                    args['data']['not_receive_email'] = False
                    args['data'][
                        'created_on'] = None  #str(datetime.datetime.now())
                    args['data'][
                        'created_by'] = "admin"  #models.models.auth_user_info()["login_account"]
                    args['data']['modified_on'] = None
                    args['data']['modified_by'] = None
                    ret = qmongo.models.LMS_SetupProcessApproveLevel.insert(
                        args['data'])
                    i += 1
                return ret
            elif count_approve_level > max_approve_level:  #giảm số cấp duyệt
                ret = qmongo.models.LMS_SetupProcessApproveLevel.delete(
                    "approve_level > {0} and process_id == {1}",
                    max_approve_level, int(args['data']['process_id']))
                return ret
    return None
示例#11
0
def dict_insert_performance_standanrd(args):
    ret = dict()
    ret.update(
        rec_id=common.generate_guid(),
        kpi_code=(lambda x: x['kpi_code']
                  if x.has_key('kpi_code') else None)(args),
        kpi_name=(lambda x: x['kpi_name']
                  if x.has_key('kpi_name') else None)(args),
        unit=(lambda x: x['unit'] if x.has_key('unit') else None)(args),
        description=(lambda x: x['description']
                     if x.has_key('description') else None)(args),
        cycle=(lambda x: x['cycle'] if x.has_key('cycle') else None)(args),
        weight=(lambda x: x['weight'] if x.has_key('weight') else None)(args),
        #standard_mark = (lambda x: x['standard_mark']   if x.has_key('standard_mark') else None)(args),
        score_from=(lambda x: x['score_from']
                    if x.has_key('score_from') else None)(args),
        score_to=(lambda x: x['score_to']
                  if x.has_key('score_to') else None)(args),
        note=(lambda x: x['note'] if x.has_key('note') else None)(args),
        created_on=datetime.datetime.now(),
        created_by=common.get_user_id(),
        modified_on="",
        modified_by="")
    return ret
示例#12
0
def begin(col_name, ses, api_path, dat, ord = 1):
    try:
        lock.acquire()
        global __id
        global __col_name
        __id = common.generate_guid()
        __col_name = col_name
        check_transactions()
        ret = models.tmp_transactions().insert(
            dict(
                transaction_id = id,
                collection_name = __col_name,
                session = ses,
                path = api_path,
                ordinal = ord,
                data = dat
                )
            )
        lock.release()
        return ret
    except Exception as ex:
        logger.debug(ex)
        lock.release()
        raise(ex)
示例#13
0
def generate_list_approve_by_max_approve_level(args):
    #số cấp duyệt đã có
    count_approve_level = common.get_collection(
        "TM_SetupProcessApproveLevel").find({
            "process_id":
            int(args['data']['process_id'])
        }).count()

    if args['data'] != None:
        max_approve_level = args['data']['max_approve_level']
        if max_approve_level == None:
            return None
        else:
            if count_approve_level < max_approve_level:  #tăng số cấp duyệt
                i = count_approve_level + 1
                while (i <= max_approve_level):
                    print(i)
                    args['data']['rec_id'] = common.generate_guid()
                    args['data']['process_id'] = int(
                        args['data']['process_id'])
                    args['data']['approve_level'] = i
                    args['data']['approver_value'] = None

                    args['data']['email_approve_code'] = None
                    args['data']['email_approve_to'] = None
                    args['data']['email_approve_cc'] = None
                    args['data']['email_approve_more'] = None

                    args['data']['email_reject_code'] = None
                    args['data']['email_reject_to'] = None
                    args['data']['email_reject_cc'] = None
                    args['data']['email_reject_more'] = None

                    args['data']['email_approve_cancel_code'] = None
                    args['data']['email_approve_cancel_to'] = None
                    args['data']['email_approve_cancel_cc'] = None
                    args['data']['email_approve_cancel_more'] = None

                    args['data']['default_approver_code'] = None
                    args['data']['not_receive_email'] = False
                    args['data'][
                        'created_on'] = None  #str(datetime.datetime.now())
                    args['data'][
                        'created_by'] = "admin"  #models.auth_user_info()["login_account"]
                    args['data']['modified_on'] = None
                    args['data']['modified_by'] = None
                    ret = qmongo.models.TM_SetupProcessApproveLevel.insert(
                        args['data'])
                    i += 1
                return ret
            elif count_approve_level > max_approve_level:  #giảm số cấp duyệt
                ret = qmongo.models.TM_SetupProcessApproveLevel.delete(
                    "approve_level > {0} and process_id == {1}",
                    max_approve_level, int(args['data']['process_id']))
                update_data = {}
                for x in range(count_approve_level - max_approve_level):
                    update_data.update({
                        "appover_code." + str(max_approve_level + range(count_approve_level - max_approve_level).index(x)):
                        None
                    })

                common.get_collection(
                    'TM_SetupProcessApproverEmp').update_many(
                        {'process_id': args['data']['process_id']},
                        {'$set': update_data})
                common.get_collection(
                    'TM_SetupProcessApproverDept').update_many(
                        {'process_id': args['data']['process_id']},
                        {'$set': update_data})
                return ret
    return None
示例#14
0
def insert_factor_appraisal(args):
    try:
        #lock.acquire()
        ret = {}
        rs = {"upserted": 0, "error": None}
        if args['data'] != None:
            if args['data'].has_key('factor_code'):
                if (args['data'].has_key('job_w_code')):
                    collection = common.get_collection('HCSLS_JobWorking')
                    collection.update_many(
                        {
                            "factor_appraisal": {
                                "$elemMatch": {
                                    "factor_code": args['data']['factor_code']
                                }
                            }
                        }, {"$set": {
                            'factor_appraisal': [],
                        }})
                    if args['data']['job_w_code'] != None and len(
                            args['data']['job_w_code']) > 0:
                        for x in args['data']['job_w_code']:
                            try:
                                param = {
                                    "job_w_code": str(x).format(),
                                    "factor_code": args['data']['factor_code'],
                                    "rec_id": common.generate_guid(),
                                    "weight": None,
                                    "created_on": datetime.datetime.now(),
                                    "created_by": common.get_user_id(),
                                    "modified_on": None,
                                    "modified_by": ''
                                }
                                factor = param

                                ret = JobWorking.insert_evaluation_factor(
                                    {"data": {
                                        "job_w_code": str(x).format()
                                    }}, factor)
                                if ret['updatedExisting'] and ret[
                                        'nModified'] > 0:
                                    rs['upserted'] += ret['nModified']
                            except Exception as ex:
                                raise ex
                        #lock.release()
                        return rs
                else:
                    return dict(
                        error=dict(fields=['job_w_code'], code="missing"))
            else:
                #lock.release()
                return dict(error=dict(fields=['factor_code'], code="missing"))

            #lock.release()
            return ret

        #lock.release()
        return dict(error="request parameter is not exist")
    except Exception as ex:
        #lock.release()
        raise (ex)
示例#15
0
def set_dict_insert_data(args):
    ret_dict = dict()

    ret_dict.update(
        photo_id=common.generate_guid(),
        employee_code=(lambda x: x['employee_code']
                       if x.has_key('employee_code') else None)(args),
        last_name=(lambda x: x['last_name']
                   if x.has_key('last_name') else None)(args),
        first_name=(lambda x: x['first_name']
                    if x.has_key('first_name') else None)(args),
        extra_name=(lambda x: x['extra_name']
                    if x.has_key('extra_name') else None)(args),
        gender=(lambda x: x['gender'] if x.has_key('gender') else None)(args),
        birthday=(lambda x: x['birthday']
                  if x.has_key('birthday') else None)(args),
        b_province_code=(lambda x: x['b_province_code']
                         if x.has_key('b_province_code') else None)(args),
        nation_code=(lambda x: x['nation_code']
                     if x.has_key('nation_code') else None)(args),
        ethnic_code=(lambda x: x['ethnic_code']
                     if x.has_key('ethnic_code') else None)(args),
        religion_code=(lambda x: x['religion_code']
                       if x.has_key('religion_code') else None)(args),
        culture_id=(lambda x: x['culture_id']
                    if x.has_key('culture_id') else None)(args),
        is_retrain=(lambda x: x['is_retrain']
                    if x.has_key('is_retrain') else None)(args),
        train_level_code=(lambda x: x['train_level_code']
                          if x.has_key('train_level_code') else None)(args),
        marital_code=(lambda x: x['marital_code']
                      if x.has_key('marital_code') else None)(args),
        id_card_no=(lambda x: x['id_card_no']
                    if x.has_key('id_card_no') else None)(args),
        issued_date=(lambda x: x['issued_date']
                     if x.has_key('issued_date') else None)(args),
        issued_place_code=(lambda x: x['issued_place_code']
                           if x.has_key('issued_place_code') else None)(args),
        mobile=(lambda x: x['mobile'] if x.has_key('mobile') else None)(args),
        p_phone=(lambda x: x['p_phone']
                 if x.has_key('p_phone') else None)(args),
        email=(lambda x: x['email'] if x.has_key('email') else None)(args),
        personal_email=(lambda x: x['personal_email']
                        if x.has_key('personal_email') else None)(args),
        document_no=(lambda x: x['document_no']
                     if x.has_key('document_no') else None)(args),
        join_date=(lambda x: x['join_date']
                   if x.has_key('join_date') else None)(args),
        official_date=(lambda x: x['official_date']
                       if x.has_key('official_date') else None)(args),
        career_date=(lambda x: x['career_date']
                     if x.has_key('career_date') else None)(args),
        personnel_date=(lambda x: x['personnel_date']
                        if x.has_key('personnel_date') else None)(args),
        emp_type_code=(lambda x: x['emp_type_code']
                       if x.has_key('emp_type_code') else None)(args),
        labour_type=(lambda x: x['labour_type']
                     if x.has_key('labour_type') else None)(args),
        department_code=(lambda x: x['department_code']
                         if x.has_key('department_code') else None)(args),
        job_pos_code=(lambda x: x['job_pos_code']
                      if x.has_key('job_pos_code') else None)(args),
        job_pos_date=(lambda x: x['job_pos_date']
                      if x.has_key('job_pos_date') else None)(args),
        job_w_code=(lambda x: x['job_w_code']
                    if x.has_key('job_w_code') else None)(args),
        job_w_date=(lambda x: x['job_w_date']
                    if x.has_key('job_w_date') else None)(args),
        profession_code=(lambda x: x['profession_code']
                         if x.has_key('profession_code') else None)(args),
        level_management=(lambda x: x['level_management']
                          if x.has_key('level_management') else None)(args),
        is_cbcc=(lambda x: x['is_cbcc']
                 if x.has_key('is_cbcc') else None)(args),
        is_expert_recruit=(lambda x: x['is_expert_recruit']
                           if x.has_key('is_expert_recruit') else None)(args),
        is_expert_train=(lambda x: x['is_expert_train']
                         if x.has_key('is_expert_train') else None)(args),
        manager_code=(lambda x: x['manager_code']
                      if x.has_key('manager_code') else None)(args),
        manager_sub_code=(lambda x: x['manager_sub_code']
                          if x.has_key('manager_sub_code') else None)(args),
        user_id=(lambda x: x['user_id']
                 if x.has_key('user_id') else None)(args),
        job_pos_hold_code=(lambda x: x['job_pos_hold_code']
                           if x.has_key('job_pos_hold_code') else None)(args),
        job_w_hold_code=(lambda x: x['job_w_hold_code']
                         if x.has_key('job_w_hold_code') else None)(args),
        department_code_hold=(
            lambda x: x['department_code_hold']
            if x.has_key('department_code_hold') else None)(args),
        job_pos_hold_from_date=(
            lambda x: x['job_pos_hold_from_date']
            if x.has_key('job_pos_hold_from_date') else None)(args),
        job_pos_hold_to_date=(
            lambda x: x['job_pos_hold_to_date']
            if x.has_key('job_pos_hold_to_date') else None)(args),
        end_date=(lambda x: x['end_date']
                  if x.has_key('end_date') else None)(args),
        retire_ref_no=(lambda x: x['retire_ref_no']
                       if x.has_key('retire_ref_no') else None)(args),
        signed_date=(lambda x: x['signed_date']
                     if x.has_key('signed_date') else None)(args),
        signed_person=(lambda x: x['signed_person']
                       if x.has_key('signed_person') else None)(args),
        active=(lambda x: x['active'] if x.has_key('active') else None)(args),
        note=(lambda x: x['note'] if x.has_key('note') else None)(args),
        p_address=(lambda x: x['p_address']
                   if x.has_key('p_address') else None)(args),
        p_province_code=(lambda x: x['p_province_code']
                         if x.has_key('p_province_code') else None)(args),
        p_district_code=(lambda x: x['p_district_code']
                         if x.has_key('p_district_code') else None)(args),
        p_ward_code=(lambda x: x['p_ward_code']
                     if x.has_key('p_ward_code') else None)(args),
        p_hamlet_code=(lambda x: x['p_hamlet_code']
                       if x.has_key('p_hamlet_code') else None)(args),
        t_address=(lambda x: x['t_address']
                   if x.has_key('t_address') else None)(args),
        t_province_code=(lambda x: x['t_province_code']
                         if x.has_key('t_province_code') else None)(args),
        t_district_code=(lambda x: x['t_district_code']
                         if x.has_key('t_district_code') else None)(args),
        t_ward_code=(lambda x: x['t_ward_code']
                     if x.has_key('t_ward_code') else None)(args),
        t_hamlet_code=(lambda x: x['t_hamlet_code']
                       if x.has_key('t_hamlet_code') else None)(args),
        foreigner=(lambda x: x['foreigner']
                   if x.has_key('foreigner') else None)(args),
        vn_foreigner=(lambda x: x['vn_foreigner']
                      if x.has_key('vn_foreigner') else None)(args),
        is_not_reside=(lambda x: x['is_not_reside']
                       if x.has_key('is_not_reside') else None)(args),
        fo_working=(lambda x: x['fo_working']
                    if x.has_key('fo_working') else None)(args),
        fo_permiss=(lambda x: x['fo_permiss']
                    if x.has_key('fo_permiss') else None)(args),
        fo_begin_date=(lambda x: x['fo_begin_date']
                       if x.has_key('fo_begin_date') else None)(args),
        fo_end_date=(lambda x: x['fo_end_date']
                     if x.has_key('fo_end_date') else None)(args))

    return ret_dict
示例#16
0
def insert_job_working_kpi(job_w_code, kpi):
    try:
        if(len(job_w_code)) > 0:
            exist = HCSLS_VW_JobWorkingKPI().aggregate().project(
                rec_id = 1,
                kpi_code = 1,
                job_w_code = 1,
                job_w_name = 1,
                kpi_name = 1,
                unit = 1,
                description = 1,
                cycle = 1,
                weight = 1,
                standard_mark = 1,
                ordinal = 1,
                note = 1,
                created_on = 1,
                created_by = 1,
                modified_on = 1,
                modified_by = 1
                ).match("kpi_code == @kpi_code", kpi_code = kpi['kpi_code']).get_list()
            list_insert = []
            for x in job_w_code:
                if x not in map(lambda d: d['job_w_code'], exist):
                    list_insert.append({
                        "rec_id":common.generate_guid(),
                        "job_w_code": x,
                        "kpi_code":kpi.get('kpi_code', None),
                        "kpi_name":kpi.get('kpi_name', None),
                        "unit":kpi.get('unit_code', None),
                        "description":kpi.get('description', None),
                        "cycle":kpi.get('cycle', None),
                        "weight":kpi.get('weight', None),
                        "standard_mark":kpi.get('standard_mark', None),
                        "ordinal":kpi.get('ordinal', None),
                        "note":kpi.get('note', None),
                        "created_on":datetime.datetime.now(),
                        "created_by":common.get_user_id()
                        })
                else:
                    find = filter(lambda y: y['job_w_code'] == x, exist)[0]
                    list_insert.append(find)

            ret = {}
            for x in exist:
                ret = common.get_collection('HCSLS_JobWorking').update(
                        {
                            "job_w_code": x['job_w_code']
                        },
                        {
                            '$pull':{"kpi" :{ "rec_id": x['rec_id']}}
                        }, 
                        True
                        )

            if len(list_insert) > 0:
                for x in list_insert:
                    code = x['job_w_code']
                    del x['job_w_code']
                    ret = common.get_collection('HCSLS_JobWorking').update(
                        { "job_w_code": code },
                        {
                        '$push': {
                            "kpi": x
                            }
                        }
                        )

            return ret

    except Exception as ex:
        raise(ex)
示例#17
0
def set_dict_insert_data(args):
    ret_dict = dict()

    ret_dict.update(
        photo_id                  = common.generate_guid(),
        employee_code             = (lambda x: x['employee_code']             if x.has_key('employee_code')               else None)(args),
        last_name                 = (lambda x: x['last_name']                 if x.has_key('last_name')                   else None)(args),
        first_name                = (lambda x: x['first_name']                if x.has_key('first_name')                  else None)(args),
        extra_name                = (lambda x: x['extra_name']                if x.has_key('extra_name')                  else None)(args),
        gender                    = (lambda x: x['gender']                    if x.has_key('gender')                      else None)(args),
        birthday                  = (lambda x: x['birthday']                  if x.has_key('birthday')                    else None)(args),
        b_province_code           = (lambda x: x['b_province_code']           if x.has_key('b_province_code')             else None)(args),
        nation_code               = (lambda x: x['nation_code']               if x.has_key('nation_code')                 else None)(args),
        ethnic_code               = (lambda x: x['ethnic_code']               if x.has_key('ethnic_code')                 else None)(args),
        religion_code             = (lambda x: x['religion_code']             if x.has_key('religion_code')               else None)(args),
        culture_id                = (lambda x: x['culture_id']                if x.has_key('culture_id')                  else None)(args),
        is_retrain                = (lambda x: x['is_retrain']                if x.has_key('is_retrain')                  else None)(args),
        train_level_code          = (lambda x: x['train_level_code']          if x.has_key('train_level_code')            else None)(args),
        marital_code              = (lambda x: x['marital_code']              if x.has_key('marital_code')                else None)(args),
        id_card_no                = (lambda x: x['id_card_no']                if x.has_key('id_card_no')                  else None)(args),
        issued_date               = (lambda x: x['issued_date']               if x.has_key('issued_date')                 else None)(args),
        issued_place_code         = (lambda x: x['issued_place_code']         if x.has_key('issued_place_code')           else None)(args),
        mobile                    = (lambda x: x['mobile']                    if x.has_key('mobile')                      else None)(args),
        p_phone                   = (lambda x: x['p_phone']                   if x.has_key('p_phone')                     else None)(args),
        email                     = (lambda x: x['email']                     if x.has_key('email')                       else None)(args),
        personal_email            = (lambda x: x['personal_email']            if x.has_key('personal_email')              else None)(args),
        document_no               = (lambda x: x['document_no']               if x.has_key('document_no')                 else None)(args),
        join_date                 = (lambda x: x['join_date']                 if x.has_key('join_date')                   else None)(args),
        official_date             = (lambda x: x['official_date']             if x.has_key('official_date')               else None)(args),
        career_date               = (lambda x: x['career_date']               if x.has_key('career_date')                 else None)(args),
        personnel_date            = (lambda x: x['personnel_date']            if x.has_key('personnel_date')              else None)(args),
        emp_type_code             = (lambda x: x['emp_type_code']             if x.has_key('emp_type_code')               else None)(args),
        labour_type               = (lambda x: x['labour_type']               if x.has_key('labour_type')                 else None)(args),
        department_code           = (lambda x: x['department_code']           if x.has_key('department_code')             else None)(args),
        job_pos_code              = (lambda x: x['job_pos_code']              if x.has_key('job_pos_code')                else None)(args),
        job_pos_date              = (lambda x: x['job_pos_date']              if x.has_key('job_pos_date')                else None)(args),
        job_w_code                = (lambda x: x['job_w_code']                if x.has_key('job_w_code')                  else None)(args),
        job_w_date                = (lambda x: x['job_w_date']                if x.has_key('job_w_date')                  else None)(args),
        profession_code           = (lambda x: x['profession_code']           if x.has_key('profession_code')             else None)(args),
        level_management          = (lambda x: x['level_management']          if x.has_key('level_management')            else None)(args),
        is_cbcc                   = (lambda x: x['is_cbcc']                   if x.has_key('is_cbcc')                     else None)(args),
        is_expert_recruit         = (lambda x: x['is_expert_recruit']         if x.has_key('is_expert_recruit')           else None)(args),
        is_expert_train           = (lambda x: x['is_expert_train']           if x.has_key('is_expert_train')             else None)(args),
        manager_code              = (lambda x: x['manager_code']              if x.has_key('manager_code')                else None)(args),
        manager_sub_code          = (lambda x: x['manager_sub_code']          if x.has_key('manager_sub_code')            else None)(args),
        user_id                   = (lambda x: x['user_id']                   if x.has_key('user_id')                     else None)(args),
        job_pos_hold_code         = (lambda x: x['job_pos_hold_code']         if x.has_key('job_pos_hold_code')           else None)(args),
        job_w_hold_code           = (lambda x: x['job_w_hold_code']           if x.has_key('job_w_hold_code')             else None)(args),
        department_code_hold      = (lambda x: x['department_code_hold']      if x.has_key('department_code_hold')        else None)(args),
        job_pos_hold_from_date    = (lambda x: x['job_pos_hold_from_date']    if x.has_key('job_pos_hold_from_date')      else None)(args),
        job_pos_hold_to_date      = (lambda x: x['job_pos_hold_to_date']      if x.has_key('job_pos_hold_to_date')        else None)(args),
        end_date                  = (lambda x: x['end_date']                  if x.has_key('end_date')                    else None)(args),
        retire_ref_no             = (lambda x: x['retire_ref_no']             if x.has_key('retire_ref_no')               else None)(args),
        signed_date               = (lambda x: x['signed_date']               if x.has_key('signed_date')                 else None)(args),
        signed_person             = (lambda x: x['signed_person']             if x.has_key('signed_person')               else None)(args),
        active                    = (lambda x: x['active']                    if x.has_key('active')                      else None)(args),
        note                      = (lambda x: x['note']                      if x.has_key('note')                        else None)(args),
        p_address                 = (lambda x: x['p_address']                 if x.has_key('p_address')                   else None)(args),
        p_province_code           = (lambda x: x['p_province_code']           if x.has_key('p_province_code')             else None)(args),
        p_district_code           = (lambda x: x['p_district_code']           if x.has_key('p_district_code')             else None)(args),
        p_ward_code               = (lambda x: x['p_ward_code']               if x.has_key('p_ward_code')                 else None)(args),
        p_hamlet_code             = (lambda x: x['p_hamlet_code']             if x.has_key('p_hamlet_code')               else None)(args),
        t_address                 = (lambda x: x['t_address']                 if x.has_key('t_address')                   else None)(args),
        t_province_code           = (lambda x: x['t_province_code']           if x.has_key('t_province_code')             else None)(args),
        t_district_code           = (lambda x: x['t_district_code']           if x.has_key('t_district_code')             else None)(args),
        t_ward_code               = (lambda x: x['t_ward_code']               if x.has_key('t_ward_code')                 else None)(args),
        t_hamlet_code             = (lambda x: x['t_hamlet_code']             if x.has_key('t_hamlet_code')               else None)(args),
        foreigner                 = (lambda x: x['foreigner']                 if x.has_key('foreigner')                   else None)(args),
        vn_foreigner              = (lambda x: x['vn_foreigner']              if x.has_key('vn_foreigner')                else None)(args),
        is_not_reside             = (lambda x: x['is_not_reside']             if x.has_key('is_not_reside')               else None)(args),
        fo_working                = (lambda x: x['fo_working']                if x.has_key('fo_working')                  else None)(args),
        fo_permiss                = (lambda x: x['fo_permiss']                if x.has_key('fo_permiss')                  else None)(args),
        fo_begin_date             = (lambda x: x['fo_begin_date']             if x.has_key('fo_begin_date')               else None)(args),
        fo_end_date               = (lambda x: x['fo_end_date']               if x.has_key('fo_end_date')                 else None)(args)
    )

    return ret_dict
示例#18
0
def insert_job_working_competency(job_w_code, comp):
    import qmongo
    try:
        if (len(job_w_code)) > 0:
            exist = qmongo.views.HCSLS_VW_JobWorkingCompetency.aggregate.project(
                rec_id=1,
                job_w_code=1,
                grade=1,
                com_code=1,
                com_level_code=1,
                weight=1,
                ordinal=1,
                note=1,
                created_on=1,
                created_by=1,
                modified_on=1,
                modified_by=1).match("com_code == @com_code",
                                     com_code=comp['com_code']).get_list()
            list_insert = []
            for x in job_w_code:
                if x not in map(lambda d: d['job_w_code'], exist):
                    list_insert.append({
                        "rec_id":
                        common.generate_guid(),
                        "job_w_code":
                        x,
                        "grade":
                        comp.get("grade", None),
                        "com_code":
                        comp.get("com_code", None),
                        "com_level_code":
                        comp.get("com_level_code", None),
                        "weight":
                        comp.get("weight", None),
                        "ordinal":
                        comp.get("ordinal", None),
                        "note":
                        comp.get("note", None),
                        "created_on":
                        datetime.datetime.now(),
                        "created_by":
                        common.get_user_id()
                    })
                else:
                    find = filter(lambda y: y['job_w_code'] == x, exist)[0]
                    list_insert.append(find)

            ret = {}
            for x in exist:
                ret = common.get_collection('HCSLS_JobWorking').update(
                    {"job_w_code": x['job_w_code']},
                    {'$pull': {
                        "competency": {
                            "rec_id": x['rec_id']
                        }
                    }}, True)

            if len(list_insert) > 0:
                for x in list_insert:
                    code = x['job_w_code']
                    del x['job_w_code']
                    ret = common.get_collection('HCSLS_JobWorking').update(
                        {"job_w_code": code}, {'$push': {
                            "competency": x
                        }})

            return ret

    except Exception as ex:
        raise (ex)