BPS的查询任务列表功能可以根据需要增加业务查询过滤条件
-
结合业务查询
BPS的查询任务列表功能可以根据需要增加业务查询过滤条件。下面从实例的角度,描述在BPS中如何增加一个业务实体的过滤条件。
1.以Oracle为例,新建数据库表SUMMARY:
CREATE TABLE SUMMARY
(
PROCESS_INST_ID NUMBER(19) NOT NULL,
TITLE VARCHAR2(100 CHAR),
CONTENT VARCHAR2(1000 CHAR),
PRIMARY KEY (PROCESS_INST_ID)
)
2.在”${BPS_HOME}\apache-tomcat-5.5.20\webapps\default\WEB-INF\ _srv\work\system\com.eos.workflow\com\eos\workflow”下新建permission.hbm和permission.xsd。 ◦example.xsd中的内容:
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>
<xs:schema xmlns=”com.eos.workflow.permission” xmlns:sdo=”commonj.sdo”
xmlns:sdoJava=”commonj.sdo/java” xmlns:xs=”https://www.w3.org/2001/XMLSchema”
targetNamespace=”com.eos.workflow.permission”>
<xs:complexType name=”Summary”>
<xs:sequence>
<xs:any/>
<xs:element name=”processInstID” type=”xs:long”/>
<xs:element name=”title” type=”xs:string”/>
<xs:element name=”content” type=”xs:string”/>
</xs:sequence>
</xs:complexType>
</xs:schema>
◦example.hbm中的内容:
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE hibernate-mapping PUBLIC “-//Hibernate/Hibernate Mapping DTD 3.0//EN”
“https://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd”>
<hibernate-mapping>
<class dynamic-insert=”true” dynamic-update=”true” entity-name=”com.eos.workflow.permission.Summary” table=”SUMMARY”>
<tuplizer class=”com.primeton.server.das.tuplizer.SDOEntityTuplizer” entity-mode=”sdo”/>
<id name=”processInstID” type=”long”>
<column name=”PROCESS_INST_ID” precision=”22″ scale=”0″ />
<generator class=”assigned” />
</id>
<property name=”title” type=”string”>
<column length=”100″ name=”TITLE” not-null=”true”/>
</property>
<property name=”content” type=”string”>
<column length=”1000″ name=”CONTENT” not-null=”true”/>
</property>
</class>
</hibernate-mapping>
3.添加好配置文件之后,在java方法中就可以调用queryPersonBizEntities4SDO方法来结合业务查询:
DataObject bizEntityFilter = DataFactory.INSTANCE.create(“com.primeton.das.criteria”,”criteriaType”);
DataObject workItemFilter = DataFactory.INSTANCE.create(“com.primeton.das.criteria”,”criteriaType”);
DataObject page = DataFactory.INSTANCE.create(“com.eos.foundation”, “PageCond”);
page.set(“begin”, 0);
page.set(“length”, 10);
page.set(“isCount”, true);
workItemFilter.set(“_entity”, “com.eos.workflow.data.WFWorkItem”);
bizEntityFilter.set(“_entity”, “com.eos.workflow.permission.Summary”);
IWFWorklistQueryManager workManager = client.getWorklistQueryManager();
DataObject[] data = workManager.queryPersonBizEntities4SDO(“tiger”,”ALL”, “ALL”, bizEntityFilter, workItemFilter, “processInstID”, page);
4.业务表SUMMARY和工作项表WFWORKITEM的PROCESSINSTID是对应的,满足匹配返回结果,具体细节请参考源码。
声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《BPS的查询任务列表功能可以根据需要增加业务查询过滤条件》
本文地址:http://www.xiupu.net/archives-7009.html
关注公众号:
微信赞赏
支付宝赞赏