From bf3ca182355ecd8671cfb5c438ad94be2e21d9c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Tue, 10 Mar 2026 12:02:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_catering/controllers/restaurant.py | 22 +++++++++++-------- .../models/inherit_room_booking.py | 17 +++++++++++++- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/yuthon_catering/controllers/restaurant.py b/yuthon_catering/controllers/restaurant.py index d366a0f38..46bcca492 100644 --- a/yuthon_catering/controllers/restaurant.py +++ b/yuthon_catering/controllers/restaurant.py @@ -51,15 +51,19 @@ class RestaurantController(Controller): _logger.info(f'---当前获取数据--{user_id}---') _logger.info(f'---当前获取数据--{employee.id}---{employee.name}') menu_date = kwargs.get('menu_date', date.today()) - record = request.env['yuthon.catering'].create({ - 'date': menu_date, - 'employee_id': employee.id, - 'breakfast': kwargs.get('breakfast') == 'true', - 'lunch': kwargs.get('lunch') == 'true', - 'menu_day_id': kwargs.get('menu_id'), - 'state': 'confirmed' - }) - if record: + existing_record = request.env['yuthon.catering'].search([ + ('date', '=', menu_date), + ('employee_id', '=', employee.id) + ], limit=1) + if not existing_record: + record = request.env['yuthon.catering'].create({ + 'date': menu_date, + 'employee_id': employee.id, + 'breakfast': kwargs.get('breakfast') == 'true', + 'lunch': kwargs.get('lunch') == 'true', + 'menu_day_id': kwargs.get('menu_id'), + 'state': 'confirmed' + }) catering_data = { 'id': record.id, 'user_id': employee.user_id.id, diff --git a/yuthon_will_task/models/inherit_room_booking.py b/yuthon_will_task/models/inherit_room_booking.py index bf18ef0a9..6633e263d 100644 --- a/yuthon_will_task/models/inherit_room_booking.py +++ b/yuthon_will_task/models/inherit_room_booking.py @@ -28,11 +28,26 @@ class InheritRoomBooking(models.Model): task_time_ids = self.env['yuthon.task.time'].search([('name', '=', '30分钟')]) new_record = super(InheritRoomBooking, self).create(vals) employee_list = [] + user_list = [] if new_record.room_users_ids: + user_list.extend(new_record.room_users_ids.ids) for user_id in new_record.room_users_ids: if user_id.employee_id: employee_list.append(user_id.employee_id.id) + if new_record.recorder_ids: + employee_list.extend(new_record.recorder_ids.ids) + for emp in new_record.recorder_ids: + if emp.user_id: + user_list.append(emp.user_id.id) + + if new_record.host: + employee_list.append(new_record.host.id) + if new_record.host.user_id: + user_list.append(new_record.host.user_id.id) + employee_list = list(set(employee_list)) + user_list = list(set(user_list)) + def get_hour_selection(datetime_obj): if not datetime_obj: return None @@ -68,7 +83,7 @@ class InheritRoomBooking(models.Model): request_hour_to = get_hour_selection(new_record.stop_datetime) self.env['yuthon.will.task'].sudo().create({ 'name': new_record.name, - 'users_ids': [(6, 0, new_record.room_users_ids.ids)], + 'users_ids': [(6, 0, user_list)], 'employee_ids': [(6, 0, employee_list)], 'task_time_ids': [(6, 0, task_time_ids.ids)], 'start_date': start_date,