فهرست منبع

回调交互异常重置功能处理

oyq28 1 روز پیش
والد
کامیت
898ab2b7f1

+ 17 - 17
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/externalApi/ProductionTasksController.java

@@ -730,14 +730,15 @@ public class ProductionTasksController {
     }
 
      private String calDeviceRate(String deviceId, String date){
-        Map<String, Object> params = Maps.newHashMap();
-        //IPage
-         params.put("resourceId", deviceId);
-         params.put("startDate", date);
-         params.put("endDate",  DateUtil.dateToString0(new Date(), "yyyy-MM-dd"));
-         IPage<DeviceResourceSumVo> page = productLinePerformanceService.deviceResourceSum(new Page(1L, 10L), params);
-         DeviceResourceSumVo deviceResourceSumVo = page.getRecords().size()>0? page.getRecords().get(0) : null;
-         if(deviceResourceSumVo == null) {
+        //线下设备利用率统计
+//        Map<String, Object> params = Maps.newHashMap();
+//        //IPage
+//         params.put("resourceId", deviceId);
+//         params.put("startDate", date);
+//         params.put("endDate",  DateUtil.dateToString0(new Date(), "yyyy-MM-dd"));
+//         IPage<DeviceResourceSumVo> page = productLinePerformanceService.deviceResourceSum(new Page(1L, 10L), params);
+//         DeviceResourceSumVo deviceResourceSumVo = page.getRecords().size()>0? page.getRecords().get(0) : null;
+//         if(deviceResourceSumVo == null) {
              Map paramsMap = Maps.newHashMap();
              paramsMap.put("currDate", date);
              paramsMap.put("resourceId", deviceId);
@@ -746,13 +747,13 @@ public class ProductionTasksController {
              String calTime = calStatusLogTime.get("calTime").toString();
              float calRate = 100 * Integer.parseInt(calTime)/1440;
              return String.valueOf(Math.round(calRate));
-         }
+         //}
 
-         float avgActualTime = Integer.parseInt(deviceResourceSumVo.getAvgRealTime())/ 1230;
-         float performanceRate = 100 * Float.parseFloat(deviceResourceSumVo.getTotalExpectTime())/ Integer.parseInt(deviceResourceSumVo.getTotalRealTime());
-
-         int rateVal = Math.round(avgActualTime * performanceRate);
-        return String.valueOf(rateVal);
+//         float avgActualTime = Integer.parseInt(deviceResourceSumVo.getAvgRealTime())/ 1230;
+//         float performanceRate = 100 * Float.parseFloat(deviceResourceSumVo.getTotalExpectTime())/ Integer.parseInt(deviceResourceSumVo.getTotalRealTime());
+//
+//         int rateVal = Math.round(avgActualTime * performanceRate);
+//        return String.valueOf(rateVal);
      }
 
     @Scheduled(cron="0 0/3 * * * ?")
@@ -768,10 +769,9 @@ public class ProductionTasksController {
             AAutoNodeLog aAutoNodeLog = aAutoNodeLogService.confirmCallback();
             if(aAutoNodeLog!=null){
                 Map map = Maps.newHashMap();
-                map.put("taskNodeId", aAutoNodeLog.getTaskNodeId());
-                map.put("taskId", aAutoNodeLog.getTaskId());
+                map.put("taskNodeId", aAutoNodeLog.getTaskNodeId().toString());
+                map.put("taskId", aAutoNodeLog.getTaskId().toString());
                 toolbarController.resend(map);
-                msgUtil.createWarnLog(aAutoNodeLog.getTaskNodeId()+"节点执行错误或重复超时已重置", "DataException");
             }
         }
         return R2.success(true);

+ 6 - 3
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/operationManagementCenter/ToolbarController.java

@@ -334,15 +334,17 @@ public class ToolbarController {
         if(StringUtils.isEmpty(taskNodeId) || StringUtils.isEmpty(taskId) || taskNode==null) return R2.fail("传参数据不允许为空");
 
         if(imcsTOccsEnable){
-            R result = this.taskNodeHandle("/api/GetCallbackList", data);
-            if (result.getIsError()) return fail("指令不存在");
+            data.put("state", "0");
+            JSONObject conditions = (JSONObject)JSONObject.toJSON(data);
+            String strResult = msgUtil.getCcsData("/api/GetCallBackList", conditions, taskNode);
+            if (StringUtils.isEmpty(strResult) ) return fail("指令不存在");
 
             TTask task = taskService.getById(taskId);
 
             TaskNode nextNode = taskNodeService.getNextNTaskNode(taskNode, 1);
             if (task.getStatus().equals("3") || (nextNode!=null && nextNode.getExeStatus().equals("3")))
                 return fail("节点任务已经完成无须重发指令");
-            JSONArray resultData = JSONArray.parseArray(result.getData().toString());
+            JSONArray resultData = JSONArray.parseArray(strResult);
             if (resultData.size() == 0) return fail("回调数据不存在");
             jsonObject = (JSONObject) resultData.get(resultData.size() - 1);
             if (jsonObject.containsKey("state") && jsonObject.getString("state").equals("true")) {
@@ -371,6 +373,7 @@ public class ToolbarController {
                     msgUtil.redis_del(cacheUid);
                 }
                 msgUtil.redis_fuzzy_del(YunjianConstant.YUNJIAN_SCHEDULE_LIST, taskNodeId);
+                msgUtil.createWarnLog(taskNodeId +"节点执行错误或重复超时已重置", "DataException");
             }
         return success();
     }