J.Office 1.3 版本正式对外发布了,用户可以下载试用,宏天软件也如从前一样,对企业用户开放所有的源代码,方便企业用户基于上面进行二次开发,并且二次开发系统所有权属于企业本身,唯一的是企业需要购买该软件的授权开发的License。
相对1.2版,1.3版作了以下更新:
1. 工作流改进,更新工作扩展,使其支持同步任务,会签任务。
2. 加上在线工作流设计器
3. 加上EXT的任务表单设计器
4. 加上公文管理,支持发文及收文流程。同时提供催办功能
5. 加上人力资源管理,支持员工档案及薪酬管理等功能。
6. 加上系统换肤功能
7. 改善首页加载左菜单的性能及其他js的下载性能
8. 修正一些样式的显示
在线试用访问地址:
用户:csx 密码:111
网通: http://oa.jee-soft.cn:8080/index.jsp
电信: http://office.jee-soft.cn:8080/index.jsp (广东省以外电信用户)
或
http://oa.jee-soft.cn/index.jsp
http://office.jee-soft.cn/index.jsp
下载试用地址: http://bbs.jee-soft.cn/posts/list/4.page
系统功能简介
- 1. 系统采用纯J2EE平台开发,是基于Struts,Spring,JBPM4,EXT3,JasperReport,Lucene,Compass等优秀开源技术的整合。支持windows、Linux、Unix平台运行。数据库支持Oracle、Sql server、Mysql、 DB2等多种数据库,文档支持全文搜索。
- 2. 支持任意多级部门、成员单位模式,灵活定义角色权限,全面面向集团应用。
- 3. 采用功能强大的Jasper Report报表引擎,允许自定义报表及上传报表模板。
- 4. 内置工作流系统,流程自定义,工作流可视化操作,自由流程,无限制嵌套流程运转(可定义任何复杂流程)。并能清晰直观查看任务执行状态,实时了解工作任务的办理情况。
- 5. 集成公告、新闻、内部邮件、外部邮件、短信、手机短信、文件柜、聊天室、论坛等模块,提供企业内部信息交流的多种途径。
- 6. 集成人事管理、员工考核、员工考勤、办公用品、通讯簿、日程管理、工作计划、会议管理、车辆管理、客户关系管理等模块,提供企业管理者全新的管理工具。
-
7流程自定义、表单自定义、全文批注、手写签名、电子印章、网上审批、是依法行政,提高行政效率的高效工作平台。
- 8. 通过系统访问控制、系统安全设置、系统资源管理,确保系统稳定安全运行。
作为二次开发用户,非常关心该系统的扩展性,以下为系统的技术平台介绍:
J.Office 办公平台技术架构
一、框架技术整合及介绍
本框架基于 JEE技术平台,整合大部分流行的开源成熟的技术,并且较好融合在一起,组成功能强大的开发平台,并且容易升级扩展,因此,可以保证开发系统的质量,同样可以应付不断变化的业务需求。
技术特点:
开发快速稳定
功能强大
升级容易
整合技术:
-
Spring 2.5
-
Struts2.0.14
-
Spring Security 2.0
-
Spring AOP
-
Hibernate 3.3 GA
-
FCK Editor 2.6
-
JBPM4.0GA
-
Compass + Lucene
-
JasperReport
-
JavaMail
-
Other: Log4j,Velocity,Sitemesh,Jfreechart,Xfire
二、规范代码
如app-user表对应为AppUser,其代码如下所示
JS UI层
AppUserView.js、AppUserForm.js
Action层
AppUserAction.java
Service层
AppUserService.java/AppUserServiceImpl.java
DAO 层
AppUserDao.java/AppUserUserDaoImpl.java
Model
AppUser.java
三、系统实施拓扑结构
简单类型:
复杂类型:
四、 开发环境
-
JDK 1.6 版本(Later)
-
Eclipse 3.4(Later)或 Netbean 6.8
-
Tomcat 5.5 (Later)/ (Weblogic 10 later)/GlassFish V2 Later
-
Ant 1.6 or later
-
IReport 3.6 报表开发工具
五、企业搜索引擎
-
Compass + lucene
-
快速构建文档及数据库的索引
-
查询索引
六、工作流引擎
工作流包括以下几部分:
在线流程设计
任务表单设计
任务分配
任务代办
任务会签
人员组织结构
在线流程设计器示例1:
在线流程设计器示例2:
流程任务人员及表单设置
任务人员设置
通过界面进行人员指定
-
设置为流程启动者
-
设置为某个具体的人
-
设置为流程启动者的上司
-
设置为某个角色的用户
通过在任务表单设置
-
指定某个用户
-
指定某个会签任务的人员
流程表单设计
提供可视化的表单设计工具
提供模板(Velocity)代码编写功能
最终显示效果如下所示:
复杂的表单设计最终效果:
任务表单模板示例代码
Ext.MyForm=Ext.extend(Ext.form.FormPanel ,{
xtype:"formpanel",
title:"task info",
labelWidth:100,
labelAlign:"left",
layout:"form",
width:400,
height:196,
padding:"10px",
initComponent: function(){
this.items=[
{
xtype:"textarea",
name:"MyField",
fieldLabel:"notes",
anchor:"100%",
height:120
}
]
Ext.MyForm.superclass.initComponent.call(this);
}
})
流程运行效果图:
任务人员分配代码示例
//分配某人来执行该任务
taskService.assignTask(task.getId(), "张三");
//分配某些人员作为侯选的执行人员
taskService.addTaskParticipatingUser(task.getId(),"张三,李四",Participation.CANDIDATE);
//分本某用户组作为该任务的侯选执行人员
taskService.addTaskParticipatingGroup(task.getId(), "经理", Participation.CANDIDATE);
任务待办
会签任务示例代码:
/**
* 创建新的任务
* @param parentTaskId 父任务 ID
* @param assignIds 任务执行人IDs
*/
public void newTask(String parentTaskId,String assignIds){
TaskServiceImpl taskServiceImpl=(TaskServiceImpl) taskService;
Task parentTask=taskServiceImpl.getTask(parentTaskId);
if(assignIds!=null){
String []userIds=assignIds.split("[,]");
for(int i=0;i<userIds.length;i++){
TaskImpl task=(TaskImpl)taskServiceImpl.newTask(parentTaskId);
task.setAssignee(userIds[i]);
task.setName(parentTask.getName() + "-" + (i+1));
task.setActivityName(parentTask.getName() );
task.setDescription(parentTask.getDescription());
//保存
taskServiceImpl.saveTask(task);
}
}
}
七、报表引擎
Jasper Report
IReport 报表工具
报表示例一:
报表示例二:
IReport 3.6 报表设计工具
上传报表模板后,显示效果如下:
八、安全管理
- 基于角色统一授权管理
- 功能粒度的权限管理
- 单点登录(SSO)
- 数据级别
- 用户密码Sha-256加密存储
- 用户授权访问系统功能
- 验证码
用户角色设置:
角色权限设置:
九、快速开发平台
开发平台整合
代码加速器
利用Ant任务快速生成功能开发的基本框架,仅需要调整界面即可:
生成Model
Action
Dao
Service
UI Js
配置文件