a级黄色毛片免费播放视频-a级精品九九九大片免费看-a级毛片免费观看网站-a级毛片免费全部播放-久久久成人网-久久久成人影院

產(chǎn)品中心 業(yè)內(nèi)新聞 案例中心 視頻中心

Mobox低代碼平臺- 主類及子類數(shù)據(jù)導(dǎo)入實(shí)現(xiàn) Mobox低代碼平臺- 主類及子類數(shù)據(jù)導(dǎo)入實(shí)現(xiàn)

Mobox低代碼平臺- 主類及子類數(shù)據(jù)導(dǎo)入實(shí)現(xiàn)

我們在巨星工藝系統(tǒng)里面遇到,用戶需要將產(chǎn)品工藝一次性導(dǎo)入的需求

軟件系統(tǒng)架構(gòu)圖:

數(shù)據(jù)對象介紹

產(chǎn)品及工藝導(dǎo)入,我們提供了一個(gè)excel模板

定義導(dǎo)入腳本(自定義腳本)

–[[

??? 編碼: CappImport

??? 名稱: 產(chǎn)品及工藝信息導(dǎo)入

??? 作者:whx???

??? 入口函數(shù):ImportCapp

 

??? 功能說明:

??????? 產(chǎn)品及工藝的導(dǎo)入,在導(dǎo)入的時(shí)候判斷一下產(chǎn)品是否存在?如果不存在要新創(chuàng)建

??????? 導(dǎo)入格式見《產(chǎn)品-工藝-導(dǎo)入test.xlsx》

??? 變更歷史:

??????? V1.0? whx??? 2023-4-12????? 新建

 

??? 數(shù)據(jù)結(jié)構(gòu)說明

???????? 產(chǎn)品

?????????????????? 工藝1

?????????????????? 工藝2

?????????????????? 工藝…

???????? 其中,有數(shù)據(jù)對象《產(chǎn)品》 子類 《工藝》 (S_GDS_CODE 為關(guān)聯(lián)字段)

???????? 使用前,將2個(gè)對象的所有字段 對應(yīng)的變量都定義一下? 《參考代碼里面的? 產(chǎn)品字段對應(yīng)變量定義;工藝字段對應(yīng)變量定義》

–]]

 

json? = require(“json”)

mobox = require(“OILua_JavelinExt”)

require(“oi_basestrfunc”)

 

function ImportCapp(strLuaDEID)

??? local nRet, strRetInfo

? ??— 獲取導(dǎo)入的數(shù)據(jù), 返回 [{“attr”:”xx”,”value”:””},…]

???

??? nRet, strRetInfo = mobox.getInputParameter(strLuaDEID)

??? –mobox.writeSysLog(“nRet”,nRet)

 

??? if (nRet ~= 0 or strRetInfo == ”) then

??????? mobox.error(strLuaDEID, “無法獲取導(dǎo)入數(shù)據(jù)!”)

??????? return

??? end

??? –mobox.writeSysLog(“strRetInfo”,strRetInfo)

??? local retJson = json.decode(strRetInfo)

???

??? local input = retJson[“parameter”]

???

??? local n, nCount, nValue

??? local strAddAttr = ”

 

??? — 產(chǎn)品字段對應(yīng)變量定義

??? local strGDSCode = ”

 

??? local strGDSName = ”

??? local strGDSClass = ”

??? local strGDSSeries = ”

??? local strGDSSpec = ”

??? local strGDSDescribe = ”

 

??? — 工藝字段對應(yīng)變量定義

??? local strMPName = ”

??? local strMPCode = ”

??? local strMPDescrive = ”

??? local strN_On = ”

 

??? — 步驟1 獲取從excel導(dǎo)入的一行數(shù)據(jù),根據(jù)excel的產(chǎn)品規(guī)格定義進(jìn)行屬性組合 strAddAttr

??? nCount = #input

??? for n = 1, nCount do

??????? strAttr = input[n].attr

??????? strValue = input[n].value

??????? if (strAttr ~= ” and strValue ~= ”) then

 

??????????? — 根據(jù)導(dǎo)入的excel產(chǎn)品規(guī)格頭名稱進(jìn)行判斷

??????????? — 關(guān)鍵屬性判斷

??????????? if (strAttr == “產(chǎn)品編碼”) then

??????????????? if (strValue == ”) then

??????????????????? mobox.error(strLuaDEID, strAttr .. “不能為空!”)

??????????????????? return

??????????????? end

??????????????? strGDSCode = strValue

??????????????? strAddAttr = strAddAttr .. ‘{“attr”:”S_GDS_CODE”,”value”:”‘ .. strGDSCode .. ‘”},’

 

??????????? elseif (strAttr == “產(chǎn)品名稱”) then

??????????????? if (strValue == ”) then

??????????????????? mobox.error(strLuaDEID, strAttr .. “不能為空!”)

??????? ????????????return

??????????????? end

??????????????? strGDSName = strValue

??????????????? strAddAttr = strAddAttr .. ‘{“attr”:”S_GDS_NAME”,”value”:”‘ .. strGDSName .. ‘”},’

 

??????????? elseif (strAttr == “過程名稱”) then

??????????????? if (strValue == ”) then

??????????????????? mobox.error(strLuaDEID, strAttr .. “不能為空!”)

??????????????????? return

??????????????? end

??????????????? strMPName = strValue

??????????????? strAddAttr = strAddAttr .. ‘{“attr”:”S_MP_NAME”,”value”:”‘ .. strMPName .. ‘”},’

???????????????

??????????? elseif (strAttr == “過程編號”) then

??????????????? if (strValue == ”) then

??????????????????? mobox.error(strLuaDEID, strAttr .. “不能為空!”)

??????????????????? return

??????????????? end

??????????????? strMPCode = strValue

????? ??????????strAddAttr = strAddAttr .. ‘{“attr”:”S_MP_CODE”,”value”:”‘ .. strMPCode .. ‘”},’

???????????????

??????????? — 常規(guī)屬性

 

??????????? elseif (strAttr == “產(chǎn)品分類”) then

??????????????? strGDSClass = strValue

??????????????? strAddAttr = strAddAttr .. ‘{“attr”:”S_GDS_CLASS”,”value”:”‘ .. strGDSClass .. ‘”},’

 

??????????? elseif (strAttr == “產(chǎn)品系列”) then

??????????????? strGDSSeries = strValue

??????????????? strAddAttr = strAddAttr .. ‘{“attr”:”S_GDS_SERIES”,”value”:”‘ .. strGDSSeries .. ‘”},’

 

????????? ??elseif (strAttr == “產(chǎn)品規(guī)格”) then

??????????????? strGDSSpec = strValue

??????????????? strAddAttr = strAddAttr .. ‘{“attr”:”S_GDS_SPEC”,”value”:”‘ .. strGDSSpec .. ‘”},’

 

??????????? elseif (strAttr == “產(chǎn)品描述”) then

??????????????? strGDSDescribe = strValue

??????????????? strAddAttr = strAddAttr .. ‘{“attr”:”S_GDS_DESCRIBE”,”value”:”‘ .. strGDSDescribe .. ‘”},’

 

??????????? elseif (strAttr == “序號”) then

??????????????? strN_On = strValue

??????????????? strAddAttr = strAddAttr .. ‘{“attr”:”N_ON”,”value”:”‘ .. strN_On .. ‘”},’

 

??????????? elseif (strAttr == “過程描述”) then

??????????????? strMPDescrive = strValue

??????????????? strAddAttr = strAddAttr .. ‘{“attr”:”S_MP_DESCRIBE”,”value”:”‘ .. strMPDescrive .. ‘”},’

??????????? end

??????? end

 

??? end

??? –去除最后一個(gè),

??? local strAddAttr1 = trim_laster_char(strAddAttr)

 

??? — 步驟2 根據(jù)(產(chǎn)品編碼 + 過程名稱) 來判斷導(dǎo)入的工藝步驟是否已經(jīng)存在

??? —?????? 如果已經(jīng)存在,根據(jù)導(dǎo)入的數(shù)據(jù)進(jìn)行覆蓋

??? —?????? 如果不存在需要?jiǎng)?chuàng)建

??? local attrs

??? local strCondition = “S_GDS_CODE='” .. strGDSCode .. “‘ and S_MP_NAME = ‘” .. strMPName .. “‘ “

??? nRet, strRetInfo = mobox.existThisData(strLuaDEID, “工藝”, strCondition)

??? if (nRet ~= 0) then

