OA中的公文流转的流程控制该怎么来设计? 比如一个请假申请起草请假单—部门主管审批—副经理审批—总经理审批—审批结束这个流程控制的思路是什么如何设计库?要求一旦进入流程,用户将不能再修改请假单,某一级审批不通过,可以退加到前一级节点或起草人处。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 id state id name .... state0 审批结束 1 小明 .... 41 总经理审批 2 小李 .... 02 副经理审批3 部门主管审批4 起草请假单这样设计表应该可以了吧,小于4就不可以修改,审批不过就加1,就退回上一级了,根据状态码就可以知道该由谁来审批 每一个流程用一个流程配置文件(比如XML格式的),写明第一部到哪里,第二步到哪里。 liu_xhaoqf,那我怎么将公文和这个XML文件联系起来,你能举个例子吗? 对呀 这个为什么不用工作流呢...OSFlow,这个也就是工作流里的一个demo 看来一开始没看明白你的问题,我学了JAVA开发不久,接触的东西不太多,我也不会工作流,如果让我写的话id state id name id name .... state type0 审批结束 1 请假条 1 小明 .... 4 11 总经理审批 2 通知 2 小李 .... 0 22 副经理审批 3 小王 .... 5 23 部门主管审批 4 起草请假单 5 起草通知这样应该可以了,你再写个属性文件吧请假条=4-3-2-1-0通知=5-1-0方法是差了一点,不过应该也可以行得通,估计工作流应该也是把中间的那个表和属性文件编成XML文件的吧,没用过,猜的 如果liu_zhaoqf 说得是工作流的结构的话,我大概猜出来工作流是怎么运作的了,应该是前面用户提交一个公文类型,然后用工厂加载相应的类进行处理public class DocumentFactroy{ private DocumentFactroy df=new DocumentFactroy(); public static DocumentFactroy buildDocumentFactroy(){ return df; } public Document getDocument(String typename,String XMLname){ return (Document)Class.forName("oa.document"+typename).getConstructor(String.class).newInstance(XMLname,1); }}Document是所有公文的统一接口public Interface Document(){}package oa.documentpublic class qingjiatiao implement Document{ private String XMLname; public qingjiatiao(String XMLname){ this.XMLname=XMLname; } .....}package oa.documentpublic class tongzhi implement Document{ private String XMLname; public tongzhi(String XMLname){ this.XMLname=XMLname; } .....}....然后写XML,不知道工作流是怎么定义的XML,我猜大概就是这样qingjiatiao.XML<xml ....> //省略了一堆xml的定义 <property name="起草请假单" order="1"> <success order="2"/> </property> <property name="部门主管审批" order="2"> <success order="3"/> <fail order="1"/> </property> <property name="副经理审批" order="3"> <success order="4"/> <fail order="2"/> </property> <property name="总经理审批" order="4"> <success order="5"/> <fail order="3"/> </property> <property name="审批结束" order="5"/> </property></xml>这样的结构应该就可以了,就算没用工作流,自己写一个这样的结构也不困难,应该可以实现你要的功能注:所有的代码都是随手写的,没有试过,结构应该没错了 帮忙看看,方便的话,就说点 求算法 jsp中读取数据库空字段时,怎么在显示时不显示null而显示空白? 关于用struts的tiles的刷新问题? 初次调试jsp网站,报了一顿错误,高手请指点一二 (index代码) 没网的环境下flexpaper如何添加adobe flash的信任 初学java,帮帮忙啊,实在整不出来了 我的页面源代码如下,请各位帮我加一个分页显示和奇偶数行不通颜色显示我不能实现谢谢 我想挣点钱 从后台数据库获得数据结果后,如何展现在前台页面? 用IE 登录 Tomcat的时候总要求输入密码 如何在JSP中内嵌WORD编辑器????? 急等
0 审批结束 1 小明 .... 4
1 总经理审批 2 小李 .... 0
2 副经理审批
3 部门主管审批
4 起草请假单这样设计表应该可以了吧,小于4就不可以修改,审批不过就加1,就退回上一级了,根据状态码就可以知道该由谁来审批
id state id name id name .... state type
0 审批结束 1 请假条 1 小明 .... 4 1
1 总经理审批 2 通知 2 小李 .... 0 2
2 副经理审批 3 小王 .... 5 2
3 部门主管审批
4 起草请假单
5 起草通知这样应该可以了,你再写个属性文件吧
请假条=4-3-2-1-0
通知=5-1-0方法是差了一点,不过应该也可以行得通,估计工作流应该也是把中间的那个表和属性文件编成XML文件的吧,没用过,猜的
public class DocumentFactroy{
private DocumentFactroy df=new DocumentFactroy();
public static DocumentFactroy buildDocumentFactroy(){
return df;
}
public Document getDocument(String typename,String XMLname){
return (Document)Class.forName("oa.document"+typename).getConstructor(String.class).newInstance(XMLname,1);
}
}
Document是所有公文的统一接口
public Interface Document(){}package oa.document
public class qingjiatiao implement Document{
private String XMLname;
public qingjiatiao(String XMLname){
this.XMLname=XMLname;
}
.....
}
package oa.document
public class tongzhi implement Document{
private String XMLname;
public tongzhi(String XMLname){
this.XMLname=XMLname;
}
.....
}
....
然后写XML,不知道工作流是怎么定义的XML,我猜大概就是这样
qingjiatiao.XML
<xml ....> //省略了一堆xml的定义
<property name="起草请假单" order="1">
<success order="2"/>
</property>
<property name="部门主管审批" order="2">
<success order="3"/>
<fail order="1"/>
</property>
<property name="副经理审批" order="3">
<success order="4"/>
<fail order="2"/>
</property>
<property name="总经理审批" order="4">
<success order="5"/>
<fail order="3"/>
</property>
<property name="审批结束" order="5"/>
</property>
</xml>
这样的结构应该就可以了,就算没用工作流,自己写一个这样的结构也不困难,应该可以实现你要的功能
注:所有的代码都是随手写的,没有试过,结构应该没错了