|
@@ -355,12 +355,13 @@ public class CacheRobotStrategy implements RobotStrategy {
|
|
|
|
|
|
Map returnMap = this.robotTarget(taskNode, robotInfo, xbkList, bomProcedure, dataMap);
|
|
|
//线边库处理
|
|
|
+ Storge startStore = workpieceService.getWorkPieceStock(taskNode.getCompleteBatchNo(), false);
|
|
|
Storge targetStorge = !returnMap.containsKey("store") ? null : (Storge) returnMap.get("store");
|
|
|
Long targetStorgeResourceId = !returnMap.containsKey("storeResourceId") ? null : Long.valueOf(returnMap.get("storeResourceId").toString());
|
|
|
String targetXbk = !returnMap.containsKey("targetxbk") ? null : returnMap.get("targetxbk").toString();
|
|
|
String xbkCount = dataMap.containsKey(taskNode.getId()+"count")? dataMap.get(taskNode.getId()+"count").toString(): null;
|
|
|
//线边库移动判断暂存位是否有空余位置
|
|
|
- if(targetXbk.equals("0") && robotList.size() == 1){
|
|
|
+ if(targetXbk.equals("0") && robotList.size() == 1 && !startStore.getPointId().contains("MERK")){
|
|
|
dataMap.put("result", false);
|
|
|
dataMap.put("resultMsg", "条件判断不通过,暂存位无空闲位置,节点名字"+ taskNode.getNodeName()+"节点id:"+taskNode.getId());
|
|
|
return dataMap;
|
|
@@ -376,6 +377,12 @@ public class CacheRobotStrategy implements RobotStrategy {
|
|
|
return dataMap;
|
|
|
}
|
|
|
//线边库位置条件不满足
|
|
|
+ //当前库位不在暂存位上,在线边库上
|
|
|
+ if(!startStore.getPointId().contains("MERK")){
|
|
|
+ dataMap.put("result", false);
|
|
|
+ dataMap.put("resultMsg", "条件判断不通过,线边库临时暂存位被占用,节点名字"+ taskNode.getNodeName()+"节点id:"+taskNode.getId());
|
|
|
+ return dataMap;
|
|
|
+ }
|
|
|
|
|
|
//暂存位优先级低的节点目标位线边库模式,当暂存位上只有一块工装时将优先级低调整成优先级高
|
|
|
Object jqrHcwPartPriotyExec = (null == msgUtil.redis_get(DemoLineConstant.JQR_HCW_PART_PRIOTY_EXEC_FLAG + taskNode.getId())) ? null : msgUtil.redis_get(DemoLineConstant.JQR_HCW_PART_PRIOTY_EXEC_FLAG + taskNode.getId());
|
|
@@ -387,7 +394,6 @@ public class CacheRobotStrategy implements RobotStrategy {
|
|
|
return dataMap;
|
|
|
}
|
|
|
}
|
|
|
- Storge startStore = workpieceService.getWorkPieceStock(taskNode.getCompleteBatchNo(), false);
|
|
|
List<ProductionresourcePosition> robotXbkList = productionresourcePositionService.getFreeProductionresourcePositionByIds(new String[]{taskNode.getResourceId().toString()});
|
|
|
Map putMap = this.robotPut(returnMap, taskNode, startStore, targetStorge, robotXbkList, targetXbk, targetStorgeResourceId);
|
|
|
return putMap;
|
|
@@ -445,12 +451,12 @@ public class CacheRobotStrategy implements RobotStrategy {
|
|
|
} else {
|
|
|
// begin modify by yejian on 20220515 for 下料库位问题修改
|
|
|
TaskNode beforTaskNode = taskNodeService.getNextNTaskNode(taskNode, -1);
|
|
|
- TaskNode baitingTaskNode = taskNodeService.getNextNTaskNode(beforTaskNode, -1);
|
|
|
+ //TaskNode baitingTaskNode = taskNodeService.getNextNTaskNode(beforTaskNode, -1);
|
|
|
String bomProcedureType = bomProcedure.getType();
|
|
|
- boolean condition = bomProcedureType.equals("下料") && "04".equals(baitingTaskNode.getInterfaceType());
|
|
|
+ boolean condition = bomProcedureType.contains("下料") && "04".equals(beforTaskNode.getInterfaceType()) && "4".equals(taskNode.getNodeType());
|
|
|
//翻面工装下料,节点特殊处理
|
|
|
- boolean nodeCondition = "4".equals(beforTaskNode.getNodeType()) && bomProcedureType.indexOf("上料") > 0 && taskNode.getNodeName().indexOf("立库") > 0;
|
|
|
- if (condition || nodeCondition) {
|
|
|
+ //boolean nodeCondition = "4".equals(beforTaskNode.getNodeType()) && bomProcedureType.indexOf("上料") > 0 && taskNode.getNodeName().indexOf("立库") > 0;
|
|
|
+ if (condition) {
|
|
|
// 下料特殊处理,动态查找可用立库位子存放下料后的子盘夹具
|
|
|
//处理限高工装下料
|
|
|
long storgeId = storgeService.isHeightLimit(taskNode.getCompleteBatchNo()) ? storgeService.getLikuHeightLimitStock() : storgeService.getLikuStockInList();
|