--[[
|
编码: GT-03-14
|
名称: 装箱工单-按钮-设置为启动
|
作者:HAN
|
日期:2023-05-10
|
|
函数: SetState
|
|
功能:
|
-- 设置为“启动”状态
|
|
更改记录:
|
V2.0 LZH 2024-06-06 设置状态后刷新页面
|
V2.1 LZH 2024-06-06 同一工位同时只能有一个启动状态的装箱工单
|
|
--]]
|
json = require("json")
|
mobox = require("OILua_JavelinExt")
|
m3 = require("oi_base_mobox")
|
|
function SetState(strLuaDEID)
|
local nRet, strRetInfo, objs, nCount
|
|
-- 获取当前选中的数据对象
|
nRet, objs = m3.GetSysDataJson(strLuaDEID)
|
if (nRet ~= 0) then lua.Error(strLuaDEID, debug.getinfo(1), objs) end
|
lua.Debug(strLuaDEID, debug.getinfo(1), '设置为启动参数:', objs)
|
|
local obj_attrs
|
local strCondition, strSetAttr
|
|
for n = 1, #objs do
|
obj_attrs = m3.KeyValueAttrsToObjAttr(objs[n].attrs)
|
if (obj_attrs ~= nil and obj_attrs ~= '') then
|
-- V2.1 判断该工位下面是否已经存在启用状态的装箱工单
|
strCondition = "S_STATION = '" .. obj_attrs.S_STATION .. "' AND S_STATE = '启用'"
|
nRet, nCount = mobox.getDBRecordCount(strLuaDEID, "TN_GT_Packing_Order", strCondition)
|
if (nRet ~= 0) then lua.Error(strLuaDEID, debug.getinfo(1), nCount) end
|
if (tonumber(nCount) > 0) then
|
lua.Error(strLuaDEID, debug.getinfo(1),
|
obj_attrs.S_STATION .. "工位已存在启用状态的装箱工单!")
|
end
|
|
if (obj_attrs.S_STATE == '新建') then
|
strCondition = "S_PACK_NO = '" .. obj_attrs.S_PACK_NO .. "'"
|
strSetAttr = "S_STATE = '启用'"
|
nRet, strRetInfo = mobox.updateDataAttrByCondition(strLuaDEID, "GT_Packing_Order", strCondition,
|
strSetAttr)
|
if (nRet ~= 0) then
|
lua.Error(strLuaDEID, debug.getinfo(1), "设置状态失败!" .. strRetInfo)
|
end
|
|
-- 如果启动的装箱工单是散装胶的,则调用WCS接口下发机器人规格
|
if (obj_attrs.S_DISPERSOID == 'Y') then
|
-- 调用国自的任务下发接口
|
local strCode = lua.guid() -- 生产一个GUID字符串
|
local url = wms_base.Get_sConst(strLuaDEID, "WCS-url")
|
local strurl = url .. "/ChangeSpecifications"
|
local strHeader = ""
|
local data = {
|
req_no = strCode,
|
palletizing = obj_attrs.S_PALLETIZING
|
}
|
nRet, strRetInfo = CreateInterfaceExc(strLuaDEID, strurl, strHeader, data, "WCS", "机器人规格下发")
|
if (nRet ~= 0) then
|
lua.Error(strLuaDEID, debug.getinfo(1), "调用接口失败!" .. strRetInfo)
|
end
|
end
|
end
|
end
|
end
|
-- V2.0 设置状态后刷新Grid页面
|
local strAction = '[{"action_type":"refresh","value":""}]'
|
nRet, strRetInfo = mobox.setAction(strLuaDEID, strAction)
|
if (nRet ~= 0) then lua.Error(strLuaDEID, debug.getinfo(1), "setAction错误: " .. strRetInfo) end
|
end
|