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
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
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
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
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
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
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
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
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
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)
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
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)
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
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)
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
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)