Merge branch 'dev' of https://gitee.com/jinan-pengyusen-data/gzth into dev_wang
This commit is contained in:
@@ -198,7 +198,7 @@ class YuthonCatering(models.Model):
|
||||
# 补全后自动确认当天所有未确认记录
|
||||
self.cron_auto_confirm_today()
|
||||
|
||||
# 定时任务:每天晙21点把当天未确认的餐饮记录自动改为已确认
|
||||
# 定时任务:每天晙21点把当天未确认的餐饮记录自动改为已确认并早餐午餐都吃(除外派)
|
||||
def cron_auto_confirm_today(self):
|
||||
today = fields.Date.today()
|
||||
# 检查当天是否有菜单记录,没有则跳过
|
||||
@@ -210,7 +210,39 @@ class YuthonCatering(models.Model):
|
||||
('state', '=', 'unconfirmed'),
|
||||
])
|
||||
if unconfirmed_records:
|
||||
unconfirmed_records.write({'state': 'confirmed'})
|
||||
for record in unconfirmed_records:
|
||||
if self.is_expatriates(today, record.employee_id):
|
||||
breakfast = False
|
||||
lunch = False
|
||||
else:
|
||||
breakfast = True
|
||||
lunch = True
|
||||
record.write({'state': 'confirmed',
|
||||
'breakfast': breakfast, 'lunch': lunch})
|
||||
|
||||
|
||||
def is_expatriates(self, current_data, employee):
|
||||
expat_approval = self.env['expatriation.approval'].search([
|
||||
('is_effect', '=', False),
|
||||
('work_end', '=', True),
|
||||
('expatriates_ids', 'in', [employee.id])
|
||||
], limit=1)
|
||||
# 查找有效的返回审批单
|
||||
back_approval = self.env['back.approval'].search([
|
||||
('is_void', '=', False),
|
||||
('work_end', '=', True),
|
||||
('expatriates_id', '=', employee.id)
|
||||
], limit=1)
|
||||
|
||||
# 3. 外派中:当前时间 >= 外派开始日期 → 属于外派
|
||||
if expat_approval and expat_approval.start_date:
|
||||
if current_data >= expat_approval.start_date:
|
||||
return True
|
||||
|
||||
if back_approval and back_approval.end_date:
|
||||
if current_data >= back_approval.end_date:
|
||||
return False
|
||||
|
||||
|
||||
# 定义定时任务方法,每天九点半发送消息提醒
|
||||
def cron_send_message(self):
|
||||
|
||||
Reference in New Issue
Block a user