JOffice中的流程管理及发布过程

一、发布公文审批流程
在项目中找到流程文件定义,然后打开该文件,如下所示:

这可以在eclipse中的JBPM设计器中定义

    

 

Java代码 复制代码  收藏代码spinner.gif
  1. <process name="DocumentApproval" key="DOC_APP" xmlns="http://jbpm.org/4.0/jpdl">   
  2.   
  3.    <on event="start">   
  4.   
  5.         <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">   
  6.   
  7.           <field name="status"><short value="1"/></field>   
  8.   
  9.         </event-listener>   
  10.   
  11.    </on>   
  12.   
  13.    <start name="start1" g="76,21,48,48">   
  14.   
  15.       <transition name="to 审核、核稿" to="审核、核稿" g="-83,-17"/>   
  16.   
  17.    </start>   
  18.   
  19.    <task name="审核、核稿" g="55,108,92,52" >   
  20.   
  21.       <transition name="to 审批文档" to="审批文档" g="-71,-17">   
  22.   
  23.          <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">   
  24.   
  25.           <field name="status"><short value="2"/></field>   
  26.   
  27.         </event-listener>   
  28.   
  29.       </transition>   
  30.   
  31.       <transition name="to 取消文档" to="取消文档" g="-65,-17">   
  32.   
  33.          <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">   
  34.   
  35.           <field name="status"><short value="-1"/></field>   
  36.   
  37.         </event-listener>   
  38.   
  39.       </transition>   
  40.   
  41.    </task>   
  42.   
  43.    <task name="审批文档" g="59,192,92,52" >   
  44.   
  45.       <transition name="to 签发文档" to="签发文档" g="-71,-17">   
  46.   
  47.          <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">   
  48.   
  49.           <field name="status"><short value="3"/></field>   
  50.   
  51.         </event-listener>   
  52.   
  53.       </transition>   
  54.   
  55.       <transition name="to 取消文档" to="取消文档" g="-61,-10">   
  56.   
  57.          <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">   
  58.   
  59.           <field name="status"><short value="-1"/></field>   
  60.   
  61.         </event-listener>   
  62.   
  63.       </transition>   
  64.   
  65.    </task>   
  66.   
  67.    <task name="签发文档" g="57,283,92,52" >   
  68.   
  69.       <transition name="to 编号、归档" to="编号、归档" g="-83,-17">   
  70.   
  71.          <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">   
  72.   
  73.           <field name="status"><short value="4"/></field>   
  74.   
  75.         </event-listener>   
  76.   
  77.       </transition>   
  78.   
  79.    </task>   
  80.   
  81.    <task name="编号、归档" g="58,375,92,52" >   
  82.   
  83.       <transition name="to 结束" to="结束" g="-47,-17">   
  84.   
  85.          <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">   
  86.   
  87.           <field name="status"><short value="5"/></field>   
  88.   
  89.         </event-listener>   
  90.   
  91.       </transition>   
  92.   
  93.    </task>   
  94.   
  95.    <end name="结束" g="81,460,48,48"/>   
  96.   
  97.    <end-cancel name="取消文档" g="299,150,48,48"/>   
  98.   
  99. </process>  
<process name="DocumentApproval" key="DOC_APP" xmlns="http://jbpm.org/4.0/jpdl">

   <on event="start">

        <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">

          <field name="status"><short value="1"/></field>

        </event-listener>

   </on>

   <start name="start1" g="76,21,48,48">

      <transition name="to 审核、核稿" to="审核、核稿" g="-83,-17"/>

   </start>

   <task name="审核、核稿" g="55,108,92,52" >

      <transition name="to 审批文档" to="审批文档" g="-71,-17">

         <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">

          <field name="status"><short value="2"/></field>

        </event-listener>

      </transition>

      <transition name="to 取消文档" to="取消文档" g="-65,-17">

         <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">

          <field name="status"><short value="-1"/></field>

        </event-listener>

      </transition>

   </task>

   <task name="审批文档" g="59,192,92,52" >

      <transition name="to 签发文档" to="签发文档" g="-71,-17">

         <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">

          <field name="status"><short value="3"/></field>

        </event-listener>

      </transition>

      <transition name="to 取消文档" to="取消文档" g="-61,-10">

         <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">

          <field name="status"><short value="-1"/></field>

        </event-listener>

      </transition>

   </task>

   <task name="签发文档" g="57,283,92,52" >

      <transition name="to 编号、归档" to="编号、归档" g="-83,-17">

         <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">

          <field name="status"><short value="4"/></field>

        </event-listener>

      </transition>

   </task>

   <task name="编号、归档" g="58,375,92,52" >

      <transition name="to 结束" to="结束" g="-47,-17">

         <event-listener class="com.bmsoft.jbpm.oa.doc.DocumentListener">

          <field name="status"><short value="5"/></field>

        </event-listener>

      </transition>

   </task>

   <end name="结束" g="81,460,48,48"/>

   <end-cancel name="取消文档" g="299,150,48,48"/>

