...
配置完成时效果图:
打开配置好的云函数,复制以下代码并根据实际情况进行修改(修改项为☆☆☆; ★★★禁止修改,其他的有代码能力的可以修改,否则勿动!!!)根据实际情况进行修改(修改项为☆☆☆; 禁止修改项为★★★,其他的有代码能力的可以修改,否则勿动!!!)
代码块 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
class UniquenessChecker(DynamicCheckBase): """ 云函数校验器示例,在对象新增,修改时会校验 """ def check(self, info): # ☆☆☆model:为校验的模型名,可根据实际情况修改☆☆☆ model = "EmployeeEducation" employee_id = info['employee_id'] info_list = CustomerUtil.call_open_api('hcm.model.list', { "model": model, "filter_dict": { "employee_id": employee_id }, "page_index": 1, "page_size": 200, "extra_property": {"sorts": []} })['list'] # ☆☆☆校验项,根据实际情况修改(请配置校验字段的key以及该字段值为“是”和“否”的实际存储值)☆☆☆ # ☆☆☆以下示例为校验多项字段的配置,如只校验单一字段,请去掉多余字段☆☆☆ check_item_dict_list = [ { "key": "is_highest", # 是否最高学历的key "yes_flag": 1, # 是否最高学历为“是” "no_flag": 0 # 是否最高学历“否” }, { "key": "is_highest_deg", # 是否最高学位的key "yes_flag": "1", # 是否最高学位为“是” "no_flag": "0" # 是否最高学位“否” }, { "key": "full_highest_edu", # 是否全日制最高学历的key "yes_flag": 1, # 是否全日制最高学历为“是” "no_flag": 0 # 是否全日制最高学历“否” }, { "key": "full_highest_deg", # 是否全日制最高学位的key "yes_flag": 1, # 是否全日制最高学位为“是” "no_flag": 0 # 是否全日制最高学位“否” } ] total_result = self.total_check(info, info_list, check_item_dict_list) return {"success": total_result} # ★★★无需修改★★★ def total_check(self, info, info_list, check_item_dict_list): for item in check_item_dict_list: key = item['key'] yes_flag = item['yes_flag'] no_flag = item['no_flag'] item_result = self.item_check(info, info_list, key, yes_flag, no_flag) if not item_result: return False return True # ★★★无需修改★★★ def item_check(self, info, info_list, key, yes_flag, no_flag): list_id = info.get('id') flag = info.get(key) if len(info_list) == 0: return True else: id_list = [item['id'] for item in info_list] # 如果id列表不包含表单的id(新增) if list_id not in id_list: for item in info_list: if item[key] == yes_flag and flag == yes_flag: return False return True # 如果id列表中包含表单的id(修改) else: if flag == no_flag: return True else: for item in info_list: if item['id'] == list_id: continue if item[key] == yes_flag and flag == yes_flag: return False return True |
...