From 73137c61b97313fb8006792aa2ac692c18432d91 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: Sun, 28 Dec 2025 14:49:06 +0800 Subject: [PATCH 01/12] =?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 --- yuthon_purchase/views/inherit_purchase_order_views.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/yuthon_purchase/views/inherit_purchase_order_views.xml b/yuthon_purchase/views/inherit_purchase_order_views.xml index d4087cd1d..b667adcd7 100644 --- a/yuthon_purchase/views/inherit_purchase_order_views.xml +++ b/yuthon_purchase/views/inherit_purchase_order_views.xml @@ -64,7 +64,6 @@ - 明细 From 5ef0a66242ab2fb84c7878f2d51a704344fb235e 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: Sun, 28 Dec 2025 14:52:18 +0800 Subject: [PATCH 02/12] =?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 --- yuthon_purchase/models/inherit_purchase_order.py | 1 - 1 file changed, 1 deletion(-) diff --git a/yuthon_purchase/models/inherit_purchase_order.py b/yuthon_purchase/models/inherit_purchase_order.py index 8f2a86f44..6e5a0e939 100644 --- a/yuthon_purchase/models/inherit_purchase_order.py +++ b/yuthon_purchase/models/inherit_purchase_order.py @@ -21,7 +21,6 @@ class InheritPurchaseOrder(models.Model): ('分管领导', '分管领导'), ('总经理', '总经理')], default='draft') work_end = fields.Boolean(string="结束") - active = fields.Boolean('Active', default=True, tracking=True) user_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user) company_id = fields.Many2one(related='user_id.employee_ids.company_id', string="公司") department_id = fields.Many2one(related='user_id.employee_ids.department_id', string="部门") From 034a2917e9d8503c8b2b4ec7cf8e6e707d9983a0 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: Sun, 28 Dec 2025 15:33:50 +0800 Subject: [PATCH 03/12] =?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_record_delete_wizard.py | 6 +++++ .../models/contract_review_approval.py | 2 +- .../views/contract_review_approval_views.xml | 2 +- yuthon_issue/models/issue_library.py | 23 ++++++++++++++----- yuthon_issue/views/issue_library_views.xml | 1 + 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/soong_workflow/wizard/soong_workflow_record_delete_wizard.py b/soong_workflow/wizard/soong_workflow_record_delete_wizard.py index 62d6bae34..9f8077b06 100644 --- a/soong_workflow/wizard/soong_workflow_record_delete_wizard.py +++ b/soong_workflow/wizard/soong_workflow_record_delete_wizard.py @@ -21,6 +21,12 @@ class SoongWorkflowRecordDeleteWizard(models.TransientModel): workflow_record = self.env["soong.workflow.record"].sudo().search([("id", "=", record.id)], limit=1) if not workflow_record: continue + if workflow_record.res_model == "issue.approval": + issue_id = self.env["issue.approval"].sudo().search([("id", "=", workflow_record.res_id)], limit=1) + issue_library_id = self.env["issue.library"].sudo().search([("issue_approval_id", "=", issue_id.id)], limit=1) + if issue_library_id: + issue_library_id.revoke() + # 删除假期额度里面的对应的流程记录 related_detail_models = [ 'vacation.leave.line', diff --git a/yuthon_hr_employee_approval/models/contract_review_approval.py b/yuthon_hr_employee_approval/models/contract_review_approval.py index 092a8ce85..6802706bf 100644 --- a/yuthon_hr_employee_approval/models/contract_review_approval.py +++ b/yuthon_hr_employee_approval/models/contract_review_approval.py @@ -9,7 +9,7 @@ class ContractReviewApproval(models.Model): code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('contract_review_approval_code')) name = fields.Char(string='合同名称') - user_id = fields.Many2one('res.users', string='合同经办人') + user_id = fields.Many2one('res.users', string='合同经办人', default=lambda self: self.env.user) is_issues = fields.Boolean(string='是否上会') issues_result = fields.Html(string="会议结果") related_issues_id = fields.Many2one('issue.library', string="关联议题") diff --git a/yuthon_hr_employee_approval/views/contract_review_approval_views.xml b/yuthon_hr_employee_approval/views/contract_review_approval_views.xml index cdfa0e43f..6e4fe65ee 100644 --- a/yuthon_hr_employee_approval/views/contract_review_approval_views.xml +++ b/yuthon_hr_employee_approval/views/contract_review_approval_views.xml @@ -46,7 +46,7 @@ - + diff --git a/yuthon_issue/models/issue_library.py b/yuthon_issue/models/issue_library.py index d840f30fa..70e86bd4a 100644 --- a/yuthon_issue/models/issue_library.py +++ b/yuthon_issue/models/issue_library.py @@ -115,15 +115,26 @@ class IssueLibrary(models.Model): specifics_list.append(line.issue_approval_decision_id.specifics) dec.approval_decision_sequence = ';'.join(specifics_list) if specifics_list else '' + def revoke(self): + self.write({'issue_state': 'draft'}) + if self.issue_approval_id: + issue_line_records = self.env['issue.approval.line'].search([ + ('issue_approval_id', '=', self.issue_approval_id.id) + ]) + if issue_line_records: + issue_line_records.unlink() + workflow_id = self.env['workflow'].search([('res_model', '=', 'issue.approval'), + ('res_id', '=', self.issue_approval_id.id)], limit=1) + if workflow_id: + workflow_id.sudo().unlink() + self.issue_approval_id.unlink() + + def all_issue_pull(self): issue_active_ids = self.env["issue.library"].browse(self._context.get('active_ids', self._context.get('active_id'))) - if not issue_active_ids: - if self.issue_state != 'draft': + for i in issue_active_ids: + if i.issue_state != 'draft': raise UserError("当前状态不允许提交") - else: - for i in issue_active_ids: - if i.issue_state != 'draft': - raise UserError("当前状态不允许提交") form_id = self.env.ref("yuthon_issue.issue_library_approval_form").id issue_decision_lines = [] specifics_list = [] diff --git a/yuthon_issue/views/issue_library_views.xml b/yuthon_issue/views/issue_library_views.xml index 913c69e7a..c2c2ab0de 100644 --- a/yuthon_issue/views/issue_library_views.xml +++ b/yuthon_issue/views/issue_library_views.xml @@ -29,6 +29,7 @@