@@ -183,6 +183,47 @@ class YuthonShiftPlanning(models.Model):
|
||||
current_month = datetime.now().month
|
||||
return str(current_month) # 返回字符串类型的月份
|
||||
|
||||
@api.onchange(
|
||||
'planning_a_ids',
|
||||
'planning_b_ids',
|
||||
'planning_c_ids',
|
||||
'planning_ever_white_ids',
|
||||
'planning_ever_noon_ids'
|
||||
)
|
||||
def _onchange_sync_lianan_role_employees(self):
|
||||
lianan_role = self.env['planning.role'].search([('name', '=', '联安粮库')], limit=1)
|
||||
target_employees = self.env['hr.employee']
|
||||
# A组
|
||||
for line in self.planning_a_ids:
|
||||
if line.employee_id:
|
||||
target_employees |= line.employee_id
|
||||
# B组
|
||||
for line in self.planning_b_ids:
|
||||
if line.employee_id:
|
||||
target_employees |= line.employee_id
|
||||
# C组
|
||||
for line in self.planning_c_ids:
|
||||
if line.employee_id:
|
||||
target_employees |= line.employee_id
|
||||
# 常白班
|
||||
for line in self.planning_ever_white_ids:
|
||||
if line.employee_id:
|
||||
target_employees |= line.employee_id
|
||||
# 常中班
|
||||
for line in self.planning_ever_noon_ids:
|
||||
if line.employee_id:
|
||||
target_employees |= line.employee_id
|
||||
|
||||
target_resources = self.env['resource.resource']
|
||||
if target_employees:
|
||||
target_resources = self.env['resource.resource'].search([
|
||||
('id', 'in', target_employees.mapped('resource_id').ids)
|
||||
])
|
||||
|
||||
lianan_role.write({
|
||||
'resource_ids': [(5, 0, 0)] + [(4, res_id, 0) for res_id in target_resources.ids]
|
||||
})
|
||||
|
||||
class YuthonShiftPlanningALine(models.Model):
|
||||
_name = 'yuthon.shift.planning.a.line'
|
||||
_description = '排班安排A组'
|
||||
|
||||
Reference in New Issue
Block a user