42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
import json
|
|
import logging
|
|
from datetime import date, timedelta
|
|
from odoo import http
|
|
from odoo.http import request
|
|
|
|
|
|
class Sf_Bf_Connect(http.Controller):
|
|
|
|
@http.route('/api/bfm_process_order/list', type='json', auth='none', methods=['GET', 'POST'], csrf=False,
|
|
cors="*")
|
|
def get_bfm_process_order_list(self, **kw):
|
|
"""
|
|
获取业务平台传送来的订单
|
|
:param kw:
|
|
:return:
|
|
"""
|
|
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'],
|
|
"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
|
|
})
|