更改排程结构前备份

This commit is contained in:
mgw
2023-08-25 09:14:15 +08:00
parent c699cdff0a
commit e33a25e47a
4 changed files with 86 additions and 9 deletions

View File

@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
import re
from datetime import datetime, timedelta
from odoo import api, fields, models, _
@@ -34,10 +35,28 @@ class MrpProduction(models.Model):
" * Done: The MO is closed, the stock moves are posted. \n"
" * Cancelled: The MO has been cancelled, can't be confirmed anymore.")
@api.depends('company_id', 'date_planned_start', 'is_planned', 'product_id')
def _compute_date_planned_finished(self):
pass
# 当不设置计划结束时间时,增加计算计划结束时间的方法,根据采购周期加缓冲期两个值来算就可以了
def action_view_production_schedule(self):
self.ensure_one()
self.state = '已排程'
if self.date_planned_start and self.date_planned_finished:
return None
elif self.date_planned_start and not self.date_planned_finished:
# 如果没有给出计划结束时间,则计划结束时间为计划开始时间+采购周期+缓冲期
# 采购周期
purchase_cycle = 3
# 缓冲期
buffer_period = 1
# 计划结束时间 = 计划开始时间 + 采购周期 + 缓冲期
self.date_planned_finished = self.date_planned_start + timedelta(days=purchase_cycle) + timedelta(
days=buffer_period)
self.state = '已排程'
return self.date_planned_finished
else:
return None
# if self.plan_start_time and self.plan_end_time:
# return None
# elif self.plan_start_time and not self.plan_end_time:
@@ -54,9 +73,8 @@ class MrpProduction(models.Model):
def cancel_plan(self):
self.ensure_one()
self.date_planned_finished = None
self.state = 'confirmed'
# self.plan_start_time = None
# self.plan_end_time = None
@api.depends('request_ids')
def _compute_maintenance_count(self):