|
@@ -1,6 +1,7 @@
|
|
|
package com.shkpr.service.aimodelpower.jsonbean.woDispatchDatabase;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.global.base.log.LogLevelFlag;
|
|
|
import com.global.base.log.LogPrintMgr;
|
|
|
import com.shkpr.service.aimodelpower.commtools.TimeTool;
|
|
@@ -114,6 +115,18 @@ public class JPDispatchDatabaseInfoSS extends JPPageLO {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
+ if(!StringUtils.isEmpty(tags)){
|
|
|
+ //TODO 说明传递了气温范围数组
|
|
|
+ try {
|
|
|
+ JSONArray jsonArray = JSONArray.parseArray(tags);
|
|
|
+ if(jsonArray==null||jsonArray.size()<1){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }catch(Exception ex){
|
|
|
+ //TODO 说明异常则返回false
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -123,7 +136,19 @@ public class JPDispatchDatabaseInfoSS extends JPPageLO {
|
|
|
str.append(" OR database_name like '%" + this.databaseName + "%' ");
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(this.tags)) {
|
|
|
- str.append(" OR tags like '%" + this.tags + "%' ");
|
|
|
+ JSONArray tagsArray = JSONArray.parseArray(tags);
|
|
|
+ int index = 1;
|
|
|
+ for (Object jo: tagsArray) {
|
|
|
+ str.append("OR EXISTS ( " +
|
|
|
+ " SELECT " +
|
|
|
+ " 1 " +
|
|
|
+ " FROM " +
|
|
|
+ " jsonb_array_elements(tags::jsonb) AS elem " +
|
|
|
+ " WHERE " +
|
|
|
+ " elem->>'data' LIKE '%"+jo.toString()+"%' " +
|
|
|
+ " ) ");
|
|
|
+ index++;
|
|
|
+ }
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(this.weather)) {
|
|
|
str.append(" OR weather like '%" + this.weather + "%' ");
|