dy-dashboard/vault/知识库/工作指南/训练记录/2026-09-24-2026-09-24 每日训练笔记.md
2026-10-28 11:14:17 +08:00

118 lines
8.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 2026-09-24 每日训练笔记
> 来源:旭东与 OpenClaw 每日训练,2026-09-24
> 类型:训练记录
### 1. 查询计划预测的日销量预测和建议下单逻辑
**旭东 → OpenClaw:**
> 帮我查询几个数据的计算逻辑
> 1、计划预测SKU弹窗里面,云仓数据列表下边的日销量预测数据计算逻辑是什么?
> 2、计划预测里面,建议下单数量的计算逻辑是什么?
**OpenClaw 响应:**
沿前端弹窗、后端接口和计算服务核对测试环境源码及当前配置。云仓日销量预测基于云仓范围最近3天、7天、14天平均销量,按照销售趋势对应权重和调整系数加权后四舍五入;无销量时为0。计划预测列表先计算目标支撑天数(安全库存天数7天+生产货期+物流时间),再根据总仓、云仓、外仓支撑天数的充足/不足组合,选择总日销量预测、云仓日销量预测或外仓日销量预测乘以目标天数。实际下单数量在建议数量基础上按1000向上取整。另确认SKU详情弹窗与计划预测列表的建议下单逻辑不完全一致,且“总支撑天数”当前只计算加工厂库存和生产在途。
### 2. 反算云端SKU建议下单数量2021
**旭东 → OpenClaw:**
> 比如在云端系统里面,JWTBS-GMNJ-4480-ALJK这个品的建议下单数量是怎么计算出来得到2021的
**OpenClaw 响应:**
按云端实际代码和实时数据复算。该SKU的3天、7天、14天平均销量分别为26、45、57,平稳趋势权重为20%、30%、50%,调整系数1.00,因此日销量预测为ROUND(26×0.2+45×0.3+57×0.5)=47。安全库存7天、生产货期35天、物流时间1天,目标周期为43天,建议下单数量为47×43=2021,实际下单数量按1000向上取整为3000。确认云端仍使用简化公式,与测试环境的分仓组合判断版本不同。
### 3. 确认云端建议下单是否使用库存可支撑天数
**旭东 → OpenClaw:**
> 这个逻辑计算的时候,是没有根据库存可支撑天数作为依据去判断吗?
**OpenClaw 响应:**
确认云端当前建议下单计算不依据库存可支撑天数,也不扣减现有库存或在途库存,直接采用“日销量预测×(安全库存天数+生产货期+物流时间)”。该SKU普通库存16100、日销量预测47,库存可支撑约342.6天,但该值仅用于显示和库存健康指标,未进入下单判断。若采用库存缺口口径,该SKU建议下单应为0,说明云端现行公式计算的是目标周期总需求而非缺口。
### 4. 确认测试环境建议下单数量1978的判断依据
**旭东 → OpenClaw:**
> 测试环境下边这个品的建议下单数量1978,有拿库存可支撑天数作为依据去判断吗?
**OpenClaw 响应:**
确认测试环境使用了库存相关支撑天数,但未直接使用“库存可支撑天数”字段,而是判断总支撑天数、云仓支撑天数和外仓支撑天数。该SKU目标支撑天数43天,总支撑0天、云仓支撑16100天、外仓支撑0天,命中“总仓不足+云仓充足+外仓不足”组合,因此选择外仓日销量预测46计算:46×43=1978,实际下单为2000。普通库存可支撑342.6天本身不参与该组合判断。
### 5. 分析总支撑和外仓支撑为0的原因
**旭东 → OpenClaw:**
> 库存可支撑天数 = 342.6天
> 总支撑天数 = 0天
> 云仓支撑天数 = 16100天
> 外仓支撑天数 = 0天
> 为什么总支撑天数和外仓支撑天数都为0?
**OpenClaw 响应:**
说明各支撑字段的分子口径不同。库存可支撑天数使用普通库存16100÷总日销量预测47=342.6天;总支撑天数只使用加工厂库存0+生产在途0,因此为0。外仓虽有库存3995,但最新一天外仓销量为0,外仓销量权重为0,导致外仓可分配库存为-3995,恰好抵消外仓库存,最终支撑天数为0。指出当前公式会把实际库存充足的SKU判定为总仓和外仓不足,存在明显业务口径冲突。
### 6. 排查汤定毅无法编辑其他用户权限
**旭东 → OpenClaw:**
> 还发现一个异常,超级管理员汤定毅的账号,无法调整其他成品的权限,提示权限不足,仅超级管理员可以编辑用户
**OpenClaw 响应:**
检查测试环境用户数据、前后端角色判定和用户编辑接口后,确认汤定毅数据库角色实际为`admin`,而编辑用户接口严格要求`super_admin`,因此出现权限不足。OpenClaw给出“改为超级管理员”“放宽管理员权限”“暂不修改”三个处理选项,建议只调整汤定毅账号角色,避免扩大所有普通管理员权限。
### 7. 确认将汤定毅改为超级管理员
**旭东 → OpenClaw:**
> 改为超级管理员 (Recommended)
**OpenClaw 响应:**
按确认将测试环境汤定毅账号从`admin`调整为`super_admin`,重启测试服务,并用汤定毅会话实测用户编辑接口返回“更新成功”;服务状态为active,本机和局域网地址均返回HTTP 200。未修改代码,也未操作云端和生产环境;提醒汤定毅退出后重新登录,使会话读取新角色。结果已写入专项训练记录。
### 8. 核对并调整云端两名超级管理员
**旭东 → OpenClaw:**
> 在云端系统里面,把用户周淑珍和汤定毅都调整为超级管理员
**OpenClaw 响应:**
在云端核对周淑珍和汤定毅账号,确认两人当前均已是`super_admin`且状态启用,因此未重复写库。验证云端`dy-dashboard.service`为active,服务器本机登录页及公网登录页均返回HTTP 200,未操作11.79生产环境。提醒旧会话退出后重新登录,并将核对结果同步到云端知识库。
### 9. 查询云端四类支撑天数计算逻辑
**旭东 → OpenClaw:**
> 云端系统里面库存可支撑天数、总支撑天数、云仓支撑天数、外仓支撑天数4个字段的计算逻辑分别是什么
**OpenClaw 响应:**
核对云端当前代码后说明:库存可支撑天数=普通库存÷总日销量预测;总支撑天数=(加工厂库存+生产在途)÷总日销量预测;云仓支撑天数=(云仓库存+云仓可分配库存)÷云仓日销量预测;外仓支撑天数=(外仓库存+外仓可分配库存)÷外仓日销量预测。云仓和外仓可分配库存依据最新出库日期当天的销量占比分配总库存;预测值为0时显示999。特别指出“总支撑天数”没有普通库存和采购在途,分仓支撑也不是直接使用各仓实际库存。
### 10. 确认两名云端超级管理员能否编辑其他用户
**旭东 → OpenClaw:**
> 云端系统里面,这两名超级管理员是否可以对其他用户进行编辑?
**OpenClaw 响应:**
再次核对云端账号和接口代码,确认周淑珍、汤定毅均为启用状态的`super_admin`,可以编辑其他用户的姓名、角色、员工级别、岗位、手机、邮箱、启用状态和密码,也可以调整非超级管理员用户的个人页面及操作权限。旧会话需退出重新登录;超级管理员固定拥有全部权限,不能再单独配置其个人权限,但可编辑用户资料。
## 关键决策汇总
| 时间顺序 | 主题 | 决策/结论 |
|---|---|---|
| 1 | 计划预测算法 | 测试环境计划预测按总仓、云仓、外仓支撑组合选择销量预测;弹窗与列表存在口径差异。 |
| 2 | 云端建议下单2021 | 云端使用简化公式:47×43=2021,不扣库存。 |
| 3 | 库存判断 | 云端库存可支撑天数不参与建议下单;按缺口逻辑该SKU应为0。 |
| 4 | 测试环境1978 | 测试环境命中“总仓不足+云仓充足+外仓不足”,使用外仓预测46×43=1978。 |
| 5 | 支撑天数异常 | 总支撑漏算普通库存与采购在途;外仓最新日销量为0会使权重归零并抵消实际外仓库存。 |
| 6 | 测试账号权限 | 选择将汤定毅从`admin`调整为`super_admin`,不放宽普通管理员权限。 |
| 7 | 云端账号权限 | 周淑珍、汤定毅云端已是启用状态的`super_admin`,无需重复修改。 |
| 8 | 用户编辑能力 | 两名云端超级管理员可编辑其他用户;角色变更后需重新登录。 |
## 待办
- [ ] 统一云端与测试环境的建议下单算法版本和业务口径。
- [ ] 明确建议下单应计算“目标周期总需求”还是“扣除有效库存和在途后的缺口”。
- [ ] 修正或重命名“总支撑天数”,决定是否纳入普通库存和采购在途。
- [ ] 优化云仓/外仓库存分配权重,避免单日销量为0时将已有库存完全抵消。
- [ ] 统一SKU详情弹窗和计划预测列表的建议下单数量计算逻辑。
- [ ] 请汤定毅及周淑珍退出并重新登录后,进行一次用户编辑与权限保存的人工验收。
---
*由 OpenClaw 每日训练任务自动生成*