diff --git a/sf_base/security/ir.model.access.csv b/sf_base/security/ir.model.access.csv
index 2ac30253..40dcc91c 100644
--- a/sf_base/security/ir.model.access.csv
+++ b/sf_base/security/ir.model.access.csv
@@ -16,3 +16,8 @@ access_mrs_processing_technology,mrs_processing_technology,model_mrs_processing_
+
+
+
+
+
diff --git a/sf_bf_connect/__manifest__.py b/sf_bf_connect/__manifest__.py
index 612bc615..e0b679f7 100644
--- a/sf_bf_connect/__manifest__.py
+++ b/sf_bf_connect/__manifest__.py
@@ -10,7 +10,7 @@
""",
'category': 'YZ',
'website': 'https://www.sf.cs.jikimo.com',
- 'depends': ['account', 'sf_base', 'base', 'sale'],
+ 'depends': ['sf_base', 'sale'],
'data': [
'views/sale_process_order_view.xml'
],
diff --git a/sf_bf_connect/controllers/controllers.py b/sf_bf_connect/controllers/controllers.py
index 91304469..c9a28f59 100644
--- a/sf_bf_connect/controllers/controllers.py
+++ b/sf_bf_connect/controllers/controllers.py
@@ -4,8 +4,6 @@ import logging
from datetime import date, timedelta
from odoo import http
from odoo.http import request
-from odoo.addons.mrs_gateway_api.models.common import Common
-from odoo.addons.mrs_gateway_api.models.basicdata_str import BasicDataStr
class Sf_Bf_Connect(http.Controller):
@@ -14,19 +12,30 @@ class Sf_Bf_Connect(http.Controller):
cors="*")
def get_bfm_process_order_list(self, **kw):
"""
- 获取业务平台传送来的业务平台订单
+ 获取业务平台传送来的订单
:param kw:
:return:
"""
- result = json.loads('bfm_process_order_list')
- for item in result:
- self.env['mrs.production.process'].create({
- "id": item['id'],
+ result = json.loads('result')
+ order_line_ids = []
+ for item in result['bfm_process_order_list']:
+ order_line_ids.append({
"model_file": item['model_file'],
"model_name": item['model_name'],
- "type": item['type'],
- "surface_technics": item['surface_technics'],
+ "model_length": item['model_length'],
+ "model_width": item['model_width'],
+ "model_height": item['model_height'],
+ "model_volume": item['model_volume'],
+ "materials_id": item['texture_id'],
+ "materials_type_id": item['texture_item_id'],
+ "surface_technics_id": item['surface_id'],
+ "technological_parameter_id": item['surface_item_id'],
"unit_price": item['unit_price'],
"amount": item['amount'],
"money": item['money']
})
+ self.env['sf.bfm.order'].create({
+ 'order_number': result['order_number'],
+ 'deadline_of_delivery': result['delivery_end_date'],
+ 'order_line_ids': order_line_ids
+ })
diff --git a/sf_bf_connect/models/sf_process_order.py b/sf_bf_connect/models/sf_process_order.py
index e3947692..203e8244 100644
--- a/sf_bf_connect/models/sf_process_order.py
+++ b/sf_bf_connect/models/sf_process_order.py
@@ -1,25 +1,52 @@
-from odoo import models,fields
+from odoo import models, fields
from odoo.exceptions import ValidationError
+class bfmOrder(models.Model):
+ _name = 'sf.bfm.order'
+ _description = '业务平台订单'
+
+ order_number = fields.Char('订单号')
+ deadline_of_delivery = fields.Date('交货截止日期')
+ order_line_ids = fields.One2many('sf.bfm.order.line', 'order_id', string='订单明细')
+
+
class bfmOrderLine(models.Model):
_name = 'sf.bfm.order.line'
- _description = '业务平台订单'
+ _description = '业务平台订单明细'
- model_file = fields.Binary('模型文件', attachment=False)
- model_name = fields.char('模型名称')
- type = fields.Many2one('mrs.materials.model', '型号')
- surface_technics = fields.Many2one('mrs.production.process', string='表面工艺')
- # technological_parameter = fields.Many2one('',string='工艺参数')
+ # model_file = fields.Binary('模型文件')
+ model_name = fields.Char('模型名称')
+ model_length = fields.Float('长[mm]', digits=(16, 3))
+ model_width = fields.Float('宽[mm]', digits=(16, 3))
+ model_height = fields.Float('高[mm]', digits=(16, 3))
+ model_volume = fields.Float('体积[mm³]', digits=(16, 3))
+ materials_id = fields.Many2one('mrs.production.materials', string='材料')
+ materials_type_id = fields.Many2one('mrs.materials.model', string='型号')
+ surface_technics_id = fields.Many2one('mrs.production.process', string='表面工艺')
+ technological_parameter_id = fields.Many2one('sf.surface.process.item', string='工艺参数')
unit_price = fields.Float('单价')
amount = fields.Integer('数量')
money = fields.Float('金额')
+ order_id = fields.Many2one('sf.bfm.order', string='业务平台订单')
+ # sale_order_id = fields.Many2one('sale.order')
+
+
+class SurfaceProcessItem(models.Model):
+ _name = 'sf.surface.process.item'
+ _description = '表面工艺参数'
+
+ sequence = fields.Integer('排序', default=99)
+ name = fields.Char('名称', index=True)
+ surface_id = fields.Many2one('mrs.production.process', string='表面工艺')
+ remark = fields.Text('说明')
+ active = fields.Boolean('有效', default=True)
class sale(models.Model):
_inherit = 'sale.order'
- bfm_process_order_ids = fields.Many2one('sf.bfm.order.line', string='业务平台订单')
+ bfm_process_order_ids = fields.One2many('sf.bfm.order', 'sale_order_id', string='业务平台订单')
diff --git a/sf_bf_connect/security/group_security.xml b/sf_bf_connect/security/group_security.xml
new file mode 100644
index 00000000..fdbc3ae5
--- /dev/null
+++ b/sf_bf_connect/security/group_security.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/sf_bf_connect/security/ir.model.access.csv b/sf_bf_connect/security/ir.model.access.csv
new file mode 100644
index 00000000..c46fb717
--- /dev/null
+++ b/sf_bf_connect/security/ir.model.access.csv
@@ -0,0 +1,6 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_sf_bfm_order_line,sf_bfm_order_line,model_sf_bfm_order_line,base.group_user,1,1,1,1
+
+
+
+
diff --git a/sf_bf_connect/views/sale_process_order_view.xml b/sf_bf_connect/views/sale_process_order_view.xml
index 898ade1b..41ae7453 100644
--- a/sf_bf_connect/views/sale_process_order_view.xml
+++ b/sf_bf_connect/views/sale_process_order_view.xml
@@ -2,13 +2,14 @@
+ sale.order.form.inherit.bfm.item
sale.order
-
-
+
+
-
+