From 16f4bb3c28fc85cffcc511718c903ada9fdab134 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期五, 26 十二月 2025 16:59:45 +0800
Subject: [PATCH] 调用mes导入工程参数修改,Excel表数据流程卡号一致;增加读取层号/工程号方法; 工程号一致覆盖更新
---
mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DeviceConfigServiceImpl.java | 45 ++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 40 insertions(+), 5 deletions(-)
diff --git a/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DeviceConfigServiceImpl.java b/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DeviceConfigServiceImpl.java
index 6f5b2b3..0b0b17e 100644
--- a/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DeviceConfigServiceImpl.java
+++ b/mes-processes/mes-plcSend/src/main/java/com/mes/device/service/impl/DeviceConfigServiceImpl.java
@@ -11,6 +11,7 @@
import com.mes.device.vo.DeviceConfigVO;
import com.mes.device.vo.StatisticsVO;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.io.IOException;
@@ -32,10 +33,24 @@
@Override
public boolean createDevice(DeviceConfig deviceConfig) {
try {
+ // 鑻ユ湭浼犲垯鐢熸垚璁惧缂栫爜
+ String code = StringUtils.trimToEmpty(deviceConfig.getDeviceCode());
+ if (StringUtils.isBlank(code)) {
+ code = generateDeviceCode();
+ deviceConfig.setDeviceCode(code);
+ } else {
+ deviceConfig.setDeviceCode(code);
+ }
+
// 妫�鏌ヨ澶囩紪鍙锋槸鍚﹀凡瀛樺湪
- if (isDeviceCodeExists(deviceConfig.getDeviceCode(), null)) {
- log.warn("璁惧缂栧彿宸插瓨鍦�: {}", deviceConfig.getDeviceCode());
- return false;
+ if (isDeviceCodeExists(code, null)) {
+ log.warn("璁惧缂栧彿宸插瓨鍦�: {}", code);
+ throw new IllegalArgumentException("璁惧缂栫爜宸插瓨鍦�");
+ }
+
+ // 椤圭洰ID鏈紶鍒欎娇鐢ㄩ粯璁ら」鐩紙鍗曢」鐩満鏅彲鐢級锛岄伩鍏嶉潪绌虹害鏉�
+ if (deviceConfig.getProjectId() == null) {
+ deviceConfig.setProjectId(1L);
}
// 鍒濆鍖栬澶囩姸鎬佷负绂荤嚎
@@ -50,7 +65,7 @@
return result;
} catch (Exception e) {
log.error("鍒涘缓璁惧閰嶇疆澶辫触", e);
- return false;
+ throw e;
}
}
@@ -61,6 +76,11 @@
if (isDeviceCodeExists(deviceConfig.getDeviceCode(), deviceConfig.getId())) {
log.warn("璁惧缂栧彿宸插瓨鍦�: {}", deviceConfig.getDeviceCode());
return false;
+ }
+
+ // 鑻ラ」鐩甀D缂哄け锛屼娇鐢ㄩ粯璁ら」鐩�
+ if (deviceConfig.getProjectId() == null) {
+ deviceConfig.setProjectId(1L);
}
boolean result = updateById(deviceConfig);
@@ -341,8 +361,13 @@
@Override
public boolean isDeviceCodeExists(String deviceCode, Long excludeId) {
+ if (StringUtils.isBlank(deviceCode)) {
+ return false;
+ }
+ String trimmed = deviceCode.trim();
+
LambdaQueryWrapper<DeviceConfig> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(DeviceConfig::getDeviceCode, deviceCode);
+ wrapper.eq(DeviceConfig::getDeviceCode, trimmed);
wrapper.eq(DeviceConfig::getIsDeleted, 0);
if (excludeId != null) {
@@ -352,6 +377,16 @@
return count(wrapper) > 0;
}
+ /**
+ * 绠�鍗曠殑璁惧缂栫爜鐢熸垚鍣細DEV_鍓嶇紑
+ */
+ private String generateDeviceCode() {
+ Long maxNo = getBaseMapper().selectMaxDeviceCodeNumber();
+ long next = (maxNo == null ? 0 : maxNo) + 1;
+ // 宸︿晶琛ラ浂鍒�6浣嶏紝渚嬪 DEV_000123
+ return String.format("DEV_%06d", next);
+ }
+
@Override
public boolean updateDeviceStatus(Long id, String status) {
try {
--
Gitblit v1.8.0