|  | @@ -15,8 +15,8 @@ import com.cr.data.CrUtil
 | 
	
		
			
				|  |  |  import com.cr.dialog.DialogInput
 | 
	
		
			
				|  |  |  import com.cr.dialog.DialogNormal
 | 
	
		
			
				|  |  |  import com.cr.map.*
 | 
	
		
			
				|  |  | -import com.cr.models.ResultModel
 | 
	
		
			
				|  |  | -import com.cr.models.iCompletion
 | 
	
		
			
				|  |  | +import com.cr.models.CompletionModel
 | 
	
		
			
				|  |  | +import com.cr.models.ICompletion
 | 
	
		
			
				|  |  |  import com.esri.arcgisruntime.arcgisservices.LabelDefinition
 | 
	
		
			
				|  |  |  import com.esri.arcgisruntime.data.Feature
 | 
	
		
			
				|  |  |  import com.esri.arcgisruntime.data.FeatureTable
 | 
	
	
		
			
				|  | @@ -1150,9 +1150,9 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                  if (appendAsync.isDone) {
 | 
	
		
			
				|  |  |                      fLayerMedia?.clearSelection()
 | 
	
		
			
				|  |  |                      fLayerMedia?.selectFeature(caseFeature)
 | 
	
		
			
				|  |  | -                    caseUpdatePolygonByFeature(caseFeature, object : iCompletion {
 | 
	
		
			
				|  |  | -                        override fun onCompletion(result: ResultModel) {
 | 
	
		
			
				|  |  | -                            if (result.isSuccess == true) {
 | 
	
		
			
				|  |  | +                    caseUpdatePolygonByFeature(caseFeature, object : ICompletion<String> {
 | 
	
		
			
				|  |  | +                        override fun onCompletion(completion: CompletionModel<String>) {
 | 
	
		
			
				|  |  | +                            if (completion.isSuccess == true) {
 | 
	
		
			
				|  |  |                                  CrUtil.showMessage(
 | 
	
		
			
				|  |  |                                      String.format(
 | 
	
		
			
				|  |  |                                          "案件点追加成功 %s",
 | 
	
	
		
			
				|  | @@ -1160,7 +1160,7 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                                      )
 | 
	
		
			
				|  |  |                                  )
 | 
	
		
			
				|  |  |                              } else {
 | 
	
		
			
				|  |  | -                                showError(result.message!!)
 | 
	
		
			
				|  |  | +                                showError(completion.result!!)
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                      })
 | 
	
	
		
			
				|  | @@ -1176,7 +1176,7 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |       * @param geom Feature 案件点要素
 | 
	
		
			
				|  |  |       * @param callback iCompletion 完成回调
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    private fun caseClearPolygonByFeature(geom: Feature, callback: iCompletion) {
 | 
	
		
			
				|  |  | +    private fun caseClearPolygonByFeature(geom: Feature, callback: ICompletion<String>) {
 | 
	
		
			
				|  |  |          // todo: 2023/6/13 获取案件ID
 | 
	
		
			
				|  |  |          val caseId = geom.attributes[FIELD_CASE_NAME]
 | 
	
		
			
				|  |  |          // todo: 2023/6/15 先判断是否存在与该案件点名称相同的案件图斑 将其标志清除
 | 
	
	
		
			
				|  | @@ -1196,11 +1196,11 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                      asyncUpdate?.addDoneListener(Runnable {
 | 
	
		
			
				|  |  |                          try {
 | 
	
		
			
				|  |  |                              if (asyncUpdate.isDone) {
 | 
	
		
			
				|  |  | -                                if (callback != null) callback.onCompletion(ResultModel(true, ""))
 | 
	
		
			
				|  |  | +                                if (callback != null) callback.onCompletion(CompletionModel(true, ""))
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |                          } catch (ex: java.lang.IllegalArgumentException) {
 | 
	
		
			
				|  |  |                              if (callback != null) callback.onCompletion(
 | 
	
		
			
				|  |  | -                                ResultModel(
 | 
	
		
			
				|  |  | +                                CompletionModel(
 | 
	
		
			
				|  |  |                                      false,
 | 
	
		
			
				|  |  |                                      "案件面初始化错误!"
 | 
	
		
			
				|  |  |                                  )
 | 
	
	
		
			
				|  | @@ -1209,7 +1209,7 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                      })
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              } catch (ex: java.lang.IllegalArgumentException) {
 | 
	
		
			
				|  |  | -                if (callback != null) callback.onCompletion(ResultModel(false, "案件面初始化错误!"))
 | 
	
		
			
				|  |  | +                if (callback != null) callback.onCompletion(CompletionModel(false, "案件面初始化错误!"))
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -1219,12 +1219,12 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |       * @param geom Feature 案件点
 | 
	
		
			
				|  |  |       * @param callback iCompletion 回调
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    private fun caseUpdatePolygonByFeature(geom: Feature, callback: iCompletion) {
 | 
	
		
			
				|  |  | +    private fun caseUpdatePolygonByFeature(geom: Feature, callback: ICompletion<String>) {
 | 
	
		
			
				|  |  |          // todo: 2023/6/15 先进行初始化
 | 
	
		
			
				|  |  | -        caseClearPolygonByFeature(geom, object : iCompletion {
 | 
	
		
			
				|  |  | -            override fun onCompletion(result: ResultModel) {
 | 
	
		
			
				|  |  | -                if (result.isSuccess == false) {
 | 
	
		
			
				|  |  | -                    if (callback != null) callback.onCompletion(result)
 | 
	
		
			
				|  |  | +        caseClearPolygonByFeature(geom, object : ICompletion<String> {
 | 
	
		
			
				|  |  | +            override fun onCompletion(completion: CompletionModel<String>) {
 | 
	
		
			
				|  |  | +                if (completion.isSuccess == false) {
 | 
	
		
			
				|  |  | +                    if (callback != null) callback.onCompletion(completion)
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      // todo: 2023/6/13 获取案件ID
 | 
	
		
			
				|  |  |                      val caseId = geom.attributes[FIELD_CASE_NAME]
 | 
	
	
		
			
				|  | @@ -1253,7 +1253,7 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                                          if (updateAsync.isDone) {
 | 
	
		
			
				|  |  |                                              // todo: 2023/6/13 更新完成
 | 
	
		
			
				|  |  |                                              if (callback != null) callback.onCompletion(
 | 
	
		
			
				|  |  | -                                                ResultModel(
 | 
	
		
			
				|  |  | +                                                CompletionModel(
 | 
	
		
			
				|  |  |                                                      true,
 | 
	
		
			
				|  |  |                                                      "成功!"
 | 
	
		
			
				|  |  |                                                  )
 | 
	
	
		
			
				|  | @@ -1261,7 +1261,7 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                                          }
 | 
	
		
			
				|  |  |                                      } catch (ex: java.lang.IllegalArgumentException) {
 | 
	
		
			
				|  |  |                                          if (callback != null) callback.onCompletion(
 | 
	
		
			
				|  |  | -                                            ResultModel(
 | 
	
		
			
				|  |  | +                                            CompletionModel(
 | 
	
		
			
				|  |  |                                                  false,
 | 
	
		
			
				|  |  |                                                  "案件对象更新失败!"
 | 
	
		
			
				|  |  |                                              )
 | 
	
	
		
			
				|  | @@ -1271,7 +1271,7 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |                          } catch (ex: java.lang.IllegalArgumentException) {
 | 
	
		
			
				|  |  |                              if (callback != null) callback.onCompletion(
 | 
	
		
			
				|  |  | -                                ResultModel(
 | 
	
		
			
				|  |  | +                                CompletionModel(
 | 
	
		
			
				|  |  |                                      false,
 | 
	
		
			
				|  |  |                                      "案件对象查询失败!"
 | 
	
		
			
				|  |  |                                  )
 | 
	
	
		
			
				|  | @@ -1305,12 +1305,12 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                          dig.setListener(object : DialogNormal.DialogNormalListener {
 | 
	
		
			
				|  |  |                              // todo: 2023/6/14 确认删除
 | 
	
		
			
				|  |  |                              override fun completion() {
 | 
	
		
			
				|  |  | -                                caseRemoveWaypointAndUpdateCasePolygon(features,object:iCompletion{
 | 
	
		
			
				|  |  | -                                    override fun onCompletion(result: ResultModel) {
 | 
	
		
			
				|  |  | -                                        if(result.isSuccess == true){
 | 
	
		
			
				|  |  | +                                caseRemoveWaypointAndUpdateCasePolygon(features,object:ICompletion<String>{
 | 
	
		
			
				|  |  | +                                    override fun onCompletion(completion: CompletionModel<String>) {
 | 
	
		
			
				|  |  | +                                        if(completion.isSuccess == true){
 | 
	
		
			
				|  |  |                                              CrUtil.showMessage("删除成功!")
 | 
	
		
			
				|  |  |                                          }else{
 | 
	
		
			
				|  |  | -                                            showError(result.message!!)
 | 
	
		
			
				|  |  | +                                            showError(completion.result!!)
 | 
	
		
			
				|  |  |                                          }
 | 
	
		
			
				|  |  |                                      }
 | 
	
		
			
				|  |  |                                  })
 | 
	
	
		
			
				|  | @@ -1337,7 +1337,7 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |       * @param features List<Feature> 案件点集合
 | 
	
		
			
				|  |  |       * @param callback iCompletion 完成回调
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    private fun caseRemoveWaypointAndUpdateCasePolygon(features:List<Feature>,callback: iCompletion){
 | 
	
		
			
				|  |  | +    private fun caseRemoveWaypointAndUpdateCasePolygon(features:List<Feature>,callback: ICompletion<String>){
 | 
	
		
			
				|  |  |          var deleteAsync = fTableMedia?.deleteFeaturesAsync(features)
 | 
	
		
			
				|  |  |          deleteAsync?.addDoneListener(Runnable {
 | 
	
		
			
				|  |  |              try {
 | 
	
	
		
			
				|  | @@ -1350,7 +1350,7 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                      caseUpdateCasePolygonByWhere(wheres,callback)
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              } catch (ex: java.lang.IllegalArgumentException) {
 | 
	
		
			
				|  |  | -                if (callback != null) callback.onCompletion(ResultModel(false,"案件点删除失败!"))
 | 
	
		
			
				|  |  | +                if (callback != null) callback.onCompletion(CompletionModel(false,"案件点删除失败!"))
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -1360,7 +1360,7 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |       * @param wheres List<String> 案件Id的集合
 | 
	
		
			
				|  |  |       * @param callback iCompletion 完成回调
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    private fun caseUpdateCasePolygonByWhere(wheres:List<String>,callback:iCompletion){
 | 
	
		
			
				|  |  | +    private fun caseUpdateCasePolygonByWhere(wheres:List<String>,callback:ICompletion<String>){
 | 
	
		
			
				|  |  |          var updateWhere = ""
 | 
	
		
			
				|  |  |          // todo: 2023/6/16 组合条件
 | 
	
		
			
				|  |  |          for(where in wheres){
 | 
	
	
		
			
				|  | @@ -1388,15 +1388,15 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                      asyncUpdate?.addDoneListener(Runnable {
 | 
	
		
			
				|  |  |                          try {
 | 
	
		
			
				|  |  |                              if(asyncUpdate.isDone){
 | 
	
		
			
				|  |  | -                                if(callback != null) callback.onCompletion(ResultModel(true,""))
 | 
	
		
			
				|  |  | +                                if(callback != null) callback.onCompletion(CompletionModel(true,""))
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |                          }catch (ex:java.lang.IllegalArgumentException){
 | 
	
		
			
				|  |  | -                            if(callback != null) callback.onCompletion(ResultModel(false,"关联案件更新失败!"))
 | 
	
		
			
				|  |  | +                            if(callback != null) callback.onCompletion(CompletionModel(false,"关联案件更新失败!"))
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                      })
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }catch(ex:java.lang.IllegalArgumentException) {
 | 
	
		
			
				|  |  | -                if(callback != null) callback.onCompletion(ResultModel(false,"关联案件查询失败!"))
 | 
	
		
			
				|  |  | +                if(callback != null) callback.onCompletion(CompletionModel(false,"关联案件查询失败!"))
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -1469,9 +1469,9 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                          asyncUpdate?.addDoneListener(Runnable {
 | 
	
		
			
				|  |  |                              try {
 | 
	
		
			
				|  |  |                                  if (asyncUpdate.isDone) {
 | 
	
		
			
				|  |  | -                                    caseUpdatePolygonByFeature(features[0], object : iCompletion {
 | 
	
		
			
				|  |  | -                                        override fun onCompletion(result: ResultModel) {
 | 
	
		
			
				|  |  | -                                            if (result.isSuccess == true) {
 | 
	
		
			
				|  |  | +                                    caseUpdatePolygonByFeature(features[0], object : ICompletion<String> {
 | 
	
		
			
				|  |  | +                                        override fun onCompletion(completion: CompletionModel<String>) {
 | 
	
		
			
				|  |  | +                                            if (completion.isSuccess == true) {
 | 
	
		
			
				|  |  |                                                  CrUtil.showMessage("移动完成!")
 | 
	
		
			
				|  |  |                                                  sketchEditor?.removeGeometryChangedListener(
 | 
	
		
			
				|  |  |                                                      sketchGeometryChangeListener
 | 
	
	
		
			
				|  | @@ -1479,7 +1479,7 @@ class FragmentMap : CrAnimationFragment() {
 | 
	
		
			
				|  |  |                                                  sketchEditor?.stop()
 | 
	
		
			
				|  |  |                                                  fLayerMedia?.clearSelection()
 | 
	
		
			
				|  |  |                                              } else {
 | 
	
		
			
				|  |  | -                                                showError(result.message!!)
 | 
	
		
			
				|  |  | +                                                showError(completion.result!!)
 | 
	
		
			
				|  |  |                                              }
 | 
	
		
			
				|  |  |                                          }
 | 
	
		
			
				|  |  |                                      })
 |