编辑 | blame | 历史 | 原始文档

定期盘点自动调度 - 前端联调方案

涉及页面

  • 盘点方案列表页(wls/stocktaking/plan
  • 盘点方案编辑表单(wls/stocktaking/plan 新建/编辑弹窗)

业务流程与数据带入

  1. 盘点方案开启「定期自动生成」并配置生成周期 cron 后,后台定时任务(每周期扫描、默认每分钟一次)按各方案「上次生成时间 + cron」判断是否到期。
  2. 到期则系统自动按方案创建盘点任务(草稿态,名称取方案名,沿方案的类型/盲盘/冻结/动态盘点时间段),并立即按方案生成盘点明细行。
  3. 方案首次开启后系统会记录基线时间,从下一个周期起开始生成,不会开启当天立即生成。

API

方法 路径 说明
POST /mes/wm/stocktaking-plan/create 创建盘点方案
PUT /mes/wm/stocktaking-plan/update 修改盘点方案
GET /mes/wm/stocktaking-plan/get 获得盘点方案详情
GET /mes/wm/stocktaking-plan/page 获得盘点方案分页

请求参数新增(创建/修改 ReqVO):

参数 类型 必填 说明
autoGenerate Boolean 是否定期自动生成盘点任务(默认 false)
generateCron String autoGenerate=true 时必填 自动生成周期 cron 表达式(Quartz 6 段),如 0 0 8 * * ? 表示每天 8 点

响应字段新增(详情/分页 RespVO):

字段 类型 说明
autoGenerate Boolean 是否定期自动生成盘点任务
generateCron String 自动生成周期 cron 表达式
lastGenerateTime LocalDateTime 上次自动生成时间(后端回写,仅展示)

字段展示规则

字段 展示位置 说明
autoGenerate 列表、表单 开关/复选框
generateCron 表单 autoGenerate 开启时必填并显示;不合法时后端报错「生成周期 cron 表达式不合法」
lastGenerateTime 列表、详情 只读展示,前端不可编辑

业务规则说明

场景 规则
开启自动生成 autoGenerate=true 时 generateCron 必填(否则报错「开启定期自动生成时必须配置生成周期 cron」)
未开启 autoGenerate=false 时忽略 generateCron
cron 校验 使用 Quartz 6 段 cron,不合法给「生成周期 cron 表达式不合法」错误
生成范围 仅「启用状态 + 开启自动生成 + 已配置 cron」的方案参与扫描
防重复 生成任务成功后同事务回写上次生成时间,避免同周期重复生成
首次启用 首次扫描仅记录基线时间不生成,从下一周期开始
部分失败 单个方案生成失败不影响其它方案
任务查看 自动生成的任务可在盘点任务列表查看,来源方案编码/名称自动带入

注意事项

  • 自动生成是后台定时任务行为,前端无需触发;联调时验证方案字段保存/回显正确即可。
  • 若需验证生成效果,可将 cron 配置为短周期(如每分钟 0 */1 * * * ?),保存启用后在盘点任务列表观察自动出现草稿任务。
  • 后续若在 WMS(mom-pro2-before)盘点方案表单中增加以上两个字段,仅需随方案保存与回显;无新增页面。