From 5a41b995e258bd1fcba1a6a59fd6b7e328a4fa7b 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: Sat, 11 Apr 2026 16:41:24 +0800
Subject: [PATCH 1/8] =?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/wizard/soong_workflow_comment_wizard.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py
index e19f0b52f..8e307dbd4 100644
--- a/soong_workflow/wizard/soong_workflow_comment_wizard.py
+++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py
@@ -614,7 +614,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
"workflow_id": self.node_btn_id.workflow_id.id,
"done_by": employee_id.user_id.id if self.employee_ids else query_user_id,
"node_btn_name": "3",
- "lase_click_date": fields.Datetime.now(),
"approval_state": "1", # 待审批
})
From 8d758ddf327a67a38a671b7d87285daba3aed8d1 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: Sat, 11 Apr 2026 16:46:17 +0800
Subject: [PATCH 2/8] =?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/wizard/soong_workflow_comment_wizard.py | 2 --
1 file changed, 2 deletions(-)
diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py
index 8e307dbd4..82d24cf2d 100644
--- a/soong_workflow/wizard/soong_workflow_comment_wizard.py
+++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py
@@ -498,7 +498,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
"done_by": query_user_id,
"node_btn_name": "0",
"node_btn_id": self.node_btn_id.id,
- "lase_click_date": fields.Datetime.now(),
"approval_state": "2", # 已完成
"comment": self.comment,
})
@@ -858,7 +857,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
"model": self.res_model,
"res_id": self.res_id,
"workflow_id": self.node_btn_id.workflow_id.id,
- "lase_click_date": fields.Datetime.now(),
"done_by": record_id.log_ids[0].done_by.id,
"approval_state": "0",
"node_btn_id": self.node_btn_id.id,
From b788ab6449c19078ce52b21af97ee61bbbb9f072 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: Sat, 11 Apr 2026 16:57:47 +0800
Subject: [PATCH 3/8] =?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_mixin.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py
index bff05a26d..4cd94f716 100644
--- a/soong_workflow/models/soong_workflow_mixin.py
+++ b/soong_workflow/models/soong_workflow_mixin.py
@@ -425,7 +425,7 @@ class SoongWorkflowMixin(models.AbstractModel):
if apostille_log_obj:
raise UserError("当前加签人员还有没有审批完成的!")
# 继续正常流程
- if btn_rec.has_comment:
+ # if btn_rec.has_comment:
return self.with_context(cx)._add_comment(log_obj, btn_rec)
if btn_rec.name == '收回':
return {
From 5cbd1f4c507313599a1537a3068fde21790ebdc3 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: Sat, 11 Apr 2026 17:00:50 +0800
Subject: [PATCH 4/8] =?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/views/soong_workflow_node_views.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/soong_workflow/views/soong_workflow_node_views.xml b/soong_workflow/views/soong_workflow_node_views.xml
index 9f7102685..40439b58f 100644
--- a/soong_workflow/views/soong_workflow_node_views.xml
+++ b/soong_workflow/views/soong_workflow_node_views.xml
@@ -163,7 +163,7 @@
-
+
Date: Sat, 11 Apr 2026 17:08:10 +0800
Subject: [PATCH 5/8] =?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_mixin.py | 32 +++++++++----------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py
index 4cd94f716..1e9d6f5df 100644
--- a/soong_workflow/models/soong_workflow_mixin.py
+++ b/soong_workflow/models/soong_workflow_mixin.py
@@ -426,22 +426,22 @@ class SoongWorkflowMixin(models.AbstractModel):
raise UserError("当前加签人员还有没有审批完成的!")
# 继续正常流程
# if btn_rec.has_comment:
- return self.with_context(cx)._add_comment(log_obj, btn_rec)
- if btn_rec.name == '收回':
- return {
- 'name': '收回弹窗',
- 'type': 'ir.actions.act_window',
- 'view_mode': 'form',
- 'res_model': 'soong.bounced.wizard',
- "target": "new",
- 'context': {
- 'default_res_id': self.id,
- "default_res_model": self._name,
- }
- }
- else:
- btn_rec.with_context(cx).log()
- return btn_rec.with_context(cx).run()
+ return self.with_context(cx)._add_comment(log_obj, btn_rec)
+ # if btn_rec.name == '收回':
+ # return {
+ # 'name': '收回弹窗',
+ # 'type': 'ir.actions.act_window',
+ # 'view_mode': 'form',
+ # 'res_model': 'soong.bounced.wizard',
+ # "target": "new",
+ # 'context': {
+ # 'default_res_id': self.id,
+ # "default_res_model": self._name,
+ # }
+ # }
+ # else:
+ # btn_rec.with_context(cx).log()
+ # return btn_rec.with_context(cx).run()
def _add_comment(self, logs, btn_rec):
trans_link_ids = []
From 57d41f32b6e710078437ca71ce46c1c3ff1c9b6b 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: Sat, 11 Apr 2026 17:14:42 +0800
Subject: [PATCH 6/8] =?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/wizard/soong_workflow_comment_wizard.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py
index 82d24cf2d..266ee4540 100644
--- a/soong_workflow/wizard/soong_workflow_comment_wizard.py
+++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py
@@ -1050,7 +1050,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
record.write({'state': prev_log.name,
'work_end': False,
})
- self.node_btn_id.with_context(cx).run()
if self.node_btn_name == '归档':
menu_id = self.env['ir.ui.menu'].search([('name', '=', '行政收文')], limit=1)
action_id = self.env['ir.actions.act_window'].search([('res_model', '=', self.res_model)])[0]
From 7dd371e839b4d4681f55fef615fc843609362946 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: Mon, 13 Apr 2026 10:36:08 +0800
Subject: [PATCH 7/8] =?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
---
.../models/yuthon_shift_approval.py | 42 +++++++++++++------
.../views/yuthon_shift_approval_views.xml | 16 +++----
2 files changed, 38 insertions(+), 20 deletions(-)
diff --git a/yuthon_hr_attendance/models/yuthon_shift_approval.py b/yuthon_hr_attendance/models/yuthon_shift_approval.py
index 1f63a7fd5..75c0f5ad1 100644
--- a/yuthon_hr_attendance/models/yuthon_shift_approval.py
+++ b/yuthon_hr_attendance/models/yuthon_shift_approval.py
@@ -14,6 +14,10 @@ class YuthonShiftApproval(models.Model):
resource_id = fields.Many2one('resource.resource', string="申请人", default=lambda self: self.env.user.employee_id.resource_id.id)
company_id = fields.Many2one('res.company', string="公司", default=lambda self: self.env.user.company_id.id)
transferees_id = fields.Many2one('resource.resource', string="换班对象", domain="[('id', 'in', resource_ids)]")
+
+ resource_id1 = fields.Many2one('resource.resource', string="申请人", default=lambda self: self.env.user.employee_id.resource_id.id)
+ transferees_id1 = fields.Many2one('resource.resource', string="换班对象", domain="[('id', 'in', resource_ids)]")
+
alternate_id = fields.Many2one('resource.resource', string="顶班对象", domain="[('id', 'in', resource_ids)]")
alternate_shifts = fields.Selection([('transferees', '换班'), ('alternate', '顶班')], string="申请类型" , default='transferees')
shift_date = fields.Date(string="日期")
@@ -56,7 +60,7 @@ class YuthonShiftApproval(models.Model):
self_users_ids = fields.Many2many('res.users', string="当前经办人", default=lambda self: [(6, 0, [self.env.user.id])])
@api.onchange('shift_date', 'resource_id',
- 'shift_two_date',
+ 'shift_two_date', 'resource_id1', 'transferees_id1', 'return_id',
'return_date', 'transferees_id', 'alternate_id', 'alternate_shifts',
'return_two_date')
def _onchange_shifts(self):
@@ -72,8 +76,8 @@ class YuthonShiftApproval(models.Model):
self.shift_id = False
# 2. 校验并计算"我的第二班次"
- if self.shift_two_date and self.resource_id:
- slot = self._get_slot(self.resource_id.id, self.shift_two_date)
+ if self.shift_two_date and self.resource_id1:
+ slot = self._get_slot(self.resource_id1.id, self.shift_two_date)
if not slot:
self.shift_two_rest = '休息'
else:
@@ -97,8 +101,8 @@ class YuthonShiftApproval(models.Model):
self.return_id = False
# 5. 校验并计算"对方第二班次"
- if self.return_two_date and other_resource:
- slot = self._get_slot(other_resource.id, self.return_two_date)
+ if self.return_two_date and self.transferees_id1:
+ slot = self._get_slot(self.transferees_id1.id, self.return_two_date)
if not slot:
self.return_two_rest = '休息'
else:
@@ -202,7 +206,7 @@ class YuthonShiftApproval(models.Model):
# 申请人休息(第二班次)
if self_rest_two and return_two_id:
self.env['planning.slot'].create({
- 'resource_id': record.resource_id.id,
+ 'resource_id': record.resource_id1.id,
'template_id': return_two_id.template_id.id,
'start_datetime': return_two_id.start_datetime,
'end_datetime': return_two_id.end_datetime,
@@ -228,7 +232,7 @@ class YuthonShiftApproval(models.Model):
# 对方休息(第二班次)
if other_rest_two and shift_two_id:
self.env['planning.slot'].create({
- 'resource_id': record.transferees_id.id,
+ 'resource_id': record.transferees_id1.id,
'template_id': shift_two_id.template_id.id,
'start_datetime': shift_two_id.start_datetime,
'end_datetime': shift_two_id.end_datetime,
@@ -249,13 +253,27 @@ class YuthonShiftApproval(models.Model):
shift_two_id.write({'template_id': return_template_two})
return_two_id.write({'template_id': shift_template_two})
- @api.onchange('resource_id', 'transferees_id', 'alternate_id')
+ @api.onchange('resource_id', 'transferees_id', 'alternate_id', 'resource_id1', 'transferees_id1')
def onchange_name(self):
for rec in self:
- if rec.resource_id and rec.transferees_id and rec.alternate_shifts =='transferees':
- rec.name = '调班:'+ rec.resource_id.name + '-' + rec.transferees_id.name
- elif rec.resource_id and rec.alternate_id and rec.alternate_shifts =='alternate':
- rec.name = '替班:'+ rec.resource_id.name + '-' + rec.alternate_id.name
+ rec.name = ''
+ res = rec.resource_id
+ trans = rec.transferees_id
+ res1 = rec.resource_id1
+ trans1 = rec.transferees_id1
+ if res and trans and res1 and trans1:
+ if (res.id == res1.id) and (trans.id == trans1.id):
+ rec.name = '调班:' + res.name + '-' + trans.name
+ continue
+ name_parts = []
+ if rec.alternate_shifts == 'transferees':
+ if res and trans:
+ name_parts.append(f"{res.name}-{trans.name}")
+ if res1 and trans1:
+ name_parts.append(f"{res1.name}-{trans1.name}")
+
+ if name_parts:
+ rec.name = '调班:' + ' | '.join(name_parts)
@api.onchange('department_id')
def _onchange_resource_ids(self):
diff --git a/yuthon_hr_attendance/views/yuthon_shift_approval_views.xml b/yuthon_hr_attendance/views/yuthon_shift_approval_views.xml
index c2493394e..ffd63298b 100644
--- a/yuthon_hr_attendance/views/yuthon_shift_approval_views.xml
+++ b/yuthon_hr_attendance/views/yuthon_shift_approval_views.xml
@@ -110,9 +110,9 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
From eaf883ae3f8e690a2fd1c04ef3204f72fd6259e7 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: Mon, 13 Apr 2026 10:39:12 +0800
Subject: [PATCH 8/8] =?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
---
.../views/yuthon_shift_approval_views.xml | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/yuthon_hr_attendance/views/yuthon_shift_approval_views.xml b/yuthon_hr_attendance/views/yuthon_shift_approval_views.xml
index ffd63298b..cce615419 100644
--- a/yuthon_hr_attendance/views/yuthon_shift_approval_views.xml
+++ b/yuthon_hr_attendance/views/yuthon_shift_approval_views.xml
@@ -67,14 +67,14 @@
-
+
-
+
@@ -86,13 +86,13 @@
-
+
-
+
@@ -112,7 +112,7 @@