解决冲突
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
'wizard/sale_order_wizard_views.xml',
|
||||
'wizard/purchase_order_wizard_views.xml',
|
||||
'data/cron_data.xml',
|
||||
'data/documents_data.xml',
|
||||
'views/sale_team.xml',
|
||||
'views/sale_order_view.xml',
|
||||
'views/res_partner_view.xml',
|
||||
|
||||
15
sf_sale/data/documents_data.xml
Normal file
15
sf_sale/data/documents_data.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<!-- 创建采购合同文件夹 -->
|
||||
<record id="documents_sales_contracts_folder" model="documents.folder">
|
||||
<field name="name">销售合同</field>
|
||||
<field name="description">存放销售合同相关文件</field>
|
||||
<field name="sequence">8</field>
|
||||
</record>
|
||||
<record id="documents_sales_contracts_folder_1" model="documents.folder">
|
||||
<field name="name">下单凭证</field>
|
||||
<field name="parent_folder_id" ref="documents_sales_contracts_folder"/>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -63,6 +63,11 @@ class ReSaleOrder(models.Model):
|
||||
|
||||
model_display_version = fields.Char('模型展示版本', default="v1")
|
||||
|
||||
contract_code = fields.Char('合同编号')
|
||||
contract_document_id = fields.Many2one('documents.document', string='合同文件')
|
||||
contract_file = fields.Binary(related='contract_document_id.datas', string='合同文件内容')
|
||||
contract_file_name = fields.Char(related='contract_document_id.attachment_id.name', string='文件名')
|
||||
|
||||
# 业务平台分配工厂后在智能工厂先创建销售订单
|
||||
def sale_order_create(self, company_id, delivery_name, delivery_telephone, delivery_address,
|
||||
deadline_of_delivery, payments_way, pay_way, order_number, state='sale',
|
||||
@@ -194,18 +199,15 @@ class ReSaleOrder(models.Model):
|
||||
@api.depends('order_line.purchase_line_ids.order_id')
|
||||
def _compute_purchase_order_count(self):
|
||||
for order in self:
|
||||
order.purchase_order_count = len(order._get_purchase_orders().filtered(
|
||||
lambda po: po.purchase_type not in ['outsourcing']))
|
||||
order.consignment_purchase_order_count = len(order._get_purchase_orders().filtered(
|
||||
lambda po: po.purchase_type in ['outsourcing']))
|
||||
order.purchase_order_count = len(order._get_sale_to_purchase('outsourcing'))
|
||||
order.consignment_purchase_order_count = len(order._get_sale_to_purchase_1('outsourcing'))
|
||||
|
||||
def action_view_purchase_orders(self):
|
||||
"""
|
||||
采购
|
||||
"""
|
||||
self.ensure_one()
|
||||
purchase_order_ids = self._get_purchase_orders().filtered(
|
||||
lambda po: po.purchase_type not in ['outsourcing']).ids
|
||||
purchase_order_ids = self._get_sale_to_purchase('outsourcing')
|
||||
action = {
|
||||
'res_model': 'purchase.order',
|
||||
'type': 'ir.actions.act_window',
|
||||
@@ -223,13 +225,20 @@ class ReSaleOrder(models.Model):
|
||||
})
|
||||
return action
|
||||
|
||||
def _get_sale_to_purchase(self, purchase_type):
|
||||
"""查询满足条件的采购订单"""
|
||||
purchase_order_ids = self._get_purchase_orders().filtered(
|
||||
lambda po: po.purchase_type not in ['outsourcing']).ids
|
||||
order_ids = self.env['purchase.order'].sudo().search(
|
||||
[('origin', '=', self.name), ('purchase_type', '!=', purchase_type)]).ids
|
||||
return list(set(purchase_order_ids) | set(order_ids))
|
||||
|
||||
def action_view_consignment_purchase_orders(self):
|
||||
"""
|
||||
委外加工
|
||||
"""
|
||||
self.ensure_one()
|
||||
outsourcing_purchase_order_ids = self._get_purchase_orders().filtered(
|
||||
lambda po: po.purchase_type in ['outsourcing']).ids
|
||||
outsourcing_purchase_order_ids = self._get_sale_to_purchase_1('outsourcing')
|
||||
action = {
|
||||
'res_model': 'purchase.order',
|
||||
'type': 'ir.actions.act_window',
|
||||
@@ -247,6 +256,14 @@ class ReSaleOrder(models.Model):
|
||||
})
|
||||
return action
|
||||
|
||||
def _get_sale_to_purchase_1(self, purchase_type):
|
||||
"""查询满足条件的采购订单"""
|
||||
purchase_order_ids = self._get_purchase_orders().filtered(
|
||||
lambda po: po.purchase_type == purchase_type).ids
|
||||
order_ids = self.env['purchase.order'].sudo().search(
|
||||
[('origin', '=', self.name), ('purchase_type', '=', purchase_type)]).ids
|
||||
return list(set(purchase_order_ids) | set(order_ids))
|
||||
|
||||
|
||||
class ResaleOrderLine(models.Model):
|
||||
_inherit = 'sale.order.line'
|
||||
@@ -358,12 +375,13 @@ class RePurchaseOrder(models.Model):
|
||||
|
||||
@api.depends('partner_id')
|
||||
def _compute_user_id(self):
|
||||
if not self.user_id:
|
||||
if self.partner_id:
|
||||
self.user_id = self.partner_id.purchase_user_id.id
|
||||
# self.state = 'purchase'
|
||||
else:
|
||||
self.user_id = self.env.user.id
|
||||
for item in self:
|
||||
if not item.user_id:
|
||||
if item.partner_id:
|
||||
item.user_id = item.partner_id.purchase_user_id.id
|
||||
# self.state = 'purchase'
|
||||
else:
|
||||
item.user_id = item.env.user.id
|
||||
|
||||
@api.constrains('order_line')
|
||||
def check_order_line(self):
|
||||
@@ -393,10 +411,11 @@ class RePurchaseOrder(models.Model):
|
||||
# # route_ids
|
||||
# result.append({
|
||||
# "product_id": server_template.product_variant_id.id,
|
||||
# 'related_product': production.product_id.id,
|
||||
# "name": production.procurement_group_id.name,
|
||||
# "date_required": fields.Datetime.now(),
|
||||
# "product_uom_id":server_template.uom_id.id,
|
||||
# "product_qty": 1,
|
||||
# "product_qty": production.product_qty,
|
||||
# "request_id": False,
|
||||
# "move_dest_ids": False,
|
||||
# "orderpoint_id": False,
|
||||
|
||||
@@ -198,7 +198,20 @@
|
||||
</div>
|
||||
<field name="date_order" attrs="{'invisible': [('state', 'in', ['done', 'cancel'])], 'required': True}" nolabel="1"/>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//notebook/page[@name='customer_signature']" position="after">
|
||||
<page string="合同" name="contract_documents"
|
||||
attrs="{'invisible': [('contract_document_id', '=', False)]}">
|
||||
<group>
|
||||
<group>
|
||||
<field name="contract_document_id" invisible="1"/>
|
||||
<field name="contract_file_name" invisible="1"/>
|
||||
<field name="contract_file"
|
||||
widget="adaptive_viewer"
|
||||
filename="contract_file_name"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user