refactor(purchase): 批次概念改为基于 request_no 前缀推导,撤销数据库字段

按用户反馈:不需要新增数据库字段,现有 request_no (PUR-20260831-1021-0001)
本身就能推导批次——去掉末尾4位流水号即为批次前缀。

- 撤销 purchase_request.batch_no 字段(模型/数据库)
- 撤销 create 接口的 batch_no 参数与 generate_batch_no
- 批次标识 = request_no 去掉末尾 -XXXX 段
  getBatchKey('PUR-20260831-1021-0001') = 'PUR-20260831-1021'
- 按批次查询/批量审批接口改用 batch_key (request_no LIKE 前缀)
- 前端列表批次号列、整批弹窗、一键审批本批均基于前缀推导
- 零数据库迁移,历史数据立即可用
This commit is contained in:
yueli
2026-08-31 13:49:11 +08:00
parent 664127ee30
commit f499346f74
5 changed files with 40 additions and 63 deletions

View File

@ -11,8 +11,6 @@ class PurchaseRequest(db.Model):
id = db.Column(db.Integer, primary_key=True)
request_no = db.Column(db.String(100), unique=True, nullable=False, index=True)
# [新增] 采购批次号:同一批循环提交的多条记录共享,用于分组查看/统计
batch_no = db.Column(db.String(100), index=True, comment='采购批次号(同一批提交的多条记录共享)')
# [新增] 硬关联基础物料表,打通"按单入库"链路
base_id = db.Column(db.Integer, db.ForeignKey('material_base.id'), index=True, comment='关联基础物料ID')
name = db.Column(db.String(255), nullable=False, comment='采购名称')
@ -81,7 +79,6 @@ class PurchaseRequest(db.Model):
return {
'id': self.id,
'request_no': self.request_no,
'batch_no': self.batch_no or '',
'base_id': self.base_id,
'name': self.name,
'spec_model': self.spec_model or '',