--[[
|
编码: JX-19-18
|
名称: 整单删除
|
作者:KUN
|
日期:2025-03-05
|
|
函数: AfterDataObjDelete
|
功能:
|
-- 操作人员操作失误,需要重新码盘,因未审核,无交互,不能用解盘
|
|
|
--]]
|
|
wms_base = require("wms_base")
|
wms_wh = require("wms_wh")
|
|
function AfterDataObjDelete( strLuaDEID )
|
local nRet, strRetInfo
|
local attrs
|
-- 获取输入参数
|
nRet, attrs = m3.GetSysInputParameter(strLuaDEID)
|
if (nRet ~= 0) then
|
mobox.setInfo(strLuaDEID, "获取当前输入面板里的属性失败! " .. attrs)
|
return
|
end
|
|
-- 将输入参数转换为对象属性
|
local input_attr = m3.KeyValueAttrsToObjAttr(attrs)
|
|
local cntr_code = input_attr.S_CNTR_CODE -- 容器编码
|
local no = input_attr.S_EXT_ATTR1 -- 码盘单号
|
|
-- 检查码盘单号是否为空
|
if not no or no == "" then
|
mobox.setInfo(strLuaDEID, "码盘单号不能为空!")
|
return
|
end
|
|
-- 查询 JX_Transfer_Order 表,如果有调接口失败(N_CR_STATE = 2)的,不允许删除
|
local transfer_code
|
strCondition = "S_NO = '" .. no .. "'"
|
nRet, transfer_code = m3.GetDataObjByCondition(strLuaDEID, "JX_Transfer_Order", strCondition)
|
|
-- 检查查询是否成功
|
if (nRet ~= 0) then
|
mobox.setInfo(strLuaDEID, "查询 JX_Transfer_Order 表失败!错误信息: " .. tostring(transfer_code))
|
return
|
end
|
|
if (transfer_code.cr_state == 2 or transfer_code.b_state ~= 0) then
|
mobox.setInfo(strLuaDEID, "容器号 " .. cntr_code .. " 存在调接口失败的记录,不允许删除!")
|
return
|
end
|
|
|
-- 删除 JX_Transfer_Order 的记录
|
local strCondition = "S_NO = '" .. no .. "'"
|
nRet, strRetInfo = mobox.deleteDataObject(strLuaDEID, "JX_Transfer_Order", strCondition)
|
if (nRet ~= 0) then
|
mobox.setInfo(strLuaDEID, "删除 JX_Transfer_Order 记录失败: " .. strRetInfo)
|
return
|
end
|
|
local strCondition = "S_TO_NO = '" .. no .. "'"
|
nRet, strRetInfo = mobox.deleteDataObject(strLuaDEID, "JX_TO_Detail", strCondition)
|
if (nRet ~= 0) then
|
lua.Error(strLuaDEID, debug.getinfo(1),"删除 JX_TO_Detail 记录失败: " .. strRetInfo)
|
end
|
|
-- 清空"已码盘"页面
|
local action = {}
|
action[1] = {
|
action_type = "clear_subpage_rows",
|
value = {
|
page_name = "已码盘"
|
}
|
}
|
action[2] = {
|
action_type = "set_dlg_attr",
|
value = {
|
{attr = "S_EXT_ATTR1", value = "" },
|
{attr = "S_CNTR_CODE", value = "" },
|
{attr = "S_CELL_NO", value = "" }
|
}
|
}
|
|
|
nRet, strRetInfo = mobox.setAction(strLuaDEID, lua.table2str(action))
|
if (nRet ~= 0) then
|
mobox.setInfo(strLuaDEID, "清空已码盘页面失败! " .. strRetInfo)
|
return
|
end
|
|
-- 提示操作成功
|
mobox.setInfo(strLuaDEID, "删除成功! 码盘单号: " .. no)
|
end
|