日期:2014-05-18  浏览次数:21230 次

strtus2+spring+hibernate 开发系统中的工作流问题讨论
最近要做一个项目,系统中的一个模块是要求不同用户登录系统后,可直接看到今天要做哪些事情,这些任务需要系统自动分配,根据自己的部门和职务(角色),看到的工作任务(一个客户资料有几个人不同阶段处理)也不一样,由于具体业务是分有先后顺序,前面工作的人的相关记录资料后面的工作的人员登录系统后要看得到,同时前面的工作人员处理完后这个客户资料要流到下一个部门去,前面部门的人员的任务盒子里不在有这个客户资料,就这样,客户资料一直根据不同部门往下流,当然一个部门每天可以拿到很多客户资料要处理,这时同一部门的人员的资料盒子要由系统自动分配相关资料给工作人员,这样一来,工作人员只要登录系统后就知道今天该干嘛干嘛了。
  用SSH框架+SQL SERVER 2005,由于存储过程不会写,也不知道具体怎么使用,所以在设计表时我准备设计多张相同结构的客户资料表,一个部门一张资料表,这样当资料进入公司总资料库后,分到A部门表,当A部门工作处理完后,资料入库到B部门表,同时清除A部门表的内容,一天工作结束后,当分配给A部门的工作人员的某些资料没有开始处理,这些资料还要丢到公司资料库中,正在处理但未处理完的还在自己的资料库中,来日继续处理,这样一直流下去直到客户资料完全处理完毕。我这样设计貌似可以实现需求,但是感觉这样设计不是怎么好,真要实现起来,估计写代码有一定的难度。各位同仁帮忙看看出出招。再此谢过。

------解决方案--------------------
建议用JBPM。

------解决方案--------------------
这个吗,用log4j吧,做下日志管理,单独的写到文件中,当下一个工作人员登录的时候,直接去查看日志
就知道今天要做什么事了。。。
------解决方案--------------------
我做过的项目中有一个审批程序,和你说的应该相似,但我没用过ssh(貌似这个和ssh应该也没关系吧)?
首先,根据部门和职务区分业务的情况这需要设计一个入口(同时还要有权限设计)。
设计一张业务模块对象映射表来完成各种不同的业务区分。
业务流程内容可以统一设计成一张表,该表和上面所说的关联。
还需要一张存储每个模块工作流程人员节点的表。

光这样说可能标书不清楚,我的设计也许不合理,楼主可以再想想,这是一个需要仔细考虑的问题。
------解决方案--------------------
建议楼主去研究一下workflow的一些框架, 例如:
http://java-source.net/open-source/workflow-engines

这个问题太大, 不好 回答, 找些已经存在的框架, 可以有效的缩短开发时间。
------解决方案--------------------
实际上我是做的一个CRM,需要根据部门和职务来区分,同时需要根据角色来区分,还需要根据共享模块来区分,也有审批程序(应该就是和工作流差不多),这些都是可扩展的。
------解决方案--------------------
貌似以前一个同学公司做的,不知道算不算工作流

在数据库中定义一个权限表,无限分级,树形结构,权限1,权限2,权限3。。。
各个权限从属于上一个权限

然后对应每一个权限定义一个表,就是说可以进行拓展,
就是说以后系统曾加部门了,也没有关系

然后对应的表中就是相应部门的工作流,

工作流之间靠权限关联,如,

a员工日报(申请之类)->组长->部长->部门经理->......
......部门经理->部长->组长a->员工

大概是这个意思,不知道是不是工作流,不知道对楼主有啥用没




------解决方案--------------------
推荐使用开源的工作流框架如 JBPM
------解决方案--------------------
strtus2+spring+hibernate 已经有成熟的例子了
------解决方案--------------------
探讨
建议用JBPM。


------解决方案--------------------
我以前做过类似的东西,根据公司业务定制的,我并没有用到那么多技术,只是在流程上用到最多的是存储过程,根据不同部门的审批和不同的功能你可以按照部门设计表,然后设计一张权限表,方便分配权限。表间的关系要仔细的琢磨一下,设计好了可以达到事半功倍的效果
------解决方案--------------------
lz是不有点复杂啊 ,其实很简单啊 你可以设个状态,到了不同阶段把状态改下不就行了吗
根据你的描述,我认为你那个资料表可以独立出来
资料表里有个状态 不同部门只能处理相应状态的资料
你说的先后顺序可以通过程序的默认顺序来规定
不知道lz有没有什么启发 希望对你有用
------解决方案--------------------
LZ终于加分了!!!等LZ在放分的时候我在来!!嘎嘎!!

既然这样就放点水吧!!

JBPM足够了!

你那个是公文!!是公文扭转。

字段名 是否主键 是否外键 TYPE CHECK COMMENT NULL ABLE
DOC_ID 是 公文传输ID NOT
DEPARTMENT_ID 发起部门ID NOT
USER_ID 用户ID NOT
STATUS 公文状态 NOT
WORKFOLW_ID 流程ID NOT
PROCESSINSTANCE_ID 处理流程实例ID NOT
TITLE 公文标题 NOT
NAME 公文名 NOT
DESCRIPTION 公文描述 YES
CREATED_DATE 创建日期 NOT
CREATED_PRG_NAME 创建的子项目名 NOT

PROCESSINSTANCE_ID 绑定JBPM流程实例ID




------解决方案--------------------
jbpm
------解决方案--------------------
典型的工作流建议用JBPM。

------解决方案--------------------