|
|
@@ -414,6 +414,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_STORE + nextTaskNode.getId(), targetStorge, 1, TimeUnit.DAYS);
|
|
|
|
|
|
//目标是线边库
|
|
|
+ msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_XBK_FLAG + taskNode.getId(), targetxbk, 1, TimeUnit.DAYS);
|
|
|
msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_XBK_FLAG + nextTaskNode.getId(), targetxbk, 1, TimeUnit.DAYS);
|
|
|
|
|
|
//满足条件--机器人空闲,设备或线边库有一个空闲
|
|
|
@@ -536,6 +537,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_STORE + nextTaskNode.getId(), targetStorge, 1, TimeUnit.DAYS);
|
|
|
|
|
|
//目标是线边库
|
|
|
+ msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_XBK_FLAG + taskNode.getId(), targetxbk, 1, TimeUnit.DAYS);
|
|
|
msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_XBK_FLAG + nextTaskNode.getId(), targetxbk, 1, TimeUnit.DAYS);
|
|
|
dataMap.put("result", true);
|
|
|
|
|
|
@@ -669,7 +671,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
|
|
|
TaskNode lastAgvTaskNode = taskNodeService.getNextNTaskNode(taskNode,1);;
|
|
|
//获取接驳位。agvEndStationStorge
|
|
|
- Map map = storgeService.getPlateStorgeByNo(zZone);
|
|
|
+ Map map = storgeService.getPlateStorgeByNo(zZone,bomzZone);
|
|
|
|
|
|
String startAgvStationCode = map.get("jbwCode") ==null?null:map.get("jbwCode").toString();
|
|
|
targetStorge = map.get("storge") ==null?null:(Storge)map.get("storge");
|
|
|
@@ -681,7 +683,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
//获取产线ID
|
|
|
Long agvGoalZoneId = zoneProductionresource.getZoneId();
|
|
|
ZZone agvGoalZone = zoneService.getById(agvGoalZoneId);
|
|
|
- String[] jbwArr = DictionaryKey.YJ_ZONE_JBW.get(agvGoalZone.getName()).split(",");
|
|
|
+ String[] jbwArr = DictionaryKey.YJ_ZONE_JBW.get(agvGoalZone.getNo()).split(",");
|
|
|
List<ProductionresourcePosition> jbwBList = productionresourcePositionService.getFreeProductionresourceAgvPositionByNos(jbwArr);
|
|
|
// log.info("节点{},查询终点接驳位接驳位数量{}",taskNode.getId(),jbwBList);
|
|
|
if(targetStorge!=null&&CollectionUtil.isNotEmpty(jbwBList)){
|
|
|
@@ -715,7 +717,8 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
returnMap.put("store",targetStorge);
|
|
|
returnMap.put("targetxbk","0");
|
|
|
|
|
|
- }else{//需要放到线边库
|
|
|
+ }else{
|
|
|
+ //需要放到线边库
|
|
|
// begin add by yejian on 20220802 for 调度空托盘流转
|
|
|
String tempAgvTaskStartPoint = map.get("tempAgvTaskStartPoint") == null?null:(String)map.get("tempAgvTaskStartPoint");
|
|
|
String tempAgvTaskEndPoint = map.get("tempAgvTaskEndPoint") == null?null:(String)map.get("tempAgvTaskEndPoint");
|
|
|
@@ -724,18 +727,17 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
if(StringUtils.isNotBlank(tempAgvTaskStartPoint) && StringUtils.isNotBlank(tempAgvTaskEndPoint)){
|
|
|
// 锁定起点终点接驳位
|
|
|
Map agvData = new HashMap();
|
|
|
- String agvTaskNodeId = UniqueKeyGenerator.getUniqueKeyStartWithTimestamp(17);
|
|
|
agvData.put("start", tempAgvTaskStartPoint);
|
|
|
agvData.put("goal", tempAgvTaskEndPoint);
|
|
|
- agvData.put("taskId", agvTaskNodeId);
|
|
|
- agvData.put("taskNodeId", agvTaskNodeId );
|
|
|
+ agvData.put("taskId", taskNode.getTaskId());
|
|
|
+ agvData.put("taskNodeId", taskNode.getId());
|
|
|
// 0:节点自动调度 1:节点资源不可用人工调度
|
|
|
agvData.put("agvTaskType", "1");
|
|
|
JSONObject agvParam = new JSONObject();
|
|
|
agvParam.putAll(agvData);
|
|
|
String zoneType = (null == msgUtil.redis_get(ParameterKey.PARAMETERS)? "": ((Map<String,String>)msgUtil.redis_get(ParameterKey.PARAMETERS)).get(ParameterKey.ZONE_TYPE).toString());
|
|
|
- storgeService.lockStorge(tempAgvTaskStartPointStorge, Long.valueOf(agvTaskNodeId));
|
|
|
- storgeService.lockStorge(tempAgvTaskEndPointStorge, Long.valueOf(agvTaskNodeId));
|
|
|
+ storgeService.lockStorge(tempAgvTaskStartPointStorge, Long.valueOf(taskNode.getId()));
|
|
|
+ storgeService.lockStorge(tempAgvTaskEndPointStorge, Long.valueOf(taskNode.getId()));
|
|
|
if(zoneType.equals(ParameterKey.ZONE_SFX)){
|
|
|
agvData.put("transferType","agv");
|
|
|
R addAgvTask = externalApiService.processTransferJob(agvData);
|