From c65ab218b14e87489f1594b2d932f7bd54b3ba11 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 17 十月 2025 13:34:19 +0800
Subject: [PATCH] 数采调整
---
cnas-device/src/main/java/com/ruoyi/device/service/impl/CollectBridgeServiceImpl.java | 180 +++++++++++---------
cnas-device/src/main/java/com/ruoyi/device/constant/DCResistanceMqttConstants.java | 2
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java | 3
ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtil.java | 49 +++++
inspect-server/src/main/java/com/ruoyi/inspect/vo/IfsOrderVO.java | 39 ++++
cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricRecordMapper.java | 2
cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMapper.java | 2
cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java | 9
cnas-device/src/main/java/com/ruoyi/device/mapper/CollectBridgeMapper.java | 2
cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java | 87 +--------
cnas-device/src/main/java/com/ruoyi/device/vo/DeviceMqttVO.java | 2
cnas-device/src/main/java/com/ruoyi/device/service/impl/DataConfigServiceImpl.java | 7
cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java | 95 ++++++++--
basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java | 2
inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 18 ++
cnas-device/src/main/java/com/ruoyi/device/pojo/CollectBridge.java | 21 ++
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsSampleMapper.java | 2
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java | 6
cnas-device/src/main/java/com/ruoyi/device/service/CollectBridgeService.java | 4
19 files changed, 344 insertions(+), 188 deletions(-)
diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java
index 017c66a..43e8880 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.TestItemDto;
import com.ruoyi.basic.pojo.StructureItemParameter;
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -17,6 +18,7 @@
* @author makejava
* @since 2024-02-26 16:21:17
*/
+@Mapper
public interface StructureItemParameterMapper extends BaseMapper<StructureItemParameter> {
IPage<StructureItemParameter> selectItemParameterList(Page page, @Param("ew") QueryWrapper<StructureItemParameter> ew);
diff --git a/cnas-device/src/main/java/com/ruoyi/device/constant/DCResistanceMqttConstants.java b/cnas-device/src/main/java/com/ruoyi/device/constant/DCResistanceMqttConstants.java
index 421baf0..cca34ae 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/constant/DCResistanceMqttConstants.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/constant/DCResistanceMqttConstants.java
@@ -1,7 +1,7 @@
package com.ruoyi.device.constant;
/**
- * 鐩存祦鐢甸樆mqtt娣戝悰灞炴�с�恉ataStream銆戠殑鏍囪瘑甯搁噺
+ * 鐩存祦鐢甸樆mqtt鏁版嵁灞炴�с�恉ataStream銆戠殑鏍囪瘑甯搁噺
*/
public class DCResistanceMqttConstants {
diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/CollectBridgeMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/CollectBridgeMapper.java
index 7392b4e..3374023 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/mapper/CollectBridgeMapper.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/CollectBridgeMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.device.pojo.CollectBridge;
+import org.apache.ibatis.annotations.Mapper;
/**
* 鏁板瓧鐢垫ˉ閲囬泦
@@ -9,6 +10,7 @@
* @author zhuo
* @since 2025-02-19
*/
+@Mapper
public interface CollectBridgeMapper extends BaseMapper<CollectBridge> {
}
diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMapper.java
index be50081..ed6f174 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMapper.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMapper.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.device.dto.DeviceDto;
import com.ruoyi.device.pojo.Device;
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -14,6 +15,7 @@
/**
* 璁惧(Device)琛ㄦ暟鎹簱璁块棶灞�
*/
+@Mapper
public interface DeviceMapper extends BaseMapper<Device> {
IPage<Device> selectDeviceParameter(Page page, QueryWrapper<Device> ew);
diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricRecordMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricRecordMapper.java
index 65f45dd..2448fa7 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricRecordMapper.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricRecordMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.device.pojo.DeviceMetricRecord;
+import org.apache.ibatis.annotations.Mapper;
/**
* <p>
@@ -11,6 +12,7 @@
* @author
* @since 2024-09-27 10:20:01
*/
+@Mapper
public interface DeviceMetricRecordMapper extends BaseMapper<DeviceMetricRecord> {
}
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 ba2d67e..f47e0a3 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,18 +72,13 @@
switch (topic){
case "/ztt/v3/2455220/publish":
//鑰愪笣锛氱洿娴佺數闃绘暟鎹В鏋�
- mqCallback.collectBridgeService.addBridgeValueByNS(parse);
+ mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse);
break;
case "/ztt/v3/2455221/publish":
//鑰愪笣锛氫几闀跨巼鏁版嵁瑙f瀽
- mqCallback.collectBridgeService.addBridgeValueByNSD(parse);
-// log.info("浼搁暱鐜囨秷鎭綋锛歿}",parse);
+ mqCallback.collectBridgeService.elongationDataAnalysis(parse);
break;
}
- // 濉厖閲囬泦鏁版嵁
-// JSONObject jsonObject = JSONObject.parseObject(parse);
-// mqCallback.collectBridgeService.addBridgeValue(jsonObject);
-
} catch (Exception e) {
e.printStackTrace();
log.info("============銆嬨�嬫帴鏀舵秷鎭富棰樺紓甯� : " + e.getMessage());
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 3d02bbe..2012af6 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
@@ -5,7 +5,9 @@
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import lombok.NoArgsConstructor;
+import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@@ -16,6 +18,7 @@
*/
@Data
@TableName("collect_bridge")
+@NoArgsConstructor
public class CollectBridge {
@TableId(value = "id", type = IdType.AUTO)
@@ -25,10 +28,22 @@
private String entrustCode;
@ApiModelProperty("閲囬泦鍊�")
- private String collectValue;
+ private BigDecimal collectValue;
- @ApiModelProperty("鏃堕棿")
- private LocalDateTime collectDate;
+ @ApiModelProperty("閲囬泦娓╁害")
+ private Double collectTemperature;
+ @ApiModelProperty("绗竴娆¢噰闆嗘椂闂�")
+ private LocalDateTime firstCollectDate;
+
+ @ApiModelProperty("鏈�鍚庝竴娆¢噰闆嗘椂闂�")
+ private LocalDateTime lastCollectDate;
+
+ public CollectBridge(String entrustCode, BigDecimal collectValue, LocalDateTime firstCollectDate, LocalDateTime lastCollectDate) {
+ this.entrustCode = entrustCode;
+ this.collectValue = collectValue;
+ this.firstCollectDate = firstCollectDate;
+ this.lastCollectDate = lastCollectDate;
+ }
}
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 dc4e50b..4e9faf5 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 addBridgeValueByNS(String jsonStr);
+ void dcResistanceDataAnalysis(String jsonStr);
- void addBridgeValueByNSD(String jsonStr);
+ void elongationDataAnalysis(String jsonStr);
}
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 874a419..96663aa 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
@@ -15,9 +15,11 @@
import com.ruoyi.device.service.CollectBridgeService;
import com.ruoyi.device.vo.DeviceMqttVO;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.time.Duration;
import java.time.Instant;
import java.time.LocalDateTime;
@@ -36,97 +38,108 @@
@Slf4j
public class CollectBridgeServiceImpl extends ServiceImpl<CollectBridgeMapper, CollectBridge> implements CollectBridgeService {
+ @Autowired
+ private CollectBridgeMapper collectBridgeMapper;
+
/**
* 濉厖閲囬泦鏁版嵁
* @param jsonObject
*/
@Override
public void addBridgeValue(JSONObject jsonObject) {
- JSONArray dataArray = jsonObject.getJSONArray("data");
- for (int i = 0; i < dataArray.size(); i++) {
- JSONObject listInfo = dataArray.getJSONObject(i);
- // 瀛樺偍鏁版嵁
- String dataStream = listInfo.getString("dataStream");
- if (dataStream.equals("DQCS.DQCS.SN")) {
- JSONArray dataPoints = listInfo.getJSONArray("dataPoints");
- JSONObject pointsJSONObject = dataPoints.getJSONObject(0);
- String entrustCode = pointsJSONObject.getString("value");
- // 瑙f瀽鏃堕棿鎴�
- Instant instant = Instant.ofEpochMilli(pointsJSONObject.getLong("time"));
- LocalDateTime collectDate = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
-
- // 鍏堝瓨鍌ㄧ紪鍙�, 鍚庣画瀛樺偍鍊�
- CollectBridge collectBridge = new CollectBridge();
- collectBridge.setEntrustCode(entrustCode);
- collectBridge.setCollectDate(collectDate);
- baseMapper.insert(collectBridge);
-
- }
- // 瀵勫瓨鍣ㄥ湴鍧�绛変簬64鑾峰彇缁撴灉鍊�
- if (dataStream.equals("DQCS.DQCS.64")) {
- JSONArray dataPoints = listInfo.getJSONArray("dataPoints");
- JSONObject pointsJSONObject = dataPoints.getJSONObject(0);
- String value = pointsJSONObject.getString("value");
-
- if (value.equals("64")) {
- for (int j = 0; j < dataArray.size(); j++) {
- JSONObject listInfo2 = dataArray.getJSONObject(j);
- String dataStream2 = listInfo2.getString("dataStream");
- // 瀵勫瓨鍣ㄥ湴鍧�绛変簬64鑾峰彇缁撴灉鍊�
- if (dataStream2.equals("DQCS.DQCS.DZZ")) {
- JSONArray dataPoints2 = listInfo2.getJSONArray("dataPoints");
- JSONObject pointsJSONObject2 = dataPoints2.getJSONObject(0);
- String collectValue = pointsJSONObject2.getString("value");
-
- // 瑙f瀽鏃堕棿鎴�
- Instant instant = Instant.ofEpochMilli(pointsJSONObject2.getLong("time"));
- LocalDateTime collectDate = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
-
- // 鏌ヨ鏈�鏂颁竴鏉℃暟鎹�
- CollectBridge collectBridge = baseMapper.selectOne(Wrappers.<CollectBridge>lambdaQuery()
- .orderByDesc(CollectBridge::getCollectDate)
- .last("limit 1"));
-
- // 鍒ゆ柇涓ゆ潯鏁版嵁鏄惁鐩稿樊鍦�10鍒嗛挓涔嬪唴鍜屾湁娌℃湁缂栧彿
- if (isWithinTenMinutes(collectDate, collectBridge.getCollectDate()) &&
- StringUtils.isNotBlank(collectBridge.getEntrustCode())) {
- // 淇敼妫�楠屽��
- collectBridge.setCollectValue(collectValue);
- baseMapper.updateById(collectBridge);
- } else {
- // 鍙瓨鍌ㄥ��
- CollectBridge bridge = new CollectBridge();
- bridge.setCollectValue(collectValue);
- bridge.setCollectDate(collectDate);
- baseMapper.insert(bridge);
- }
- }
- }
- }
- }
- }
+// JSONArray dataArray = jsonObject.getJSONArray("data");
+// for (int i = 0; i < dataArray.size(); i++) {
+// JSONObject listInfo = dataArray.getJSONObject(i);
+// // 瀛樺偍鏁版嵁
+// String dataStream = listInfo.getString("dataStream");
+// if (dataStream.equals("DQCS.DQCS.SN")) {
+// JSONArray dataPoints = listInfo.getJSONArray("dataPoints");
+// JSONObject pointsJSONObject = dataPoints.getJSONObject(0);
+// String entrustCode = pointsJSONObject.getString("value");
+// // 瑙f瀽鏃堕棿鎴�
+// Instant instant = Instant.ofEpochMilli(pointsJSONObject.getLong("time"));
+// LocalDateTime collectDate = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
+//
+// // 鍏堝瓨鍌ㄧ紪鍙�, 鍚庣画瀛樺偍鍊�
+// CollectBridge collectBridge = new CollectBridge();
+// collectBridge.setEntrustCode(entrustCode);
+// collectBridge.setCollectDate(collectDate);
+// baseMapper.insert(collectBridge);
+//
+// }
+// // 瀵勫瓨鍣ㄥ湴鍧�绛変簬64鑾峰彇缁撴灉鍊�
+// if (dataStream.equals("DQCS.DQCS.64")) {
+// JSONArray dataPoints = listInfo.getJSONArray("dataPoints");
+// JSONObject pointsJSONObject = dataPoints.getJSONObject(0);
+// String value = pointsJSONObject.getString("value");
+//
+// if (value.equals("64")) {
+// for (int j = 0; j < dataArray.size(); j++) {
+// JSONObject listInfo2 = dataArray.getJSONObject(j);
+// String dataStream2 = listInfo2.getString("dataStream");
+// // 瀵勫瓨鍣ㄥ湴鍧�绛変簬64鑾峰彇缁撴灉鍊�
+// if (dataStream2.equals("DQCS.DQCS.DZZ")) {
+// JSONArray dataPoints2 = listInfo2.getJSONArray("dataPoints");
+// JSONObject pointsJSONObject2 = dataPoints2.getJSONObject(0);
+// String collectValue = pointsJSONObject2.getString("value");
+//
+// // 瑙f瀽鏃堕棿鎴�
+// Instant instant = Instant.ofEpochMilli(pointsJSONObject2.getLong("time"));
+// LocalDateTime collectDate = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
+//
+// // 鏌ヨ鏈�鏂颁竴鏉℃暟鎹�
+// CollectBridge collectBridge = baseMapper.selectOne(Wrappers.<CollectBridge>lambdaQuery()
+// .orderByDesc(CollectBridge::getCollectDate)
+// .last("limit 1"));
+//
+// // 鍒ゆ柇涓ゆ潯鏁版嵁鏄惁鐩稿樊鍦�10鍒嗛挓涔嬪唴鍜屾湁娌℃湁缂栧彿
+// if (isWithinTenMinutes(collectDate, collectBridge.getCollectDate()) &&
+// StringUtils.isNotBlank(collectBridge.getEntrustCode())) {
+// // 淇敼妫�楠屽��
+// collectBridge.setCollectValue(collectValue);
+// baseMapper.updateById(collectBridge);
+// } else {
+// // 鍙瓨鍌ㄥ��
+// CollectBridge bridge = new CollectBridge();
+// bridge.setCollectValue(collectValue);
+// bridge.setCollectDate(collectDate);
+// baseMapper.insert(bridge);
+// }
+// }
+// }
+// }
+// }
+// }
}
@Override
- public void addBridgeValueByNS(String jsonStr) {
+ public void dcResistanceDataAnalysis(String jsonStr) {
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());
//杩囨护鍑哄寘鍚疄闄呯數闃诲�肩殑瀵硅薄
// 澶勭悊 NSDQCS.DQCS.DZZ 鏁版嵁
- Double value = getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_DZZ);
- RedisUtil.set(DCResistanceMqttConstants.NSDQCS_DQCS_DZZ, value);
+ String entrustCode = getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_SN);
+ BigDecimal value = new BigDecimal(getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_DZZ));
+ Long count = collectBridgeMapper.selectCount(Wrappers.<CollectBridge>lambdaQuery().eq(CollectBridge::getEntrustCode, entrustCode));
+ if(count>0L){
+ collectBridgeMapper.update(null,Wrappers.<CollectBridge>lambdaUpdate()
+ .set(CollectBridge::getCollectValue,value)
+ .set(CollectBridge::getLastCollectDate,LocalDateTime.now())
+ .eq(CollectBridge::getEntrustCode,entrustCode));
+ }else{
+ collectBridgeMapper.insert(new CollectBridge(entrustCode,value,LocalDateTime.now(),LocalDateTime.now()));
+ }
}
}
@Override
- public void addBridgeValueByNSD(String jsonStr) {
+ public void elongationDataAnalysis(String jsonStr) {
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.WY 鏁版嵁
- processMultipleValueDataStream(dataList, ElongationMqttConstants.NSTSSC_TSSC_WY,3);
+ // 浼搁暱鐜囷細澶勭悊 NSTSSC.TSSC.SCL 鏁版嵁
+ processMultipleValueDataStream(dataList, ElongationMqttConstants.NSTSSC_TSSC_SCL,3,10.0);
}
}
@@ -135,17 +148,16 @@
* @param dataList 鏁版嵁鍒楄〃
* @param dataStream 鏁版嵁娴佹爣璇�
*/
- private Double getValueByDataStream(List<DeviceMqttVO> dataList, String dataStream) {
+ private String getValueByDataStream(List<DeviceMqttVO> dataList, String dataStream) {
DeviceMqttVO deviceMqttVO = dataList.stream()
.filter(f -> StringUtils.equals(f.getDataStream(), dataStream))
.findFirst()
.orElse(null);
if(Objects.nonNull(deviceMqttVO)){
List<DeviceMqttVO.DataPoint> dataPoints = deviceMqttVO.getDataPoints();
- BigDecimal value = CollectionUtil.isNotEmpty(dataPoints)?dataPoints.get(0).getValue():BigDecimal.ZERO;
- return value.doubleValue();
+ return CollectionUtil.isNotEmpty(dataPoints)?dataPoints.get(0).getValue():"";
}
- return 0.0;
+ return "";
}
/**
@@ -153,20 +165,26 @@
* @param dataList 鏁版嵁鍒楄〃
* @param dataStream 鏁版嵁娴佹爣璇�
* @param maxSize 淇濆瓨鐨勬渶澶т釜鏁�
+ * @param minVal 瀛樺偍鏁版嵁鐨勬渶灏忓�硷紝浣庝簬璇ュ�煎垯璺宠繃锛�-1浠h〃涓嶉檺鍒�
*/
- private void processMultipleValueDataStream(List<DeviceMqttVO> dataList, String dataStream,int maxSize){
+ private void processMultipleValueDataStream(List<DeviceMqttVO> dataList, String dataStream,int maxSize,Double minVal){
// 绛涢�夊嚭褰撳墠鏁版嵁娴佸搴旂殑鏁版嵁
- Double value = getValueByDataStream(dataList, dataStream);
+// 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;
+ }
//鍒ゆ柇key鏄惁瀛樺湪
boolean existKey = RedisUtil.hasKey(dataStream);
if(existKey){
- long listSize = RedisUtil.lGetListSize(dataStream);
- if(listSize<maxSize){
- RedisUtil.lSet(dataStream,value);
+ long zSetSize = RedisUtil.getZSetSize(dataStream);
+ //濡傛灉鏁版嵁闀垮害瓒呰繃鏈�澶т釜鏁帮紝鍒欏垹闄ゅ垎鏁版渶浣庣殑鏁版嵁
+ if(zSetSize>=maxSize){
+ RedisUtil.delZSetRange(dataStream,0,0);
}
- }else{
- RedisUtil.lSet(dataStream,value);
}
+ RedisUtil.addZSet(dataStream,System.currentTimeMillis(),value);
}
/**
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DataConfigServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DataConfigServiceImpl.java
index b7a30f7..44cba26 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DataConfigServiceImpl.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DataConfigServiceImpl.java
@@ -88,7 +88,12 @@
if (dataConfig.getStructureItemParameterId() == null) {
throw new RuntimeException("缂哄皯妫�娴嬮」id");
}
- List<DataConfig> list = baseMapper.selectList(Wrappers.<DataConfig>lambdaQuery().eq(DataConfig::getStructureItemParameterId, dataConfig.getStructureItemParameterId()));
+ List<DataConfig> list = baseMapper.selectList(Wrappers.<DataConfig>lambdaQuery()
+ .eq(DataConfig::getDeviceId,dataConfig.getDeviceId())
+ .eq(DataConfig::getInspectionItem,dataConfig.getInspectionItem())
+ .eq(DataConfig::getInspectionItemClass,dataConfig.getInspectionItemClass())
+ .eq(DataConfig::getInspectionItemSubclass,dataConfig.getInspectionItemSubclass())
+ .eq(DataConfig::getStructureItemParameterId, dataConfig.getStructureItemParameterId()));
return Result.success(list);
}
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 ba01fa4..6e9bc72 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
@@ -17,6 +17,8 @@
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.User;
import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.common.utils.RedisUtil;
+import com.ruoyi.device.constant.DCResistanceMqttConstants;
import com.ruoyi.device.dto.*;
import com.ruoyi.device.mapper.CollectBridgeMapper;
import com.ruoyi.device.mapper.DeviceMaintenanceMapper;
@@ -49,6 +51,7 @@
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@@ -253,10 +256,26 @@
// 鍒ゆ柇璁惧鏄惁鏄暟瀛楃洿妗CZX-ZB-ER02022
if (device.getManagementNumber().equals("JCZX-ZB-ER02022")) {
map.putAll(dataCollectBridge(list, device, dto.getEntrustCode()));
+ }else if(device.getFileType().equals(".mqtt")){
+ //濡傛灉鏂囦欢绫诲瀷鏄痬qtt,鍒欎笉璧伴噰闆嗗櫒閲囬泦
+ Map<String, List<DataConfig>> userMap = list.stream()
+ .peek(i -> {
+ String itemName = i.getInspectionItem();
+ if (StringUtils.isNotBlank(i.getInspectionItemClass())) {
+ itemName += "@" + i.getInspectionItemClass();
+ }
+ String name = i.getInspectionItem().equals(i.getInspectionItemSubclass()) ? itemName + "," : itemName + "," + i.getInspectionItemSubclass();
- } else {
- map.putAll(DataAcquisition.dataAcquisitionEntrance(list, device, dto.getEntrustCode(), dto.getEntrustCode(), ip, insProducts.get(0).getCableTag(),dto.getDbUserName(),dto.getDbPassword(),dto.getDbTable()));
-
+ // 娣诲姞妫�楠岄」鍚嶇О
+ i.setInsProductItem(name);
+ })
+ .collect(Collectors.groupingBy(DataConfig::getInsProductItem));
+ map.putAll(getActualResistanceValueAsMap(userMap, device,dto.getEntrustCode()));
+ }else {
+ String dbUserName = StringUtils.isNotBlank(dto.getDbUserName())?dto.getDbUserName():"";
+ 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.getEntrustCode(), ip, insProducts.get(0).getCableTag(),dbUserName,dbPassword,dbTable));
}
}
@@ -268,6 +287,46 @@
} else {
return Result.success(null);
}
+ }
+
+ /**
+ * 浠� Redis 涓幏鍙栧疄闄呯數闃诲�硷紝骞朵互閿�煎褰㈠紡杩斿洖
+ * @param dataConfig 鏁版嵁閰嶇疆淇℃伅
+ * @param device 璁惧淇℃伅
+ * @return 鍖呭惈瀹為檯鐢甸樆鍊煎鐞嗙粨鏋滅殑閿�煎锛涜嫢鏈幏鍙栧埌鏈夋晥鏁版嵁鍒欒繑鍥炵┖ Map
+ */
+ public Map<String, Object> getActualResistanceValueAsMap(Map<String, List<DataConfig>> dataConfig, Device device,String entrustCode) {
+ Map<String, Object> map = new HashMap<>();
+ if (ObjectUtils.isEmpty(dataConfig)) {
+ return map;
+ }
+ dataConfig.forEach((k, v) -> {
+ AtomicInteger numberOfDataEntries = new AtomicInteger();
+ List<Object> list = new ArrayList<>();
+ for (int config = 0; config < v.size(); config++) {
+ String refery = DataAcquisition.getRefer(v.get(config).getRefery());
+ if (refery.equals(DCResistanceMqttConstants.NSDQCS_DQCS_DZZ)){
+ // 鏌ヨ瀵瑰簲濮旀墭缂栧彿鐨勬暟鎹�
+// Object value = RedisUtil.get(refery);
+ CollectBridge collectBridge = collectBridgeMapper.selectOne(Wrappers.<CollectBridge>lambdaQuery().eq(CollectBridge::getEntrustCode,entrustCode).last("limit 1"));
+ if(Objects.isNull(collectBridge)){
+ throw new ErrorException("鐩存祦鐢甸樆鏁伴噰寮傚父锛氭病鏈夋壘鍒板鎵樼紪鍙蜂负銆�"+entrustCode+"銆戠殑鏁版嵁");
+ }
+ list.add(0,1);//娴嬭瘯闀垮害锛岄粯璁�1
+ list.add(1,Objects.isNull(collectBridge.getCollectTemperature())?0.0:collectBridge.getCollectTemperature());//todo:娓╁害锛屾殏鏃舵湭閲囬泦鍒板��
+ list.add(2,collectBridge.getCollectValue());//瀹為檯鐢甸樆鍊�
+ }else {
+ // 浠� Redis 涓幏鍙栧垪琛ㄦ暟鎹�
+ List<?> objectList = RedisUtil.lGet(refery, 0, -1);
+ list.addAll(objectList);
+ }
+ numberOfDataEntries.getAndIncrement();
+ }
+ // 杩涜鍏紡璁$畻
+ Object resultValue = DataAcquisition.calculationFormula(list, v.get(0), k, device);
+ map.put(k, resultValue);
+ });
+ return map;
}
/**
@@ -291,21 +350,21 @@
Map<String, Object> map = new HashMap<>();
- userMap.forEach((k, v) -> {
- List<String> resultValue = new ArrayList<>();
- // 鏌ヨ鐩存ˉ鐢垫祦鐢甸樆鏁伴噰鍊�
- List<CollectBridge> collectBridges = collectBridgeMapper.selectList(Wrappers.<CollectBridge>lambdaQuery()
- .like(CollectBridge::getEntrustCode, entrustCode)
- .orderByAsc(CollectBridge::getCollectDate));
-
- resultValue = collectBridges.stream().map(CollectBridge::getCollectValue).collect(Collectors.toList());
-
- Map<String, Object> hashMap = new HashMap<>();
- hashMap.put("equipName", device.getDeviceName());
- hashMap.put("equipValue", device.getManagementNumber());
- hashMap.put("result", resultValue);
- map.put(k, hashMap);
- });
+// userMap.forEach((k, v) -> {
+// List<String> resultValue = new ArrayList<>();
+// // 鏌ヨ鐩存ˉ鐢垫祦鐢甸樆鏁伴噰鍊�
+// List<CollectBridge> collectBridges = collectBridgeMapper.selectList(Wrappers.<CollectBridge>lambdaQuery()
+// .like(CollectBridge::getEntrustCode, entrustCode)
+// .orderByAsc(CollectBridge::getCollectDate));
+//
+// resultValue = collectBridges.stream().map(CollectBridge::getCollectValue).collect(Collectors.toList());
+//
+// Map<String, Object> hashMap = new HashMap<>();
+// hashMap.put("equipName", device.getDeviceName());
+// hashMap.put("equipValue", device.getManagementNumber());
+// hashMap.put("result", resultValue);
+// map.put(k, hashMap);
+// });
return map;
}
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 281b5fa..751b778 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
@@ -11,6 +11,7 @@
import com.ruoyi.common.utils.RedisUtil;
import com.ruoyi.device.constant.DCResistanceMqttConstants;
import com.ruoyi.device.dto.DeviceCollectionDto;
+import com.ruoyi.device.mapper.CollectBridgeMapper;
import com.ruoyi.device.pojo.DataConfig;
import com.ruoyi.device.pojo.Device;
import com.ruoyi.framework.exception.ErrorException;
@@ -40,6 +41,8 @@
private static final String splitIdentifier = "@-@"; // 鑷畾涔夊敮涓�鏍囪瘑鍒嗗壊绗�
public static final String frequency = "frequency";
+
+ private CollectBridgeMapper collectBridgeMapper;
/**
* 鏁伴噰鍏ュ彛
@@ -74,14 +77,17 @@
* mdbEntrustCode mdb鏂囦欢闇�瑕侊細濮旀墭缂栧彿瀛楁 涓轰粈涔堟病鏈夊幓杩欎釜mdb鍓嶇紑鍛紵鍥犱负宸茬粡缁欏鎴风殑閮ㄥ垎鐢佃剳涓婂畨瑁呬簡閲囬泦鍣紝鑰岀敤鎴蜂笉鎺ュ彈閲嶆柊瀹夎閲囬泦鍣紝鎵�浠ュ氨娌℃湁鍘婚櫎
* mdbSampleCode mdb鏂囦欢闇�瑕侊細鏍峰搧缂栧彿瀛楁
*/
+ String mdbEntrustCode = StringUtils.isNotBlank(device.getEntrustCode())?device.getEntrustCode():"";
+ String mdbSampleCode = StringUtils.isNotBlank(device.getSampleCode())?device.getSampleCode():"";
+ String dbFileName = StringUtils.isNotBlank(device.getDbFileName())?device.getDbFileName():"";
String http = HTTP + ip + GETFILE +
"?filePath=" + device.getCollectUrl() +
"&fileExtension=" + device.getFileType() +
"&entrustCode=" + entrustCode +
"&sampleCode=" + sampleCode +
- "&mdbEntrustCode=" + device.getEntrustCode() +
- "&mdbSampleCode=" + device.getSampleCode() +
- "&dbFileName=" + device.getDbFileName()+
+ "&mdbEntrustCode=" + mdbEntrustCode +
+ "&mdbSampleCode=" + mdbSampleCode +
+ "&dbFileName=" + dbFileName +
"&dbUserName=" + dbUserName +
"&dbPassword=" + dbPassword +
"&dbTable=" + dbTable;
@@ -89,7 +95,6 @@
String result = null;
try {
result = HttpUtil.get(http);
- System.out.println("璇锋眰杩斿洖缁撴灉: " + result);
} catch (IORuntimeException e) {
e.printStackTrace();
throw new ErrorException("鎵�鍦ㄧ數鑴戞湭瀹夎鎴栨湭鍚姩锛歀IMS鏂囦欢閲囬泦鍣紒");
@@ -102,7 +107,7 @@
throw new ErrorException(jsonObject.get("msg") + "");
}
} else {
- String data = jsonObject.get("data") + "";
+ String data = jsonObject.get("data") + "";
// 鑰冭檻鍒颁竴涓娴嬮」鍙兘浼氬瓨鍦ㄥ涓暟閲囬厤缃紝鎵�浠ラ渶瑕佽繘琛屽垎缁�
Map<String, List<DataConfig>> userMap = dataConfig.stream()
.peek(i -> {
@@ -152,9 +157,9 @@
case ".png":
map = readPngString(data, userMap, device);
break;
- case ".mqtt":
- map = getActualResistanceValueAsMap(userMap, device);
- break;
+// case ".mqtt":
+// map = getActualResistanceValueAsMap(userMap, device);
+// break;
default:
map = null;
break;
@@ -166,68 +171,6 @@
}
return map;
}
- }
- /**
- * 浠� Redis 涓幏鍙栧疄闄呯數闃诲�硷紝骞朵互閿�煎褰㈠紡杩斿洖
- * @param dataConfig 鏁版嵁閰嶇疆淇℃伅
- * @param device 璁惧淇℃伅
- * @return 鍖呭惈瀹為檯鐢甸樆鍊煎鐞嗙粨鏋滅殑閿�煎锛涜嫢鏈幏鍙栧埌鏈夋晥鏁版嵁鍒欒繑鍥炵┖ Map
- */
- public static Map<String, Object> getActualResistanceValueAsMap(Map<String, List<DataConfig>> dataConfig, Device device) {
- Map<String, Object> map = new HashMap<>();
- if (ObjectUtils.isEmpty(dataConfig)) {
- return map;
- }
- dataConfig.forEach((k, v) -> {
- AtomicInteger numberOfDataEntries = new AtomicInteger();
- List<Object> list = new ArrayList<>();
- for (int config = 0; config < v.size(); config++) {
- String refery = getRefer(v.get(config).getRefery());
- if (refery.equals(DCResistanceMqttConstants.NSDQCS_DQCS_DZZ)){
- // 浠� Redis 涓幏鍙栦竴涓暟鎹�
- Object value = RedisUtil.get(refery);
- list.add(value);
- numberOfDataEntries.addAndGet(1);
- }else {
- // 浠� Redis 涓幏鍙栧垪琛ㄦ暟鎹�
-// List<Object> objectList = RedisUtil.lGet(refery, 0, -1);
- List<?> objectList = RedisUtil.lGet(refery, 0, -1);
- for (Object item : objectList) {
-// System.out.println(item);
- String[] split = item.toString().replace("[","").replace("]","").split(",");
- for (Object a :
- split) {
- list.add(a);
- numberOfDataEntries.addAndGet(1);
- }
- }
- }
- }
- // 鎷兼帴鏁伴噰閰嶇疆
- List<Object> result = new ArrayList<>();
- for (int i = 0; i < numberOfDataEntries.get(); i++) {
- StringBuilder aggregate = new StringBuilder();
- for (int j = 0; j < v.size(); j++) {
- int index;
- if (j == 0) {
- index = i;
- } else {
- index = numberOfDataEntries.get() + i;
- }
- if (index < list.size()) {
- aggregate.append(list.get(index).toString()).append(",");
- }
- }
- if (aggregate.length() > 0) {
- aggregate.setLength(aggregate.length() - 1);
- }
- result.add(aggregate.toString());
- }
- // 杩涜鍏紡璁$畻
- Object resultValue = calculationFormula(result, v.get(0), k, device);
- map.put(k, resultValue);
- });
- return map;
}
@@ -550,7 +493,7 @@
* @param dataConfig 瀛樺偍鍏紡鐨勫璞�
* @return
*/
- private static Object calculationFormula(List<Object> list, DataConfig dataConfig, String insProductItem, Device device) {
+ public static Object calculationFormula(List<Object> list, DataConfig dataConfig, String insProductItem, Device device) {
if (list.size() == 0) {
Map<String, Object> hashMap = new HashMap<>();
hashMap.put("equipName", device.getDeviceName());
@@ -761,7 +704,7 @@
}
// 闃叉鍙傜収鐗╀负绌烘姤閿欙紝杩涜鍒ゆ柇濡傛灉涓虹┖璧嬪�肩┖瀛楃
- private static String getRefer(String refer) {
+ public static String getRefer(String refer) {
return ObjectUtils.isNotEmpty(refer) ? refer.replaceAll(" ", "") : "";
}
/**
diff --git a/cnas-device/src/main/java/com/ruoyi/device/vo/DeviceMqttVO.java b/cnas-device/src/main/java/com/ruoyi/device/vo/DeviceMqttVO.java
index 53df3d4..be2af21 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/vo/DeviceMqttVO.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/vo/DeviceMqttVO.java
@@ -32,7 +32,7 @@
/**
* 瀹為檯鍊�
*/
- private BigDecimal value;
+ private String value;
}
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
index 7c91fc1..a727014 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
@@ -9,6 +9,7 @@
import com.ruoyi.inspect.dto.SampleProductDto2;
import com.ruoyi.inspect.dto.SampleProductExportDto;
import com.ruoyi.inspect.pojo.InsOrder;
+import com.ruoyi.inspect.vo.IfsOrderVO;
import com.ruoyi.inspect.vo.InsOrderPrintingVo;
import com.ruoyi.inspect.vo.SampleDefectsFatherVo;
import org.apache.ibatis.annotations.Param;
@@ -144,4 +145,6 @@
* @return
*/
Integer selectNotSpotCheckOrder(@Param("itmeId") Integer itmeId, @Param("startTime") String startTime, @Param("endTime") String endTime);
+
+ IfsOrderVO selectOrderInfoById(@Param("id") Integer id);
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsSampleMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsSampleMapper.java
index 0b1fb82..8907546 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsSampleMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsSampleMapper.java
@@ -11,6 +11,7 @@
import com.ruoyi.inspect.vo.InsOrderPlanTaskSwitchVo;
import com.ruoyi.inspect.vo.InsOrderPlanVO;
import com.ruoyi.inspect.vo.SampleVo;
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -22,6 +23,7 @@
* @createDate 2024-03-14 17:14:57
* @Entity com.yuanchu.mom.pojo.InsSample
*/
+@Mapper
public interface InsSampleMapper extends BaseMapper<InsSample> {
IPage<InsOrderPlanVO> findInsSampleAndOrder(Page page,
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index c3b08cb..a06a1c6 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -37,6 +37,7 @@
import com.ruoyi.inspect.service.InsOrderStateService;
import com.ruoyi.inspect.service.InsProductService;
import com.ruoyi.inspect.service.InsSampleService;
+import com.ruoyi.inspect.vo.IfsOrderVO;
import com.ruoyi.inspect.vo.InsOrderPrintingVo;
import com.ruoyi.system.mapper.UserMapper;
import lombok.AllArgsConstructor;
@@ -514,9 +515,10 @@
@Override
public Map<String, Object> getInsOrderAndSample(Integer id, String laboratory) {
Map<String, Object> map = new HashMap<>();
- InsOrder insOrder = insOrderMapper.selectById(id);
+// InsOrder insOrder = insOrderMapper.selectById(id);
+ IfsOrderVO ifsOrderVO = insOrderMapper.selectOrderInfoById(id);
List<SampleProductDto> list = insSampleMapper.getInsOrderAndSample(id, laboratory);
- map.put("insOrder", insOrder);
+ map.put("insOrder", ifsOrderVO);
map.put("sampleProduct", list);
//鏌ヨ鎵�鏈夎褰曟ā鐗堝幓閲�
List<Map<Integer, Object>> list2 = insOrderMapper.selectReportModelByOrderId(id, laboratory);
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/vo/IfsOrderVO.java b/inspect-server/src/main/java/com/ruoyi/inspect/vo/IfsOrderVO.java
new file mode 100644
index 0000000..a8ff832
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/vo/IfsOrderVO.java
@@ -0,0 +1,39 @@
+package com.ruoyi.inspect.vo;
+
+import com.ruoyi.inspect.pojo.InsOrder;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * ifs璁㈠崟vo
+ */
+@Data
+public class IfsOrderVO extends InsOrder implements Serializable {
+
+
+ /**
+ * 缁濈紭棰滆壊
+ */
+ @ApiModelProperty("缁濈紭棰滆壊")
+ private String insulationColor;
+
+ /**
+ * 澶栨姢棰滆壊
+ */
+ @ApiModelProperty("澶栨姢棰滆壊")
+ private String outerColor;
+
+ /**
+ * 鐩樺彿
+ */
+ @ApiModelProperty("鐩樺彿")
+ private String drumNo;
+
+ /**
+ * 鏄惁鏄媶鍒嗚鍗�(0:鍚� 1:鏄�)
+ */
+ @ApiModelProperty("鏄惁鏄媶鍒嗚鍗�(0:鍚� 1:鏄�)")
+ private Integer isSplitOrder;
+}
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 78234d5..6f39cfc 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -469,4 +469,22 @@
and ip.structure_item_parameter_id = #{itmeId}
group by io.id) a
</select>
+ <select id="selectOrderInfoById" resultType="com.ruoyi.inspect.vo.IfsOrderVO">
+ select io.*,
+ isor.insulation_color,
+ isor.outer_color,
+ isor.drum_no,
+ iiq.is_split_order
+ from ins_order io left join ifs_inventory_quantity iiq on io.ifs_inventory_id=iiq.id
+ left join ifs_split_order_record isor
+ on iiq.order_no=isor.order_no
+ and iiq.line_no=isor.line_no
+ and iiq.release_no=isor.release_no
+ and iiq.receipt_no=isor.receipt_no
+ and iiq.part_no=isor.part_no
+ AND iiq.update_batch_no = isor.lot_batch_no
+ where io.state !=-1
+ AND io.id = #{id}
+ LIMIT 1
+ </select>
</mapper>
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 b00aaf2..fd82b06 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
@@ -628,5 +628,54 @@
return 0;
}
}
+
+ //====================================================ZSet=======================================================
+
+ /**
+ * 鑾峰彇zset鏁版嵁闀垮害
+ * @param key 閿�
+ * @return
+ */
+ public static long getZSetSize(String key){
+ try {
+ return redisTemplate.opsForZSet().size(key);
+ }catch (Exception e){
+ e.printStackTrace();
+ return 0L;
+ }
+ }
+
+ /**
+ * 鏂板涓�涓獄set
+ * @param key 閿�
+ * @param source 鍒嗘暟
+ * @param value 鍊�
+ * @return
+ */
+ public static boolean addZSet(String key,double source,Object value){
+ try {
+ return redisTemplate.opsForZSet().add(key, value, source);
+ }catch(Exception e){
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 鍒犻櫎zset鍏冪礌锛屾寜鎺掑悕
+ * @param key 閿�
+ * @param start 寮�濮嬬储寮�
+ * @param end 缁撴潫绱㈠紩
+ * @return
+ */
+ public static long delZSetRange(String key,long start,long end){
+ try {
+ return redisTemplate.opsForZSet().removeRange(key,start,end);
+ }catch(Exception e){
+ e.printStackTrace();
+ return 0L;
+ }
+ }
+
}
--
Gitblit v1.9.3