

Shopee WES客户化设计

文档编号：
	Shopee_011

文档内容：
	AGV分拣出库

版本：
	1.0

项目经理：

客户经理：

确认人：

确认日期：

修改历史：
作者
	时间
	版本
	备注

张庆辉
	2026-05-15
	1.0
	方案初版

业务流程
主流程
	流程名称
	描述
	应用场景
	设备类型

业务描述

修改范围
UI增加AGV分拣出库
前提条件
N/A
新增表/字段
AGV分拣首选项
agv_preference
字段名
	含义
	类型
	长度
	非空
	默认值

id
	内部号
	bigint

	Y

code
	编码
	varchar
	50
	Y

name
	名称
	varchar
	50
	N

warehouseCode
	仓库
	varchar
	50
	Y

initDocType
	分拣方式
	varchar
	500
	Y
	 固定下拉框选择（批量和按单两种）

allUsers
	所有用户
	int

	N
	0

useAsDefault
	是否默认
	int

	N
	0

参数设置
参数
	取值范围
	模块
	描述

功能设计

UI
一．新增AGV分拣首选项界面
界面可以参考包装复合首选项，可以按照人员设置对应权限。

新增UI界面AGV分拣

打开界面，选择对应的工作站进行登录；

扫描工作站后，需要检测当前工作站是否在wcs_work_station表存在。
进入管理界面；
A点击开始按钮，弹框选择出库单类型。弹框显示的内容为出库单类型，点击单选

选择后判断工作台的模式currentJobMode=0或者2，则提示成功，并将currentJobMode更新为2； 将选择的出库单类型更新到当前工作台表的tasktype字段。
若此工作台的currentJobMode！=0或者2，则提示“此工作台正在进行其他工作，不允许开始”；

B点击退出，若此工作台的currentJobMode=2，则提示成功，并将currentJobMode更新为0；
点击暂停，将接单状态acceptStatus更新为0；图表显示为继续
点击继续，将接单状态acceptStatus更新为1；图表显示为暂停

绑箱：点击绑箱，弹框显示
     货架号：XXXXXXX
     周转箱号：XXXXXXX
扫描货架号，判断必须在wcs_sorting_wall存在，若不存在，则报错
另外wcs_sorting_wall的LPN必须为空为NULL ,否则报错，提醒“当前货架已存在周转箱”
扫描周转箱后调用上游WMS的周转箱检查接口，WMS返回成功可用，才可以绑定。将周转箱号更新到wcs_sorting_wall表的LPN。
若返回不可用，则提示“当前周转箱不可用”
满箱
点击满箱，弹框显示
     货架号：XXXXXXX
     周转箱号：XXXXXXX
扫描货架号，判断必须在wcs_sorting_wall存在，若不存在，则报错
另外wcs_sorting_wall的LPN必须为有值，否则报错，提醒“当前货架无箱”
扫描周转箱后调用上游WMS的周转箱检查接口，WMS返回成功可用，才可以绑定。将周转箱号更新到wcs_sorting_wall表的LPN。
若返回不可用，则提示“当前周转箱不可用”
G.封箱：点击封箱，弹框显示
     货架号：XXXXXXX
    扫描货架号，判断必须在wcs_sorting_wall存在，若不存在，则报错
另外wcs_sorting_wall的sy_status必须=6，任务完成状态。将当前格口Task_ID，lpn清空，sy_status更新=0，还需下发当前格口灭灯指令。（之前下发过亮绿灯指令）
G：封箱后面增加缺料按钮
点击按钮，弹框进行二次确认，则当前周转箱货品+批次的订单需要重新分配。
继续判断当前周转箱是否有其他货品需要分拣，若有则显示下一个货品的分拣信息(注意批量和按单)
若当前周转箱无其他货品需要分拣，则下发周转箱回库调度指令
同时也生产缺料的盘点单，盘点类型=缺料。盘点单的具体字段见盘点客户化文档

波次任务分配
详情见专属客户化文档
3.波次任务分配到分拣墙（计划任务）
A.系统用计划任务检测到工作台表存在的currentJobMode=2，acceptStatus=1，status=1的工作台，可能会多个工作台，需要轮询。先找到找到电子标签货架表wcs_sorting_wall，此工作台对应的的货位workStationCode=当前工作台。判断此工作台Task_ID是否有为NULL的货位,若有货位的Task_ID有值，则不下发任务。若存在Task_ID为空或为NULL的货位，则找到符合下面条件的任务。
b．波次任务条件：出库单仓库=当前仓库，拣货任务头已释放，任务从货位区域=AGV区域，任务头状态为100，任务头的自定义2字段为空或为null，任务头的自定义1字段(出库任务类型)在电子标签货架表wcs_sorting_wal的cktype类型里包含。（分拣墙的波次任务类型维护多个），而且任务表头的上游波次号自定义4关联上游波次号段表(波次分配客户化确定)，上游波次号段表的是否已分配字段自定义1为空为null。

将任务分配到电子标签货架表wcs_sorting_wal上，将任务表头的上游波次号自定义4更新到Task_ID字段，sy_status更新=2。任务头自定义2更新为当前时间，自定义3更新为电子标签货架货位号。也将上游波次号段表的是否已分配字段自定义1更新=1.

