流程管理监听事件
1、新建监听事件类 KmExampleListener 并且继承 IEventListener 重写接口方法 handleEvent
2、在spring.xml文件中注入监听事件类
<bean id="kmExampleListener " class="com.landray.kmss.km.review.listener.kmExampleListener "> <property name="sysOrgElementService" ref="sysOrgElementService"></property>
</bean>
3、在plugin.xml文件中配置监听事件
<extension point="com.landray.kmss.lbpm.engine.event"> <item name="listener"> <param name="unid" value="kmExampleListener " /> <param name="messageKey" value="测试监听事件" /> <param name="eventTypes" value="endedNodeEvent" /> <param name="listener" value="kmExampleListener " /> <param name="enforce" value="false" /> </item> </extension>
4、编写监听事件逻辑
private ISysOrgElementService sysOrgElementService;
public ISysOrgElementService getSysOrgElementService() {
return sysOrgElementService;
}
public void setSysOrgElementService(ISysOrgElementService sysOrgElementService) {
this.sysOrgElementService = sysOrgElementService;
}
@Override
public void handleEvent(EventExecutionContext context, String arg1) throws Exception {
// TODO Auto-generated method stub
IBaseModel model = context.getMainModel();
if(!(model instanceof KmReviewMain)){
return;
}
KmReviewMain kmReviewMain = (KmReviewMain) model;//获取流程实例
String fdId = kmReviewMain.getFdId();//流程ID
Map<String, Object> modelData = kmReviewMain.getExtendDataModelInfo().getModelData();
//审批状态
String confirmstate = modelData.get("fd_confirmstates") == null ? "": (String) modelData.get("fd_confirmstates");
//申请人 地址簿对象
Map<String, String> operators = (Map<String, String>) modelData.get("fd_operators");
String operators_id = operators.get("id");
String operators_name = operators.get("name");
//获取组织架构对象
SysOrgElement operators_element = (SysOrgElement) sysOrgElementService.findByPrimaryKey(operators_id);
// 明细表
List<Map<String, Object>> fd_attchMents = (List<Map<String, Object>>) modelData.get("fd_attchMents");
for (int i = 0; i < fd_attchMents.size(); i++) {
Map<String, Object> dMap = fd_attchMents.get(i);
// 批准金额
Double wa_cofm_money = (Double) dMap.get("fd_wa_cofm_money");
// 审批状态
String confirmstate_att = dMap.get("fd_confirmstate_att") == null? "" : (String) dMap.get("fd_confirmstate_att");
}
}
浙公网安备 33010602011771号