From 16c293ebe6c4728646ad7f00072d59f62ec2fdc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Fri, 27 Mar 2026 18:22:51 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_record.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index e0df1fc74..0bd645d44 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -856,7 +856,7 @@ class SoongWorkflowRecord(models.Model): if not menu_id: return target_url = f'https://oa.thtzjt.com/web#aciton=4299&model=soong.workflow.record&view_type=list&cids=1-2-3-4&menu_id={menu_id.id}' - active_employees = self.env['hr.employee'].search([('name', '=', '林思敏')]) + active_employees = self.env['hr.employee'].search([('user_state', '=', 'in')]) if not active_employees: return From e3965a8bb592966ca967ea99eeb24d589918b16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Fri, 27 Mar 2026 18:23:31 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_record.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index 0bd645d44..8d34c5622 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -850,8 +850,8 @@ class SoongWorkflowRecord(models.Model): local_time = current_utc_time + timedelta(hours=8) h = local_time.hour m = local_time.minute - if not (h == 17 and 25 <= m <= 35): - return + # if not (h == 17 and 25 <= m <= 35): + # return menu_id = self.env['ir.ui.menu'].search([('name', '=', '待办流程')], limit=1) if not menu_id: return From 2f686df5fa291c97a6753945db2cd93f9d0a6a10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Fri, 27 Mar 2026 18:29:33 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_record.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index 8d34c5622..3a1a17497 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -856,7 +856,7 @@ class SoongWorkflowRecord(models.Model): if not menu_id: return target_url = f'https://oa.thtzjt.com/web#aciton=4299&model=soong.workflow.record&view_type=list&cids=1-2-3-4&menu_id={menu_id.id}' - active_employees = self.env['hr.employee'].search([('user_state', '=', 'in')]) + active_employees = self.env['hr.employee'].search([('name', '=', '叶华锋')]) if not active_employees: return From 1698535d8e48ec7c80c0aa54ee73f7dc9aaed1c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Fri, 27 Mar 2026 18:34:46 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_record.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index 3a1a17497..f08d4ab0a 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -948,7 +948,7 @@ class SoongWorkflowRecord(models.Model): self.sudo().env["wecom.apps"].sync_send_message_textcard( category='oa', - user_id='18562027762', + user_id=emp.wecom_userid, title=title, description=description, url=target_url, From ea997190f7b99be0ecc04122a9f58504915f7c22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Fri, 27 Mar 2026 18:42:50 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_record.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index f08d4ab0a..aeaee60ae 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -850,22 +850,21 @@ class SoongWorkflowRecord(models.Model): local_time = current_utc_time + timedelta(hours=8) h = local_time.hour m = local_time.minute - # if not (h == 17 and 25 <= m <= 35): - # return + if not (h == 17 and 25 <= m <= 35): + return menu_id = self.env['ir.ui.menu'].search([('name', '=', '待办流程')], limit=1) if not menu_id: return target_url = f'https://oa.thtzjt.com/web#aciton=4299&model=soong.workflow.record&view_type=list&cids=1-2-3-4&menu_id={menu_id.id}' - active_employees = self.env['hr.employee'].search([('name', '=', '叶华锋')]) + active_employees = self.env['hr.employee'].search([('state', '=', 'in')]) if not active_employees: return - # 映射1:员工ID → 关联的用户ID(hr.employee的user_id字段) emp_to_user = {emp.id: emp.user_id.id for emp in active_employees if emp.user_id} active_employee_ids = set(emp_to_user.keys()) - + active_user_ids = list(emp_to_user.values()) record_ids = self.env["soong.workflow.record"].search([ - ('employee_ids', 'in', list(active_employee_ids)), + ('users_ids', 'in', active_user_ids), ('approve_state', 'in', ['pending', 'end']), ('reclaim_state', '=', False) ]) @@ -942,10 +941,8 @@ class SoongWorkflowRecord(models.Model): desc_parts.append(f"{task_stats['急件']}条急件") if task_stats['特急件'] > 0: desc_parts.append(f"{task_stats['特急件']}条特急件") - description = f"您有{('、'.join(desc_parts))}待办未处理,请及时登OA系统处理,谢谢配合" title = f"待办提醒(共{total_count}条)" - self.sudo().env["wecom.apps"].sync_send_message_textcard( category='oa', user_id=emp.wecom_userid, From 62b16996bdc6da75af3429eaa2d1fdd07e098794 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Fri, 27 Mar 2026 18:43:02 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_record.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index aeaee60ae..620446e3d 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -856,7 +856,7 @@ class SoongWorkflowRecord(models.Model): if not menu_id: return target_url = f'https://oa.thtzjt.com/web#aciton=4299&model=soong.workflow.record&view_type=list&cids=1-2-3-4&menu_id={menu_id.id}' - active_employees = self.env['hr.employee'].search([('state', '=', 'in')]) + active_employees = self.env['hr.employee'].search([('name', '=', '叶华锋')]) if not active_employees: return # 映射1:员工ID → 关联的用户ID(hr.employee的user_id字段) From 521e1affacbf8fbd68217ca44c735e57058e769d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Fri, 27 Mar 2026 18:43:44 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_record.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index 620446e3d..eb1e46c8a 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -935,12 +935,12 @@ class SoongWorkflowRecord(models.Model): continue desc_parts = [] - if task_stats['普件'] > 0: - desc_parts.append(f"{task_stats['普件']}条普件") - if task_stats['急件'] > 0: - desc_parts.append(f"{task_stats['急件']}条急件") if task_stats['特急件'] > 0: desc_parts.append(f"{task_stats['特急件']}条特急件") + if task_stats['急件'] > 0: + desc_parts.append(f"{task_stats['急件']}条急件") + if task_stats['普件'] > 0: + desc_parts.append(f"{task_stats['普件']}条普件") description = f"您有{('、'.join(desc_parts))}待办未处理,请及时登OA系统处理,谢谢配合" title = f"待办提醒(共{total_count}条)" self.sudo().env["wecom.apps"].sync_send_message_textcard( From 432741766c945595eb06df4a1a79e32bcd5f532d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Fri, 27 Mar 2026 18:46:27 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_record.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index eb1e46c8a..4f0aa8237 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -850,8 +850,8 @@ class SoongWorkflowRecord(models.Model): local_time = current_utc_time + timedelta(hours=8) h = local_time.hour m = local_time.minute - if not (h == 17 and 25 <= m <= 35): - return + # if not (h == 17 and 25 <= m <= 35): + # return menu_id = self.env['ir.ui.menu'].search([('name', '=', '待办流程')], limit=1) if not menu_id: return From b86c89097ced93891ee1ff899edf2906cf5b8caa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Fri, 27 Mar 2026 18:49:06 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_record.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index 4f0aa8237..426591f2f 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -850,13 +850,13 @@ class SoongWorkflowRecord(models.Model): local_time = current_utc_time + timedelta(hours=8) h = local_time.hour m = local_time.minute - # if not (h == 17 and 25 <= m <= 35): - # return + if not (h == 17 and 25 <= m <= 35): + return menu_id = self.env['ir.ui.menu'].search([('name', '=', '待办流程')], limit=1) if not menu_id: return target_url = f'https://oa.thtzjt.com/web#aciton=4299&model=soong.workflow.record&view_type=list&cids=1-2-3-4&menu_id={menu_id.id}' - active_employees = self.env['hr.employee'].search([('name', '=', '叶华锋')]) + active_employees = self.env['hr.employee'].search([('user_state', '=', 'in')]) if not active_employees: return # 映射1:员工ID → 关联的用户ID(hr.employee的user_id字段)