柔性排产 · 数据采集模板
用途:填这张模板即可让「能力池 + 虚拟产线」排产跑起来。
口径:字段能对上即可(Excel/CSV 皆可),编码自定但全表一致。
当前:仓库已按本模板合成一版高压线束/PDU 演示数据(server/state/seed.py 的 flex* 键);你用真实数据替换同名字段即可切换。
权威来源(2026-09-14 起):导入物理表与列名以工作簿配置 server/importers/profiles/workbooks/default-planning.json 为准,本文的角色说明仅作业务解释。可直接下载与配置逐字一致的采集模板:GET /api/import/template(主数据页「下载采集模板」),模板第一张表 数据采集说明 会列出角色、工作表、字段顺序、必填、类型、允许取值与映射摘要。排产导出模板可直接下载表头骨架:GET /api/reports/schedule-template(柔性工作台「排产模板」);工作表/表头/行号合同见 主数据配置与数据来源约定 的「采集模板与排产导出模板」。
0. 填写顺序与最小集
优先级 P0 的 5 张表不填就排不了;P1 决定质量;P2 可先用默认。
| 顺序 |
表 |
优先级 |
不填的后果 |
| 1 |
区域/布局 |
P0 |
无法算设备移动耗时 |
| 2 |
设备(能力+移动+适配模具) |
P0 |
无资源可选,排不了 |
| 3 |
工序(含瓶颈标记) |
P0 |
无法归池/算瓶颈 |
| 4 |
工装/模具 |
P0 |
压接类工序无法占用 |
| 5 |
产品工艺路线 |
P0 |
订单无法展开工序 |
| 6 |
BOM |
P1 |
无齐套/缺料判断 |
| 7 |
物料 |
P1 |
同上 |
| 8 |
班组/人力 |
P1 |
无人力约束(先按设备排) |
| 9 |
班次日历 |
P1 |
用默认双班 |
| 10 |
订单 |
P1 |
用演示订单 |
| 11 |
排产参数 |
P2 |
用默认 |
1. 区域/布局 zones
| 字段 |
说明 |
示例 |
| code |
区域编码 |
ZONE-A |
| name |
名称 |
线束区 |
移动耗时:MVP 先用每台设备一个 moveTimeMin(见设备表),不必给两两矩阵;若有精确矩阵可另附「fromZone,toZone,minutes」。
2. 设备 flexEquipment(核心表)
| 字段 |
说明 |
示例 |
| code |
设备编码 |
PRESS-001 |
| name |
名称 |
气动压接机#1 |
| capabilities |
可执行工序编码(多值,逗号) |
OP-CRIMP |
| opStdTime |
各工序单件工时(分钟),工序:分钟 多值 |
OP-CRIMP:1 |
| movable |
是否可移动 |
是/否 |
| moveTimeMin |
单次移动耗时(分钟) |
30 |
| zone |
当前区域编码 |
ZONE-A |
| adaptableMolds |
可适配模具编码(多值,逗号;无则空) |
MOLD-HV-01,MOLD-HV-02 |
| availabilityRate |
可动率 0~1 |
0.95 |
| status |
RUNNING/MAINTENANCE |
RUNNING |
一台设备可挂多道工序(能力集);这是「产能池」的来源——池 = 拥有某工序能力的设备集合,无需单独维护池表。
康尼现场可直接用 设备能力映射模板.xlsx(设备编号/能力工序/单件工时/可动率/可移动/适配模具)填写,导入时优先读取;缺表回退合成共享装配工位。
3. 工序 flexOperations
| 字段 |
说明 |
示例 |
| code |
工序编码 |
OP-CRIMP |
| name |
名称 |
压接端子 |
| isBottleneck |
是否瓶颈工序(瓶颈锚排/产能法用) |
是/否 |
| changeoverMin |
标准换型时间(分钟) |
20 |
4. 工装/模具 flexMolds
| 字段 |
说明 |
示例 |
| code |
模具编码 |
MOLD-HV-01 |
| name |
名称 |
高压端子模具 |
| operationCode |
适用工序 |
OP-CRIMP |
| adaptableEquipment |
可装到哪些设备(多值,逗号) |
PRESS-001,PRESS-002 |
| lifeTotal |
寿命上限(次/件) |
50000 |
| lifeUsed |
已用 |
12000 |
| zone |
当前区域 |
ZONE-A |
| changeoverMin |
换该模具耗时(分钟) |
20 |
| status |
AVAILABLE/LOCKED |
AVAILABLE |
康尼现场可用 模具适配映射模板.xlsx(模具编号/适用工序/适配设备/寿命/换型耗时)填写,对应工序自动 requireMold=true 并占用模具槽;缺表时不占模具槽。
5. 产品工艺路线 flexRoutings
一个产品多行,按 seq 排序。
| 字段 |
说明 |
示例 |
| productCode |
产品编码 |
HV-HARNESS |
| productName |
产品名 |
高压线束总成 |
| seq |
工序序号 |
30 |
| operationCode |
工序编码 |
OP-CRIMP |
| requireMold |
该工序是否必须模具(是→从模具表按工序取适配) |
是/否 |
| stdTimePerUnit |
单件工时(分钟)(覆盖设备默认,可空) |
1 |
6. BOM flexBom
| 字段 |
说明 |
示例 |
| productCode |
成品编码 |
HV-HARNESS |
| materialCode |
物料编码 |
WIRE-HV |
| quantity |
单件用量 |
2 |
| consumeOp |
消耗工序编码 |
OP-CUT |
| isKey |
是否关键料 |
是/否 |
7. 物料 flexMaterials
| 字段 |
说明 |
示例 |
| code / name / unit |
编码/名称/单位 |
WIRE-HV / 高压线 / 米 |
| type |
FINISHED_PRODUCT / RAW_MATERIAL |
RAW_MATERIAL |
| stock / inTransit / safetyStock |
库存/在途/安全库存 |
5000 / 0 / 1000 |
| procurementLeadTime |
采购前置期(天) |
7 |
8. 班组/人力 flexTeams
| 字段 |
说明 |
示例 |
| code / name |
班组编码/名称 |
T-CRIMP / 压接班组 |
| memberCount |
人数 |
6 |
| supportOps |
可支持工序(多值) |
OP-CRIMP,OP-ASSY |
| skillLevel |
技能等级 |
L3 |
9. 班次日历 flexCalendar
| 字段 |
说明 |
示例 |
| shiftCode |
班次 |
D |
| startTime / endTime |
起止 |
08:00 / 17:00 |
| breaks |
休息段 start-end 多值 |
12:00-13:00 |
| workdays |
工作日(1-7 或“除周末”) |
1,2,3,4,5 |
10. 订单 flexOrders
| 字段 |
说明 |
示例 |
| orderNo |
订单号 |
WO-20260716-010 |
| productCode |
产品编码 |
HV-HARNESS |
| quantity |
数量 |
100 |
| dueDate |
交期 YYYY-MM-DD |
+7 天 |
| priority |
优先级(小=高) |
1 |
| wbs |
WBS 分组(同组协同,可空) |
WBS-A |
| productionController |
生产控制者(同组隔离,可空) |
张三 |
| status |
CREATED/RELEASED |
RELEASED |
11. 排产参数 flexParams(可用默认)
| 参数 |
默认 |
说明 |
| sortMode |
BOTTLENECK |
ASC 正排 / DESC 倒排 / BOTTLENECK 瓶颈锚 |
| beforeDays / afterDays |
0 / 30 |
时间窗扩展 |
| rollingWindows |
周=7d / 中期=2d / 短期=2h |
滚动时域分层 |
| mrpControllerDays |
3 |
同 WBS 末端约束天数 |
| weights |
交期0.4/成本0.3/利用0.2/均衡0.1 |
目标权重 |
附:合成演示数据映射(当前仓库)
已按本模板在 seed_world() 追加 flex* 键:区域(线束区/PDU区/公共)、可移动压接机×4、下线机/激光焊接/测试台/检漏仪等、高压端子模具族、产品 HV-HARNESS/PDU-UNIT 及其路线与订单。真实数据到位后逐表替换即可,引擎与视图不用改。
附:现场「完整生产路线」导入(康尼样例)
目的:用现场真实订单表替换演示 flex*,跑通 PoolEngine。
不要把厂名写进默认种子或意图正则的产品绑定;用显式导入动作。
| 项 |
说明 |
| 入口脚本 |
python scripts/load_kangni.py(可加 --route / --data-dir / --no-siblings) |
| 领域模块 |
server/aps_domain/kangni_intake.py |
| API |
POST /api/flex/site/load(默认 P2 确认卡;applyNow=true 联调直写) |
| 口令 |
「加载现场订单路线」「导入完整生产路线」「替换柔性演示」 |
| 主文件 |
订单XXXX_完整生产路线.xlsx(订单头 + 10 道工序 + BOM) |
| 同源补强 |
康尼/数据/ 下订单 / 工艺路线 / BOM(自动识别;设备台账无能力字段暂不直连) |
已知现场缺口(源表自述「不可做有限产能排产」)→ 导入时显式推断并写入 flexParams.siteInferences:
| 缺口 |
推断策略 |
| 标准工时=待维护 |
优先读 工时.xlsx 对应订单 sheet 的 标准工时/分钟 真实值回填;无值时才按部装 45 分/件、装配 30 分/件推断 |
| 设备/工位=待维护 |
有 设备能力映射模板.xlsx 时按真实设备/能力/工时排产;缺表才合成 N 台共享装配工位(默认 4),能力=全部工序 |
| 模具未匹配 |
有 模具适配映射模板.xlsx 时按模具寿命/适配设备占用模具槽;缺表才 requireMold=false |
| 备料已完成 |
原料库存按需求放大,避免齐套假冲突 |
有真实工时/工位表后,改 Excel 再跑导入即可覆盖推断;工时.xlsx 已自动识别并优先回填,来源写入 stdTimeSource=工时表。
变更登记见 ../CHANGELOG.md。