- 浏览: 432917 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
man1900:
想部署及学习了解,可参考本人新的博客获得下载源代码。http: ...
JOffice 中的JBPM4在线流程设计器--初览(Applet版) -
atgoingguoat:
哎。假的。
JOffice 中的JBPM4在线流程设计器--初览(Applet版) -
电竞杀神张无忌:
这是主流程调用子流程报的错大神指导原因吗? ...
JBPM4的子流程与父流程的设计及开发 -
贝塔ZQ:
pageoffice也是office在线编辑的吧,J.Offi ...
J.Office另一种在线Office编辑器整合 -
Mybonnie1:
你好,想问下,串行的多实例任务能做到回退么
Activiti 多个并发子流程的应用
宏天软件作为一个技术实力雄厚的软件技术公司,支持国内开源的工作,整合国际J2EE先进的开源技术,把公司自主研发的的J.Office OA平台开放源代码,使用用户能够看得见并根据自己的实际情况修改源代码使之为己所用,在如此激烈的竞争环境中,只有商业软件、开源软件以及服务为导向的软件等多种模式共享,并相互借鉴,甚至融合,才能有利于软件技术的创新,并能为企业带来高效的回报,而以宏天软件再做一次惊人之举,率先提出“向客户免费开放源代码”,在国内J2EE企业开发领域里,尚属首次,其勇气及魄力不得不令人赞叹!
面对当前国内OA市场鱼龙混杂的局面,OA产品价格从几千至百万元不等,很多企业在购买OA产品里,感觉雾里看花,甚至有些用户认为价格越高的OA产品就越好,对企业的帮助就越大,然而事实并非如此,随着后来竞争者不断崛起,如今的OA软件将变成如Office一样的大众化软件。俗话有说:“适合我自己的才是最好”。因此适合用户自己的OA产品才是最好,宏天软件的OA向所有用户开发源代码,企业只需要万元就可以购买一款性价非常高的OA软件,并可以免费获得其源代码,并且获得宏天软件的技术支持。宏天软件的OA产品将结束OA产品的暴利时代,成为大众化的软件。
由于宏天软件OA平台采用均是优秀的开源技术,如(Spring,Hibernate,Jbpm4,Lucene,Jasper Report,Struts2,Ext3),可以做到跨数据库,跨浏览器,不需要考虑到系统不兼容,升级容易,不必担心系统所受到的限制。
现在对外开一个开源的版本(JOffice v1.2 beta),供同行或国内事业单位的技术学习及进行相应的系统选型。在线测试版本:(由于对外开放的版本受服务器的限制,有些功能并不开放,有些抱歉),在firefox,google chrome下有性能及效果会比较好。
http://www.jee-soft.cn/office/login.jsp
或
用户:csx 密码:111
并且将每个月进行发行一个版本,源代码放在:
http://code.google.com/p/joffice/
公司技术介绍:
http://www.jee-soft.cn
技术支持服务:020-62652367,020-62652816,QQ:17629634,Msn:mansan2006@hotmail.com
系统界面如下所示:
附加上企业版本的系统的图片:
评论
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import javax.servlet.http.HttpSession;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;
import com.htsoft.core.util.AppUtil;
import com.htsoft.core.util.ContextUtil;
import com.htsoft.core.web.action.BaseAction;
import com.htsoft.oa.model.system.AppRole;
/**
* 显示系统左边的功能菜单
* @author csx
*
*/
public class MenuAction extends BaseAction{
//Menu ID
private String id=null;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
private static final String USER_MENU_DOC="_USER_MENU_DOC";
/**
* 根据权限获取当前用户的菜单
* @return
*/
private Document getCurDocument(){
HttpSession session=getSession();
Document userDoc=(Document)session.getAttribute(USER_MENU_DOC);
if(userDoc!=null){
return userDoc;
}
Document doc=AppUtil.getMenuDocument();
Set<String> rights=ContextUtil.getCurrentUser().getRights();
if(rights.contains(AppRole.SUPER_RIGHTS)){//具有超级管理权限
return doc;
}
Document newDoc=DocumentHelper.createDocument();
Element root = newDoc.addElement( "Menus" );
createSubMenus(rights,doc.getRootElement(),root);
//System.out.println("nodes:" + XmlUtil.docToString(newDoc));
//放置newDoc至Session,为下次访问带来方便
session.setAttribute(USER_MENU_DOC, newDoc);
return newDoc;
}
private void createSubMenus(Set<String>rights,Element curNodes,Element newCurNodes){
List els = curNodes.elements();
if(els.size()==0) return ;
for (int i = 0; i < els.size(); i++) {
Element el = (Element) els.get(i);
Attribute id = el.attribute("id");
if(id!=null){
String idVal=id.getValue();
if(rights.contains(idVal) || idVal==null ){
Element newNodes=newCurNodes.addElement(el.getName());
Iterator<Attribute> it=el.attributeIterator();
while(it.hasNext()){
Attribute at=it.next();
newNodes.addAttribute(at.getName(),at.getValue());
}
createSubMenus(rights,el,newNodes);
}
}
}
}
/**
* 显示某一项模块下的菜单
* @return
*/
public String items(){
Document doc=getCurDocument();
if(doc!=null){
StringBuffer sb=new StringBuffer("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r");
Element el=doc.getRootElement();
List nodes=el.selectNodes("/Menus/Items[@id='"+id+"']/*");
sb.append("<Menus>\r");
for(int i=0;i<nodes.size();i++){
Node node=(Node)nodes.get(i);
sb.append(node.asXML());
}
sb.append("\r</Menus>\r");
setJsonString(sb.toString());
}
return SUCCESS;
}
/**
* 显示系统下所有的模块
* @return
*/
public String models(){
Document doc=getCurDocument();
StringBuffer sb = new StringBuffer("[");
if (doc != null) {
Element root = doc.getRootElement();
List els = root.elements();
for (int i = 0; i < els.size(); i++) {
Element el = (Element) els.get(i);
Attribute id = el.attribute("id");
Attribute text = el.attribute("text");
Attribute iconCls = el.attribute("iconCls");
sb.append("{id:'").append(id == null ? "" : id.getValue()).append("',");
sb.append("text:'").append(text == null ? "" : text.getValue()).append("',");
sb.append("iconCls:'").append(iconCls == null ? "" : iconCls.getValue()).append("'},");
}
if(els.size()>0){
sb.deleteCharAt(sb.length()-1);
}
}
sb.append("]");
setJsonString(sb.toString());
return SUCCESS;
}
}
Panel中使用了AutoHeight=true,所以会随数据的多少来适应高度,当然你可以把这种属性设置为false,然后设置它的高度
http://man1900.iteye.com/blog/517248
领导说了,开放源代码倒不是问题,只是要担心国内有些公司拿了我们的成果,改成他们的名称,并且还申请专利。所以后面会加上使用声明要求。
希望如此。昨天晚上看到让我很兴奋,结果发现有部分源码没有开发,又很失落!
像core包下的源码就没有!
发表评论
-
Activiti 工作流会签开发设计思路
2012-07-26 12:12 28500Activiti 工作流会签开 ... -
基于开源流程引擎Activiti5的工作流开发平台
2012-05-17 11:28 7233http://www.redxun.cn:8 ... -
Jbpm4或Activiti5的流程任务分发与汇总
2012-03-20 18:28 6283应用场景:在企业或事业单位,经常需要把一个任务分派给多条线去 ... -
关于Activiti或JBPM流程的回退的讨论之一
2011-12-30 12:08 8896需求: ... -
Activiti 5 在线流程设计器开发
2011-11-30 08:56 23779jbpm4的开发成员to ... -
基于标签方式的工作流启动及任务执行开发说明
2011-09-25 21:21 2309基于现在的系统的整 ... -
JOffice2 发布了开源的开发者体验版本啦!
2011-08-09 23:42 7303JOffice的爱好者有福音了,经公司决定,现在发布 ... -
关于JOffice的业务表单与流程的整合问题
2011-07-26 23:55 3324关于 JOffice 的业务表 ... -
JBPM4的子流程与父流程的设计及开发
2011-07-14 11:23 5670【JBPM4的子流程 ... -
Jbpm4中的会签设计及实现
2011-05-05 15:20 7680会签任务是工作流里一个比较觉见的任务方式,意思是一 ... -
jbpm4.4在线设计分支跳转
2011-05-02 14:30 4399我们知道jbpm4.4提供了三种比较方便的分支跳转方式 ... -
J.Office 2 JBPM4.4 工作流增强版特性
2011-04-27 16:00 37342.0主要在工作流方面提供了很强的改进,jbpm升级至jbpm ... -
JOffice2的在线表单设计示例(JBPM4.4)
2011-03-16 13:52 6004JOffice2目前升级至jbpm ... -
JOffice2中的JBPM4的任务回退实现
2010-12-07 15:27 3592任务回退的工作可以有两种实现方式: 1. 完成当前 ... -
利用JBPM4.4的AssignmentHandler实现用户角色整合另一种构思
2010-11-26 17:05 6251Jbpm4提供的IdentitySession ... -
分享宏天免费的JBPM4流程设计器(Applet)
2010-07-07 11:56 312JBPM4一直没有一个很好的在线流程设计器,基于这种方式,跟大 ... -
JOffice中的自定义发文流程与运行模板设计
2010-07-05 22:59 3222开发与设计公文流程在所有的政府oa项目上都少不了此需求,而能灵 ... -
JBPM4中的任务回退、补签、自由流程实现
2010-04-22 16:12 10455最近在实施政府办公项 ... -
OA JBPM中的公文(发文、收文)流程
2010-03-25 00:10 11462公文管理主要包括两大模块,其一是发文管理,其二是收文管理,非常 ... -
JBPM在线流程设计器的分析与实现部分构想
2010-03-10 13:54 7391在发表文章之前,先 ...
相关推荐
这个JOffice V1.2 beta版,也就是官方说开源的版本之一。 说实话,这个公司很讨厌,打着开源的幌子来宣传自己的产品,里面的 东西根本没有开源,还很恶心的包留了一部分代码,htcore.jar。 对于这样的开源,我表示...
关于 JOffice1.3使用手册,方便快捷,大家来下载
SSH(Struts、Spring、Hibernate)是Java Web开发中常用的三大开源框架,它们各自承担着不同的职责,共同构成了强大的后端开发工具集。 Struts是MVC(Model-View-Controller)设计模式的一个实现,主要用于控制视图...
jOffice技术框架是一款专为协同办公(OA)系统设计的开发框架,旨在提供一套完整的解决方案来满足企业级应用的需求。该框架支持多种办公自动化功能,包括但不限于公文管理、系统设置、信息管理和通讯管理等。本文将...
在JOffice2中,JBPM4是一个强大的工作流引擎,用于管理和执行业务流程。本文将深入探讨如何在JOffice2中实现JBPM4任务的回退功能,这在处理复杂流程时尤其重要,允许用户纠正错误或根据需要调整流程方向。 任务回退...
Java资料下载通常涉及Java开发的各种资源,包括但不限于Java开发工具、框架、库、教程文档以及相关的服务器和数据库软件。在本例中,我们关注的是一个特定的Java应用程序——J.Office1.3.1,它与Tomcat6服务器绑定,...
在压缩包中提到的“joffice”可能是该项目的一个组件或子目录,可能包含与Java Office集成相关的代码。这可能涉及到读取、写入或处理Office文档(如Word、Excel)的功能,使用户能够直接在邮箱中预览和编辑附件。 ...
// Chat.cpp : 定义应用程序的类行为。 // #include "stdafx.h" #include "Chat.h" #include "ChatDlg.h" #ifdef _DEBUG #define new DEBUG_NEW ... m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_...
office文档转pdf后,再转swf,最终显示需要的一些工具及jar包,包括一个office转pdf转swf的java文件。因目前可上传的文件大小限制,OpenOffice安装文件未上传,工具目前最新版本为3.4.1,请另行下载
【权限实现实例(Ext+java)】 在JOffice中,权限管理采用了基于角色的管理策略,这使得系统能够高效地实现对用户访问权限的控制。这种策略与Spring Security 2框架相结合,允许开发者通过配置文件对整个系统的权限...
虽然题目主要关注的是如何使用Java命令创建JAR文件,但提到了一个额外的SQL命令:`mysql->source F:/joffice131.sql`。这个命令用于MySQL数据库,它的作用是从指定的SQL脚本文件(这里是`F:/joffice131.sql`)读取并...
Apache的SVN库是业界非常知名的开源代码仓库之一,提供了丰富的Java Web技术相关的项目资源。该库位于`http://svn.apache.org/repos/asf/`,不仅包含了如Struts这样的经典Web应用框架的源码,还包含了Jakarta ...
JOffVis 一个基于 Java Swing 的工具,用于可视化 ...先决条件:1) Java SDK 72) Maven 3要编译应用程序,请运行以下命令mvn 干净编译要启动应用程序,请运行以下命令mvn exec:java -Dexec.mainClass="joffice.gui.App
11. **上传至JOffice系统**: 完成设计后,将.jasper文件上传至报表管理系统,设定参数以便在系统中运行。 12. **参数设置和数据初始值**: 在报表参数设置中,指定参数的默认值或允许用户输入。这样,报表在运行时...
JoPro是一个生产力和办公套件,将文字处理器,电子表格设计器,演示设计器和svg查看器集成到一个应用程序中! 基于Netbeans平台。 图像和代码由Anthony Goubard设计。 最初称为Joffice。
在Joffice的实例中,ScriptMgr.load方法被用来异步加载所需的JS模块。当用户首次访问某个功能时,相关的JS文件会被加载并缓存起来。随后,如果用户再次访问同样的功能,则不会再重新加载这些JS文件,因为它们已经在...