Просмотр исходного кода

[bug-4702] 体系运行记录盒:无法修改设备验收记录表

huangws 10 месяцев назад
Родитель
Сommit
74b50770a8

+ 31 - 2
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/service/PatchService.java

@@ -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();
@@ -108,10 +111,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) {
@@ -158,7 +166,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")