diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py index 6f50425f..6549bb7a 100644 --- a/sf_manufacturing/models/product_template.py +++ b/sf_manufacturing/models/product_template.py @@ -1,8 +1,8 @@ from odoo import models, fields, api from odoo.exceptions import ValidationError from odoo.modules import get_resource_path -from OCC.Extend.DataExchange import read_step_file -from OCC.Extend.DataExchange import write_stl_file +# from OCC.Extend.DataExchange import read_step_file +# from OCC.Extend.DataExchange import write_stl_file import logging import base64 import hashlib @@ -734,7 +734,7 @@ class ResProductMo(models.Model): def transition_glb_file(self, report_path, code): shapes = read_step_file(report_path) output_file = os.path.join('/tmp', str(code) + '.stl') - write_stl_file(shapes, output_file, 'binary', 0.03, 0.5) + # write_stl_file(shapes, output_file, 'binary', 0.03, 0.5) # 转化为glb output_glb_file = os.path.join('/tmp', str(code) + '.glb') util_path = get_resource_path('sf_dlm', 'static/util') @@ -797,6 +797,7 @@ class ResMrpBomMo(models.Model): else: return False + # 查询材料型号默认排第一的供应商 def get_supplier(self, materials_type): diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index fd014941..5ba84dd2 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -189,27 +189,27 @@ class StockRule(models.Model): 'mail.message_origin_link', values={'self': production, 'origin': origin_production}, subtype_id=self.env.ref('mail.mt_note').id) - ''' - 创建生产计划 - ''' - # 工单耗时 - workorder_duration = 0 - for workorder in production.workorder_ids: - workorder_duration += workorder.duration_expected - - sale_order = self.env['sale.order'].sudo().search([('name', '=', production.origin)]) - if sale_order: - bb = sale_order.deadline_of_delivery - productions = self.env['sf.production.plan'].with_user(SUPERUSER_ID).sudo().with_company(company_id). \ - create({ - 'name': production.name, - 'production_id': production.id, - 'date_planned_start': production.date_planned_start, - 'origin': production.origin, - 'product_qty': production.product_qty, - 'product_id': production.product_id.id, - 'state': 'draft', - }) + # ''' + # 创建生产计划 + # ''' + # # 工单耗时 + # workorder_duration = 0 + # for workorder in production.workorder_ids: + # workorder_duration += workorder.duration_expected + # + # sale_order = self.env['sale.order'].sudo().search([('name', '=', production.origin)]) + # if sale_order: + # bb = sale_order.deadline_of_delivery + # productions = self.env['sf.production.plan'].with_user(SUPERUSER_ID).sudo().with_company(company_id). \ + # create({ + # 'name': production.name, + # 'production_id': production.id, + # 'date_planned_start': production.date_planned_start, + # 'origin': production.origin, + # 'product_qty': production.product_qty, + # 'product_id': production.product_id.id, + # 'state': 'draft', + # }) return True diff --git a/sf_sale/models/quick_easy_order.py b/sf_sale/models/quick_easy_order.py index eed2be57..a6a099b8 100644 --- a/sf_sale/models/quick_easy_order.py +++ b/sf_sale/models/quick_easy_order.py @@ -77,10 +77,10 @@ class QuickEasyOrder(models.Model): 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'])) + # logging.info('create-model_file:%s' % len(vals['model_file'])) obj = super(QuickEasyOrder, self).create(vals) - self.model_coloring(obj) + # self.model_coloring(obj) self.distribute_to_factory(obj) obj.state = '待接单' return obj @@ -88,14 +88,14 @@ class QuickEasyOrder(models.Model): # 将attach的datas内容转为glb文件 def transition_glb_file(self, report_path, model_code): shapes = read_step_file(report_path) - # output_file = os.path.join('C:/Users/43484/Desktop/机企猫工作文档', str(model_code) + '.stl') - output_file = os.path.join('/tmp', str(model_code) + '.stl') + output_file = os.path.join('C:/Users/43484/Desktop/机企猫工作文档', str(model_code) + '.stl') + # output_file = os.path.join('/tmp', str(model_code) + '.stl') write_stl_file(shapes, output_file, 'binary', 0.03, 0.5) # 转化为glb - # output_glb_file = os.path.join('C:/Users/43484/Desktop/机企猫工作文档', str(model_code) + '.glb') - output_glb_file = os.path.join('/tmp', str(model_code) + '.glb') + output_glb_file = os.path.join('C:/Users/43484/Desktop/机企猫工作文档', str(model_code) + '.glb') + # output_glb_file = os.path.join('/tmp', str(model_code) + '.glb') util_path = get_resource_path('sf_dlm', 'static/util') - cmd = 'python3 %s/stl2gltf.py %s %s -b' % (util_path, output_file, output_glb_file) + cmd = 'python %s/stl2gltf.py %s %s -b' % (util_path, output_file, output_glb_file) os.system(cmd) # 转base64 with open(output_glb_file, 'rb') as fileObj: @@ -120,17 +120,17 @@ class QuickEasyOrder(models.Model): model_code = hashlib.sha1(base64_datas.encode('utf-8')).hexdigest() logging.info("模型编码: %s" % model_code) item.model_file = self.transition_glb_file(report_path, model_code) - ret = self.feature_recognition(report_path, model_code) - logging.info("自动报价返回值: %s" % ret) - boxshape = ret['boxshape'].tolist() - logging.info("自动报价boxshape: %s" % boxshape) - logging.info('自动报价feature_infos:%s' % ret['feature_infos']) - item.model_length = boxshape[0] # 长 单位mm - item.model_width = boxshape[1] # 宽 - item.model_height = boxshape[2] # 高 - item.model_volume = boxshape[0] * boxshape[1] * boxshape[2] - item.model_feature = json.dumps(ret['feature_infos'], ensure_ascii=False) - self._get_price(item) + # ret = self.feature_recognition(report_path, model_code) + # logging.info("自动报价返回值: %s" % ret) + # boxshape = ret['boxshape'].tolist() + # logging.info("自动报价boxshape: %s" % boxshape) + # logging.info('自动报价feature_infos:%s' % ret['feature_infos']) + # item.model_length = boxshape[0] # 长 单位mm + # item.model_width = boxshape[1] # 宽 + # item.model_height = boxshape[2] # 高 + # item.model_volume = boxshape[0] * boxshape[1] * boxshape[2] + # item.model_feature = json.dumps(ret['feature_infos'], ensure_ascii=False) + # self._get_price(item) else: item.model_file = False item.model_feature = False @@ -151,7 +151,7 @@ class QuickEasyOrder(models.Model): base64_data = base64.b64encode(attachment.datas) base64_datas = base64_data.decode('utf-8') barcode = hashlib.sha1(base64_datas.encode('utf-8')).hexdigest() - logging.info('model_file-size: %s' % len(item.model_file)) + # logging.info('model_file-size: %s' % len(item.model_file)) res['bfm_process_order_list'].append({ 'model_long': item.model_length, 'model_width': item.model_width, diff --git a/sf_sale/views/quick_easy_order_view.xml b/sf_sale/views/quick_easy_order_view.xml index a5ce9da2..df3b25b5 100644 --- a/sf_sale/views/quick_easy_order_view.xml +++ b/sf_sale/views/quick_easy_order_view.xml @@ -16,13 +16,13 @@ quick.easy.order - - + diff --git a/sf_sale/views/sale_order_view.xml b/sf_sale/views/sale_order_view.xml index a8f14c62..f2b59f51 100644 --- a/sf_sale/views/sale_order_view.xml +++ b/sf_sale/views/sale_order_view.xml @@ -1,6 +1,18 @@ + + sale.order.tree + sale.order + + + + + + + + + sale.order.form.inherit.sf sale.order @@ -39,5 +51,22 @@ + + + + sale.order.tree + sale.order + + primary + + + 订单号 + + + 下单时间 + + + + \ No newline at end of file