日程管理

This commit is contained in:
李鹏宇
2026-03-09 14:10:19 +08:00
parent 5fadbd70f9
commit d38549870f
+10 -3
View File
@@ -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