diff --git a/soong_workflow/data/soong_workflow_time.xml b/soong_workflow/data/soong_workflow_time.xml index e991af73f..7b7be2b2d 100644 --- a/soong_workflow/data/soong_workflow_time.xml +++ b/soong_workflow/data/soong_workflow_time.xml @@ -27,18 +27,5 @@ -1 - - 定时任务:待办提醒 - - code - model.to_do_process_reminders() - - - 1 - days - - -1 - - diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index d5180aafa..8dfaf196c 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -853,62 +853,6 @@ class SoongWorkflowRecord(models.Model): return super(SoongWorkflowRecord, self).get_view(view_id, view_type, **options) - def to_do_process_reminders(self): - workflow_records = self.env['soong.workflow.record'].search([ - ('approve_state', 'in', ['pending', 'end']), - ('reclaim_state', '=', False), - ('employee_ids', '!=', False), - ('is_to_do', '=', True) - ]) - employee_tasks = {} - - for record in workflow_records: - try: - biz_record = self.env[record.res_model].browse(record.res_id) - if hasattr(biz_record, 'urgency_level') and biz_record.urgency_level: - urgency_level = biz_record.urgency_level - else: - urgency_level = 'normal' - task_type = 'urgent' if urgency_level in ('urgent', 'emergency') else 'normal' - - for emp in record.employee_ids: - emp_id = emp.id - if emp_id not in employee_tasks: - employee_tasks[emp_id] = {'urgent': 0, 'normal': 0, 'employee': emp} - employee_tasks[emp_id][task_type] += 1 - except exceptions.MissingError as e: - error_msg = str(e).strip() - if "记录不存在或已删除" in error_msg: - continue - - # 只给叶华锋发消息 - for emp_id, task_data in employee_tasks.items(): - emp = task_data['employee'] - urgent_count = task_data['urgent'] - normal_count = task_data['normal'] - msg_parts = [] - if urgent_count > 0: - msg_parts.append(f'特急任务{urgent_count}条') - if normal_count > 0: - msg_parts.append(f'常规待办{normal_count}条') - if not msg_parts: - continue - reminder_msg = ( - f"您好,截至今日17:30,您有 {','.join(msg_parts)} 尚未处理," - "请及时登录系统完成办理。感谢配合!" - ) - menu_id = self.env['ir.ui.menu'].search([('name', '=', '待办流程')], limit=1) - target_url = f'https://oa.thtzjt.com/web#action=4378&model=soong.workflow.record&view_type=list&cids=2-1-3-4&menu_id={menu_id.id}' - url = self.sudo().env["wecom.apps"].generate_oauth_login_url(target_url, emp.user_id.id) - self.sudo().env["wecom.apps"].sync_send_message_textcard( - category='notice', - user_id=emp.wecom_userid, - title='【待办流程提醒】', - description=reminder_msg, - url=url, - btntxt="查看详情" - ) - # def get_department_employees(self, department_id): # valid_user_ids = set() # employee_ids = self.sudo().env['hr.employee'].search([('department_id', '=', department_id.id)])