diff --git a/sf_bf_connect/models/process_status.py b/sf_bf_connect/models/process_status.py
index 111254c7..3bbdb5fc 100644
--- a/sf_bf_connect/models/process_status.py
+++ b/sf_bf_connect/models/process_status.py
@@ -1,3 +1,4 @@
+import traceback
from datetime import datetime
import logging
import requests
@@ -53,11 +54,14 @@ class StatusChange(models.Model):
if not ret.get('error'):
logging.info('接口已经执行=============')
else:
- logging.error('工厂加工同步订单状态失败 {}'.format(ret))
- raise UserError('工厂加工同步订单状态失败')
+ traceback_error = traceback.format_exc()
+ logging.error("bfm订单状态同步失败:%s request info %s" % traceback_error)
+ logging.error('/api/get/state/get_order 请求失败{}'.format(ret))
+ raise UserError('工厂加工同步订单状态到bfm失败')
except UserError as e:
- logging.error('工厂加工同步订单状态失败 {}'.format(e))
- raise UserError('工厂加工同步订单状态失败')
+ traceback_error = traceback.format_exc()
+ logging.error("工厂加工同步订单状态失败:%s " % traceback_error)
+ raise UserError(e)
return res
def action_cancel(self):
diff --git a/sf_manufacturing/__manifest__.py b/sf_manufacturing/__manifest__.py
index 8cf16106..35501367 100644
--- a/sf_manufacturing/__manifest__.py
+++ b/sf_manufacturing/__manifest__.py
@@ -45,7 +45,6 @@
'sf_manufacturing/static/src/scss/kanban_change.scss',
'sf_manufacturing/static/src/xml/button_show_on_tree.xml',
'sf_manufacturing/static/src/js/workpiece_delivery_wizard_confirm.js',
- 'sf_manufacturing/static/src/js/custom_barcode_handlers.js',
]
},
diff --git a/sf_manufacturing/models/agv_scheduling.py b/sf_manufacturing/models/agv_scheduling.py
index f758abd9..a18dc5ef 100644
--- a/sf_manufacturing/models/agv_scheduling.py
+++ b/sf_manufacturing/models/agv_scheduling.py
@@ -1,10 +1,10 @@
+
+import logging
import requests
from odoo import models, fields, api, _
from odoo.exceptions import UserError
-import logging
-
_logger = logging.getLogger(__name__)
@@ -54,7 +54,7 @@ class AgvScheduling(models.Model):
def web_search_read(self, domain=None, fields=None, offset=0, limit=None, order=None, count_limit=None):
domain = domain or []
new_domain = []
- for index, item in enumerate(domain):
+ for item in domain:
if isinstance(item, list):
if item[0] == 'delivery_workpieces':
new_domain.append('&')
@@ -63,7 +63,7 @@ class AgvScheduling(models.Model):
continue
new_domain.append(item)
- return super(AgvScheduling, self).web_search_read(new_domain, fields, limit=limit, offset=offset)
+ return super(AgvScheduling, self).web_search_read(new_domain, fields, offset, limit, order, count_limit)
@api.depends('task_completion_time', 'task_delivery_time')
def _compute_task_duration(self):
diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py
index 405baf38..0ab2be6b 100644
--- a/sf_manufacturing/models/mrp_production.py
+++ b/sf_manufacturing/models/mrp_production.py
@@ -318,8 +318,10 @@ class MrpProduction(models.Model):
# cnc程序获取
def fetchCNC(self, production_names):
cnc = self.env['mrp.production'].search([('id', '=', self.id)])
- quick_order = self.env['quick.easy.order'].search(
- [('name', '=', cnc.product_id.default_code.rsplit('-', 1)[0])])
+ quick_order = False
+ if cnc.product_id.default_code:
+ quick_order = self.env['quick.easy.order'].search(
+ [('name', '=', cnc.product_id.default_code.rsplit('-', 1)[0])])
programme_way = False
if cnc.manual_quotation is True:
programme_way = 'manual operation'
diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py
index 51fa9f27..2331cea9 100644
--- a/sf_manufacturing/models/mrp_workorder.py
+++ b/sf_manufacturing/models/mrp_workorder.py
@@ -222,7 +222,7 @@ class ResMrpWorkOrder(models.Model):
material_width = fields.Float(string='宽')
material_height = fields.Float(string='高')
# 零件图号
- part_number = fields.Char(string='零件图号')
+ part_number = fields.Char(related='production_id.part_number', string='零件图号')
# 工序状态
process_state = fields.Selection([
('待装夹', '待装夹'),
diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py
index 9d4e3161..9f6206cb 100644
--- a/sf_manufacturing/models/stock.py
+++ b/sf_manufacturing/models/stock.py
@@ -267,6 +267,10 @@ class StockRule(models.Model):
workorder_duration += workorder.duration_expected
sale_order = self.env['sale.order'].sudo().search([('name', '=', production.origin)])
+ # 根据销售订单号查询快速订单
+ quick_easy_order = self.env['quick.easy.order'].sudo().search([('sale_order_id', '=', sale_order.id)])
+ production.write({'part_number': quick_easy_order.part_drawing_number,
+ 'part_drawing': quick_easy_order.machining_drawings})
if sale_order:
# sale_order.write({'schedule_status': 'to schedule'})
self.env['sf.production.plan'].sudo().with_company(company_id).create({
@@ -288,6 +292,7 @@ class StockRule(models.Model):
# 为同一个product_id创建一个生产订单名称列表
product_id_to_production_names[product_id] = [production.name for production in all_production]
for production_item in productions:
+
production_programming = self.env['mrp.production'].search(
[('product_id.id', '=', production_item.product_id.id),
('origin', '=', production_item.origin)],
diff --git a/sf_manufacturing/wizard/workpiece_delivery_views.xml b/sf_manufacturing/wizard/workpiece_delivery_views.xml
index e895d39e..a83a371a 100644
--- a/sf_manufacturing/wizard/workpiece_delivery_views.xml
+++ b/sf_manufacturing/wizard/workpiece_delivery_views.xml
@@ -14,7 +14,7 @@
-
+