feat: Excel批量导入后端 — 模板下载+预览验证+执行导入

## import_service.py (新增)
- generate_template(): 基础信息/BOM Excel模板生成(带样例数据)
- parse_boolean(): 是/否/True/False 稳健布尔解析
- preview_material/bom(): Dry-Run解析+验证(重复/存在性/必填)
- BOM ffill: 父件列自动向下填充(支持合并单元格UX)
- execute_material/bom_import(): 事务包裹批量写入

## import_api.py (新增)
- GET /api/v1/import/template?type=material|bom
- POST /api/v1/import/preview (文件→预览验证)
- POST /api/v1/import/execute (确认导入)

## __init__.py + requirements.txt
- 注册 import 蓝图; 新增 pandas>=1.5.0
This commit is contained in:
yueli
2026-07-16 14:00:28 +08:00
parent 5b1cd4d8d0
commit 5411cabd0a
4 changed files with 541 additions and 0 deletions

View File

@ -258,6 +258,16 @@ def create_app():
except Exception as e:
print(f"❌ 错误: Export 模块注册失败: {e}")
# -----------------------------------------------------
# 2.14 注册批量导入模块 (Import)
# -----------------------------------------------------
try:
from app.api.v1.import_api import import_bp
app.register_blueprint(import_bp, url_prefix='/api/v1/import')
print("✅ Import 模块注册成功")
except ImportError as e:
print(f"❌ 错误: Import 模块导入失败: {e}")
# =========================================================
# 3. 预加载数据模型
# =========================================================