--[[
|
编码: WMS-13-09
|
名称: 预收货单-定版后
|
作者:HAN
|
日期:2025-1-29
|
|
级别:固定 (说明本段代码在项目中不太会变化)
|
|
函数: AfterStateChange
|
|
功能:
|
1)删除系统中和这预收货单号相关的最大行号记录
|
属于优化数据记录减少垃圾数据的操作
|
2) 【预收货单明细】设置为定版
|
更改记录:
|
|
--]]
|
json = require ("json")
|
mobox = require ("OILua_JavelinExt")
|
m3 = require("oi_base_mobox")
|
|
function AfterStateChange ( strLuaDEID )
|
local nRet, strRetInfo
|
|
-- 获取 S_NO
|
nRet, strRetInfo = mobox.getCurEditDataObjAttr( strLuaDEID, "S_NO","S_STATE" )
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "获取当前编辑属性失败! "..strRetInfo ) end
|
|
local obj_attrs = json.decode( strRetInfo )
|
local asn_no = obj_attrs[1].value -- 预收货单编号
|
local state = obj_attrs[2].value -- 预收货单状态
|
|
if ( asn_no == '') then
|
lua.Warning( strLuaDEID, debug.getinfo(1), "预收货单编号为空! " )
|
return
|
end
|
|
-- 清除 asn_no 的最大行号记录 ()
|
nRet, strRetInfo = mobox.removeSerialNumber( "行号", asn_no )
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "removeSerialNumber() 失败! "..strRetInfo ) end
|
|
-- 设置【预收货单明细】的状态=定版
|
local strCondition = "S_ASN_NO = '"..asn_no.."'"
|
nRet, strRetInfo = mobox.setDataObjStateByCondition( strLuaDEID, "ASN_Detail", strCondition, state )
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "setDataObjStateByCondition() 失败! "..strRetInfo ) end
|
end
|