diff --git a/sf_dlm_management/__manifest__.py b/sf_dlm_management/__manifest__.py
index a5c894d4..9a94082a 100644
--- a/sf_dlm_management/__manifest__.py
+++ b/sf_dlm_management/__manifest__.py
@@ -9,7 +9,7 @@
""",
'category': 'sf',
'website': 'https://www.sf.jikimo.com',
- 'depends': ['sf_sale', 'sf_dlm', 'sf_manufacturing'],
+ 'depends': ['sf_sale', 'sf_dlm', 'sf_manufacturing','jikimo_attachment_viewer'],
'data': [
'data/stock_data.xml',
'views/product_template_management_view.xml',
diff --git a/sf_manufacturing/__manifest__.py b/sf_manufacturing/__manifest__.py
index 71f4027a..fd15858a 100644
--- a/sf_manufacturing/__manifest__.py
+++ b/sf_manufacturing/__manifest__.py
@@ -10,7 +10,7 @@
""",
'category': 'sf',
'website': 'https://www.sf.jikimo.com',
- 'depends': ['sf_base', 'sf_maintenance', 'web_widget_model_viewer', 'sf_warehouse'],
+ 'depends': ['sf_base', 'sf_maintenance', 'web_widget_model_viewer', 'sf_warehouse','jikimo_attachment_viewer'],
'data': [
'data/stock_data.xml',
'data/empty_racks_data.xml',
diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py
index 573bb73f..c602fd8b 100644
--- a/sf_manufacturing/models/mrp_production.py
+++ b/sf_manufacturing/models/mrp_production.py
@@ -141,12 +141,12 @@ class MrpProduction(models.Model):
], string='工序状态', default='待装夹')
# 零件图号
- part_number = fields.Char('零件图号', readonly=True)
+ part_number = fields.Char('零件图号', related='product_id.part_number', readonly=True)
# 上传零件图纸
- part_drawing = fields.Binary('零件图纸', readonly=True)
+ part_drawing = fields.Binary('零件图纸', related='product_id.machining_drawings', readonly=True)
- quality_standard = fields.Binary('质检标准', readonly=True)
+ quality_standard = fields.Binary('质检标准', related='product_id.quality_standard', readonly=True)
@api.depends('product_id.manual_quotation')
def _compute_manual_quotation(self):
diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py
index 0b512c36..62744db9 100644
--- a/sf_manufacturing/models/product_template.py
+++ b/sf_manufacturing/models/product_template.py
@@ -777,8 +777,6 @@ class ResProductMo(models.Model):
part_number = fields.Char(string='零件图号', readonly=True)
machining_drawings = fields.Binary('2D加工图纸', readonly=True)
quality_standard = fields.Binary('质检标准', readonly=True)
- machining_drawings_name = fields.Char('2D加工图纸名', readonly=True)
- quality_standard_name = fields.Char('质检标准名', readonly=True)
@api.constrains('tool_length')
def _check_tool_length_size(self):
@@ -840,10 +838,10 @@ class ResProductMo(models.Model):
else:
return self.env.ref('sf_dlm.product_uom_cubic_millimeter')
- def attachment_update(self, name, res_id, res_field):
+ def attachment_update(self, name, res_id, res_field, mimetype):
attachment_info = self.env['ir.attachment'].sudo().search(
[('res_id', '=', res_id), ('res_field', '=', res_field)], limit=1)
- attachment_info.write({'name': name})
+ attachment_info.write({'name': name, 'mimetype': mimetype})
# 业务平台分配工厂后在智能工厂先创建销售订单再创建该产品
def product_create(self, product_id, item, order_id, order_number, i):
@@ -883,8 +881,10 @@ class ResProductMo(models.Model):
'manual_quotation': item['manual_quotation'] or False,
'part_number': item.get('part_number') or '',
'active': True,
- 'machining_drawings_name': item['machining_drawings_name'],
- 'quality_standard_name': item['quality_standard_name'],
+ # 'machining_drawings_name': item['machining_drawings_name'],
+ # 'quality_standard_name': item['quality_standard_name'],
+ # 'machining_drawings_mimetype': item['machining_drawings_mimetype'],
+ # 'quality_standard_mimetype': item['quality_standard_mimetype'],
'machining_drawings': '' if not item['machining_drawings'] else base64.b64decode(
item['machining_drawings']),
'quality_standard': '' if not item['quality_standard'] else base64.b64decode(item['quality_standard']),
@@ -897,10 +897,10 @@ class ResProductMo(models.Model):
product_id.product_tmpl_id.active = False
if item['machining_drawings'] and item['machining_drawings_name']:
self.attachment_update(item['machining_drawings_name'], copy_product_id.product_tmpl_id.id,
- 'machining_drawings')
+ 'machining_drawings', item['machining_drawings_mimetype'])
if item['quality_standard'] and item['quality_standard_name']:
self.attachment_update(item['quality_standard_name'], copy_product_id.product_tmpl_id.id,
- 'quality_standard')
+ 'quality_standard', item['quality_standard_mimetype'])
return copy_product_id
def _get_ids(self, param):
diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py
index 02161b4a..40d159d5 100644
--- a/sf_manufacturing/models/stock.py
+++ b/sf_manufacturing/models/stock.py
@@ -272,21 +272,6 @@ 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)])
- if quick_easy_order:
- production.write({'part_number': quick_easy_order.part_drawing_number,
- 'part_drawing': quick_easy_order.machining_drawings})
- else:
- production.write({'part_number': production.product_id.part_number,
- 'part_drawing': production.product_id.machining_drawings,
- 'quality_standard': production.product_id.quality_standard})
- if production.product_id.machining_drawings and production.product_id.machining_drawings_name:
- self.attachment_update(production.product_id.machining_drawings_name, production.id,
- 'part_drawing')
- if production.product_id.quality_standard and production.product_id.quality_standard_name:
- self.attachment_update(production.product_id.quality_standard_name, production.id,
- 'quality_standard')
if sale_order:
# sale_order.write({'schedule_status': 'to schedule'})
self.env['sf.production.plan'].sudo().with_company(company_id).create({
diff --git a/sf_quality/__manifest__.py b/sf_quality/__manifest__.py
index b1151b6d..582e306a 100644
--- a/sf_quality/__manifest__.py
+++ b/sf_quality/__manifest__.py
@@ -13,7 +13,7 @@
'author': 'jikimo',
'website': 'https://sf.cs.jikimo.com',
# 此处依赖sf_manufacturing是因为我要重写其中的一个字段operation_id的string,故需要sf_manufacturing先安装
- 'depends': ['quality_control', 'web_widget_model_viewer', 'sf_manufacturing'],
+ 'depends': ['quality_control', 'web_widget_model_viewer', 'sf_manufacturing','jikimo_attachment_viewer'],
'data': [
'security/ir.model.access.csv',
'views/view.xml',
diff --git a/sf_sale/models/quick_easy_order_old.py b/sf_sale/models/quick_easy_order_old.py
index d3f9b5ab..ab0e9449 100644
--- a/sf_sale/models/quick_easy_order_old.py
+++ b/sf_sale/models/quick_easy_order_old.py
@@ -221,9 +221,8 @@ class QuickEasyOrder(models.Model):
'remark': '',
'manual_quotation': True,
'barcode': barcode,
- 'machining_drawings_name': '',
- 'quality_standard_name': '',
- 'machining_drawings': '',
+ 'part_number': item.part_drawing_number,
+ 'machining_drawings': item.machining_drawings,
'quality_standard': '',
})
# res['bfm_process_order_list'] = json.dumps(res['bfm_process_order_list'])
diff --git a/sf_sale/views/quick_easy_order_view.xml b/sf_sale/views/quick_easy_order_view.xml
index 9111403d..aebb4e97 100644
--- a/sf_sale/views/quick_easy_order_view.xml
+++ b/sf_sale/views/quick_easy_order_view.xml
@@ -80,8 +80,8 @@
-
-
+
+