--[[
|
编码: GK-52-16
|
来源: WMS-52-16
|
|
名称: 3053-点中出库任务
|
作者:HAN
|
日期:2025-7-5
|
|
级别:固定 (说明本段代码在项目中不太会变化)
|
|
函数: ClickItem
|
功能:
|
-- 3053 中的功能,点中出库任务后把入库信息 加到自定义表单的{3053-出库分拣}
|
|
更改记录:
|
|
--]]
|
|
json = require ("json")
|
mobox = require ("OILua_JavelinExt")
|
m3 = require("oi_base_mobox")
|
|
function ClickItem ( strLuaDEID )
|
local nRet, strRetInfo
|
local data_json
|
|
-- 获取点中的【预分配容器明细】
|
nRet, data_json = m3.GetSysDataJson( strLuaDEID )
|
if nRet ~= 0 then
|
lua.Stop( strLuaDEID, data_json )
|
return
|
end
|
if ( #data_json ~= 1 ) then
|
lua.Stop( strLuaDEID, " datajson数据输入不正确 !" )
|
return
|
end
|
|
local id = lua.trim_guid_str( data_json[1].id )
|
local action_array = {}
|
local obj_attrs = m3.KeyValueAttrsToObjAttr( data_json[1].attrs )
|
|
if lua.StrIsEmpty( obj_attrs.S_PUT_WALL_NO ) then
|
lua.Stop( strLuaDEID, " 出库任务数据对象属性不正确,播种墙料格号 (S_PUT_WALL_NO) 不能为空 !" )
|
return
|
end
|
|
if lua.StrIsEmpty( obj_attrs.S_LOC_CODE ) then
|
lua.Stop( strLuaDEID, " 出库任务数据对象属性不正确,拣货架料格号 (S_LOC_CODE) 不能为空 !" )
|
return
|
end
|
|
local login_info
|
nRet, login_info = wms_base.Get_CurLoginUserInfo( strLuaDEID )
|
if ( nRet ~= 0 ) then
|
wms_base.Notice_Audio( strLuaDEID, login_info, "error.mp3" )
|
return
|
end
|
|
-- 设置面板【出库分拣】、【播种墙显示】、【拣料箱显示】中的输入信息
|
-- 亮点
|
local qty = lua.StrToNumber(obj_attrs.F_QTY)
|
local action = {
|
{
|
action_type = "refresh_related_panel",
|
value = {
|
{
|
panel_name = "出库分拣",
|
input_parameter = {
|
id = id,
|
pac_no = obj_attrs.S_PAC_NO, -- 组盘号
|
item_code = obj_attrs.S_ITEM_CODE,
|
item_name = obj_attrs.S_ITEM_NAME,
|
cntr_code = obj_attrs.S_CNTR_CODE,
|
cell_no = obj_attrs.S_CELL_NO,
|
station = obj_attrs.S_STATION_NO,
|
bs_no = obj_attrs.S_BS_NO, -- 来源业务单号
|
dc_no = obj_attrs.S_DC_NO, -- 配盘号
|
wh_code = obj_attrs.S_WH_CODE, -- 仓库编码
|
area_code = obj_attrs.S_AREA_CODE, -- 库区编码
|
loc_code = obj_attrs.S_LOC_CODE, -- 货位编码
|
put_wall_no = obj_attrs.S_PUT_WALL_NO, -- 播种墙
|
qty = qty
|
}
|
},
|
{
|
panel_name = "播种墙显示",
|
input_parameter = {
|
loc_code = obj_attrs.S_PUT_WALL_NO, -- 货位编码
|
}
|
},
|
{
|
panel_name = "拣料箱显示",
|
input_parameter = {
|
cell_no = obj_attrs.S_CELL_NO,
|
loc_code = obj_attrs.S_LOC_CODE, -- 货位编码
|
light_color = "#FFD700" -- 显示黄色
|
}
|
}
|
}
|
}
|
}
|
|
nRet, strRetInfo = mobox.setAction( strLuaDEID, lua.table2str(action) )
|
if ( nRet ~= 0 ) then
|
lua.Stop( strLuaDEID, "setAction失败! "..strRetInfo )
|
return
|
end
|
|
-- 拣货架 亮灯
|
nRet, strRetInfo = gk_base.Lighting( loc_code, obj_attrs.S_LOC_CODE, qty, PTL_COLOR.Green, 1, login_info.login, "" )
|
if nRet ~= 0 then
|
wms_base.Notice_Audio( strLuaDEID, "货位'"..obj_attrs.S_LOC_CODE.."' 亮灯失败! "..strRetInfo, "error.mp3" )
|
return
|
end
|
-- 播种墙 亮灯
|
nRet, strRetInfo = gk_base.Lighting( obj_attrs.S_PUT_WALL_NO, obj_attrs.S_CELL_NO, qty, PTL_COLOR.Green, 1, login_info.login, "出库分拣" )
|
if nRet ~= 0 then
|
wms_base.Notice_Audio( strLuaDEID, "货位'"..obj_attrs.S_PUT_WALL_NO.."' 亮灯失败! "..strRetInfo, "error.mp3" )
|
return
|
end
|
end
|