修复“待排程状态的制造订单有实际时长,不应该有【实际时长】、【安排的日期】【计划结束时间】这几个字段”问题

This commit is contained in:
mgw
2024-03-16 11:22:01 +08:00
parent d1eba51f61
commit aeca8ef2b2
2 changed files with 9 additions and 5 deletions

View File

@@ -44,8 +44,9 @@ class sf_production_plan(models.Model):
production_id = fields.Many2one('mrp.production', '关联制造订单') production_id = fields.Many2one('mrp.production', '关联制造订单')
product_qty = fields.Float(string='数量', digits='Product Unit of Measure', required=True, default=0.0) product_qty = fields.Float(string='数量', digits='Product Unit of Measure', required=True, default=0.0)
production_line_id = fields.Many2one('sf.production.line', string='生产线') production_line_id = fields.Many2one('sf.production.line', string='生产线')
date_planned_start = fields.Datetime(string='计划开始时间', required=True, index=True, copy=False, # date_planned_start = fields.Datetime(string='计划开始时间', required=True, index=True, copy=False,
default=fields.Datetime.now) # default=fields.Datetime.now)
date_planned_start = fields.Datetime(string='计划开始时间')
date_planned_finished = fields.Datetime(string='计划结束时间') date_planned_finished = fields.Datetime(string='计划结束时间')
# 排程设置selection(倒排,顺排,默认倒排) # 排程设置selection(倒排,顺排,默认倒排)
schedule_setting = fields.Selection([ schedule_setting = fields.Selection([
@@ -80,7 +81,7 @@ class sf_production_plan(models.Model):
def _compute_production_line_id(self): def _compute_production_line_id(self):
for item in self: for item in self:
item.sudo().production_id.production_line_id = item.production_line_id.id item.sudo().production_id.production_line_id = item.production_line_id.id
item.sudo().production_id.plan_start_processing_time = item.date_planned_start # item.sudo().production_id.plan_start_processing_time = item.date_planned_start
# @api.onchange('state') # @api.onchange('state')
# def _onchange_state(self): # def _onchange_state(self):
@@ -198,7 +199,9 @@ class sf_production_plan(models.Model):
for item in record.production_id.workorder_ids: for item in record.production_id.workorder_ids:
if item.name == 'CNC加工': if item.name == 'CNC加工':
item.date_planned_finished = datetime.now() + timedelta(days=100) item.date_planned_finished = datetime.now() + timedelta(days=100)
item.date_planned_start = record.date_planned_start # item.date_planned_start = record.date_planned_start
item.date_planned_start = datetime.now()
record.sudo().production_id.plan_start_processing_time = item.date_planned_start
item.date_planned_finished = item.date_planned_start + timedelta( item.date_planned_finished = item.date_planned_start + timedelta(
minutes=record.env['mrp.routing.workcenter'].sudo().search( minutes=record.env['mrp.routing.workcenter'].sudo().search(
[('name', '=', 'CNC加工')]).time_cycle) [('name', '=', 'CNC加工')]).time_cycle)
@@ -291,6 +294,7 @@ class sf_production_plan(models.Model):
print('时间设置失败,请检查是否为工序分配工作中心,%s' % e) print('时间设置失败,请检查是否为工序分配工作中心,%s' % e)
def cancel_production_schedule(self): def cancel_production_schedule(self):
self.date_planned_start = False
self.date_planned_finished = False self.date_planned_finished = False
self.state = 'draft' self.state = 'draft'
self.production_line_id = False self.production_line_id = False

View File

@@ -88,7 +88,7 @@
<group string="加工信息"> <group string="加工信息">
<field name="date_planned_start"/> <field name="date_planned_start" placeholder="如果不选择计划开始时间,会取当前时间来做排程"/>
<field name="date_planned_finished"/> <field name="date_planned_finished"/>
<field name="actual_process_time"/> <field name="actual_process_time"/>
<field name="actual_start_time"/> <field name="actual_start_time"/>