--[[
|
编码: JX-28-13
|
名称: 盘点单-盘点差异转移
|
作者:HAN
|
日期:2025-3-6
|
级别:固定 (说明本段代码在项目中不太会变化)
|
|
函数: CountOrder_DiffTransfer
|
|
功能:
|
根据点中的盘点单把盘点单相关的盘点差异进行盘点差异处理
|
-- 把盘点差异上传巨沃(只上传盘亏)
|
-- 调整WMS的库存量
|
|
更改记录:
|
|
--]]
|
wms_count= require( "wms_count" )
|
jx_base = require( "jx_base" )
|
|
function CountOrder_DiffTransfer( strLuaDEID )
|
local nRet, strRetInfo, n
|
local count_order
|
|
m3.PrintLuaDEInfo( strLuaDEID )
|
|
-- step1 获取当前点中的[盘点单]
|
nRet, objs = m3.GetSysDataJson( strLuaDEID )
|
if ( nRet ~=0 ) then lua.Error( strLuaDEID, debug.getinfo(1), objs ) end
|
-- [{"id":"","attrs":[{"attr":"","value":""},..]},..]
|
local nCount = #objs
|
if (nCount == 0) then return end
|
|
-- 获取盘点单对象
|
local msg = ""
|
for n = 1, nCount do
|
strCondition = "S_ID = '"..lua.trim_guid_str( objs[n].id ).."'"
|
nRet, count_order = m3.GetDataObjByCondition(strLuaDEID, "Count_Order", strCondition )
|
if ( nRet ~= 0 ) then return 2, "m3.ObjAttrStrToLuaObj(Count_Order) 失败! "..count_order end
|
|
-- 如果是货物盘点需要判断盘点单是否已经上传巨沃 cr_state = 1 表示成功上传
|
if ( count_order.cr_state ~= 1 and count_order.count_type == wms_base.Get_nConst( strLuaDEID, "盘点类型-货品盘点")) then
|
msg = msg.."盘点单'"..count_order.count_no.."'盘点结果还没有上传巨沃,无法做差异转移!\r\n"
|
else
|
nRet, strRetInfo = jx_base.CountOrder_Transfter ( strLuaDEID, count_order )
|
-- 返回2说明是致命错误
|
if ( nRet ~= 0 ) then
|
if ( nRet == 2 ) then return 2, strRetInfo end
|
msg = msg..strRetInfo.."\r\n"
|
end
|
end
|
end
|
if ( msg ~= '' ) then
|
mobox.setInfo( strLuaDEID, msg )
|
end
|
local action = {
|
{
|
action_type = "refresh",
|
value = ""
|
}
|
}
|
|
nRet, strRetInfo = mobox.setAction(strLuaDEID, lua.table2str(action))
|
if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "setAction错误: "..strRetInfo) end
|
|
end
|