|
@@ -282,8 +282,6 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //目的库位
|
|
|
- Storge jqrStorge = storgeService.getById(robotList.get(0).getStorgeId());
|
|
|
//目标地址判断
|
|
|
// if(map.containsKey("useXbk")){
|
|
|
// //目标地址是线边库
|
|
@@ -301,26 +299,26 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
case "柔性线机器人":
|
|
|
//操作柔性线边库 具有取、移动、放三种指令
|
|
|
//取放加工设备 设备存在缓存位
|
|
|
- map = this.commandHandle(map, currStore, jqrStorge, functionName);
|
|
|
+ map = this.commandHandle(map, currStore, functionName);
|
|
|
map.put("deviceUrl", ZK_ip_rxx);
|
|
|
break;
|
|
|
case "智能单元机器人":
|
|
|
//操作智能单元线边库 具有取、移动、放三种指令
|
|
|
//取放加工设备 无缓存位处理
|
|
|
- map = this.commandHandle(map, currStore, jqrStorge, functionName);
|
|
|
+ map = this.commandHandle(map, currStore, functionName);
|
|
|
map.put("deviceUrl", ZK_ip_zndy);
|
|
|
break;
|
|
|
case "舱体类加工单元":
|
|
|
//操作舱体线边库 具有取、移动、放三种指令
|
|
|
//取放加工设备
|
|
|
- map = this.commandHandle(map, currStore, jqrStorge, functionName);
|
|
|
+ map = this.commandHandle(map, currStore, functionName);
|
|
|
break;
|
|
|
case "智能生产保障系统":
|
|
|
- map = this.commandHandle(map, currStore, jqrStorge, functionName);
|
|
|
+ map = this.commandHandle(map, currStore, functionName);
|
|
|
map.put("deviceUrl", ZK_ip_rxx);
|
|
|
break;
|
|
|
case "框体类加工单元":
|
|
|
- map = this.commandHandle(map, currStore, jqrStorge, functionName);
|
|
|
+ map = this.commandHandle(map, currStore, functionName);
|
|
|
map.put("deviceUrl", ZK_ip_rxx);
|
|
|
break;
|
|
|
}
|
|
@@ -348,11 +346,12 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
}
|
|
|
|
|
|
//机器人功能操作
|
|
|
- private Map<String, Object> commandHandle(Map<String, Object> dataMap, Storge startStore, Storge jqrStorge, String functionName){
|
|
|
+ private Map<String, Object> commandHandle(Map<String, Object> dataMap, Storge startStore, String functionName){
|
|
|
TaskNode taskNode = (TaskNode) dataMap.get("taskNode");
|
|
|
TTask task = (TTask) dataMap.get("task");
|
|
|
int count = Integer.parseInt(dataMap.get(taskNode.getId().toString() + "count") == null ? "0" : dataMap.get(taskNode.getId().toString() + "count").toString());
|
|
|
-
|
|
|
+ //目的库位
|
|
|
+ Storge jqrStorge = null;
|
|
|
//缓存位判断处理
|
|
|
if ("取".equals(functionName)) {
|
|
|
if(BizConstant.ROBOT_TYPE_CACHE.equals(zoneService.getRobotTypebyZone(zoneName))){
|
|
@@ -367,7 +366,6 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
TaskNode nextTaskNode = taskNodeService.getNextNTaskNode(taskNode, 1);
|
|
|
//目标库位,可能是
|
|
|
Map returnMap = getTargetStorge(nextTaskNode);
|
|
|
-
|
|
|
//目标地址和类型
|
|
|
Storge targetStorge = returnMap.get("store")==null?null:(Storge)returnMap.get("store");
|
|
|
String targetxbk = returnMap.get("targetxbk")==null?null:(String)returnMap.get("targetxbk");
|
|
@@ -436,7 +434,9 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
String targetxbk = returnMap.get("targetxbk")==null?null:(String)returnMap.get("targetxbk");
|
|
|
|
|
|
dataMap.put("method", "GetServoStacker");
|
|
|
- if (logical(robotList,targetStorge)!=null) {
|
|
|
+ if (logical(robotList,targetStorge)!=null) {//机器人只有一只手
|
|
|
+ jqrStorge = storgeService.getById(robotList.get(0).getStorgeId());
|
|
|
+
|
|
|
dataMap.put("fromStorge", startStore);
|
|
|
dataMap.put("Data", startStore);
|
|
|
//出入库类型
|
|
@@ -463,7 +463,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_XBK_FLAG + nextTaskNode.getId(), targetxbk, 1, TimeUnit.DAYS);
|
|
|
dataMap.put("result", true);
|
|
|
}
|
|
|
- dataMap.put("result", logical(robotList,targetStorge));
|
|
|
+ dataMap.put("result", logical(robotList,targetStorge)!=null);
|
|
|
}
|
|
|
}else if ("放".equals(functionName)) {
|
|
|
Object targetStorge = msgUtil.redis_get(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_STORE + taskNode.getId());
|
|
@@ -521,6 +521,9 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
* @return
|
|
|
*/
|
|
|
public boolean checkRobot(){
|
|
|
+ if(CollectionUtil.isEmpty(robotList)){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
if(BizConstant.ROBOT_TYPE_NOCACHE.equals(zoneService.getRobotTypebyZone(zoneName))){
|
|
|
return CollectionUtil.isNotEmpty(robotList) && robotList.size() == 1;
|
|
|
}else if(BizConstant.ROBOT_TYPE_CACHE.equals(zoneService.getRobotTypebyZone(zoneName))){//手抓必须空闲。
|