diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py
index be81e110..c7ae6ecc 100644
--- a/sf_manufacturing/models/stock.py
+++ b/sf_manufacturing/models/stock.py
@@ -205,39 +205,17 @@ class StockRule(models.Model):
productions_values)
# self.env['stock.move'].sudo().create(productions._get_moves_raw_values())
- self.env['stock.move'].sudo().create(productions._get_moves_finished_values())
- productions.filtered(lambda p: (not p.orderpoint_id and p.move_raw_ids) or \
- (
- p.move_dest_ids.procure_method != 'make_to_order' and not
- p.move_raw_ids and not p.workorder_ids)).action_confirm()
+
'''
创建工单
'''
# productions._create_workorder()
#
- grouped_product_ids = {k: list(g) for k, g in groupby(productions, key=lambda x: x.product_id.id)}
- # 初始化一个字典来存储每个product_id对应的生产订单名称列表
- product_id_to_production_names = {}
- # 对于每个product_id,获取其所有生产订单的名称
- for product_id, productions in grouped_product_ids.items():
- # 为同一个product_id创建一个生产订单名称列表
- product_id_to_production_names[product_id] = [production.name for production in productions]
- for production_item in productions:
- if production_item.product_id.id in product_id_to_production_names:
- # # 同一个产品多个制造订单对应一个编程单和模型库
- # # 只调用一次fetchCNC,并将所有生产订单的名称作为字符串传递
- if not production_item.programming_no:
- production_programming = self.env['mrp.production'].search(
- [('product_id.id', '=', production_item.product_id.id),
- ('origin', '=', production_item.origin)],
- limit=1, order='id asc')
- if not production_programming.programming_no:
- production_item.fetchCNC(
- ', '.join(product_id_to_production_names[production_item.product_id.id]))
- else:
- production_item.write({'programming_no': production_programming.programming_no,
- 'programming_state': '编程中'})
-
+ self.env['stock.move'].sudo().create(productions._get_moves_finished_values())
+ productions.filtered(lambda p: (not p.orderpoint_id and p.move_raw_ids) or \
+ (
+ p.move_dest_ids.procure_method != 'make_to_order' and not
+ p.move_raw_ids and not p.workorder_ids)).action_confirm()
for production in productions:
'''
创建制造订单时生成序列号
@@ -283,6 +261,28 @@ class StockRule(models.Model):
'product_id': production.product_id.id,
'state': 'draft',
})
+ grouped_product_ids = {k: list(g) for k, g in groupby(productions, key=lambda x: x.product_id.id)}
+ # 初始化一个字典来存储每个product_id对应的生产订单名称列表
+ product_id_to_production_names = {}
+ # 对于每个product_id,获取其所有生产订单的名称
+ for product_id, productions in grouped_product_ids.items():
+ # 为同一个product_id创建一个生产订单名称列表
+ product_id_to_production_names[product_id] = [production.name for production in productions]
+ for production_item in productions:
+ if production_item.product_id.id in product_id_to_production_names:
+ # # 同一个产品多个制造订单对应一个编程单和模型库
+ # # 只调用一次fetchCNC,并将所有生产订单的名称作为字符串传递
+ if not production_item.programming_no:
+ production_programming = self.env['mrp.production'].search(
+ [('product_id.id', '=', production_item.product_id.id),
+ ('origin', '=', production_item.origin)],
+ limit=1, order='id asc')
+ if not production_programming.programming_no:
+ production_item.fetchCNC(
+ ', '.join(product_id_to_production_names[production_item.product_id.id]))
+ else:
+ production_item.write({'programming_no': production_programming.programming_no,
+ 'programming_state': '编程中'})
return True
diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml
index a2736834..790c0551 100644
--- a/sf_manufacturing/views/mrp_workorder_view.xml
+++ b/sf_manufacturing/views/mrp_workorder_view.xml
@@ -483,7 +483,10 @@
-
+
@@ -729,7 +732,7 @@
-
+、
工件配送
sf.workpiece.delivery
diff --git a/sf_mrs_connect/controllers/controllers.py b/sf_mrs_connect/controllers/controllers.py
index ee2ef3e5..b6d4c659 100644
--- a/sf_mrs_connect/controllers/controllers.py
+++ b/sf_mrs_connect/controllers/controllers.py
@@ -40,7 +40,7 @@ class Sf_Mrs_Connect(http.Controller):
download_state = request.env['sf.cnc.processing'].with_user(
request.env.ref("base.user_admin")).download_file_tmp(
ret['folder_name'], r)
- if download_state == 0:
+ if download_state is False:
res['status'] = -2
res['message'] = '编程单号为%s的CNC程序文件从FTP拉取失败' % (ret['programming_no'])
return json.JSONEncoder().encode(res)