Преглед на файлове

fix(作业管理、异常管理)
- 修复作业管理-我的待办-已办任务-处理时间筛选无效的bug
- 修复作业执行和异常处理点位图标显示错误的bug
- 修复异常上报数据源选择全部时报错的bug

周文健 преди 3 месеца
родител
ревизия
7e361cac11

+ 3 - 3
app/src/main/java/com/grkj/iscs/features/main/fragment/exception_manage/ExceptionJobFragment.kt

@@ -293,7 +293,7 @@ class ExceptionJobFragment : BaseFragment<FragmentExceptionJobBinding>() {
     private fun BindingAdapter.BindingViewHolder.onStepRVListBinding(holder: BindingAdapter.BindingViewHolder) {
         val itemBinding = holder.getBinding<ItemJobExecuteStepBinding>()
         val item = holder.getModel<IsJobTicketStepDataVo>()
-        itemBinding.stepIconIv.setImageResource(getStepIcon(viewModel.currentStepData))
+        itemBinding.stepIconIv.setImageResource(getStepIcon(item))
         itemBinding.stepNameTv.text =
             viewModel.currentStepData?.stepTitleShort
         itemBinding.stepIndexTv.text = item.stepIndex.toString()
@@ -410,8 +410,8 @@ class ExceptionJobFragment : BaseFragment<FragmentExceptionJobBinding>() {
             return
         }
         viewModel.getWorkflowModes().observe(this) {
-            viewModel.ticketId = ticketId.toLong()
-            viewModel.exceptionId = exceptionId.toLong()
+            viewModel.ticketId = ticketId
+            viewModel.exceptionId = exceptionId
             getData()
         }
     }

+ 5 - 6
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/JobExecuteFragment.kt

@@ -215,8 +215,8 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
     private fun BindingAdapter.BindingViewHolder.onStepRVListBinding(holder: BindingAdapter.BindingViewHolder) {
         val itemBinding = holder.getBinding<ItemJobExecuteStepBinding>()
         val item = holder.getModel<IsJobTicketStepDataVo>()
-        itemBinding.stepIconIv.setImageResource(getStepIcon(viewModel.currentStepData))
-        itemBinding.stepNameTv.text = viewModel.currentStepData?.stepTitleShort
+        itemBinding.stepIconIv.setImageResource(getStepIcon(item))
+        itemBinding.stepNameTv.text = item.stepTitleShort
         itemBinding.stepIndexTv.text = item.stepIndex.toString()
         itemBinding.dividerIv.isVisible = item.stepId != viewModel.ticketStep.last().stepId
         val bg = itemBinding.stepLayout.background
@@ -314,8 +314,7 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
     private fun checkSelectMember(
         workflowStep: IsJobTicketStepDataVo?
     ): Boolean {
-        val currentWorkflowStep = viewModel.currentStepData
-        if (workflowStep?.enableSetLocker == true || workflowStep?.enableSetColocker == true && (currentWorkflowStep?.enableAddColocker == true || currentWorkflowStep?.enableReduceColocker == true)) {
+        if (workflowStep?.enableSetLocker == true || workflowStep?.enableSetColocker == true && (workflowStep?.enableAddColocker == true || workflowStep?.enableReduceColocker == true)) {
             GlobalDataTempStore.getInstance().saveData(
                 DataTransferConstants.KEY_CAN_SELECT_COLOCKER,
                 viewModel.workflowModes.find { it.modeId == viewModel.ticketData?.modeId }?.isColockSupport == true
@@ -622,11 +621,11 @@ class JobExecuteFragment : BaseFragment<FragmentJobExecuteBinding>() {
             if (it) {
                 viewModel.isUnlockFirst(viewModel.ticketData?.modeId!!).observe(this) {}
                 viewModel.getWorkflowSteps(viewModel.ticketData?.modeId!!).observe(this) {
+                    viewModel.currentStepData =
+                        viewModel.ticketStep.firstOrNull { it.stepStatus == "0" }
                     binding.jobNameTv.text = viewModel.ticketData!!.ticketName
                     binding.listRv.models = viewModel.ticketPoints
                     binding.stepRv.models = viewModel.ticketStep
-                    viewModel.currentStepData =
-                        viewModel.ticketStep.firstOrNull { it.stepStatus == "0" }
                     binding.stepDescriptionTv.text =
                         viewModel.currentStepData?.stepDescription
                     refreshTicketUser()

+ 24 - 6
app/src/main/java/com/grkj/iscs/features/main/fragment/job_manage/MyTodoListFragment.kt

@@ -94,12 +94,12 @@ class MyTodoListFragment : BaseFragment<FragmentMyTodoListBinding>() {
      * 设置处理时间
      */
     private fun setupHandleTime() {
-        binding.handleTimeTv.text = getString(R.string.all)
-        binding.handleTimeTv.setDebouncedClickListener {
+        binding.handleTime.text = getString(R.string.all)
+        binding.handleTime.setDebouncedClickListener {
             TextDropDownDialog.showSingle(
                 handleTimeData.map {
                     TextDropDownDialog.SimpleTextDropDownEntity(dataText = it)
-                }, binding.handleTimeTv, false
+                }, binding.handleTime, false
             ) {
                 val position = handleTimeData.indexOf(it.getShowText())
                 when (position) {
@@ -129,7 +129,7 @@ class MyTodoListFragment : BaseFragment<FragmentMyTodoListBinding>() {
                     3 -> {
                         viewModel.startTime = ""
                         viewModel.endTime = ""
-                        pickDateTime(timeView = binding.handleTimeTv)
+                        pickDateTime(timeView = binding.handleTime)
                     }
                 }
             }
@@ -166,6 +166,25 @@ class MyTodoListFragment : BaseFragment<FragmentMyTodoListBinding>() {
             } else {
                 viewModel.endTime = timeStr
             }
+            if (viewModel.startTime.isNotEmpty() && viewModel.endTime.isNotEmpty()) {
+                timeView.text = "${viewModel.startTime}-${viewModel.endTime}"
+                binding.listRv.models = viewModel.doneData.filter {
+                    val updateTimeDate = TimeUtils.parseDate(
+                        it.stepUpdateTime,
+                        TimeUtils.DEFAULT_DATE_HOUR_MIN_SEC_FORMAT
+                    )!!
+                    val startTimeDate = TimeUtils.parseDate(
+                        viewModel.startTime,
+                        TimeUtils.DEFAULT_DATE_HOUR_MIN_FORMAT
+                    )!!
+                    val endTimeDate = TimeUtils.parseDate(
+                        viewModel.endTime,
+                        TimeUtils.DEFAULT_DATE_HOUR_MIN_FORMAT
+                    )!!
+                    TimeUtils.isTimeBefore(startTimeDate, updateTimeDate) &&
+                            TimeUtils.isTimeBefore(updateTimeDate, endTimeDate)
+                }.sortedByDescending { it.stepUpdateTime }
+            }
         }.build().show()
     }
 
@@ -384,8 +403,7 @@ class MyTodoListFragment : BaseFragment<FragmentMyTodoListBinding>() {
     private fun checkSelectMember(
         workflowStep: IsJobTicketStepDataVo?
     ): Boolean {
-        val currentWorkflowStep = jobExecuteViewModel.currentStepData
-        if (workflowStep?.enableSetLocker == true || workflowStep?.enableSetColocker == true && (currentWorkflowStep?.enableAddColocker == true || currentWorkflowStep?.enableReduceColocker == true)) {
+        if (workflowStep?.enableSetLocker == true || workflowStep?.enableSetColocker == true && (workflowStep?.enableAddColocker == true || workflowStep?.enableReduceColocker == true)) {
             GlobalDataTempStore.getInstance().saveData(
                 DataTransferConstants.KEY_CAN_SELECT_COLOCKER,
                 jobExecuteViewModel.workflowModes.find { it.modeId == jobExecuteViewModel.ticketData?.modeId }?.isColockSupport == true

+ 3 - 1
app/src/main/java/com/grkj/iscs/features/main/viewmodel/exception_manage/ExceptionViewModel.kt

@@ -349,7 +349,9 @@ class ExceptionViewModel @Inject constructor(
             exceptionData.exceptionDescription = selectedExceptionDescription
             exceptionData.processApplication = selectedProcessApplication
             val exceptionId = exceptionRepository.reportException(exceptionData)
-            selectedSourceData.filter { it.isSelected }.forEach {
+            logger.info("异常数据源:${selectedSourceData.joinToString(",") { it.sourceDataText }}")
+            logger.info("异常id:${exceptionId}")
+            selectedSourceData.forEach {
                 val isExceptionSourceStandard = IsExceptionSourceStandard()
                 isExceptionSourceStandard.exceptionId = exceptionId
                 isExceptionSourceStandard.sourceDataId = it.sourceDataId

+ 1 - 1
app/src/main/res/layout/fragment_my_todo_list.xml

@@ -99,7 +99,7 @@
                     android:layout_marginRight="@dimen/dialog_content_normal_padding_horizontal"
                     android:background="@drawable/bg_common_input"
                     android:drawableRight="@mipmap/icon_drop_down"
-                    android:hint="@string/please_select_power_type"
+                    android:hint="@string/please_select_handle_time"
                     android:maxLines="1"
                     android:paddingHorizontal="@dimen/common_spacing"
                     android:paddingVertical="2dp"

+ 1 - 0
app/src/main/res/values-en/strings.xml

@@ -507,5 +507,6 @@
     <string name="handle_time_last_7_days">Last 7 days</string>
     <string name="handle_time_last_30_days">Last 30 days</string>
     <string name="handle_time_custom_time_range">Custom time range</string>
+    <string name="please_select_handle_time">Please select handle time</string>
 
 </resources>

+ 1 - 0
app/src/main/res/values-zh/strings.xml

@@ -507,5 +507,6 @@
     <string name="handle_time_last_7_days">最近7天</string>
     <string name="handle_time_last_30_days">最近30天</string>
     <string name="handle_time_custom_time_range">自定义时间范围</string>
+    <string name="please_select_handle_time">请选择处理时间</string>
 
 </resources>

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -510,5 +510,6 @@
     <string name="handle_time_last_7_days">最近7天</string>
     <string name="handle_time_last_30_days">最近30天</string>
     <string name="handle_time_custom_time_range">自定义时间范围</string>
+    <string name="please_select_handle_time">请选择处理时间</string>
 
 </resources>