From 86cdc9caaf0c42ea2493df609c5f27d6871857c5 Mon Sep 17 00:00:00 2001 From: zhou <123@> Date: Fri, 16 May 2025 09:54:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_mixin.py | 3 ++- yuthon_will_task/models/yuthon_will_task.py | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py index dd0e6238a..286fb72a4 100644 --- a/soong_workflow/models/soong_workflow_mixin.py +++ b/soong_workflow/models/soong_workflow_mixin.py @@ -405,7 +405,8 @@ class SoongWorkflowMixin(models.AbstractModel): log_ids = record.log_ids.sorted('sequence') if log_ids[-1].approval_state == '2': raise UserError('当前状态不可以收回') - self.env['soong.workflow.record'].search([('code', '=', self.code)]).write({"employee_ids": self.env.user.employee_id.id,}) + employee_id = self.env.user.employee_id.id + self.env['soong.workflow.record'].search([('code', '=', self.code)]).write({'employee_ids': [(6, 0, [employee_id])]}) log_ids[-1].unlink() log_ids[-2].write({'approval_state': '1'}) record.write({'state': log_ids[-2].name}) diff --git a/yuthon_will_task/models/yuthon_will_task.py b/yuthon_will_task/models/yuthon_will_task.py index 1d66342db..771c3499b 100644 --- a/yuthon_will_task/models/yuthon_will_task.py +++ b/yuthon_will_task/models/yuthon_will_task.py @@ -15,13 +15,13 @@ class YuthonWillTask(models.Model): priority = fields.Selection([('general', '不紧急不重要'), ('important', '重要不紧急'), ('urgent', '紧急不重要'), ('very_urgent', '重要且紧急')], string='优先级') - user_id = fields.Many2one('res.users', string="创建人") + user_id = fields.Many2one('res.users', string="创建人", default=lambda self: self.env.user) company_id = fields.Many2one('res.company', string="公司", default=lambda self: self.env.company) task_content = fields.Text(string='任务内容') remarks = fields.Text(string='备注') creation_time = fields.Date(string='创建时间', default=fields.Date.today()) employee_ids = fields.Many2many('hr.employee', 'will_task_employee_rel', 'custom_id', 'employee_id', - string='人员', default=lambda self: self.env.user.employee_id, store=True, index=True) + string='人员', store=True, index=True) employee_ids2 = fields.Many2many('hr.employee', 'will_task_employee_rel2', 'custom_id', 'employee_id', string='司机', store=True, index=True) users_ids = fields.Many2many('res.users', string='用户', store=True, index=True, default=lambda self: self.env.user) @@ -29,7 +29,7 @@ class YuthonWillTask(models.Model): task_time_ids = fields.Many2many('yuthon.task.time', string='提醒') address = fields.Char(string='地点') start_time = fields.Datetime(string='开始时间',default=lambda self: datetime.combine(datetime.now().date(), time(1, 0, 0))) - end_time = fields.Datetime(string='结束时间',default=lambda self: datetime.combine(datetime.now().date(), time(11, 0, 0))) + end_time = fields.Datetime(string='结束时间') task_state = fields.Selection([('will', '待办'), ('done', '已办'), ('cancel', '取消')], default='will', string='状态', store=True) @api.constrains('start_time', 'end_time') @@ -38,6 +38,16 @@ class YuthonWillTask(models.Model): if record.start_time and record.end_time and record.start_time > record.end_time: raise models.ValidationError("开始时间不能大于结束时间!") + @api.model + def default_get(self, fields_list): + defaults = super().default_get(fields_list) + current_time = datetime.now() + if current_time.time() < time(12, 0, 0): + defaults["end_time"] = current_time.replace(hour=12, minute=0, second=0) - timedelta(hours=8) + else: + defaults["end_time"] = current_time.replace(hour=18, minute=0, second=0) - timedelta(hours=8) + return defaults + @api.onchange('employee_ids', 'user_id') def _onchange_employee_ids(self): user_ids = []