From 979d9cff22806f213b420452ab4a68fcbaf021b6 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 31 五月 2021 17:43:49 +0800
Subject: [PATCH] 1. 修复多项可能引起空指针崩溃的bug; 2. 新建子任务时默认执行人员从全体人员改为当前用户; 3. 新建子任务时默认执行时间强制固定为总任务对应的时段内,确保子任务执行时间不会超出总任务范围。

---
 app/src/main/java/cn/flightfeather/thirdapp/module/inspection/BaseProblemListActivity.kt |   38 ++++++++++++++++++++++++++++++--------
 1 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/BaseProblemListActivity.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/BaseProblemListActivity.kt
index 4400f98..7ab53f7 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/BaseProblemListActivity.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/BaseProblemListActivity.kt
@@ -9,10 +9,14 @@
 import cn.flightfeather.thirdapp.activity.ProblemDetailActivity
 import cn.flightfeather.thirdapp.adapter.ProblemListAdapter
 import cn.flightfeather.thirdapp.adapter.RecyclerItemClickListener
-import cn.flightfeather.thirdapp.bean.Inspection
-import cn.flightfeather.thirdapp.bean.Subtask
+import cn.flightfeather.thirdapp.bean.entity.Inspection
+import cn.flightfeather.thirdapp.bean.entity.Scense
+import cn.flightfeather.thirdapp.bean.entity.Subtask
+import cn.flightfeather.thirdapp.model.event.ProblemEvent
 import cn.flightfeather.thirdapp.module.base.BaseActivity
 import kotlinx.android.synthetic.main.dialog_problem_list.*
+import org.greenrobot.eventbus.EventBus
+import org.greenrobot.eventbus.Subscribe
 
 /**
  * @author riku
@@ -33,17 +37,21 @@
      */
     abstract var type: Int
 
-    var subTaskSelected: Subtask? = null
-    var inspection: Inspection? = null
-    var lat: Double = 0.0
-    var lng: Double = 0.0
+    protected var subTaskSelected: Subtask? = null
+    protected var inspection: Inspection? = null
+    protected var scene: Scense? = null
+    protected var lat: Double = 0.0
+    protected var lng: Double = 0.0
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        EventBus.getDefault().register(this)
+
         viewModel = ViewModelProviders.of(this).get(BaseProblemListViewModel::class.java)
 
         subTaskSelected = intent.getSerializableExtra("subTask") as Subtask?
         inspection = intent.getSerializableExtra("inspection") as Inspection?
+        scene = intent.getSerializableExtra("scene") as Scense?
         lat = intent.getDoubleExtra("lat", 0.0)
         lng = intent.getDoubleExtra("lng", 0.0)
 
@@ -56,6 +64,10 @@
             adapter = ProblemListAdapter(this@BaseProblemListActivity, viewModel.problemList.value, viewHolderType)
             addOnItemTouchListener(RecyclerItemClickListener(this@BaseProblemListActivity, this, object : RecyclerItemClickListener.OnItemClickListener {
                 override fun onItemClick(view: View?, position: Int) {
+                    val size = viewModel.problemList.value?.size ?: 0
+                    if (position >= size) {
+                        return
+                    }
                     val intent = Intent(this@BaseProblemListActivity, ProblemDetailActivity::class.java)
                     intent.putExtra("problemlistVo", viewModel.problemList.value?.get(position))
                     intent.putExtra("subTaskSelected", subTaskSelected)
@@ -67,6 +79,7 @@
                 }
 
                 override fun onItemLongClick(view: View?, position: Int) {
+                    onItemViewLongClick(view, position)
                 }
 
             }))
@@ -74,10 +87,10 @@
 
         tv_title.text = when (type) {
             InspectionDetailActivity.PROBLEM_LIST -> "闂娓呭崟"
-            InspectionDetailActivity.PROBLEM_CHECK -> "闂瀹℃牳"
-            InspectionDetailActivity.CHANGE_CHECK -> "鏁存敼瀹℃牳"
             InspectionDetailActivity.PROBLEM_CHANGE -> "鐜板満鏁存敼"
             InspectionDetailActivity.PROBLEM_RECHECK -> "闂澶嶆牳"
+            InspectionDetailActivity.PROBLEM_CHECK -> "闂瀹℃牳"
+            InspectionDetailActivity.CHANGE_CHECK -> "鏁存敼瀹℃牳"
             else -> ""
         }
 
@@ -85,4 +98,13 @@
             finish()
         }
     }
+
+    open fun onItemViewLongClick(view: View?, position: Int) {
+
+    }
+
+    @Subscribe
+    fun onPutProblem(problemEvent: ProblemEvent) {
+        viewModel.getProblems(inspection?.guid)
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3