修复快速订单

This commit is contained in:
jinling.yang
2024-04-19 17:24:51 +08:00
parent 45b300f8a1
commit 5cb1e3c838
3 changed files with 32 additions and 19 deletions

View File

@@ -6,8 +6,8 @@ import os
from datetime import datetime
from stl import mesh
# from OCC.Core.GProp import GProp_GProps
# 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
from odoo.addons.sf_base.commons.common import Common
from odoo import models, fields, api
from odoo.modules import get_resource_path
@@ -81,8 +81,8 @@ class QuickEasyOrder(models.Model):
report_path = attachment._full_path(attachment.store_fname)
vals['model_file'] = self.transition_glb_file(report_path, model_code)
obj = super(QuickEasyOrder, self).create(vals)
logging.info('---------向cloud生成模型库-------')
self.model_coloring()
logging.info('---------向cloud生成模型库记录-------')
self.model_coloring(obj)
logging.info('---------开始派单到工厂-------')
self.distribute_to_factory(obj)
obj.state = '待接单'
@@ -164,7 +164,7 @@ class QuickEasyOrder(models.Model):
try:
logging.info('---------派单到工厂-------')
res = {'bfm_process_order_list': []}
for item in self:
for item in obj:
attachment = item.upload_model_file[0]
base64_data = base64.b64encode(attachment.datas)
base64_datas = base64_data.decode('utf-8')
@@ -269,17 +269,17 @@ class QuickEasyOrder(models.Model):
# 模型上色
def model_coloring(self):
def model_coloring(self, order):
url = '/api/library_of_models/create'
config = self.env['res.config.settings'].get_values()
config_header = Common.get_headers(self, config['token'], config['sf_secret_key'])
logging.info('order: %s' % self.name)
if self:
attachment = self.upload_model_file[0]
logging.info('order: %s' % order.name)
if order:
attachment = order.upload_model_file[0]
base64_data = base64.b64encode(attachment.datas)
base64_datas = base64_data.decode('utf-8')
model_code = hashlib.sha1(base64_datas.encode('utf-8')).hexdigest()
logging.info('model_file-size: %s' % len(self.model_file))
logging.info('model_file-size: %s' % len(order.model_file))
logging.info('attachment.datas-size: %s' % len(attachment.datas))
vals = {
'programme_way': 'manual operation',
@@ -287,13 +287,13 @@ class QuickEasyOrder(models.Model):
'model_data': base64.b64decode(attachment.datas),
'model_color_data': '',
'model_name': attachment.name,
'model_long': self.model_length,
'model_width': self.model_width,
'model_height': self.model_height,
'model_volume': self.model_volume,
'model_long': order.model_length,
'model_width': order.model_width,
'model_height': order.model_height,
'model_volume': order.model_volume,
'color_model_path': '/tmp/' + str(model_code) + ".step",
'model_order_no': self.name,
'remark': '订单号:%s 客户:%s' % (self.name, self.customer_id.name)
'model_order_no': order.name,
'remark': '订单号:%s 客户:%s' % (order.name, order.customer_id.name)
}
try:
ret = requests.post((config['sf_url'] + url), json={}, data=vals, headers=config_header,
@@ -307,4 +307,4 @@ class QuickEasyOrder(models.Model):
raise UserError(ret['message'])
except Exception as e:
self.model_color_state = 'fail'
raise UserError("模型上色失败")
raise UserError("模型上色失败")