aps-agent/docs/product/demand-data-intake.md

8.8 KiB
Raw Permalink Blame History

柔性排产 · 数据采集模板

用途:填这张模板即可让「能力池 + 虚拟产线」排产跑起来。
口径:字段能对上即可(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。