فهرست منبع

refactor(更新)
- 仓储层和数据修改

周文健 4 ماه پیش
والد
کامیت
82600572dd
26فایلهای تغییر یافته به همراه712 افزوده شده و 23 حذف شده
  1. BIN
      app/src/main/assets/data.db
  2. 1 1
      app/src/main/java/com/grkj/iscs/features/main/fragment/exception_manage/ExceptionManageFragment.kt
  3. 1 2
      app/src/main/res/layout/fragment_exception_detail.xml
  4. 452 1
      app/src/main/res/layout/fragment_exception_job.xml
  5. 200 1
      app/src/main/res/layout/fragment_exception_report.xml
  6. 1 1
      app/src/main/res/layout/fragment_job_execute.xml
  7. 1 0
      app/src/main/res/values-en/strings.xml
  8. 1 0
      app/src/main/res/values-zh/strings.xml
  9. 1 0
      app/src/main/res/values/strings.xml
  10. 1 1
      data/src/main/java/com/grkj/data/dao/ExceptionDao.kt
  11. 3 1
      data/src/main/java/com/grkj/data/database/ISCSDatabase.kt
  12. 4 0
      data/src/main/java/com/grkj/data/di/DatabaseModule.kt
  13. 3 0
      data/src/main/java/com/grkj/data/model/dos/IsExceptionStandard.kt
  14. 3 2
      data/src/main/java/com/grkj/data/model/vo/IsExceptionStandardVo.kt
  15. 2 1
      data/src/main/java/com/grkj/data/repository/impl/network/NetworkExceptionRepository.kt
  16. 14 1
      data/src/main/java/com/grkj/data/repository/impl/network/NetworkHardwareRepository.kt
  17. 2 1
      data/src/main/java/com/grkj/data/repository/impl/network/NetworkIsolationPointRepository.kt
  18. 2 1
      data/src/main/java/com/grkj/data/repository/impl/network/NetworkJobTicketRepository.kt
  19. 2 1
      data/src/main/java/com/grkj/data/repository/impl/network/NetworkRfidTokenRepository.kt
  20. 2 1
      data/src/main/java/com/grkj/data/repository/impl/network/NetworkRoleRepository.kt
  21. 2 1
      data/src/main/java/com/grkj/data/repository/impl/network/NetworkSopRepository.kt
  22. 2 1
      data/src/main/java/com/grkj/data/repository/impl/network/NetworkSysMenuRepository.kt
  23. 2 1
      data/src/main/java/com/grkj/data/repository/impl/network/NetworkUserRepository.kt
  24. 2 1
      data/src/main/java/com/grkj/data/repository/impl/network/NetworkWorkflowRepository.kt
  25. 2 1
      data/src/main/java/com/grkj/data/repository/impl/network/NetworkWorkstationRepository.kt
  26. 6 2
      data/src/main/java/com/grkj/data/repository/impl/standard/ExceptionRepository.kt

BIN
app/src/main/assets/data.db


+ 1 - 1
app/src/main/java/com/grkj/iscs/features/main/fragment/exception_manage/ExceptionManageFragment.kt

