From d38549870fdf385c55d0dcded9de5f07545955ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Mon, 9 Mar 2026 14:10:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E7=A8=8B=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_will_task/models/yuthon_will_task.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/yuthon_will_task/models/yuthon_will_task.py b/yuthon_will_task/models/yuthon_will_task.py index dc6b04a78..0b54bb1aa 100644 --- a/yuthon_will_task/models/yuthon_will_task.py +++ b/yuthon_will_task/models/yuthon_will_task.py @@ -125,7 +125,7 @@ class YuthonWillTask(models.Model): for record in will_ids: record._check_task_time() - @api.constrains('start_date', 'request_hour_from', 'request_hour_to') + @api.constrains('start_date', 'request_hour_from', 'request_hour_to', 'task_type', 'room_booking_id') def _check_task_time(self): for record in self: date_str = "" @@ -160,7 +160,14 @@ class YuthonWillTask(models.Model): from_time = hour_mapping.get(record.request_hour_from, "") to_time = hour_mapping.get(record.request_hour_to, "") if date_str and from_time and to_time: - record.task_time = f"{date_str} {record.task_week} {from_time}" + base_time = f"{date_str} {record.task_week} {from_time}" + # 会议类型:拼接会议室预订的结束时间 + if record.task_type == 'meet' and record.room_booking_id and record.room_booking_id.stop_datetime: + stop_local = record.room_booking_id.stop_datetime + timedelta(hours=8) + stop_str = stop_local.strftime("%H:%M") + record.task_time = f"{base_time}-{stop_str}" + else: + record.task_time = base_time else: record.task_time = "" @@ -276,7 +283,7 @@ class YuthonWillTask(models.Model): def write(self, vals): """修改日程时,先删除旧提醒任务,再创建新的""" res = super(YuthonWillTask, self).write(vals) - key_fields = ['start_date', 'request_hour_from', 'task_time_ids', 'employee_ids', 'employee_ids2'] + key_fields = ['start_date', 'request_hour_from', 'task_time_ids', 'employee_ids', 'employee_ids2', 'task_type', 'room_booking_id'] if any(field in vals for field in key_fields): self._sync_dates_task() return res