|
@@ -205,9 +205,33 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
.map(Long::valueOf)
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+ List<PlanProduct> planProductList = planProductMapper.selectList(Wraps.<PlanProduct>lbQ().in(PlanProduct::getPlanId, planIds));
|
|
|
+ if(planProductList.isEmpty()){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Long> orderids = planProductList.stream().map(p -> p.getOrderId()).collect(Collectors.toList());
|
|
|
+ List<Order> orderList = orderService.list(Wraps.<Order>lbQ().in(Order::getId, orderids));
|
|
|
+
|
|
|
+ List<Long> bomIds = planProductList.stream().map(p -> p.getBomId()).collect(Collectors.toList());
|
|
|
+ List<BBom> bBomsList = bBomMapper.selectList(Wraps.<BBom>lbQ().in(BBom::getId, bomIds));
|
|
|
+
|
|
|
List<ToolCheckDTO> returnList=new ArrayList<>();
|
|
|
+ // 检查工量具
|
|
|
+ List<ToolCheckDTO> MeasuringToolsList = checkMeasuringToolsApply(planProductList, orderList, bBomsList);
|
|
|
+ returnList.addAll(MeasuringToolsList);
|
|
|
+ // 检查刀具
|
|
|
+ List<ToolCheckDTO> cutterApplylist = checkCutterApply(planProductList, orderList, bBomsList);
|
|
|
+ returnList.addAll(cutterApplylist);
|
|
|
+ // 检查需要放入机床的刀
|
|
|
+ List<ToolCheckDTO> cutterIntoDeviceList = cutterIntoDevice(planProductList, orderList, bBomsList);
|
|
|
+
|
|
|
+ returnList.addAll(cutterIntoDeviceList);
|
|
|
|
|
|
|
|
|
+/*
|
|
|
planIds.stream().forEach(item ->{
|
|
|
PlanProduct planProduct = planProductMapper.selectOne(Wraps.<PlanProduct>lbQ().eq(PlanProduct::getPlanId, item));
|
|
|
|
|
@@ -256,9 +280,11 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
|
|
|
BBomProcedureTool bomProcedureTool = bomProcedureToolService.getOne(Wraps.<BBomProcedureTool>lbQ().eq(BBomProcedureTool::getProcedureId,vo.getId()).last("limit 1"));
|
|
|
//List<BBomProcedureTool> toolList = bomProcedureToolService.list(Wraps.<BBomProcedureTool>lbQ().eq(BBomProcedureTool::getProcedureId,vo.getId()));
|
|
|
- /*List<String> toolIdList = toolList.stream()
|
|
|
+ */
|
|
|
+/*List<String> toolIdList = toolList.stream()
|
|
|
.map(BBomProcedureTool::getCuttingToolCategory)
|
|
|
- .collect(Collectors.toList()); */
|
|
|
+ .collect(Collectors.toList()); *//*
|
|
|
+
|
|
|
if (null != bomProcedureTool){
|
|
|
needToolList = cutterCategoriesService.list(new LbqWrapper<CutterCategories>().eq(CutterCategories::getPartsNo, bBom.getPartsNo()).eq(CutterCategories::getProcedureNo, bBom.getNo()));
|
|
|
}
|
|
@@ -413,10 +439,12 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
.filter(tool -> !finalRealToolId.contains(tool.getCutterT())).distinct()
|
|
|
.collect(Collectors.toList());
|
|
|
//List<String> dicName = dictionaryMapper.getDicName(toolId);
|
|
|
- /*List<Long> differenceTool = toolId.stream()
|
|
|
+ */
|
|
|
+/*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<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());
|
|
|
|
|
@@ -445,10 +473,298 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
|
|
|
});
|
|
|
});
|
|
|
+*/
|
|
|
|
|
|
return R.success(returnList);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MeasuringToolsCategoriesService measuringToolsCategoriesService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 工量具刀具申请
|
|
|
+ * @param planProducts
|
|
|
+ * @param ordersList
|
|
|
+ * @param bBomsList
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<ToolCheckDTO> checkMeasuringToolsApply(List<PlanProduct> planProducts, List<Order> ordersList, List<BBom> bBomsList){
|
|
|
+ List<ToolCheckDTO> returnList=new ArrayList<>();
|
|
|
+
|
|
|
+ Map<Long, Order> orderMap = ordersList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
|
|
|
+ Map<Long, BBom> bBomsMap = bBomsList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
|
|
|
+
|
|
|
+ List<MeasuringToolsPo> measuringToolsList = measuringToolsService.list(Wraps.<MeasuringToolsPo>lbQ().eq(MeasuringToolsPo::getLocationName, "1"));
|
|
|
+
|
|
|
+ for (PlanProduct planProduct : planProducts) {
|
|
|
+ Order order = orderMap.get(planProduct.getOrderId());
|
|
|
+ BBom bBom = bBomsMap.get(planProduct.getBomId());
|
|
|
+
|
|
|
+ List<BomProcedure> bomProcedures = bomProcedureMapper.selectList(Wraps.<BomProcedure>lbQ()
|
|
|
+ .eq(BomProcedure::getBomId, planProduct.getBomId()).eq(BomProcedure::getType,"设备序"));
|
|
|
+
|
|
|
+ // 产品所需要的刀具列表
|
|
|
+ List<MeasuringToolsCategoriesPo> needToolList = new ArrayList<>();
|
|
|
+ //所有可执行设备资源
|
|
|
+ List<BomProcedureProductionresource> resourceList=new ArrayList<>();
|
|
|
+ for (BomProcedure vo : bomProcedures) {
|
|
|
+ BomProcedureVersion bomProcedureVersion=new BomProcedureVersion();
|
|
|
+ bomProcedureVersion.setId(vo.getId());
|
|
|
+
|
|
|
+ //查出工序下的所有资源
|
|
|
+ List<BomProcedureProductionresource> resourcelist = bomProcedureProductionresourceService.getResourcelist(bomProcedureVersion);
|
|
|
+ resourceList.addAll(resourcelist);
|
|
|
+
|
|
|
+ BBomProcedureTool bomProcedureTool = bomProcedureToolService.getOne(Wraps.<BBomProcedureTool>lbQ().eq(BBomProcedureTool::getProcedureId,vo.getId()).last("limit 1"));
|
|
|
+ if (null != bomProcedureTool){
|
|
|
+ needToolList = measuringToolsCategoriesService.list(new LbqWrapper<MeasuringToolsCategoriesPo>().eq(MeasuringToolsCategoriesPo::getPartsNo, bBom.getPartsNo()).eq(MeasuringToolsCategoriesPo::getProcedureNo, bBom.getNo()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 工量具判断,是否下发呼叫
|
|
|
+ List<String> collect = measuringToolsList.stream().map(measuringToolsPo -> measuringToolsPo.getToolCode()).collect(Collectors.toList());
|
|
|
+ List<MeasuringToolsCategoriesPo> lackTools = needToolList.stream()
|
|
|
+ .filter(tool -> !collect.contains(tool.getToolCode())).distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ if(lackTools.isEmpty()){
|
|
|
+ log.info("量具已在线上");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<String> toolCodes= lackTools.stream().map(MeasuringToolsCategoriesPo::getToolCode).collect(Collectors.toList());
|
|
|
+
|
|
|
+ ToolCheckDTO toolCheckDTO =new ToolCheckDTO();
|
|
|
+ toolCheckDTO.setId(planProduct.getId());
|
|
|
+ toolCheckDTO.setOrderId(order.getId());
|
|
|
+ toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
+ toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
+ toolCheckDTO.setApplyType(1);
|
|
|
+ toolCheckDTO.setIsTask(lackTools.size()>0?"是":"否");
|
|
|
+ toolCheckDTO.setNumber(lackTools.size());
|
|
|
+ toolCheckDTO.setName(bBom.getName());
|
|
|
+ toolCheckDTO.setList(toolCodes);
|
|
|
+ toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(toolCodes) ? "是" : "否" );
|
|
|
+ toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(toolCodes) ?
|
|
|
+ "缺少:"+lackTools.stream().map(obj->obj.getToolName()).collect(Collectors.joining(",")):"校验成功" );
|
|
|
+ toolCheckDTO.setPlanId(planProduct.getId());
|
|
|
+ returnList.add(toolCheckDTO);
|
|
|
+
|
|
|
+ }
|
|
|
+ return returnList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 刀具需求申请
|
|
|
+ * @param planProducts
|
|
|
+ * @param ordersList
|
|
|
+ * @param bBomsList
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<ToolCheckDTO> checkCutterApply(List<PlanProduct> planProducts, List<Order> ordersList, List<BBom> bBomsList){
|
|
|
+ List<ToolCheckDTO> returnList=new ArrayList<>();
|
|
|
+
|
|
|
+ Map<Long, Order> orderMap = ordersList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
|
|
|
+ Map<Long, BBom> bBomsMap = bBomsList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
|
|
|
+
|
|
|
+ for (PlanProduct planProduct : planProducts) {
|
|
|
+ Order order = orderMap.get(planProduct.getOrderId());
|
|
|
+ BBom bBom = bBomsMap.get(planProduct.getBomId());
|
|
|
+
|
|
|
+ List<BomProcedure> bomProcedures = bomProcedureMapper.selectList(Wraps.<BomProcedure>lbQ()
|
|
|
+ .eq(BomProcedure::getBomId, planProduct.getBomId()).eq(BomProcedure::getType,"设备序"));
|
|
|
+
|
|
|
+ // 产品所需要的刀具列表
|
|
|
+ List<CutterCategories> needToolList = new ArrayList<>();
|
|
|
+ //所有可执行设备资源
|
|
|
+ List<BomProcedureProductionresource> resourceList=new ArrayList<>();
|
|
|
+ for (BomProcedure vo : bomProcedures) {
|
|
|
+ BomProcedureVersion bomProcedureVersion=new BomProcedureVersion();
|
|
|
+ bomProcedureVersion.setId(vo.getId());
|
|
|
+
|
|
|
+ //查出工序下的所有资源
|
|
|
+ List<BomProcedureProductionresource> resourcelist = bomProcedureProductionresourceService.getResourcelist(bomProcedureVersion);
|
|
|
+ resourceList.addAll(resourcelist);
|
|
|
+
|
|
|
+ BBomProcedureTool bomProcedureTool = bomProcedureToolService.getOne(Wraps.<BBomProcedureTool>lbQ().eq(BBomProcedureTool::getProcedureId,vo.getId()).last("limit 1"));
|
|
|
+ if (null != bomProcedureTool){
|
|
|
+ needToolList = cutterCategoriesService.list(new LbqWrapper<CutterCategories>().eq(CutterCategories::getPartsNo, bBom.getPartsNo()).eq(CutterCategories::getProcedureNo, bBom.getNo()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(needToolList.isEmpty()|| needToolList.size()<=0){
|
|
|
+ log.info("================刀具校验:未配置工艺刀具==============");
|
|
|
+ ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
|
|
|
+ toolCheckDTO.setId(planProduct.getId());
|
|
|
+ toolCheckDTO.setOrderId(order.getId());
|
|
|
+ toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
+ toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
+ toolCheckDTO.setApplyType(2);
|
|
|
+ toolCheckDTO.setName(bBom.getName());
|
|
|
+ toolCheckDTO.setHasCuttingToolsFlag("否");
|
|
|
+ toolCheckDTO.setIsTask("否");
|
|
|
+ toolCheckDTO.setIsFree(false);
|
|
|
+ toolCheckDTO.setMsg("未配置工艺刀具");
|
|
|
+ returnList.add(toolCheckDTO);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 刀具不在产线,需要发送刀具需求
|
|
|
+ for (BomProcedureProductionresource vo : resourceList) {
|
|
|
+ List<CutterCategories> needCutterCategories = new ArrayList<>();
|
|
|
+ // 需求的刀具数据
|
|
|
+ Map<String, List<CutterCategories>> collect = needToolList.stream().collect(groupingBy(CutterCategories::getCutterT));
|
|
|
+ //机床现有刀具集合
|
|
|
+ Productionresource productionresource = productionresourceBizService.getById(vo.getResourceId());
|
|
|
+ //判断是否机床
|
|
|
+ if(StringUtils.isEmpty(productionresource.getModeSpecification())){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<String> realToolId = machineCuttingToolService.list(new LbqWrapper<MachineCuttingTool>().eq(MachineCuttingTool::getMachineId, vo.getResourceId())).stream().map(obj->obj.getCuttingToolId()).collect(Collectors.toList());
|
|
|
+ // 查询刀架有的刀
|
|
|
+ List<CuttingTool> cutterInStorgeInfo = cuttingToolService.getCutterInStorgeInfo();
|
|
|
+ if(cutterInStorgeInfo!=null && !cutterInStorgeInfo.isEmpty()){
|
|
|
+ List<String> collect1 = cutterInStorgeInfo.stream().map(CuttingTool::getCuttingToolNo).map(Object::toString).collect(Collectors.toList());
|
|
|
+ realToolId.addAll(collect1);
|
|
|
+ }
|
|
|
+ // 比对是否有缺失的数据
|
|
|
+ collect.forEach((s, cutterCategories) -> {
|
|
|
+ if(!realToolId.contains(s)){
|
|
|
+ needCutterCategories.add(cutterCategories.get(0));
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ if(needCutterCategories.isEmpty()){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ List<String> cutterTs = needCutterCategories.stream().map(CutterCategories::getCutterT).collect(Collectors.toList());
|
|
|
+
|
|
|
+ ToolCheckDTO toolCheckDTO =new ToolCheckDTO();
|
|
|
+ toolCheckDTO.setId(planProduct.getId());
|
|
|
+ toolCheckDTO.setOrderId(order.getId());
|
|
|
+ toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
+ toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
+ toolCheckDTO.setApplyType(2);
|
|
|
+ toolCheckDTO.setIsTask(needCutterCategories.size()>0?"是":"否");
|
|
|
+ toolCheckDTO.setNumber(needCutterCategories.size());
|
|
|
+ toolCheckDTO.setId(vo.getResourceId());
|
|
|
+ toolCheckDTO.setDeviceName(vo.getName());
|
|
|
+ toolCheckDTO.setName(bBom.getName());
|
|
|
+ toolCheckDTO.setList(cutterTs);
|
|
|
+ toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(cutterTs) ? "是" : "否" );
|
|
|
+ toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(cutterTs) ?
|
|
|
+ "缺少:"+needCutterCategories.stream().map(obj->obj.getCutterName()).collect(Collectors.joining(",")):"校验成功" );
|
|
|
+ toolCheckDTO.setPlanId(planProduct.getPlanId());
|
|
|
+ returnList.add(toolCheckDTO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return returnList;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<ToolCheckDTO> cutterIntoDevice(List<PlanProduct> planProducts, List<Order> ordersList, List<BBom> bBomsList){
|
|
|
+ List<ToolCheckDTO> returnList=new ArrayList<>();
|
|
|
+
|
|
|
+ Map<Long, Order> orderMap = ordersList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
|
|
|
+ Map<Long, BBom> bBomsMap = bBomsList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
|
|
|
+
|
|
|
+ for (PlanProduct planProduct : planProducts) {
|
|
|
+ Order order = orderMap.get(planProduct.getOrderId());
|
|
|
+ BBom bBom = bBomsMap.get(planProduct.getBomId());
|
|
|
+
|
|
|
+ List<BomProcedure> bomProcedures = bomProcedureMapper.selectList(Wraps.<BomProcedure>lbQ()
|
|
|
+ .eq(BomProcedure::getBomId, planProduct.getBomId()).eq(BomProcedure::getType,"设备序"));
|
|
|
+
|
|
|
+ // 产品所需要的刀具列表
|
|
|
+ List<CutterCategories> needToolList = new ArrayList<>();
|
|
|
+ //所有可执行设备资源
|
|
|
+ List<BomProcedureProductionresource> resourceList=new ArrayList<>();
|
|
|
+ for (BomProcedure vo : bomProcedures) {
|
|
|
+ BomProcedureVersion bomProcedureVersion=new BomProcedureVersion();
|
|
|
+ bomProcedureVersion.setId(vo.getId());
|
|
|
+
|
|
|
+ //查出工序下的所有资源
|
|
|
+ List<BomProcedureProductionresource> resourcelist = bomProcedureProductionresourceService.getResourcelist(bomProcedureVersion);
|
|
|
+ resourceList.addAll(resourcelist);
|
|
|
+
|
|
|
+ BBomProcedureTool bomProcedureTool = bomProcedureToolService.getOne(Wraps.<BBomProcedureTool>lbQ().eq(BBomProcedureTool::getProcedureId,vo.getId()).last("limit 1"));
|
|
|
+ if (null != bomProcedureTool){
|
|
|
+ needToolList = cutterCategoriesService.list(new LbqWrapper<CutterCategories>().eq(CutterCategories::getPartsNo, bBom.getPartsNo()).eq(CutterCategories::getProcedureNo, bBom.getNo()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(needToolList.isEmpty()|| needToolList.size()<=0){
|
|
|
+ log.info("================刀具校验:未配置工艺刀具==============");
|
|
|
+ ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
|
|
|
+ toolCheckDTO.setId(planProduct.getId());
|
|
|
+ toolCheckDTO.setOrderId(order.getId());
|
|
|
+ toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
+ toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
+ toolCheckDTO.setApplyType(3);
|
|
|
+ toolCheckDTO.setName(bBom.getName());
|
|
|
+ toolCheckDTO.setHasCuttingToolsFlag("否");
|
|
|
+ toolCheckDTO.setIsTask("否");
|
|
|
+ toolCheckDTO.setIsFree(false);
|
|
|
+ toolCheckDTO.setMsg("未配置工艺刀具");
|
|
|
+ returnList.add(toolCheckDTO);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 刀具在产线,但没有在机床
|
|
|
+ for (BomProcedureProductionresource vo : resourceList) {
|
|
|
+ ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
|
|
|
+
|
|
|
+ Productionresource productionresource = productionresourceBizService.getById(vo.getResourceId());
|
|
|
+ List<String> realToolId = null;
|
|
|
+ Integer freeCount = 0;
|
|
|
+ //判断是否机床
|
|
|
+ if(StringUtils.isNotEmpty(productionresource.getModeSpecification())){
|
|
|
+ realToolId = machineCuttingToolService.list(new LbqWrapper<MachineCuttingTool>().eq(MachineCuttingTool::getMachineId, vo.getResourceId())).stream().map(obj->obj.getCuttingToolId()).collect(Collectors.toList());
|
|
|
+ freeCount = DEVICE_CUTTER_POSITION - realToolId.size();
|
|
|
+ }else{
|
|
|
+ realToolId = Lists.newArrayList();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 判断可用刀架位是否满足可放刀
|
|
|
+ if(freeCount > 0){
|
|
|
+ List<String> finalRealToolId = realToolId;
|
|
|
+ List<CutterCategories> lackTools = needToolList.stream()
|
|
|
+ .filter(tool -> !finalRealToolId.contains(tool.getCutterT())).distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ 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 > lackTools.size();
|
|
|
+ //ToolTask findToolTask = toolTaskMapper.selectOne(Wraps.<ToolTask>lbQ().eq(ToolTask::getPlanId, item));
|
|
|
+
|
|
|
+ toolCheckDTO.setId(planProduct.getId());
|
|
|
+ toolCheckDTO.setOrderId(order.getId());
|
|
|
+ toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
+ toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
+ toolCheckDTO.setApplyType(3);
|
|
|
+ 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) ?
|
|
|
+ "缺少:"+lackTools.stream().map(obj->obj.getCutterName()).collect(Collectors.joining(","))+(isFree ? ",机床刀库空闲个数大于缺刀个数":"") +(" 缺刀总数:"+ differenceCategory.size() +"个"):"校验成功" );
|
|
|
+ toolCheckDTO.setPlanId(planProduct.getId());
|
|
|
+
|
|
|
+ returnList.add(toolCheckDTO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return returnList;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public static List<ToolManagement> findChildren(ToolManagement map,List<ToolManagement> list) {
|
|
|
List<ToolManagement> chList = new ArrayList<>();
|
|
|
for(ToolManagement chMap:list) {
|