فهرست منبع

添加上锁人、当前作业界面;完善工作票组成

Frankensteinly 1 سال پیش
والد
کامیت
68e3136ae1

+ 7 - 1
app/src/main/AndroidManifest.xml

@@ -21,11 +21,17 @@
         android:supportsRtl="true"
         android:theme="@style/Theme.ISCS"
         tools:targetApi="31">
+        <activity
+            android:name=".presentation.CurrentTicketActivity"
+            android:exported="false" />
+        <activity
+            android:name=".presentation.LockerActivity"
+            android:exported="false" />
         <activity
             android:name=".presentation.LockerTogetherActivity"
             android:exported="false" />
         <activity
-            android:name=".activity.PresentationLoginActivity"
+            android:name=".presentation.PresentationLoginActivity"
             android:exported="false" />
         <activity
             android:name=".presentation.PresentationActivity"

+ 1 - 0
app/src/main/java/com/grkj/iscs/activity/MainActivity.kt

@@ -4,6 +4,7 @@ import android.content.Intent
 import com.grkj.iscs.base.BaseActivity
 import com.grkj.iscs.databinding.ActivityMainBinding
 import com.grkj.iscs.presentation.PresentationActivity
+import com.grkj.iscs.presentation.PresentationLoginActivity
 
 class MainActivity : BaseActivity<ActivityMainBinding>() {
 

+ 35 - 0
app/src/main/java/com/grkj/iscs/presentation/CurrentTicketActivity.kt

@@ -0,0 +1,35 @@
+package com.grkj.iscs.presentation
+
+import com.grkj.iscs.R
+import com.grkj.iscs.base.BaseActivity
+import com.grkj.iscs.databinding.ActivityCurrentTicketBinding
+import com.zhy.adapter.recyclerview.CommonAdapter
+import com.zhy.adapter.recyclerview.base.ViewHolder
+
+class CurrentTicketActivity : BaseActivity<ActivityCurrentTicketBinding>() {
+
+    override val viewBinding: ActivityCurrentTicketBinding
+        get() = ActivityCurrentTicketBinding.inflate(layoutInflater)
+
+    override fun initView() {
+        mBinding?.rvCurrent?.adapter = object : CommonAdapter<PresentationManager.PServerTicket>(this, R.layout.item_rv_sop, PresentationManager.workTicketList) {
+            override fun convert(holder: ViewHolder, ticket: PresentationManager.PServerTicket?, position: Int) {
+                holder.setText(R.id.tv_number, "${ticket?.ticketId}")
+                holder.setText(R.id.tv_name, ticket?.sop?.ticketName)
+                holder.setText(R.id.tv_type, ticket?.sop?.type)
+                holder.setText(R.id.tv_start_time, ticket?.startTime)
+                holder.setText(R.id.tv_end_time, ticket?.endTime)
+                holder.setText(R.id.tv_action, when(ticket?.status) {
+                    0 -> "待上锁"
+                    1 -> "待上锁人上锁"
+                    2 -> "部分共锁人上锁"
+                    3 -> "待共锁人解锁"
+                    4 -> "部分共锁人解锁"
+                    5 -> "待上锁人解锁"
+                    6 -> "已完成"
+                    else -> ""
+                })
+            }
+        }
+    }
+}

+ 27 - 0
app/src/main/java/com/grkj/iscs/presentation/LockerActivity.kt

@@ -0,0 +1,27 @@
+package com.grkj.iscs.presentation
+
+import android.content.Intent
+import com.grkj.iscs.base.BaseActivity
+import com.grkj.iscs.databinding.ActivityLockerBinding
+
+class LockerActivity : BaseActivity<ActivityLockerBinding>() {
+
+    private var cardRfid: String? = null
+
+    override val viewBinding: ActivityLockerBinding
+        get() = ActivityLockerBinding.inflate(layoutInflater)
+
+    override fun initView() {
+        cardRfid = intent.getStringExtra("card")
+
+        mBinding?.create?.setOnClickListener {
+            val intent = Intent(this, PresentationActivity::class.java)
+            intent.putExtra("card", cardRfid)
+            startActivity(intent)
+        }
+
+        mBinding?.current?.setOnClickListener {
+            startActivity(Intent(this, CurrentTicketActivity::class.java))
+        }
+    }
+}

+ 10 - 1
app/src/main/java/com/grkj/iscs/presentation/PresentationActivity.kt

@@ -172,7 +172,16 @@ class PresentationActivity :
             ticket.lockList?.add(lockListDTO)
         }
 
