生产看板
生产看板把「今天到底缺多少」摊在一屏上:订单要多少、已经分出去多少、库存还能顶多少、半成品够不够——十二个数字加一张产品汇总表,看完就知道该排产、该补半成品,还是该去清历史遗留。它是纯读的供需平衡视图,本身不写任何单据,唯一的写入口是「加单」。
功能路径:生产调度 → 生产管理 → 生产看板

一、功能概述
菜单位置:生产调度 → 生产管理 → 生产看板(页面地址 /admin/SimpProduce/sppproducedashboard/dashboard/)
| 用途 | 说明 |
|---|---|
| 排产前看一眼 | 净需求要不要排、半成品有没有缺口 |
| 盘中盯进度 | 计划数、完工数、在制三个数随做随刷 |
| 收尾清遗留 | 历史遗留单据批量关闭或释放占用 |
| 临时追加 | 用「加单」在当天订单之上追加量 |
它和生产中心是同一张表的三个窗口之一。 生产计划单在网页端有三处入口:生产中心是干活的工作台,另一个是单据表单页,生产看板是第三个——只读视图。看板上的数字与生产中心不冲突,因为它取的就是同一批计划单,只是过滤条件不同。
二、界面布局说明
| 区域 | 内容 |
|---|---|
| 顶部条件 | 今天 / 昨天 / 明天 / 后天 / 自定义 五个日期档,右侧显示当前日期;再右边是 加单、刷新 |
| 页签 | 总览、产品汇总表、半成品缺口、在制明细,后三个带条数徽标 |
| 卡片区 | 三组共十二张卡片,见第四节 |
| 建议动作条 | 服务端按当前缺口生成一句话建议,见 4.4 |
| 历史遗留折叠区 | 「⚠ 历史遗留」,展开后是超期单据清单与两个按钮 |
三个和别的页面不一样的地方
第一,日期档里有「明天」「后天」,没有「本周」「上月」。 看板是按天看的,不是按区间看的。想提前排明天的产,直接点 明天——订单、计划、库存全部按那一天口径重算。
第二,页面上没有分店下拉、没有生产组、没有班次筛选。 看板取哪个工厂、哪个仓,读的是配置而不是当场选择:工厂取生产系统特点里的当前工厂,仓库取工厂信息配置的成品仓。所以换分店看数据要先切顶栏的分店,看板本身不给选择器。
第三,没有导出、没有条件方案。 工具栏只有「加单」和「刷新」两个动作。
刷新机制
只有手动刷新。 点 刷新 会同时重查产品汇总表和十二张卡片。切到 产品汇总表 页签时会自动重查一次。
没有自动轮询、没有 WebSocket——数据不会自己跳。页签上那几个徽标数字是每 400 毫秒从状态栏读一次「共 N 条」读出来的,最多读 10 次,那是计数徽标,不是数据刷新。盘中要盯进度就反复点刷新。
三、四个页签
总览
十二张卡片 + 建议动作条 + 历史遗留。详见第四节。
产品汇总表

