--[[
|
编码: WMS-17-16
|
名称: 计划盘点容器-5601-容器编码输入后
|
作者:HAN
|
日期:2025-1-29
|
|
级别:固定 (说明本段代码在项目中不太会变化)
|
|
函数: AfterCNTRNoChange
|
|
功能:
|
-- 在盘点PDA界面,输入容器编号后,系统查询【计划盘点容器】及【】
|
更改记录:
|
|
--]]
|
|
wms_cntr = require ("wms_container")
|
|
function AfterCNTRNoChange ( strLuaDEID )
|
local nRet, strRetInfo
|
local attrs
|
|
-- step1 获取5601分拣界面中表头的输入属性(容器编号/托盘号)
|
nRet, attrs = m3.GetSysInputParameter( strLuaDEID )
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "获取当前输入面板里的属性失败! "..attrs ) end
|
|
local input_attr = lua.KeyValueAttrsToObjAttr(attrs)
|
local cntr_code = input_attr.S_CNTR_CODE
|
if (cntr_code == nil or cntr_code == '') then return end
|
local count_no = input_attr.S_COUNT_NO
|
if (count_no == nil or count_no == '') then
|
mobox.setInfo( strLuaDEID, "必须要有盘点单号!" )
|
return
|
end
|
|
-- step2 判断输容器是否存在合法
|
local container
|
nRet, container = wms_cntr.GetInfo( strLuaDEID, cntr_code )
|
if (nRet ~= 0) then lua.Error( strLuaDEID, debug.getinfo(1), "获取【容器】信息失败! " .. container) end
|
if ( container == '') then lua.Error( strLuaDEID, debug.getinfo(1), "【容器】" .. cntr_code.."不存在!") end
|
if ( container.virtual == 'Y' ) then lua.Error( strLuaDEID, debug.getinfo(1), "容器'" .. cntr_code.."'是一个虚拟容器!") end
|
|
-- step3 查询容器是否在【盘点单】中存在
|
local strCondition = "S_CNTR_CODE = '"..cntr_code.."' AND S_COUNT_NO = '"..count_no.."'"
|
nRet, strRetInfo = mobox.existThisData(strLuaDEID, "CP_Count_Container", strCondition)
|
if (nRet ~= 0) then lua.Error( strLuaDEID, debug.getinfo(1), "在检查容器是否在盘点里时失败! " .. strRetInfo) end
|
if (strRetInfo ~= 'yes') then
|
mobox.setInfo( strLuaDEID, "盘点单'"..count_no.."'没有这个容器!" )
|
return
|
end
|
|
-- step4 获取【Count_CG_Detail】盘点货物
|
local strOrder = "S_ITEM_CODE"
|
local count_cg_detail
|
nRet, count_cg_detail = m3.QueryDataObject( strLuaDEID, "Count_CG_Detail", strCondition, strOrder )
|
if (nRet ~= 0) then lua.Error( strLuaDEID, debug.getinfo(1), "获取【Count_CG_Detail】信息失败! " .. count_cg_detail) end
|
|
-- 设置 action
|
local action_array = {}
|
-- 设置[待分拣]页面信息
|
local set_page_content_action = {}
|
local value = {}
|
set_page_content_action.action_type = "set_subtable_page_content"
|
value.page_name = "盘点货物"
|
value.clear = true
|
value.checkbox = true
|
if ( #count_cg_detail == 0 ) then
|
value.content = json.decode("[]")
|
else
|
value.content = count_cg_detail
|
end
|
set_page_content_action.value = value
|
action_array[1] = set_page_content_action
|
|
lua.Debug( strLuaDEID, debug.getinfo(1),"action_array", action_array)
|
|
nRet, strRetInfo = mobox.setAction( strLuaDEID, table2str(action_array) )
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "setAction失败! "..strRetInfo..' action = '..strAction ) end
|
end
|