feat(bom): 自制件子件选版本落库/强校验 + 独立启停 + 状态筛选
- save_bom 落库 child_bom_no/child_bom_version;自制件必选且须属于启用未归档配方集,外购件置空;跨版本查重纳入引用版本 - get_bom_detail 改为读存储列,空则回退最新启用配方;候选/校验/回退读取均排除 is_archived - 新增 GET /bom/self-bom-versions(子件候选版本);新增 POST /bom/status 独立启停(update_enabled 清缓存) - 草稿链路 save_draft/get_draft_detail/publish 持久化引用版本 - get_bom_list/get_bom_summary 支持 status(enabled/disabled) 过滤
This commit is contained in:
@ -33,7 +33,9 @@ class BomDraftService:
|
||||
child_id=child.get('child_id'),
|
||||
dosage=child.get('dosage', 0),
|
||||
loss_rate=child.get('loss_rate', 0),
|
||||
remark=child.get('remark', '')
|
||||
remark=child.get('remark', ''),
|
||||
child_bom_no=child.get('child_bom_no') or None,
|
||||
child_bom_version=child.get('child_bom_version') or None
|
||||
)
|
||||
db.session.add(draft)
|
||||
|
||||
@ -75,6 +77,8 @@ class BomDraftService:
|
||||
'dosage': float(draft.dosage) if draft.dosage else 0.0,
|
||||
'loss_rate': float(draft.loss_rate) if draft.loss_rate else 0.0,
|
||||
'remark': draft.remark or '',
|
||||
'child_bom_no': draft.child_bom_no or '',
|
||||
'child_bom_version': draft.child_bom_version or '',
|
||||
})
|
||||
|
||||
return {
|
||||
@ -126,6 +130,8 @@ class BomDraftService:
|
||||
'child_id': child['child_id'],
|
||||
'dosage': child['dosage'],
|
||||
'remark': child.get('remark', ''),
|
||||
'child_bom_no': child.get('child_bom_no') or '',
|
||||
'child_bom_version': child.get('child_bom_version') or '',
|
||||
}
|
||||
for child in children
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user