@@ -87,7 +87,7 @@ class ExceptionManageFragment : BaseFragment<FragmentExceptionManageBinding>() {
 
         itemBinding.exceptionStatus.text =
             viewModel.exceptionStatus.find { it.dictValue == item.exceptionStatus.toString() }?.dictLabel
-        itemBinding.exceptionOccurrenceTime.text = item.createTime
+        itemBinding.exceptionOccurrenceTime.text = item.occurrenceTime
         itemBinding.select.setOnCheckedChangeListener(null)
         itemBinding.select.isSelected = item.isSelected
         itemBinding.select.setOnCheckedChangeListener { _, checked ->

+ 1 - 2
app/src/main/res/layout/fragment_exception_detail.xml

@@ -81,8 +81,7 @@
                         tools:text="仓位异常" />
                 </TableRow>
 
-                <TableRow android:background="">
-
+                <TableRow>
                     <TextView
                         style="@style/TableCellKey"
                         android:text="@string/exception_source" />

+ 452 - 1
app/src/main/res/layout/fragment_exception_job.xml

@@ -1,4 +1,455 @@
 <?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android">
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools">
 
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_margin="@dimen/common_spacing_2x"
+        android:background="@drawable/home_card_bg"
+        android:orientation="vertical">
+
+        <LinearLayout
+            android:id="@+id/title_layout"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
+            android:paddingHorizontal="@dimen/common_spacing">
+
+            <ImageView
+                android:layout_width="@dimen/title_icon_size"
+                android:layout_height="@dimen/title_icon_size"
+                android:src="@mipmap/icon_job_execute" />
+
+            <TextView
+                android:id="@+id/job_name_tv"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/common_spacing"
+                android:layout_weight="1"
+                android:text="@string/job_manage_title"
+                android:textColor="@color/black"
+                android:textSize="@dimen/normal_text_size_25"
+                android:textStyle="bold" />
+
+            <TextView
+                android:id="@+id/back"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginVertical="5dp"
+                android:layout_marginLeft="@dimen/common_spacing"
+                android:background="@drawable/common_btn"
+                android:drawableLeft="@mipmap/icon_back"
+                android:drawablePadding="@dimen/common_spacing"
+                android:gravity="center"
+                android:minHeight="@dimen/common_btn_height"
+                android:paddingHorizontal="@dimen/common_spacing_2x"
+                android:text="@string/back"
+                android:textColor="@color/black"
+                android:textSize="@dimen/common_btn_text_size" />
+        </LinearLayout>
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/divider_line_space"
+            android:background="@color/black" />
+
+        <FrameLayout
+            android:id="@+id/full_screen_root_layout"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical">
+
+                <androidx.recyclerview.widget.RecyclerView
+                    android:id="@+id/step_rv"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/step_rv_height"
+                    android:layout_marginHorizontal="@dimen/common_spacing"
+                    android:layout_marginTop="@dimen/common_spacing_2x" />
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="60dp"
+                    android:layout_marginHorizontal="@dimen/common_spacing_2x"
+                    android:background="@drawable/common_layout_bg"
+                    android:divider="@drawable/divider_table"
+                    android:gravity="center"
+                    android:orientation="horizontal"
+                    android:showDividers="middle">
+
+                    <FrameLayout
+                        android:id="@+id/description_tab"
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:background="@drawable/bg_common_select">
+
+                        <ImageView
+                            android:layout_width="@dimen/job_execute_info_size"
+                            android:layout_height="@dimen/job_execute_info_size"
+                            android:layout_gravity="center"
+                            android:layout_marginHorizontal="@dimen/common_spacing"
+                            android:src="@mipmap/icon_job_execute_info" />
+
+                    </FrameLayout>
+
+                    <RelativeLayout
+                        android:id="@+id/locker_tab"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:background="@drawable/bg_common_select">
+
+                        <TextView
+                            android:id="@+id/lock_tv"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_centerVertical="true"
+                            android:layout_toLeftOf="@+id/lock_iv"
+                            android:gravity="center"
+                            android:text="@string/job_execute_tab_title_lock"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/common_text_size" />
+
+                        <ImageView
+                            android:id="@+id/lock_iv"
+                            android:layout_width="@dimen/job_execute_tab_icon_size"
+                            android:layout_height="30dp"
+                            android:layout_centerInParent="true"
+                            android:layout_marginHorizontal="5dp"
+                            android:src="@mipmap/icon_job_execute_lock" />
+
+                        <TextView
+                            android:id="@+id/lock_info"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_centerVertical="true"
+                            android:layout_toRightOf="@+id/lock_iv"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/common_text_size" />
+                    </RelativeLayout>
+
+
+                    <RelativeLayout
+                        android:id="@+id/colocker_tab"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:background="@drawable/bg_common_select">
+
+                        <TextView
+                            android:id="@+id/colock_tv"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_centerVertical="true"
+                            android:layout_toLeftOf="@+id/colock_iv"
+                            android:gravity="center"
+                            android:text="@string/job_execute_tab_title_colock"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/common_text_size" />
+
+                        <ImageView
+                            android:id="@+id/colock_iv"
+                            android:layout_width="30dp"
+                            android:layout_height="30dp"
+                            android:layout_centerInParent="true"
+                            android:layout_marginHorizontal="5dp"
+                            android:src="@mipmap/icon_job_execute_colock" />
+
+                        <TextView
+                            android:id="@+id/colock_info"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_centerVertical="true"
+                            android:layout_toRightOf="@+id/colock_iv"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/common_text_size" />
+                    </RelativeLayout>
+                </LinearLayout>
+
+                <TextView
+                    android:id="@+id/step_tip_tv"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/common_spacing_2x"
+                    android:layout_marginTop="@dimen/common_spacing"
+                    android:drawableLeft="@mipmap/tip"
+                    android:drawablePadding="@dimen/common_spacing"
+                    android:gravity="center_vertical"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/common_text_size"
+                    android:visibility="gone" />
+
+                <LinearLayout
+                    android:id="@+id/data_layout"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginHorizontal="@dimen/common_spacing_2x"
+                    android:layout_marginTop="@dimen/common_spacing"
+                    android:layout_weight="1"
+                    android:background="@drawable/common_layout_bg"
+                    android:clipChildren="false"
+                    android:clipToPadding="false"
+                    android:divider="@drawable/divider_table"
+                    android:orientation="vertical"
+                    android:showDividers="middle">
+
+                    <RelativeLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:background="@drawable/common_layout_bg"
+                        android:elevation="@dimen/elevation_3"
+                        android:paddingVertical="@dimen/common_spacing">
+
+                        <TextView
+                            android:id="@+id/data_title_tv"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_centerInParent="true"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/common_text_size" />
+
+                        <ImageView
+                            android:id="@+id/full_screen"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_alignParentRight="true"
+                            android:layout_centerVertical="true"
+                            android:layout_marginRight="@dimen/common_spacing"
+                            android:src="@mipmap/icon_full_screen" />
+                    </RelativeLayout>
+
+                    <FrameLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent">
+
+                        <LinearLayout
+                            android:id="@+id/lock_status_layout"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:orientation="vertical"
+                            android:visibility="gone">
+
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:background="@drawable/common_layout_bg"
+                                android:divider="@drawable/divider_table"
+                                android:showDividers="middle">
+
+                                <TextView
+                                    android:layout_width="0dp"
+                                    android:layout_height="match_parent"
+                                    android:layout_weight="1"
+                                    android:gravity="center"
+                                    android:paddingVertical="@dimen/common_spacing"
+                                    android:text="@string/point_name_tv"
+                                    android:textSize="@dimen/common_text_size" />
+
+                                <TextView
+                                    android:layout_width="0dp"
+                                    android:layout_height="match_parent"
+                                    android:layout_weight="1"
+                                    android:gravity="center"
+                                    android:paddingVertical="@dimen/common_spacing"
+                                    android:text="@string/point_manage_point_function"
+                                    android:textSize="@dimen/common_text_size" />
+
+                                <TextView
+                                    android:layout_width="0dp"
+                                    android:layout_height="match_parent"
+                                    android:layout_weight="1"
+                                    android:gravity="center"
+                                    android:paddingVertical="@dimen/common_spacing"
+                                    android:text="@string/lock_status"
+                                    android:textSize="@dimen/common_text_size" />
+                            </LinearLayout>
+
+                            <androidx.recyclerview.widget.RecyclerView
+                                android:id="@+id/list_rv"
+                                android:layout_width="match_parent"
+                                android:layout_height="match_parent"
+                                android:background="@drawable/common_layout_bg" />
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:id="@+id/colocker_layout"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:divider="@drawable/divider_table"
+                            android:orientation="vertical"
+                            android:showDividers="middle"
+                            android:visibility="gone">
+
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:background="@drawable/common_layout_bg"
+                                android:divider="@drawable/divider_table"
+                                android:showDividers="middle">
+
+                                <TextView
+                                    android:id="@+id/wait_to_colock"
+                                    android:layout_width="0dp"
+                                    android:layout_height="match_parent"
+                                    android:layout_weight="1"
+                                    android:gravity="center"
+                                    android:paddingVertical="@dimen/common_spacing"
+                                    android:text="@string/wait_to_colock"
+                                    android:textSize="@dimen/common_text_size" />
+
+                                <TextView
+                                    android:id="@+id/already_colock"
+                                    android:layout_width="0dp"
+                                    android:layout_height="match_parent"
+                                    android:layout_weight="1"
+                                    android:gravity="center"
+                                    android:paddingVertical="@dimen/common_spacing"
+                                    android:text="@string/already_colock"
+                                    android:textSize="@dimen/common_text_size" />
+
+                                <TextView
+                                    android:id="@+id/already_uncolock"
+                                    android:layout_width="0dp"
+                                    android:layout_height="match_parent"
+                                    android:layout_weight="1"
+                                    android:gravity="center"
+                                    android:paddingVertical="@dimen/common_spacing"
+                                    android:text="@string/already_uncolock"
+                                    android:textSize="@dimen/common_text_size" />
+                            </LinearLayout>
+
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="match_parent"
+                                android:background="@drawable/common_layout_bg"
+                                android:divider="@drawable/divider_table"
+                                android:orientation="horizontal"
+                                android:showDividers="middle">
+
+                                <androidx.recyclerview.widget.RecyclerView
+                                    android:id="@+id/wait_to_colock_rv"
+                                    android:layout_width="0dp"
+                                    android:layout_height="match_parent"
+                                    android:layout_weight="1"
+                                    android:padding="@dimen/common_spacing" />
+
+                                <androidx.recyclerview.widget.RecyclerView
+                                    android:id="@+id/already_colock_rv"
+                                    android:layout_width="0dp"
+                                    android:layout_height="match_parent"
+                                    android:layout_weight="1"
+                                    android:padding="@dimen/common_spacing" />
+
+                                <androidx.recyclerview.widget.RecyclerView
+                                    android:id="@+id/already_uncolock_rv"
+                                    android:layout_width="0dp"
+                                    android:layout_height="match_parent"
+                                    android:layout_weight="1"
+                                    android:padding="@dimen/common_spacing" />
+                            </LinearLayout>
+                        </LinearLayout>
+
+                        <TextView
+                            android:id="@+id/step_description_tv"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:padding="@dimen/common_spacing"
+                            android:textSize="@dimen/common_text_size" />
+                    </FrameLayout>
+
+                    <View
+                        android:id="@+id/space_view"
+                        android:layout_width="1dp"
+                        android:layout_height="0dp"
+                        android:layout_weight="1"
+                        android:visibility="gone" />
+                </LinearLayout>
+
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="right"
+                    android:minHeight="@dimen/btn_layout_min_height"
+                    android:orientation="horizontal"
+                    android:paddingHorizontal="@dimen/common_spacing_2x"
+                    android:paddingVertical="@dimen/common_spacing">
+
+                    <TextView
+                        android:id="@+id/to_lock"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/common_spacing"
+                        android:background="@drawable/common_btn_cancel"
+                        android:drawableLeft="@drawable/icon_ticket_lock"
+                        android:drawablePadding="@dimen/common_spacing"
+                        android:drawableTint="@color/white"
+                        android:gravity="center"
+                        android:minHeight="@dimen/common_btn_height"
+                        android:paddingHorizontal="@dimen/common_spacing"
+                        android:text="@string/go_locking"
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/common_btn_text_size"
+                        android:visibility="gone" />
+
+                    <TextView
+                        android:id="@+id/to_unlock"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/common_spacing"
+                        android:background="@drawable/common_btn_confirm"
+                        android:drawableLeft="@drawable/icon_ticket_unlock"
+                        android:drawablePadding="@dimen/common_spacing"
+                        android:drawableTint="@color/white"
+                        android:gravity="center"
+                        android:minHeight="@dimen/common_btn_height"
+                        android:paddingHorizontal="@dimen/common_spacing"
+                        android:text="@string/go_unlocking"
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/common_btn_text_size"
+                        android:visibility="gone" />
+
+                    <TextView
+                        android:id="@+id/cancel_job"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/common_spacing"
+                        android:background="@drawable/common_btn_cancel"
+                        android:drawableLeft="@drawable/icon_close"
+                        android:drawablePadding="@dimen/common_spacing"
+                        android:drawableTint="@color/white"
+                        android:gravity="center"
+                        android:minHeight="@dimen/common_btn_height"
+                        android:paddingHorizontal="@dimen/common_spacing"
+                        android:text="@string/cancel_the_job"
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/common_btn_text_size"
+                        android:visibility="gone" />
+
+                    <TextView
+                        android:id="@+id/finish_job"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/common_spacing"
+                        android:background="@drawable/common_btn_confirm"
+                        android:drawableLeft="@mipmap/icon_confirm"
+                        android:drawablePadding="@dimen/common_spacing"
+                        android:drawableTint="@color/white"
+                        android:gravity="center"
+                        android:minHeight="@dimen/common_btn_height"
+                        android:paddingHorizontal="@dimen/common_spacing"
+                        android:text="@string/finish_the_job"
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/common_btn_text_size"
+                        android:visibility="gone" />
+                </LinearLayout>
+            </LinearLayout>
+        </FrameLayout>
+    </LinearLayout>
 </layout>

+ 200 - 1
app/src/main/res/layout/fragment_exception_report.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools">
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -53,6 +54,204 @@
             android:layout_width="match_parent"
             android:layout_height="@dimen/divider_line_space"
             android:background="@color/black" />
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:orientation="vertical"
+            android:paddingHorizontal="@dimen/dialog_content_normal_padding_horizontal">
+
+            <TextView
+                android:id="@+id/key_code_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/common_spacing_2x"
+                android:text="@string/key_name"
+                android:textColor="@color/black"
+                android:textSize="@dimen/common_text_size"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <EditText
+                android:id="@+id/key_code_et"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/common_spacing"
+                android:background="@drawable/bg_common_input"
+                android:hint="@string/please_input_key_name"
+                android:maxLines="1"
+                android:paddingHorizontal="@dimen/common_spacing"
+                android:paddingVertical="2dp"
+                android:singleLine="true"
+                android:textColor="@color/black"
+                android:textSize="@dimen/common_text_size"
+                app:layout_constraintBottom_toBottomOf="@+id/key_code_tv"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/key_code_tv"
+                app:layout_constraintTop_toTopOf="@+id/key_code_tv" />
+
+
+            <TextView
+                android:id="@+id/key_nfc_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/common_spacing_2x"
+                android:text="@string/key_nfc"
+                android:textColor="@color/black"
+                android:textSize="@dimen/common_text_size"
+                app:layout_constraintEnd_toEndOf="@+id/key_code_tv"
+                app:layout_constraintTop_toBottomOf="@+id/key_code_tv" />
+
+            <EditText
+                android:id="@+id/key_nfc_et"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/common_spacing"
+                android:background="@drawable/bg_common_input"
+                android:hint="@string/please_input_key_nfc"
+                android:maxLines="1"
+                android:paddingHorizontal="@dimen/common_spacing"
+                android:paddingVertical="2dp"
+                android:singleLine="true"
+                android:textColor="@color/black"
+                android:textSize="@dimen/common_text_size"
+                app:layout_constraintBottom_toBottomOf="@+id/key_nfc_tv"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/key_nfc_tv"
+                app:layout_constraintTop_toTopOf="@+id/key_nfc_tv" />
+
+
+            <TextView
+                android:id="@+id/key_mac_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/common_spacing_2x"
+                android:text="@string/key_mac"
+                android:textColor="@color/black"
+                android:textSize="@dimen/common_text_size"
+                app:layout_constraintEnd_toEndOf="@+id/key_nfc_tv"
+                app:layout_constraintTop_toBottomOf="@+id/key_nfc_tv" />
+
+            <EditText
+                android:id="@+id/key_mac_et"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/common_spacing"
+                android:background="@drawable/bg_common_input"
+                android:hint="@string/please_input_key_mac"
+                android:paddingHorizontal="@dimen/common_spacing"
+                android:paddingVertical="2dp"
+                android:textColor="@color/black"
+                android:textSize="@dimen/common_text_size"
+                app:layout_constraintBottom_toBottomOf="@+id/key_mac_tv"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/key_mac_tv"
+                app:layout_constraintTop_toTopOf="@+id/key_mac_tv" />
+
+
+            <TextView
+                android:id="@+id/status_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/common_spacing_2x"
+                android:text="@string/manage_filter_status"
+                android:textColor="@color/black"
+                android:textSize="@dimen/common_text_size"
+                app:layout_constraintEnd_toEndOf="@+id/key_mac_tv"
+                app:layout_constraintTop_toBottomOf="@+id/key_mac_tv" />
+
+            <RadioGroup
+                android:id="@+id/status_rg"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                app:layout_constraintBottom_toBottomOf="@+id/status_tv"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/status_tv"
+                app:layout_constraintTop_toTopOf="@+id/status_tv">
 
+                <RadioButton
+                    android:id="@+id/activate_rb"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/common_spacing"
+                    android:text="@string/normal"
+                    android:textSize="@dimen/common_text_size" />
+
+                <RadioButton
+                    android:id="@+id/deactivate_rb"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/common_spacing"
+                    android:text="@string/abnormal"
+                    android:textSize="@dimen/common_text_size" />
+            </RadioGroup>
+
+
+            <TextView
+                android:id="@+id/remark_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/common_spacing_2x"
+                android:text="@string/remark"
+                android:textColor="@color/black"
+                android:textSize="@dimen/common_text_size"
+                app:layout_constraintEnd_toEndOf="@+id/status_tv"
+                app:layout_constraintTop_toBottomOf="@+id/status_tv" />
+
+            <EditText
+                android:id="@+id/remark_et"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/common_spacing"
+                android:background="@drawable/bg_common_input"
+                android:hint="@string/please_input_remark"
+                android:paddingHorizontal="@dimen/common_spacing"
+                android:paddingVertical="2dp"
+                android:textColor="@color/black"
+                android:textSize="@dimen/common_text_size"
+                app:layout_constraintBottom_toBottomOf="@+id/remark_tv"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/remark_tv"
+                app:layout_constraintTop_toTopOf="@+id/remark_tv" />
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="right"
+            android:orientation="horizontal"
+            android:padding="@dimen/common_spacing">
+
+            <TextView
+                android:id="@+id/confirm"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/common_spacing"
+                android:background="@drawable/common_btn_confirm"
+                android:drawableLeft="@mipmap/icon_confirm"
+                android:drawablePadding="@dimen/common_spacing"
+                android:gravity="center"
+                android:minHeight="@dimen/common_btn_height"
+                android:paddingHorizontal="@dimen/common_spacing_2x"
+                android:text="@string/confirm"
+                android:textColor="@color/white"
+                android:textSize="@dimen/common_btn_text_size" />
+
+            <TextView
+                android:id="@+id/cancel"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/common_spacing"
+                android:background="@drawable/common_btn_cancel"
+                android:drawableLeft="@mipmap/icon_cancel"
+                android:drawablePadding="@dimen/common_spacing"
+                android:gravity="center"
+                android:minHeight="@dimen/common_btn_height"
+                android:paddingHorizontal="@dimen/common_spacing_2x"
+                android:text="@string/cancel"
+                android:textColor="@color/white"
+                android:textSize="@dimen/common_btn_text_size" />
+        </LinearLayout>
     </LinearLayout>
 </layout>

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

@@ -29,7 +29,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="@dimen/common_spacing"
                 android:layout_weight="1"
-                android:text="@string/job_manage_title"
+                android:text="@string/job_execute_title"
                 android:textColor="@color/black"
                 android:textSize="@dimen/normal_text_size_25"
                 android:textStyle="bold" />

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

@@ -430,5 +430,6 @@
     <string name="handle_exception_success">Handle exception success</string>
     <string name="exception_data_not_exists">Exception data not exists</string>
     <string name="cancel_exception_failed">Cancel exception failed</string>
+    <string name="job_execute_title">作业执行</string>
 
 </resources>

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

@@ -430,5 +430,6 @@
     <string name="handle_exception_success">异常处理成功</string>
     <string name="exception_data_not_exists">异常数据不存在</string>
     <string name="cancel_exception_failed">取消异常失败</string>
+    <string name="job_execute_title">作业执行</string>
 
 </resources>

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

@@ -433,5 +433,6 @@
     <string name="handle_exception_success">异常处理成功</string>
     <string name="exception_data_not_exists">异常数据不存在</string>
     <string name="cancel_exception_failed">取消异常失败</string>
+    <string name="job_execute_title">作业执行</string>
 
 </resources>

+ 1 - 1
data/src/main/java/com/grkj/data/dao/ExceptionDao.kt

@@ -16,7 +16,7 @@ interface ExceptionDao {
      * 更新异常数据
      */
     @Update
-    fun updateException(exceptionData: List<IsExceptionStandard>?)
+    fun updateException(exceptionData: List<IsExceptionStandard>)
 
     /**
      * 获取异常数据

+ 3 - 1
data/src/main/java/com/grkj/data/database/ISCSDatabase.kt

@@ -16,6 +16,8 @@ import com.grkj.data.dao.SysMenuDao
 import com.grkj.data.dao.UserDao
 import com.grkj.data.dao.WorkflowStepDao
 import com.grkj.data.dao.WorkstationDao
+import com.grkj.data.model.dos.IsExceptionSourceStandard
+import com.grkj.data.model.dos.IsExceptionStandard
 import com.grkj.data.model.dos.IsIsolationPoint
 import com.grkj.data.model.dos.IsJobCard
 import com.grkj.data.model.dos.IsJobTicket
@@ -61,7 +63,7 @@ import org.slf4j.LoggerFactory
         IsSop::class, IsSopUser::class, IsSopPoints::class, IsJobTicket::class, IsJobTicketKey::class, IsJobTicketLock::class,
         IsJobTicketPoints::class, IsJobTicketStep::class, IsJobTicketUser::class,
         IsKey::class, IsLock::class, IsLockCabinet::class, IsLockCabinetSlots::class, IsLocksetType::class, IsLockset::class, SysMenu::class, SysRoleMenu::class,
-        WorkflowStep::class, WorkflowMode::class, WorkflowStepTemplate::class
+        WorkflowStep::class, WorkflowMode::class, WorkflowStepTemplate::class, IsExceptionStandard::class, IsExceptionSourceStandard::class
     ],
     version = ISCSMigrations.VERSION,
     exportSchema = true

+ 4 - 0
data/src/main/java/com/grkj/data/di/DatabaseModule.kt

@@ -2,6 +2,7 @@ package com.grkj.data.di
 
 import android.content.Context
 import androidx.room.Room
+import com.grkj.data.dao.ExceptionDao
 import com.grkj.data.dao.HardwareDao
 import com.grkj.data.dao.IsSopDao
 import com.grkj.data.dao.IsolationPointDao
@@ -68,4 +69,7 @@ object DatabaseModule {
 
     @Provides
     fun provideWorkflowStepDao(db: ISCSDatabase): WorkflowStepDao = db.workflowStepDao()
+
+    @Provides
+    fun provideExceptionDao(db: ISCSDatabase): ExceptionDao = db.exceptionDao()
 }

+ 3 - 0
data/src/main/java/com/grkj/data/model/dos/IsExceptionStandard.kt

@@ -22,6 +22,9 @@ class IsExceptionStandard : BaseBean() {
     @ColumnInfo(name = "process_application")
     var processApplication: String? = null
 
+    @ColumnInfo(name = "reporter_id")
+    var reporterId: Long = 0L
+
     @ColumnInfo(name = "occurrence_time")
     var occurrenceTime: String? = TimeUtils.nowString(TimeUtils.DEFAULT_DATE_HOUR_MIN_SEC_FORMAT)
 

+ 3 - 2
data/src/main/java/com/grkj/data/model/vo/IsExceptionStandardVo.kt

@@ -3,10 +3,8 @@ package com.grkj.data.model.vo
 import androidx.room.ColumnInfo
 import androidx.room.Ignore
 import androidx.room.Relation
-import com.grkj.data.data.MainDomainData
 import com.grkj.data.model.dos.IsExceptionSourceStandard
 import com.grkj.data.model.dos.SysUserDo
-import com.grkj.data.model.dos.WorkflowStep
 import com.sik.sikcore.date.TimeUtils
 
 /**
@@ -28,6 +26,9 @@ class IsExceptionStandardVo {
     @ColumnInfo(name = "process_application")
     var processApplication: String? = null
 
+    @ColumnInfo(name = "reporter_id")
+    var reporterId: Long = 0L
+
     @Relation(
         parentColumn = "exception_id", entityColumn = "exception_id"
     )

+ 2 - 1
data/src/main/java/com/grkj/data/repository/impl/network/NetworkExceptionRepository.kt

@@ -3,13 +3,14 @@ package com.grkj.data.repository.impl.network
 import com.grkj.data.model.vo.IsExceptionStandardVo
 import com.grkj.data.repository.BaseRepository
 import com.grkj.data.repository.IExceptionRepository
+import javax.inject.Inject
 import javax.inject.Singleton
 
 /**
  * 联网版异常管理仓储
  */
 @Singleton
-class NetworkExceptionRepository : BaseRepository(), IExceptionRepository {
+class NetworkExceptionRepository @Inject constructor() : BaseRepository(), IExceptionRepository {
     override fun cancelException(exceptionData: List<IsExceptionStandardVo>) {
         TODO("Not yet implemented")
     }

+ 14 - 1
data/src/main/java/com/grkj/data/repository/impl/network/NetworkHardwareRepository.kt

@@ -21,13 +21,14 @@ import com.grkj.data.model.vo.LockManageFilterVo
 import com.grkj.data.model.vo.RfidTokenManageFilterVo
 import com.grkj.data.repository.BaseRepository
 import com.grkj.data.repository.IHardwareRepository
+import javax.inject.Inject
 import javax.inject.Singleton
 
 /**
  * 联网版硬件仓储
  */
 @Singleton
-class NetworkHardwareRepository : BaseRepository(), IHardwareRepository {
+class NetworkHardwareRepository  @Inject constructor() : BaseRepository(), IHardwareRepository {
     override fun getLockInfo(
         rfid: String,
         callback: (LockInfoRes?) -> Unit
@@ -286,4 +287,16 @@ class NetworkHardwareRepository : BaseRepository(), IHardwareRepository {
     override fun removeLockException(rfid: String?) {
         TODO("Not yet implemented")
     }
+
+    override fun getKeyInfoByKeyId(keyId: Long): IsKey? {
+        TODO("Not yet implemented")
+    }
+
+    override fun getLockInfoByLockId(lockId: Long): IsLock? {
+        TODO("Not yet implemented")
+    }
+
+    override fun getIsLockCabinetSlotBySlotId(slotId: Long): IsLockCabinetSlots? {
+        TODO("Not yet implemented")
+    }
 }

+ 2 - 1
data/src/main/java/com/grkj/data/repository/impl/network/NetworkIsolationPointRepository.kt

@@ -6,13 +6,14 @@ import com.grkj.data.model.vo.PointManageVo
 import com.grkj.data.model.vo.UpdatePointManageVo
 import com.grkj.data.repository.BaseRepository
 import com.grkj.data.repository.IIsolationPointRepository
+import javax.inject.Inject
 import javax.inject.Singleton
 
 /**
  * 联网版隔离点仓储
  */
 @Singleton
-class NetworkIsolationPointRepository : BaseRepository(), IIsolationPointRepository {
+class NetworkIsolationPointRepository  @Inject constructor() : BaseRepository(), IIsolationPointRepository {
     override fun deletePointByPointIds(pointIds: List<Long>) {
         TODO("Not yet implemented")
     }

+ 2 - 1
data/src/main/java/com/grkj/data/repository/impl/network/NetworkJobTicketRepository.kt

@@ -15,13 +15,14 @@ import com.grkj.data.model.vo.PointManageVo
 import com.grkj.data.model.vo.UserManageVo
 import com.grkj.data.repository.BaseRepository
 import com.grkj.data.repository.IJobTicketRepository
+import javax.inject.Inject
 import javax.inject.Singleton
 
 /**
  * 联网版作业票仓储
  */
 @Singleton
-class NetworkJobTicketRepository : BaseRepository(), IJobTicketRepository{
+class NetworkJobTicketRepository  @Inject constructor() : BaseRepository(), IJobTicketRepository{
     override fun createJob(
         selectedSopPoints: List<PointManageVo>,
         selectedLockerData: List<UserManageVo>,

+ 2 - 1
data/src/main/java/com/grkj/data/repository/impl/network/NetworkRfidTokenRepository.kt

@@ -3,13 +3,14 @@ package com.grkj.data.repository.impl.network
 import com.grkj.data.model.dos.IsRfidToken
 import com.grkj.data.repository.BaseRepository
 import com.grkj.data.repository.IRfidTokenRepository
+import javax.inject.Inject
 import javax.inject.Singleton
 
 /**
  * 联网版rfid标签
  */
 @Singleton
-class NetworkRfidTokenRepository : BaseRepository(), IRfidTokenRepository{
+class NetworkRfidTokenRepository  @Inject constructor() : BaseRepository(), IRfidTokenRepository{
     override fun getRfidData(): List<IsRfidToken> {
         TODO("Not yet implemented")
     }

+ 2 - 1
data/src/main/java/com/grkj/data/repository/impl/network/NetworkRoleRepository.kt

@@ -7,13 +7,14 @@ import com.grkj.data.model.vo.RoleManageVo
 import com.grkj.data.model.vo.UpdateRoleDo
 import com.grkj.data.repository.BaseRepository
 import com.grkj.data.repository.IRoleRepository
+import javax.inject.Inject
 import javax.inject.Singleton
 
 /**
  * 联网版角色仓储
  */
 @Singleton
-class NetworkRoleRepository: BaseRepository(), IRoleRepository {
+class NetworkRoleRepository @Inject constructor() : BaseRepository(), IRoleRepository {
     override fun getRoleData(): List<SysRole> {
         TODO("Not yet implemented")
     }

+ 2 - 1
data/src/main/java/com/grkj/data/repository/impl/network/NetworkSopRepository.kt

@@ -5,13 +5,14 @@ import com.grkj.data.model.vo.SopManageVo
 import com.grkj.data.model.vo.UserManageVo
 import com.grkj.data.repository.BaseRepository
 import com.grkj.data.repository.ISopRepository
+import javax.inject.Inject
 import javax.inject.Singleton
 
 /**
  * 联网版sop仓储
  */
 @Singleton
-class NetworkSopRepository : BaseRepository(), ISopRepository{
+class NetworkSopRepository @Inject constructor()  : BaseRepository(), ISopRepository{
     override fun saveSop(
         sopId: Long,
         sopName: String,

+ 2 - 1
data/src/main/java/com/grkj/data/repository/impl/network/NetworkSysMenuRepository.kt

@@ -3,13 +3,14 @@ package com.grkj.data.repository.impl.network
 import com.grkj.data.model.dos.SysMenu
 import com.grkj.data.repository.BaseRepository
 import com.grkj.data.repository.ISysMenuRepository
+import javax.inject.Inject
 import javax.inject.Singleton
 
 /**
  * 联网版系统菜单
  */
 @Singleton
-class NetworkSysMenuRepository : BaseRepository(), ISysMenuRepository{
+class NetworkSysMenuRepository @Inject constructor()  : BaseRepository(), ISysMenuRepository{
     override fun checkSysMenuAndRole() {
         TODO("Not yet implemented")
     }

+ 2 - 1
data/src/main/java/com/grkj/data/repository/impl/network/NetworkUserRepository.kt

@@ -10,13 +10,14 @@ import com.grkj.data.model.vo.UserManageFilterVo
 import com.grkj.data.model.vo.UserManageVo
 import com.grkj.data.repository.BaseRepository
 import com.grkj.data.repository.IUserRepository
+import javax.inject.Inject
 import javax.inject.Singleton
 
 /**
  * 联网版用户仓储
  */
 @Singleton
-class NetworkUserRepository : BaseRepository(), IUserRepository{
+class NetworkUserRepository @Inject constructor()  : BaseRepository(), IUserRepository{
     override fun loginWithAccount(
         username: String,
         password: String

+ 2 - 1
data/src/main/java/com/grkj/data/repository/impl/network/NetworkWorkflowRepository.kt

@@ -4,13 +4,14 @@ import com.grkj.data.model.dos.WorkflowMode
 import com.grkj.data.model.dos.WorkflowStep
 import com.grkj.data.repository.BaseRepository
 import com.grkj.data.repository.IWorkflowRepository
+import javax.inject.Inject
 import javax.inject.Singleton
 
 /**
  * 联网版工作流仓储
  */
 @Singleton
-class NetworkWorkflowRepository : BaseRepository(), IWorkflowRepository{
+class NetworkWorkflowRepository @Inject constructor()  : BaseRepository(), IWorkflowRepository{
     override fun insertStep(step: WorkflowStep): Long {
         TODO("Not yet implemented")
     }

+ 2 - 1
data/src/main/java/com/grkj/data/repository/impl/network/NetworkWorkstationRepository.kt

@@ -4,13 +4,14 @@ import com.grkj.data.model.dos.IsWorkstation
 import com.grkj.data.model.vo.WorkstationManageVo
 import com.grkj.data.repository.BaseRepository
 import com.grkj.data.repository.IWorkstationRepository
+import javax.inject.Inject
 import javax.inject.Singleton
 
 /**
  * 联网版区域仓储
  */
 @Singleton
-class NetworkWorkstationRepository : BaseRepository(), IWorkstationRepository{
+class NetworkWorkstationRepository @Inject constructor()  : BaseRepository(), IWorkstationRepository{
     override fun getWorkStationData(): List<IsWorkstation> {
         TODO("Not yet implemented")
     }

+ 6 - 2
data/src/main/java/com/grkj/data/repository/impl/standard/ExceptionRepository.kt

@@ -41,7 +41,9 @@ class ExceptionRepository @Inject constructor(
         isExceptionData?.forEach {
             it.releaseTime = TimeUtils.nowString(TimeUtils.DEFAULT_DATE_HOUR_MIN_SEC_FORMAT)
         }
-        exceptionDao.updateException(isExceptionData)
+        isExceptionData?.let {
+            exceptionDao.updateException(isExceptionData)
+        }
     }
 
     override fun getExceptionData(): List<IsExceptionStandardVo> {
@@ -67,6 +69,8 @@ class ExceptionRepository @Inject constructor(
         isExceptionData?.forEach {
             it.releaseTime = TimeUtils.nowString(TimeUtils.DEFAULT_DATE_HOUR_MIN_SEC_FORMAT)
         }
-        exceptionDao.updateException(isExceptionData)
+        isExceptionData?.let {
+            exceptionDao.updateException(isExceptionData)
+        }
     }
 }