From 93c188291bbbf5aa1bbc9f1de3552e12df8abe62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Thu, 5 Mar 2026 14:41:07 +0800 Subject: [PATCH] =?UTF-8?q?3=E6=9C=885=E5=8F=B7=E9=A4=90=E9=A5=AE=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_catering/models/yuthon_catering.py | 21 +++++++++++++++++++++ yuthon_catering/views/yuthon_catering.xml | 1 + 2 files changed, 22 insertions(+) diff --git a/yuthon_catering/models/yuthon_catering.py b/yuthon_catering/models/yuthon_catering.py index 8b4eebbd6..663b64d8c 100644 --- a/yuthon_catering/models/yuthon_catering.py +++ b/yuthon_catering/models/yuthon_catering.py @@ -286,6 +286,27 @@ class YuthonCatering(models.Model): 'lunch': True, }) + def fill_today_missing_catering(self): + """生成今天缺失员工的餐饮收集任务数据""" + today = fields.Date.today() + conf = self.env['yuthon.catering.conf'].search([], limit=1) + if not conf or not conf.employee_ids: + return + create_vals = [] + for employee in conf.employee_ids: + existing = self.search([ + ('employee_id', '=', employee.id), + ('date', '=', today), + ], limit=1) + if not existing: + create_vals.append({ + 'date': today, + 'employee_id': employee.id, + 'state': 'unconfirmed', + }) + if create_vals: + self.create(create_vals) + def batch_generate_catering(self): """批量生成2025-12、2026-01、2026-02的餐饮收集任务数据,排除节假日""" from datetime import date as date_cls diff --git a/yuthon_catering/views/yuthon_catering.xml b/yuthon_catering/views/yuthon_catering.xml index 0abf85228..23e520f11 100644 --- a/yuthon_catering/views/yuthon_catering.xml +++ b/yuthon_catering/views/yuthon_catering.xml @@ -13,6 +13,7 @@