项目清单导入
我们在实施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}’