|
|
@@ -91,6 +91,8 @@ public class WeaverOAMessageUtils {
|
|
|
WeaverOAApprovalInstanceTaskListInfo instanceTaskListInfo = taskList.get(i);
|
|
|
instanceTaskListInfo.setViewtype(ViewTypeEnum.READ);
|
|
|
instanceTaskListInfo.setIsremark(IsRemarkEnum.COMPLETED);
|
|
|
+ //流程结束,需要将所有节点更新为归档
|
|
|
+ instanceTaskListInfo.setNodename("归档");
|
|
|
}
|
|
|
//保存
|
|
|
iWeaverOAApprovalInstance.save(instanceInfo);
|
|
|
@@ -288,12 +290,14 @@ public class WeaverOAMessageUtils {
|
|
|
WeaverOAApprovalInstanceTaskListInfo instanceTaskListInfo = taskList.get(i);
|
|
|
//流程处理状态
|
|
|
IsRemarkEnum isremark = instanceTaskListInfo.getIsremark();
|
|
|
- if (IsRemarkEnum.TODO.equals(isremark)) {
|
|
|
+ if (!IsRemarkEnum.COMPLETED.equals(isremark)) {
|
|
|
//流程任务处理状态设置为办结
|
|
|
instanceTaskListInfo.setIsremark(IsRemarkEnum.COMPLETED);
|
|
|
//流程查看状态 设置为已读
|
|
|
instanceTaskListInfo.setViewtype(ViewTypeEnum.READ);
|
|
|
}
|
|
|
+ //流程结束,需要将所有节点更新为归档
|
|
|
+ instanceTaskListInfo.setNodename("归档");
|
|
|
}
|
|
|
//流程状态更新为 审批人撤销
|
|
|
instanceInfo.setInstanceStatus(InstanceStatusEnum.CANCELED);
|
|
|
@@ -368,7 +372,7 @@ public class WeaverOAMessageUtils {
|
|
|
iWeaverOAApprovalInstance.save(instanceInfo);
|
|
|
} catch (SQLAccessException e) {
|
|
|
logger.error("addApproveMessage 保存审批实例报错: {}", e.getMessage(), e);
|
|
|
- if (!e.getMessage().contains("IX_CT_FEI_FeishuApprovalInstance")) {
|
|
|
+ if (!e.getMessage().contains("IX_CT_WEA_WeaverOAAI")) {
|
|
|
throw e;
|
|
|
}
|
|
|
//并发场景下 实例id重复,说明已经存在实例数据.
|
|
|
@@ -386,8 +390,23 @@ public class WeaverOAMessageUtils {
|
|
|
//审批实例
|
|
|
instanceInfo = instanceCol.get(0);
|
|
|
}
|
|
|
+ //当前节点
|
|
|
+ String actName = message.getActName();
|
|
|
//保存任务列表
|
|
|
IWeaverOAApprovalInstanceTaskList iWeaverOAApprovalInstanceTaskList = WeaverOAApprovalInstanceTaskListFactory.getLocalInstance(ctx);
|
|
|
+ WeaverOAApprovalInstanceTaskListCollection weaverOAApprovalInstanceTaskList = iWeaverOAApprovalInstanceTaskList.getWeaverOAApprovalInstanceTaskListCollection(
|
|
|
+ "where parent.id='" + instanceInfo.getId() + "' and nodename <> '" + actName + "'"
|
|
|
+ );
|
|
|
+ if (!weaverOAApprovalInstanceTaskList.isEmpty()) {
|
|
|
+ SelectorItemCollection updateSic = new SelectorItemCollection();
|
|
|
+ updateSic.add("nodename");
|
|
|
+ for (int i = 0; i < weaverOAApprovalInstanceTaskList.size(); i++) {
|
|
|
+ WeaverOAApprovalInstanceTaskListInfo weaverOAApprovalInstanceTaskListInfo = weaverOAApprovalInstanceTaskList.get(i);
|
|
|
+ weaverOAApprovalInstanceTaskListInfo.setNodename(actName);
|
|
|
+ //更新现有节点的节点名称
|
|
|
+ iWeaverOAApprovalInstanceTaskList.updatePartial(weaverOAApprovalInstanceTaskListInfo, updateSic);
|
|
|
+ }
|
|
|
+ }
|
|
|
WeaverOAApprovalInstanceTaskListInfo task = createTask(ctx, message, pcLink, mobileLink);
|
|
|
task.setParent(instanceInfo);
|
|
|
iWeaverOAApprovalInstanceTaskList.save(task);
|