</process>

 

 

 

点击“流程发布”按钮,如下所示:

 

 

点击该工具栏上的查看,可以看到该流程图的示意图,如下所示:

 

 

 

 


二、设置流程各环节对应的处理人员
 
点击设置流程表单人员,

说明:流程的处理人员可以在流程定义文件中设定,也可以通过在运行的时候,设置由哪一个角色或人员来处理.


进入设置界面如下所示

 

 

新的版本设置如下所示:

 

 

 

在角色里输入对应的角色名称
当某个用户拥有该角色时,所以进入该环节的任务,该用户将会看到该任务。

若设置了角色,则角色会优先,则表示为该任务会由一组用户来管理及执行。若角色没有设置,只是设置了用户(如user1@bmsoft.com ),则表示该任务进入该环节后,会自动分配给该用户。

 

三、启动公文审批流程

 

 

点击提交审核,则启动把该文档提交至审批流程。显示信息如下所示:


该文档将成为待审批的文档,如:
 
用户可点击查看“查看文档”,显示:

User1(拥有user@bmsoft.com 角色)进入“我的待办流程”,将看到刚才提交的文档

目前该任务尚未执行人,当前用户可以锁定该任务,表示该任务则本人处理。
在管理列中,点击“锁定任务”按钮,如:

 
执行人马上显示为user1@bmsoft.com


在工具栏上点击“下一步”按钮,如:

 

在此填写审批意见,执行下一步操作。

User1查看他的文档所在的位置:

 

审批情况:

下一步:

将把该流程提交至下一环节进行,如:另一用户super1@bmsoft.com

流程将往下走直到结束

qq:1848175569

转载于:https://my.oschina.net/antAbby/blog/124834

// Chat.cpp : 定义应用程序的类行为。 // #include "stdafx.h" #include "Chat.h" #include "ChatDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // CChatApp BEGIN_MESSAGE_MAP(CChatApp, CWinApp) ON_COMMAND(ID_HELP, &CWinApp::OnHelp) END_MESSAGE_MAP() // CChatApp 构造 CChatApp::CChatApp() { // 支持重新启动管理器 m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART; // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在 InitInstance 中 } // 唯一的一个 CChatApp 对象 CChatApp theApp; // CChatApp 初始化 BOOL CChatApp::InitInstance() { // 如果一个运行在 Windows XP 上的应用程序清单指定要 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, //则需要 InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // 将它设置为包括所有要在应用程序中使用的 // 公共控件类。 InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); CWinApp::InitInstance(); if(!AfxSocketInit()) { AfxMessageBox(_T("加载套接字库失败!")); return FALSE; } AfxEnableControlContainer(); // 创建 shell 管理器,以防对话框包含 // 任何 shell 树视图控件或 shell 列表视图控件。 CShellManager *pShellManager = new CShellManager; // 标准初始化 // 如果未使用这些功能并希望减小 // 最终可执行文件的大小,则应移除下列 // 不需要的特定初始化例程 // 更改用于存储设置的注册表项 // TODO: 应适当修改该字符串, // 例如修改为公司或组织名 SetRegistryKey(_T("应用程序向导生成的本地应用程序")); CChatDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: 在此放置处理何时用 // “确定”来关闭对话框的代码 } else if (nResponse == IDCANCEL) { // TODO: 在此放置处理何时用 // “取消”来关闭对话框的代码 } // 删除上面创建的 shell 管理器。 if (pShellManager != NULL) { delete pShellManager; } // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序, // 而不是启动应用程序的消息泵。 return FALSE; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值