浏览代码

更新刀具切换功能

oyq28 2 月之前
父节点
当前提交
97275d7734

+ 13 - 6
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/mq/TaskWorkNode.java

@@ -436,24 +436,31 @@ public class TaskWorkNode {
                                 //天轨刀具换刀重新出发取操作流程
                                 if(StringUtils.isNotEmpty(orderTask.getConfBatchNo()) && orderTask.getIsMachine().equals("0")){
                                     String confBatchNo = orderTask.getConfBatchNo();
-                                    List<CuttingTool> cuttingToolList = cuttingToolService.list(new LbqWrapper<CuttingTool>().eq(CuttingTool::getCuttingToolNo, confBatchNo).or().eq(CuttingTool::getCuttingToolName, confBatchNo));
-                                    if(cuttingToolList.size() == 0 ){
+                                    List<Long> cuttingToolIdList = cuttingToolService.list(new LbqWrapper<CuttingTool>().eq(CuttingTool::getCuttingToolNo, confBatchNo).or().eq(CuttingTool::getCuttingToolName, confBatchNo)).stream().map(CuttingTool::getId).collect(Collectors.toList());
+                                    if(cuttingToolIdList.size() == 0 ){
                                         msgUtil.createWarnLog("指定待取刀具数据不存在", "DataException");
                                         return;
                                     }
-                                    CuttingTool cuttingTool = cuttingToolList.get(0);
-                                    StockInfo stockInfo = stockInfoMapper.selectOne(new LbqWrapper<StockInfo>().eq(StockInfo::getGoodsType, "6").eq(StockInfo::getGoodsId, cuttingTool.getId()));
-                                    if(null == stockInfo){
+                                    List<StockInfo> stockInfoList = stockInfoMapper.selectList(new LbqWrapper<StockInfo>().eq(StockInfo::getGoodsType, "6").in(StockInfo::getGoodsId, cuttingToolIdList));
+                                    List<Long> storgeIdList = stockInfoList.stream().map(StockInfo::getStorgeId).collect(Collectors.toList());
+                                    List<ProductionresourcePosition> productionresourcePositionList = productionresourcePositionService.getFreeProductionresourcePositionByNos(new String[]{"CT_02"});
+
+                                    productionresourcePositionList =  productionresourcePositionList.stream().filter(item -> {
+                                        return storgeIdList.contains(item.getStorgeId());
+                                    }).collect(Collectors.toList());
+
+                                    if(productionresourcePositionList.size() == 0){
                                         msgUtil.createWarnLog("指定待取刀具库位信息不存在", "DataException");
                                         return;
                                     }
+
+                                    ProductionresourcePosition productionresourcePosition = productionresourcePositionList.get(0);
                                     String hostSystemUrl = (null == msgUtil.redis_get(ParameterKey.PARAMETERS)? "": ((Map<String,String>)msgUtil.redis_get(ParameterKey.PARAMETERS)).get(ParameterKey.ECSSYSTEMURL).toString());
                                     String addCutToolTaskUrl = hostSystemUrl + "/api/authority/toolbar/addCutToolTask";
 
                                     //触发取刀架刀具放入机床
                                     //同步添加天轨处理订单
                                     JSONObject params = new JSONObject();
-                                    ProductionresourcePosition productionresourcePosition = productionresourcePositionService.getOne(new LbqWrapper<ProductionresourcePosition>().eq(ProductionresourcePosition::getStorgeId, stockInfo.getStorgeId()).last("LIMIT 1"));
                                     params.put("start", "CT_"+ productionresourcePosition.getPointId());
                                     params.put("goal", orderTask.getStart());
                                     params.put("cutGoalNo", orderTask.getCutStartNo());