Browse Source

放接驳位时没托板时主动调度托板过来测试问题修改

yejian 3 years ago
parent
commit
1b12038769

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

@@ -878,7 +878,8 @@ public class TaskWorkNode {
                     if("1".equals(beforTaskNode.getFindAgvFlag()) && null == taskNode.getTargetResourceId()){
                         findAgvFlag = "1";
                     }
-                    Map returnMap = getTargetStorge(nextTaskNode, findAgvFlag, zone,bomProcedure.getType(),bomzZone);
+                    logger.info("节点{}findAgvFlag={}",taskNode.getId(), findAgvFlag);
+                    Map returnMap = getTargetStorge(taskNode, findAgvFlag, zone,bomProcedure.getType(),bomzZone);
                     targetStorge = returnMap.get("store") == null ? null : (Storge) returnMap.get("store");
 
                     if(null != targetStorge){
@@ -1013,6 +1014,7 @@ public class TaskWorkNode {
                     if("1".equals(beforTaskNode.getFindAgvFlag()) && null == taskNode.getTargetResourceId()){
                         findAgvFlag = "1";
                     }
+                    logger.info("节点{}findAgvFlag={}",taskNode.getId(), findAgvFlag);
                     Map returnMap = getTargetStorge(taskNode, findAgvFlag, zone,bomProcedure.getType(),bomzZone);
                     targetStorge = returnMap.get("store") == null ? null : (Storge) returnMap.get("store");
 
@@ -1105,7 +1107,7 @@ public class TaskWorkNode {
             ZZone agvGoalZone = zoneService.getById(agvGoalZoneId);
             String[] jbwArr = DictionaryKey.YJ_ZONE_JBW.get(agvGoalZone.getNo()).split(",");
             List<ProductionresourcePosition> jbwBList = productionresourcePositionService.getFreeProductionresourceAgvPositionByNos(jbwArr);
-            logger.info("节点{},查询线边库轮询终点接驳位接驳位数量{}",taskNode.getId(),jbwBList);
+            logger.info("线边库逻辑节点{},查询线边库轮询终点接驳位接驳位数量{}",taskNode.getId(),jbwBList);
             if(targetStorge!=null&&CollectionUtil.isNotEmpty(jbwBList)){
 
                 ProductionresourcePosition position = null;
@@ -1121,7 +1123,7 @@ public class TaskWorkNode {
                         break;
                     }
                 }
-                logger.info("节点{},查询线边库轮询终点接驳位{}",taskNode.getId(),position);
+                logger.info("线边库逻辑节点{},查询线边库轮询终点接驳位{}",taskNode.getId(),position);
                 if(null!=position){
                     //更新到targetresourceid
 //                TaskNode nextTaskNode = taskNodeService.getNextNTaskNode(taskNode,1);
@@ -1130,7 +1132,7 @@ public class TaskWorkNode {
                     lastAgvTaskNode.setResourceId(taskNode.getTargetResourceId());
                     taskNodeService.updateById(taskNode);
                     taskNodeService.updateById(lastAgvTaskNode);
-                    logger.info("节点{},更新线边库轮询相应节点接驳位信息完成",taskNode.getId());
+                    logger.info("线边库逻辑节点{},更新线边库轮询相应节点接驳位信息完成",taskNode.getId());
                 }
 
                 returnMap.put("store",targetStorge);
@@ -1158,7 +1160,7 @@ public class TaskWorkNode {
                     }else{
                         targetList = productionresourcePositionService.getFreeProductionresourcePositionByIds(new String[] {resourceId.toString()});
                     }
-                    logger.info("节点{},查找目标设备可用信息{}",taskNode.getId(),targetList);
+                    logger.info("线边库逻辑节点{},查找目标设备可用信息{}",taskNode.getId(),targetList);
                     if(CollectionUtil.isNotEmpty(targetList)){
                         targetStorge = storgeService.getById(targetList.get(0).getStorgeId());
                         returnMap.put("store",targetStorge);
@@ -1173,6 +1175,8 @@ public class TaskWorkNode {
                     }else{//需要放到线边库
                         xbkFlag = "1";
                     }
+                }else{
+                    xbkFlag = "1";
                 }
             }
         }

+ 9 - 3
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/RobotNodeServiceImpl.java

@@ -4,6 +4,7 @@ package com.github.zuihou.business.productionResourceCenter.service.impl;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.IdUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.github.zuihou.authority.entity.core.Org;
 import com.github.zuihou.base.R;
 import com.github.zuihou.business.DemoLine.DemoCacheKey;
 import com.github.zuihou.business.DemoLine.DemoLineConstant;
@@ -378,7 +379,10 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                         // 机器人可用,判断目标地址
 
                         // 判断同一资源是否有优先级更高的任务需要执行,如果有重新进入队列
-//                        List<TaskNode> highLevelTaskNode = taskNodeService.list(Wraps.<TaskNode>lbQ().lt(TaskNode::getExpectStartTime,taskNode.getExpectStartTime()).eq(TaskNode::getExeStatus,"2").ne(TaskNode::getId,taskNode.getId()));
+//                        List<TaskNode> sameMachineTaskNodes = taskNodeService.list(Wraps.<TaskNode>lbQ().eq(TaskNode::getExeStatus,"2").ne(TaskNode::getId,taskNode.getId()).eq(TaskNode::getResourceId,taskNode.getResourceId()));
+//                        List<Long> taskIds = sameMachineTaskNodes.stream().map(TaskNode::getTaskId).collect(Collectors.toList());
+//                        List<TTask> highLevelTaskNode = tTaskMapper.selectList(Wraps.<TTask>lbQ().lt(TTask::getExpectStartTime,task.getExpectStartTime()).in(TTask::getId,taskIds));
+//                        log.info("节点{}查找是否有高于自己优先级的任务集合{}",taskNode.getId(), highLevelTaskNode.size());
 //                        if(highLevelTaskNode.size() > 0){
 //                            dataMap.put("result", false);
 //                        }else{
@@ -487,8 +491,10 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                 log.info("节点{}检查机器人资源条件返回{}",taskNode.getId(),po);
                 if (po!=null) {
 
-                    // TODO 任务优先级需要调整,存在bug
-//                    List<TaskNode> highLevelTaskNode = taskNodeService.list(Wraps.<TaskNode>lbQ().lt(TaskNode::getExpectStartTime,taskNode.getExpectStartTime()).eq(TaskNode::getExeStatus,"2").ne(TaskNode::getId,taskNode.getId()).eq(TaskNode::getProcedureId,taskNode.getProcedureId()));
+//                    List<TaskNode> sameMachineTaskNodes = taskNodeService.list(Wraps.<TaskNode>lbQ().eq(TaskNode::getExeStatus,"2").ne(TaskNode::getId,taskNode.getId()).eq(TaskNode::getResourceId,taskNode.getResourceId()));
+//                    List<Long> taskIds = sameMachineTaskNodes.stream().map(TaskNode::getTaskId).collect(Collectors.toList());
+//                    List<TTask> highLevelTaskNode = tTaskMapper.selectList(Wraps.<TTask>lbQ().lt(TTask::getExpectStartTime,task.getExpectStartTime()).in(TTask::getId,taskIds));
+//                    log.info("节点{}查找是否有高于自己优先级的任务集合{}",taskNode.getId(), highLevelTaskNode.size());
 //                    if(highLevelTaskNode.size() > 0){
 //
 //                        dataMap.put("result", false);