解决冲突

This commit is contained in:
huziyang@jikimo.com
2025-06-09 10:01:57 +08:00
72 changed files with 1311 additions and 360 deletions

View File

@@ -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,