版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

复制云函数代码,修改对应model和刷新字段以及代码项类id

信息
title代码块
class CalculateCompanyAge(object):
page_size = 500
api = 'hcm.model.list'
update_model = "employee_dynamic_subset_zyzgt"
update_field = "zhiyezige_name"
update_category = 78
get_count_param = {"model": update_model, "page_index": 1, "page_size": 1}
flush_param = {"model": "CommonBasicItem", "filter_dict": {"category_id": update_category}, "page_index": 1,
"page_size": 100000}
extra_property = {
"fields": [
{"field": [update_field],
"key": update_field}
]
}

def execute(self, param):
flush_map = {}
count = CustomerUtil.call_open_api(self.api, self.get_count_param)['count']
flush_list = CustomerUtil.call_open_api(self.api, self.flush_param)['list']
for _item in flush_list:
flush_map[_item.get('name')] = _item.get('id')
for data_item in self.get_data_with_pagination(count):
for data in data_item:
edit_id = data['id']
zhiyezige_name = data.get(self.update_field)
if zhiyezige_name:
if zhiyezige_name in flush_map:
flush_id = flush_map[zhiyezige_name]
l = CustomerUtil.call_open_api('hcm.model.edit',
{"id_": edit_id, "model": self.update_model,
"info": {self.update_field: flush_id}})

def get_data_with_pagination(self, count):
for page_index in range(1, int(count / self.page_size) + 2):
data_list = CustomerUtil.call_open_api("hcm.model.list",
param={"model": self.update_model,
"extra_property": self.extra_property,
"page_index": page_index, "page_size": self.page_size})[
'list']
yield data_list

def test(self, param):
return self.execute(param)