Accept Merge Request #2009: (feature/tool_standard_library_process -> develop)

Merge Request: 更新工艺外协流程的报错问题

Created By: @廖丹龙
Reviewed By: @胡尧
Approved By: @胡尧 
Accepted By: @廖丹龙
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/2009
This commit is contained in:
廖丹龙
2025-04-17 16:34:27 +08:00
committed by Coding
4 changed files with 40 additions and 9 deletions

View File

@@ -1,3 +1,4 @@
# from . import product_template # from . import product_template
# from . import product_supplierinfo # from . import product_supplierinfo
from . import sf_production_common from . import sf_production_common
from . import mrp_routing_workcenter

View File

@@ -0,0 +1,16 @@
import logging
from odoo import fields, models, api
from odoo.exceptions import UserError
from odoo.tools import str2bool
class ResMrpRoutingWorkcenter(models.Model):
_inherit = 'mrp.routing.workcenter'
def init(self):
super(ResMrpRoutingWorkcenter, self).init()
# 在模块初始化时触发计算字段的更新
records = self.search([])
if str2bool(self.env['ir.config_parameter'].get_param('sf.production.process.parameter.is_init_workcenter',default='False')):
return
records.optional_process_parameters_date()
self.env['ir.config_parameter'].set_param('sf.production.process.parameter.is_init_workcenter', True)

View File

@@ -7,6 +7,8 @@ from odoo.tools import str2bool
class SfProductionProcessParameter(models.Model): class SfProductionProcessParameter(models.Model):
_inherit = 'sf.production.process.parameter' _inherit = 'sf.production.process.parameter'
@api.model @api.model
def create(self, vals): def create(self, vals):
if vals.get('code', '/') == '/' or vals.get('code', '/') is False: if vals.get('code', '/') == '/' or vals.get('code', '/') is False:

View File

@@ -40,14 +40,26 @@ class ResMrpRoutingWorkcenter(models.Model):
]) ])
record.optional_process_parameters = parameter_ids.ids record.optional_process_parameters = parameter_ids.ids
def init(self): # @api.model
super(ResMrpRoutingWorkcenter, self).init() # def _auto_init(self):
# 在模块初始化时触发计算字段的更新 # # 先执行标准初始化
records = self.search([]) # res = super(ResMrpRoutingWorkcenter, self)._auto_init()
if str2bool(self.env['ir.config_parameter'].get_param('sf.production.process.parameter.is_init_workcenter',default='False')): # # 然后执行自定义初始化
return # records = self.search([])
records.optional_process_parameters_date() # if str2bool(self.env['ir.config_parameter'].get_param('sf.production.process.parameter.is_init_workcenter',
self.env['ir.config_parameter'].set_param('sf.production.process.parameter.is_init_workcenter', True) # default='False')):
# return
# records.optional_process_parameters_date()
# self.env['ir.config_parameter'].set_param('sf.production.process.parameter.is_init_workcenter', True)
# return res
# def init(self):
# super(ResMrpRoutingWorkcenter, self).init()
# # 在模块初始化时触发计算字段的更新
# records = self.search([])
# if str2bool(self.env['ir.config_parameter'].get_param('sf.production.process.parameter.is_init_workcenter',default='False')):
# return
# records.optional_process_parameters_date()
# self.env['ir.config_parameter'].set_param('sf.production.process.parameter.is_init_workcenter', True)
def get_no(self): def get_no(self):
international_standards = self.search( international_standards = self.search(
[('code', '!=', ''), ('active', 'in', [True, False])], [('code', '!=', ''), ('active', 'in', [True, False])],