自動生成報表工具中如何在工作流中調用相應模板

下面我們通過自動生成報表工具FineReport介紹如何將製作好的模板替代原來的jsp頁面。

工具/原料

自動生成報表工具FineReport7.1.1
大小:148.2M 適用平台:windows/linux

方法/步驟

修改流程圖對應的XML文件

將流程圖對應xml文件中task標籤的form屬性修改成對應的模板,修改後的xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<process name="leave" xmlns="http://jbpm.org/4.4/jpdl">

<start g="196,25,48,48" name="start1">

<transition to="申請"/>

</start>

<task assignee="#{owner}" form="ReportServer?reportlet=request.cpt" g="172,118,92,52" name="申請">

<transition to="經理審批"/>

</task>

<task assignee="manager" form="ReportServer?reportlet=manager.cpt" g="175,217,92,52" name="經理審批">

<transition g="-32,-8" name="批准" to="exclusive1"/>

<transition g="128,221;124,165:-42,-18" name="駁回" to="申請"/>

</task>

<decision expr="#{day > 3 ? '老闆審批' : '結束'}" g="200,308,48,48" name="exclusive1">

<transition g="-39,-10" name="結束" to="end1"/>

<transition g="339,342:-71,-17" name="老闆審批" to="老闆審批"/>

</decision>

<task assignee="boss" form="ReportServer?reportlet=boss.cpt" g="294,375,92,52" name="老闆審批">

<transition g="339,457:" to="end1"/>

</task>

<end g="199,445,48,48" name="end1"/>

</process>

修改調用任務中模板的超級連結

原來的調用任務中Form的超級連結如下:

<a href="<%=task.getFormResourceName() %>?id=<%=task.getId() %>">view</a>

由於申請任務的模板時需要填報方式進行訪問的,因此我們要在對應的超級連結中加&op=write,另外由於任務執行到每個步驟的id都是不同,因此若傳遞任務ID是無法獲取數據並且由於任務的執行ID即ExecutionID是相同的,因此我們傳參的值修改為執行ID,修改後的連結如下:

<a href="<%=task.getFormResourceName() %>&op=write&id=<%=task.getExecutionId() %>">view</a>

原作者:FineReport

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場