項(xiàng)目清單導(dǎo)入
我們?cè)趯?shí)施Gungho項(xiàng)目管理系統(tǒng)剛上線的時(shí)候,其實(shí)用戶手上有很多的歷史項(xiàng)目需要導(dǎo)入進(jìn)來(lái)。而且用戶的項(xiàng)目屬性與我們標(biāo)準(zhǔn)的項(xiàng)目屬性差異很大。為此,我們需要對(duì)Gungho的項(xiàng)目數(shù)據(jù)屬性進(jìn)行擴(kuò)延。而這個(gè)擴(kuò)延設(shè)置是在Mobox數(shù)據(jù)平臺(tái)來(lái)完成的。為此我們需要做2個(gè)事情:
給項(xiàng)目設(shè)置擴(kuò)展屬性,用于對(duì)用戶需求的適應(yīng)
需要將企業(yè)歷史項(xiàng)目清單一次性導(dǎo)入
Mobox低代碼中心的實(shí)現(xiàn)過(guò)程
- Mobox數(shù)據(jù)建模
- Mobox設(shè)置項(xiàng)目類型
- Mobox編寫項(xiàng)目導(dǎo)入二次開發(fā)腳本
- Mobox增加導(dǎo)入功能點(diǎn),綁定數(shù)據(jù)模型及腳本
- Mobox通過(guò)腳本創(chuàng)建Gungho項(xiàng)目后的g _id 寫入到數(shù)據(jù)對(duì)象的 G_PRJ_ID中
數(shù)據(jù)對(duì)象建模
因?yàn)?,我們是為Gungho的項(xiàng)目管理做配套,所以在mobox建立數(shù)據(jù)模型的時(shí)候,有類型需要選擇? ,業(yè)務(wù)類型必須是 “項(xiàng)目”
項(xiàng)目類型定義(通過(guò) 8012 功能點(diǎn))
目的,定義適用企業(yè)個(gè)性需求的項(xiàng)目管理功能及界面
- 基礎(chǔ)
- 功能
根據(jù)需求 自定義功能
- 腳本
根據(jù)需求,加入對(duì)應(yīng)腳本
函數(shù) createProject() 說(shuō)明
方法一: ?(這個(gè)一般在mobox數(shù)據(jù)對(duì)象創(chuàng)建后事件調(diào)用)
Mobox 數(shù)據(jù)對(duì)象先創(chuàng)建 –》之后通過(guò)腳本生成Gungho的項(xiàng)目 –》得到Gungho項(xiàng)目的prj_id –》更新mobox數(shù)據(jù)對(duì)象的 G_PRJ_ID
local strPrjInfo
strPrjInfo = ‘{“type“:”漢和項(xiàng)目”,”name“:”‘ .. strPrjName .. ‘”,’
strPrjInfo = strPrjInfo .. ‘”pm_login“:”‘ .. strPMID .. ‘”,”pm_name“:”‘ .. strPMName .. ‘”,’
strPrjInfo = strPrjInfo .. ‘”pd_login“:”‘ .. strPDID .. ‘”,”pd_name“:”‘ .. strPDName .. ‘”,’
— type:定義了項(xiàng)目類型? ? ? ?name:項(xiàng)目名稱
strPrjInfo = strPrjInfo .. ‘”class_name“:”項(xiàng)目”,”obj_id“:”‘ .. strObjID .. ‘”,’
— class_name:數(shù)據(jù)對(duì)象名稱? obj_id:數(shù)據(jù)對(duì)象ID ,Mobox數(shù)據(jù)創(chuàng)建后獲取
strPrjInfo = strPrjInfo .. ‘”code“:”‘ .. strPrjCode .. ‘”,’
strPrjInfo = strPrjInfo .. ‘”role“:[{“name”:”項(xiàng)目總監(jiān)”,”user”:[{“login”:”‘ .. strPDID .. ‘”,”name”:”‘ ..?strPDName .. ‘”}]}’ .. strPrjRoleMember .. ‘]}’
— code:項(xiàng)目編號(hào)? role:角色相關(guān)
— 向共好系統(tǒng)創(chuàng)建一個(gè)項(xiàng)目
nRet, strRetInfo = mobox.createProject(strLuaDEID, strPrjInfo)
— strRetInfo:返回的是gungho創(chuàng)建項(xiàng)目的ID (prj_id)
if (nRet ~= 0) then
mobox.error(strLuaDEID, strRetInfo)
return
end
— strRetInfo:這個(gè)要回寫Mobox數(shù)據(jù)對(duì)象的 G_PRJ_ID
— 得到prj_id 將信息寫入mobox數(shù)據(jù)對(duì)象的代碼,這里就不展現(xiàn)了
方法二: ?(這個(gè)一般在mobox數(shù)據(jù)對(duì)象的自定義事件入“項(xiàng)目導(dǎo)入”調(diào)用)
Gungho的項(xiàng)目所需的所有信息(包括擴(kuò)展信息)全部定義好,一次性創(chuàng)建Gungho及Mobox所有數(shù)據(jù)及其相關(guān)性
?strPrjInfo = ‘{“type”:”漢和項(xiàng)目”,”class_name”:”項(xiàng)目”,”name”:”‘ .. strPrjName .. ‘”,’
strPrjInfo = strPrjInfo .. ‘”pm_login”:”‘ .. strPMID .. ‘”,”pm_name”:”‘ .. strPMName .. ‘”,’
strPrjInfo = strPrjInfo .. ‘”pd_login”:”‘ .. strPDID .. ‘”,”pd_name”:”‘ .. strPDName .. ‘”,’
strPrjInfo = strPrjInfo .. ‘”code”:”‘ .. strPrjCode .. ‘”,’
— 拼接項(xiàng)目的角色屬性
strPrjInfo = strPrjInfo .. ‘”role”:[{“name”:”項(xiàng)目總監(jiān)”,”user”:[{“login”:”‘ .. strPDID .. ‘”,”name”:”‘ ..? strPDName .. ‘”}]}’ .. strPrjRoleMember .. ‘],’
— 拼接項(xiàng)目的擴(kuò)展項(xiàng)目屬性
strPrjInfo = strPrjInfo .. ‘”ext_obj_attr“:[‘ .. strAddAttr1 .. ‘]}’
— ext_obj_attr 項(xiàng)目創(chuàng)建的時(shí)候,帶擴(kuò)展屬性(strAddAttr1 變量事先拼接好了)
— 帶擴(kuò)展屬性,會(huì)同時(shí)將mobox數(shù)據(jù)對(duì)象及gungho的項(xiàng)目都創(chuàng)建起來(lái),并關(guān)聯(lián)好
nRet, strRetInfo = mobox.createProject(strLuaDEID, strPrjInfo)
–strRetInfo 返回參數(shù) 為兩個(gè)GUID :項(xiàng)目ID ;
— 返回的內(nèi)容如:
— ‘{A52E97CF-BDBE-4EA7-AAD6-949AD5707BF3};{1CB2B481-CA23-42DB-B7A2-546C1EA05364}’