??????? mobox.error(strLuaDEID, “在檢查工藝是否存在時(shí)失敗! ” .. strRetInfo)

??? ????return

??? end

 

??? if (strRetInfo == ‘yes’) then

??????? — 已經(jīng)存在,根據(jù)導(dǎo)入的數(shù)據(jù)進(jìn)行覆蓋

??????? strCondition = “S_GDS_CODE='” .. strGDSCode .. “‘ and S_MP_NAME = ‘” .. strMPName .. “‘ “

 

??????? strSetSQL = “S_GDS_CODE = ‘” ..strGDSCode ..”‘ , S_MP_DESCRIBE ='” ..strMPDescrive ..

??????????? “‘ , S_MP_NAME = ‘” .. strMPName .. “‘ , S_MP_CODE = ‘” .. strMPCode .. “‘ , N_ON = ‘” .. strN_On ..”‘ “

 

??????? nRet, strRetInfo = mobox.updateDataAttrByCondition(strLuaDEID, “工藝”, strCondition, strSetSQL)

??????? if (nRet ~= 0) then

??????????? mobox.error(strLuaDEID, strRetInfo)

??????????? return

??????? end

??????? return

 

???? elseif (strRetInfo == ‘no’) then

???? — 新增工藝

???????? attrs = ‘[{“attr”:”S_GDS_CODE”,”value”:”‘ .. strGDSCode .. ‘”},’

???????? .. ‘{“attr”:”S_MP_NAME”,”value”:”‘ .. strMPName .. ‘”},’

???????? .. ‘{“attr”:”N_ON”,”value”:”‘ .. strN_On .. ‘”},’

???????? .. ‘{“attr”:”S_MP_CODE”,”value”:”‘ .. strMPCode .. ‘”},’

???????? .. ‘{“attr”:”S_MP_DESCRIBE”,”value”:”‘ ..? strMPDescrive .. ‘”}]’

 

??? — mobox.writeSysLog(“attrs”,attrs)

???

???????? nRet, strRetInfo = mobox.createDataObj(strLuaDEID, “工藝”, attrs)

???????? if (nRet ~= 0) then

?????????????????? mobox.error(strLuaDEID, “創(chuàng)建工藝失敗! ” .. strRetInfo)

?????????????????? return

???????? end

 

???????? ?— 導(dǎo)入的工藝不存在的時(shí)候,就需要判斷一下 產(chǎn)品是否存在

???????? — 如果不存在需要?jiǎng)?chuàng)建

???????? — 判斷產(chǎn)品是否存在

???????? strCondition = “S_GDS_CODE='” .. strGDSCode .. “‘”

???????? nRet, strRetInfo = mobox.existThisData(strLuaDEID, “產(chǎn)品”, strCondition)

???????? if (nRet ~= 0) then

?????????????????? mobox.error(strLuaDEID, “在檢查產(chǎn)品是否存在時(shí)失敗! ” .. strRetInfo)

?????????????????? return

???????? end

 

???????? if (strRetInfo == ‘no’) then

???????? — 新增產(chǎn)品

 

?????????????????? attrs = ‘[{“attr”:”S_GDS_CODE”,”value”:”‘ .. strGDSCode .. ‘”},’

?????????????????? .. ‘{“attr”:”S_GDS_NAME”,”value”:”‘ .. strGDSName .. ‘”},’

?????????????????? .. ‘{“attr”:”S_GDS_CLASS”,”value”:”‘ .. strGDSClass .. ‘”},’

?????????????????? .. ‘{“attr”:”S_GDS_SERIES”,”value”:”‘ .. strGDSSeries .. ‘”},’

?????????????????? .. ‘{“attr”:”S_GDS_SPEC”,”value”:”‘ .. strGDSSpec .. ‘”},’

?????????????????? .. ‘{“attr”:”S_GDS_DESCRIBE”,”value”:”‘ .. strGDSDescribe .. ‘”}]’

 

?????????????????? –mobox.writeSysLog(“attrs”,attrs)

?????????????????? nRet, strRetInfo = mobox.createDataObj(strLuaDEID, “產(chǎn)品”, attrs)

?????????????????? if (nRet ~= 0) then

??????????????????????????? mobox.error(strLuaDEID, “創(chuàng)建產(chǎn)品失敗! ” .. strRetInfo)

