|
@@ -1061,11 +1061,17 @@ public class RobotNodeServiceImpl2 implements NodeOperationService {
|
|
|
|
|
|
// 判断夹具是否有可用的,查询线边库位信息中是否还有夹具,因为是通过匹配相同类型的托盘查询的,所以没有去除带物料的托盘
|
|
|
List<StockInfo> allStockInfos = stockInfoMapper.selectList(Wraps.<StockInfo>lbQ().in(StockInfo::getGoodsId,trayAndMToolClamplist).in(StockInfo::getStorgeId,startProductionresourcePositionIds).eq(StockInfo::getLockStatus, "1").orderByAsc(StockInfo::getGoodsType));
|
|
|
-
|
|
|
List<Long> collect1 = allStockInfos.stream().map(StockInfo::getStorgeId).distinct().collect(toList());
|
|
|
|
|
|
+ // 根据库位id查询有多少没有锁的库位信息
|
|
|
+ List<Storge> list = storgeService.list(Wraps.<Storge>lbQ().in(Storge::getId, collect1).eq(Storge::getLockStatus,"1"));
|
|
|
+ if(list.isEmpty()){
|
|
|
+ return returnList;
|
|
|
+ }
|
|
|
+ List<Long> list1 = list.stream().map(Storge::getId).distinct().collect(toList());
|
|
|
+
|
|
|
// 根据库位ID 查询这个库位下最终有多少条数据,
|
|
|
- List<StockInfo> newAllStockInfos = stockInfoMapper.selectList(Wraps.<StockInfo>lbQ().in(StockInfo::getStorgeId,collect1).in(StockInfo::getStorgeId,startProductionresourcePositionIds).eq(StockInfo::getLockStatus, "1").orderByAsc(StockInfo::getGoodsType));
|
|
|
+ List<StockInfo> newAllStockInfos = stockInfoMapper.selectList(Wraps.<StockInfo>lbQ().in(StockInfo::getStorgeId,list1).in(StockInfo::getStorgeId,startProductionresourcePositionIds).eq(StockInfo::getLockStatus, "1").orderByAsc(StockInfo::getGoodsType));
|
|
|
|
|
|
// 根据集合数据,比对根据零件配置的工装夹具数量是不相等
|
|
|
Map<Long, List<StockInfo>> collect = newAllStockInfos.stream().collect(groupingBy(StockInfo::getStorgeId));
|