From c8de85433e5800a7b5595a96d99f4b49f24c38b4 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期二, 16 十二月 2025 13:11:23 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/Utils.java | 86 ++++++++++++++++++++++++++++++-------------
1 files changed, 60 insertions(+), 26 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index b474b9e..2a27fa0 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -7,31 +7,31 @@
import com.core.common.Arith;
import com.core.common.Cools;
import com.core.common.SpringUtils;
+import com.core.exception.CoolException;
import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.WrkMastService;
import com.zy.common.utils.RedisUtil;
+import com.zy.core.News;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.CrnModeType;
import com.zy.core.enums.RedisKeyType;
import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.WrkIoType;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.thread.CrnThread;
+import java.lang.reflect.Field;
import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.*;
public class Utils {
private static final String LOC_NO_FLAG = "-";
private static final DecimalFormat fmt = new DecimalFormat("##0.00");
+ private static Integer defaultDeviceLogCollectTime = 200;
+ private static Long lastUpdateDeviceLogCollectTime = -1L;
public static float scale(Float f){
if (f == null || f == 0f || Float.isNaN(f)) {
@@ -105,29 +105,37 @@
//鑾峰彇璁惧鏃ュ織閲囬泦鏃堕棿
public static int getDeviceLogCollectTime() {
- int defaultTime = 200;
- try {
- RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
- if (redisUtil == null) {
- return defaultTime;
- }
+ if (defaultDeviceLogCollectTime == null || System.currentTimeMillis() - lastUpdateDeviceLogCollectTime > 60 * 1000) {
+ int defaultTime = 200;
+ lastUpdateDeviceLogCollectTime = System.currentTimeMillis();
+ try {
+ RedisUtil redisUtil = null;
+ try {
+ redisUtil = SpringUtils.getBean(RedisUtil.class);
+ } catch (CoolException coolException) {
- Object object = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key);
- if (object == null) {
- return defaultTime;
- }
+ }
+ if (redisUtil == null) {
+ return defaultTime;
+ }
- HashMap<String, String> systemConfigMap = (HashMap<String, String>) object;
- String deviceLogCollectTime = systemConfigMap.get("deviceLogCollectTime");
- if(deviceLogCollectTime == null){
- return defaultTime;
- }
+ Object object = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key);
+ if (object == null) {
+ return defaultTime;
+ }
- return Integer.parseInt(deviceLogCollectTime);
- }catch (Exception e){
- e.printStackTrace();
+ HashMap<String, String> systemConfigMap = (HashMap<String, String>) object;
+ String deviceLogCollectTime = systemConfigMap.get("deviceLogCollectTime");
+ if(deviceLogCollectTime == null){
+ return defaultTime;
+ }
+
+ return Integer.parseInt(deviceLogCollectTime);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
}
- return defaultTime;
+ return defaultDeviceLogCollectTime;
}
//鑾峰彇鍏ュ簱浠诲姟鍙敤鎺�
@@ -183,6 +191,16 @@
if (crnProtocol.getMode() != CrnModeType.AUTO.id) {
continue;
}
+
+ List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .eq("crn_no", basCrnp.getCrnNo())
+ .eq("io_type", WrkIoType.IN.id)
+ );
+ // 妫�鏌ユ槸鍚﹁秴杩囨渶澶у叆搴撲换鍔℃暟
+ if(inWrkMasts.size() >= basCrnp.getMaxInTask()){
+ News.info("鍫嗗灈鏈�:{} 宸茶揪鏈�澶у叆搴撲换鍔℃暟锛屽綋鍓嶄换鍔℃暟:{}", basCrnp.getCrnNo(), inWrkMasts.size());
+ continue;
+ }
enabledCrnps.add(basCrnp);
}
@@ -201,4 +219,20 @@
}
return list;
}
+
+
+ public static Map<String, Object> convertObjectToMap(Object obj) {
+ Map<String, Object> map = new HashMap<>();
+ Class<?> clazz = obj.getClass();
+ Field[] fields = clazz.getDeclaredFields();
+ for (Field field : fields) {
+ field.setAccessible(true);
+ try {
+ map.put(field.getName(), field.get(obj));
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+ return map;
+ }
}
--
Gitblit v1.9.1