--[[
|
编码: WMS-15-03
|
名称: 收货单-检入前
|
作者:HAN
|
日期:2025-1-29
|
|
级别:固定 (说明本段代码在项目中不太会变化)
|
|
函数: BeforeDataObjCheckIn
|
|
功能:
|
1)如果有ASN需要判断一下 收货单的数量是否超过 预收货单 中的数量
|
|
更改记录:
|
|
--]]
|
|
json = require ("json")
|
mobox = require ("OILua_JavelinExt")
|
wms = require("OILua_WMS")
|
|
m3 = require("oi_base_mobox")
|
|
function BeforeDataObjCheckIn ( strLuaDEID )
|
local nRet, strRetInfo
|
|
-- 获取 S_NO
|
nRet, strRetInfo = mobox.getCurEditDataObjAttr( strLuaDEID, "S_NO" )
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "获取当前编辑属性失败! "..strRetInfo ) end
|
|
local obj_attrs = json.decode( strRetInfo )
|
local receipt_no = obj_attrs[1].value -- 收货单编号
|
|
if ( receipt_no ~= "" ) then
|
nRet,strRetInfo = wms.wms_CheckAccumQty( strLuaDEID, "Receipt_Order", receipt_no )
|
-- 返回 { "result": true/false, "cause": [ "[xxxx]的可收货数量是58, 不能收货 100", ... ] }
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), strRetInfo ) end
|
-- 根据返回值判断是否检测通过, 如果 strRetInfo == '' 说明没预收货单
|
if ( strRetInfo ~= '') then
|
local check_result = json.decode( strRetInfo )
|
if ( check_result.result == false ) then
|
-- 告知前端有错误,程序执行终止
|
mobox.stopProgram( strLuaDEID, lua.table2str(check_result.cause))
|
return
|
end
|
end
|
end
|
end
|