瀏覽代碼

修改bug

姚云青 3 年之前
父節點
當前提交
26461c133b

+ 3 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/edgeLibrary/service/impl/StorgeServiceImpl.java

@@ -261,6 +261,7 @@ public class StorgeServiceImpl extends SuperCacheServiceImpl<StorgeMapper, Storg
         Map returnMap = new HashMap();
 
         Storge storge = null;
+        String resourceId = null;
         String jbwCode = "";
         //查询接驳位库位的存放物品,验证是否放置了1个托板
         Map map = new HashMap();
@@ -301,6 +302,7 @@ public class StorgeServiceImpl extends SuperCacheServiceImpl<StorgeMapper, Storg
                 if(emptyList!=null&&emptyList.size()>0){
                     ProductionresourcePosition position = emptyList.get(0);
                     storge = baseMapper.selectById(position.getStorgeId());
+                    resourceId = position.getResourceId()==null?"":position.getResourceId().toString();
                 }
             }
             }
@@ -309,6 +311,7 @@ public class StorgeServiceImpl extends SuperCacheServiceImpl<StorgeMapper, Storg
                 returnMap.put("storge",storge);
                 storge.setResourceNo(jbwCode);
                 returnMap.put("jbwCode",jbwCode);
+                returnMap.put("resourceId",resourceId);
             }
             return returnMap;
         }

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

@@ -253,30 +253,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
 //                    List<String> meterails = agvStationMeterails.stream().map(p -> p.getGoodsType()).collect(Collectors.toList());
 //                    agvStartStationStorge = storgeService.getById(startProductionresourcePosition.getStorgeId());
 //                    // 有托板但是没有托盘认为可放
-//                    if(meterails.contains("5") &&  !meterails.contains("2") && agvStartStationStorge.getStatus().equals("1") && "1".equals(agvStartStationStorge.getLockStatus())){
-//                        startAgvStation = agvStation;
-//                        break;
-//                    }
-//                }
-//                queryParams.clear();
-//                queryParams.put("zoneId",bomZzoneId);
-//                queryParams.put("resourceName","接驳");
-//                List<Productionresource> agvEndStationsResources = productionresourceBizMapper.selectResouces(queryParams);
-//
-//                // 遍历开始接驳位判断是否有可用的接驳位
-//                for(Productionresource agvStation : agvEndStationsResources){
-//                    endProductionresourcePosition = productionresourcePositionMapper.selectOne(Wraps.<ProductionresourcePosition>lbQ().eq(ProductionresourcePosition::getResourceId, agvStation.getId()));
-//                    List<StockInfo> agvStationMeterails = stockInfoMapper.selectList(Wraps.<StockInfo>lbQ().eq(StockInfo::getStorgeId,endProductionresourcePosition.getStorgeId()));
-//                    List<String> meterails = agvStationMeterails.stream().map(p -> p.getGoodsType()).collect(Collectors.toList());
-//                    agvEndStationStorge = storgeService.getById(endProductionresourcePosition.getStorgeId());
-////                    // 有托板但是没有托盘认为可放
-////                    if(meterails.contains("5") && !meterails.contains("2") && agvEndStationStorge.getStatus().equals("1")){
-////                        endAgvStation = agvStation;
-////                        break;
-////                    }
-//
-//                    // 终点接驳位任何东西都不能有
-//                    if(meterails.size() == 0 && "1".equals(agvEndStationStorge.getLockStatus())){
+//                    if(meterails.contains("5") && !meterails.contains("2") && agvEndStationStorge.getStatus().equals("1")){
 //                        endAgvStation = agvStation;
 //                        break;
 //                    }
@@ -481,6 +458,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                 //目标地址和类型
                 Storge targetStorge = returnMap.get("store")==null?null:(Storge)returnMap.get("store");
                 String targetxbk = returnMap.get("targetxbk")==null?null:(String)returnMap.get("targetxbk");
+                Storge agvEndStationStorge = returnMap.get("agvEndStationStorge")==null?null:(Storge)returnMap.get("agvEndStationStorge");
 
                 dataMap.put("method", "GetServoStacker");
                 ProductionresourcePosition po = logical(robotList,targetStorge,flikustockInfos,taskNode);
@@ -628,16 +606,25 @@ public class RobotNodeServiceImpl implements NodeOperationService {
             //获取接驳位。
             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");
             //对面产线接驳位不为空
             String[] jbwArr = new String[]{DictionaryKey.YJ_ZONE_JBW.get(bomzZone.getName())};
             List<ProductionresourcePosition> jbwBList = productionresourcePositionService.getFreeProductionresourcePositionByNos(jbwArr);
 
             if(targetStorge!=null&&CollectionUtil.isNotEmpty(jbwBList)){
-                agvEndStationStorge =storgeService.getById(jbwBList.get(0).getStorgeId());
+                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 lastOperationTaskNode = taskNodeService.getOne(Wraps.<TaskNode>lbQ().eq(TaskNode::getTaskId,taskNode.getTaskId()).orderByDesc(TaskNode::getCompleteBatchSort).last("limit 1"));
+                nextTaskNode.setTargetResourceId(Long.parseLong(targetResourceId));
+                lastOperationTaskNode.setTargetResourceId(position.getResourceId());
+                taskNodeService.updateById(nextTaskNode);
+                taskNodeService.updateById(lastOperationTaskNode);
             }else{//需要放到线边库
                 xbkFlag = "1";
             }