采购申请添加需求明细字段

This commit is contained in:
guanhuan
2025-07-08 11:25:00 +08:00
parent 22ccb095ee
commit 925c59e1fe

View File

@@ -8,6 +8,14 @@ class PurchaseOrder(models.Model):
demand_plan_line_id = fields.Many2one(comodel_name="sf.production.demand.plan",
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')
def _compute_purchase_type(self):
for purchase in self:
@@ -20,3 +28,17 @@ class PurchaseOrder(models.Model):
elif purchase.demand_plan_line_id.supply_method == 'purchase':
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