diff --git a/yuthon_catering/models/yuthon_catering.py b/yuthon_catering/models/yuthon_catering.py index 6bb749fc3..bc8c42e6f 100644 --- a/yuthon_catering/models/yuthon_catering.py +++ b/yuthon_catering/models/yuthon_catering.py @@ -170,7 +170,7 @@ class YuthonCatering(models.Model): # 定时任务:每天晙21点自动补全当天缺失的餐饮数据,再自动确认 def cron_fill_today_missing(self): - today = fields.Date.today() + today = fields.Date.today() + timedelta(days=1) # 检查当天是否有菜单记录,没有则跳过 menu_today = self.env['yuthon.menu.setting'].search([('menu_date', '=', today)], limit=1) if not menu_today: diff --git a/yuthon_will_task/controllers/main.py b/yuthon_will_task/controllers/main.py index 9fe5fce19..e07d82f2a 100644 --- a/yuthon_will_task/controllers/main.py +++ b/yuthon_will_task/controllers/main.py @@ -1,7 +1,7 @@ import base64 import json from datetime import timedelta -from odoo import http, fields +from odoo import http, fields, Command from odoo.http import request from odoo.osv import expression from urllib.parse import quote @@ -267,9 +267,18 @@ class YuthonWillTask(http.Controller): address: 地址 start_date: 任务日期 """ - employee_ids = kw.get('employee_ids', []) - employee_ids2 = kw.get('employee_ids2', []) - task_time_ids = kw.get('task_time_ids', []) + def str2list(value: str) -> list[int]: + if not value: + return [] + if not isinstance(value, str): + raise ValueError('value must be str') + str_list = value.split(',') + return [int(s) for s in str_list] + + employee_ids = str2list(kw.get('employee_ids')) + employee_ids2 = str2list(kw.get('employee_ids2')) + task_time_ids = str2list(kw.get('task_time_ids')) + if not isinstance(task_time_ids, list): return json.dumps({'data': '', 'code': 201, 'message': '提醒参数错误'}) if not isinstance(employee_ids2, list): @@ -288,17 +297,18 @@ class YuthonWillTask(http.Controller): 'address': kw.get('address', False), 'start_date': kw.get('start_date', False) } + Task = request.env['yuthon.will.task'].sudo() record_id = kw.get('record_id', False) if record_id: # 获取要更新的日程 - record = request.env['yuthon.will.task'].sudo().browse(int(record_id)) - record.sudo().write(data) + record = Task.browse(int(record_id)) + record.write(data) else: #创建日程 users_id = int(kw.get('users_id')) user = request.env['res.users'].sudo().browse(int(users_id)) - request.env.user = user - record = request.env['yuthon.will.task'].sudo().create(data) + # request.env.user = user + record = Task.with_user(user).sudo().create(data) # users_id = int(kw.get('users_id')) # user = request.env['res.users'].sudo().browse(int(users_id)) # employee_id = user.with_company(user.company_id.id).employee_id.id