Selaa lähdekoodia

设备编号重复添加和修改的判断

yanliming 5 vuotta sitten
vanhempi
commit
6acbfdaff2

+ 20 - 9
web/src/main/java/com/jpsoft/smart/modules/base/controller/DeviceInfoController.java

@@ -123,18 +123,29 @@ public class DeviceInfoController {
         MessageResult<DeviceInfo> msgResult = new MessageResult<>();
 
         try {
-            deviceInfo.setUpdateBy(subject);
-            deviceInfo.setUpdateTime(new Date());
-            
-            int affectCount = deviceInfoService.update(deviceInfo);
+            DeviceInfo item = deviceInfoService.getByDeviceNo(deviceInfo.getDeviceNo());
 
-            if (affectCount > 0) {
-                msgResult.setResult(true);
-                msgResult.setData(deviceInfo);
-            } else {
+            //如果修改自己的属性
+            if(item.getId().equals(deviceInfo.getId())){
+                deviceInfo.setUpdateBy(subject);
+                deviceInfo.setUpdateTime(new Date());
+
+                int affectCount = deviceInfoService.update(deviceInfo);
+
+                if (affectCount > 0) {
+                    msgResult.setResult(true);
+                    msgResult.setData(deviceInfo);
+                } else {
+                    msgResult.setResult(false);
+                    msgResult.setMessage("数据库更新失败");
+                }
+            }
+            else{
+                //如果修改设备编号在数据库中已有重复的设备号,则不能修改!
                 msgResult.setResult(false);
-                msgResult.setMessage("数据库更新失败");
+                msgResult.setMessage("该设备编号的设备已存在,不能修改!");
             }
+
         }
         catch(Exception ex){
             logger.error(ex.getMessage(),ex);