Explorar el Código

更新驾驶舱列表年份查询不准

chenendian hace 3 meses
padre
commit
9a81744178

+ 25 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/jsc/JscMapper.java

@@ -18,4 +18,29 @@ public interface JscMapper {
     @SelectProvider(value = JscSqlProvider.class, method = "getSqlListByMap")
     public List<LinkedHashMap<String, Object>> getBeanListByEntity(Map<String, Object> map);
 
+
+    /**
+     *
+     * 兼容查询项目统计信息,按照开始结束时间查询
+     * @param map
+     * @return
+     */
+    @SelectProvider(value = JscSqlProvider.class, method = "getSqlListByMapAndTowTime")
+    public List<LinkedHashMap<String, Object>> getBeanListByEntityTowTime(Map<String, Object> map);
+
+
+
+    /**
+     *
+     * 兼容查询项目详情信息,按照开始结束时间查询
+     * @param map
+     * @return
+     */
+    @SelectProvider(value = JscSqlProvider.class, method = "getSqlListByMapAndTowTime2")
+    public List<LinkedHashMap<String, Object>> getSqlListByMapAndTowTime2(Map<String, Object> map);
+
+
+
+
+
 }

+ 108 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/jsc/provider/JscSqlProvider.java

@@ -42,4 +42,112 @@ public class JscSqlProvider {
         return sqlBuilder.toString();
     }
 
+
+    public String getSqlListByMapAndTowTime(Map<String, Object> map) {
+        StringBuilder sqlBuilder = new StringBuilder("");
+        if (map != null && map.size() > 0) {
+            String jsc_sql = map.get("jsc_sql").toString();
+            if (StringUtils.isNotEmpty(jsc_sql)) {
+                sqlBuilder.append(jsc_sql);
+                if (map.size() > 1) {
+                    sqlBuilder.append(" where ");
+                    Set<String> keys = map.keySet();
+                    if(keys.contains("begin_time")){
+                        String value = String.valueOf(map.get("begin_time"));
+                        value = value.substring(0,4);
+                        map.put("begin_time",value);
+                    }
+                    if(keys.contains("end_time")){
+                        String value = String.valueOf(map.get("end_time"));
+                        value = value.substring(0,4);
+                        map.put("end_time",value);
+                    }
+                    int len = 0;
+                    for (String key : keys) {
+                        if (key != null && !"jsc_sql".equals(key)) {
+                            if (len > 0) {
+                                sqlBuilder.append(" and ");
+                            }
+                            if(keys.contains("begin_time")  &&  keys.contains("end_time")){
+                                if ("begin_time".equals(key)) {
+                                    sqlBuilder.append("sjnf").append(">= #{").append(key.trim()).append("} ");
+                                }else if ("end_time".equals(key)) {
+                                    sqlBuilder.append("sjnf").append("<= #{").append(key.trim()).append("} ");
+                                }else if ("id".equals(key)) {
+                                    sqlBuilder.append("xzqhdm").append(" like #{").append(key.trim()).append("} ").append("||'%'");
+                                }
+                            }else if(keys.contains("begin_time") || keys.contains("end_time")){
+                                if ("begin_time".equals(key) ||  "end_time".equals(key)) {
+                                    String newKey = key.trim();
+                                    if ("begin_time".equals(key) ||  "end_time".equals(key)) {
+                                        newKey = "sjnf";
+                                    }
+                                    sqlBuilder.append(newKey).append("= #{").append(key.trim()).append("} ");
+                                }else if ("id".equals(key)) {
+                                    sqlBuilder.append("xzqhdm").append(" like #{").append(key.trim()).append("} ").append("||'%'");
+                                }
+                            }else if ("id".equals(key)) {
+                                sqlBuilder.append("xzqhdm").append(" like #{").append(key.trim()).append("} ").append("||'%'");
+                            }
+                            len++;
+                        }
+                    }
+                }
+            }
+        }
+        return sqlBuilder.toString();
+    }
+
+
+    public String getSqlListByMapAndTowTime2(Map<String, Object> map) {
+        StringBuilder sqlBuilder = new StringBuilder("");
+        if (map != null && map.size() > 0) {
+            String jsc_sql = map.get("jsc_sql").toString();
+            if (StringUtils.isNotEmpty(jsc_sql)) {
+                sqlBuilder.append("select * from (").append(jsc_sql).append(") as a ");
+                if (map.size() > 1) {
+                    sqlBuilder.append(" where ");
+                    Set<String> keys = map.keySet();
+                    if(keys.contains("begin_time")){
+                        String value = String.valueOf(map.get("begin_time"));
+                        value = value.substring(0,4);
+                        map.put("begin_time",value);
+                    }
+                    if(keys.contains("end_time")){
+                        String value = String.valueOf(map.get("end_time"));
+                        value = value.substring(0,4);
+                        map.put("end_time",value);
+                    }
+                    int len = 0;
+                    for (String key : keys) {
+                        if (key != null && !"jsc_sql".equals(key)) {
+                            if (len > 0) {
+                                sqlBuilder.append(" and ");
+                            }
+                            if(keys.contains("begin_time")  &&  keys.contains("end_time")){
+                                if ("begin_time".equals(key)) {
+                                    sqlBuilder.append(" a.").append("sjnf").append(">= #{").append(key.trim()).append("} ");
+                                }else if ("end_time".equals(key)) {
+                                    sqlBuilder.append(" a.").append("sjnf").append("<= #{").append(key.trim()).append("} ");
+                                }else {
+                                    sqlBuilder.append(" a.").append(key.trim()).append("= #{").append(key.trim()).append("} ");
+                                }
+                            }else if(keys.contains("begin_time") || keys.contains("end_time")){
+                                String newKey = key.trim();
+                                if ("begin_time".equals(key) ||  "end_time".equals(key)) {
+                                    newKey = "sjnf";
+                                }
+                                sqlBuilder.append(" a.").append(newKey).append("= #{").append(key.trim()).append("} ");
+                            }
+                            len++;
+                        }
+                    }
+                }
+            }
+        }
+        return sqlBuilder.toString();
+    }
+
+
+
 }

