diff --git a/soong_workflow/models/soong_workflow_inspector.py b/soong_workflow/models/soong_workflow_inspector.py index b49beb00f..d9440137a 100644 --- a/soong_workflow/models/soong_workflow_inspector.py +++ b/soong_workflow/models/soong_workflow_inspector.py @@ -33,6 +33,23 @@ class SoongWorkflowInspector(models.Model): inspector_line2_ids = fields.One2many('soong.workflow.inspector.line2', 'workflow_inspector_id', string='督办明细') relevancy_type = fields.Selection([('none', '无')], string="关联流程类型") + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class SoongWorkflowInspectorLine(models.Model): diff --git a/yuthon_holiday/models/inherit_hr_leave.py b/yuthon_holiday/models/inherit_hr_leave.py index 25b77f17a..c7b9cddc8 100644 --- a/yuthon_holiday/models/inherit_hr_leave.py +++ b/yuthon_holiday/models/inherit_hr_leave.py @@ -452,6 +452,23 @@ class HolidaysRequestBatch(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_day') def _onchange_is_day(self): diff --git a/yuthon_holiday/models/yuthon_fixes_approval.py b/yuthon_holiday/models/yuthon_fixes_approval.py index 6ea69653d..837b059b2 100644 --- a/yuthon_holiday/models/yuthon_fixes_approval.py +++ b/yuthon_holiday/models/yuthon_fixes_approval.py @@ -39,6 +39,23 @@ class YuthonFixesApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('holiday_status') def _onchange_holiday_status(self): diff --git a/yuthon_holiday/models/yuthon_vacation_reports.py b/yuthon_holiday/models/yuthon_vacation_reports.py index cb2c49c6d..7f57d4071 100644 --- a/yuthon_holiday/models/yuthon_vacation_reports.py +++ b/yuthon_holiday/models/yuthon_vacation_reports.py @@ -88,10 +88,11 @@ class YuthonVacationReports(models.Model): for record in self: leave_total = 0.0 for line in record.leave_ids: - if line.update_type == 'add': - leave_total += line.update_lines or 0 - elif line.update_type == 'reduce': - leave_total -= line.update_lines or 0 + if not line.is_void: + if line.update_type == 'add': + leave_total += line.update_lines or 0 + elif line.update_type == 'reduce': + leave_total -= line.update_lines or 0 record.leave = leave_total @api.depends( @@ -104,11 +105,12 @@ class YuthonVacationReports(models.Model): for record in self: overtime_total = 0.0 for line in record.overtime_ids: - line_total = (line.workday or 0) + (line.legal_day or 0) + (line.public_holidays or 0) - if line.update_type == 'add': - overtime_total += line_total - elif line.update_type == 'reduce': - overtime_total -= line_total + if not line.is_void: + line_total = (line.workday or 0) + (line.legal_day or 0) + (line.public_holidays or 0) + if line.update_type == 'add': + overtime_total += line_total + elif line.update_type == 'reduce': + overtime_total -= line_total record.working_overtime = overtime_total @api.depends('meal_fee_ids.update_lines', 'meal_fee_ids.update_type') @@ -116,10 +118,11 @@ class YuthonVacationReports(models.Model): for record in self: meal_total = 0 for line in record.meal_fee_ids: - if line.update_type == 'add': - meal_total += int(line.update_lines or 0) - elif line.update_type == 'reduce': - meal_total -= int(line.update_lines or 0) + if not line.is_void: + if line.update_type == 'add': + meal_total += int(line.update_lines or 0) + elif line.update_type == 'reduce': + meal_total -= int(line.update_lines or 0) record.meal_fee = meal_total def button_fixes_approval(self): diff --git a/yuthon_hr_attendance/models/card_approval.py b/yuthon_hr_attendance/models/card_approval.py index a655fcf06..8e41c84a2 100644 --- a/yuthon_hr_attendance/models/card_approval.py +++ b/yuthon_hr_attendance/models/card_approval.py @@ -35,6 +35,23 @@ class CardApprovals(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('attendance_id') def onchange_replacement_time(self): diff --git a/yuthon_hr_attendance/models/duty_approval.py b/yuthon_hr_attendance/models/duty_approval.py index 169a4d2e1..98123b044 100644 --- a/yuthon_hr_attendance/models/duty_approval.py +++ b/yuthon_hr_attendance/models/duty_approval.py @@ -29,6 +29,23 @@ class DutyApprovals(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.depends('date_start', 'date_end') def _compute_duration(self): diff --git a/yuthon_hr_attendance/models/go_approval.py b/yuthon_hr_attendance/models/go_approval.py index d8978b8c5..849bb2023 100644 --- a/yuthon_hr_attendance/models/go_approval.py +++ b/yuthon_hr_attendance/models/go_approval.py @@ -47,6 +47,23 @@ class GoApprovals(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('start_day_selection', 'end_day_selection') def _onchange_selection_fields(self): diff --git a/yuthon_hr_attendance/models/leave_approval.py b/yuthon_hr_attendance/models/leave_approval.py index d456d81ac..e496ac3a6 100644 --- a/yuthon_hr_attendance/models/leave_approval.py +++ b/yuthon_hr_attendance/models/leave_approval.py @@ -25,6 +25,23 @@ class LeaveApprovals(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def leave_approval(self): pass \ No newline at end of file diff --git a/yuthon_hr_attendance/models/overtime_approval.py b/yuthon_hr_attendance/models/overtime_approval.py index a0e4353f8..48c8be862 100644 --- a/yuthon_hr_attendance/models/overtime_approval.py +++ b/yuthon_hr_attendance/models/overtime_approval.py @@ -41,10 +41,28 @@ class OvertimeApprovals(models.Model): active = fields.Boolean('Active', default=True, tracking=True) work_end = fields.Boolean(string="结束") + def _get_default_name_title(self): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def open_record(self): if self.start_time and self.end_time and self.employee_ids: diff --git a/yuthon_hr_attendance/models/remove_holiday_approval.py b/yuthon_hr_attendance/models/remove_holiday_approval.py index 7174dbc65..515429a49 100644 --- a/yuthon_hr_attendance/models/remove_holiday_approval.py +++ b/yuthon_hr_attendance/models/remove_holiday_approval.py @@ -31,6 +31,23 @@ class RemoveHolidayApprovals(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_hr_attendance/models/yuthon_abnormal_approval.py b/yuthon_hr_attendance/models/yuthon_abnormal_approval.py index e53235d73..7c5d2db39 100644 --- a/yuthon_hr_attendance/models/yuthon_abnormal_approval.py +++ b/yuthon_hr_attendance/models/yuthon_abnormal_approval.py @@ -27,6 +27,23 @@ class YuthonAbnormalApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_hr_attendance/models/yuthon_adjustments_approval.py b/yuthon_hr_attendance/models/yuthon_adjustments_approval.py index c6da79d7f..b3fee0ac7 100644 --- a/yuthon_hr_attendance/models/yuthon_adjustments_approval.py +++ b/yuthon_hr_attendance/models/yuthon_adjustments_approval.py @@ -29,6 +29,23 @@ class YuthonAdjustmentsApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_hr_attendance/models/yuthon_customer_approval.py b/yuthon_hr_attendance/models/yuthon_customer_approval.py index aa7935283..95717f212 100644 --- a/yuthon_hr_attendance/models/yuthon_customer_approval.py +++ b/yuthon_hr_attendance/models/yuthon_customer_approval.py @@ -28,6 +28,23 @@ class YuthonCustomerApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_hr_attendance/models/yuthon_shift_approval.py b/yuthon_hr_attendance/models/yuthon_shift_approval.py index 465e062c3..56c7f7776 100644 --- a/yuthon_hr_attendance/models/yuthon_shift_approval.py +++ b/yuthon_hr_attendance/models/yuthon_shift_approval.py @@ -36,6 +36,23 @@ class YuthonShiftApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_hr_attendance/models/yuthon_special_approval.py b/yuthon_hr_attendance/models/yuthon_special_approval.py index bde5691de..89e938c1a 100644 --- a/yuthon_hr_attendance/models/yuthon_special_approval.py +++ b/yuthon_hr_attendance/models/yuthon_special_approval.py @@ -32,6 +32,23 @@ class YuthonSpecialApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def button_special_approval(self): role_a = self.env['planning.role'].search([('name', '=', '联安粮库')], limit=1) diff --git a/yuthon_hr_employee_approval/models/yuthon_account_approval.py b/yuthon_hr_employee_approval/models/yuthon_account_approval.py index 9460f48bd..a333c8062 100644 --- a/yuthon_hr_employee_approval/models/yuthon_account_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_account_approval.py @@ -9,4 +9,21 @@ class YuthonAccountApproval(models.Model): name = fields.Char(string='名称') code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_account_approval_code')) active = fields.Boolean('Active', default=True, tracking=True) - work_end = fields.Boolean(string="结束") \ No newline at end of file + work_end = fields.Boolean(string="结束") + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False \ No newline at end of file diff --git a/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py b/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py index 2b3079018..cc620ffb8 100644 --- a/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py @@ -30,6 +30,23 @@ class YuthonAppointmentApproval(models.Model): def _get_default_name_title(self): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_hr_employee_approval/models/yuthon_department_change.py b/yuthon_hr_employee_approval/models/yuthon_department_change.py index 1378595b5..54b2d4dcd 100644 --- a/yuthon_hr_employee_approval/models/yuthon_department_change.py +++ b/yuthon_hr_employee_approval/models/yuthon_department_change.py @@ -31,6 +31,23 @@ class YuthonDepartmentChange(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_hr_employee_approval/models/yuthon_enrollment_approval.py b/yuthon_hr_employee_approval/models/yuthon_enrollment_approval.py index 18800b858..7d8079293 100644 --- a/yuthon_hr_employee_approval/models/yuthon_enrollment_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_enrollment_approval.py @@ -11,4 +11,21 @@ class YuthonEnrollmentApproval(models.Model): code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_enrollment_approval_code')) active = fields.Boolean('Active', default=True, tracking=True) - work_end = fields.Boolean(string="结束") \ No newline at end of file + work_end = fields.Boolean(string="结束") + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False \ No newline at end of file diff --git a/yuthon_hr_employee_approval/models/yuthon_interview_approval.py b/yuthon_hr_employee_approval/models/yuthon_interview_approval.py index cb833cdaf..3f9f2ba71 100644 --- a/yuthon_hr_employee_approval/models/yuthon_interview_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_interview_approval.py @@ -29,6 +29,23 @@ class YuthonInterviewApproval(models.Model): def _get_default_name_title(self): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def scheduling_of_meetings(self): form_id = self.env.ref("room.room_booking_view_form").id diff --git a/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py b/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py index aa7c450ac..cb2fac9ed 100644 --- a/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py @@ -37,6 +37,23 @@ class YuthonLeavingApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) active = fields.Boolean('Active', default=True, tracking=True) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def put_leaving(self): for record in self: diff --git a/yuthon_hr_employee_approval/models/yuthon_message_login.py b/yuthon_hr_employee_approval/models/yuthon_message_login.py index c2ceb8a4f..8a6046fa7 100644 --- a/yuthon_hr_employee_approval/models/yuthon_message_login.py +++ b/yuthon_hr_employee_approval/models/yuthon_message_login.py @@ -120,6 +120,23 @@ class YuthonMessageLogin(models.Model): part_time_ids = fields.One2many('education.details.line1', 'diploma_id', string="学历证(非全日制)") degree_id_ids = fields.One2many('education.details.line2', 'degree_id', string="学位证") certificate_ids = fields.One2many('certificates.detail.line', 'certificate_id', string="专业证书") + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py b/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py index fdf646874..e4c2c6514 100644 --- a/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py @@ -69,6 +69,23 @@ class YuthonOnboardApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def button_office_supply(self): form_id = self.env.ref('yuthon_sps_approval.view_yuthon_office_supplies_form').id diff --git a/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py b/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py index e11c22fa5..1f310a948 100644 --- a/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py @@ -27,6 +27,23 @@ class YuthonPrepareApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('adjust_information_ids') def onchange_change_index_library_ids(self): diff --git a/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py b/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py index 3057f88f8..d3421d60b 100644 --- a/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py @@ -34,6 +34,23 @@ class YuthonReassignmentApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False #异动信息 change_kind = fields.Char(string="异动类型") diff --git a/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py b/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py index 89d035bd1..70ce52d14 100644 --- a/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py @@ -28,6 +28,23 @@ class YuthonRecruitmentApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py b/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py index fc0489662..e04f2e7a1 100644 --- a/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py @@ -50,6 +50,23 @@ class YuthonRegularizationPrepareApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False #试用信息明细行 trial_assessment_ids = fields.One2many('yuthon.trial.scenario.detail.line', 'regularization_login_id', string="试用期考核方案",help='请选择适用本人主岗的试用考核方案,或直接在下方填写') diff --git a/yuthon_hr_employee_approval/models/yuthon_renewal_approval.py b/yuthon_hr_employee_approval/models/yuthon_renewal_approval.py index 77eaf587c..0239e45cb 100644 --- a/yuthon_hr_employee_approval/models/yuthon_renewal_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_renewal_approval.py @@ -37,4 +37,21 @@ class YuthonRenewalApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False diff --git a/yuthon_hr_employee_approval/models/yuthon_retired_approval.py b/yuthon_hr_employee_approval/models/yuthon_retired_approval.py index 40699de1b..b7410eb76 100644 --- a/yuthon_hr_employee_approval/models/yuthon_retired_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_retired_approval.py @@ -37,6 +37,23 @@ class YuthonRetiredApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class YuthonHandoverLine(models.Model): diff --git a/yuthon_hr_employee_approval/models/yuthon_reward_approval.py b/yuthon_hr_employee_approval/models/yuthon_reward_approval.py index 61c7871f5..3c4d97ad5 100644 --- a/yuthon_hr_employee_approval/models/yuthon_reward_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_reward_approval.py @@ -29,6 +29,23 @@ class YuthonRewardApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_hr_employee_approval/models/yuthon_service_approval.py b/yuthon_hr_employee_approval/models/yuthon_service_approval.py index 2391687fc..f144cb7b9 100644 --- a/yuthon_hr_employee_approval/models/yuthon_service_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_service_approval.py @@ -26,6 +26,23 @@ class YuthonServiceApproval(models.Model): default='normal') active = fields.Boolean('Active', default=True, tracking=True) work_end = fields.Boolean(string="结束") + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def _get_default_name_title(self): return self._description if self._description else self._name diff --git a/yuthon_hr_employee_approval/models/yuthon_social_files_approval.py b/yuthon_hr_employee_approval/models/yuthon_social_files_approval.py index da6c2a1c7..c015e1893 100644 --- a/yuthon_hr_employee_approval/models/yuthon_social_files_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_social_files_approval.py @@ -40,4 +40,21 @@ class YuthonSocialFilesApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False diff --git a/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py b/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py index aa5a03111..60699a699 100644 --- a/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py @@ -41,6 +41,23 @@ class YutransferApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_notice/models/yuthon_notice.py b/yuthon_notice/models/yuthon_notice.py index dbe26f328..09db43683 100644 --- a/yuthon_notice/models/yuthon_notice.py +++ b/yuthon_notice/models/yuthon_notice.py @@ -38,11 +38,42 @@ class YuthonNotice(models.Model): approval_user_id = fields.Many2one('res.users', string="审核人") approval_date = fields.Datetime(string="审核日期") is_sticky = fields.Boolean(string="是否置顶") - users_ids = fields.Many2many('res.users', string='用户') urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度', default='normal') active = fields.Boolean('Active', default=True, tracking=True) work_end = fields.Boolean(string="结束") + users_ids = fields.Many2many( + 'res.users', + relation='yuthon_notice_users_rel', + column1='notice_id', + column2='user_id', + string='用户' + ) + users_ids1 = fields.Many2many( + 'res.users', + relation='yuthon_notice_current_users_rel', + column1='notice_id', + column2='user_id', + string="当前经办人", + store=True, + compute='_compute_users_ids' + ) + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids1 = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids1 = [(6, 0, user_ids)] + else: + record.users_ids1 = False @api.model_create_multi def create(self, vals_list): diff --git a/yuthon_official/models/yuthon_offficial_incoming_party.py b/yuthon_official/models/yuthon_offficial_incoming_party.py index 22f45109d..f7f4ea630 100644 --- a/yuthon_official/models/yuthon_offficial_incoming_party.py +++ b/yuthon_official/models/yuthon_offficial_incoming_party.py @@ -43,6 +43,23 @@ class YuthonOfficialIncomingParty(models.Model): active = fields.Boolean('Active', default=True, tracking=True) work_end = fields.Boolean(string="结束") + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_official/models/yuthon_official.py b/yuthon_official/models/yuthon_official.py index b0484926e..118d168f4 100644 --- a/yuthon_official/models/yuthon_official.py +++ b/yuthon_official/models/yuthon_official.py @@ -53,6 +53,23 @@ class YuthonOfficial(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def supervising_button(self): diff --git a/yuthon_official/models/yuthon_official_incoming_labor.py b/yuthon_official/models/yuthon_official_incoming_labor.py index 144317272..1499c7aed 100644 --- a/yuthon_official/models/yuthon_official_incoming_labor.py +++ b/yuthon_official/models/yuthon_official_incoming_labor.py @@ -43,6 +43,23 @@ class YuthonOfficialIncomingLabor(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_official/models/yuthon_official_incoming_normal.py b/yuthon_official/models/yuthon_official_incoming_normal.py index f344374a5..4eca9bf40 100644 --- a/yuthon_official/models/yuthon_official_incoming_normal.py +++ b/yuthon_official/models/yuthon_official_incoming_normal.py @@ -46,6 +46,23 @@ class YuthonOfficialIncomingNormal(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_official/models/yuthon_official_labor.py b/yuthon_official/models/yuthon_official_labor.py index 6a05c2cca..1ea0fa9f8 100644 --- a/yuthon_official/models/yuthon_official_labor.py +++ b/yuthon_official/models/yuthon_official_labor.py @@ -34,4 +34,21 @@ class YuthonOfficialLabor(models.Model): def _get_default_name_title(self): return self._description if self._description else self._name - name_title = fields.Char(default=_get_default_name_title) \ No newline at end of file + name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False \ No newline at end of file diff --git a/yuthon_official/models/yuthon_official_party.py b/yuthon_official/models/yuthon_official_party.py index fa02b3c87..508fee65e 100644 --- a/yuthon_official/models/yuthon_official_party.py +++ b/yuthon_official/models/yuthon_official_party.py @@ -40,3 +40,20 @@ class YuthonOfficialParty(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False diff --git a/yuthon_performance/models/yuthon_employee_approval.py b/yuthon_performance/models/yuthon_employee_approval.py index c518fb5ac..7154abbd2 100644 --- a/yuthon_performance/models/yuthon_employee_approval.py +++ b/yuthon_performance/models/yuthon_employee_approval.py @@ -23,6 +23,23 @@ class YuthonEmployeeApproval(models.Model): urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度', default='normal') work_end = fields.Boolean(string="结束") + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def _get_default_name_title(self): return self._description if self._description else self._name diff --git a/yuthon_performance/models/yuthon_index_approval.py b/yuthon_performance/models/yuthon_index_approval.py index aad04c9c6..f5762a331 100644 --- a/yuthon_performance/models/yuthon_index_approval.py +++ b/yuthon_performance/models/yuthon_index_approval.py @@ -17,6 +17,23 @@ class YuthonIndexApproval(models.Model): new_index_library_ids = fields.One2many("new.index.management.line",'new_change_index_library_id',string="新组织指标库变更明细") work_end = fields.Boolean(string="结束") active = fields.Boolean('Active', default=True, tracking=True) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('change_index_library_ids') def onchange_change_index_library_ids(self): diff --git a/yuthon_performance/models/yuthon_tissue_duty_approval.py b/yuthon_performance/models/yuthon_tissue_duty_approval.py index f2389577a..b44778e04 100644 --- a/yuthon_performance/models/yuthon_tissue_duty_approval.py +++ b/yuthon_performance/models/yuthon_tissue_duty_approval.py @@ -26,6 +26,23 @@ class YuthonTissueDutyApproval(models.Model): urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度', default='normal') work_end = fields.Boolean(string="结束") + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def _get_default_name_title(self): return self._description if self._description else self._name diff --git a/yuthon_property_approval/models/perperty_claim_approval.py b/yuthon_property_approval/models/perperty_claim_approval.py index 1b985578e..61238f298 100644 --- a/yuthon_property_approval/models/perperty_claim_approval.py +++ b/yuthon_property_approval/models/perperty_claim_approval.py @@ -30,6 +30,23 @@ class PropertyClaimApproval(models.Model): def _get_default_name_title(self): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class PropertyClaimLine(models.Model): _name = 'property.claim.line' diff --git a/yuthon_property_approval/models/property_accounting_approval.py b/yuthon_property_approval/models/property_accounting_approval.py index 4f287f2ec..8ea930da7 100644 --- a/yuthon_property_approval/models/property_accounting_approval.py +++ b/yuthon_property_approval/models/property_accounting_approval.py @@ -38,6 +38,23 @@ class PropertyAccountingApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class AccountingWayLine(models.Model): diff --git a/yuthon_property_approval/models/property_accounts_approval.py b/yuthon_property_approval/models/property_accounts_approval.py index 0c59bd7b0..83d6c91c0 100644 --- a/yuthon_property_approval/models/property_accounts_approval.py +++ b/yuthon_property_approval/models/property_accounts_approval.py @@ -31,6 +31,23 @@ class PropertyAccountsApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False # 流程结束触发方法 def put_button(self): diff --git a/yuthon_property_approval/models/property_approval.py b/yuthon_property_approval/models/property_approval.py index 1b8d51087..4b090e188 100644 --- a/yuthon_property_approval/models/property_approval.py +++ b/yuthon_property_approval/models/property_approval.py @@ -34,6 +34,23 @@ class PropertyApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def put_message_in(self): # 导入按钮 return { diff --git a/yuthon_property_approval/models/property_borrowing_approval.py b/yuthon_property_approval/models/property_borrowing_approval.py index cd43f99a8..6fef69fe4 100644 --- a/yuthon_property_approval/models/property_borrowing_approval.py +++ b/yuthon_property_approval/models/property_borrowing_approval.py @@ -26,6 +26,23 @@ class PropertyBorrowingApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) active = fields.Boolean('Active', default=True, tracking=True) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class YuthonBorrowingLine(models.Model): diff --git a/yuthon_property_approval/models/property_capacity.py b/yuthon_property_approval/models/property_capacity.py index d728ceca0..90881ad75 100644 --- a/yuthon_property_approval/models/property_capacity.py +++ b/yuthon_property_approval/models/property_capacity.py @@ -33,6 +33,23 @@ class PropertyCapacity(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_property_approval/models/property_construction_approval.py b/yuthon_property_approval/models/property_construction_approval.py index 8a82345cb..567ae4c91 100644 --- a/yuthon_property_approval/models/property_construction_approval.py +++ b/yuthon_property_approval/models/property_construction_approval.py @@ -38,6 +38,23 @@ class PropertyConstructionApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class ConstructionWayLine(models.Model): diff --git a/yuthon_property_approval/models/property_current_approval.py b/yuthon_property_approval/models/property_current_approval.py index b95b8ce6a..4df4ab35b 100644 --- a/yuthon_property_approval/models/property_current_approval.py +++ b/yuthon_property_approval/models/property_current_approval.py @@ -62,3 +62,20 @@ class PropertyCurrentApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False diff --git a/yuthon_property_approval/models/property_delegated_agent.py b/yuthon_property_approval/models/property_delegated_agent.py index e13df6dd4..d40139120 100644 --- a/yuthon_property_approval/models/property_delegated_agent.py +++ b/yuthon_property_approval/models/property_delegated_agent.py @@ -28,5 +28,22 @@ class PropertyDelegatedAgent(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False diff --git a/yuthon_property_approval/models/property_design_approval.py b/yuthon_property_approval/models/property_design_approval.py index 0cc0e1267..3450051a4 100644 --- a/yuthon_property_approval/models/property_design_approval.py +++ b/yuthon_property_approval/models/property_design_approval.py @@ -35,6 +35,23 @@ class PropertyDesignApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class DesignWayLine(models.Model): diff --git a/yuthon_property_approval/models/property_early_quitting.py b/yuthon_property_approval/models/property_early_quitting.py index e6d3c610f..23f69f9ed 100644 --- a/yuthon_property_approval/models/property_early_quitting.py +++ b/yuthon_property_approval/models/property_early_quitting.py @@ -37,6 +37,23 @@ class PropertyEarlyQuitting(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def button_approval(self): for rec in self: diff --git a/yuthon_property_approval/models/property_eligibility.py b/yuthon_property_approval/models/property_eligibility.py index b2835ef42..63d636ac1 100644 --- a/yuthon_property_approval/models/property_eligibility.py +++ b/yuthon_property_approval/models/property_eligibility.py @@ -32,6 +32,23 @@ class PropertyEligibility(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class PropertyEligibilityLine(models.Model): _name = 'property.eligibility.line' diff --git a/yuthon_property_approval/models/property_engineering_approval.py b/yuthon_property_approval/models/property_engineering_approval.py index 0b8ad8963..63dad088c 100644 --- a/yuthon_property_approval/models/property_engineering_approval.py +++ b/yuthon_property_approval/models/property_engineering_approval.py @@ -58,3 +58,20 @@ class PropertyEngineeringApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False diff --git a/yuthon_property_approval/models/property_evaluate_application.py b/yuthon_property_approval/models/property_evaluate_application.py index 84f8d57da..81c6a0ddc 100644 --- a/yuthon_property_approval/models/property_evaluate_application.py +++ b/yuthon_property_approval/models/property_evaluate_application.py @@ -36,6 +36,23 @@ class PropertyEvaluateApplication(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def put_property_record(self): form_id = self.env.ref('yuthon_property_approval.views_property_record_form').id diff --git a/yuthon_property_approval/models/property_fitment.py b/yuthon_property_approval/models/property_fitment.py index 51d20321b..d53f37970 100644 --- a/yuthon_property_approval/models/property_fitment.py +++ b/yuthon_property_approval/models/property_fitment.py @@ -36,4 +36,21 @@ class PropertyFitment(models.Model): def _get_default_name_title(self): return self._description if self._description else self._name - name_title = fields.Char(default=_get_default_name_title) \ No newline at end of file + name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False \ No newline at end of file diff --git a/yuthon_property_approval/models/property_handover.py b/yuthon_property_approval/models/property_handover.py index 98c4ad0f0..940aaabae 100644 --- a/yuthon_property_approval/models/property_handover.py +++ b/yuthon_property_approval/models/property_handover.py @@ -30,6 +30,23 @@ class PropertyHandover(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_property_approval/models/property_intention_approval.py b/yuthon_property_approval/models/property_intention_approval.py index 0ba12e4f7..ffaed4db6 100644 --- a/yuthon_property_approval/models/property_intention_approval.py +++ b/yuthon_property_approval/models/property_intention_approval.py @@ -28,6 +28,23 @@ class PropertyIntentionApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_property_approval/models/property_lease_contract.py b/yuthon_property_approval/models/property_lease_contract.py index 45333fdf8..b2f459044 100644 --- a/yuthon_property_approval/models/property_lease_contract.py +++ b/yuthon_property_approval/models/property_lease_contract.py @@ -212,6 +212,23 @@ class PropertyLeaseContract(models.Model): store=True) responsibility_book_name = fields.Char(string="安全生产责任书(住宅)名称", compute='_compute_attachment_names', store=True) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.depends() def _compute_not_received(self): diff --git a/yuthon_property_approval/models/property_lease_extension.py b/yuthon_property_approval/models/property_lease_extension.py index bf46cacaa..1980aca42 100644 --- a/yuthon_property_approval/models/property_lease_extension.py +++ b/yuthon_property_approval/models/property_lease_extension.py @@ -37,6 +37,23 @@ class PropertyLeaseExtension(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False def button_approval(self): for rec in self: diff --git a/yuthon_property_approval/models/property_management.py b/yuthon_property_approval/models/property_management.py index 486ff412c..09034086d 100644 --- a/yuthon_property_approval/models/property_management.py +++ b/yuthon_property_approval/models/property_management.py @@ -41,6 +41,23 @@ class PropertyManagement(models.Model): name_title = fields.Char(default=_get_default_name_title) document_ids = fields.Many2many('ir.attachment', string="附件") + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('precinct_id') def _onchange_precinct_id(self): diff --git a/yuthon_property_approval/models/property_management_fee.py b/yuthon_property_approval/models/property_management_fee.py index a6376098a..ac13d37ff 100644 --- a/yuthon_property_approval/models/property_management_fee.py +++ b/yuthon_property_approval/models/property_management_fee.py @@ -26,6 +26,23 @@ class PropertyManagementFee(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False #类型 diff --git a/yuthon_property_approval/models/property_meeting_approval.py b/yuthon_property_approval/models/property_meeting_approval.py index 5e5cd2a2e..4698a2533 100644 --- a/yuthon_property_approval/models/property_meeting_approval.py +++ b/yuthon_property_approval/models/property_meeting_approval.py @@ -29,6 +29,23 @@ class PropertyMeetingApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_property_approval/models/property_merge_approval.py b/yuthon_property_approval/models/property_merge_approval.py index 7b762e57b..4ee856623 100644 --- a/yuthon_property_approval/models/property_merge_approval.py +++ b/yuthon_property_approval/models/property_merge_approval.py @@ -33,6 +33,24 @@ class PropertyMergeApproval(models.Model): def _get_default_name_title(self): return self._description if self._description else self._name + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False + name_title = fields.Char(default=_get_default_name_title) related_issues_id = fields.Many2one('issue.library', string="关联议题") diff --git a/yuthon_property_approval/models/property_offline_registration.py b/yuthon_property_approval/models/property_offline_registration.py index 7a665b594..0d03fd6bf 100644 --- a/yuthon_property_approval/models/property_offline_registration.py +++ b/yuthon_property_approval/models/property_offline_registration.py @@ -34,6 +34,23 @@ class PropertyOfflineRegistration(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_property_approval/models/property_open_rent.py b/yuthon_property_approval/models/property_open_rent.py index 135005d57..f9e37c603 100644 --- a/yuthon_property_approval/models/property_open_rent.py +++ b/yuthon_property_approval/models/property_open_rent.py @@ -24,6 +24,23 @@ class PropertyOpenRent(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False # # # class PropertyOpenRentLine(models.Model): diff --git a/yuthon_property_approval/models/property_penalty_relief.py b/yuthon_property_approval/models/property_penalty_relief.py index 62c1ca85b..aef268fb1 100644 --- a/yuthon_property_approval/models/property_penalty_relief.py +++ b/yuthon_property_approval/models/property_penalty_relief.py @@ -35,6 +35,23 @@ class PropertyPenaltyRelief(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_property_approval/models/property_project_approval.py b/yuthon_property_approval/models/property_project_approval.py index 420c62cc7..a2fa2c2cf 100644 --- a/yuthon_property_approval/models/property_project_approval.py +++ b/yuthon_property_approval/models/property_project_approval.py @@ -26,4 +26,21 @@ class PropertyProjectApproval(models.Model): def _get_default_name_title(self): return self._description if self._description else self._name - name_title = fields.Char(default=_get_default_name_title) \ No newline at end of file + name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False \ No newline at end of file diff --git a/yuthon_property_approval/models/property_project_works.py b/yuthon_property_approval/models/property_project_works.py index 976fa40bf..5e6091289 100644 --- a/yuthon_property_approval/models/property_project_works.py +++ b/yuthon_property_approval/models/property_project_works.py @@ -27,4 +27,21 @@ class PropertyProjectWorks(models.Model): def _get_default_name_title(self): return self._description if self._description else self._name - name_title = fields.Char(default=_get_default_name_title) \ No newline at end of file + name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False \ No newline at end of file diff --git a/yuthon_property_approval/models/property_record.py b/yuthon_property_approval/models/property_record.py index 0ef0fa7b3..68c64de40 100644 --- a/yuthon_property_approval/models/property_record.py +++ b/yuthon_property_approval/models/property_record.py @@ -35,6 +35,23 @@ class PropertyRecord(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_property_approval/models/property_renamed.py b/yuthon_property_approval/models/property_renamed.py index 463cf2e7a..8edd0b551 100644 --- a/yuthon_property_approval/models/property_renamed.py +++ b/yuthon_property_approval/models/property_renamed.py @@ -29,4 +29,21 @@ class PropertyRenamed(models.Model): def _get_default_name_title(self): return self._description if self._description else self._name - name_title = fields.Char(default=_get_default_name_title) \ No newline at end of file + name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False \ No newline at end of file diff --git a/yuthon_property_approval/models/property_rent_relief.py b/yuthon_property_approval/models/property_rent_relief.py index 5fbb56e08..bb98ad525 100644 --- a/yuthon_property_approval/models/property_rent_relief.py +++ b/yuthon_property_approval/models/property_rent_relief.py @@ -34,6 +34,23 @@ class PropertyRentRelief(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_property_approval/models/property_rental_conditions.py b/yuthon_property_approval/models/property_rental_conditions.py index f31ebe90d..0db059499 100644 --- a/yuthon_property_approval/models/property_rental_conditions.py +++ b/yuthon_property_approval/models/property_rental_conditions.py @@ -30,6 +30,23 @@ class PropertyRentalConditions(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class NowRentalConditionsLine(models.Model): _name = 'now.rental.conditions.line' diff --git a/yuthon_property_approval/models/property_rental_form.py b/yuthon_property_approval/models/property_rental_form.py index 3ae26b273..96f7f2a49 100644 --- a/yuthon_property_approval/models/property_rental_form.py +++ b/yuthon_property_approval/models/property_rental_form.py @@ -28,6 +28,23 @@ class PropertyRentalForm(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class PropertyRentalFormLine(models.Model): diff --git a/yuthon_property_approval/models/property_service_approval.py b/yuthon_property_approval/models/property_service_approval.py index 32e0094f7..c10ea44e4 100644 --- a/yuthon_property_approval/models/property_service_approval.py +++ b/yuthon_property_approval/models/property_service_approval.py @@ -66,3 +66,20 @@ class PropertyServiceApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False diff --git a/yuthon_property_approval/models/property_split_approval.py b/yuthon_property_approval/models/property_split_approval.py index 449083a73..bfca986cd 100644 --- a/yuthon_property_approval/models/property_split_approval.py +++ b/yuthon_property_approval/models/property_split_approval.py @@ -35,6 +35,23 @@ class PropertySplitApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('split_quantity', 'property_id') def _onchange_split_quantity(self): diff --git a/yuthon_property_approval/models/property_sporadic_works.py b/yuthon_property_approval/models/property_sporadic_works.py index 34cfd490e..1b0c88416 100644 --- a/yuthon_property_approval/models/property_sporadic_works.py +++ b/yuthon_property_approval/models/property_sporadic_works.py @@ -27,6 +27,23 @@ class PropertySporadicWorks(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class PaymentMethodsLine(models.Model): _name = 'payment.methods.line' diff --git a/yuthon_property_approval/models/property_supervising_approval.py b/yuthon_property_approval/models/property_supervising_approval.py index af0daf66f..10c5160d0 100644 --- a/yuthon_property_approval/models/property_supervising_approval.py +++ b/yuthon_property_approval/models/property_supervising_approval.py @@ -35,6 +35,23 @@ class PropertySupervisingApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class SupervisingWayLine(models.Model): _name = 'supervising.way.line' diff --git a/yuthon_property_approval/models/property_transaction_confirmed.py b/yuthon_property_approval/models/property_transaction_confirmed.py index 4fc70f963..56b075ad1 100644 --- a/yuthon_property_approval/models/property_transaction_confirmed.py +++ b/yuthon_property_approval/models/property_transaction_confirmed.py @@ -31,6 +31,23 @@ class PropertyTransactionConfirmed(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_property_approval/models/property_transfer_approval.py b/yuthon_property_approval/models/property_transfer_approval.py index fadc021cc..78b9147e6 100644 --- a/yuthon_property_approval/models/property_transfer_approval.py +++ b/yuthon_property_approval/models/property_transfer_approval.py @@ -41,6 +41,23 @@ class PropertyTransferApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_trade/models/yuthon_business_approval.py b/yuthon_trade/models/yuthon_business_approval.py index 463783ef2..8deba765f 100644 --- a/yuthon_trade/models/yuthon_business_approval.py +++ b/yuthon_trade/models/yuthon_business_approval.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. +from Tools.scripts.dutree import store from odoo import models, fields, api, exceptions, _ @@ -27,6 +28,23 @@ class YuthonBusinessApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('is_issues') def _onchange_is_issues(self): diff --git a/yuthon_trade/models/yuthon_care_condolences.py b/yuthon_trade/models/yuthon_care_condolences.py index acfdacb46..3255974d0 100644 --- a/yuthon_trade/models/yuthon_care_condolences.py +++ b/yuthon_trade/models/yuthon_care_condolences.py @@ -31,6 +31,23 @@ class YuthonCareCondolences(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False diff --git a/yuthon_trade/models/yuthon_message_approval.py b/yuthon_trade/models/yuthon_message_approval.py index eb6b0355d..40334e708 100644 --- a/yuthon_trade/models/yuthon_message_approval.py +++ b/yuthon_trade/models/yuthon_message_approval.py @@ -28,6 +28,23 @@ class YuthonMessageApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False class YuthonPublishType(models.Model): _name = 'yuthon.publish.type' diff --git a/yuthon_trade/models/yuthon_mutual_approval.py b/yuthon_trade/models/yuthon_mutual_approval.py index 20b255444..e6fff7b52 100644 --- a/yuthon_trade/models/yuthon_mutual_approval.py +++ b/yuthon_trade/models/yuthon_mutual_approval.py @@ -18,6 +18,23 @@ class YuthonMutualApproval(models.Model): insurance_ids = fields.One2many('yuthon.mutual.line', 'mutual_id', string="保单名称") work_end = fields.Boolean(string="结束") active = fields.Boolean('Active', default=True, tracking=True) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('users_id', 'insurance_ids') def _onchange_set_employee_id(self): diff --git a/yuthon_trade/models/yuthon_personal_condolences.py b/yuthon_trade/models/yuthon_personal_condolences.py index 24e15e5ea..6b54f105c 100644 --- a/yuthon_trade/models/yuthon_personal_condolences.py +++ b/yuthon_trade/models/yuthon_personal_condolences.py @@ -10,4 +10,21 @@ class YuthonPersonalCondolences(models.Model): code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('property_personal_condolences_code_sequence')) work_end = fields.Boolean(string="结束") - active = fields.Boolean('Active', default=True, tracking=True) \ No newline at end of file + active = fields.Boolean('Active', default=True, tracking=True) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False \ No newline at end of file diff --git a/yuthon_trade/models/yuthon_seals_approval.py b/yuthon_trade/models/yuthon_seals_approval.py index 769ae8728..1bac2510e 100644 --- a/yuthon_trade/models/yuthon_seals_approval.py +++ b/yuthon_trade/models/yuthon_seals_approval.py @@ -27,3 +27,20 @@ class YuthonSealsApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False diff --git a/yuthon_trade/models/yuthon_task_approval.py b/yuthon_trade/models/yuthon_task_approval.py index a720b09d4..20dd8b7a1 100644 --- a/yuthon_trade/models/yuthon_task_approval.py +++ b/yuthon_trade/models/yuthon_task_approval.py @@ -36,6 +36,23 @@ class YuthonTaskApproval(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.onchange('employee_ids', 'task_id') def _onchange_employee_task(self): diff --git a/yuthon_trade/models/yuthon_trade_activities.py b/yuthon_trade/models/yuthon_trade_activities.py index 17e84c959..92ca435b1 100644 --- a/yuthon_trade/models/yuthon_trade_activities.py +++ b/yuthon_trade/models/yuthon_trade_activities.py @@ -23,4 +23,21 @@ class YuthonTradeActivities(models.Model): host_id = fields.Many2one("hr.department", string="主办") joint_office_ids = fields.Many2many("hr.department", string="联办") work_end = fields.Boolean(string="结束") - active = fields.Boolean('Active', default=True, tracking=True) \ No newline at end of file + active = fields.Boolean('Active', default=True, tracking=True) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False \ No newline at end of file diff --git a/yuthon_trade/models/yuthon_trade_premium.py b/yuthon_trade/models/yuthon_trade_premium.py index 60a25ce6b..638dabc30 100644 --- a/yuthon_trade/models/yuthon_trade_premium.py +++ b/yuthon_trade/models/yuthon_trade_premium.py @@ -30,6 +30,23 @@ class YuthonTradePremium(models.Model): return self._description if self._description else self._name name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False @api.depends('employee_ids') def _compute_employee_ids(self): diff --git a/yuthon_trade/models/yuthon_work_condolences.py b/yuthon_trade/models/yuthon_work_condolences.py index 702e2d644..c9eb6fc19 100644 --- a/yuthon_trade/models/yuthon_work_condolences.py +++ b/yuthon_trade/models/yuthon_work_condolences.py @@ -25,4 +25,21 @@ class YuthonWorkCondolences(models.Model): def _get_default_name_title(self): return self._description if self._description else self._name - name_title = fields.Char(default=_get_default_name_title) \ No newline at end of file + name_title = fields.Char(default=_get_default_name_title) + users_ids = fields.Many2many('res.users', string="当前经办人", store=True, compute='_compute_users_ids') + + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids = [(6, 0, user_ids)] + else: + record.users_ids = False \ No newline at end of file diff --git a/yuthon_trade/views/yuthon_business_approval_viwes.xml b/yuthon_trade/views/yuthon_business_approval_viwes.xml index 6ffd60c6f..78d8e2107 100644 --- a/yuthon_trade/views/yuthon_business_approval_viwes.xml +++ b/yuthon_trade/views/yuthon_business_approval_viwes.xml @@ -42,6 +42,7 @@ + diff --git a/yuthon_will_task/models/yuthon_will_task.py b/yuthon_will_task/models/yuthon_will_task.py index 5d9f2452d..98dbb34fa 100644 --- a/yuthon_will_task/models/yuthon_will_task.py +++ b/yuthon_will_task/models/yuthon_will_task.py @@ -77,7 +77,6 @@ class YuthonWillTask(models.Model): string='人员', store=True, index=True) employee_ids2 = fields.Many2many('hr.employee', 'will_task_employee_rel2', 'custom_id', 'employee_id', string='司机', store=True, index=True) - users_ids = fields.Many2many('res.users', string='用户', store=True, index=True, default=lambda self: self.env.user) user_role_ids = fields.Many2many('soong.user.role', string='角色', store=True, index=True) task_time_ids = fields.Many2many('yuthon.task.time', string='提醒') document_ids = fields.Many2many('ir.attachment', string="附件") @@ -86,6 +85,42 @@ class YuthonWillTask(models.Model): is_this_company = fields.Boolean(string='本公司', default=True) task_state = fields.Selection([('will', '待办'), ('done', '已办'), ('cancel', '取消')], default='will', string='状态', store=True) + users_ids = fields.Many2many( + 'res.users', + relation='yuthon_will_task_users_rel', # + column1='task_id', + column2='user_id', + string='用户', + store=True, + index=True, + default=lambda self: self.env.user + ) + + users_ids1 = fields.Many2many( + 'res.users', + relation='yuthon_will_task_current_users_rel', + column1='task_id', + column2='user_id', + string="当前经办人", + store=True, + compute='_compute_users_ids' + ) + @api.depends('code') + def _compute_users_ids(self): + for record in self: + if not record.code: + record.users_ids1 = False + continue + workflow_records = self.env['soong.workflow.record'].search([ + ('code', '=', record.code), + ], limit=1) + if workflow_records: + employee_ids = workflow_records.employee_ids + user_ids = employee_ids.mapped('user_id').ids + record.users_ids1 = [(6, 0, user_ids)] + else: + record.users_ids1 = False + @api.onchange('employee_ids', 'user_id') def _onchange_employee_ids(self): user_ids = []