亚洲精品一区二区不卡_国产精品99久久久久久宅男_中文字幕一区二区三区5566_中文字幕亚洲精品久久

9000px;">

      1. 
        

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

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

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

          我們?cè)诰扌枪に囅到y(tǒng)里面遇到,用戶需要將產(chǎn)品工藝一次性導(dǎo)入的需求

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

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

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

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

          –[[

          ??? 編碼: CappImport

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

          ??? 作者:whx???

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

           

          ??? 功能說(shuō)明:

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

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

          ??? 變更歷史:

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

           

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

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

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

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

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

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

          ???????? 使用前,將2個(gè)對(duì)象的所有字段 對(duì)應(yīng)的變量都定義一下? 《參考代碼里面的? 產(chǎn)品字段對(duì)應(yīng)變量定義;工藝字段對(duì)應(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, “無(wú)法獲取導(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)品字段對(duì)應(yīng)變量定義

          ??? local strGDSCode = ”

           

          ??? local strGDSName = ”

          ??? local strGDSClass = ”

          ??? local strGDSSeries = ”

          ??? local strGDSSpec = ”

          ??? local strGDSDescribe = ”

           

          ??? — 工藝字段對(duì)應(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 == “過(guò)程名稱”) then

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

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

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

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

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

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

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

          ??????????? elseif (strAttr == “過(guò)程編號(hào)”) 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 == “序號(hào)”) then

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

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

           

          ??????????? elseif (strAttr == “過(guò)程描述”) 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)品編碼 + 過(guò)程名稱) 來(lái)判斷導(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ù)

           

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

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

          loading...

          亚洲精品一区二区不卡_国产精品99久久久久久宅男_中文字幕一区二区三区5566_中文字幕亚洲精品久久

            1. 
              
                国产精品水嫩水嫩| 国产在线一区二区| 一本色道久久加勒比精品| 亚洲18影院在线观看| 亚洲精品大片www| 奇米色一区二区三区四区| 欧美精彩视频一区二区三区| 91精品国产色综合久久ai换脸| 国产综合色产在线精品| 99精品视频免费在线观看| 成人福利电影精品一区二区在线观看| 91成人免费电影| 91在线一区二区| 91片黄在线观看| 国产自产v一区二区三区c| 国产福利精品导航| 日韩免费看网站| 日韩三级av在线播放| 麻豆成人av在线| 91美女片黄在线观看91美女| 欧美日韩一区二区三区视频| 国产一区二区看久久| 欧美影院精品一区| 国产精品美女久久久久aⅴ国产馆| 国产精品久久久久7777按摩| 欧美一区二区三区四区视频| 欧美美女一区二区三区| 91美女精品福利| 国产色一区二区| 国产精品一区二区在线观看网站| 国产精品系列在线播放| 亚洲福利视频导航| 一本色道久久综合亚洲精品按摩| 日韩成人精品视频| 日韩欧美第一区| 一本一本久久a久久精品综合麻豆| 久久国产精品99久久人人澡| 日韩电影在线免费观看| 成人免费一区二区三区视频| 日韩限制级电影在线观看| 久久久.com| 宅男噜噜噜66一区二区66| 在线播放亚洲一区| 性欧美大战久久久久久久久| 色偷偷成人一区二区三区91| 亚洲国产精品久久久久婷婷884| 国产欧美一区二区三区在线看蜜臀| 欧美自拍偷拍午夜视频| 国产精品女同一区二区三区| 欧美精品一区二区久久久| 亚洲一级二级三级在线免费观看| 中文字幕色av一区二区三区| 亚洲国产精品一区二区尤物区| 一区二区三区在线免费观看| 91视视频在线观看入口直接观看www| 亚洲综合自拍偷拍| 美女一区二区三区在线观看| 久久99精品久久只有精品| 亚洲男人的天堂网| 久久色在线观看| 欧美日韩一区视频| 国精品**一区二区三区在线蜜桃| 亚洲激情中文1区| 亚洲123区在线观看| 国内成人自拍视频| 欧美日韩国产综合视频在线观看| 蜜臀久久99精品久久久画质超高清| 日韩码欧中文字| 欧美色图在线观看| 奇米888四色在线精品| 亚洲欧美成aⅴ人在线观看| 欧美一区二区视频网站| 激情成人午夜视频| 国产一区二区三区综合| 色丁香久综合在线久综合在线观看| 亚洲乱码国产乱码精品精98午夜| 一本色道久久综合亚洲aⅴ蜜桃| 欧美亚洲禁片免费| 中文字幕第一区二区| 久久久久久黄色| 国产精品久久久久毛片软件| 午夜欧美大尺度福利影院在线看| kk眼镜猥琐国模调教系列一区二区| 看国产成人h片视频| 日韩一区二区免费高清| 国产精品免费视频观看| 国产一区二区伦理| av色综合久久天堂av综合| 欧美日韩久久久久久| 亚洲一级不卡视频| 在线观看日韩高清av| 色哟哟国产精品免费观看| 日韩电影一区二区三区| 精品国产免费一区二区三区香蕉| 五月综合激情婷婷六月色窝| 色婷婷久久一区二区三区麻豆| 婷婷国产v国产偷v亚洲高清| 国产成人av电影免费在线观看| 一区二区三区四区不卡视频| 欧美日韩一区二区三区不卡| 视频一区视频二区在线观看| 精品一区二区国语对白| 国产丝袜在线精品| 国产aⅴ精品一区二区三区色成熟| 亚洲欧美一区二区三区国产精品| 中文字幕视频一区二区三区久| 欧美日韩国产经典色站一区二区三区| ●精品国产综合乱码久久久久| 日韩三级av在线播放| bt7086福利一区国产| 91精品国产aⅴ一区二区| 国产精品福利一区二区三区| 精品国内片67194| 国产在线精品一区二区三区不卡| 亚洲欧美激情一区二区| 精品免费视频.| 久久色.com| 91精品国产乱码| 国产精品久久久久久久久免费相片| av在线不卡免费看| 亚洲va韩国va欧美va| 欧美视频一区二区三区四区| 奇米影视7777精品一区二区| 三级一区在线视频先锋| 91精品国产日韩91久久久久久| 亚洲一卡二卡三卡四卡| 色一区在线观看| 另类的小说在线视频另类成人小视频在线| 国产成人一区在线| 亚洲免费观看在线视频| 成人av手机在线观看| 一级特黄大欧美久久久| 欧洲av在线精品| 国产原创一区二区三区| 日韩欧美aaaaaa| 91国偷自产一区二区三区观看| 亚洲狼人国产精品| 欧美日韩黄色一区二区| 美女mm1313爽爽久久久蜜臀| ㊣最新国产の精品bt伙计久久| 亚洲国产乱码最新视频| 国产自产v一区二区三区c| 国产精品羞羞答答xxdd| 亚洲综合激情小说| 亚洲精品精品亚洲| 国产精品亚洲一区二区三区妖精| 99视频精品在线| 亚洲国产成人tv| 寂寞少妇一区二区三区| 亚洲一区二区在线观看视频| 国产a级毛片一区| 99久免费精品视频在线观看| 国产精品一区一区三区| 亚洲欧洲av色图| 成人国产精品免费观看视频| 成人午夜激情视频| 欧美精品色一区二区三区| 粉嫩av一区二区三区| 99久久综合99久久综合网站| 欧美日韩国产高清一区二区| 欧美日韩夫妻久久| 欧美久久久久久久久中文字幕| 91精品欧美综合在线观看最新| 成人丝袜18视频在线观看| 久草中文综合在线| 精品女同一区二区| 国产美女娇喘av呻吟久久| 蜜桃91丨九色丨蝌蚪91桃色| 久久精品国产秦先生| 午夜精品久久久久影视| 麻豆一区二区99久久久久| 色先锋aa成人| 欧美日韩国产高清一区二区| 处破女av一区二区| 欧美电影精品一区二区| 久久久精品黄色| 一区二区三区精品视频在线| 97国产一区二区| 午夜精品久久久久久久99樱桃| 激情五月播播久久久精品| 成人小视频免费观看| 亚洲免费在线看| 免费视频一区二区| 欧美精品黑人性xxxx| 在线电影欧美成精品| 94色蜜桃网一区二区三区| av不卡免费电影| 国产午夜三级一区二区三| 亚洲一二三四区不卡| 午夜在线成人av| 亚洲国产aⅴ天堂久久| 欧美人狂配大交3d怪物一区| 日韩欧美成人午夜| 精品88久久久久88久久久| 亚洲午夜成aⅴ人片| 国产精品自拍一区| 2023国产精品自拍| 亚洲女女做受ⅹxx高潮| 在线视频中文字幕一区二区| 国产很黄免费观看久久|