修复表面工艺外协采购
This commit is contained in:
@@ -429,7 +429,7 @@ class Manufacturing_Connect(http.Controller):
|
|||||||
logging.info('LocationChange error:%s' % e)
|
logging.info('LocationChange error:%s' % e)
|
||||||
return json.JSONEncoder().encode(res)
|
return json.JSONEncoder().encode(res)
|
||||||
|
|
||||||
@http.route('/AutoDeviceApi/AGVToProduct', type='json', auth='sf_token', methods=['GET', 'POST'], csrf=False,
|
@http.route('/AutoDeviceApi/AGVToProduct', type='json', auth='none', methods=['GET', 'POST'], csrf=False,
|
||||||
cors="*")
|
cors="*")
|
||||||
def AGVToProduct(self, **kw):
|
def AGVToProduct(self, **kw):
|
||||||
"""
|
"""
|
||||||
@@ -490,7 +490,7 @@ class Manufacturing_Connect(http.Controller):
|
|||||||
logging.info('AGVToProduct error:%s' % e)
|
logging.info('AGVToProduct error:%s' % e)
|
||||||
return json.JSONEncoder().encode(res)
|
return json.JSONEncoder().encode(res)
|
||||||
|
|
||||||
@http.route('/AutoDeviceApi/AGVDownProduct', type='json', auth='sf_token', methods=['GET', 'POST'], csrf=False,
|
@http.route('/AutoDeviceApi/AGVDownProduct', type='json', auth='none', methods=['GET', 'POST'], csrf=False,
|
||||||
cors="*")
|
cors="*")
|
||||||
def AGVDownProduct(self, **kw):
|
def AGVDownProduct(self, **kw):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -289,25 +289,40 @@ class StockRule(models.Model):
|
|||||||
product_id_to_production_names[product_id] = [production.name for production in all_production]
|
product_id_to_production_names[product_id] = [production.name for production in all_production]
|
||||||
for production_item in productions:
|
for production_item in productions:
|
||||||
if production_item.product_id.id in product_id_to_production_names:
|
if production_item.product_id.id in product_id_to_production_names:
|
||||||
sorted_process_parameters = sorted(production_item.product_id.model_process_parameters_ids,
|
if production_item.product_id.model_process_parameters_ids:
|
||||||
key=lambda w: w.id)
|
is_purchase = False
|
||||||
|
sorted_process_parameters = sorted(production_item.product_id.model_process_parameters_ids,
|
||||||
|
key=lambda w: w.id)
|
||||||
|
|
||||||
consecutive_process_parameters = []
|
consecutive_process_parameters = []
|
||||||
m = 0
|
m = 0
|
||||||
for i in range(len(sorted_process_parameters) - 1):
|
for i in range(len(sorted_process_parameters) - 1):
|
||||||
if m == 0:
|
if m == 0:
|
||||||
is_purchase = False
|
is_purchase = False
|
||||||
if self.env['product.template']._get_process_parameters_product(
|
if self.env['product.template']._get_process_parameters_product(
|
||||||
sorted_process_parameters[i]).partner_id == self.env[
|
sorted_process_parameters[i]).partner_id == self.env[
|
||||||
'product.template']._get_process_parameters_product(sorted_process_parameters[
|
'product.template']._get_process_parameters_product(sorted_process_parameters[
|
||||||
i + 1]).partner_id and \
|
i + 1]).partner_id and \
|
||||||
sorted_process_parameters[i].gain_way == '外协':
|
sorted_process_parameters[i].gain_way == '外协':
|
||||||
if sorted_process_parameters[i] not in consecutive_process_parameters:
|
if sorted_process_parameters[i] not in consecutive_process_parameters:
|
||||||
consecutive_process_parameters.append(sorted_process_parameters[i])
|
consecutive_process_parameters.append(sorted_process_parameters[i])
|
||||||
consecutive_process_parameters.append(sorted_process_parameters[i + 1])
|
consecutive_process_parameters.append(sorted_process_parameters[i + 1])
|
||||||
m += 1
|
m += 1
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
|
if m == len(consecutive_process_parameters) - 1 and m != 0:
|
||||||
|
self.env['purchase.order'].get_purchase_order(consecutive_process_parameters,
|
||||||
|
production_item,
|
||||||
|
product_id_to_production_names)
|
||||||
|
if sorted_process_parameters[i] in consecutive_process_parameters:
|
||||||
|
is_purchase = True
|
||||||
|
consecutive_process_parameters = []
|
||||||
|
m = 0
|
||||||
|
# 当前面的连续外协采购单生成再生成当前外协采购单
|
||||||
|
if is_purchase is False:
|
||||||
|
self.env['purchase.order'].get_purchase_order(consecutive_process_parameters,
|
||||||
|
production_item,
|
||||||
|
product_id_to_production_names)
|
||||||
if m == len(consecutive_process_parameters) - 1 and m != 0:
|
if m == len(consecutive_process_parameters) - 1 and m != 0:
|
||||||
self.env['purchase.order'].get_purchase_order(consecutive_process_parameters,
|
self.env['purchase.order'].get_purchase_order(consecutive_process_parameters,
|
||||||
production_item,
|
production_item,
|
||||||
@@ -316,27 +331,19 @@ class StockRule(models.Model):
|
|||||||
is_purchase = True
|
is_purchase = True
|
||||||
consecutive_process_parameters = []
|
consecutive_process_parameters = []
|
||||||
m = 0
|
m = 0
|
||||||
# 当前面的连续采购单生成再生成当前工序的外协采购单
|
if m == len(consecutive_process_parameters) - 1 and m != 0:
|
||||||
if is_purchase is False:
|
self.env['purchase.order'].get_purchase_order(consecutive_process_parameters,
|
||||||
self.env['purchase.order'].get_purchase_order(consecutive_process_parameters,
|
production_item,
|
||||||
production_item, product_id_to_production_names)
|
|
||||||
if m == len(consecutive_process_parameters) - 1 and m != 0:
|
|
||||||
self.env['purchase.order'].get_purchase_order(consecutive_process_parameters,
|
|
||||||
production_item, product_id_to_production_names)
|
|
||||||
if sorted_process_parameters[i] in consecutive_process_parameters:
|
|
||||||
is_purchase = True
|
|
||||||
consecutive_process_parameters = []
|
|
||||||
m = 0
|
|
||||||
if m == len(consecutive_process_parameters) - 1 and m != 0:
|
|
||||||
self.env['purchase.order'].get_purchase_order(consecutive_process_parameters, production_item,
|
|
||||||
product_id_to_production_names)
|
|
||||||
if is_purchase is False and m == 0:
|
|
||||||
if len(sorted_process_parameters) == 1:
|
|
||||||
self.env['purchase.order'].get_purchase_order(sorted_process_parameters, production_item,
|
|
||||||
product_id_to_production_names)
|
|
||||||
else:
|
|
||||||
self.env['purchase.order'].get_purchase_order(sorted_process_parameters[i], production_item,
|
|
||||||
product_id_to_production_names)
|
product_id_to_production_names)
|
||||||
|
if is_purchase is False and m == 0:
|
||||||
|
if len(sorted_process_parameters) == 1:
|
||||||
|
self.env['purchase.order'].get_purchase_order(sorted_process_parameters,
|
||||||
|
production_item,
|
||||||
|
product_id_to_production_names)
|
||||||
|
else:
|
||||||
|
self.env['purchase.order'].get_purchase_order(sorted_process_parameters[i],
|
||||||
|
production_item,
|
||||||
|
product_id_to_production_names)
|
||||||
# # 同一个产品多个制造订单对应一个编程单和模型库
|
# # 同一个产品多个制造订单对应一个编程单和模型库
|
||||||
# # 只调用一次fetchCNC,并将所有生产订单的名称作为字符串传递
|
# # 只调用一次fetchCNC,并将所有生产订单的名称作为字符串传递
|
||||||
if not production_item.programming_no:
|
if not production_item.programming_no:
|
||||||
|
|||||||
Reference in New Issue
Block a user