소스 검색

刀具校验bug修复

oyq28 1 년 전
부모
커밋
bc80cdb743

+ 33 - 28
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/centralToolMagazine/service/impl/ToolManagementServiceImpl.java

@@ -228,7 +228,6 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
                 returnList.add(toolCheckDTO);
                 return;
             }
-            //List<Long> resourceId = resourceList.stream().map(BomProcedureProductionresource::getResourceId).collect(Collectors.toList());
 
             resourceList.stream().forEach(vo->{
                 ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
@@ -236,40 +235,46 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
                 //机床现有刀具集合
                 List<Long> realToolId = toolManagementMapper.getToolManagementToolId(vo.getResourceId());
                 Integer freeCount = toolManagementMapper.getFreeStorge(vo.getResourceId());
-                //Integer freeCount=0;
-                //if(!realToolId.containsAll(toolId)){
-                //需要的类别
-                //List<String> toolCategory = cuttingToolMapper.getToolCategory(toolId);
-
-                //机床现有的类别
-                List<String> realToolCategory = cuttingToolMapper.getToolCategory(realToolId);
-
-                //比较 刀具类别  是否存在
-                if(!realToolCategory.containsAll(toolId)){
-                    List<String> differenceCategory = toolId.stream()
-                            .filter(id -> !realToolCategory.contains(id))
-                            .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));*/
-                    //true 机床刀库空闲个数大于缺刀个数
-                    Boolean isFree=freeCount > differenceCategory.size();
-                    ToolTask findToolTask = toolTaskMapper.selectOne(Wraps.<ToolTask>lbQ().eq(ToolTask::getPlanId, item));
+                ToolTask findToolTask = toolTaskMapper.selectOne(Wraps.<ToolTask>lbQ().eq(ToolTask::getPlanId, item));
+                List<String> dicName = dictionaryMapper.getDicName(toolId);
+                //机床 刀具为空,则工艺路线有什么刀就缺什么刀
+                if(CollectionUtil.isNotEmpty(realToolId)){
+                    //机床现有的类别
+                    List<String> realToolCategory = cuttingToolMapper.getToolCategory(realToolId);
+
+                    //比较 刀具类别  是否存在
+                    if(!realToolCategory.containsAll(toolId)){
+                        List<String> differenceCategory = toolId.stream()
+                                .filter(id -> !realToolCategory.contains(id))
+                                .collect(Collectors.toList());
+
+                        //true 机床刀库空闲个数大于缺刀个数
+                        Boolean isFree=freeCount > differenceCategory.size();
+
+                        toolCheckDTO.setIsTask(Objects.isNull(findToolTask)?"否":"是");
+                        toolCheckDTO.setId(vo.getResourceId());
+                        toolCheckDTO.setDeviceName(vo.getName());
+                        toolCheckDTO.setName(bBom.getName());
+                        toolCheckDTO.setList(differenceCategory);
+                        toolCheckDTO.setIsFree(isFree);
+                        toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(differenceCategory) ? "是" : "否" );
+                        toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(differenceCategory) ?
+                                "缺少:"+dicName.stream().collect(Collectors.joining(","))+(isFree ? ",机床刀库空闲个数大于缺刀个数":""):"");
+                        toolCheckDTO.setPlanId(item);
+                        returnList.add(toolCheckDTO);
+                    }
+                }else{
                     toolCheckDTO.setIsTask(Objects.isNull(findToolTask)?"否":"是");
                     toolCheckDTO.setId(vo.getResourceId());
                     toolCheckDTO.setDeviceName(vo.getName());
                     toolCheckDTO.setName(bBom.getName());
-                    toolCheckDTO.setList(differenceCategory);
-                    toolCheckDTO.setIsFree(isFree);
-                    toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(differenceCategory) ? "是" : "否" );
-                    toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(differenceCategory) ?
-                            "缺少:"+dicName.stream().collect(Collectors.joining(","))+(isFree ? ",机床刀库空闲个数大于缺刀个数":""):"");
+                    toolCheckDTO.setList(toolId);
+                    toolCheckDTO.setIsFree(true);
+                    toolCheckDTO.setHasCuttingToolsFlag("否" );
+                    toolCheckDTO.setMsg(dicName.stream().collect(Collectors.joining(","))+ ",机床刀库空闲个数大于缺刀个数");
                     toolCheckDTO.setPlanId(item);
                     returnList.add(toolCheckDTO);
                 }
-
             });
         });