采购申请添加需求明细字段
This commit is contained in:
@@ -8,6 +8,14 @@ class PurchaseOrder(models.Model):
|
|||||||
demand_plan_line_id = fields.Many2one(comodel_name="sf.production.demand.plan",
|
demand_plan_line_id = fields.Many2one(comodel_name="sf.production.demand.plan",
|
||||||
string="需求计划明细", readonly=True)
|
string="需求计划明细", readonly=True)
|
||||||
|
|
||||||
|
def button_confirm(self):
|
||||||
|
if self.demand_plan_line_id:
|
||||||
|
self = self.with_context(
|
||||||
|
demand_plan_line_id=self.demand_plan_line_id.id
|
||||||
|
)
|
||||||
|
res = super(PurchaseOrder, self).button_confirm()
|
||||||
|
return res
|
||||||
|
|
||||||
@api.depends('origin', 'demand_plan_line_id')
|
@api.depends('origin', 'demand_plan_line_id')
|
||||||
def _compute_purchase_type(self):
|
def _compute_purchase_type(self):
|
||||||
for purchase in self:
|
for purchase in self:
|
||||||
@@ -20,3 +28,17 @@ class PurchaseOrder(models.Model):
|
|||||||
|
|
||||||
elif purchase.demand_plan_line_id.supply_method == 'purchase':
|
elif purchase.demand_plan_line_id.supply_method == 'purchase':
|
||||||
purchase.purchase_type = 'outside'
|
purchase.purchase_type = 'outside'
|
||||||
|
|
||||||
|
@api.model
|
||||||
|
def create(self, vals):
|
||||||
|
res = super(PurchaseOrder, self).create(vals)
|
||||||
|
if not res.demand_plan_line_id:
|
||||||
|
origin = [origin.replace(' ', '') for origin in res.origin.split(',')]
|
||||||
|
if self.env.context.get('demand_plan_line_id'):
|
||||||
|
res.demand_plan_line_id = self.env.context.get('demand_plan_line_id')
|
||||||
|
elif 'MO' in res.origin:
|
||||||
|
# 原单据是制造订单
|
||||||
|
mp_ids = self.env['mrp.production'].sudo().search([('name', 'in', origin)])
|
||||||
|
if mp_ids:
|
||||||
|
res.demand_plan_line_id = mp_ids[0].demand_plan_line_id.id
|
||||||
|
return res
|
||||||
|
|||||||
Reference in New Issue
Block a user