Quellcode durchsuchen

修改一个节点需要多次调用指令时多次切换更新进行中

yejian016332 vor 2 Jahren
Ursprung
Commit
18fd66e031

+ 4 - 2
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/mq/TaskWorkNode.java

@@ -283,8 +283,10 @@ public class TaskWorkNode {
                 msgUtil.redis_set(CacheKey.TASK_CURRENT_NODE + "_" + taskNode.getResourceId(), resourceAutoCode);
 
                 //更新节点任务
-                taskNode.setExeStatus("2").setStartTime(new Date());
-                taskNodeMapper.updateAllById(taskNode);
+                if("1".equals(taskNode.getExeStatus())){
+                    taskNode.setExeStatus("2").setStartTime(new Date());
+                    taskNodeMapper.updateAllById(taskNode);
+                }
 
                 if ("04".equals(taskNode.getInterfaceType())) {
                     //人工上下料或质检

+ 35 - 3
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskNodeServiceImpl.java

@@ -1456,11 +1456,43 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
             }
 
             //更新节点任务
-            taskNode.setExeStatus("3").setExeResult("1").setEndTime(new Date());
-            if(null != callBackJson.getString("updateUser")){
-                taskNode.setLoadingUserId(Long.valueOf(callBackJson.getString("updateUser")));
+
+            if(callBackJson.containsKey(YunjianConstant.YUNJIAN_XBKFLAG)){//临时存放到了线边库,向虚拟线边库发一个MQ。
+                int count =  callBackJson.getString(taskNode.getId().toString()+"count")==null?-1:Integer.parseInt(callBackJson.getString(taskNode.getId().toString()+"count"));
+                int limit =5;
+                if(!callBackJson.containsKey(YunjianConstant.YUNJIAN_ROBORT_CACHE_FLAG)) {
+                    limit =1;
+                }
+
+                if(count == limit){//
+                    taskNode.setExeStatus("3").setExeResult("1").setEndTime(new Date());
+                    if(null != callBackJson.getString("updateUser")){
+                        taskNode.setLoadingUserId(Long.valueOf(callBackJson.getString("updateUser")));
+                    }
+                }
+            }else{
+                if(callBackJson.containsKey(YunjianConstant.YUNJIAN_ROBORT_CACHE_FLAG)){//带缓存位机器人的多步骤执行
+                    int count =  callBackJson.getString(taskNode.getId().toString()+"count")==null?0:Integer.parseInt(callBackJson.getString(taskNode.getId().toString()+"count"));
+                    int limit =2;
+                    if(count == limit){//
+                        taskNode.setExeStatus("3").setExeResult("1").setEndTime(new Date());
+                        if(null != callBackJson.getString("updateUser")){
+                            taskNode.setLoadingUserId(Long.valueOf(callBackJson.getString("updateUser")));
+                        }
+                    }
+                }else{
+                    taskNode.setExeStatus("3").setExeResult("1").setEndTime(new Date());
+                    if(null != callBackJson.getString("updateUser")){
+                        taskNode.setLoadingUserId(Long.valueOf(callBackJson.getString("updateUser")));
+                    }
+                }
             }
 
+//            taskNode.setExeStatus("3").setExeResult("1").setEndTime(new Date());
+//            if(null != callBackJson.getString("updateUser")){
+//                taskNode.setLoadingUserId(Long.valueOf(callBackJson.getString("updateUser")));
+//            }
+
             updateAllById(taskNode);
 
             //把当前完成的节点放入缓存,用于推送任务完成的百分比