Преглед изворни кода

Merge remote-tracking branch 'origin/V1' into V1

zhengqiang пре 5 година
родитељ
комит
695525d927

+ 1 - 1
common/src/main/resources/mapper/base/DeviceInfo.xml

@@ -158,7 +158,7 @@ id_, header_,device_no,alias_name,address_,is_online,company_id,unlock_password,
 	 	</foreach>
 	</select>
 	<select id="findByDeviceNo" parameterType="string" resultMap="DeviceInfoMap">
-			select * from base_device_info where device_no = #{0}
+			select * from base_device_info where device_no = #{0} and del_flag=false
 	</select>
 
 </mapper>

+ 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);