35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
from odoo import models, fields
|
|
from odoo.exceptions import ValidationError
|
|
import datetime
|
|
|
|
|
|
class ReSaleOrder(models.Model):
|
|
_inherit = 'sale.order'
|
|
|
|
deadline_of_delivery = fields.Date('交货截止日期')
|
|
|
|
# 业务平台分配工厂后在智能工厂先创建销售订单
|
|
def sale_order_create(self, deadline_of_delivery, company_id):
|
|
now_time = datetime.datetime.now()
|
|
order_id = self.env['sale.order'].sudo().create({
|
|
'company_id': company_id.id,
|
|
'date_order': now_time,
|
|
'name': self.env['ir.sequence'].next_by_code('sale.order', sequence_date=now_time),
|
|
'partner_id': 8,
|
|
'state': 'sale',
|
|
'user_id': 6,
|
|
'deadline_of_delivery': deadline_of_delivery
|
|
})
|
|
return order_id
|
|
|
|
# 业务平台分配工厂时在创建完产品后再创建销售明细信息
|
|
def sale_order_create_line(self, product, item):
|
|
vals = {
|
|
'order_id': self.id,
|
|
'product_id': product.id,
|
|
'name': '%s/%s/%s/%s/%s' % (item['model_long'], item['model_width'], item['model_height'], item['model_volume'], product.model_materials_id.name),
|
|
'price_unit': item['price'],
|
|
'product_uom_qty': item['number']
|
|
}
|
|
return self.env['sale.order.line'].create(vals)
|