57 lines
1.8 KiB
Markdown
57 lines
1.8 KiB
Markdown
# 嘉恒智能报工后端服务
|
||
|
||
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` 只能由经理修改。
|
||
- 经理看板只统计审核通过的报工,并按 `报工日期 + 员工电话` 合并。
|
||
- 产品唯一键为 `项目号 + 产品名称 + 使用设备号 + 工序`。
|
||
- 人员为 `手机号 + 姓名` 主体,同一手机号可以绑定多个角色;登录时多角色手机号需要先选择角色。
|