--[[
|
编码: JX-105-14
|
名称: 出库波次-重置错误
|
作者:HAN
|
日期:2025-1-29
|
|
级别:固定 (说明本段代码在项目中不太会变化)
|
|
函数: Reset
|
|
功能:
|
把错误状态的出库波次重新进行自动配盘
|
更改记录:
|
|
--]]
|
wms_base = require ("wms_base")
|
|
function Reset ( strLuaDEID )
|
local nRet, strRetInfo
|
|
-- step1 获取当前点中的容器
|
nRet, objs = m3.GetSysDataJson( strLuaDEID )
|
if ( nRet ~=0 ) then lua.Error( strLuaDEID, debug.getinfo(1), objs ) end
|
-- [{"id":"","attrs":[{"attr":"","value":""},..]},..]
|
local nCount = #objs
|
if (nCount == 0) then return end
|
local outbound_wave
|
nRet, outbound_wave = m3.GetDataObject( strLuaDEID, "Outbound_Wave", objs[1].id )
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), outbound_wave ) end
|
|
if ( outbound_wave.b_state ~= 5 ) then
|
mobox.stopProgram( strLuaDEID, "只能设置错误状态的出库单波次!")
|
return
|
end
|
|
local pre_b_state = outbound_wave.per_b_state
|
|
local strUpdateSql = "N_B_STATE = "..pre_b_state..", S_ERR_MSG = ''"
|
local strCondition = "S_WAVE_NO = '"..outbound_wave.wave_no.."'"
|
nRet, strRetInfo = mobox.updateDataAttrByCondition( strLuaDEID, "Outbound_Wave", strCondition, strUpdateSql )
|
if ( nRet ~= 0 ) then
|
lua.Error( strLuaDEID, debug.getinfo(1), "更新【Outbound_Wave】信息失败!"..strRetInfo )
|
end
|
|
if ( 1 == pre_b_state ) then
|
-- 触发自动配盘
|
local add_wfp = {
|
wfp_type = 1, -- 触发数据对象事件(指定数据对象标识)
|
cls = "Outbound_Wave",
|
obj_id = outbound_wave.id,
|
obj_name = "波次号'"..outbound_wave.wave_no.."'-->自动配盘",
|
trigger_event = "自动配盘"
|
}
|
nRet, strRetInfo = m3.AddSysWFP( strLuaDEID, add_wfp )
|
if ( nRet ~= 0 ) then
|
lua.Error( strLuaDEID, debug.getinfo(1), strRetInfo )
|
end
|
end
|
local action = {
|
{
|
action_type = "refresh_cur_row",
|
value = ""
|
}
|
}
|
nRet, strRetInfo = mobox.setAction(strLuaDEID, lua.table2str(action))
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "setAction错误: "..strRetInfo) end
|
|
end
|