// 终止流程
IEnactmentService iEctService = EnactmentServiceFactory
.createEnactService(ctx);
ProcessInstInfo[] insts = iEctService
.getProcessInstanceByHoldedObjectId(billID);
if (insts != null && insts.length > 0) {
String procInstId = null;
for (int j = 0; j < insts.length; j++) {
if ("open.running".equals(insts[j].getState())) {
procInstId = insts[j].getProcInstId();
Boolean isAudit = (Boolean) iEctService.getProcessContext(
procInstId, "isAudit");
String WFState = (String) iEctService.getProcessContext(
procInstId, "WFState");
if ("First".equals(WFState)) {
SpecialAccountBillInfo.setBillState(StateEnum.CHECKING);
try {
iSpecialAccountBill.updatePartial(
SpecialAccountBillInfo, sicoll);
} catch (EASBizException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (BOSException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
if (isAudit == null || isAudit.booleanValue()) {
return false;
}
iEctService.abortProcessInst(insts[j].getProcInstId());
}
}
}