|
@@ -622,8 +622,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
if(targetStorge!=null&&CollectionUtil.isNotEmpty(jbwBList)){
|
|
|
ProductionresourcePosition position = null;
|
|
|
for(ProductionresourcePosition productionresourcePosition : jbwBList){
|
|
|
-
|
|
|
- String zoneType = (null == msgUtil.redis_get(ParameterKey.ZONE_TYPE)? "": ((Map<String,String>)msgUtil.redis_get(ParameterKey.ZONE_TYPE)).toString());
|
|
|
+ String zoneType = (null == msgUtil.redis_get(ParameterKey.PARAMETERS)? "": ((Map<String,String>)msgUtil.redis_get(ParameterKey.PARAMETERS)).get(ParameterKey.ZONE_TYPE).toString());
|
|
|
if(zoneType.equals(ParameterKey.ZONE_SFX)){
|
|
|
if(productionresourcePosition.getCode().equals(DictionaryKey.SFX_JBW_RELATION.get(startAgvStationCode))){
|
|
|
position = productionresourcePosition;
|
|
@@ -784,7 +783,8 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
* @return
|
|
|
*/
|
|
|
private List<StockInfo>getLikuStockList(TTask task){
|
|
|
- List <StockInfo> returnList = null;
|
|
|
+ List<StockInfo> returnList = null;
|
|
|
+ List<StockInfo> oneTray = null;
|
|
|
|
|
|
List<Productionresource> productionresources = productionresourceBizMapper.selectList(Wraps.<Productionresource>lbQ().like(Productionresource::getCode,DictionaryKey.YJ_ZONE_XBK.get("plateAndClamp")));
|
|
|
List<Long> productionresourceIds = productionresources.stream().map(t->t.getId()).collect(Collectors.toList());
|
|
@@ -794,6 +794,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
List<BomProcedureTray>trayList = procedureTrayService.list(Wraps.<BomProcedureTray>lbQ().in(BomProcedureTray::getProcedureId, task.getProcedureId()));
|
|
|
List<Long>trayIdList = trayList.stream().map(t->t.getTrayId()).collect(Collectors.toList());
|
|
|
// 判断夹具是否有可用的,查询330个库位信息中是否还有夹具
|
|
|
+
|
|
|
List<StockInfo> allStockList = stockInfoMapper.selectList(Wraps.<StockInfo>lbQ().in(StockInfo::getGoodsId,trayIdList).in(StockInfo::getStorgeId,startProductionresourcePositionIds).orderByAsc(StockInfo::getStorgeId));
|
|
|
if(CollectionUtil.isNotEmpty(allStockList)){
|
|
|
Map<Long,List<StockInfo>>map = allStockList.stream().collect(groupingBy(StockInfo::getStorgeId));
|
|
@@ -802,14 +803,25 @@ public class RobotNodeServiceImpl implements NodeOperationService {
|
|
|
k = key;
|
|
|
//优先有托盘夹具的
|
|
|
List<StockInfo> stockInfoList = map.get(key);
|
|
|
- if(stockInfoList!=null&&stockInfoList.size()==2){
|
|
|
- returnList = stockInfoList;
|
|
|
- break;
|
|
|
+ if(stockInfoList!=null&&stockInfoList.size()==2 ){
|
|
|
+
|
|
|
+ // mofify by yejian on 20220722 for 初始化判断是否有子盘可用先判断去除上料完成后的工件在线边库暂存的问题,解决示范线问题,云箭子盘从立库拿不存在这个问题
|
|
|
+ // 判断除了子盘夹具外是否还有工件在上面
|
|
|
+ List<StockInfo> allStockInfos = stockInfoMapper.selectList(Wraps.<StockInfo>lbQ().in(StockInfo::getStorgeId,stockInfoList.get(0).getStorgeId()).orderByAsc(StockInfo::getStorgeId));
|
|
|
+ if(allStockInfos.size() == 2){
|
|
|
+ returnList = stockInfoList;
|
|
|
+ break;
|
|
|
+ }else if(allStockInfos.size() == 1){
|
|
|
+ if(CollectionUtil.isEmpty(oneTray)){
|
|
|
+ oneTray = stockInfoList;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ // mofify by yejian on 20220722 for 修改只有一个子盘的出库
|
|
|
//只有托盘的
|
|
|
- if(returnList==null){//取齐总一个
|
|
|
- returnList = map.get(k);
|
|
|
+ if(returnList == null){
|
|
|
+ returnList = oneTray;
|
|
|
}
|
|
|
}
|
|
|
return returnList;
|