D、继续执行下一个工作台分配
4.下发AGV任务（计划任务）
a．(找出库的工作台)工作台表存在的currentJobMode=2，acceptStatus=1，status=1的工作台，可能会多个工作台，需要轮询。工作台对应的分拣墙已经存在执行的任务（Sorting_location表的Task_ID有值，sy_status=2），
b. （查询当前为完成的周转箱数量）查询自动化调度表wcs_dispatch_task的状态processStatus是未完成，工作台workStationCode等于当前工作台的数量Y。
判断Y是否小于当前工作台workStationCode表ZDagv维护的数量，若小于则继续执行。若大于，则跳过当前工作台，执行下个工作台。
C.若小于，则找分拣墙的Task_ID(任务表头的上游波次号自定义4)下的拣货任务的从区域=agv库区，拣货任务头是已释放，拣货明细的从LPN关联周转箱表wcs_container，周转箱表的onHandStatus状态=“10”）的分拣墙分配的拣货任务明细，并按照货品进行排序，找到的周转箱数量最多是workStationCode表ZDagv维护的数量。
D．根据周转箱，下发AGV任务，每个周转箱是一个报文。
下发到wcs_dispatch_task调度表。

5.AGV搬运任务完成
接口收到AGV完成的搬运回传指令，WMS将调度表的任务完成。

6.扫描周转箱分拣
a电脑扫描枪扫描已经到达工作台的周转箱号，根据周转箱找到分拣墙 下任务对应的此周转箱status=100的任务明细，若不存在，则提示“无此周转箱任务”，
b若存在，则电脑分拣界面选择的首选项来判断显示。若首选项initDocType类型是批量。
则显示此周转箱第一个货品+批次+库存状态的找到所有分拣墙格口的任务分拣信息。(按照每个货品所有格口任务进行分拣。)
若initDocType类型是按单，则显示此周转箱第一个货品+批次+库存状态的找到第一个分拣格口任务的分拣信息。(按照每个货品单个格口任务进行分拣。)

D.显示内容:左边是当前周转箱的信息，需要根据周转箱表的格口数进行动态显示，格口数存在1,2,4,6,8.当前周转箱分拣货位所在货位格口需要放大蓝色显示。
中间显示的是当前分拣的数量，下面是货品的图片，货品名称，货品sku编码(UPC)，
若

左边显示的分拣墙的示意图，每个工作台有2组货架，1组是4层*5=20个货架，2组是3层*5=15个货架，共35个货架。显示的内容是工作台wcs_sorting_wall表groupIndex的。若分拣墙货位所在格口需要放大蓝色显示，下面显示对应格口的分拣数量。
扫描货品
扫描周转箱，显示第一个货品的分拣信息。然后扫描货品SKU编码，盘点当前周转箱货品SKU+批次库存是否冻结，若冻结则弹框提醒”当前货品批次已冻结，需要重新分配”。
若点击了确认，则当前周转箱货品+批次的订单需要重新分配。
继续判断当前周转箱是否有其他货品需要分拣，若有则显示下一个货品的分拣信息(注意批量和按单)
若当前周转箱无其他货品需要分拣，则下发周转箱回库调度指令。

下发电子标签指令
扫描周转箱，显示第一个货品的分拣信息。然后扫描货品SKU编码，当前货品没用冻结。还需判断分拣货架表在wcs_sorting_wall表LPN必须都有值。若无值，则提醒“需要绑定订单箱”
若都有值则下发当前周转箱SKU对应分拣墙的电子标签亮红灯。
电子标签 id维护在wcs_sorting_wall表的lamp字段。下发成功后将周转箱，货品，批次更新到wcs_sorting_wall表当前货架的fj_lpn，fj_sku，fj_batch字段。并且wcs_sorting_wall表的sy_status更新=4

G.若货品管控序列号则，扫描SKU后弹框扫描采集序列号。

任务确认
(可参考国电南瑞项目，汤星明技术经理)UI分拣界面需要监测到电子标签拍灯接口，若节课报文返回的分拣墙货位wcs_sorting_wall表的sy_status=4，则是任务确认，根据记录的周转箱，货品，批次进行当前任务的确认。任务确认的时候将当前分拣货架wcs_sorting_wall的订单箱LPN更新到任务确认的任务明细自定义1字段。
还要清空当前wcs_sorting_wall货架的fj_lpn，fj_sku，fj_batch字段，sy_status更新=2。
界面刷新，若首选项是批量，则显示周转箱下一个货品+批次的所有任务格口的分拣信息，
若是按单的首选项，则显示这个货品+批次下一个任务格口的分拣信息，若无其他任务，则找其他货品+批次的分拣信息。
若当前周转箱全部货品分拣完成，下发当前周转箱回库。
手工确认
为防止电子标签出问题，则保留人工手工任务确认。
在分拣界面点击右下角的完成指令，是将界面上的周转箱、货品、批次对应的任务格口进行确认。任务确认后，逻辑同上。

订单分拣完成
任务确认的时候，判断wcs_sorting_wall分拣墙格口的任务是否完成，若整个任务分拣完成，则下发当前格口电子标签绿灯。sy_status更新=6.
UI分拣界面需要监测到电子标签拍灯接口，若节课报文返回的分拣墙货位wcs_sorting_wall表的sy_status=6，则的封箱。将当前格口Task_ID，lpn清空，sy_status更新=0

