|
@@ -530,22 +530,22 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
|
|
|
if("1".equals(findAgvFlag)){//需要提前锁定下个接驳位
|
|
|
|
|
|
- TaskNode lastOperationTaskNode = taskNodeService.getOne(Wraps.<TaskNode>lbQ().eq(TaskNode::getTaskId,taskNode.getTaskId()).orderByDesc(TaskNode::getCompleteBatchSort).last("limit 1"));
|
|
|
-
|
|
|
+ // begin modify by yejian on 20220513 for agv动态查找满足抽检一个工序需多次调度agv问题
|
|
|
+ // 先找到处理节点下一节点agv起点地址
|
|
|
+ TaskNode lastAgvTaskNode = taskNodeService.getNextNTaskNode(taskNode,1);;
|
|
|
//获取接驳位。
|
|
|
Map map = storgeService.getPlateStorgeByNo(zZone);
|
|
|
targetStorge = map.get("storge") ==null?null:(Storge)map.get("storge");
|
|
|
String targetResourceId = map.get("resourceId") ==null?null:(String)map.get("resourceId");
|
|
|
- //对面产线接驳位不为空
|
|
|
- TaskNode nextOperationFirstTaskNode = taskNodeService.getNextNTaskNode(lastOperationTaskNode,1);
|
|
|
- ZZoneProductionresource zoneProductionresource = zZoneProductionresourceMapper.selectOne(Wraps.<ZZoneProductionresource>lbQ().eq(ZZoneProductionresource::getResourceId,nextOperationFirstTaskNode.getResourceId()));
|
|
|
+ // 在向下找agv终点位子
|
|
|
+ // 下一个节点机器人所属产线
|
|
|
+ TaskNode afterLastAgvTaskNode = taskNodeService.getNextNTaskNode(lastAgvTaskNode,1);
|
|
|
+ ZZoneProductionresource zoneProductionresource = zZoneProductionresourceMapper.selectOne(Wraps.<ZZoneProductionresource>lbQ().eq(ZZoneProductionresource::getResourceId,afterLastAgvTaskNode.getResourceId()));
|
|
|
//获取产线ID
|
|
|
zoneId = zoneProductionresource.getZoneId();
|
|
|
zZone = zoneService.getById(zoneId);
|
|
|
-
|
|
|
String[] jbwArr = DictionaryKey.YJ_ZONE_JBW.get(zZone.getName()).split(",");
|
|
|
List<ProductionresourcePosition> jbwBList = productionresourcePositionService.getFreeProductionresourcePositionByNos(jbwArr);
|
|
|
-
|
|
|
if(targetStorge!=null&&CollectionUtil.isNotEmpty(jbwBList)){
|
|
|
ProductionresourcePosition position = jbwBList.get(0);
|
|
|
agvEndStationStorge =storgeService.getById(position.getStorgeId());
|
|
@@ -556,13 +556,48 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
//更新到targetresourceid
|
|
|
// TaskNode nextTaskNode = taskNodeService.getNextNTaskNode(taskNode,1);
|
|
|
taskNode.setTargetResourceId(Long.parseLong(targetResourceId));
|
|
|
- lastOperationTaskNode.setTargetResourceId(position.getResourceId());
|
|
|
- lastOperationTaskNode.setResourceId(taskNode.getTargetResourceId());
|
|
|
+ lastAgvTaskNode.setTargetResourceId(position.getResourceId());
|
|
|
+ lastAgvTaskNode.setResourceId(taskNode.getTargetResourceId());
|
|
|
taskNodeService.updateById(taskNode);
|
|
|
- taskNodeService.updateById(lastOperationTaskNode);
|
|
|
+ taskNodeService.updateById(lastAgvTaskNode);
|
|
|
}else{//需要放到线边库
|
|
|
xbkFlag = "1";
|
|
|
}
|
|
|
+
|
|
|
+ // end modify by yejian on 20220513 for agv动态查找满足抽检一个工序需多次调度agv问题
|
|
|
+// TaskNode lastOperationTaskNode = taskNodeService.getOne(Wraps.<TaskNode>lbQ().eq(TaskNode::getTaskId,taskNode.getTaskId()).orderByDesc(TaskNode::getCompleteBatchSort).last("limit 1"));
|
|
|
+
|
|
|
+// //获取接驳位。
|
|
|
+// Map map = storgeService.getPlateStorgeByNo(zZone);
|
|
|
+// targetStorge = map.get("storge") ==null?null:(Storge)map.get("storge");
|
|
|
+// String targetResourceId = map.get("resourceId") ==null?null:(String)map.get("resourceId");
|
|
|
+// //对面产线接驳位不为空
|
|
|
+// TaskNode nextOperationFirstTaskNode = taskNodeService.getNextNTaskNode(lastOperationTaskNode,1);
|
|
|
+// ZZoneProductionresource zoneProductionresource = zZoneProductionresourceMapper.selectOne(Wraps.<ZZoneProductionresource>lbQ().eq(ZZoneProductionresource::getResourceId,nextOperationFirstTaskNode.getResourceId()));
|
|
|
+// //获取产线ID
|
|
|
+// zoneId = zoneProductionresource.getZoneId();
|
|
|
+// zZone = zoneService.getById(zoneId);
|
|
|
+//
|
|
|
+// String[] jbwArr = DictionaryKey.YJ_ZONE_JBW.get(zZone.getName()).split(",");
|
|
|
+// List<ProductionresourcePosition> jbwBList = productionresourcePositionService.getFreeProductionresourcePositionByNos(jbwArr);
|
|
|
+//
|
|
|
+// if(targetStorge!=null&&CollectionUtil.isNotEmpty(jbwBList)){
|
|
|
+// ProductionresourcePosition position = jbwBList.get(0);
|
|
|
+// agvEndStationStorge =storgeService.getById(position.getStorgeId());
|
|
|
+//
|
|
|
+// returnMap.put("store",targetStorge);
|
|
|
+// returnMap.put("targetxbk","0");
|
|
|
+//
|
|
|
+// //更新到targetresourceid
|
|
|
+//// TaskNode nextTaskNode = taskNodeService.getNextNTaskNode(taskNode,1);
|
|
|
+// taskNode.setTargetResourceId(Long.parseLong(targetResourceId));
|
|
|
+// lastOperationTaskNode.setTargetResourceId(position.getResourceId());
|
|
|
+// lastOperationTaskNode.setResourceId(taskNode.getTargetResourceId());
|
|
|
+// taskNodeService.updateById(taskNode);
|
|
|
+// taskNodeService.updateById(lastOperationTaskNode);
|
|
|
+// }else{//需要放到线边库
|
|
|
+// xbkFlag = "1";
|
|
|
+// }
|
|
|
}else {
|
|
|
//
|
|
|
if(bomProcedureType.equals("下料")){
|