Browse Source

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

wangyangyang 3 years ago
parent
commit
4e36bfd397

+ 12 - 5
sms_water/src/main/java/com/huaxu/controller/SceneController.java

@@ -28,6 +28,7 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.util.*;
+import java.util.regex.Pattern;
 
 import org.springframework.web.bind.annotation.*;
 import com.huaxu.service.SceneService;
@@ -280,7 +281,7 @@ public class SceneController {
             if(rate>=Double.parseDouble(params[0])){
                 map.put("level","高");
             }
-            else if(rate>=Double.parseDouble(params[1]) && rate<Double.parseDouble(params[0])){
+            else if(rate>=Double.parseDouble(mParam[1]) && rate<Double.parseDouble(mParam[0])){
                 map.put("level","中");
             }
             else if(rate<Double.parseDouble(params[2])){
@@ -424,10 +425,16 @@ public class SceneController {
      * @param str
      * @return true:是,false不是
      */
-    private boolean validateNumber(String str) {
-        if(StringUtils.isBlank(str)) {
-            return false;
+    public static boolean validateNumber(String str){
+        Pattern pattern = Pattern.compile("[0-9]*");
+        if(str.indexOf(".")>0){//判断是否有小数点
+            if(str.indexOf(".")==str.lastIndexOf(".") && str.split("\\.").length==2){ //判断是否只有一个小数点
+                return pattern.matcher(str.replace(".","")).matches();
+            }else {
+                return false;
+            }
+        }else {
+            return pattern.matcher(str).matches();
         }
-        return str.matches("[+-]?[0-9]+(\\\\.[0-9]+)?");
     }
 }

+ 2 - 2
sms_water/src/main/resources/mapper/SceneMapper.xml

@@ -560,14 +560,14 @@
                         <if test="sort == 2">
                             from sms_scene a INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
                             INNER JOIN sms_alarm_details c on c.PARENT_SCENE_ID=a.ID
-                            LEFT JOIN sms_device_parm d on d.ATTRIBUTE_ID = c.ATTRIBUTE_ID and d.STATUS=1
                             INNER JOIN sms_device_attribute e on e.ID = c.ATTRIBUTE_ID and e.STATUS=1
+                            LEFT JOIN sms_device_parm d on d.ATTRIBUTE_ID = c.ATTRIBUTE_ID and d.DEVICE_ID=c.DEVICE_ID and d.TENANT_ID=c.TENANT_ID and d.PARENT_SCENE_ID=c.PARENT_SCENE_ID and d.STATUS=1
                             where a.ID = #{scene.id}
                         </if>
                         <if test="sort == 1">
                             from sms_alarm_details c
-                            LEFT JOIN sms_device_parm d on d.ATTRIBUTE_ID = c.ATTRIBUTE_ID and d.STATUS=1
                             INNER JOIN sms_device_attribute e on e.ID = c.ATTRIBUTE_ID and e.STATUS=1
+                            LEFT JOIN sms_device_parm d on d.ATTRIBUTE_ID = c.ATTRIBUTE_ID and d.DEVICE_ID=c.DEVICE_ID and d.TENANT_ID=c.TENANT_ID and d.PARENT_SCENE_ID=c.PARENT_SCENE_ID and d.STATUS=1
                             where c.device_id = #{scene.id}
                         </if>
                         and c.date_create &gt;= date_format(#{startDate,jdbcType=VARCHAR},'%Y-%m-%d')