Marui_Work_Optimize/架构说明.md

127 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

# 缺料交期系统 — 使用手册
## 📌 快速开始
### 第一次使用
1. 打开 `全機型_日報表.xlsm`
2.`Alt + F11` 进入 VBA 编辑器
3. 新建模块,粘贴 `PMC_缺料交期优化.bas` 的内容
4. 保存
### 每次查看缺料交期
1. **按 `Ctrl+Shift+R`**(需在 VBA 中设置)
2. 或手动运行 `RefreshAllData`
3. 查看自动生成的 **「缺料交期总表」**
---
## 📊 系统架构
### 现状数据流(优化前)
```
qsPO确认交期→ 需手动填入缺料表
TMH实际入库→ 需手动更新qs
缺料表 → 交期列全空
```
### 优化后数据流
```
qsPO确认交期
↓ FillConfirmedDelivery()
缺料.P列确认交期 + Q列预计到货
UpdateShortagePriority() → 缺料.R列优先级
CreateShortageDeliveryReport() → 缺料交期总表(汇总视图)
TMH入库记录
↓ SyncTMHToQS() → qs.K列已交货数量
```
---
## 📋 各工作表职责
| 工作表 | 数据来源 | 责任人 | 本系统操作 |
|--------|---------|--------|-----------|
| qs | 采购录入PO和ETD | 采购 | 读取ETD回填交期 |
| TMH | 仓储录入实际入库 | 仓储 | 读取入库同步入qs |
| 缺料 | 系统生成或手工 | PMC | 回填P/Q/R列 |
| 缺料交期总表 | 自动汇总 | PMC | **查看为主** |
---
## 🎯 核心使用场景
### 场景1查看缺料和交期
**操作:** 按 `Ctrl+Shift+R` → 查看「缺料交期总表」
「缺料交期总表」包含:
- 料号、机种、IC厂商
- 结余/欠料数量
- PO未交量
- TMH待提数量
- L/T内缺料
- **确认交期从qs回填**
- **预计到货数量**
- **优先级(高/中/低)**
- 跟催建议
### 场景2采购回复交期后
**操作:** 在qs表填入ETD → 运行 `FillConfirmedDelivery`
回填内容:
- 缺料.P列 = qs.J列确认交期
- 缺料.Q列 = qs.K列预计数量
### 场景3料到入库后
**操作:** TMH录入 → 运行 `SyncTMHToQS`
效果:
- qs.K列标记已交货数量
- qs.L列标记"已确认"
---
## 🚨 优先级说明
| 优先级 | 条件 | 颜色 | 动作 |
|--------|------|------|------|
| **高** | 结余<0 PO=0 | 红色 | 紧急跟催立即联系采购 |
| **中** | 结余<0 PO>0 | 橙色 | 确认PO交期追踪厂商回复 |
| **低** | 结余>=0 | 绿色 | 正常,核对备料需求即可 |
---
## ⚠️ 注意事项
1. **qs 表是数据源**:本系统从 qs 读取交期qs 数据必须由采购及时录入
2. **TMH 是入库依据**:实际入库数量通过 TMH 同步到 qs
3. **交期总表只读**:建议不要手动编辑总表,每次用 `RefreshAllData` 刷新
4. **日期格式**qs.J 列ETD建议使用 Excel 日期格式,否则匹配可能失败
---
## 🔧 维护指南
### 快捷键设置
```
1. Alt + F11 打开 VBA 编辑器
2. 在模块上右键 → 宏 → RefreshAllData → 选项
3. 快捷键输入Shift+R即 Ctrl+Shift+R
```
### 添加新字段
如需在「缺料交期总表」增加列:
1.`CreateShortageDeliveryReport()``headers` 数组添加列名
2. 在对应位置写入数据
3. 运行刷新
### 修改优先级规则
`UpdateShortagePriority()``CreateShortageDeliveryReport()` 中修改:
```vba
' 高优先级规则示例
If shortageQty < 0 And poQty = 0 Then
priority = "高"
```