Explorar el Código

Merge remote-tracking branch 'origin/master' into master

姚云青 hace 2 años
padre
commit
1ab1b5ab62

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

@@ -238,6 +238,7 @@ public class TaskWorkNode {
 
 //        logger.info("==================请求地址=============" + autoProgramUrl);
         String returnData = "";
+        boolean specialCallBackMyselfFlag = false;
         Map conMap = new HashMap();
         try {
             if ("04".equals(taskNode.getInterfaceType())) {
@@ -275,7 +276,6 @@ public class TaskWorkNode {
 
                 //运行条件验证
                 conMap = checkCon(taskNode, tTask, queryMap);
-
                 msgUtil.redis_set_map(CacheKey.TASK_CURRENT_NODE_CONDITION + "_" + taskNode.getId(), conMap);
                 if((boolean)conMap.get("result")){
                     if ("03".equals(taskNode.getInterfaceType())) {
@@ -312,20 +312,50 @@ public class TaskWorkNode {
                         }
                     } else {
                         if (!"04".equals(taskNode.getInterfaceType())) {
-                            //组装接口参数
-                            HttpHeaders headers = new HttpHeaders();
-                            headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8"));
-                            String jsonParam = getRequestParam(conMap);
-                            //缓存执行当前节点传参
-                            msgUtil.redis_set(CacheKey.TASK_CURRENT_NODE_PARAMS + "_" + taskNode.getId(), jsonParam);
-                            HttpEntity<String> formEntity = new HttpEntity<String>(jsonParam, headers);
+                            // 判断当前工序是三坐标或者前一工序是三坐标,分别将三坐标的放和三坐标下一工序的取不调用ccs接口
+                            String method = conMap.get("method").toString();
+                            ResourceBusiness resourceBusiness = resourceBusinessService.getById(tTask.getResourceBusinessId());
+                            TaskNode beforTaskNode = null;
+                            TTask beforTask = null;
+                            ResourceBusiness beforResourceBusiness = null;
+                            if(taskNode.getCompleteBatchSort() != 1){
+                                beforTaskNode = taskNodeService.getNextNTaskNode(taskNode,-1);
+                                beforTask = taskMapper.selectById(beforTaskNode.getTaskId());
+                                beforResourceBusiness = resourceBusinessService.getById(beforTask.getResourceBusinessId());
+                            }
 
-                            //动态调用接口和新增指令执行时间
-                            log.setZoneId(zZone.getId()).setMethod(conMap.get("method").toString()).setExecuteTime(new Date());
-                            String instructionUrl = conMap.get("instructionUrl") + "/api/" + conMap.get("method").toString();
-                            logger.info("instructionUrl=" + instructionUrl);
-                            logger.info("jsonParam=" + jsonParam);
-                            returnData = restTemplate.postForObject(instructionUrl, formEntity, String.class);
+                            if("打标业务".equals(resourceBusiness.getName()) && "SendServoStacker".equals(method)){
+                                specialCallBackMyselfFlag = true;
+                                String jsonParam = getRequestParam(conMap);
+                                //缓存执行当前节点传参
+                                msgUtil.redis_set(CacheKey.TASK_CURRENT_NODE_PARAMS + "_" + taskNode.getId(), jsonParam);
+                                JSONObject ret = new JSONObject();
+                                ret.put("result","true");
+                                returnData = ret.toJSONString();
+                            }else if(resourceBusiness.getName().contains("下料业务") && "GetServoStacker".equals(method) && "打标业务".equals(beforResourceBusiness.getName())){
+                                specialCallBackMyselfFlag = true;
+                                String jsonParam = getRequestParam(conMap);
+                                //缓存执行当前节点传参
+                                msgUtil.redis_set(CacheKey.TASK_CURRENT_NODE_PARAMS + "_" + taskNode.getId(), jsonParam);
+                                JSONObject ret = new JSONObject();
+                                ret.put("result","true");
+                                returnData = ret.toJSONString();
+                            }else{
+                                //组装接口参数
+                                HttpHeaders headers = new HttpHeaders();
+                                headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8"));
+                                String jsonParam = getRequestParam(conMap);
+                                //缓存执行当前节点传参
+                                msgUtil.redis_set(CacheKey.TASK_CURRENT_NODE_PARAMS + "_" + taskNode.getId(), jsonParam);
+                                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();
+                                logger.info("instructionUrl=" + instructionUrl);
+                                logger.info("jsonParam=" + jsonParam);
+                                returnData = restTemplate.postForObject(instructionUrl, formEntity, String.class);
+                            }
                         }
                     }
                 }
@@ -373,6 +403,20 @@ public class TaskWorkNode {
             } else {
                 autoNodeLogService.updateAllById(log);
             }
+            if(specialCallBackMyselfFlag){
+                // 打标机特殊处理
+                JSONObject callBackData = new JSONObject();
+                callBackData.put("code","1");
+                callBackData.put("msg","操作成功");
+                callBackData.put("taskId",taskNode.getTaskId());
+                callBackData.put("taskNodeId",taskNode.getId());
+                String taskNodeCallbackUrl = (null == msgUtil.redis_get(ParameterKey.PARAMETERS)? "": ((Map<String,String>)msgUtil.redis_get(ParameterKey.PARAMETERS)).get(ParameterKey.TASKNODECALLBACKURL).toString());
+                //组装接口参数
+                HttpHeaders headers = new HttpHeaders();
+                headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8"));
+                HttpEntity<String> formEntity = new HttpEntity<String>(callBackData.toJSONString(), headers);
+                restTemplate.postForObject(taskNodeCallbackUrl, formEntity, String.class);
+            }
             if(!(boolean)conMap.get("result")){
                 throw new InterruptedException("设备资源不通过,消息重新进入队尾");
             }

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

@@ -1654,7 +1654,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                     if("1".equals(tray.getBizType())){
                         break;
                     }
-                    result = stockInfoService.procedureTrayStockOut(tray, Long.parseLong(targetStorgeId) , task.getCompleteBatchNo());
+                    result = stockInfoService.procedureTrayStockOut(tray, Long.parseLong(srcStorgeId) , task.getCompleteBatchNo());
                 }
             }
             return result;

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

@@ -385,7 +385,7 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
         Productionresource productionresource = productionresourceBizMapper.selectById(bomProcedureProductionresource.getResourceId());
 
 
-        if (!machineMap.containsKey(bomProcedureProductionresource.getResourceId())) {
+        if (!machineMap.containsKey(bomProcedureProductionresource.getResourceId()) && "1".equals(productionresource.getStatus()) && "1".equals(productionresource.getOnlineStatus())) {
             machine.setId(bomProcedureProductionresource.getResourceId().longValue());
             // 添加设备维保时间片
             LbqWrapper<Repair> repairWrapper = new LbqWrapper<Repair>().eq(Repair::getProductionresourceId, bomProcedureProductionresource.getResourceId()).gt(Repair::getRepairStartTime, cn.hutool.core.date.DateUtil.toLocalDateTime(cn.hutool.core.date.DateUtil.date()));

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

@@ -163,11 +163,11 @@ public class MachineNodeServiceImpl implements NodeOperationService {
         String paramKey = zZone.getNo() + "_plc";
         instructionUrl = (null == msgUtil.redis_get(ParameterKey.PARAMETERS)? "": ((Map<String,String>)msgUtil.redis_get(ParameterKey.PARAMETERS)).get(paramKey).toString());
         // TODO 后续删除代码,目前条用模拟接口
-        if("framework".equals(zZone.getNo())){
-            instructionUrl = instructionUrl.replace("8086","8083");
-        }else{
+//        if("framework".equals(zZone.getNo())){
+//            instructionUrl = instructionUrl.replace("8086","8083");
+//        }else{
             instructionUrl = instructionUrl.replace("8081","8083");
-        }
+//        }
     }
 
     @Override
@@ -225,6 +225,7 @@ public class MachineNodeServiceImpl implements NodeOperationService {
             case "打标机":
                 //执行打标程序
                 if("2".equals(functionType) && moduleInstructions.size() == 1){
+                    instructionUrl = instructionUrl.replace("8083","8081");
                     //打标
 //                    map.put("zkIp", ZK_ip_rxx);
 //                    map.put(DemoLineConstant.DEMOLINE_BIZ_TYPE, "print");
@@ -241,9 +242,9 @@ public class MachineNodeServiceImpl implements NodeOperationService {
                     JSONObject data = new JSONObject();
                     //默认配置  后期可改可去
 
-                    if("capsule".equals(zZone.getNo())){
+                    if("capsule".equals(bomzZone.getNo())){
                         data.put("typeNo", "C");
-                    }else if("framework".equals(zZone.getNo())){
+                    }else if("framework".equals(bomzZone.getNo())){
                         data.put("typeNo", "K");
                     }
                     // TODO工件增加流水号

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

@@ -172,9 +172,9 @@ public class RobotNodeServiceImpl implements NodeOperationService {
         instructionUrl = (null == msgUtil.redis_get(ParameterKey.PARAMETERS)? "": ((Map<String,String>)msgUtil.redis_get(ParameterKey.PARAMETERS)).get(paramKey).toString());
 
         // TODO 后续删除,目前条用模拟接口
-        if("safeguard".equals(zZone.getNo())){
-            instructionUrl = instructionUrl.replace("8081","8083");
-        }
+//        if("safeguard".equals(zZone.getNo())){
+//            instructionUrl = instructionUrl.replace("8081","8083");
+//        }
     }
 
     @Override

+ 1 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/edgeLibrary/StockInfoMapper.xml

@@ -199,6 +199,7 @@
             ON ippp.storge_id = issi.storge_id
         WHERE ippp.resource_id IN (${resourceIds})
         AND issi.storge_id IS NULL
+        AND ippp.status = '1'
         ORDER BY ippp.storge_id
     </select>
 </mapper>