??????????????????????????? return

?????????????????? end

?? ? end

 

??? end

 

end

定義導(dǎo)入命令

設(shè)置導(dǎo)入命令的相關(guān)參數(shù)

 

我們可以通過excel批量導(dǎo)入企業(yè)的工藝信息

標(biāo)簽:方案腳本 上一篇: 下一篇:
展開更多
預(yù)約軟件體驗(yàn)

loading...

少妇与子乱A级全毛片| 国产全肉乱妇杂乱视频| 东北少妇大叫高潮XXXⅩ| 国产9在线 | 欧洲| 韩国三级大乳在线观看| 久久久WWW影院人成_免费| 国产AV日韩AⅤ亚洲AV无码馆| 亚洲中文字幕无码不卡电影| 9色国产深夜内射| 国产精品69人妻无码久久久| 久久精品国产亚洲AV麻豆图片 | 久久久无码精品国产一区| 娇妻在我面前被黑人撑爆| 国产精品IGAO视频| 久久精品国产久精国产果冻传媒| 97人人模人人爽人人少妇| 成在线人AV免费无码高潮喷水| 岳今晚让我玩个够肥水一体探岳| 野花在线高清视频| 97色偷偷色噜噜男人的天堂| 国产精品亲子乱子伦XXXX裸| 人鲁交YAZHONGHU| 特黄AAAAAAAAA毛片免费| 亚洲女同成AV人片在线观看| 伊人久久大香线蕉AⅤ色| 主人地下室惩罚骚奴的法律后果| 亚洲欧洲日产V一个人免费观看视频WWW高清| 51CG9热心的朝阳群众| 黑人精品XXX一区一二区| 欧美综合天天夜夜久久| 亚洲人成无码网站| 国产JIZZJIZZ全部免费看| 多毛BGMBGMBGM胖在线| 国产成人无码免费视频在线| 久爱无码精品免费视频在线观看| 波多野结衣乳喷高潮视频| 精产国品一二三产区区别在线观看 | 久久精品国产亚洲AV香蕉 | 男人J放进女人J免费视频无遮挡| 人妻少妇乱子伦无码视频专区 | 推拿完整版中文字幕| 国产成人a在线看片色欲AV| 色婷婷综合激情综在线播放| 国产高潮呻吟无码精品AV| 日本少妇高潮喷水XXXXXXX| 亚洲一区二区三区无码久久| 敌伦交换第21部分剧情介绍| 国产一区二区三区小说| 欧美人与物VIDEOS另类XX| 亚洲AV午夜精品一区二区三区| 成人乱子视频在线播放| 久久精品蜜芽亚洲国产AV| 久久久久人妻精品区一三寸| 年轻漂亮的女邻居观看在线视频| 无码国产孕妇一区二区免费AV | 精人妻无码一区二区三区蜜桃| 日本VA视频免费在线观看| 55岁大妈玩CSGO| 精品国产国偷自产在线观看| 国产男男GAY做受XXX| 免费人成年激情视频在线观看 | 精品一卡2卡3卡4卡新区在线| 亚洲性人人天天夜夜摸| 老外粗猛长爽的视频| 97SE色综合一区二区二区| 久久久亚洲熟妇熟| 羞羞漫画_成人漫画_成人专用| 岳丰满多毛的大隂户| 国产区图片区小说区亚洲区| 色 人 阁阁婷婷色五月破解| CAOPOREN超碰最新地址| 老师粉嫩小泬喷水视频90 | 亚洲成成熟女人专区| 国产精品永久免费视频| 午夜成人性爽爽免费视频| 亚洲精品一品区二品区三品区| 公粗挺进了我的密道在线观看 | 精品无人区卡卡二卡三乱码| 亚洲AV无码一区二区三区人区| 成人无码免费一区二区三区| 四虎成人永久在线精品免费| 精品久久久久久无码中文字幕一区| 亚洲国产欧美在线成人| 国产VA免费精品高清在线| 亚洲精品无码久久久久APP| 久久久久人妻一区精品色| 诱人的老师HD中字| 全国主要城市天气预报| 在线精品国精品国产尤物| 免费观看高清大片的播放器| 影视AV久久久噜噜噜噜噜三级| 巨胸美乳无码人妻在线| 一本大道东京热无码| 国产国产精品人在线观看| 秋霞鲁丝AV一区二区三区| 91精品人妻一区二区三区| 无线乱码不卡一二三四破解版| 国产成人精品一区二区秒播| 男生晚上睡不着想看B站 | 成人在线高清不卡免费视频| 久久99国产精品久久99蜜桃 | 色老99久久九九爱精品| 丰满人妻一区二区三区无码AV| 亚洲性无码一区二区三区| 污污污污污WWW网站免费| 人妻 色综合网站| 久久久久久精品免费免费WE| 成人爽A毛片免费网站| 亚洲国产精品久久久久久无码| 精品国产一区二区三区久久久狼 | 中文字幕亚洲综合久久蜜桃| 男女猛烈XX00免费视频试看| 拔萝卜视频免费观看高清下载 | JAPAN高清日本乱XXXXX| 天码AV高清毛片在线看_| 久久精品人人槡人妻人人玩AV| 亚洲欧美日韩成人综合网| 久久精品国产亚洲AV麻豆小说| 99国精产品灬源码1688| 欧美日产欧美日产国产精品| 亚洲一区二区三区小说| 男女真人后进式猛烈动态图无打吗| 高潮久久久久久久久不卡| 又黄又无遮挡AAAAA毛片| 亚洲乱码一区二区三区| 亚洲AV永久无码精品无码少妇 | 丰满老熟好大BBBXXX| 五十老熟妇乱子伦免费观看| 女人自慰喷水全过程免费观看| AV一区二区三区| 精品人妻中文AV一区二区三区| CF穿越火线女去衣看奶| 亚洲AV素人乱码| 上司的丰满人妻中文字幕 | 国产成人AV片无码免费| 无码日韩人妻精品久久蜜桃| 欧美成本人网站免费观看| 狠狠躁夜夜躁人人爽天天天天| 一本大道久久东京热无码AV| 男女无遮挡XX00动态图120| 熟妇人妻AV中文字幕老熟妇| 亚洲精品国产自在久久| 青青国产揄拍视频| 欧美黑大粗无码免费视频| 欧美人与性动交α欧美精品| 亚洲国产精品VA在线观看麻豆 | 性一交一无一伦一精一品| 天天躁日日躁狠狠躁视频2021| 欧美日韩人妻一区二区| 久久精品国产精品亚洲色婷婷| 俄罗斯性孕妇孕交| 午夜A级成人免费毛片| 欧美人妻少妇精品视频专区| 久久久久久老熟妇人妻av| 国产A∨国片精品青草视频| AV无码人妻无码男人的天堂| 亚洲伊人久久综合| 日产无人区二线三线乱码| 精产国品一二三产品区别大吗| 777米奇色888狠狠俺去啦| 亚洲AV中文AⅤ无码AV浪潮| 亚洲国产精品无码成人片久久| 无码成A毛片免费| 久久中文字幕人妻丝袜| 韩国三级日本三级美三级| 寡妇下面好黑好毛| 纯肉高H爽文粗大| 亚洲性爱一区二区| 欧美成人V片观看| 欧美巨大黑人精品一二三| 久久久无码精品午夜| 精品一区二区三区免费乱码视频| 国产成人精品一区二区三区| 宝贝腿开大点我添添公视频免费| 一区二区国产高清视频在线| 无码成人一区二区| 秋霞鲁丝片AⅤ无码入口| 久久久久亚洲AV无码去区首| 国产色欲色欲色欲.WWW| 嗯…啊 摸 湿 奶头免费视频| 中文字幕大香视频蕉| 亚洲色欲色欲大片WWW无码| 熟妇毛耸耸浓密茂盛| 欧美人与动牲交A免费观看| 两个领导在车里吃我奶| 国语自产少妇精品视频| 国产熟睡乱子伦视频在线观看| 久久精品人人做人人爽电影蜜月| 牛鞭进入女人下身的视频| 久久99精品国产麻豆蜜芽| 国产精品毛片无遮挡| 国产精品久久香蕉免费播放 | 暗交小拗女一区二区三区视频| 亚洲自偷自拍另类小说| 伊人久久精品无码麻豆一区| 宅男666在线永久免费观看| 拔萝卜在线视频免费观看| 国产偷国产偷亚洲高清人| 你看桌子上都是你流的| 无码人妻一区二区三区AV|