--[[
|
编码: JX-102-02
|
名称: 创建后
|
作者:
|
日期: 2025-1-29
|
|
函数: AfterDataObjDelete
|
|
功能:
|
-- 删除【波次组成】【波次明细】
|
-- 删除入库波次计划出库的料箱等,更新入库单信息
|
|
更改记录:
|
|
--]]
|
|
wms_base = require ("wms_base")
|
|
function AfterDataObjDelete( strLuaDEID )
|
local nRet, strRetInfo
|
|
-- 获取 S_NO
|
nRet, strRetInfo = mobox.getCurEditDataObjAttr( strLuaDEID, "S_WAVE_NO", "N_B_STATE" )
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "获取当前编辑属性失败! "..strRetInfo ) end
|
|
local obj_attrs = json.decode( strRetInfo )
|
local wave_no = obj_attrs[1].value
|
local b_state = lua.StrToNumber( obj_attrs[2].value )
|
|
if ( wave_no == '' or wave_no == nil ) then return end
|
|
-- 删除波次组成
|
local strCondition = "S_WAVE_NO = '"..wave_no.."'"
|
nRet, strRetInfo = mobox.dbdeleteData( strLuaDEID, "IW_Compose", strCondition )
|
if ( nRet ~= 0) then lua.Error( strLuaDEID, debug.getinfo(1), "删除入库波次相关的【波次组成】失败! "..strRetInfo ) end
|
|
-- 删除入库波次组成
|
local strCondition = "S_WAVE_NO = '"..wave_no.."'"
|
nRet, strRetInfo = mobox.dbdeleteData(strLuaDEID, "IW_Detail", strCondition)
|
if (nRet ~= 0) then lua.Error( strLuaDEID, debug.getinfo(1), "删除【IW_Detail】失败!"..strRetInfo) end
|
|
-- 更新【入库单】中的 S_WAVE_NO,S_STATION_NO, S_OPERATOR_NAME, S_OPERATOR, N_B_STATE
|
local strUpdateSql = "N_B_STATE = 0, S_WAVE_NO = '', S_STATION_NO ='', S_OPERATOR_NAME = '', S_OPERATOR = ''"
|
local strCondition = "S_WAVE_NO = '"..wave_no.."'"
|
nRet, strRetInfo = mobox.updateDataAttrByCondition( strLuaDEID, "Inbound_Order", strCondition, strUpdateSql )
|
if ( nRet ~= 0 ) then
|
lua.Stop( strLuaDEID, "更新【入库单】信息失败!"..strRetInfo )
|
return
|
end
|
|
|
-- 如果业务状态不等于完成 要把容器解锁
|
if ( b_state ~= IN_WAVE_STATE.Finish ) then
|
nRet, strRetInfo = wms_pac.Release_Pre_Alloc_Cntr( strLuaDEID, "Inbound_Wave", wave_no )
|
if ( nRet ~= 0 ) then
|
lua.Stop( strLuaDEID, strRetInfo )
|
return
|
end
|
end
|
|
-- 删除[预分配容器/Pre_Alloc_Container]
|
local strCondition = "S_BS_TYPE = 'Inbound_Wave' AND S_BS_NO = '"..wave_no.."'"
|
nRet, strRetInfo = mobox.dbdeleteData(strLuaDEID, "Pre_Alloc_Container", strCondition)
|
if (nRet ~= 0) then lua.Error( strLuaDEID, debug.getinfo(1), "删除【Pre_Alloc_Container】失败!"..strRetInfo) end
|
|
-- 删除[预分配容器明细/Pre_Alloc_CNTR_Detail]
|
nRet, strRetInfo = mobox.dbdeleteData(strLuaDEID, "Pre_Alloc_CNTR_Detail", strCondition)
|
if (nRet ~= 0) then lua.Error( strLuaDEID, debug.getinfo(1), "删除【Pre_Alloc_CNTR_Detail】失败!"..strRetInfo) end
|
|
end
|