From ca7685886ae8a4a4bb6717d48a1c48cf3934faf3 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 21 十一月 2025 22:20:25 +0800
Subject: [PATCH] oa调整
---
cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java | 6 -
ruoyi-admin-ztns/src/main/resources/application-ztns.yml | 20 ++++++
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProcess.java | 2
cnas-device/src/main/java/com/ruoyi/device/service/impl/CollectBridgeServiceImpl.java | 48 +++++++++++++---
ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtil.java | 10 +++
cnas-device/src/main/java/com/ruoyi/device/pojo/CollectBridge.java | 6 +
cnas-device/src/main/java/com/ruoyi/device/constant/ElongationMqttConstants.java | 1
cnas-device/src/main/java/com/ruoyi/device/service/CollectBridgeService.java | 4
cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java | 12 +++
ruoyi-admin-ztns/src/main/resources/application-druid.yml | 27 +++++++-
cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java | 44 ++++++++++++++
11 files changed, 153 insertions(+), 27 deletions(-)
diff --git a/cnas-device/src/main/java/com/ruoyi/device/constant/ElongationMqttConstants.java b/cnas-device/src/main/java/com/ruoyi/device/constant/ElongationMqttConstants.java
index 1d8026c..c8ec83e 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/constant/ElongationMqttConstants.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/constant/ElongationMqttConstants.java
@@ -5,6 +5,7 @@
*/
public class ElongationMqttConstants {
public final static String NSTSSC_TSSC_SCL = "NSTSSC.TSSC.SCL";
+ public final static String NSTSSC1_TSSC_SCL = "NSTSSC1.TSSC.SCL";
public final static String NSTSSC_TSSC_LSSDSD = "NSTSSC.TSSC.LSSDSD";
diff --git a/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java b/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java
index 1b7d540..5ff8c3e 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java
@@ -72,11 +72,19 @@
switch (topic){
case "/ztt/v3/2455220/publish":
//鑰愪笣锛氱洿娴佺數闃绘暟鎹В鏋怤S-ER02001
- mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse);
+ mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse,"NS-ER02001");
break;
+// case "/aiot/8fac9fa0-c517-11f0-954c-255ce11213f1":
+// //鑰愪笣锛氱洿娴佺數闃绘暟鎹В鏋怤S-ER02002
+// mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse,"NS-ER02002");
+// break;
case "/ztt/v3/2455221/publish":
//鑰愪笣锛氫几闀跨巼鏁版嵁瑙f瀽NS-FM05003
- mqCallback.collectBridgeService.elongationDataAnalysis(parse);
+ mqCallback.collectBridgeService.elongationDataAnalysis(parse,"NS-FM05003");
+// break;
+// case "/aiot/38568140-c697-11f0-8b13-c14e8310d70b":
+// //鑰愪笣锛氫几闀跨巼鏁版嵁瑙f瀽NS-FM05002
+// mqCallback.collectBridgeService.elongationDataAnalysis(parse,"NS-FM05002");
break;
}
} catch (Exception e) {
diff --git a/cnas-device/src/main/java/com/ruoyi/device/pojo/CollectBridge.java b/cnas-device/src/main/java/com/ruoyi/device/pojo/CollectBridge.java
index 8d65fc2..0e672b4 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/pojo/CollectBridge.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/pojo/CollectBridge.java
@@ -27,6 +27,9 @@
@ApiModelProperty("濮旀墭缂栧彿")
private String entrustCode;
+ @ApiModelProperty("璁惧缂栧彿")
+ private String deviceCode;
+
@ApiModelProperty("閲囬泦鍊�")
private BigDecimal collectValue;
@@ -39,8 +42,9 @@
@ApiModelProperty("鏈�鍚庝竴娆¢噰闆嗘椂闂�")
private LocalDateTime lastCollectDate;
- public CollectBridge(String entrustCode, BigDecimal collectValue, Double collectTemperature, LocalDateTime firstCollectDate, LocalDateTime lastCollectDate) {
+ public CollectBridge(String entrustCode,String deviceCode, BigDecimal collectValue, Double collectTemperature, LocalDateTime firstCollectDate, LocalDateTime lastCollectDate) {
this.entrustCode = entrustCode;
+ this.deviceCode = deviceCode;
this.collectValue = collectValue;
this.collectTemperature = collectTemperature;
this.firstCollectDate = firstCollectDate;
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/CollectBridgeService.java b/cnas-device/src/main/java/com/ruoyi/device/service/CollectBridgeService.java
index 4e9faf5..3b1846d 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/CollectBridgeService.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/CollectBridgeService.java
@@ -18,8 +18,8 @@
*/
void addBridgeValue(JSONObject jsonObject);
- void dcResistanceDataAnalysis(String jsonStr);
+ void dcResistanceDataAnalysis(String jsonStr,String deviceCode);
- void elongationDataAnalysis(String jsonStr);
+ void elongationDataAnalysis(String jsonStr,String deviceCode);
}
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/CollectBridgeServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/CollectBridgeServiceImpl.java
index 5968267..6c7ac21 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/CollectBridgeServiceImpl.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/CollectBridgeServiceImpl.java
@@ -17,13 +17,12 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.Duration;
-import java.time.Instant;
import java.time.LocalDateTime;
-import java.time.ZoneId;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -113,7 +112,8 @@
}
@Override
- public void dcResistanceDataAnalysis(String jsonStr) {
+ @Transactional(rollbackFor = Exception.class)
+ public void dcResistanceDataAnalysis(String jsonStr,String deviceCode) {
Map<String, Object> dataMap = JSONObject.parseObject(jsonStr, new TypeReference<Map<String, Object>>(){}.getType());
if(CollectionUtil.isNotEmpty(dataMap) && Objects.nonNull(dataMap.get("data"))){
List<DeviceMqttVO> dataList = JSONArray.parseObject(dataMap.get("data").toString(), new TypeReference<List<DeviceMqttVO>>(){}.getType());
@@ -131,20 +131,23 @@
.set(CollectBridge::getCollectValue,value)
.set(CollectBridge::getCollectTemperature,tempValue)
.set(CollectBridge::getLastCollectDate,LocalDateTime.now())
+ .eq(CollectBridge::getDeviceCode,deviceCode)
.eq(CollectBridge::getEntrustCode,entrustCode));
}else{
- collectBridgeMapper.insert(new CollectBridge(entrustCode,value,tempValue,LocalDateTime.now(),LocalDateTime.now()));
+ collectBridgeMapper.insert(new CollectBridge(entrustCode,deviceCode,value,tempValue,LocalDateTime.now(),LocalDateTime.now()));
}
}
}
@Override
- public void elongationDataAnalysis(String jsonStr) {
+ public void elongationDataAnalysis(String jsonStr,String deviceCode) {
Map<String, Object> dataMap = JSONObject.parseObject(jsonStr, new TypeReference<Map<String, Object>>(){}.getType());
if(CollectionUtil.isNotEmpty(dataMap) && Objects.nonNull(dataMap.get("data"))){
List<DeviceMqttVO> dataList = JSONArray.parseObject(dataMap.get("data").toString(), new TypeReference<List<DeviceMqttVO>>(){}.getType());
// 浼搁暱鐜囷細澶勭悊 NSTSSC.TSSC.SCL 鏁版嵁
- processMultipleValueDataStream(dataList, ElongationMqttConstants.NSTSSC_TSSC_SCL,3,10.0);
+ processMultipleValueDataStream(dataList, ElongationMqttConstants.NSTSSC_TSSC_SCL,3,10.0,deviceCode);
+ }else{
+ processMultipleValueDataStream(dataMap, ElongationMqttConstants.NSTSSC1_TSSC_SCL,3,10.0,deviceCode);
}
}
@@ -171,11 +174,11 @@
* @param dataStream 鏁版嵁娴佹爣璇�
* @param maxSize 淇濆瓨鐨勬渶澶т釜鏁�
* @param minVal 瀛樺偍鏁版嵁鐨勬渶灏忓�硷紝浣庝簬璇ュ�煎垯璺宠繃锛�-1浠h〃涓嶉檺鍒�
+ * @param deviceCode 璁惧缂栧彿
*/
- private void processMultipleValueDataStream(List<DeviceMqttVO> dataList, String dataStream,int maxSize,Double minVal){
+ private void processMultipleValueDataStream(List<DeviceMqttVO> dataList, String dataStream,int maxSize,Double minVal,String deviceCode){
// 绛涢�夊嚭褰撳墠鏁版嵁娴佸搴旂殑鏁版嵁
Double value = Double.parseDouble(getValueByDataStream(dataList, dataStream));
-// Double value = BigDecimal.valueOf(Math.random()*100).setScale(7, RoundingMode.HALF_EVEN).doubleValue();
//濡傛灉鏈�灏忓�间笉涓虹┖涓斾笉涓�-1锛岃幏鍙栧埌鐨勫�煎皬浜庢渶灏忓�煎垯璺宠繃涓嶅仛澶勭悊
if(Objects.nonNull(minVal)&&minVal!=-1&&value<minVal){
return;
@@ -189,7 +192,34 @@
RedisUtil.delZSetRange(dataStream,0,0);
}
}
- RedisUtil.addZSet(dataStream,System.currentTimeMillis(),value);
+ RedisUtil.addZSet(dataStream+"."+deviceCode,System.currentTimeMillis(),value);
+ }
+
+ /**
+ * 澶勭悊闇�瑕佷繚瀛樺涓�肩殑鏁版嵁娴侊紝骞朵繚瀛樺埌 Redis
+ * @param dataMap 鏁版嵁鍒楄〃
+ * @param dataStream 鏁版嵁娴佹爣璇�
+ * @param maxSize 淇濆瓨鐨勬渶澶т釜鏁�
+ * @param minVal 瀛樺偍鏁版嵁鐨勬渶灏忓�硷紝浣庝簬璇ュ�煎垯璺宠繃锛�-1浠h〃涓嶉檺鍒�
+ * @param deviceCode 璁惧缂栧彿
+ */
+ private void processMultipleValueDataStream(Map<String,Object> dataMap, String dataStream,int maxSize,Double minVal,String deviceCode){
+ // 绛涢�夊嚭褰撳墠鏁版嵁娴佸搴旂殑鏁版嵁
+ Double value = Double.parseDouble(dataMap.get(dataStream).toString());
+ //濡傛灉鏈�灏忓�间笉涓虹┖涓斾笉涓�-1锛岃幏鍙栧埌鐨勫�煎皬浜庢渶灏忓�煎垯璺宠繃涓嶅仛澶勭悊
+ if(Objects.nonNull(minVal)&&minVal!=-1&&value<minVal){
+ return;
+ }
+ //鍒ゆ柇key鏄惁瀛樺湪
+ boolean existKey = RedisUtil.hasKey(dataStream);
+ if(existKey){
+ long zSetSize = RedisUtil.getZSetSize(dataStream);
+ //濡傛灉鏁版嵁闀垮害瓒呰繃鏈�澶т釜鏁帮紝鍒欏垹闄ゅ垎鏁版渶浣庣殑鏁版嵁
+ if(zSetSize>=maxSize){
+ RedisUtil.delZSetRange(dataStream,0,0);
+ }
+ }
+ RedisUtil.addZSet(dataStream+"."+deviceCode,System.currentTimeMillis(),value);
}
/**
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
index 69a54bf..3b67be8 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
@@ -276,10 +276,6 @@
String dbPassword = StringUtils.isNotBlank(dto.getDbPassword())?dto.getDbPassword():"";
String dbTable = StringUtils.isNotBlank(dto.getDbTable())?dto.getDbTable():"";
map.putAll(DataAcquisition.dataAcquisitionEntrance(list, device, dto.getEntrustCode(), dto.getLotBatchNo(),dto.getLotBatchNo(), ip, insProducts.get(0).getCableTag(),dbUserName,dbPassword,dbTable));
- if(StringUtils.equals(".mysql",device.getFileType())){
-
- }else{
- }
}
}
@@ -327,7 +323,7 @@
list.add(2,collectBridge.getCollectValue());//瀹為檯鐢甸樆鍊�
}else {
// 浠� Redis 涓幏鍙栧垪琛ㄦ暟鎹�
- Set<Object> objectList = RedisUtil.getZSetRange(refery, 0, -1);
+ Set<Object> objectList = RedisUtil.getZSetRange(refery, 0, -1,"DESC");
list.addAll(objectList);
}
numberOfDataEntries.getAndIncrement();
diff --git a/cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java b/cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java
index 622525b..05308ae 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java
@@ -128,11 +128,12 @@
case ".docx":
map = analysisString(data, userMap, device, entrustCode, sampleCode);
break;
+ case ".xls":
case ".xlsx":
map = analysisList(data, userMap, device, entrustCode, sampleCode);
break;
- case ".xls":
- map = analysisTxt(data, userMap, device, entrustCode, sampleCode);
+ case ".pngInExcel":
+ map = analysisPngInExcel(data, userMap, device, entrustCode, sampleCode);
break;
case ".txt":
map = analysisTxt(data, userMap, device, entrustCode, sampleCode);
@@ -571,6 +572,45 @@
}
/**
+ * 瑙f瀽excel涓瘑鍒埌鐨勫浘鐗囧唴瀹�
+ *
+ * @param data 閲囬泦鍒扮殑鏂囦欢瀛楃涓�
+ * @param dataConfig 鐢ㄦ埛閰嶇疆濂界殑x,y杞村畾浣嶆暟鎹笌鍙傜収鐗�
+ * @return
+ */
+ private static Map<String, Object> analysisPngInExcel(String data, Map<String, List<DataConfig>> dataConfig,
+ Device device, String entrustCode, String sampleCode) {
+ Map<String, Object> map = new HashMap<>();
+ //澶勭悊data
+ Map<String,List<Object>> dataMap = new HashMap<>();
+ String[] rows = data.split("\n");
+ String[] headRow = rows[0].split(" ");//鑾峰彇琛ㄥご鍒楄〃
+ for (int i = 0; i < headRow.length; i++) {
+ //鏁版嵁鏈�澶氫簲鏉�
+ List<Object> vals = new ArrayList<>();
+ for (int j = 1; j <= 5; j++) {
+ String[] cols = rows[j].split(" ");
+ vals.add(cols[i]);
+ }
+ dataMap.put(headRow[i],vals);
+ }
+ dataConfig.forEach((k, v) -> {
+ List<Object> list = new ArrayList<>();
+ v.stream().sorted(Comparator.comparing(DataConfig::getX)).forEach(config->{
+ for (Map.Entry<String, List<Object>> entry : dataMap.entrySet()) {
+ if(entry.getKey().contains(config.getReferx())){
+ list.addAll(entry.getValue());
+ }
+ }
+ });
+ // 杩涜鍏紡璁$畻
+ Object resultValue = calculationFormula(list, v.get(0), k, device);
+ map.put(k, resultValue);
+ });
+ return map;
+ }
+
+ /**
* @param data 閲囬泦鍒扮殑鏂囦欢瀛楃涓�
* @param dataConfig 鐢ㄦ埛閰嶇疆濂界殑x,y杞村畾浣嶆暟鎹笌鍙傜収鐗�
* @return
diff --git a/ruoyi-admin-ztns/src/main/resources/application-druid.yml b/ruoyi-admin-ztns/src/main/resources/application-druid.yml
index e4dd6da..352bfed 100644
--- a/ruoyi-admin-ztns/src/main/resources/application-druid.yml
+++ b/ruoyi-admin-ztns/src/main/resources/application-druid.yml
@@ -78,7 +78,7 @@
lettuce:
pool:
# 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
- min-idle: 0
+ min-idle: 2
# 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺�
max-idle: 8
# 杩炴帴姹犵殑鏈�澶ф暟鎹簱杩炴帴鏁�
@@ -177,7 +177,7 @@
completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
clientId: ztns01a # clientId
subscribe: /ztt/v3/2455220/publish # 璁㈤槄涓婚
- client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+ client: false # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
- url: tcp://mqtt-ztt.zttiot.com:1883 # 鏈嶅姟鍣╥p
username: 2455221 # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
password: 108295 # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
@@ -187,5 +187,24 @@
completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
clientId: ztns02b # clientId
subscribe: /ztt/v3/2455221/publish # 璁㈤槄涓婚
- client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
-
+ client: false # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+ - url: tcp://mqtt.ztt.cn:1883 # 鏈嶅姟鍣╥p
+ username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+ password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+ timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
+ keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
+ qos: 1 # 蹇冭烦鍖呯骇鍒�
+ completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
+ clientId: ztns_gc_scl_108303 # clientId,杩囩▼璇曢獙瀹や几闀跨巼璁惧
+ subscribe: /aiot/38568140-c697-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
+ client: false # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+ - url: tcp://mqtt.ztt.cn.com:1883 # 鏈嶅姟鍣╥p
+ username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+ password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+ timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
+ keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
+ qos: 1 # 蹇冭烦鍖呯骇鍒�
+ completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
+ clientId: ztns_gc_dz_108301 # clientId
+ subscribe: /aiot/8fac9fa0-c517-11f0-954c-255ce11213f1 # 璁㈤槄涓婚
+ client: false # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
diff --git a/ruoyi-admin-ztns/src/main/resources/application-ztns.yml b/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
index 2f44f7a..37009d6 100644
--- a/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
+++ b/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
@@ -189,3 +189,23 @@
clientId: ztns02 # clientId
subscribe: /ztt/v3/2455221/publish # 璁㈤槄涓婚
client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+# - url: tcp://mqtt.ztt.cn:1883 # 鏈嶅姟鍣╥p
+# username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+# password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+# timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
+# keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
+# qos: 1 # 蹇冭烦鍖呯骇鍒�
+# completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
+# clientId: ztns_gc_scl_108303 # clientId,杩囩▼璇曢獙瀹や几闀跨巼璁惧
+# subscribe: /aiot/38568140-c697-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
+# client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+# - url: tcp://mqtt.ztt.cn.com:1883 # 鏈嶅姟鍣╥p
+# username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+# password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+# timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
+# keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
+# qos: 1 # 蹇冭烦鍖呯骇鍒�
+# completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
+# clientId: ztns_gc_dz_108301 # clientId
+# subscribe: /aiot/8fac9fa0-c517-11f0-954c-255ce11213f1 # 璁㈤槄涓婚
+# client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProcess.java b/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProcess.java
index fd90aba..a336781 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProcess.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProcess.java
@@ -51,7 +51,7 @@
wri.setRequestName(requestName);
//todo: oa鎻愪氦 1: 鐩存帴鍙戦�佹祦绋�, 0:瀛樺叆鑽夌绠�
// wri.setIsnextflow("1");
- wri.setIsnextflow("0");
+// wri.setIsnextflow("0");
//鍒涘缓涓昏〃
OAWorkflowTable wmi = oaService.createOAMainWorkflowTable(mainFields);
// 灏嗕富琛ㄤ俊鎭~鍏呭埌娴佺▼淇℃伅閲�
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtil.java
index 069773e..2d4f328 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtil.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtil.java
@@ -679,10 +679,14 @@
* @param key 閿�
* @param start 寮�濮嬬储寮�
* @param end 缁撴潫绱㈠紩
+ * @param sort 椤哄簭鎴栧�掑簭
* @return
*/
- public static Set<Object> getZSetRange(String key,long start,long end){
+ public static Set<Object> getZSetRange(String key,long start,long end,String sort){
try {
+ if(StringUtils.equals("DESC",sort)){
+ return redisTemplate.opsForZSet().reverseRange(key,start,end);
+ }
return redisTemplate.opsForZSet().range(key,start,end);
}catch(Exception e){
e.printStackTrace();
@@ -690,5 +694,9 @@
}
}
+ public static Set<Object> getZSetRange(String key,long start,long end){
+ return getZSetRange(key,start,end,"ASC");
+ }
+
}
--
Gitblit v1.9.3