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