-        PresentationManager.workTicketList.add(PresentationManager.PServerTicket(PresentationManager.workTicketList.size + 1, PresentationManager.mSopList[mSelectedSopIdx!!].sopId, ticket))
+        PresentationManager.workTicketList.add(
+            PresentationManager.PServerTicket(
+                PresentationManager.workTicketList.size + 1,
+                PresentationManager.mSopList[mSelectedSopIdx!!].sopId,
+                PresentationManager.mSopList[mSelectedSopIdx!!],
+                ticket,
+                mBinding?.tvStartTime?.text.toString(),
+                mBinding?.tvEndTime?.text.toString()
+            )
+        )
     }
 
 

+ 2 - 5
app/src/main/java/com/grkj/iscs/activity/PresentationLoginActivity.kt → app/src/main/java/com/grkj/iscs/presentation/PresentationLoginActivity.kt

@@ -1,4 +1,4 @@
-package com.grkj.iscs.activity
+package com.grkj.iscs.presentation
 
 import android.content.Intent
 import android.os.Environment
@@ -12,9 +12,6 @@ import com.grkj.iscs.extentions.toHexStrings
 import com.grkj.iscs.modbus.ModBusController
 import com.grkj.iscs.model.DeviceConst.DEVICE_TYPE_CARD
 import com.grkj.iscs.model.DeviceConst.DOCK_TYPE_PORTABLE
-import com.grkj.iscs.presentation.LockerTogetherActivity
-import com.grkj.iscs.presentation.PresentationActivity
-import com.grkj.iscs.presentation.PresentationManager
 import com.grkj.iscs.util.Executor
 import com.grkj.iscs.util.FileUtil
 import com.grkj.iscs.util.ToastUtils
@@ -55,7 +52,7 @@ class PresentationLoginActivity : BaseActivity<ActivityPresentationLoginBinding>
                                         println("卡片RFID : $rfid")
                                         if (PresentationManager.cardList.any { it.rfid == rfid && it.isLocker}) {
                                             ToastUtils.tip("登录成功,欢迎 $rfid")
-                                            val intent = Intent(this, PresentationActivity::class.java)
+                                            val intent = Intent(this, LockerActivity::class.java)
                                             intent.putExtra("card", rfid)
                                             startActivity(intent)
                                             return@readPortalCaseCardRfid

+ 9 - 1
app/src/main/java/com/grkj/iscs/presentation/PresentationManager.kt

@@ -52,5 +52,13 @@ object PresentationManager {
     // 隔离点位
     data class PPointBean(var name: String? = null, var rfid: String? = null)
     // 服务端工作票(完整)
-    data class PServerTicket(var ticketId: Int? = null, var sopId: Long? = null, var workTicketBean: WorkTicketBean? = null)
+    data class PServerTicket(
+        var ticketId: Int? = null,
+        var sopId: Long? = null,
+        var sop: PresentationBean? = null,
+        var workTicketBean: WorkTicketBean? = null,
+        var startTime: String? = null,
+        var endTime: String? = null,
+        var status: Int? = null     // 0:待上锁 1:待上锁人上锁 2:部分共锁人上锁 3:待共锁人解锁 4:部分共锁人解锁 5:待上锁人解锁 6:已完成
+    )
 }

+ 15 - 0
app/src/main/res/layout/activity_current_ticket.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/main"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".presentation.CurrentTicketActivity">
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/rv_current"
+        style="@style/CommonRecyclerView"
+        tools:itemCount="100"
+        tools:listitem="@layout/item_rv_sop" />
+
+</RelativeLayout>

+ 30 - 0
app/src/main/res/layout/activity_locker.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/main"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:gravity="center"
+    android:orientation="horizontal"
+    tools:context=".presentation.LockerActivity">
+
+    <Button
+        android:id="@+id/create"
+        android:layout_width="80dp"
+        android:layout_height="50dp"
+        android:layout_margin="5dp"
+        android:minWidth="0dp"
+        android:minHeight="0dp"
+        android:text="开作业票"
+        android:textSize="10sp" />
+
+    <Button
+        android:id="@+id/current"
+        android:layout_width="80dp"
+        android:layout_height="50dp"
+        android:layout_margin="5dp"
+        android:minWidth="0dp"
+        android:minHeight="0dp"
+        android:text="当前作业"
+        android:textSize="10sp" />
+</LinearLayout>

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

@@ -5,7 +5,7 @@
     android:id="@+id/main"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context=".activity.PresentationLoginActivity">
+    tools:context=".presentation.PresentationLoginActivity">
 
     <TextView
         android:layout_width="wrap_content"

+ 1 - 0
app/src/main/res/layout/item_rv_sop.xml

@@ -46,6 +46,7 @@
         android:text="@string/end_time" />
 
     <TextView
+        android:id="@+id/tv_action"
         style="@style/CommonTextView"
         android:layout_width="0dp"
         android:layout_height="match_parent"