+ 19 - 6
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/jsc/JscServiceImpl.java

@@ -97,12 +97,17 @@ public class JscServiceImpl implements JscService {
         if (StringUtils.isNotEmpty(endTime)) {
             queryMap.put("end_time", endTime);
         }
+
         if (StringUtils.isNotEmpty(val0)) {
-            String val0_key  = "val0";
-            if("jsc_tdgy_gy_zbmx".equalsIgnoreCase(jscType.trim())){
-                val0_key="sjnf";
-            }
-            queryMap.put(val0_key, val0);
+//            String val0_key  = "val0";
+//            if("jsc_tdgy_gy_zbmx".equalsIgnoreCase(jscType.trim())){
+//                val0_key="sjnf";
+//            }
+//            queryMap.put(val0_key, val0);
+        }
+
+        if (StringUtils.isNotEmpty(val0)) {
+            queryMap.put("val0", val0);
         }
         if (StringUtils.isNotEmpty(val1)) {
             queryMap.put("val1", val1);
@@ -111,7 +116,15 @@ public class JscServiceImpl implements JscService {
             queryMap.put("val2", val2);
         }
         queryMap.put("jsc_sql", jscSql);
-        List<LinkedHashMap<String, Object>> list = jscMapper.getBeanListByEntity(queryMap);
+        List<LinkedHashMap<String, Object>> list;
+        if("jsc_tdgy_gy_ztsh".equalsIgnoreCase(jscType.trim())){
+            list = jscMapper.getBeanListByEntityTowTime(queryMap);
+        }else if("jsc_tdgy_gy_zbmx".equalsIgnoreCase(jscType.trim())){
+            list = jscMapper.getSqlListByMapAndTowTime2(queryMap);
+        }else{
+            list = jscMapper.getBeanListByEntity(queryMap);
+        }
+
         //这里进行遍历,获取点的高度 modify 1211
         if (CollectionUtils.isNotEmpty(list) && jscType.trim().equalsIgnoreCase("t_zhd_sjlb")) {
             for (LinkedHashMap<String, Object> map  :list){