--[[
|
编码: WMS-22-11
|
名称: 发货单-检查状态
|
作者:HAN
|
日期:2025-1-29
|
|
级别:固定 (说明本段代码在项目中不太会变化)
|
|
函数: CheckState
|
功能:
|
-- 检查 发货单明细 配盘是否全部完成,如果全部完成 N_B_STATE = 1
|
|
更改记录:
|
|
--]]
|
|
json = require ("json")
|
mobox = require ("OILua_JavelinExt")
|
m3 = require("oi_base_mobox")
|
|
function CheckState ( strLuaDEID )
|
local n, nRet, strRetInfo,shipping_order
|
|
nRet, shipping_order = m3.GetSysCurEditDataObj( strLuaDEID, "Shipping_Order" )
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "获取当前【发货单】对象属性失败! "..shipping_order ) end
|
-- 获取【发货单明细】
|
local strCondition = "S_SHIPPING_NO = '"..shipping_order.no.."'"
|
local strOrder = ""
|
local data_objs
|
local distribution_finish = true
|
|
nRet, data_objs = m3.QueryDataObject( strLuaDEID, "Shipping_Detail", strCondition, strOrder )
|
if (nRet ~= 0) then lua.Error( strLuaDEID, debug.getinfo(1), "获取【Count_CG_Detail】信息失败! " .. count_cg_detail) end
|
local obj_attrs
|
local qty, acc_d_qty
|
|
for n = 1, #data_objs do
|
obj_attrs = m3.KeyValueAttrsToObjAttr(data_objs[n].attrs)
|
qty = lua.StrToNumber( obj_attrs.F_QTY )
|
acc_d_qty = lua.StrToNumber( obj_attrs.F_ACC_D_QTY )
|
if ( qty > acc_d_qty ) then
|
distribution_finish = false
|
break
|
end
|
end
|
if ( distribution_finish ) then
|
local strUpdateSql = "N_CURRENT_NUM = 0"
|
strCondition = "S_NO = '"..shipping_order.no.."'"
|
nRet, strRetInfo = mobox.updateDataAttrByCondition( strLuaDEID, "Shipping_Order", strCondition, strUpdateSql )
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "更新【发货单】信息失败!"..strRetInfo ) end
|
end
|
end
|