国产成人久久久精品一区二区三区_亚洲福利在线播放_国产香蕉97碰碰久久人人_欧美激情亚州激情

9000px;">
<nav id="auuga"><nav id="auuga"></nav></nav><menu id="auuga"><tt id="auuga"></tt></menu>
  • <menu id="auuga"></menu>

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

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

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

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

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

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

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

    定義導入腳本(自定義腳本)

    –[[

    ??? 編碼: CappImport

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

    ??? 作者:whx???

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

     

    ??? 功能說明:

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

    ??????? 導入格式見《產(chǎn)品-工藝-導入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個對象的所有字段 對應的變量都定義一下? 《參考代碼里面的? 產(chǎn)品字段對應變量定義;工藝字段對應變量定義》

    –]]

     

    json? = require(“json”)

    mobox = require(“OILua_JavelinExt”)

    require(“oi_basestrfunc”)

     

    function ImportCapp(strLuaDEID)

    ??? local nRet, strRetInfo

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

    ???

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

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

     

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

    ??????? mobox.error(strLuaDEID, “無法獲取導入數(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)品字段對應變量定義

    ??? local strGDSCode = ”

     

    ??? local strGDSName = ”

    ??? local strGDSClass = ”

    ??? local strGDSSeries = ”

    ??? local strGDSSpec = ”

    ??? local strGDSDescribe = ”

     

    ??? — 工藝字段對應變量定義

    ??? local strMPName = ”

    ??? local strMPCode = ”

    ??? local strMPDescrive = ”

    ??? local strN_On = ”

     

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

    ??? nCount = #input

    ??? for n = 1, nCount do

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

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

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

     

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

    ??????????? — 關(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

    ??? –去除最后一個,

    ??? local strAddAttr1 = trim_laster_char(strAddAttr)

     

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

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

    ??? —?????? 如果不存在需要創(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, “在檢查工藝是否存在時失敗! ” .. strRetInfo)

    ??? ????return

    ??? end

     

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

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

    ??????? 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

     

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

    ???????? — 如果不存在需要創(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)品是否存在時失敗! ” .. 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

    定義導入命令

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

     

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

    標簽:方案腳本 上一篇: 下一篇:
    展開更多
    預約軟件體驗

    loading...

    国产成人久久久精品一区二区三区_亚洲福利在线播放_国产香蕉97碰碰久久人人_欧美激情亚州激情
    <nav id="auuga"><nav id="auuga"></nav></nav><menu id="auuga"><tt id="auuga"></tt></menu>
  • <menu id="auuga"></menu>
  • 国产成人99久久亚洲综合精品| 亚洲色图清纯唯美| 日本系列欧美系列| 国产午夜精品理论片a级大结局| 国产乱子伦一区二区三区国色天香| 欧美精品一区二区三区蜜桃视频| 成人h动漫精品一区二| 亚洲综合av网| 国产精品网站在线观看| 日韩一级完整毛片| 中文字幕一区二区三区精华液| 亚洲成a人片在线不卡一二三区| 欧洲在线/亚洲| 91视频观看视频| 青椒成人免费视频| 亚洲人成在线播放网站岛国| 91热门视频在线观看| 精品久久久久99| 精品中文av资源站在线观看| 日本黄色一区二区| 欧美大片免费久久精品三p| 一区二区三区欧美久久| 免费一级欧美片在线观看| 日韩精品最新网址| 国产精品国产馆在线真实露脸| 97aⅴ精品视频一二三区| 亚洲色图另类专区| 久久蜜桃一区二区| 成人黄色在线视频| 亚洲福利一二三区| 亚洲综合在线视频| 懂色av中文一区二区三区| 激情综合亚洲精品| 国产成人在线视频播放| 韩国女主播一区二区三区| 欧美影院一区二区三区| 99久久伊人久久99| 日韩视频在线一区二区| 91精品国产高清一区二区三区蜜臀| 亚洲综合免费观看高清完整版| 欧美激情一区二区三区在线| 亚洲在线成人精品| 欧美午夜精品久久久久久超碰| 成人丝袜高跟foot| 精品日韩欧美一区二区| 欧美日韩精品一区二区在线播放| 精彩视频一区二区| 亚洲欧美日韩成人高清在线一区| 综合久久久久久久| 国产精品国产三级国产普通话三级| 久久97超碰色| 337p日本欧洲亚洲大胆精品| 不卡免费追剧大全电视剧网站| 久久伊人中文字幕| 中文字幕一区av| 三级欧美韩日大片在线看| 欧美精选在线播放| 91国偷自产一区二区开放时间| 中文字幕在线视频一区| 亚洲精品视频免费看| 精品福利视频一区二区三区| 国产99久久久国产精品潘金网站| 色综合视频一区二区三区高清| 国产日韩欧美激情| 久久综合久久综合亚洲| 精品国产在天天线2019| 欧美变态口味重另类| 91官网在线观看| 天天综合网天天综合色| 国产成人精品影院| 国内精品国产成人国产三级粉色| 日韩欧美综合在线| 国产精品一区在线观看你懂的| 成人免费毛片aaaaa**| 91亚洲午夜精品久久久久久| 在线精品视频免费播放| 欧美大片在线观看| 337p亚洲精品色噜噜| 日本欧美大码aⅴ在线播放| 粉嫩欧美一区二区三区高清影视| 一区二区三区中文在线| 激情av综合网| 欧美另类变人与禽xxxxx| 91精品久久久久久久99蜜桃| av在线不卡观看免费观看| 91国产成人在线| 91在线丨porny丨国产| 国产精品久久久久久亚洲毛片| 国产成人综合亚洲91猫咪| 久久国产精品色| 亚洲免费在线看| 久久久99久久精品欧美| 精品伦理精品一区| 在线观看www91| 国产精品国产成人国产三级| 国产91精品一区二区| 精品剧情v国产在线观看在线| 亚洲精品成人悠悠色影视| 亚洲一区在线观看网站| 欧美一区二区三区在线看| 欧美人妇做爰xxxⅹ性高电影| 日产欧产美韩系列久久99| 99精品欧美一区| 国产剧情在线观看一区二区| 欧美一区二区国产| 国产日韩欧美一区二区三区综合| 911精品国产一区二区在线| 偷窥少妇高潮呻吟av久久免费| 色婷婷综合久久久中文一区二区| 亚洲成人动漫在线免费观看| 性做久久久久久免费观看欧美| 成人h版在线观看| 91麻豆精品国产91久久久资源速度| 91高清视频免费看| 夜夜嗨av一区二区三区四季av| 丁香婷婷综合网| 欧美综合天天夜夜久久| 成人在线视频首页| 一区二区三区在线观看国产| 国产精品成人免费| 国产真实乱对白精彩久久| 久久嫩草精品久久久精品| 亚洲女人****多毛耸耸8| 91精品国产全国免费观看| 欧美在线免费观看亚洲| 色综合久久中文字幕| 18涩涩午夜精品.www| 亚洲福利视频一区二区| 欧美精选午夜久久久乱码6080| 日韩亚洲电影在线| 91视频www| 91麻豆精品国产91久久久久| eeuss国产一区二区三区| 婷婷成人激情在线网| 欧美tickling网站挠脚心| 久久99久久久欧美国产| 中文字幕av一区二区三区高| 在线视频欧美区| 亚洲乱码日产精品bd| 7777精品伊人久久久大香线蕉经典版下载| 日韩欧美一级精品久久| 欧美肥胖老妇做爰| 91豆麻精品91久久久久久| 精品国产区一区| 欧美人体做爰大胆视频| 亚洲精品国产一区二区三区四区在线| 久久99精品一区二区三区三区| 国产自产v一区二区三区c| 国产精品久久久久久久久免费桃花| 韩国av一区二区三区在线观看| 日韩一区二区影院| 一区二区三区加勒比av| 欧美一区二区三区在线| 亚洲午夜精品一区二区三区他趣| 99久久99久久精品免费看蜜桃| 亚洲午夜激情av| 欧美日韩亚洲综合| 午夜免费欧美电影| 91最新地址在线播放| 日韩午夜精品视频| 国产成人综合在线播放| 99国产精品一区| 久久精品欧美日韩精品| 国产精品日韩精品欧美在线| 国产成人在线影院| 欧美成人一区二区三区在线观看| 国产清纯在线一区二区www| 国产亚洲欧美日韩在线一区| 欧美精品777| 日日摸夜夜添夜夜添国产精品| 欧美精品一区二区三区在线| 国产色爱av资源综合区| 欧美性大战久久久久久久| 欧美性猛片xxxx免费看久爱| 成人免费毛片嘿嘿连载视频| 久久99精品一区二区三区| 国产精品99精品久久免费| 日韩美女一区二区三区| 北条麻妃一区二区三区| 亚洲欧美日韩在线播放| 国产精品丝袜91| 日韩精品久久久久久| 亚洲尤物视频在线| 亚洲男人的天堂网| 3d成人h动漫网站入口| 亚洲mv在线观看| 国产精品美女一区二区| 久久亚洲综合av| 日韩亚洲欧美一区| 欧美成人性战久久| 日日夜夜精品视频天天综合网| 欧美久久久久久久久中文字幕| 欧美成人在线直播| 麻豆精品在线观看| 亚洲另类一区二区| va亚洲va日韩不卡在线观看| 91精品国产91久久久久久最新毛片| 性感美女久久精品| 成人免费高清在线观看| 丝袜美腿成人在线|