|
@@ -1,29 +1,24 @@
|
|
|
package com.github.zuihou.business.centralToolMagazine.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.zuihou.authority.dao.common.DictionaryMapper;
|
|
|
import com.github.zuihou.authority.service.auth.UserService;
|
|
|
import com.github.zuihou.base.R;
|
|
|
import com.github.zuihou.base.service.SuperCacheServiceImpl;
|
|
|
+import com.github.zuihou.business.centralToolMagazine.dao.ToolManagementMapper;
|
|
|
import com.github.zuihou.business.centralToolMagazine.dto.ToolCheckDTO;
|
|
|
+import com.github.zuihou.business.centralToolMagazine.dto.ToolManagementSaveDTO;
|
|
|
import com.github.zuihou.business.centralToolMagazine.dto.ToolManagementUpdateDTO;
|
|
|
import com.github.zuihou.business.centralToolMagazine.entity.ToolManagement;
|
|
|
-import com.github.zuihou.business.centralToolMagazine.entity.ToolTask;
|
|
|
import com.github.zuihou.business.centralToolMagazine.service.ToolManagementService;
|
|
|
-import com.github.zuihou.business.centralToolMagazine.dao.ToolManagementMapper;
|
|
|
-import com.github.zuihou.business.centralToolMagazine.dto.ToolManagementSaveDTO;
|
|
|
import com.github.zuihou.business.cuttercategories.entity.CutterCategories;
|
|
|
-import com.github.zuihou.business.edgeLibrary.dto.ShelvesUpdateDTO;
|
|
|
import com.github.zuihou.business.operationManagementCenter.dao.PlanProductMapper;
|
|
|
import com.github.zuihou.business.operationManagementCenter.dao.ToolTaskMapper;
|
|
|
import com.github.zuihou.business.operationManagementCenter.entity.Order;
|
|
|
-import com.github.zuihou.business.operationManagementCenter.entity.Plan;
|
|
|
import com.github.zuihou.business.operationManagementCenter.entity.PlanProduct;
|
|
|
import com.github.zuihou.business.operationManagementCenter.service.OrderService;
|
|
|
-import com.github.zuihou.business.operationManagementCenter.service.PlanService;
|
|
|
import com.github.zuihou.business.productionReadyCenter.dao.BBomMapper;
|
|
|
import com.github.zuihou.business.productionReadyCenter.dao.BomProcedureMapper;
|
|
|
import com.github.zuihou.business.productionReadyCenter.dao.BomVersionInfoMapper;
|
|
@@ -37,14 +32,10 @@ import com.github.zuihou.database.mybatis.auth.DataScope;
|
|
|
import com.github.zuihou.database.mybatis.conditions.Wraps;
|
|
|
import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
|
|
|
import com.github.zuihou.injection.annonation.InjectionResult;
|
|
|
-
|
|
|
import com.github.zuihou.utils.BeanPlusUtil;
|
|
|
-import com.google.common.collect.Maps;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.apache.commons.collections.map.HashedMap;
|
|
|
import org.apache.commons.compress.utils.Lists;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -88,6 +79,10 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
@Autowired
|
|
|
private CuttingToolMapper cuttingToolMapper;
|
|
|
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private CuttingToolApplyService cuttingToolApplyService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private OrderService orderService;
|
|
|
@Autowired
|
|
@@ -177,18 +172,18 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<ToolManagement> shelvesTreeList(){
|
|
|
+ public List<ToolManagement> shelvesTreeList() {
|
|
|
//[{id=xx,name=xx,children=[{id=xx,name=xx}]}]
|
|
|
List<ToolManagement> returnList = new ArrayList<ToolManagement>();
|
|
|
- LbqWrapper<ToolManagement> queryWrapper = Wraps.<ToolManagement>lbQ();
|
|
|
- queryWrapper.eq(ToolManagement::getStatus,1).orderByAsc(ToolManagement::getWeight).orderByAsc(ToolManagement::getCreateTime);
|
|
|
+ LbqWrapper<ToolManagement> queryWrapper = Wraps.<ToolManagement>lbQ();
|
|
|
+ queryWrapper.eq(ToolManagement::getStatus, 1).orderByAsc(ToolManagement::getWeight).orderByAsc(ToolManagement::getCreateTime);
|
|
|
|
|
|
- IPage<ToolManagement> shelves = baseMapper.shelvesTreeList(new Page<ToolManagement>(1L,50), queryWrapper, new DataScope());
|
|
|
+ IPage<ToolManagement> shelves = baseMapper.shelvesTreeList(new Page<ToolManagement>(1L, 50), queryWrapper, new DataScope());
|
|
|
//Map shelvesIPage = baseMapper.shelvesTreeList(, new DataScope());
|
|
|
- List<ToolManagement> list = (shelves!=null)? (List<ToolManagement>)shelves.getRecords() : Lists.newArrayList();
|
|
|
- for(ToolManagement map:list){
|
|
|
+ List<ToolManagement> list = (shelves != null) ? (List<ToolManagement>) shelves.getRecords() : Lists.newArrayList();
|
|
|
+ for (ToolManagement map : list) {
|
|
|
//一级
|
|
|
- if(0 == (map.getParentId()==null?0:map.getParentId().longValue())) {
|
|
|
+ if (0 == (map.getParentId() == null ? 0 : map.getParentId().longValue())) {
|
|
|
//二级
|
|
|
//map.put("children", findChildren(map,list));
|
|
|
//map.setChildren(findChildren(map,list));
|
|
@@ -206,9 +201,8 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
-
|
|
|
List<PlanProduct> planProductList = planProductMapper.selectList(Wraps.<PlanProduct>lbQ().in(PlanProduct::getPlanId, planIds));
|
|
|
- if(planProductList.isEmpty()){
|
|
|
+ if (planProductList.isEmpty()) {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
@@ -218,263 +212,18 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
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> returnList = new ArrayList<>();
|
|
|
// 检查工量具
|
|
|
- List<ToolCheckDTO> MeasuringToolsList = checkMeasuringToolsApply(planProductList, orderList, bBomsList);
|
|
|
+ List<ToolCheckDTO> MeasuringToolsList = checkMeasuringToolsApply(planProductList, orderList, bBomsList);
|
|
|
returnList.addAll(MeasuringToolsList);
|
|
|
// 检查刀具
|
|
|
- List<ToolCheckDTO> cutterApplylist = checkCutterApply(planProductList, orderList, bBomsList);
|
|
|
+ List<ToolCheckDTO> cutterApplylist = checkCutterApply(planProductList, orderList, bBomsList);
|
|
|
returnList.addAll(cutterApplylist);
|
|
|
// 检查需要放入机床的刀
|
|
|
- List<ToolCheckDTO> cutterIntoDeviceList = cutterIntoDevice(planProductList, orderList, bBomsList);
|
|
|
+ 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));
|
|
|
-
|
|
|
- Order order = orderService.list(Wraps.<Order>lbQ().eq(Order::getId, planProduct.getOrderId())).get(0);
|
|
|
-
|
|
|
- Long bomId=planProduct.getBomId();
|
|
|
- BBom bBom = bBomMapper.selectOne(Wraps.<BBom>lbQ().eq(BBom::getId, bomId));
|
|
|
- BomVersionInfo bomVersionInfo = bomVersionInfoMapper.selectOne(Wraps.<BomVersionInfo>lbQ()
|
|
|
- .eq(BomVersionInfo::getAuditStatus,"2")
|
|
|
- .eq(BomVersionInfo::getUseStatus,"1")
|
|
|
- .eq(BomVersionInfo::getBomId,bomId));
|
|
|
- if(Objects.isNull(bomVersionInfo)){
|
|
|
- ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
|
|
|
- toolCheckDTO.setId(item);
|
|
|
- toolCheckDTO.setOrderId(order.getId());
|
|
|
- toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
- toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
- toolCheckDTO.setIsNoCutter(0);
|
|
|
- toolCheckDTO.setName(bBom.getName());
|
|
|
- toolCheckDTO.setHasCuttingToolsFlag("否");
|
|
|
- toolCheckDTO.setIsTask("否");
|
|
|
- toolCheckDTO.setIsFree(false);
|
|
|
- toolCheckDTO.setMsg("无有效工艺版本");
|
|
|
- returnList.add(toolCheckDTO);
|
|
|
- return;
|
|
|
- }
|
|
|
- List<BomProcedure> bomProcedures = bomProcedureMapper.selectList(Wraps.<BomProcedure>lbQ()
|
|
|
- .eq(BomProcedure::getBomId, bomId).eq(BomProcedure::getType,"设备序"));
|
|
|
-
|
|
|
- //产品所需所有的类别集合
|
|
|
-// List<String> toolId=new ArrayList<>();
|
|
|
-
|
|
|
- // 产品所需要的刀具列表
|
|
|
- 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"));
|
|
|
- //List<BBomProcedureTool> toolList = bomProcedureToolService.list(Wraps.<BBomProcedureTool>lbQ().eq(BBomProcedureTool::getProcedureId,vo.getId()));
|
|
|
- */
|
|
|
-/*List<String> toolIdList = toolList.stream()
|
|
|
- .map(BBomProcedureTool::getCuttingToolCategory)
|
|
|
- .collect(Collectors.toList()); *//*
|
|
|
-
|
|
|
- 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(item);
|
|
|
- toolCheckDTO.setOrderId(order.getId());
|
|
|
- toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
- toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
- toolCheckDTO.setIsNoCutter(0);
|
|
|
- toolCheckDTO.setName(bBom.getName());
|
|
|
- toolCheckDTO.setHasCuttingToolsFlag("否");
|
|
|
- toolCheckDTO.setIsTask("否");
|
|
|
- toolCheckDTO.setIsFree(false);
|
|
|
- toolCheckDTO.setMsg("未配置工艺刀具");
|
|
|
- returnList.add(toolCheckDTO);
|
|
|
- return;
|
|
|
- }
|
|
|
- //List<Long> resourceId = resourceList.stream().map(BomProcedureProductionresource::getResourceId).collect(Collectors.toList());
|
|
|
-
|
|
|
- List<CutterCategories> finalNeedToolList = needToolList;
|
|
|
-
|
|
|
-
|
|
|
- // 工量具判断,是否下发呼叫
|
|
|
- resourceList.stream().forEach(vo->{
|
|
|
- //机床现有刀具集合
|
|
|
- Productionresource productionresource = productionresourceBizService.getById(vo.getResourceId());
|
|
|
- //判断是否机床
|
|
|
- if(StringUtils.isEmpty(productionresource.getModeSpecification())){
|
|
|
- return;
|
|
|
- }
|
|
|
- List<MeasuringToolsPo> measuringToolsPos = measuringToolsService.listBytoolCategoriesParts(bBom.getPartsNo());
|
|
|
- if(measuringToolsPos!=null && measuringToolsPos.size()>0){
|
|
|
- List<MeasuringToolsPo> measuringToolsPoList= new ArrayList<>();
|
|
|
-
|
|
|
- for (MeasuringToolsPo measuringToolsPo : measuringToolsPos) {
|
|
|
- if(!"1".equalsIgnoreCase(measuringToolsPo.getLocationName())){
|
|
|
- MeasuringToolsPo toolsPo = MeasuringToolsPo.builder().build();
|
|
|
- BeanUtils.copyProperties(measuringToolsPo, toolsPo);
|
|
|
- measuringToolsPoList.add(toolsPo);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- List<String> toolCodes= measuringToolsPoList.stream().map(MeasuringToolsPo::getToolCode).collect(Collectors.toList());
|
|
|
-
|
|
|
- ToolCheckDTO toolCheckDTO =new ToolCheckDTO();
|
|
|
- toolCheckDTO.setId(item);
|
|
|
- toolCheckDTO.setOrderId(order.getId());
|
|
|
- toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
- toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
- toolCheckDTO.setIsNoCutter(2);
|
|
|
- toolCheckDTO.setIsTask(measuringToolsPoList.size()>0?"是":"否");
|
|
|
- toolCheckDTO.setNumber(measuringToolsPoList.size());
|
|
|
- toolCheckDTO.setId(vo.getResourceId());
|
|
|
- toolCheckDTO.setDeviceName(vo.getName());
|
|
|
- toolCheckDTO.setName(bBom.getName());
|
|
|
- toolCheckDTO.setList(toolCodes);
|
|
|
- toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(toolCodes) ? "是" : "否" );
|
|
|
- toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(toolCodes) ?
|
|
|
- "缺少:"+measuringToolsPoList.stream().map(obj->obj.getToolName()).collect(Collectors.joining(",")):"校验成功" );
|
|
|
- toolCheckDTO.setPlanId(item);
|
|
|
- returnList.add(toolCheckDTO);
|
|
|
- }
|
|
|
-
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
- // 刀具不在产线,需要发送刀具需求
|
|
|
- resourceList.stream().forEach(vo->{
|
|
|
- List<CutterCategories> needCutterCategories = new ArrayList<>();
|
|
|
- // 需求的刀具数据
|
|
|
- Map<String, List<CutterCategories>> collect = finalNeedToolList.stream().collect(groupingBy(CutterCategories::getCutterT));
|
|
|
- //机床现有刀具集合
|
|
|
- Productionresource productionresource = productionresourceBizService.getById(vo.getResourceId());
|
|
|
- //判断是否机床
|
|
|
- if(StringUtils.isEmpty(productionresource.getModeSpecification())){
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- 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()){
|
|
|
- return;
|
|
|
- }
|
|
|
- List<String> cutterTs = needCutterCategories.stream().map(CutterCategories::getCutterT).collect(Collectors.toList());
|
|
|
-
|
|
|
- ToolCheckDTO toolCheckDTO =new ToolCheckDTO();
|
|
|
- toolCheckDTO.setId(item);
|
|
|
- toolCheckDTO.setOrderId(order.getId());
|
|
|
- toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
- toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
- toolCheckDTO.setIsNoCutter(1);
|
|
|
- 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(item);
|
|
|
- returnList.add(toolCheckDTO);
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
- // 刀具在产线,但没有在机床
|
|
|
- resourceList.stream().forEach(vo->{
|
|
|
- ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
|
|
|
-
|
|
|
- //机床现有刀具集合
|
|
|
- //List<Long> realToolId = toolManagementMapper.getToolManagementToolId(vo.getResourceId());
|
|
|
- //Integer freeCount = toolManagementMapper.getFreeStorge(vo.getResourceId());
|
|
|
- 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();
|
|
|
- }
|
|
|
-
|
|
|
- //Integer freeCount=0;
|
|
|
- //if(!realToolId.containsAll(toolId)){
|
|
|
- //需要的类别
|
|
|
- //List<String> toolCategory = cuttingToolMapper.getToolCategory(toolId);
|
|
|
-
|
|
|
- //机床现有的类别
|
|
|
- //List<String> realToolCategory = cuttingToolMapper.getToolCategory(realToolId);
|
|
|
-
|
|
|
- //比较 刀具类别 是否存在
|
|
|
- if(freeCount > 0){
|
|
|
- List<String> finalRealToolId = realToolId;
|
|
|
- List<CutterCategories> lackTools = finalNeedToolList.stream()
|
|
|
- .filter(tool -> !finalRealToolId.contains(tool.getCutterT())).distinct()
|
|
|
- .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 > lackTools.size();
|
|
|
- //ToolTask findToolTask = toolTaskMapper.selectOne(Wraps.<ToolTask>lbQ().eq(ToolTask::getPlanId, item));
|
|
|
-
|
|
|
- toolCheckDTO.setId(item);
|
|
|
- toolCheckDTO.setOrderId(order.getId());
|
|
|
- toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
- toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
- toolCheckDTO.setIsNoCutter(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) ?
|
|
|
- "缺少:"+lackTools.stream().map(obj->obj.getCutterName()).collect(Collectors.joining(","))+(isFree ? ",机床刀库空闲个数大于缺刀个数":"") +(" 缺刀总数:"+ differenceCategory.size() +"个"):"校验成功" );
|
|
|
- toolCheckDTO.setPlanId(item);
|
|
|
- returnList.add(toolCheckDTO);
|
|
|
- }
|
|
|
-
|
|
|
- });
|
|
|
- });
|
|
|
-*/
|
|
|
-
|
|
|
return R.success(returnList);
|
|
|
}
|
|
|
|
|
@@ -484,70 +233,60 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
|
|
|
/**
|
|
|
* 工量具刀具申请
|
|
|
+ *
|
|
|
* @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<>();
|
|
|
+ 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"));
|
|
|
+ List<MeasuringToolsPo> measuringToolsList = measuringToolsService.list();
|
|
|
|
|
|
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,"设备序"));
|
|
|
+ .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<MeasuringToolsCategoriesPo> needToolList = measuringToolsCategoriesService.list(new LbqWrapper<MeasuringToolsCategoriesPo>().eq(MeasuringToolsCategoriesPo::getPartsNo, bBom.getPartsNo()).eq(MeasuringToolsCategoriesPo::getProcedureNo, bBom.getNo()));
|
|
|
|
|
|
// 工量具判断,是否下发呼叫
|
|
|
+ List<MeasuringToolsPo> lackTools = new ArrayList<>();
|
|
|
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()){
|
|
|
+ for (MeasuringToolsPo toolsPo : measuringToolsList) {
|
|
|
+ if (collect.contains(toolsPo.getToolCode()) && !"1".equals(toolsPo.getLocationName())) {
|
|
|
+ lackTools.add(toolsPo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (lackTools.isEmpty()) {
|
|
|
log.info("量具已在线上");
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- List<String> toolCodes= lackTools.stream().map(MeasuringToolsCategoriesPo::getToolCode).collect(Collectors.toList());
|
|
|
+ List<String> toolCodes = lackTools.stream().map(MeasuringToolsPo::getToolCode).collect(Collectors.toList());
|
|
|
|
|
|
- ToolCheckDTO toolCheckDTO =new ToolCheckDTO();
|
|
|
+ ToolCheckDTO toolCheckDTO = new ToolCheckDTO();
|
|
|
toolCheckDTO.setId(planProduct.getId());
|
|
|
toolCheckDTO.setOrderId(order.getId());
|
|
|
toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
+ toolCheckDTO.setProcessingQuantity(1);
|
|
|
toolCheckDTO.setApplyType(1);
|
|
|
- toolCheckDTO.setIsTask(lackTools.size()>0?"是":"否");
|
|
|
+ toolCheckDTO.setIsTask(lackTools.size() > 0 ? "是" : "否");
|
|
|
toolCheckDTO.setNumber(lackTools.size());
|
|
|
toolCheckDTO.setName(bBom.getName());
|
|
|
toolCheckDTO.setList(toolCodes);
|
|
|
- toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(toolCodes) ? "是" : "否" );
|
|
|
+ toolCheckDTO.setDatas(lackTools);
|
|
|
+ toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(toolCodes) ? "是" : "否");
|
|
|
toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(toolCodes) ?
|
|
|
- "缺少:"+lackTools.stream().map(obj->obj.getToolName()).collect(Collectors.joining(",")):"校验成功" );
|
|
|
+ "缺少:" + lackTools.stream().map(obj -> obj.getToolName()).collect(Collectors.joining(";")) : "校验成功");
|
|
|
toolCheckDTO.setPlanId(planProduct.getId());
|
|
|
returnList.add(toolCheckDTO);
|
|
|
|
|
@@ -555,61 +294,47 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
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<>();
|
|
|
+ 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,"设备序"));
|
|
|
+ .eq(BomProcedure::getBomId, planProduct.getBomId()).eq(BomProcedure::getType, "设备序"));
|
|
|
|
|
|
// 产品所需要的刀具列表
|
|
|
List<CutterCategories> needToolList = new ArrayList<>();
|
|
|
//所有可执行设备资源
|
|
|
- List<BomProcedureProductionresource> resourceList=new ArrayList<>();
|
|
|
+ List<BomProcedureProductionresource> resourceList = new ArrayList<>();
|
|
|
for (BomProcedure vo : bomProcedures) {
|
|
|
- BomProcedureVersion bomProcedureVersion=new BomProcedureVersion();
|
|
|
+ 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){
|
|
|
+ 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<>();
|
|
@@ -618,44 +343,47 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
//机床现有刀具集合
|
|
|
Productionresource productionresource = productionresourceBizService.getById(vo.getResourceId());
|
|
|
//判断是否机床
|
|
|
- if(StringUtils.isEmpty(productionresource.getModeSpecification())){
|
|
|
+ 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<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()){
|
|
|
+ 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)){
|
|
|
+ if (!realToolId.contains(s)) {
|
|
|
needCutterCategories.add(cutterCategories.get(0));
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- if(needCutterCategories.isEmpty()){
|
|
|
+ if (needCutterCategories.isEmpty()) {
|
|
|
continue;
|
|
|
}
|
|
|
List<String> cutterTs = needCutterCategories.stream().map(CutterCategories::getCutterT).collect(Collectors.toList());
|
|
|
|
|
|
- ToolCheckDTO toolCheckDTO =new ToolCheckDTO();
|
|
|
+ List<CuttingTool> needCutterlist = cuttingToolService.list(Wraps.<CuttingTool>lbQ().in(CuttingTool::getCuttingToolNo, cutterTs));
|
|
|
+
|
|
|
+ ToolCheckDTO toolCheckDTO = new ToolCheckDTO();
|
|
|
toolCheckDTO.setId(planProduct.getId());
|
|
|
toolCheckDTO.setOrderId(order.getId());
|
|
|
toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
+ toolCheckDTO.setProcessingQuantity(order.getProductNum());
|
|
|
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.setDatas(needCutterlist);
|
|
|
+ toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(cutterTs) ? "是" : "否");
|
|
|
toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(cutterTs) ?
|
|
|
- "缺少:"+needCutterCategories.stream().map(obj->obj.getCutterName()).collect(Collectors.joining(",")):"校验成功" );
|
|
|
+ "缺少:" + needCutterCategories.stream().map(obj -> obj.getCutterName()).collect(Collectors.joining(";")) : "校验成功");
|
|
|
toolCheckDTO.setPlanId(planProduct.getPlanId());
|
|
|
returnList.add(toolCheckDTO);
|
|
|
}
|
|
@@ -663,8 +391,14 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
return returnList;
|
|
|
}
|
|
|
|
|
|
- private List<ToolCheckDTO> cutterIntoDevice(List<PlanProduct> planProducts, List<Order> ordersList, List<BBom> bBomsList){
|
|
|
- List<ToolCheckDTO> returnList=new ArrayList<>();
|
|
|
+ private List<ToolCheckDTO> cutterIntoDevice(List<PlanProduct> planProducts, List<Order> ordersList, List<BBom> bBomsList) {
|
|
|
+ List<ToolCheckDTO> returnList = new ArrayList<>();
|
|
|
+ List<Long> planIds = planProducts.stream().map(planProduct -> planProduct.getPlanId()).collect(Collectors.toList());
|
|
|
+ List<CuttingToolApply> cuttApplyList = cuttingToolApplyService.list(Wraps.<CuttingToolApply>lbQ().in(CuttingToolApply::getPlanId, planIds));
|
|
|
+ Map<String, List<CuttingToolApply>> cuttApplyMap = new HashMap<>();
|
|
|
+ if (!cuttApplyList.isEmpty()) {
|
|
|
+ cuttApplyMap = cuttApplyList.stream().collect(groupingBy(CuttingToolApply::getPlanId));
|
|
|
+ }
|
|
|
|
|
|
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));
|
|
@@ -674,29 +408,29 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
BBom bBom = bBomsMap.get(planProduct.getBomId());
|
|
|
|
|
|
List<BomProcedure> bomProcedures = bomProcedureMapper.selectList(Wraps.<BomProcedure>lbQ()
|
|
|
- .eq(BomProcedure::getBomId, planProduct.getBomId()).eq(BomProcedure::getType,"设备序"));
|
|
|
+ .eq(BomProcedure::getBomId, planProduct.getBomId()).eq(BomProcedure::getType, "设备序"));
|
|
|
|
|
|
// 产品所需要的刀具列表
|
|
|
List<CutterCategories> needToolList = new ArrayList<>();
|
|
|
//所有可执行设备资源
|
|
|
- List<BomProcedureProductionresource> resourceList=new ArrayList<>();
|
|
|
+ List<BomProcedureProductionresource> resourceList = new ArrayList<>();
|
|
|
for (BomProcedure vo : bomProcedures) {
|
|
|
- BomProcedureVersion bomProcedureVersion=new BomProcedureVersion();
|
|
|
+ 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){
|
|
|
+ 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){
|
|
|
+ if (needToolList.isEmpty() || needToolList.size() <= 0) {
|
|
|
log.info("================刀具校验:未配置工艺刀具==============");
|
|
|
- ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
|
|
|
+ ToolCheckDTO toolCheckDTO = new ToolCheckDTO();
|
|
|
toolCheckDTO.setId(planProduct.getId());
|
|
|
toolCheckDTO.setOrderId(order.getId());
|
|
|
toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
@@ -713,21 +447,21 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
|
|
|
// 刀具在产线,但没有在机床
|
|
|
for (BomProcedureProductionresource vo : resourceList) {
|
|
|
- ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
|
|
|
+ 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());
|
|
|
+ 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{
|
|
|
+ } else {
|
|
|
realToolId = Lists.newArrayList();
|
|
|
}
|
|
|
|
|
|
// 判断可用刀架位是否满足可放刀
|
|
|
- if(freeCount > 0){
|
|
|
+ if (freeCount > 0) {
|
|
|
List<String> finalRealToolId = realToolId;
|
|
|
List<CutterCategories> lackTools = needToolList.stream()
|
|
|
.filter(tool -> !finalRealToolId.contains(tool.getCutterT())).distinct()
|
|
@@ -737,7 +471,7 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
List<String> differenceCategory = lackTools.stream().map(CutterCategories::getCutterT).collect(Collectors.toList());
|
|
|
|
|
|
//true 机床刀库空闲个数大于缺刀个数
|
|
|
- Boolean isFree=freeCount > lackTools.size();
|
|
|
+ Boolean isFree = freeCount > lackTools.size();
|
|
|
//ToolTask findToolTask = toolTaskMapper.selectOne(Wraps.<ToolTask>lbQ().eq(ToolTask::getPlanId, item));
|
|
|
|
|
|
toolCheckDTO.setId(planProduct.getId());
|
|
@@ -745,16 +479,17 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
toolCheckDTO.setOrderNo(order.getOrderNo());
|
|
|
toolCheckDTO.setOrderName(order.getOrderName());
|
|
|
toolCheckDTO.setApplyType(3);
|
|
|
- toolCheckDTO.setIsTask(lackTools.size()>0?"是":"否");
|
|
|
+ toolCheckDTO.setIsTask(cuttApplyMap.containsKey(planProduct.getId()) ? "是" : "否");
|
|
|
+ toolCheckDTO.setNumber(lackTools.size());
|
|
|
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.setHasCuttingToolsFlag(CollectionUtil.isEmpty(differenceCategory) ? "是" : "否");
|
|
|
toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(differenceCategory) ?
|
|
|
- "缺少:"+lackTools.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(planProduct.getId());
|
|
|
|
|
|
returnList.add(toolCheckDTO);
|
|
@@ -765,10 +500,10 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
|
|
|
}
|
|
|
|
|
|
|
|
|
- public static List<ToolManagement> findChildren(ToolManagement map,List<ToolManagement> list) {
|
|
|
+ public static List<ToolManagement> findChildren(ToolManagement map, List<ToolManagement> list) {
|
|
|
List<ToolManagement> chList = new ArrayList<>();
|
|
|
- for(ToolManagement chMap:list) {
|
|
|
- if(map.getId().longValue() == chMap.getParentId().longValue()){
|
|
|
+ for (ToolManagement chMap : list) {
|
|
|
+ if (map.getId().longValue() == chMap.getParentId().longValue()) {
|
|
|
chList.add(chMap);
|
|
|
}
|
|
|
}
|