- 由 郑辰龙创建于2020-2月-27 需要 1 分钟阅读时间
展开源码
class salary_entry_emp_warn(object): def execute(self,params): last_month = (datetime.datetime.now() + dateutil.relativedelta.relativedelta(months=-1)).strftime("%Y-%m") emp_list =self.get_entry_emp_list(month=last_month) if not emp_list: return role_list = self.get_salary_role_list() if not role_list: return emp_dict = {} for emp in emp_list: depart_id=emp.get("department").get("origin_id") if not depart_id: continue emp_dict[depart_id] = emp_dict.get(depart_id,"") + "{}({}) ".format(emp.get("name"),emp.get("number")) #组装消息 msg_list = [] for k, v in emp_dict.items(): #接收人id receiver_id_list = [p.get("object_id") for p in role_list if p.get("role_range").get("depart_id") == k] #消息内容 message = "{}-21号之后入职的员工有:{}".format(last_month,v) for receiver_id in receiver_id_list: msg_list.append({"sender": 0, "to": receiver_id, "content": message}) if not msg_list: return #发送消息 CustomerUtil.call_open_api(name="message.send.message", param={"msglist": msg_list}) def get_entry_emp_list(self,month): """ 获取人员数据 :param month: :return: """ return CustomerUtil.call_open_api( name="hcm.model.list", param={ "model": "Employee", "page_index": 1, "page_size": 9999, "filter_dict": { "entry_date": {"gte": "{}-21".format(month)} }, "extra_property": { "only_list": True, "state": "search_zcl", "sorts": [{"type": "asc", "key": "number"}], "fields": [ {"field": ["name"], "key": "employee_name"}, {"field": ["number"], "key": "employee_number"}, {"field": ["department", "origin_id"], "key": "depart_id"} ] } } )["list"] def get_salary_role_list(self): """ 获取薪酬专员角色信息 :return: """ return CustomerUtil.call_open_api( name="hcm.model.list", param={ "model": "SystemEmployeeRoles", "page_index": 1, "page_size": 9999, "filter_dict": { "object_type": 1, "role": "cm-salary" }, "extra_property": { "state": "search_zcl", "only_list": True, "fields": [ {"field": ["object_id"], "key": "object_id"}, {"field": ["object_type"], "key": "object_type"}, {"field": ["role"], "key": "role"}, {"field": ["role_range", "depart_id"], "key": "depart_id"} ], "relations": [ { "filter": { "role_range.object_type": 1, "role_range.role": "cm-salary", "object_id": ":role_range.object_id" }, "type": "outer", "model": "SystemRoleRange", "key": "role_range" } ] } } )["list"]
- 无标签