This commit is contained in:
jinling.yang
2023-04-21 17:43:29 +08:00
2 changed files with 37 additions and 36 deletions

View File

@@ -4,7 +4,7 @@ csv_internal_sep = ,
data_dir = /var/lib/odoo data_dir = /var/lib/odoo
db_host = 172.17.0.2 db_host = 172.17.0.2
db_maxconn = 64 db_maxconn = 64
db_name = sf_dev_pro db_name = sf_dev_odoo
db_password = sf db_password = sf
db_port = 5432 db_port = 5432
db_sslmode = prefer db_sslmode = prefer

View File

@@ -131,41 +131,42 @@ class MrpProduction(models.Model):
self.env['mrp.workorder'].json_workorder_str(k, production, route)) self.env['mrp.workorder'].json_workorder_str(k, production, route))
# 表面工艺工序 # 表面工艺工序
# 获取表面工艺id # 获取表面工艺id
surface_technics_arr = [] if production.product_id.model_process_parameters_ids:
# 工序id surface_technics_arr = []
route_workcenter_arr = [] # 工序id
for item in production.product_id.product_model_type_id.surface_technics_routing_tmpl_ids: route_workcenter_arr = []
surface_technics_arr.append(item.route_workcenter_id.surface_technics_id.id) for item in production.product_id.product_model_type_id.surface_technics_routing_tmpl_ids:
route_workcenter_arr.append(item.route_workcenter_id.id) surface_technics_arr.append(item.route_workcenter_id.surface_technics_id.id)
if surface_technics_arr: route_workcenter_arr.append(item.route_workcenter_id.id)
production_process_category = self.env['sf.production.process.category'].search( if surface_technics_arr:
[('production_process_ids.id', 'in', surface_technics_arr)], production_process_category = self.env['sf.production.process.category'].search(
order='sequence asc' [('production_process_ids.id', 'in', surface_technics_arr)],
) order='sequence asc'
# 用filter刷选表面工艺id'是否存在工艺类别对象里 )
if production_process_category: # 用filter刷选表面工艺id'是否存在工艺类别对象里
for p in production_process_category: if production_process_category:
production_process = p.production_process_ids.filtered( for p in production_process_category:
lambda pp: pp.id in surface_technics_arr) production_process = p.production_process_ids.filtered(
if production_process: lambda pp: pp.id in surface_technics_arr)
process_parameter = production.product_id.model_process_parameters_ids.filtered( if production_process:
lambda pm: pm.process_id.id == production_process.id) process_parameter = production.product_id.model_process_parameters_ids.filtered(
if process_parameter: lambda pm: pm.process_id.id == production_process.id)
# 产品为表面工艺服务的供应商 if process_parameter:
product_production_process = self.env['product.template'].search( # 产品为表面工艺服务的供应商
[('server_product_process_parameters_id', '=', process_parameter.id)]) product_production_process = self.env['product.template'].search(
if product_production_process: [('server_product_process_parameters_id', '=', process_parameter.id)])
route_production_process = self.env[ if product_production_process:
'mrp.routing.workcenter'].search( route_production_process = self.env[
[('surface_technics_id', '=', production_process.id), 'mrp.routing.workcenter'].search(
('id', 'in', route_workcenter_arr)]) [('surface_technics_id', '=', production_process.id),
if route_production_process: ('id', 'in', route_workcenter_arr)])
workorders_values.append( if route_production_process:
self.env[ workorders_values.append(
'mrp.workorder']._json_workorder_surface_process_str( self.env[
production, route_production_process, 'mrp.workorder']._json_workorder_surface_process_str(
process_parameter, production, route_production_process,
product_production_process.seller_ids[0].partner_id.id)) process_parameter,
product_production_process.seller_ids[0].partner_id.id))
elif production.product_id.categ_id.type == '坯料': elif production.product_id.categ_id.type == '坯料':
embryo_routing_workcenter = self.env['sf.embryo.model.type.routing.sort'].search( embryo_routing_workcenter = self.env['sf.embryo.model.type.routing.sort'].search(
[('embryo_model_type_id', '=', production.product_id.embryo_model_type_id.id)], [('embryo_model_type_id', '=', production.product_id.embryo_model_type_id.id)],