Browse Source

Merge remote-tracking branch 'origin/master'

zhangweixin 4 years ago
parent
commit
a9e407db0f

+ 36 - 0
datacenter/src/main/kotlin/com/persagy/server/mappers/StatisticsSQL.kt

@@ -0,0 +1,36 @@
+package com.persagy.server.mappers
+
+import org.apache.ibatis.jdbc.SQL
+
+/**
+ * 统计
+ */
+class StatisticsSQL {
+
+    fun equipTypeCount(projectId: String,buildingId: String,floorId: String,listId: ArrayList<String>,listType: ArrayList<String>): String{
+        val ids = concateStr(listId)
+        val types = concateStr(listType)
+        val sql = object: SQL() {
+            init {
+                //select eq.id equipId, deq.id revitUUID from revit.equipment eq inner join public.equipment deq on deq.bim_id = eq.bimid where eq.id in ('') and deq.project_id = ''
+                SELECT("eq.id equipId, deq.id revitUUID")
+                FROM("public.equipment eq")
+                WHERE("eq.id in (${ids}) and eq.class_code = '${types}' and floorId = '${floorId}'     ")
+            }
+        }.toString()
+        return sql
+    }
+
+    fun concateStr(arr : Collection<String>) : String{
+        var stringBuilder = StringBuilder()
+        arr.forEach {
+            stringBuilder.append("\'").append(it).append("\',")
+        }
+        if(stringBuilder.endsWith(',')){
+            stringBuilder.deleteCharAt(stringBuilder.length - 1) //.removeSuffix(",")
+        }
+        return stringBuilder.toString()
+    }
+
+
+}