lxb 1 rok temu
rodzic
commit
da88185fb2
12 zmienionych plików z 102 dodań i 52 usunięć
  1. 1 0
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/DemoLine/DemoLineConstant.java
  2. 31 13
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/mq/TaskWorkNode.java
  3. 14 9
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskNodeServiceImpl.java
  4. 1 1
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/MachineNodeServiceImpl.java
  5. 2 2
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/ProductionresourceBizServiceImpl.java
  6. 41 24
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/RobotNodeServiceImpl.java
  7. 2 2
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/util/MsgUtil.java
  8. 3 0
      imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/operationManagementCenter/dto/TaskNodeCallBackDTO.java
  9. 3 0
      imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/operationManagementCenter/entity/TaskNode.java
  10. 1 0
      imcs-admin-boot/imcs-common/src/main/java/com/github/zuihou/common/constant/DictionaryKey.java
  11. 1 0
      imcs-admin-boot/imcs-common/src/main/java/com/github/zuihou/common/properties/IgnoreTokenProperties.java
  12. 2 1
      imcs-admin-boot/imcs-tenant-biz/src/main/java/com/github/zuihou/tenant/service/impl/ProductionresourceServiceImpl.java

+ 1 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/DemoLine/DemoLineConstant.java

@@ -41,6 +41,7 @@ public interface DemoLineConstant {
 //    String DEMOLINE_RJQR_ZS = "123";
     // 柔性线配置
     String DEMOLINE_RJQR_ZS = "30";
+    String DEMOLINE_RJQR_SIX = "900";
 
     String DEMOLINE_RJQR_KW1 = "126";
     String DEMOLINE_RJQR_KW2 = "125";

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

@@ -227,14 +227,7 @@ public class TaskWorkNode {
             }
             toolNodeOperationService.checkCondition(toolTaskExecute,conMap);
         }else{
-            //判断是否存在优先级
-        /*Object priorityTaskNodeIdObj = msgUtil.redis_get("PRIORITY_PROCESSING");
-        if(!Objects.isNull(priorityTaskNodeIdObj) && StringUtil.isNotEmpty(priorityTaskNodeIdObj.toString())){
-            String priorityTaskNodeId = priorityTaskNodeIdObj.toString();
-            if(!priorityTaskNodeId.equals(taskNodeId)){
-                throw new InterruptedException("存在优先任务:"+priorityTaskNodeId+",当前消息重新进入队尾");
-            }
-        }*/
+
             //判断是否存在刀具优先执行标识
             Object toolPriorityExecute = msgUtil.redis_get("TOOL_PRIORITY_EXECUTE");//刀具优先执行标识
             if(!Objects.isNull(toolPriorityExecute) && "2".equals(toolPriorityExecute.toString())){
@@ -551,15 +544,40 @@ public class TaskWorkNode {
                                             String jsonParam = getRequestParam(conMap);
                                             //缓存执行当前节点传参
                                             msgUtil.redis_set(CacheKey.TASK_CURRENT_NODE_PARAMS + "_" + taskNode.getId(), jsonParam);
-                                            HttpEntity<String> formEntity = new HttpEntity<String>(jsonParam, headers);
+                                            //HttpEntity<String> formEntity = new HttpEntity<String>(jsonParam, headers);
 
                                             //动态调用接口和新增指令执行时间
                                             log.setZoneId(zZone.getId()).setMethod(method).setExecuteTime(new Date());
-                                            String instructionUrl = conMap.get("instructionUrl") + "/api/" + conMap.get("method").toString();
+                                            //String instructionUrl = conMap.get("instructionUrl") + "/api/" + conMap.get("method").toString();
+                                            String instructionUrl = "127.0.0.1" + "/api/" + conMap.get("method").toString();
                                             logger.info("instructionUrl={}" ,instructionUrl);
                                             logger.info("[ECS指令发送]节点传参={}" ,jsonParam);
-                                            //returnData = restTemplate.postForObject(instructionUrl, formEntity, String.class);
-                                            returnData = "{\"result\": \"true\"}";
+
+                                            if(conMap.get("DEMOLINE_STOCK_TYPE") !=null && conMap.get("DEMOLINE_STOCK_TYPE").toString().equals(DemoLineConstant.RFID_WRITE)){
+                                                String taskType =  conMap.get("DEMOLINE_STOCK_TYPE").toString();
+                                                JSONObject rfidObj = new JSONObject();
+                                                rfidObj.put("url","192.168.1.1");
+                                                rfidObj.put("port","102");
+                                                rfidObj.put("taskId",taskNode.getTaskId());
+                                                rfidObj.put("taskNodeId",taskNode.getId());
+                                                Map<String,Object> map = new HashMap<>();
+                                                if(taskType.equals(DemoLineConstant.RFID_WRITE)){
+                                                    String rfid = "1750794581580058624&1750794605068161024&%C&" + taskNode.getOrderNo() + "&" +  taskNode.getCompleteBatchNo();
+                                                    msgUtil.redis_set(taskNode.getId() + "rfid",rfid);
+                                                    map.put("content",rfid);
+                                                    rfidObj.put("data",map);
+                                                }
+
+                                                rfidObj.put("data",map);
+                                                HttpEntity<String> formEntity = new HttpEntity<String>(rfidObj.toJSONString(), headers);
+                                                //returnData = restTemplate.postForObject(instructionUrl, formEntity, String.class);
+                                                returnData = "{\"result\": \"true\"}";
+                                            }else{
+                                                HttpEntity<String> formEntity = new HttpEntity<String>(jsonParam, headers);
+                                                //returnData = restTemplate.postForObject(instructionUrl, formEntity, String.class);
+                                                returnData = "{\"result\": \"true\"}";
+                                            }
+
                                         }
                                     }
                                 }
