diff --git a/sf_base/views/common_view.xml b/sf_base/views/common_view.xml index 82e1e918..27fac9a9 100644 --- a/sf_base/views/common_view.xml +++ b/sf_base/views/common_view.xml @@ -131,7 +131,7 @@ - + diff --git a/sf_base/views/menu_view.xml b/sf_base/views/menu_view.xml index 620712ac..cb02aca2 100644 --- a/sf_base/views/menu_view.xml +++ b/sf_base/views/menu_view.xml @@ -59,7 +59,7 @@ id="menu_sf_production_process" name="表面工艺" parent="menu_sf_production_process_1" - sequence="1" + sequence="2" action="sf_production_process" /> @@ -67,7 +67,7 @@ id="menu_sf_production_process_category" name="表面工艺类别" parent="menu_sf_production_process_1" - sequence="2" + sequence="1" action="sf_production_process_category" /> @@ -95,7 +95,7 @@ id="menu_sf_processing_technology" name="加工工艺" parent="menu_sf_production_process_1" - sequence="1" + sequence="3" action="sf_processing_technology"/> diff --git a/sf_bf_connect/models/http.py b/sf_bf_connect/models/http.py index 196c52bb..eb969eb6 100644 --- a/sf_bf_connect/models/http.py +++ b/sf_bf_connect/models/http.py @@ -13,6 +13,10 @@ _logger = logging.getLogger(__name__) class AuthenticationError(Exception): pass +class AuthenticationError(Exception): + pass + + class Http(models.AbstractModel): _inherit = 'ir.http' diff --git a/sf_bf_connect/models/jd_eclp.py b/sf_bf_connect/models/jd_eclp.py index 09540779..030d3da2 100644 --- a/sf_bf_connect/models/jd_eclp.py +++ b/sf_bf_connect/models/jd_eclp.py @@ -1,4 +1,4 @@ -import cpca +#import cpca import logging import base64 import requests diff --git a/sf_dlm/models/product_template.py b/sf_dlm/models/product_template.py index a673c912..55bfc854 100644 --- a/sf_dlm/models/product_template.py +++ b/sf_dlm/models/product_template.py @@ -203,12 +203,14 @@ class ResProductTemplate(models.Model): if vals.get('upload_model_file'): if vals.get('is_bfm') is False and vals.get('categ_type') == '成品': for item in vals['upload_model_file']: + logging.info('create-attachment:%s' % int(item[2][0])) attachment = self.env['ir.attachment'].sudo().search([('id', '=', int(item[2][0]))]) base64_data = base64.b64encode(attachment.datas) base64_datas = base64_data.decode('utf-8') model_code = hashlib.sha1(base64_datas.encode('utf-8')).hexdigest() report_path = attachment._full_path(attachment.store_fname) vals['model_file'] = self.transition_glb_file(report_path, model_code) + logging.info('create-model_file:%s' % len(vals['model_file'])) self._sanitize_vals(vals) templates = super(ResProductTemplate, self).create(vals_list) if "create_product_product" not in self._context: @@ -222,7 +224,7 @@ class ResProductTemplate(models.Model): related_vals[field_name] = vals[field_name] if related_vals: template.write(related_vals) - + logging.info('create-model_file:%s' % templates.model_file) return templates @api.onchange('upload_model_file') diff --git a/sf_manufacturing/models/tray.py b/sf_manufacturing/models/tray.py index 4a691c50..1ba0bea7 100644 --- a/sf_manufacturing/models/tray.py +++ b/sf_manufacturing/models/tray.py @@ -3,7 +3,7 @@ import base64 from io import BytesIO from odoo import api, fields, models -from pystrich.code128 import Code128Encoder +#from pystrich.code128 import Code128Encoder class Tray(models.Model): diff --git a/sf_sale/__manifest__.py b/sf_sale/__manifest__.py index 1414f297..159f9085 100644 --- a/sf_sale/__manifest__.py +++ b/sf_sale/__manifest__.py @@ -10,7 +10,7 @@ """, 'category': 'sf', 'website': 'https://www.sf.jikimo.com', - 'depends': ['sale', 'sale_management'], + 'depends': ['sale', 'sale_management', 'web_widget_model_viewer'], 'data': [ 'views/sale_order_view.xml' ], diff --git a/sf_sale/models/sale_order.py b/sf_sale/models/sale_order.py index 817feda8..8d9dfd5a 100644 --- a/sf_sale/models/sale_order.py +++ b/sf_sale/models/sale_order.py @@ -1,5 +1,6 @@ from odoo import models, fields import datetime +import base64 class ReSaleOrder(models.Model): @@ -48,5 +49,13 @@ class ReSaleOrder(models.Model): product.materials_id.name), 'price_unit': product.list_price, 'product_uom_qty': item['number'], + 'model_glb_file': base64.b64decode(item['model_file']), } return self.env['sale.order.line'].create(vals) + + +class ResaleOrderLine(models.Model): + _inherit = 'sale.order.line' + + model_glb_file = fields.Binary('模型的glb文件') + diff --git a/sf_sale/views/sale_order_view.xml b/sf_sale/views/sale_order_view.xml index 2faf0127..a8f14c62 100644 --- a/sf_sale/views/sale_order_view.xml +++ b/sf_sale/views/sale_order_view.xml @@ -9,6 +9,10 @@ + + +