| 列 | 口径 |
|---|---|
| 编号 / 物料 / 单位 | 物料档案 |
| 订货数 | 当天门店订货 + 销售订单 + POS 预订的合计量 |
| 结存数 | 成品仓时点库存 |
| 计划数 | 当天生效计划(不含预生产) |
| 完工数 | 完工入库量 |
| 分货数 | 分货实配量 |
底部有一行 合计,七个数值列全部求和(合计的是当前条件下的全量,不是当前页)。默认按 订货数降序,每页 50 条,档位 20/30/50/100/200。上方有 物料关键字 条件,匹配方式可切 包含 / 等于 / 开头为 / 结尾为 / 不等于 / 不包含 / 介于。
哪些物料会出现:行集合只由当天的流量决定——门店订单、销售订单、POS 预订单、非预生产计划、分货,五个来源里出现过任何一个就建行。结存数只是补充列,光有库存没有流量的物料不会单独成行。所以某款明明有库存却不在表里,是因为今天没人订它。
半成品缺口
| 列 | 说明 |
|---|---|
| 行号 / 编号 / 物料 / 单位 | |
| 需求 | 成品净需求按配方展开到这一层半成品 |
| 库存 | 该半成品的可用量 |
| 预生产 | 已有预生产计划的未执行量 |
| 在制 | 今天在产的半成品 |
| 可用 | 库存 + 预生产 + 在制的合计量 |
| 缺口 | 需求 − 可用,只有大于 0 才出现「去补产 ↗」链接 |
点 去补产 ↗ 会跳到生产中心——过去之后要自己选中对应计划单再点「预生产」,链接只负责跳转,不会替你选好。
空态原文:当日无半成品缺口数据。
在制明细
| 列 | 说明 |
|---|---|
| 行号 / 单据编号 | 单据编号可点,直接进该计划单的表单页 |
| 状态 | 配料中 / 领料中 / 领料完成 / 生产部质检 / 包装 / 成品部质检 / 完工入库 / 分货配送 等 |
| 投产数量 / 入库数量 | |
| 进度 | 完工数 ÷ 投产数的百分比进度条 |
| 生产部门 / 生产组 |
空态原文:暂无在制计划单。
四、十二张卡片的算法
4.1 计单需求
| 卡片 | 算法 | 副文案 |
|---|---|---|
| 订单需求 | 门店订货 + 销售订单 + POS 预订三类单的当天需求量合计 | 「门店 X / 销售 Y / 预订 Z」拆开告诉你量从哪来 |
| 已分货 | 当天分货单的实配数量合计 | 「分货实配 Σ fFactQty」 |
| 分货缺口 | 订单需求 − 已分货,负数归 0 | 大于 0 显示「订单需求 - 已分货」,否则显示「已分足」 |
| 可用库存 | 物理库存 − 被历史遗留占用 − 未来占用,下限 0 | 「物理 A - overdue B - 未来 C」三个数都列出来 |
「已分货」用的是实配数,不是订货数。 分货时把 3 个改成 2 个,这里就按 2 计。
4.2 生产执行 · 成品
| 卡片 | 算法 | 副文案 |
|---|---|---|
| 计划数 | 当天生效计划单的录入数量合计,排除预生产单 | 「当天生效计划 Σ fInputCount」 |
| 完工数 | 当天完工入库量 | 「达成率 N%」= 完工 ÷ 计划 |
| 在制 | 计划数 − 完工数 | 「计划 - 完工(未完工量)」 |
| 净需求(要排产) | 订单需求 − 可用库存 − 今天在制 | 大于 0 显示「需要补产」,否则「供给充足」 |
计划数不含预生产,这是最容易看错的一张卡。预生产是为半成品提前排的,不占成品产能,所以被排除。要一并看预生产,去预生产半成品汇总。
没有生效计划时,完工数的副文案显示 暂无计划,达成率不显示。
4.3 半成品保障
| 卡片 | 算法 | 副文案 |
|---|---|---|
| 半成品需求 | 成品净需求 × 配方第一层展开 | 「成品净需求 × BOM 展开」 |
| 预产可冲减 | 已存在的预生产计划里还没执行的部分 | 「已有预生产计划未执行量」 |
| 半成品在制 | 今天在产的半成品 | 「今天在产的半成品」 |
| 缺口(待排预产) | 半成品需求 − 可用(库存负值截 0) | 大于 0 显示「建议提前补排预产」,否则「无缺口」 |
这四张卡是链式依赖的:成品净需求为 0 时,半成品需求必然是 0,后面三张也全是 0。看到半成品一排 0,先回头看「净需求(要排产)」是不是 0,那才是根因。
4.4 建议动作条
服务端按当前数据生成一句话,原文有五种:
| 原文 | 触发 |
|---|---|
| 建议排产成品 N(缺口需补产) | 净需求大于 0 |
| 半成品缺口 N 项共 M,建议提前补产(去生产中心选对应计划单点「预生产」) | 有半成品缺口 |
| 历史遗留 N 张占库存 M,建议批量关闭或释放占用 | 有超期单据占着库存 |
| 已手工释放 N 张计划单的占用(缓存 7 天后自动恢复) | 本次点过释放占用 |
| 供给充足,无待办动作 | 以上都没有 |
4.5 历史遗留
判定口径:近三天内生效、没完工、而且还没走完分货环节的计划单。三天这个窗口不可配置——代码里读的那个配置项在特点清单里并不存在,读失败后一律回落到默认 3 天。
展开后每张单显示「日期 + 数量 + 阶段 + 单号」,阶段文案取自 分货配送 / 完工入库 / 成品部质检 / 包装 / 生产部质检 / 领料完成 / 领料中 / 配料中 / 未知 这一组。
两个按钮:
| 按钮 | 确认原文 | 实际效果 |
|---|---|---|
| 批量关闭 | 确定关闭 N 张 overdue 计划单吗? 关闭后单据保留历史(状态=已关闭),不再占用库存; 如需单据回到草稿请到生产中心使用「取消生效」。 | 真的改单据状态,置为已关闭 |
| 释放占用 | 确定释放 N 张计划单的库存占用吗? 不改变单据状态,仅在看板计算中排除。 | 不改任何单据,只写一条 7 天有效期的缓存 |
「释放占用」这一点务必看清:它只是让看板暂时不把这些单算进占用,七天之后缓存过期,占用自动回来。要永久解决请用「批量关闭」,或者回生产中心处理单据本身。
五、业务操作步骤
每天开盘看一遍
- 生产调度 → 生产管理 → 生产看板,默认落在 今天;
- 先看 净需求(要排产):显示「供给充足」就不用排;显示「需要补产」就点 半成品缺口 页签看具体是哪几项,点 去补产 ↗ 跳生产中心;
- 再看 分货缺口:不为 0 说明订单还没分完,去快速分货;
- 盘中每做一阵点一次 刷新,看 完工数 的达成率往上走没有;
- 收尾时展开 历史遗留,确认那些单是真不做了还是忘了关。
提前排明天的产
- 点顶部 明天;
- 此时 订单需求 是明天已接的预订单量,可用库存 是按明天口径算的量;
- 按 净需求(要排产) 去生产中心建明天的计划单——看板不替你建单,切到明天只是看数。
临时加单
- 点 加单,弹窗标题为「加单 — <日期>」;
- 弹窗预填今日订单明细,仅在需追加的产品行填写追加数量(原文提示),没改的行不动;
- 先点 模拟影响 看加完之后缺口怎么变——这一步不写数据;
- 确认无误再点 确认加单(生效),系统创建计划单并直接生效。
加单的校验原文:请至少填写一行加单明细、请添加加单明细、加单明细缺少物料、物料不存在(ID=N)、无有效加单数量、物料已删除:名称。成功提示为 已创建并生效计划单;若创建成功但生效失败,提示 已创建计划单,但生效失败:原因——这时候单据是草稿状态,要去生产中心手工生效。
六、取数范围与门径
| 数据 | 来源 | 过滤条件 |
|---|---|---|
| 门店订单 | 分店订货单 | 需求日期 = 看板日,单据状态 = 已生效 |
| 销售订单 | 销售订单 | 送货日期 = 看板日,已生效 |
| POS 预订单 | 预订单 | 取货时间 = 看板日,状态为已确认/已完工/已取货类 |
| 计划单 | 生产计划单 | 工厂 = 当前工厂,生产日期 = 看板日,已生效,排除预生产 |
| 分货 | 分货单 | 需求日期 = 看板日,排除草稿与作废,取实配数量 |
| 结存 | 库存总账 | 成品仓时点量,物料限成品类别 |
| 半成品展开 | 工艺配方 | 根行 + 生效子行,下级限半成品与成品类别 |
三条要记住的:
- 草稿单一律不算——订货单、销售订单、计划单都是。订单在门店还没提交,看板上看不到;
- 看板取数不排除逻辑删除标志(这几张源表本身没有该列),所以删过的单靠状态而不是靠删除位排除;
- 全程只读,所有查询都带
NOLOCK,看板不会锁住任何单据。
七、典型使用场景
场景一:明明有库存,看板却说可用库存是 0
排查顺序:① 看 可用库存 的副文案,三个数哪个把库存吃掉了——多半是 overdue 不为 0,即历史遗留占着;② 展开 历史遗留 确认那些单是否真不做了;③ 不做就 批量关闭,还要做就别释放(释放只是遮 7 天)。
场景二:半成品四张卡全是 0
根因在 净需求(要排产):它是 0,说明成品够,半成品自然没需求。这不是 bug。
场景三:完工数一直是 0
依次核:① 计划数 是不是也 0——没有生效计划,副文案会写「暂无计划」;② 完工入库有没有做——看 在制明细 页签的「入库数量」;③ 完工入库单是否已生效,草稿不算。
八、权限控制与前置条件
- 菜单权限在「生产调度 → 生产管理」;页面本身只读,新增/修改/删除权限一律关闭;
- 四个动作(加单、模拟影响、批量关闭、释放占用)走独立的操作通道,不是普通的单据按钮权限;
- 前置配置:生产系统特点里的当前工厂必须设好,工厂信息里的成品仓必须配好——这两处缺一个,看板就取不到库存;
- 顶栏要先选好分店,否则报 未选择分店。
九、常见问题
看板数字和生产中心对不上。 先确认日期口径:看板按天,生产中心列表默认查本月;再确认是否包含预生产——看板的计划数排除预生产,生产中心不排除。
点了「释放占用」,过几天又冒出来了。 设计如此。释放占用只写缓存,7 天过期后占用自动恢复。要永久处理请 批量关闭。
能不能自动刷新? 不能。没有轮询、没有推送,只有 刷新 按钮和切页签时的一次自动重查。
为什么没有分店下拉? 看板的工厂/仓库来自配置,不在页面上选。要换分店看,切顶栏的分店再进看板。
能不能导出看板? 不能,导出与条件方案在这个页面是关闭的。要留档请截图,或到对应的单据列表页导出。
历史遗留能不能改成看 7 天、10 天? 不能。回看窗口固定 3 天,那个本该控制它的配置项在特点清单里并不存在。
产品汇总表里没有某款,但它确实有库存。 行集合只由当天流量决定,结存数不单独建行。今天没人订、也没排产、也没分货的款不会出现在表里。
页面提示「看板数据加载失败」。 先点 刷新 重试;持续失败按顺序核:顶栏分店是否选好、工厂信息是否配了成品仓、当前会计期是否正常。
