From 3c7399c25c0f35c8aa7cb6af1935e31d1a3f0102 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 02 六月 2026 17:43:50 +0800
Subject: [PATCH] 新增智能电表、空调管理
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java | 31 +++++++++++++++++++++++++++++++
1 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
index 4754f5a..d494162 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
@@ -99,6 +99,7 @@
if(ywDeviceMapper.selectCount(new QueryWrapper<YwDevice>().lambda().eq(YwDevice::getIsdeleted,Constants.ZERO).eq(YwDevice::getCode,ywDevice.getCode()))>Constants.ZERO){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁惧缂栧彿閲嶅!");
}
+ ywDevice.setDeviceNum(normalizeDeviceNum(ywDevice.getDeviceNum()));
ywDevice.setCreateDate(new Date());
ywDevice.setCreator(loginUserInfo.getId());
ywDevice.setIsdeleted(Constants.ZERO);
@@ -187,6 +188,7 @@
.ne(YwDevice::getId,ywDevice.getId()))>Constants.ZERO){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁惧缂栧彿閲嶅!");
}
+ ywDevice.setDeviceNum(normalizeDeviceNum(ywDevice.getDeviceNum()));
ywDevice.setEditDate(new Date());
ywDevice.setEditor(loginUserInfo.getId());
ywDeviceMapper.updateById(ywDevice);
@@ -504,6 +506,7 @@
private boolean isImportBlankRow(DeviceImport row) {
return StringUtils.isBlank(row.getCode())
&& StringUtils.isBlank(row.getName())
+ && StringUtils.isBlank(row.getDeviceNum())
&& StringUtils.isBlank(row.getProjectName())
&& StringUtils.isBlank(row.getRoomPath());
}
@@ -612,6 +615,7 @@
if (StringUtils.isBlank(row.getName())) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝绗�" + rowNum + "琛岃澶囧悕绉颁笉鑳戒负绌猴紝璇锋鏌ヨ〃鏍煎唴瀹癸紒");
}
+ Integer deviceNum = parseImportDeviceNum(row.getDeviceNum(), rowNum);
if (StringUtils.isBlank(row.getProjectName())) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝绗�" + rowNum + "琛屾墍灞為」鐩笉鑳戒负绌猴紝璇锋鏌ヨ〃鏍煎唴瀹癸紒");
}
@@ -668,6 +672,7 @@
YwDevice device = new YwDevice();
device.setCode(code);
device.setName(row.getName().trim());
+ device.setDeviceNum(deviceNum);
device.setCateId(cateId);
device.setModelNo(StringUtils.trimToNull(row.getModelNo()));
device.setUserId(userId);
@@ -697,6 +702,32 @@
return device;
}
+ private Integer normalizeDeviceNum(Integer deviceNum) {
+ if (deviceNum == null || deviceNum <= 0) {
+ return 1;
+ }
+ return deviceNum;
+ }
+
+ private Integer parseImportDeviceNum(String deviceNumText, int rowNum) {
+ if (StringUtils.isBlank(deviceNumText)) {
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝绗�" + rowNum + "琛岃澶囨暟閲忎笉鑳戒负绌猴紝璇锋鏌ヨ〃鏍煎唴瀹癸紒");
+ }
+ String text = deviceNumText.trim();
+ if (StringUtils.endsWith(text, ".0")) {
+ text = StringUtils.substringBefore(text, ".0");
+ }
+ try {
+ double value = Double.parseDouble(text);
+ if (value <= 0 || value != Math.floor(value)) {
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝绗�" + rowNum + "琛岃澶囨暟閲忓繀椤讳负姝f暣鏁帮紝璇锋鏌ヨ〃鏍煎唴瀹癸紒");
+ }
+ return (int) value;
+ } catch (NumberFormatException e) {
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝绗�" + rowNum + "琛岃澶囨暟閲忓繀椤讳负姝f暣鏁帮紝璇锋鏌ヨ〃鏍煎唴瀹癸紒");
+ }
+ }
+
private Integer resolveInternalUserId(String userName, int rowNum, String fieldLabel, DeviceImportCache cache) {
if (StringUtils.isBlank(userName)) {
return null;
--
Gitblit v1.9.3