feat: 入库新增「送货日期」字段(与业务日期区分)
- models.Inbound 增加 delivery_date 列(可空, 默认 None) - 入库单笔录入表单新增「送货日期」输入(默认当天, 可改供应商实际到货日); 出库不受影响 - 物料明细页入库流水新增「送货日期」列展示 - seed_admin 增加幂等补列: 旧库启动时自动 ALTER TABLE inbound ADD COLUMN delivery_date, 开发/EXE 均兼容 - 教程补充送货日期字段说明 (注: instance/app.db 已本地补列, 但未纳入本次提交; dist/app.db 为运行库已 gitignore)
This commit is contained in:
@@ -430,11 +430,14 @@ def inbound():
|
||||
if qty <= 0:
|
||||
flash("入库数量必须大于 0", "error")
|
||||
else:
|
||||
dlv = request.form.get("delivery_date", "").strip()
|
||||
delivery_date = _date(dlv) if dlv else None
|
||||
rec = Inbound(
|
||||
material_id=mid, batch_no=request.form.get("batch_no", ""),
|
||||
qty=qty, operator=request.form.get("operator", ""),
|
||||
source=request.form.get("source", ""),
|
||||
occur_date=_date(request.form.get("occur_date")),
|
||||
delivery_date=delivery_date,
|
||||
remark=request.form.get("remark", ""))
|
||||
db.session.add(rec)
|
||||
db.session.commit()
|
||||
@@ -1009,6 +1012,15 @@ def api_import_boms_commit():
|
||||
def seed_admin():
|
||||
with app.app_context():
|
||||
db.create_all()
|
||||
# 兼容旧库: 给 inbound 表补充 delivery_date 列(幂等)
|
||||
try:
|
||||
cols = [r[1] for r in db.session.execute(
|
||||
db.text("PRAGMA table_info(inbound)")).fetchall()]
|
||||
if "delivery_date" not in cols:
|
||||
db.session.execute(db.text("ALTER TABLE inbound ADD COLUMN delivery_date DATE"))
|
||||
db.session.commit()
|
||||
except Exception:
|
||||
db.session.rollback()
|
||||
if not db.session.scalar(db.select(User).where(User.username == "admin")):
|
||||
db.session.add(User(username="admin", password=sha256("admin123"),
|
||||
role="admin", display_name="管理员"))
|
||||
|
||||
Reference in New Issue
Block a user