Merge remote-tracking branch 'origin/feature/返工优化' into feature/返工优化_1
# Conflicts: # sf_manufacturing/models/mrp_workorder.py
This commit is contained in:
@@ -1084,6 +1084,33 @@ class ResMrpWorkOrder(models.Model):
|
|||||||
workorder.state = 'ready'
|
workorder.state = 'ready'
|
||||||
elif workorder.state != 'waiting':
|
elif workorder.state != 'waiting':
|
||||||
workorder.state = 'waiting'
|
workorder.state = 'waiting'
|
||||||
|
# =========== 特殊工艺工单处理 ===================
|
||||||
|
# if workorder.routing_type == '表面工艺' and workorder.is_subcontrac:
|
||||||
|
# purchase_order = self.env['purchase.order'].search(
|
||||||
|
# [('origin', 'ilike', workorder.production_id.name)])
|
||||||
|
# if purchase_order.picking_ids.filtered(lambda p: p.state in ['waiting', 'confirmed', 'assigned']):
|
||||||
|
# workorder.state = 'waiting'
|
||||||
|
# continue
|
||||||
|
if workorder.routing_type == '表面工艺':
|
||||||
|
if workorder.is_subcontract is False:
|
||||||
|
workorder.state = 'ready'
|
||||||
|
else:
|
||||||
|
production_programming = self.env['mrp.production'].search(
|
||||||
|
[('origin', '=', self.production_id.origin)], order='name asc')
|
||||||
|
production_no_remanufacture = production_programming.filtered(
|
||||||
|
lambda a: a.is_remanufacture is False)
|
||||||
|
production_list = [production.name for production in production_programming]
|
||||||
|
purchase_orders = self.env['purchase.order'].search(
|
||||||
|
[('origin', 'ilike', ','.join(production_list))])
|
||||||
|
for line in purchase_orders.order_line:
|
||||||
|
if (
|
||||||
|
line.product_id.server_product_process_parameters_id == workorder.surface_technics_parameters_id
|
||||||
|
and line.product_qty == len(production_no_remanufacture)):
|
||||||
|
if purchase_orders.state == 'purchase':
|
||||||
|
workorder.state = 'ready'
|
||||||
|
else:
|
||||||
|
workorder.state = 'waiting'
|
||||||
|
|
||||||
# re_work = self.env['mrp.workorder'].search([('production_id', '=', workorder.production_id.id),
|
# re_work = self.env['mrp.workorder'].search([('production_id', '=', workorder.production_id.id),
|
||||||
# ('processing_panel', '=', workorder.processing_panel),
|
# ('processing_panel', '=', workorder.processing_panel),
|
||||||
# ('is_rework', '=', True), ('state', 'in', ['done', 'rework'])])
|
# ('is_rework', '=', True), ('state', 'in', ['done', 'rework'])])
|
||||||
@@ -1139,25 +1166,6 @@ class ResMrpWorkOrder(models.Model):
|
|||||||
# workorder.state = 'ready'
|
# workorder.state = 'ready'
|
||||||
# # if (re_work or cnc_workorder) and workorder.production_id.is_rework is False:
|
# # if (re_work or cnc_workorder) and workorder.production_id.is_rework is False:
|
||||||
# # workorder.state = 'ready'
|
# # workorder.state = 'ready'
|
||||||
# if workorder.routing_type == '表面工艺' and workorder.state not in ['done', 'progress']:
|
|
||||||
# if unclamp_workorder:
|
|
||||||
# if workorder.is_subcontract is False:
|
|
||||||
# workorder.state = 'ready'
|
|
||||||
# else:
|
|
||||||
# production_programming = self.env['mrp.production'].search(
|
|
||||||
# [('origin', '=', self.production_id.origin)], order='name asc')
|
|
||||||
# production_no_remanufacture = production_programming.filtered(
|
|
||||||
# lambda a: a.is_remanufacture is False)
|
|
||||||
# production_list = [production.name for production in production_programming]
|
|
||||||
# purchase_orders = self.env['purchase.order'].search(
|
|
||||||
# [('origin', 'ilike', ','.join(production_list))])
|
|
||||||
# for line in purchase_orders.order_line:
|
|
||||||
# if line.product_id.server_product_process_parameters_id == workorder.surface_technics_parameters_id and line.product_qty == len(
|
|
||||||
# production_no_remanufacture):
|
|
||||||
# if purchase_orders.state == 'purchase':
|
|
||||||
# workorder.state = 'ready'
|
|
||||||
# else:
|
|
||||||
# workorder.state = 'waiting'
|
|
||||||
# elif workorder.production_id.state == 'scrap':
|
# elif workorder.production_id.state == 'scrap':
|
||||||
# if workorder.routing_type == '解除装夹' and unclamp_workorder.test_results == '报废':
|
# if workorder.routing_type == '解除装夹' and unclamp_workorder.test_results == '报废':
|
||||||
# workorder.state = 'waiting'
|
# workorder.state = 'waiting'
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import hashlib
|
|||||||
import requests
|
import requests
|
||||||
import os
|
import os
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from stl import mesh
|
|
||||||
# from OCC.Core.GProp import GProp_GProps
|
# from OCC.Core.GProp import GProp_GProps
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
from OCC.Extend.DataExchange import write_stl_file
|
||||||
|
|||||||
Reference in New Issue
Block a user