# 嘉恒智能报工后端服务 FastAPI 后端,负责微信小程序的人员、产品、扫码报工、报工审核、经理看板和 Excel 导入。 ## 启动 ```bash cd /Users/souplearn/Gitlab/app/JhHardwareWRS_BackPoint python3 -m venv .venv . .venv/bin/activate pip install -e . cp .env.example .env ``` 编辑 `.env`,填入真实 `MYSQL_PASSWORD`、`JWT_SECRET`、微信小程序 `WECHAT_APP_ID` 和 `WECHAT_APP_SECRET`。 初始化数据库: ```bash python scripts/init_db.py ``` 可选:写入演示人员和产品: ```bash python scripts/seed_demo.py ``` 空库首次使用时,需要先创建一个经理账号,再用这个账号登录小程序导入《人员清单》和《产品清单》: ```bash python scripts/create_manager.py --phone 你的手机号 --name 你的姓名 ``` 启动服务: ```bash uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload ``` 接口文档: - Swagger: `http://127.0.0.1:8000/docs` - 健康检查: `GET /health` ## 关键口径 - 小程序不直连 MySQL,所有数据通过 HTTPS API 访问。 - 产品 Excel 表头支持:`项目号、型材号、产品名称、物料编码、物料名称、使用设备、工序、冲压方式、操作人数、不包含物料转运节拍、标准节拍`。 - `不包含物料转运节拍` 不进入业务。 - Excel 没有 `标准工作量` 时,后端按 `28800 / 标准节拍` 生成 8 小时标准工作量。 - 报工日期按员工确认提交报工时的服务端日期记录。 - 休息间隔 `break_minutes` 只能由经理修改。 - 经理看板只统计审核通过的报工,并按 `报工日期 + 员工电话` 合并。 - 产品唯一键为 `项目号 + 产品名称 + 使用设备号 + 工序`。 - 人员为 `手机号 + 姓名` 主体,同一手机号可以绑定多个角色;登录时多角色手机号需要先选择角色。