|
@@ -1062,11 +1062,16 @@ public class RobotNodeServiceImpl2 implements NodeOperationService {
|
|
|
List<Long> trayAndMToolClamplist = newTrayList.stream().map(t->t.getId()).collect(Collectors.toList());
|
|
|
trayAndMToolClamplist.addAll(mToolClamplist.stream().map(t->t.getId()).collect(Collectors.toList()));
|
|
|
|
|
|
- // 判断夹具是否有可用的,查询线边库位信息中是否还有夹具
|
|
|
+ // 判断夹具是否有可用的,查询线边库位信息中是否还有夹具,因为是通过匹配相同类型的托盘查询的,所以没有去除带物料的托盘
|
|
|
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<StockInfo> newAllStockInfos = stockInfoMapper.selectList(Wraps.<StockInfo>lbQ().in(StockInfo::getStorgeId,collect1).in(StockInfo::getStorgeId,startProductionresourcePositionIds).eq(StockInfo::getLockStatus, "1").orderByAsc(StockInfo::getGoodsType));
|
|
|
+
|
|
|
// 根据集合数据,比对根据零件配置的工装夹具数量是不相等
|
|
|
- Map<Long, List<StockInfo>> collect = allStockInfos.stream().collect(groupingBy(StockInfo::getStorgeId));
|
|
|
+ Map<Long, List<StockInfo>> collect = newAllStockInfos.stream().collect(groupingBy(StockInfo::getStorgeId));
|
|
|
collect.forEach((aLong, stockInfos) -> {
|
|
|
if(stockInfos.size() == trayList.size()){
|
|
|
returnList.addAll(stockInfos);
|