diff --git a/sf_plan/models/custom_plan.py b/sf_plan/models/custom_plan.py index 388d2630..ddd3bcc5 100644 --- a/sf_plan/models/custom_plan.py +++ b/sf_plan/models/custom_plan.py @@ -70,6 +70,27 @@ class sf_production_plan(models.Model): sequence = fields.Integer(string='序号', copy=False, readonly=True, index=True) current_operation_name = fields.Char(string='当前工序名称', size=64, default='生产计划') + @api.onchange('date_planned_start') + def date_planned_start_onchange(self): + if self.date_planned_start: + self.date_planned_finished = self.date_planned_start + timedelta(hours=1) + + #处理计划状态非代排程,计划结束时间为空的数据处理 + def deal_no_date_planned_finished(self): + plans = self.env['sf.production.plan'].search( + [('date_planned_finished', '=', False), ('state', 'in', ['processing', 'done', 'finished'])]) + for item in plans: + if item.date_planned_start: + item.date_planned_finished = item.date_planned_start + timedelta(hours=1) + if not item.order_deadline and item.date_planned_start: + item.order_deadline = item.date_planned_start + timedelta(days=7) + + @api.model + def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None): + + info = super(sf_production_plan, self).search_read(domain, fields, offset, limit, order) + return info + # 计算实际加工时长 @api.depends('actual_start_time', 'actual_end_time') def _compute_actual_process_time(self): @@ -221,6 +242,8 @@ class sf_production_plan(models.Model): record.date_planned_start, record.date_planned_finished = \ item.date_planned_start, item.date_planned_finished record.state = 'done' + record.date_planned_finished = record.date_planned_start + timedelta( + minutes=60) if not record.date_planned_finished else record.date_planned_finished # record.production_id.schedule_state = '已排' record.sudo().production_id.schedule_state = '已排' record.sudo().production_id.process_state = '待装夹' diff --git a/sf_plan/views/view.xml b/sf_plan/views/view.xml index 10992f4a..82382ef3 100644 --- a/sf_plan/views/view.xml +++ b/sf_plan/views/view.xml @@ -88,8 +88,8 @@ - - + +