|
@@ -194,6 +194,7 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
List<ToolCheckDTO> returnList=new ArrayList<>();
|
|
|
+
|
|
|
planIds.stream().forEach(item ->{
|
|
|
PlanProduct planProduct = planProductMapper.selectOne(Wraps.<PlanProduct>lbQ().eq(PlanProduct::getPlanId, item));
|
|
|
Long bomId=planProduct.getBomId();
|
|
@@ -216,13 +217,15 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
.eq(BomProcedure::getBomId, bomId).eq(BomProcedure::getType,"设备序"));
|
|
|
|
|
|
//产品所需所有的类别集合
|
|
|
- List<String> toolId=new ArrayList<>();
|
|
|
- Map<String, List<String>> toolMaps = Maps.newConcurrentMap();
|
|
|
+// List<String> toolId=new ArrayList<>();
|
|
|
+
|
|
|
+ // 产品所需要的刀具列表
|
|
|
+ List<CutterCategories> needToolList = new ArrayList<>();
|
|
|
|
|
|
//所有可执行设备资源
|
|
|
List<BomProcedureProductionresource> resourceList=new ArrayList<>();
|
|
|
|
|
|
- bomProcedures.stream().forEach(vo->{
|
|
|
+ for (BomProcedure vo : bomProcedures) {
|
|
|
BomProcedureVersion bomProcedureVersion=new BomProcedureVersion();
|
|
|
bomProcedureVersion.setId(vo.getId());
|
|
|
|
|
@@ -235,19 +238,13 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
/*List<String> toolIdList = toolList.stream()
|
|
|
.map(BBomProcedureTool::getCuttingToolCategory)
|
|
|
.collect(Collectors.toList()); */
|
|
|
- List<String> toolIdList = null;
|
|
|
- if (null == bomProcedureTool){
|
|
|
- toolIdList = Lists.newArrayList();
|
|
|
- }else{
|
|
|
+ if (null != bomProcedureTool){
|
|
|
String[] conditions = bomProcedureTool.getCuttingToolCategory().split("_");
|
|
|
- List<CutterCategories> toolList = cutterCategoriesService.list(new LbqWrapper<CutterCategories>().eq(CutterCategories::getPartsNo, conditions[0]).eq(CutterCategories::getProcedureNo, conditions[1]));
|
|
|
- toolIdList = toolList.stream().map(obj->obj.getCutterT())
|
|
|
- .collect(Collectors.toList());
|
|
|
+ needToolList = cutterCategoriesService.list(new LbqWrapper<CutterCategories>().eq(CutterCategories::getPartsNo, conditions[0]).eq(CutterCategories::getProcedureNo, conditions[1]));
|
|
|
}
|
|
|
- toolId.addAll(toolIdList);
|
|
|
- toolMaps.put(vo.getId().toString(), toolId);
|
|
|
- });
|
|
|
- if(CollectionUtil.isEmpty(toolId)){
|
|
|
+ }
|
|
|
+
|
|
|
+ if(needToolList.isEmpty()|| needToolList.size()<=0){
|
|
|
log.info("刀具校验:未配置工艺刀具");
|
|
|
ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
|
|
|
toolCheckDTO.setName(bBom.getName());
|
|
@@ -260,6 +257,7 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
}
|
|
|
//List<Long> resourceId = resourceList.stream().map(BomProcedureProductionresource::getResourceId).collect(Collectors.toList());
|
|
|
|
|
|
+ List<CutterCategories> finalNeedToolList = needToolList;
|
|
|
resourceList.stream().forEach(vo->{
|
|
|
ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
|
|
|
|
|
@@ -288,27 +286,30 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
//比较 刀具类别 是否存在
|
|
|
if(freeCount > 0){
|
|
|
List<String> finalRealToolId = realToolId;
|
|
|
- List<String> differenceCategory = toolId.stream()
|
|
|
- .filter(id -> !finalRealToolId.contains(id)).distinct()
|
|
|
+ List<CutterCategories> lackTools = finalNeedToolList.stream()
|
|
|
+ .filter(tool -> !finalRealToolId.contains(tool.getCutterT())).distinct()
|
|
|
.collect(Collectors.toList());
|
|
|
- List<CutterCategories> cutterCategories = cutterCategoriesService.list(new LbqWrapper<CutterCategories>().in(CutterCategories::getCutterT, differenceCategory)).stream().collect(Collectors.toList());
|
|
|
//List<String> dicName = dictionaryMapper.getDicName(toolId);
|
|
|
/*List<Long> differenceTool = toolId.stream()
|
|
|
.filter(id -> !realToolId.contains(id))
|
|
|
.collect(Collectors.toList());
|
|
|
List<CuttingTool> cuttingTools = cuttingToolMapper.selectList(Wraps.<CuttingTool>lbQ().in(CuttingTool::getId, differenceTool));*/
|
|
|
+ List<Long> needCutters = lackTools.stream().map(CutterCategories::getId).collect(Collectors.toList());
|
|
|
+ List<String> differenceCategory = lackTools.stream().map(CutterCategories::getCutterT).collect(Collectors.toList());
|
|
|
+
|
|
|
//true 机床刀库空闲个数大于缺刀个数
|
|
|
- Boolean isFree=freeCount > differenceCategory.size();
|
|
|
+ Boolean isFree=freeCount > lackTools.size();
|
|
|
//ToolTask findToolTask = toolTaskMapper.selectOne(Wraps.<ToolTask>lbQ().eq(ToolTask::getPlanId, item));
|
|
|
- toolCheckDTO.setIsTask(differenceCategory.size()>0?"是":"否");
|
|
|
+ toolCheckDTO.setIsTask(lackTools.size()>0?"是":"否");
|
|
|
toolCheckDTO.setId(vo.getResourceId());
|
|
|
toolCheckDTO.setDeviceName(vo.getName());
|
|
|
toolCheckDTO.setName(bBom.getName());
|
|
|
toolCheckDTO.setList(differenceCategory);
|
|
|
+ toolCheckDTO.setListData(needCutters);
|
|
|
toolCheckDTO.setIsFree(isFree);
|
|
|
toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(differenceCategory) ? "是" : "否" );
|
|
|
toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(differenceCategory) ?
|
|
|
- "缺少:"+cutterCategories.stream().map(obj->obj.getCutterName()).collect(Collectors.joining(","))+(isFree ? ",机床刀库空闲个数大于缺刀个数":"") +(" 缺刀总数:"+ differenceCategory.size() +"个"):"校验成功" );
|
|
|
+ "缺少:"+lackTools.stream().map(obj->obj.getCutterName()).collect(Collectors.joining(","))+(isFree ? ",机床刀库空闲个数大于缺刀个数":"") +(" 缺刀总数:"+ differenceCategory.size() +"个"):"校验成功" );
|
|
|
toolCheckDTO.setPlanId(item);
|
|
|
returnList.add(toolCheckDTO);
|
|
|
}
|