优化原料库存管理功能

- 库存跟踪表格设置为只读模式,防止误编辑
- 添加"编辑剩余库存"功能,支持直接修改库存数量
- 实现逻辑删除机制,删除操作不再物理删除数据
  - 在 fabric_stock_in 和 fabric_consumption 表添加 is_deleted 字段
  - 所有删除操作改为标记删除,保留历史数据
  - 查询时自动过滤已删除记录
- 原料编辑支持修改型号
  - 型号字段改为可编辑
  - 保存时检查型号重复并提示
  - 型号修改时级联更新所有关联表
- 优化操作列宽度,确保按钮文本完整显示
- 改进警告提示,明确说明操作影响

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-27 18:59:18 +08:00
parent 14e25ad03b
commit fa70f62099
3 changed files with 225 additions and 83 deletions

View File

@@ -143,7 +143,17 @@ class DatabaseManager:
conn.execute("ALTER TABLE fabric_consumption ADD COLUMN updated_at DATETIME DEFAULT CURRENT_TIMESTAMP")
except:
pass
# 添加逻辑删除字段
try:
conn.execute("ALTER TABLE fabric_stock_in ADD COLUMN is_deleted INTEGER DEFAULT 0")
except:
pass
try:
conn.execute("ALTER TABLE fabric_consumption ADD COLUMN is_deleted INTEGER DEFAULT 0")
except:
pass
# 数据迁移将fabrics表中category字段的"类目-类型"格式拆分成两个字段
try:
cursor = conn.execute("SELECT model, category FROM fabrics WHERE category LIKE '%-%' AND (fabric_type IS NULL OR fabric_type = '')")