@@ -670,7 +688,7 @@ public class TaskWorkNode {
     public boolean checkRobotHand(String handType){
         boolean changeFlag = false;
         //判断当前机器人手抓类型
-        Productionresource productionresource = productionresourceBizMapper.selectOne(new QueryWrap<Productionresource>().lambda().eq(Productionresource::getCode, "JQR"));
+        Productionresource productionresource = productionresourceBizMapper.selectOne(new QueryWrap<Productionresource>().lambda().eq(Productionresource::getCode, "FMS_JQR"));
         if(!handType.equals(productionresource.getHandType())){
             //需要更换机器人手抓
             changeFlag = true;

+ 14 - 9
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskNodeServiceImpl.java

@@ -1722,19 +1722,24 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
         if(StringUtil.isNotEmpty(stockType) && (stockType.equals(DemoLineConstant.RFID_READ)|| stockType.equals(DemoLineConstant.RFID_WRITE))){
             if(stockType.equals(DemoLineConstant.RFID_READ)){
                 //核对 信息
+                String rfid = msgUtil.redis_get(taskNode.getId() + "rfid").toString();
+                if(rfid.equals(taskNode.getRfid())){
+                    log.error("RFID读取值不一致,读取值{}",taskNode.getRfid());
+                    return;
+                }
             }
+        }else if(StringUtil.isNotEmpty(stockType) && stockType.equals(DemoLineConstant.TASK_TYPE_CHANGE)){
+            //更换手抓
+
         }else{
             log.warn("【处理出库入库】");
             R<String> r = demoLineStock(taskNode, task, callBackJson, currWorkpiece);
-            //if(!r.getIsSuccess()){
-            //    throw new BizException("移动点位出入库操作失败");
-            // }
             log.warn("【更新节点状态】");
             updateBizStatus(taskNode, task, taskNodeList, lg, callBackJson, r, currWorkpiece);
         }
 
         //websocket推送TODO临时注释
-        log.warn("【推送任务消息】");
+        //log.warn("【推送任务消息】");
         //msgUtil.pushTask(task);
 
         //推送到消息队列
@@ -1774,7 +1779,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
             if (callBackJson.containsKey(YunjianConstant.YUNJIAN_XBKFLAG)) {//临时存放到了线边库,向虚拟线边库发一个MQ。
                 int count = callBackJson.getString(taskNode.getId().toString() + "count") == null ? -1 :
                         Integer.parseInt(callBackJson.getString(taskNode.getId().toString() + "count"));
-                int limit = 5;
+                int limit = 1;
                 if (!callBackJson.containsKey(YunjianConstant.YUNJIAN_ROBORT_CACHE_FLAG)) {
                     limit = 1;
                 }
@@ -1789,7 +1794,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                 if (callBackJson.containsKey(YunjianConstant.YUNJIAN_ROBORT_CACHE_FLAG)) {//带缓存位机器人的多步骤执行
                     int count = callBackJson.getString(taskNode.getId().toString() + "count") == null ? 0 :
                             Integer.parseInt(callBackJson.getString(taskNode.getId().toString() + "count"));
-                    int limit = 4;
+                    int limit = 0;
                     if (count == limit) {//
                         taskNode.setExeStatus("3").setExeResult("1").setEndTime(new Date());
                         if (null != callBackJson.getString("updateUser")) {
@@ -1972,14 +1977,14 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
         String xbkFlag = callBackJson.getString(YunjianConstant.YUNJIAN_XBKFLAG);
         logger.info("节点{}是否线边库逻辑{}", taskNode.getId(), xbkFlag);
 
-        List<Storge> jqrStorgeList = storgeService.list(Wraps.<Storge>lbQ().isNotNull(Storge::getCampId)
+       /* List<Storge> jqrStorgeList = storgeService.list(Wraps.<Storge>lbQ().isNotNull(Storge::getCampId)
                 .eq(Storge::getLockStatus,"0")
                 .eq(Storge::getPointId,"124"));
         List<Storge> jqrStorges = jqrStorgeList.stream().filter(x -> "124".equals(x.getPointId()) && !"124".equals(x.getName())).collect(Collectors.toList());
         if(CollectionUtil.isNotEmpty(jqrStorges)){
             //存在有机器人手抓锁定节点,释放锁定
             msgUtil.redis_del("PRIORITY_PROCESSING");
-        }
+        }*/
 
         if (StringUtils.isNotBlank(xbkFlag)) {
             if (StringUtils.isBlank(robotStep)) {
@@ -2095,7 +2100,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
         else {
             if (StringUtils.isNotBlank(robotType)) {
                 // 有缓存位机器人,走到最后一步才释放资源
-                if ("1".equals(robotType) && "4".equals(robotStep)) {
+                if ("1".equals(robotType) && "0".equals(robotStep)) {
                     logger.info("节点{}开始判断需要释放占用的资源锁", taskNode.getId());
                     List<Storge> storgeList = storgeService.list(Wraps.<Storge>lbQ().eq(Storge::getCampId,
                             taskNode.getId()));

+ 1 - 1
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/MachineNodeServiceImpl.java

@@ -307,7 +307,7 @@ public class MachineNodeServiceImpl implements NodeOperationService {
                 }
                 else if ("2".equals(functionType)) {
                     if("执行清洗".equals(taskNode.getNodeName())){
-                        map.put("method", moduleInstructions.get(0).getCode());
+                        map.put("method", "StartCleanMachine");
                         map.put("url",plcInfo.get("url"));
                         map.put("port",plcInfo.get("port"));
                         map.put("result", true);

+ 2 - 2
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/ProductionresourceBizServiceImpl.java

@@ -70,8 +70,8 @@ public class ProductionresourceBizServiceImpl extends SuperServiceImpl<Productio
 
     @Override
     public Map<String, Object> pageList(Map<String, Object> map) {
-        //默认显示保障中心设备
-        String org_id = zZoneService.getOne(new LbqWrapper<ZZone>().eq(ZZone::getNo, "safeguard")).getOrgId().toString();
+        //默认显示FMS产线所有设备
+        String org_id = zZoneService.getOne(new LbqWrapper<ZZone>().eq(ZZone::getNo, "capsule")).getOrgId().toString();
         map.put("orgIds", org_id);
         Map<String, Object> returnMap = productionresourceService.pageList(map);
         List<Map> list = returnMap.get("data")==null?new ArrayList():(List)returnMap.get("data");

+ 41 - 24
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/RobotNodeServiceImpl.java

@@ -466,20 +466,20 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                             if(null != targetStorge){
 
                                 //优先级判断
-                                Object priorityTaskNodeIdObj = msgUtil.redis_get("PRIORITY_PROCESSING");
+                                /*Object priorityTaskNodeIdObj = msgUtil.redis_get("PRIORITY_PROCESSING");
                                 if(!Objects.isNull(priorityTaskNodeIdObj) && StringUtil.isNotEmpty(priorityTaskNodeIdObj.toString())){
                                     String priorityTaskNodeId = priorityTaskNodeIdObj.toString();
                                     if(!priorityTaskNodeId.equals(taskNode.getId())){
                                         throw new InterruptedException("存在优先任务:"+priorityTaskNodeId+",当前消息重新进入队尾");
                                     }
-                                }
+                                }*/
 
                                 String targetxbk = returnMap.get("targetxbk")==null?null:(String)returnMap.get("targetxbk");
                                 jqrStorge = storgeService.getById(jqrMap.get(DemoLineConstant.DEMOLINE_RJQR_ZS).get(0).getStorgeId());
                                 jqrStorge.setCompleteBatchNo(task.getCompleteBatchNo());
                                 storgeService.lockStorge(jqrStorge, nextTaskNode.getId());
                                 //锁定一个缓存位
-                                List<ProductionresourcePosition> hcwList = jqrMap.get(jqrMap.keySet().stream().filter(p -> !DemoLineConstant.DEMOLINE_RJQR_ZS.equals(p)).findFirst().get());
+                                List<ProductionresourcePosition> hcwList = jqrMap.get(jqrMap.keySet().stream().filter(p -> !DemoLineConstant.DEMOLINE_RJQR_ZS.equals(p) && !DemoLineConstant.DEMOLINE_RJQR_SIX.equals(p)).findFirst().get());
                                 Storge hcwStorge = storgeService.getById(hcwList.get(0).getStorgeId());
                                 hcwStorge.setCompleteBatchNo(task.getCompleteBatchNo());
                                 storgeService.lockStorge(hcwStorge, nextTaskNode.getId());
@@ -511,17 +511,26 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                                 //目标是线边库
                                 msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_XBK_FLAG + taskNode.getId(), targetxbk, 10, TimeUnit.DAYS);
                                 msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_XBK_FLAG + nextTaskNode.getId(), targetxbk, 10, TimeUnit.DAYS);
-                                dataMap.put("taskType", DictionaryKey.TASK_TYPE.get("MOVE")); //移动类型
+                                dataMap.put("taskType", DictionaryKey.TASK_TYPE.get("CARRY")); //移动类型
+
+                                if(taskNode.getNodeName().indexOf("从立库取") > -1){
+                                    dataMap.put(DemoLineConstant.DEMOLINE_STOCK_TYPE, DemoLineConstant.DEMOLINE_STOCK_TYPE_TRAY_CRK);
+                                }else{
+                                    dataMap.put(DemoLineConstant.DEMOLINE_STOCK_TYPE, DemoLineConstant.DEMOLINE_STOCK_TYPE_ALL_CRK);
+                                }
 
-                                Object startPoint = msgUtil.redis_get("jqr_postion");
+                                //Object startPoint = msgUtil.redis_get("jqr_postion");
                                 //满足条件--机器人空闲,设备或线边库有一个空闲
                                 Map locationMap = new HashMap();
-                                locationMap.put("location",startPoint);  //机器人当前位置
-                                locationMap.put("destLocation",startStore.getPointId()); //零件当前位置-》机器人目标位置
+                                locationMap.put("location",startStore.getPointId());  //零件当前位置
+                                locationMap.put("destLocation",hcwStorge.getPointId()); //机器人缓存位
+                                locationMap.put("taskType",DictionaryKey.TASK_TYPE.get("CARRY"));
+                                locationMap.put("carryType","1");
                                 dataMap.put("data", locationMap);
-                                dataMap.put("taskType",DictionaryKey.TASK_TYPE.get("MOVE"));
-                                dataMap.put("method", "MoveRobotPosition");
+                                dataMap.put("method", "RobotAction");
                                 dataMap.put("result", true);
+                                dataMap.put("fromStorge", startStore);
+                                dataMap.put("toStorge", hcwStorge);
 
                                 // 机器人移动到redis记录实时位子
                                 msgUtil.redis_set(taskNode.getResourceId()+"postion",startStore.getPointId());
@@ -545,23 +554,23 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                     Map locationMap = new HashMap();
                     locationMap.put("location",startStore.getPointId());
                     locationMap.put("destLocation",jqrStorge.getPointId());
+                    locationMap.put("taskType", DictionaryKey.TASK_TYPE.get("CARRY")); //运输类型
+                    locationMap.put("carryType","1");
                     dataMap.put("data", locationMap);
                     //出入库类型
                     dataMap.put(DemoLineConstant.DEMOLINE_STOCK_TYPE, DemoLineConstant.DEMOLINE_STOCK_TYPE_ALL_CRK);
                     //目的地为机器人手臂
                     dataMap.put("toStorge", jqrStorge);
                     dataMap.put("result", true);
-                    dataMap.put("carryType","");
-                    dataMap.put("taskType", DictionaryKey.TASK_TYPE.get("CARRY")); //运输类型
-                }else if(count == 2){
+                }else if(count == 3){
                     //读RFID
-                    dataMap.put("method", "readAndWrite");
+                    dataMap.put("method", "ReadRFID");
                     dataMap.put("taskType", DictionaryKey.TASK_TYPE.get("READ_WRITE")); //读取RFID
                     dataMap.put(DemoLineConstant.DEMOLINE_STOCK_TYPE, DemoLineConstant.RFID_READ);
                     dataMap.put("result", true);
-                }else if(count == 3){
+                }else if(count == 2){
                     //写RFID
-                    dataMap.put("method", "readAndWrite");
+                    dataMap.put("method", "WriteRFID");
                     dataMap.put("taskType", DictionaryKey.TASK_TYPE.get("READ_WRITE")); //读取RFID
                     dataMap.put(DemoLineConstant.DEMOLINE_STOCK_TYPE, DemoLineConstant.RFID_WRITE);
                     dataMap.put("result", true);
@@ -577,14 +586,13 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                     Map locationMap = new HashMap();
                     locationMap.put("location",startStore.getPointId());
                     locationMap.put("destLocation",hcwStorge.getPointId());
+                    locationMap.put("carryType","1");
+                    locationMap.put("taskType", DictionaryKey.TASK_TYPE.get("CARRY")); //运输类型
                     dataMap.put("data", locationMap);
 
                     dataMap.put("toStorge", hcwStorge);
                     dataMap.put("result", true);
 
-                    dataMap.put("carryType","");
-                    dataMap.put("taskType", DictionaryKey.TASK_TYPE.get("CARRY")); //运输类型
-
                 }
             }else if (BizConstant.ROBOT_TYPE_NOCACHE.equals(zoneService.getRobotTypebyZone(zoneName))) {
                 BomProcedure procedure = bomProcedureService.getById(task.getProcedureId());
@@ -794,17 +802,26 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                             //当前零件满足锁定节点的零件一致允许移动
                             if(storageCount>0) {
 
-                                Object startPoint = msgUtil.redis_get("jqr_postion");
+                                //Object startPoint = msgUtil.redis_get("jqr_postion");
+                                TaskNode beforeTaskNode = taskNodeService.getNextNTaskNode(taskNode, -1);
+                                if(beforeTaskNode.getNodeName().indexOf("从立库取") > -1){
+                                    dataMap.put(DemoLineConstant.DEMOLINE_STOCK_TYPE, DemoLineConstant.DEMOLINE_STOCK_TYPE_TRAY_CRK);
+                                }else{
+                                    dataMap.put(DemoLineConstant.DEMOLINE_STOCK_TYPE, DemoLineConstant.DEMOLINE_STOCK_TYPE_ALL_CRK);
+                                }
 
                                 Map locationMap = new HashMap();
-                                locationMap.put("location",startPoint);  //机器人当前位置
+                                locationMap.put("location",startStore.getPointId());  //机器人当前位置
                                 locationMap.put("destLocation", targetStorge.getPointId());
+                                locationMap.put("taskType",DictionaryKey.TASK_TYPE.get("CARRY"));
+                                locationMap.put("carryType","1");
                                 dataMap.put("data", locationMap);
 
                                 dataMap.put("method", "MoveRobotPosition");
-                                dataMap.put("taskType",DictionaryKey.TASK_TYPE.get("MOVE"));
                                 dataMap.put("result", true);
 
+                                dataMap.put("fromStorge", startStore);
+                                dataMap.put("toStorge", targetStorge);
                                 // 机器人移动到redis记录实时位子
                                 msgUtil.redis_set(taskNode.getResourceId()+"postion",targetStorge.getPointId());
                                 msgUtil.redis_set("jqr_postion",targetStorge.getPointId());
@@ -1333,12 +1350,12 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                         returnMap.put("store",targetStorge);
                         returnMap.put("targetxbk","0");
 
-                        if("1".equals(bomzZone.getRunMode())){//自动模式下,
+                        /*if("1".equals(bomzZone.getRunMode())){//自动模式下,
                             TaskNode nextTaskNode = taskNodeService.getNextNTaskNode(taskNode,1);
                             if("04".equals(nextTaskNode.getInterfaceType())){//上料、下料、翻面
                                 xbkFlag = "1";
                             }
-                        }
+                        }*/
                     }else{//需要放到线边库
 
                         TaskNode nextTaskNode = taskNodeService.getNextNTaskNode(taskNode,1);
@@ -1432,7 +1449,7 @@ public class RobotNodeServiceImpl implements NodeOperationService {
 
         List<BomProcedureTray>trayList = procedureTrayService.list(Wraps.<BomProcedureTray>lbQ().eq(BomProcedureTray::getProcedureId, task.getProcedureId()).orderByAsc(BomProcedureTray::getBizType));
         List<Long>trayIdList = trayList.stream().map(t->t.getTrayId()).collect(Collectors.toList());
-        // 判断夹具是否有可用的,查询330个库位信息中是否还有夹具
+        // 判断夹具是否有可用的,查询线边库位信息中是否还有夹具
         List<StockInfo> allStockInfos = stockInfoMapper.selectList(Wraps.<StockInfo>lbQ().in(StockInfo::getGoodsId,trayIdList).in(StockInfo::getStorgeId,startProductionresourcePositionIds).eq(StockInfo::getLockStatus, "1").orderByAsc(StockInfo::getGoodsType));
 
         MToolClamp clamp = toolClampService.getById(trayIdList.get(1));

+ 2 - 2
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/util/MsgUtil.java

@@ -486,7 +486,7 @@ public class MsgUtil implements ApplicationContextAware {
 
             if(callBackJson.containsKey(YunjianConstant.YUNJIAN_XBKFLAG)){//临时存放到了线边库,向虚拟线边库发一个MQ。
                     int count =  callBackJson.getString(taskNode.getId().toString()+"count")==null?-1:Integer.parseInt(callBackJson.getString(taskNode.getId().toString()+"count"));
-                    int limit =5;
+                    int limit =1;
                     if(!callBackJson.containsKey(YunjianConstant.YUNJIAN_ROBORT_CACHE_FLAG)) {
                         limit =1;
                     }
@@ -545,7 +545,7 @@ public class MsgUtil implements ApplicationContextAware {
                 jsonObject.put("bizType", BizConstant.MQ_TASK_NODE_TYPE_COMMON);
                 if(callBackJson.containsKey(YunjianConstant.YUNJIAN_ROBORT_CACHE_FLAG)){//带缓存位机器人的多步骤执行
                     int count =  callBackJson.getString(taskNode.getId().toString()+"count")==null?0:Integer.parseInt(callBackJson.getString(taskNode.getId().toString()+"count"));
-                    int limit =4;
+                    int limit =0;
                     if(count<limit){//
                         count = ++count;
                         jsonObject.put(taskNode.getId().toString()+"count",count);

+ 3 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/operationManagementCenter/dto/TaskNodeCallBackDTO.java

@@ -67,6 +67,9 @@ public class TaskNodeCallBackDTO implements Serializable {
     @ApiModelProperty(value = "工位id")
     private String stationId;
 
+    @ApiModelProperty(value = "rfid")
+    private String rfid;
+
     @ApiModelProperty("任务类型")
     private String taskType;
 

+ 3 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/operationManagementCenter/entity/TaskNode.java

@@ -474,4 +474,7 @@ public class TaskNode extends Entity<Long> {
     @TableField(exist = false)
     private Long deviceId;
 
+    @ApiModelProperty(value = "rfid")
+    @TableField(exist = false)
+    private String rfid;
 }

+ 1 - 0
imcs-admin-boot/imcs-common/src/main/java/com/github/zuihou/common/constant/DictionaryKey.java

@@ -134,6 +134,7 @@ public interface DictionaryKey {
             put("框体类加工单元", "KT_01,KT_02,KT_03");
             put("舱体类加工单元", "CT_01,CT_02,CT_03");
             put("plateAndClamp", "FMS_XBK");
+            put("FMS2.0", "FMS_XBK");
 
             // 示范线配置
 //            put("质量中心-capsule", "XBK_01");

+ 1 - 0
imcs-admin-boot/imcs-common/src/main/java/com/github/zuihou/common/properties/IgnoreTokenProperties.java

@@ -38,6 +38,7 @@ public class IgnoreTokenProperties {
             "/mock/**",
             "/agv/**",
             "/taskNode/taskNodeCallback/**",
+            "/toolTaskNode/toolTaskNodeCallback/**",
             "/workpiece/handMode/**",
             //"/tray/**",
             //"/mToolClamp/**",

+ 2 - 1
imcs-admin-boot/imcs-tenant-biz/src/main/java/com/github/zuihou/tenant/service/impl/ProductionresourceServiceImpl.java

@@ -778,7 +778,8 @@ public class ProductionresourceServiceImpl extends SuperCacheServiceImpl<Product
      * 拼出所有实时采集表,用于查询生产资源实时数据
      */
     public String getGatherSQL(){
-        String tenantCode = BaseContextHandler.getTenant();
+        //String tenantCode = BaseContextHandler.getTenant();
+        String tenantCode = "0000";
         String sql ="select * from information_schema.TABLES where TABLE_NAME like '"+BizConstant.DYNTABLE_NAME+"%' and table_schema = '"+BizConstant.BASE_DATABASE+"_"+tenantCode+"'";
         List<Map>tableList = baseMapper.selectSql(sql);
         String unionSql = "";