| 
					
				 | 
			
			
				@@ -1,6 +1,5 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.cr.common 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.cr.data.CrUtil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cr.map.CaseModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cr.map.LayerConfigModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cr.map.LayerModel 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15,6 +14,7 @@ import com.cr.models.* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class DataManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // todo: 2023/4/3 静态方法及属性封装 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     companion object { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private const val TABLE_AIR_LINE: String = "AIRLINE"  // define: 2023/9/19 航线表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * 获取网络服务连接信息 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -186,14 +186,18 @@ class DataManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @param model CaseModel 案件点模型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @param callback iCompletion 完成回调 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fun appAppendImages(model:CaseModel,callback:ICompletion<String>){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fun appAppendImages(model: CaseModel, callback: ICompletion<String>) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // todo: 2023/6/19 先查询是否已经存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var SQL = String.format("select * from WAYIMAGES where wayid='%s' and imgname='%s'",model.name,model.imgName) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var SQL = String.format( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "select * from WAYIMAGES where wayid='%s' and imgname='%s'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                model.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                model.imgName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var queryList = DatabaseAppUAVManager.getInstance().query(SQL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(queryList.isNotEmpty()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(callback != null) callback?.onCompletion(CompletionModel(false,"该照片已经存储!")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var values = HashMap<String,String>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (queryList.isNotEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (callback != null) callback?.onCompletion(CompletionModel(false, "该照片已经存储!")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var values = HashMap<String, String>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 values["wayid"] = model!!.name!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 values["imgname"] = model!!.imgName!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 values["lat"] = model!!.latitude!!.toString() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -202,11 +206,11 @@ class DataManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 values["ang"] = model!!.angle!!.toString() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 values["isdown"] = "0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 values["date"] = model!!.date!!.toString() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var res = DatabaseAppUAVManager.getInstance().insert("WAYIMAGES",values) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if(callback != null) callback?.onCompletion(CompletionModel(true,"")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if(callback != null) callback?.onCompletion(CompletionModel(false,"该照片已经存储!")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var res = DatabaseAppUAVManager.getInstance().insert("WAYIMAGES", values) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (callback != null) callback?.onCompletion(CompletionModel(true, "")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (callback != null) callback?.onCompletion(CompletionModel(false, "该照片已经存储!")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -216,17 +220,22 @@ class DataManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @param caseId String 案件Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @param callback iCompletion<List<String>> 回调 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fun appQueryImages(caseId:String,callback: ICompletion<List<String>>){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var querySQL = String.format("select * from WAYIMAGES where wayid='%s'",caseId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fun appQueryImages(caseId: String, callback: ICompletion<List<String>>) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var querySQL = String.format("select * from WAYIMAGES where wayid='%s'", caseId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var queryList = DatabaseAppUAVManager.getInstance().query(querySQL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(queryList.isNotEmpty()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (queryList.isNotEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var resList = mutableListOf<String>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for(map in queryList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (map in queryList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     resList.add(map["imgname"].toString()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(callback != null) callback.onCompletion(CompletionModel(true,resList)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(callback != null) callback.onCompletion(CompletionModel(false, mutableListOf("未查询到任何信息!"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (callback != null) callback.onCompletion(CompletionModel(true, resList)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (callback != null) callback.onCompletion( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    CompletionModel( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        mutableListOf("未查询到任何信息!") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -235,14 +244,15 @@ class DataManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @param dataList List<SelModel> 快捷信息列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @return Boolean 存储是否成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fun saveCaseSubmitDescription(dataList:List<SelModel>):Boolean{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fun saveCaseSubmitDescription(dataList: List<SelModel>): Boolean { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var isReturn = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DatabaseAppUAVManager.getInstance().delete("CASEKjInput","") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (model in dataList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var value:HashMap<String,String> = hashMapOf() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DatabaseAppUAVManager.getInstance().delete("CASEKjInput", "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (model in dataList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var value: HashMap<String, String> = hashMapOf() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 value["kjid"] = model.code!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 value["kjnr"] = model.name!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                isReturn = isReturn && DatabaseAppUAVManager.getInstance().insert("CASEKjInput",value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                isReturn = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    isReturn && DatabaseAppUAVManager.getInstance().insert("CASEKjInput", value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return isReturn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -251,12 +261,12 @@ class DataManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * 获取案件提报快捷描述信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @return List<SelModel> 快捷描述信息列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fun getCaseSubmitDescription():List<SelModel>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fun getCaseSubmitDescription(): List<SelModel> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var resList = mutableListOf<SelModel>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var SQL = "select * from CASEKjInput order by kjid;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var qList = DatabaseAppUAVManager.getInstance().query(SQL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (map in qList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                resList.add(SelModel(map["kjid"]!!,map["kjnr"]!!)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (map in qList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resList.add(SelModel(map["kjid"]!!, map["kjnr"]!!)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return resList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -266,14 +276,14 @@ class DataManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @param dataList List<SelModel> 案件类型列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @return Boolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fun saveCaseType(dataList:List<SelModel>):Boolean{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fun saveCaseType(dataList: List<SelModel>): Boolean { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var isReturn = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DatabaseAppUAVManager.getInstance().delete("CASEType","") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (model in dataList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var value:HashMap<String,String> = hashMapOf() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DatabaseAppUAVManager.getInstance().delete("CASEType", "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (model in dataList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var value: HashMap<String, String> = hashMapOf() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 value["lxid"] = model.code!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 value["lxname"] = model.name!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                isReturn = isReturn && DatabaseAppUAVManager.getInstance().insert("CASEType",value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                isReturn = isReturn && DatabaseAppUAVManager.getInstance().insert("CASEType", value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return isReturn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -282,14 +292,134 @@ class DataManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * 获取案件类型快捷描述信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @return List<SelModel> 类型信息列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fun getCaseType():List<SelModel>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fun getCaseType(): List<SelModel> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var resList = mutableListOf<SelModel>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var SQL = "select * from CASEType order by lxid;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var qList = DatabaseAppUAVManager.getInstance().query(SQL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (map in qList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                resList.add(SelModel(map["lxid"]!!,map["lxname"]!!)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (map in qList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resList.add(SelModel(map["lxid"]!!, map["lxname"]!!)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return resList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * 保存航线点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * @param model CrAircraftLineModel 航线点模型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * @return Int 返回-1表示失败 其他表示保存的Id标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fun saveAircraftLine(model: AircraftWaypointModel): Int { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var resInt: Int = -1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var values: HashMap<String, String> = hashMapOf() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            values["date"] = model.createDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            values["lng"] = model.longitude 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            values["lat"] = model.latitude 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            values["alt"] = model.altitude 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            values["angle"] = model.angle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            values["type"] = model.type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            values["flag"] = model.userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var isInsert = DatabaseAppUAVManager.getInstance().insert(TABLE_AIR_LINE, values) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (isInsert) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var sql = String.format( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "SELECT max(ID) maxid FROM %s where FLAG='%s'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    TABLE_AIR_LINE, model.userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var qList = DatabaseAppUAVManager.getInstance().query(sql) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resInt = qList[0]["maxid"]!!.toInt() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return resInt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * 查询指定用户的航线统计信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * @param userId String 用户Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * @return AircraftLineCountModel 统计信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fun queryAircraftStatisticsInfo(userId: String): AircraftLineCountModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var resModel = AircraftLineCountModel() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // todo: 2023/9/19 查询航点总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var sql = String.format( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "select count(*) count from %s where flag='%s'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                TABLE_AIR_LINE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var qList = DatabaseAppUAVManager.getInstance().query(sql) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resModel.waypointAllCount = qList[0]["count"]!!.toInt() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // todo: 2023/9/19 查询待传航点数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sql = String.format( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "select count(*) count from %s where flag='%s' and type='0'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                TABLE_AIR_LINE, userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            qList = DatabaseAppUAVManager.getInstance().query(sql) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resModel.waitUploadWaypointCount = qList[0]["count"]!!.toInt() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // todo: 2023/9/19 查询已上传航点数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sql = String.format( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "select count(*) count from %s where flag='%s' and type='1'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                TABLE_AIR_LINE, userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            qList = DatabaseAppUAVManager.getInstance().query(sql) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resModel.yesUploadWaypointCount = qList[0]["count"]!!.toInt() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // todo: 2023/9/19 查询统计信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sql = String.format( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "SELECT date,COUNT(*) count from (select date(date) date from %s WHERE FLAG = '%s' and TYPE = '0') GROUP BY date", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                TABLE_AIR_LINE, userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            qList = DatabaseAppUAVManager.getInstance().query(sql) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (data in qList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resModel.appendWaypointDetailInfo(data["date"]!!, data["count"]!!.toInt()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return resModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * 查询所有待上传航点数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * @param userId String 用户Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * @return List<AircraftWaypointModel> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fun queryAllWaitUploadWaypoint(userId:String):List<AircraftWaypointModel>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            val sql = String.format("select * from %s where flag='%s' and type='0'", TABLE_AIR_LINE,userId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            val qList = DatabaseAppUAVManager.getInstance().query(sql) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var resModel = mutableListOf<AircraftWaypointModel>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (map in qList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var model = AircraftWaypointModel(userId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                model.ptId = map["id"]!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                model.longitude = map["lng"]!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                model.latitude = map["lat"]!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                model.altitude = map["alt"]!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                model.angle = map["angle"]!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resModel.add(model) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return resModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * 更新指定航点状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * @param userId String 用户Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * @param ptList List<AircraftWaypointModel> 航点集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * @return Boolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fun updateWaypointState(userId: String,ptList:List<AircraftWaypointModel>):Boolean{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // todo: 2023/9/20 更新的Id集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var arrayInt = mutableListOf<Int>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (pt in ptList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                arrayInt.add(pt.ptId.toInt()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // todo: 2023/9/20 组合条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            val strWhere = "flag = '${userId}' and id in (${arrayInt.joinToString(",")})" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // todo: 2023/9/20 更新内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var valueMap = HashMap<String,String>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            valueMap["type"] = "1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // todo: 2023/9/20 更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return DatabaseAppUAVManager.getInstance().update(TABLE_AIR_LINE,valueMap,strWhere) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * 删除航点信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * @param userId String 用户Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * @return Boolean 删除是否成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fun deleteAircraftPoint(userId: String): Boolean { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            val sqlWhere = String.format("flag='%s'", userId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return DatabaseAppUAVManager.getInstance().delete(TABLE_AIR_LINE,sqlWhere) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |