Browse Source

修改bug

姚云青 3 years ago
parent
commit
354ed09b12

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

@@ -288,22 +288,26 @@ public class StorgeServiceImpl extends SuperCacheServiceImpl<StorgeMapper, Storg
             }
             //拼凑出托板列表,一起查询提高效率,避免循环查询
             if(tbList!=null&&tbList.size()>0){
-                //托板的编号和”托板生产资源“一致
-                List<String>tbIdList = tbList.stream().map(t->t.getUniqueCode().toString()).collect(Collectors.toList());
-                Map querymap = new HashMap();
-                querymap.put("codes",StringUtil.changeIdsListToSubQueryStr(tbIdList));
-                //查询托板上的库位
-                List<ProductionresourcePosition>list = productionresourcePositionMapper.getPPList(querymap);
-                //查出有库位或被占用的数据
-                //查出所有空闲的
-                List<ProductionresourcePosition>emptyList = list.stream().filter(p->"1".equals(p.getLockStatus())&&StringUtil.isEmpty(p.getCompleteBatchNo())).collect(toList());
-                Map<String, List<ProductionresourcePosition>> emptytbMap = emptyList.stream().collect(groupingBy(ProductionresourcePosition::getNo));
-
-                if(emptyList!=null&&emptyList.size()>0){
-                    ProductionresourcePosition position = emptyList.get(0);
-                    storge = baseMapper.selectById(position.getStorgeId());
-                    resourceId = position.getResourceId()==null?"":position.getResourceId().toString();
-                }
+//                //托板的编号和”托板生产资源“一致
+//                List<String>tbIdList = tbList.stream().map(t->t.getUniqueCode().toString()).collect(Collectors.toList());
+//                Map querymap = new HashMap();
+//                querymap.put("codes",StringUtil.changeIdsListToSubQueryStr(tbIdList));
+//                //查询托板上的库位
+//                List<ProductionresourcePosition>list = productionresourcePositionMapper.getPPList(querymap);
+//                //查出有库位或被占用的数据
+//                //查出所有空闲的
+//                List<ProductionresourcePosition>emptyList = list.stream().filter(p->"1".equals(p.getLockStatus())&&StringUtil.isEmpty(p.getCompleteBatchNo())).collect(toList());
+//                Map<String, List<ProductionresourcePosition>> emptytbMap = emptyList.stream().collect(groupingBy(ProductionresourcePosition::getNo));
+//
+//                if(emptyList!=null&&emptyList.size()>0){
+//                    ProductionresourcePosition position = emptyList.get(0);
+//                    storge = baseMapper.selectById(position.getStorgeId());
+//                    resourceId = position.getResourceId()==null?"":position.getResourceId().toString();
+//                }
+
+                ProductionresourcePosition position = tbList.get(0);
+                storge = baseMapper.selectById(position.getStorgeId());
+                resourceId = position.getResourceId()==null?"":position.getResourceId().toString();
             }
             }
 

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

@@ -374,7 +374,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                     }
 
                     //目标库位,可能是
-                    Map returnMap = getTargetStorge(nextTaskNode);
+                    Map returnMap = getTargetStorge(nextTaskNode,taskNode.getFindAgvFlag());
                     //目标地址和类型
                     Storge targetStorge = returnMap.get("store")==null?null:(Storge)returnMap.get("store");
                     String targetxbk = returnMap.get("targetxbk")==null?null:(String)returnMap.get("targetxbk");
@@ -448,7 +448,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                 }
             }else if (BizConstant.ROBOT_TYPE_NOCACHE.equals(zoneService.getRobotTypebyZone(zoneName))) {
                 TaskNode nextTaskNode = taskNodeService.getNextNTaskNode(taskNode, 1);
-                Map returnMap = getTargetStorge(nextTaskNode);
+                Map returnMap = getTargetStorge(nextTaskNode,taskNode.getFindAgvFlag());
 
                 //获取当前位置
                 if(CollectionUtil.isNotEmpty(flikustockInfos)){//
@@ -595,20 +595,20 @@ public class RobotNodeServiceImpl implements NodeOperationService {
 
 
 
-    public Map getTargetStorge(TaskNode taskNode){
+    public Map getTargetStorge(TaskNode taskNode,String findAgvFlag){
         Map returnMap = new HashMap();
         Storge targetStorge = null;
         Storge agvEndStationStorge = null;
         Long resourceId = taskNode.getTargetResourceId();
         String xbkFlag = "";
 
-        if("1".equals(taskNode.getFindAgvFlag())){//需要提前锁定下个接驳位
+        if("1".equals(findAgvFlag)){//需要提前锁定下个接驳位
             //获取接驳位。
             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())};
+            String[] jbwArr = DictionaryKey.YJ_ZONE_JBW.get(bomzZone.getName()).split(",");
             List<ProductionresourcePosition> jbwBList = productionresourcePositionService.getFreeProductionresourcePositionByNos(jbwArr);
 
             if(targetStorge!=null&&CollectionUtil.isNotEmpty(jbwBList)){
@@ -619,11 +619,11 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                 returnMap.put("targetxbk","0");
 
                 //更新到targetresourceid
-                TaskNode nextTaskNode = taskNodeService.getNextNTaskNode(taskNode,1);
+//                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));
+                taskNode.setTargetResourceId(Long.parseLong(targetResourceId));
                 lastOperationTaskNode.setTargetResourceId(position.getResourceId());
-                taskNodeService.updateById(nextTaskNode);
+                taskNodeService.updateById(taskNode);
                 taskNodeService.updateById(lastOperationTaskNode);
             }else{//需要放到线边库
                 xbkFlag = "1";