论坛首页 Java企业应用论坛

基于开源工作流引擎OSWorkflow的业务系统实例——请假审批系统

浏览 114530 次
该帖已经被评为良好帖
作者 正文
   发表时间:2007-12-05  
收集了有关范玉顺的工作流文章 http://www.agilestep.cn/theory/document/FanYuShun.html
0 请登录后投票
   发表时间:2007-12-05  
这些XML读起来就很累了,大概意思清楚,但估计作者自己也是根据模板改改的吧,要不然不可能严格按照这种格式来写。个人认为这应该提供图形化配置工具来自动生成。
0 请登录后投票
   发表时间:2007-12-05  
用过BEA的ServiceBus,也是实现类似的Business Service整合,通过一个很友好的操作界面就可以实现,后台自动生成XML。
0 请登录后投票
   发表时间:2007-12-12  
多谢楼主,果然是好东西..如果楼主可以详细介绍一下如何与现在系统集成就太好了.
0 请登录后投票
   发表时间:2007-12-17  
classicbride 写道
Workflow wf = new BasicWorkflow((String) session.getAttribute("username"));
    Map map = new HashMap();
    map.put("applicant", applicant);
    map.put("reason", reason);
    map.put("dayCount", new Integer(dayCount));
   
    try {
      long wfid = wf.initialize("leave_apply", 100, null);

为什么我启用一个工作流的时候会报这个错呢?
DEBUG [(opensymphony.workflow.AbstractWorkflow)] Outcome: stepId=1, status=Underway, owner=, actionId=100, currentStep=0
DEBUG [(spi.jdbc.JDBCWorkflowStore)] Executing SQL statement: INSERT INTO OS_CURRENTSTEP (ID,ENTRY_ID, STEP_ID, ACTION_ID, OWNER, START_DATE, DUE_DATE, FINISH_DATE, STATUS, CALLER ) VALUES (?, ?, ?, null, ?, ?, ?, null, ?, null)
com.opensymphony.workflow.StoreException: Unable to create current step for workflow instance #7: root cause: Cannot add or update a child row: a foreign key constraint fails (`workflowtest/os_currentstep`, CONSTRAINT `os_currentstep_ibfk_2` FOREIGN KEY (`OWNER`) REFERENCES `os_user` (`USERNAME`))

owner没有值造成的...而我session.getAttribute("username")是可以取得值的...??


我也遇到了这个问题,不知道你们可找到什么原因了?
有知道的奉献出来
谢谢!!
0 请登录后投票
   发表时间:2007-12-18  
请问楼主,os_user表中的密码是通过什么加密的呀...
0 请登录后投票
   发表时间:2007-12-18  
急时雨呀,我就需要这样的例子学习工作流方面的知识呢,谢了
0 请登录后投票
   发表时间:2007-12-29  
请问楼主,为什么我中间有一步审批没有通过,在这个表中(os_wfentry) 最后的state字段状态应该是6  , 为什么最后总是4呢?
0 请登录后投票
   发表时间:2008-04-08  
  请问,楼主你写的工作流中,如何区别只有员工有申请的权利-------
  也就是我在按你上面的提示运行时这里------long wfid = wf.initialize("leave_apply", 100, null); 出问题,,后台提示--空指针异常,是不是在运行时还有比的细节要注意,,

0 请登录后投票
   发表时间:2008-04-14  
有一个小问题, 关于设计上面的.

<step id="3" name="请假申请审核">  
             <actions>  
                 <action id="3" name="人力资源主管审批请假申请">  
                     <pre-functions>  
                         <function type="class">  
                             <arg name="class.name">com.qiny.leave.ApproveFunction</arg>  
                         </function>  
                     </pre-functions>  
                     <results>  
                         <result old-status="Finished" status="Underway" step="5">  
                             <conditions type="AND">  
                                 <condition type="beanshell">  
                                     <arg name="script">  
                                     propertySet.getInt("opinion")==2  
                                     </arg>  
                                 </condition>  
                             </conditions>  
                         </result>  
                         <unconditional-result old-status="Finished" status="Underway" step="5"/>  
                     </results>  
                 </action>  
             </actions>  
         </step>  




比如,上面这步, HR主管审批. 楼主的设计是用到一个action, 通过opinion用法判断不同的结果. 是不是也可以两个action替换上面的方式呢? 通过调用进,传入不同action的id号, 判断不同的结果.

<step name="HR审批" id="3">
			<actions>
				<action name="通过" id="4">
					<results>
						<unconditional-result old-status="Finished" step="4" status="Quened" owner="email"/>
					</results>	
					<post-functions>
						<function type="beanshell">
							<arg name="script">
								System.out.println("HR is pass");
							</arg>
						</function>
					</post-functions>			
				</action>
				
				<action name="不通过" id="5">
					<results>
						<unconditional-result old-status="Finished" step="4" status="Quened" owner="email"/>
					</results>
					<post-functions>
						<function type="beanshell">
							<arg name="script">
								System.out.println("HR is fail");
							</arg>
						</function>
					</post-functions>
				</action>
			</actions>
		</step>



我想问一下, 基于上面两种方式的优缺点, 进行比较一下. (小弟当开始学工作流,请大家指点一下.)
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics