|
|
@@ -94,9 +94,12 @@ public class PatchService {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
private void updateBpmApprovePo(List<BpmApprovePo> approvals){
|
|
|
Date t = null;
|
|
|
String id = null;
|
|
|
+ String TkID1 = null;
|
|
|
+ String TkID2 = null;
|
|
|
approvals.sort(Comparator.comparing(BpmApproveTbl::getId));
|
|
|
for (BpmApprovePo po :approvals) {
|
|
|
id = po.getProcInstId();
|
|
|
@@ -109,10 +112,15 @@ public class PatchService {
|
|
|
}
|
|
|
if(t == null) {
|
|
|
t = po.getCompleteTime();
|
|
|
+ TkID1 = po.getTaskId();
|
|
|
}else if(t.after(po.getCompleteTime())){
|
|
|
- throw new RuntimeException("完成时间不匹配,请重新检查");
|
|
|
+ TkID2 = po.getTaskId();
|
|
|
+ if(!isMutiTask(TkID1,TkID2)){
|
|
|
+ throw new RuntimeException("完成时间不匹配,请重新检查");
|
|
|
+ }
|
|
|
}else{
|
|
|
t = po.getCompleteTime();
|
|
|
+ TkID1 = po.getTaskId();
|
|
|
}
|
|
|
}
|
|
|
for (BpmApprovePo po :approvals) {
|
|
|
@@ -127,7 +135,28 @@ public class PatchService {
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ /**
|
|
|
+ *日期:20250605 by huangws
|
|
|
+ * 根据任务ID判断是否为同一节点任务,true表示是,false表示不是
|
|
|
+ */
|
|
|
+ public boolean isMutiTask(String TaskID1, String TaskID2){
|
|
|
+ boolean retval = true;
|
|
|
+ if(StringUtils.isBlank(TaskID1) || StringUtils.isBlank(TaskID2)){
|
|
|
+ logger.warn("function:isMutiTask--TaskID1:"+TaskID1+",TaskID2:"+TaskID2);
|
|
|
+ throw new RuntimeException("任务ID为空");
|
|
|
+ }
|
|
|
+ String sqlStr = "select * from IBPS_BPM_EXEC where TASK_ID_ in ('"+TaskID1+"','"+TaskID2+"')";
|
|
|
+ List<Map<String, Object>> list = (List<Map<String, Object>>) commonDao.query(sqlStr);
|
|
|
+ if (BeanUtils.isNotEmpty(list)) {
|
|
|
+ for (Map<String, Object> map : list) {
|
|
|
+ String isMutiTask = map.get("IS_MULITI_TASK_").toString();
|
|
|
+ if(Objects.equals(isMutiTask, "0")){
|
|
|
+ retval = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return retval;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
@Async(value = "addAllApiExecutor")
|