修复表面工艺外协采购

This commit is contained in:
jinling.yang
2024-08-08 16:21:15 +08:00
parent ce8b0127b8
commit 112efccb7c
2 changed files with 47 additions and 40 deletions

View File

@@ -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):
""" """

View File

@@ -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: