133 lines
4.2 KiB
Markdown
133 lines
4.2 KiB
Markdown
|
|
# 工具使用规范
|
|||
|
|
|
|||
|
|
## MOM 系统 API
|
|||
|
|
|
|||
|
|
### 后端基础信息
|
|||
|
|
- **Base URL**: `${MOM_API_BASE_URL}`(默认 http://localhost:8080)
|
|||
|
|
- **认证**: JWT Token,通过 Authorization: Bearer 头传递
|
|||
|
|
|
|||
|
|
### 数据分析可访问的全部 API(只读)
|
|||
|
|
|
|||
|
|
#### 生产模块
|
|||
|
|
| 功能 | 端点 | 方法 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 生产计划列表 | `/erp/productionPlan/list` | GET |
|
|||
|
|
| 工单列表 | `/erp/workOrder/list` | GET |
|
|||
|
|
| 报工反馈 | `/mes/pro/feedback/list` | GET |
|
|||
|
|
| 工序任务 | `/mes/pro/task/list` | GET |
|
|||
|
|
| 生产零件 | `/erp/parts/list` | GET |
|
|||
|
|
| MBOM清单 | `/erp/mbom/list` | GET |
|
|||
|
|
|
|||
|
|
#### 销售模块
|
|||
|
|
| 功能 | 端点 | 方法 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 销售订单 | `/erp/salesOrder/list` | GET |
|
|||
|
|
| 合同列表 | `/erp/contract/list` | GET |
|
|||
|
|
| 出货单 | `/erp/deliver/list` | GET |
|
|||
|
|
| 销售发票 | `/erp/invoice/list` | GET |
|
|||
|
|
|
|||
|
|
#### 采购模块
|
|||
|
|
| 功能 | 端点 | 方法 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 采购订单 | `/erp/purchaseOrder/list` | GET |
|
|||
|
|
| 到货单 | `/erp/checkin/list` | GET |
|
|||
|
|
| 退货单 | `/erp/reject/list` | GET |
|
|||
|
|
| 采购计划 | `/erp/purchasePlan/list` | GET |
|
|||
|
|
|
|||
|
|
#### 质量模块
|
|||
|
|
| 功能 | 端点 | 方法 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| IQC检验 | `/mes/qc/iqc/list` | GET |
|
|||
|
|
| IPQC检验 | `/mes/qc/ipqc/list` | GET |
|
|||
|
|
| OQC检验 | `/mes/qc/oqc/list` | GET |
|
|||
|
|
| 检验结果 | `/mes/qc/result/list` | GET |
|
|||
|
|
|
|||
|
|
#### 仓储模块
|
|||
|
|
| 功能 | 端点 | 方法 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 库存查询 | `/mes/wm/materialstock/list` | GET |
|
|||
|
|
| 出入库事务 | `/mes/wm/transaction/list` | GET |
|
|||
|
|
| 领料单 | `/erp/warehouse/issue/list` | GET |
|
|||
|
|
|
|||
|
|
#### 设备模块
|
|||
|
|
| 功能 | 端点 | 方法 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 设备列表 | `/mes/dv/machinery/list` | GET |
|
|||
|
|
| 维修记录 | `/mes/dv/repair/list` | GET |
|
|||
|
|
| 点检计划 | `/mes/dv/checkplan/list` | GET |
|
|||
|
|
|
|||
|
|
#### 主数据
|
|||
|
|
| 功能 | 端点 | 方法 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 物料主数据 | `/erp/masterdata/item/list` | GET |
|
|||
|
|
| BOM结构 | `/erp/masterdata/bom/list` | GET |
|
|||
|
|
| 车间列表 | `/erp/masterdata/workshop/list` | GET |
|
|||
|
|
| 工位列表 | `/erp/masterdata/workstation/list` | GET |
|
|||
|
|
|
|||
|
|
## 数据库查询(只读)
|
|||
|
|
|
|||
|
|
数据分析Agent有更广泛的SQL查询权限,但严格只读:
|
|||
|
|
|
|||
|
|
### 连接信息
|
|||
|
|
- Host: `${MOM_DB_HOST}` / Port: `${MOM_DB_PORT}`
|
|||
|
|
- Database: `${MOM_DB_NAME}`
|
|||
|
|
- User: `${MOM_DB_USER}`(只读账号)
|
|||
|
|
|
|||
|
|
### 常用分析查询模板
|
|||
|
|
|
|||
|
|
#### 日产量统计
|
|||
|
|
```sql
|
|||
|
|
SELECT DATE(create_time) AS prod_date,
|
|||
|
|
COUNT(*) AS total_orders,
|
|||
|
|
SUM(quantity_produced) AS total_produced,
|
|||
|
|
SUM(quantity_qualified) AS total_qualified,
|
|||
|
|
ROUND(SUM(quantity_qualified)/SUM(quantity_produced)*100, 2) AS yield_rate
|
|||
|
|
FROM pro_feedback
|
|||
|
|
WHERE create_time >= CURDATE() - INTERVAL 7 DAY
|
|||
|
|
GROUP BY DATE(create_time)
|
|||
|
|
ORDER BY prod_date;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 设备OEE数据
|
|||
|
|
```sql
|
|||
|
|
SELECT m.machinery_code, m.machinery_name,
|
|||
|
|
COUNT(DISTINCT DATE(f.create_time)) AS work_days,
|
|||
|
|
SUM(f.quantity_produced) AS total_output,
|
|||
|
|
SUM(f.quantity_qualified) AS good_output
|
|||
|
|
FROM dv_machinery m
|
|||
|
|
LEFT JOIN pro_task t ON t.machinery_id = m.machinery_id
|
|||
|
|
LEFT JOIN pro_feedback f ON f.task_id = t.task_id
|
|||
|
|
WHERE f.create_time >= CURDATE() - INTERVAL 30 DAY
|
|||
|
|
GROUP BY m.machinery_id
|
|||
|
|
ORDER BY total_output DESC;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 库存周转分析
|
|||
|
|
```sql
|
|||
|
|
SELECT i.item_code, i.item_name,
|
|||
|
|
s.quantity_onhand,
|
|||
|
|
COALESCE(consumed.qty, 0) AS monthly_consumption,
|
|||
|
|
CASE WHEN COALESCE(consumed.qty, 0) > 0
|
|||
|
|
THEN ROUND(s.quantity_onhand / (consumed.qty / 30), 1)
|
|||
|
|
ELSE 999 END AS days_of_supply
|
|||
|
|
FROM erp_md_item i
|
|||
|
|
JOIN erp_wm_stock s ON s.item_id = i.item_id
|
|||
|
|
LEFT JOIN (
|
|||
|
|
SELECT item_id, SUM(quantity) AS qty
|
|||
|
|
FROM wm_transaction
|
|||
|
|
WHERE transaction_type = 'OUT'
|
|||
|
|
AND create_time >= CURDATE() - INTERVAL 30 DAY
|
|||
|
|
GROUP BY item_id
|
|||
|
|
) consumed ON consumed.item_id = i.item_id
|
|||
|
|
ORDER BY days_of_supply DESC
|
|||
|
|
LIMIT 50;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 工具使用原则
|
|||
|
|
|
|||
|
|
1. **严格只读**: 所有数据库操作仅限 SELECT,禁止任何写操作
|
|||
|
|
2. **性能意识**: 复杂查询必须带 LIMIT,大表关联走索引
|
|||
|
|
3. **数据校验**: 分析结果与多个数据源交叉验证
|
|||
|
|
4. **时间范围**: 默认查询最近 30 天数据,长周期分析明确时间窗口
|
|||
|
|
5. **数据脱敏**: 涉及价格、成本等敏感数据时确认用户权限
|