Merge branch 'feature/工单rfid优化' into feature/制造、采购、工单优化
This commit is contained in:
@@ -283,12 +283,28 @@ class RePurchaseOrder(models.Model):
|
||||
|
||||
purchase_type = fields.Selection(
|
||||
[('standard', '标准采购'), ('consignment', '委外加工'), ('outsourcing', '工序外协'), ('outside', '外购订单')],
|
||||
string='采购类型', default='standard')
|
||||
string='采购类型', default='standard', store=True, compute='_compute_purchase_type')
|
||||
|
||||
origin_sale_id = fields.Many2one('sale.order', string='销售订单号', compute='_compute_origin_sale_id')
|
||||
|
||||
@api.depends('origin')
|
||||
def _compute_purchase_type(self):
|
||||
for purchase in self:
|
||||
order_id = self.env['sale.order'].sudo().search([('name', '=', purchase.origin)])
|
||||
if order_id:
|
||||
product_list = [line.product_id.id for line in purchase.order_line]
|
||||
for order_line in order_id.order_line:
|
||||
if order_line.supply_method == 'purchase':
|
||||
if order_line.product_id.id in product_list:
|
||||
purchase.purchase_type = 'outside'
|
||||
break
|
||||
elif order_line.supply_method == 'outsourcing':
|
||||
if order_line.product_id.id in product_list:
|
||||
purchase.purchase_type = 'consignment'
|
||||
break
|
||||
|
||||
@api.depends('order_line.move_dest_ids.group_id.mrp_production_ids',
|
||||
'order_line.move_ids.move_dest_ids.group_id.mrp_production_ids')
|
||||
'order_line.move_ids.move_dest_ids.group_id.mrp_production_ids', 'origin')
|
||||
def _compute_origin_sale_id(self):
|
||||
for purchase in self:
|
||||
productions_ids = purchase._get_mrp_productions()
|
||||
@@ -296,6 +312,10 @@ class RePurchaseOrder(models.Model):
|
||||
if productions_ids[0].sale_order_id:
|
||||
purchase.origin_sale_id = productions_ids[0].sale_order_id.id
|
||||
continue
|
||||
order_id = self.env['sale.order'].sudo().search([('name', '=', purchase.origin)])
|
||||
if order_id:
|
||||
purchase.origin_sale_id = order_id.id
|
||||
continue
|
||||
purchase.origin_sale_id = False
|
||||
|
||||
@api.depends('partner_id')
|
||||
@@ -345,7 +365,7 @@ class RePurchaseOrder(models.Model):
|
||||
'partner_id': server_template.seller_ids[0].partner_id.id,
|
||||
'origin': production.name,
|
||||
'state': 'draft',
|
||||
'purchase_type': 'consignment',
|
||||
'purchase_type': 'outsourcing',
|
||||
'order_line': server_product_process})
|
||||
pp.purchase_id = [(6, 0, [purchase_order.id])]
|
||||
# self.env.cr.commit()
|
||||
|
||||
Reference in New Issue
Block a user