EOS快速开发平台项目开发规范草稿.docx
- 文档编号:26911085
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:24
- 大小:1,023.45KB
EOS快速开发平台项目开发规范草稿.docx
《EOS快速开发平台项目开发规范草稿.docx》由会员分享,可在线阅读,更多相关《EOS快速开发平台项目开发规范草稿.docx(24页珍藏版)》请在冰豆网上搜索。
EOS快速开发平台项目开发规范草稿
开发规范说明
1.构建包
1.1.项目名称:
com.skygp.fastdevelop
1.2.构建包命名
项目名称+构建包名(模块名)
如:
com.skygp.fastdevelop.demo
1.3.系统各业务构建包说明
com.skygp.fastdevelop.accOA财务处办公应用模块
com.skygp.fastdevelop.busOA企管处办公应用模块
com.skygp.fastdevelop.disOA总调办公应用模块
com.skygp.fastdevelop.engOA工程技术办公应用模块
com.skygp.fastdevelop.hrOA人事处办公应用模块
com.skygp.fastdevelop.infOA信息处办公应用模块
com.skygp.fastdevelop.matOA物贸处办公应用模块
com.skygp.fastdevelop.offOA办公室办公应用模块
com.skygp.fastdevelop.plaOA规划处办公应用模块
com.skygp.fastdevelop.pubOA公共办公应用模块
com.skygp.fastdevelop.quaOA质量处办公应用模块
com.skygp.fastdevelop.safOA安全处办公应用模块
com.skygp.fastdevelop.thoOA思政处办公应用模块
com.skygp.fastdevelop.jqueryMobile移动端应用模块
com.skygp.fastdevelop.bpsruleBPS参与者规则维护模块
com.skygp.fastdevelop.pub通用公共功能,如各种通用的公共组件
com.skygp.fastdevelop.main主模块,如系统主页面、系统设置、用户管理等功能
com.skygp.fastdevelop.ws对内、外服务接口功能
以下部分构件包一般情况不需要做修改:
org.gocom.cap.workflow.client.task我的任务模块功能包
2.数据模型开发
1.
2.
2.
3.
3.1.数据集
一般根据业务名称或功能模块来命名数据集。
3.2.数据实体
数据实体名称与数据库表名对应,如表HR_OUT_LEAVE_APPLY对应实体名为HrOutLeaveApply。
3.2.1.主键生成
一般业务表单数据主键用”自动生成uuid”
3.2.2.字段类型
日期(不保存时间)类型用Date;
日期时间(保存时间)类型用TimeStamp;
其它常规数据类型与数据库类型对应即可。
3.JSP开发
4.
4.1.JSP创建
通过功能向导自动生成必要jsp文件;
每个页面的头部必须加上注释说明和资源引入,并在title中描述标题。
1.
2.
3.
3.1.
4.1.1.一般需求jsp示例
HrAnnualLeaveApplyForm新增表单页面
HrAnnualLeaveApplyEdit修改编辑页面
HrAnnualLeaveApplyFormAudit表单审核页面
HrAnnualLeaveApplyList数据列表查询页面
4.1.2.注释
<%--
-Author(s):
开发员拼音驼峰全名(如:
LiLong)
-Date:
2015-03-01日期
-Description:
功能说明及一些重要流程说明描述
--%>
4.1.3.head标签
<%@includefile="/common/common.jsp"%>
<%@includefile="/coframe/tools/skins/common.jsp"%>
(function(){
nui.context='<%=contextPath%>';
})();
页面标题
4.2.弹出窗口
新增表单、编辑表单一般用弹出窗口形式,窗口一般最小宽度为800px,高度根据表单内容决定;
nui打开窗口时,页面数据传递,按收页面必须要clone后再使用,如:
//页面间传输json数据
functionsetFormData(data){
//跨页面传递的数据对象,克隆后才可以安全使用
varinfos=nui.clone(data);
//保存list页面传递过来的页面类型:
add表示新增、edit表示编辑
nui.getbyName("pageType").setValue(infos.pageType);
//如果是点击编辑类型页面
if(infos.pageType=="edit"){
varjson=infos.record;
varform=newnui.Form("#dataform1");//将普通form转为nui的form
form.setData(json);
form.setChanged(false);
}
}
4.3.移动端
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
4.4.代码片段示例
4.逻辑构件开发
1.
2.
3.
4.
5.
5.1.逻辑构件命令规则
实体名+biz,全部小写,如hroutleaveapplybiz;
通过功能向导自动生成必要逻辑构件。
5.2.逻辑构件示例
一般表单审核业务需要逻辑构件示例说明
5.2.1.addHrOutLeaveApply(HrOutLeaveApply)添加表单逻辑流
主要操作说明
getPrimaryKey设置主键
createProcessInstance创建流程实例
startProcessInstAndFinishFirstWorkItem启动流程实例并完成第一工作项
事务处理
5.2.2.auditHrOutLeaveApply(HrOutLeaveApply,PubBpsAudit,Long,DataObject[])表单审批逻辑流
审批逻辑流不会自动生成,需要手动创建(一般从其它功能中复制粘贴、修改而来)。
参数、变量参考示例
主要操作说明
queryWorkItemDetail查询工作项明细,为后续操作提供数据
赋值对审核记录数据赋值
finishWorkItem完成工作项
activityRollBack审核不通过退回申请人修改
事务处理
5.2.3.deleteHrOutLeaveApplys(HrOutLeaveApply[])删除数据逻辑流
参数、变量参考示例
5.2.4.getOffWorkResApplyByProcessinstid(Long)根据流程实例ID查询表单数据
参数、变量参考示例
5.2.5.updateHrOutLeaveApply(HrOutLeaveApply,String)更新表单数据
参数、变量参考示例
主要操作说明
赋值对修改人和修改时间赋值
回退提交对回退后重新编辑提交业务的处理(提交到审核不通过节点)
事务处理
5.命名sql开发
6.
6.1.命名sql集命名规则
根据功能对应数据实体命名,如实体HrOutLeaveApply对应命名sql集为hrOutLeaveApply.namingsqlx。
6.2.代码片段示例
6.运算逻辑开发
6.1.开发规则
业务性(当前业务功能相关)的运算逻辑,根据业务数据实体名称分包和命名,要有详细注释说明
6.2.代码片段示例
7.流程定义规则
7.1.流程定义规则
根据业务数据实体名称命名,如实体HrOutLeaveApply对应bps流程名称为hrOutLeaveApply.workflowx;
各图元应该间距适中,不能相互重叠;
活动项名称应简明;
上线后,流程定义中的活动项名称不能随意变更(可能在业务处理中使用了定义的名称)。
7.2.流程相关数据设置
POName必须,对应业务实体全名
MAPPAudiuPage移动端功能必须,移动端审核页面
MAPPEditPage移动端功能必须,移动重新编辑页面
7.3.填写表单活动项
7.4.活动项参与者规则逻辑
分两种情况:
一般情况根据业务要求,选择指定参与者或根据规则逻辑自动获取参与者两种方式。
7.
8.
8.1.
8.2.
8.3.
8.4.
8.4.1.指定参与者
当明确指定某人或机构时,可以直接指定参与者。
8.4.2.规则逻辑
参与者不能具体指定到人或机构,而要根据申请信息去自动计算获取参与者,就需要在com.skygp.fastdevelop.bpsrule包中自已开发对应业务的规则逻辑,这里选择即可。
一般规则逻辑开发是一些运算逻辑,m中已提供了一些通用的规则逻辑,可以直接使用。
通用规则逻辑说明:
m.BPScommEmpLevel获取各种领导的方法
getEmpLevel_CZ()获取处室处长、分公司经理(2级单位正职领导);
getEmpLevel_FCZ()获取处室副处长、分公司副经理(2级单位副职领导);
getEmpLevel_CZandFCZ()获取处室正副处长、分公司正副经理(2级单位正副职领导);
getEmpLevel_KZ()获取科长(3级单位正职领导);
getEmpLevel_FKZ()获取副科长(3级单位副职领导);
getEmpLevel_KZandFKZ()获取正副科长(3级单位领导);
getEmpLevel_ZJL()获取总经理(总公司领导);
getEmpLevel_FZJL()获取副总经理(总公司副职领导);
getEmpLevel_ZJLandFZJL()获取正副总经理(总公司正副职领导);
m.BPScommImmediateSupervisor获取员工的直属上司
getImmediateSupervisor()通过部门和职级获取员工的直属上司
7.5.活动项触发事件
流程定义中,每一个(或需要给工作项参考者发送手机消息推送的)活动项加上触发事件,触发时机为“工作项创建后”,事件动作是调用逻辑流“com.skygp.fastdevelop.pub.PartcipantBiz.sendMessagePart”,三个参数取值分别为“thisWorkItem/workItemID”工作项ID
“101”表示待办任务提醒
“thisProcessInst/processInstID”流程实例ID
当审核不通过回退给表单申请人时,发送手机消息给申请人的操作封装在了回退操作逻辑流中,所以流程定义时,“填写申请表单”活动项不需要设置触发事件。
系统规则
手机程序相关
8.数据库表设计
8.1.表名
表名中文名(前缀):
简称_表名如:
财务_资金申请
表名英文名(前缀):
表名前缀编码_表名。
说明:
数据表英文名称全为大写,必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:
ACC_APPLY_INFO。
表名称不能用双引号包含。
表名前缀定义如下:
No
业务分类
简称
表名前缀编码
1
财务处
财务
ACC
2
企管处
企管
BUS
3
总调
总调
DIS
4
工程技术
工程
END
5
人事处
人事
HR
6
信息处
信息
INF
7
物贸处
物贸
MAT
8
办公室
办公
OFF
9
规划处
规划
PLA
10
公共信息
消息
POA
11
质量处
质量
QUA
12
安全处
安全
SAF
13
思政处
思政
THO
14
系统公共
公共
PUB
8.2.字段名
字段名称全为大写,必须用字母开头,采用有特征含义的单词或缩写,不能用双引号包含。
固定字段定义规则:
字段
数据类型
字段说明
ID
Char(32)
业务表主键
PROCESSINSTID
VARCHAR(32)
流程实例ID
ACTIVITYINSTID
VARCHAR(32)
活动实例ID
WORKITEMID
VARCHAR(32)
工作项ID
ENABLE_FLG
INT
有效标记(1:
有0:
无效)
CREATE_TIME
TIMESTAMP
创建时间
CREATE_USER_ID
VARCHAR(32)
创建人
MODIFY_TIME
TIMESTAMP
修改时间
MODIFY_USER_ID
VARCHAR(32)
修改人
SORT_NO
INT
排序号
字段后缀
后缀
备注
_ID
外键字段
_IFLG
整型不可维编码
_SFLG
任意型不可维编码
_ICD
整型可维编码
_SCD
任意型不可维编码
_ICODE
整型单编码表
_SCODE
任意型单编码表
_DATE
日期类型
_TIME
日期时间类型
_INFO1
长文字=100位
小于100字段不加后缀
_INFO2
长文字200位以内
_INFO5
长文字500位以内
_INFO9
长文字500位以上
_CNT
数量
数据类型:
int
_NUM
金额
数据类型:
number
_NO
编号/号
8.3.英文常用语
中文名
英文
备注
人
USER
单位
ORG
增加
ADD
保存
SAVE
删除
DEL
修改
CHANGE
审请
APPLY
注册
REG
流程
FLOW
活动
ACT
审核
AUDIT
工作
WORK
内容
CONT
地址
ADDR
项目
PROJ
8.4.其它
数据字典变量定义规则
变量名:
表名前缀编码+状态或标记类字段+自定义编码
如:
ACC_SCD_XXXXXX_XXXXX;
INF_SFLG_XXXXX_XXXX;
以下是本系统定义规则,并不表示数据库数据中数据类型自身含义
Char(32):
定长字符串,主要用于UUID主键字段或外键字段
VARCHAR(32):
变长字符串,主要适用于值不包含全角字符、中文情况
NVARCHAR2:
变长字符串,主要适用于值包含全角字符、中文等情况
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EOS 快速 开发 平台 项目 规范 草稿
![提示](https://static.bdocx.com/images/bang_tan.gif)