Pārlūkot izejas kodu

补充部分辅助演示逻辑

Frankensteinly 11 mēneši atpakaļ
vecāks
revīzija
20c498d4b9

+ 79 - 6
app/src/main/java/com/grkj/iscs/activity/test/ProcessDemoActivity.kt

@@ -4,7 +4,9 @@ import com.grkj.iscs.base.BaseActivity
 import com.grkj.iscs.databinding.ActivityProcessDemoBinding
 import com.grkj.iscs.extentions.serialNo
 import com.grkj.iscs.model.vo.lock.LockTakeUpdateReqVO
+import com.grkj.iscs.model.vo.ticket.LockPointUpdateReqVO
 import com.grkj.iscs.model.vo.ticket.TicketDetailRespVO
+import com.grkj.iscs.model.vo.ticket.TicketEquipDetailRespVO
 import com.grkj.iscs.util.NetApi
 import com.grkj.iscs.util.SPUtils
 import com.grkj.iscs.util.ToastUtils
@@ -15,19 +17,26 @@ import com.grkj.iscs.util.ToastUtils
 class ProcessDemoActivity : BaseActivity<ActivityProcessDemoBinding>() {
 
     private var ticketDetail: TicketDetailRespVO? = null
+    private var equipDetail: TicketEquipDetailRespVO? = null
+    private var lockList = mutableListOf<String>()
 
     override val viewBinding: ActivityProcessDemoBinding
         get() = ActivityProcessDemoBinding.inflate(layoutInflater)
 
     override fun initView() {
-        mBinding?.etSerialNo?.setText(serialNo())
+//        mBinding?.etSerialNo?.setText(serialNo())
+        mBinding?.etSerialNo?.setText("XL0YVRC62W")
+        mBinding?.cbIsLock?.isChecked = true
         mBinding?.login?.setOnClickListener { login() }
         mBinding?.logout?.setOnClickListener { NetApi.logout() }
         mBinding?.ticketDetail?.setOnClickListener { getTicketDetail() }
+        mBinding?.equipDetail?.setOnClickListener { getTicketEquipDetail() }
         mBinding?.lockTake?.setOnClickListener { updateLockTake() }
         mBinding?.lockReturn?.setOnClickListener { updateLockReturn() }
         mBinding?.keyTake?.setOnClickListener { updateKeyTake() }
         mBinding?.keyReturn?.setOnClickListener { updateKeyReturn() }
+        mBinding?.updateProgress?.setOnClickListener { updateProgress() }
+        mBinding?.updatePoint?.setOnClickListener { updatePoint() }
     }
 
     private fun login() {
@@ -40,6 +49,7 @@ class ProcessDemoActivity : BaseActivity<ActivityProcessDemoBinding>() {
                 NetApi.getCardInfo { itInfo ->
                     itInfo?.let { info ->
                         SPUtils.setLoginUser(this, info)
+                        ToastUtils.tip("登录成功")
                     }
                 }
             }
@@ -53,6 +63,18 @@ class ProcessDemoActivity : BaseActivity<ActivityProcessDemoBinding>() {
         }
         NetApi.getTicketDetail(mBinding?.etTicketId?.text.toString().toLong()) {
             ticketDetail = it
+            ToastUtils.tip("获取工作票详情成功")
+        }
+    }
+
+    private fun getTicketEquipDetail() {
+        if (mBinding?.etTicketId?.text.isNullOrEmpty()) {
+            ToastUtils.tip("请填写工单号")
+            return
+        }
+        NetApi.getTicketEquipDetail(mBinding?.etTicketId?.text.toString().toLong()) {
+            equipDetail = it
+            ToastUtils.tip("获取设备详情成功")
         }
     }
 
@@ -73,15 +95,18 @@ class ProcessDemoActivity : BaseActivity<ActivityProcessDemoBinding>() {
         val list = mutableListOf<LockTakeUpdateReqVO>()
         str.split(',').forEach {
             list.add(LockTakeUpdateReqVO(ticketDetail?.ticketId, it, mBinding?.etSerialNo?.text.toString()))
+            lockList.add(it)
+            mBinding?.tvLockList?.text = "LockList : $lockList"
         }
 
         NetApi.updateLockTake(list) {
-
+            ToastUtils.tip("更新取锁成功")
         }
     }
 
     private fun updateLockReturn() {
-        if (mBinding?.etLockNfc?.text.isNullOrEmpty()) {
+        val str = mBinding?.etLockNfc?.text.toString()
+        if (str.isEmpty()) {
             ToastUtils.tip("请填写锁的NFC")
             return
         }
@@ -89,8 +114,12 @@ class ProcessDemoActivity : BaseActivity<ActivityProcessDemoBinding>() {
             ToastUtils.tip("请填写序列号")
             return
         }
-        NetApi.updateLockReturn(mBinding?.etLockNfc?.text.toString(), mBinding?.etSerialNo?.text.toString()) {
-
+        str.split(',').forEach { lockNfc ->
+            NetApi.updateLockReturn(lockNfc, mBinding?.etSerialNo?.text.toString()) {
+                ToastUtils.tip("更新还锁成功")
+                lockList.remove(lockNfc)
+                mBinding?.tvLockList?.text = "LockList : $lockList"
+            }
         }
     }
 
@@ -108,7 +137,7 @@ class ProcessDemoActivity : BaseActivity<ActivityProcessDemoBinding>() {
             return
         }
         NetApi.updateKeyTake(ticketDetail?.ticketId!!, mBinding?.etKeyNfc?.text.toString(), mBinding?.etSerialNo?.text.toString()) {
-
+            ToastUtils.tip("更新取钥匙成功")
         }
     }
 
@@ -126,7 +155,51 @@ class ProcessDemoActivity : BaseActivity<ActivityProcessDemoBinding>() {
             return
         }
         NetApi.updateKeyReturn(ticketDetail?.ticketId!!, mBinding?.etKeyNfc?.text.toString(), mBinding?.etSerialNo?.text.toString()) {
+            ToastUtils.tip("更新还钥匙成功")
+        }
+    }
+
+    private fun updateProgress() {
+        if (ticketDetail == null) {
+            ToastUtils.tip("请先获取工单详情")
+            return
+        }
+        if (SPUtils.getLoginUser(this)?.userId == null) {
+            ToastUtils.tip("请先登录")
+            return
+        }
+        NetApi.updateTicketProgress(ticketDetail?.ticketId!!, SPUtils.getLoginUser(this)?.userId!!) {
+            ToastUtils.tip("更新工单进度成功")
+        }
+    }
 
+    private fun updatePoint() {
+        if (ticketDetail == null) {
+            ToastUtils.tip("请先获取工单详情")
+            return
+        }
+        if (equipDetail == null) {
+            ToastUtils.tip("请先获取设备详情")
+            return
+        }
+        if (mBinding?.etKeyNfc?.text.isNullOrEmpty()) {
+            ToastUtils.tip("请填写钥匙的NFC")
+            return
+        }
+        val isLock = mBinding?.cbIsLock!!.isChecked
+        val list = mutableListOf<LockPointUpdateReqVO>()
+        for (i in equipDetail?.ticketLockVOList!!.indices) {
+            val updateReqVO = LockPointUpdateReqVO(
+                ticketDetail!!.ticketId,
+                lockList[i],
+                "P$i",
+                mBinding?.etKeyNfc?.text.toString(),
+                if (isLock) 0 else 1,
+                if (isLock) 0 else 1
+            )
+        }
+        NetApi.updateLockPointBatch(list) {
+            ToastUtils.tip("更新点位成功")
         }
     }
 }

+ 59 - 7
app/src/main/res/layout/activity_process_demo.xml

@@ -44,13 +44,6 @@
             android:minHeight="0dp"
             android:text="Logout"
             android:textSize="10sp" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center_vertical"
-        android:orientation="horizontal">
 
         <EditText
             android:id="@+id/et_serial_no"
@@ -81,6 +74,16 @@
             android:minHeight="0dp"
             android:text="Get Ticket Detail"
             android:textSize="10sp" />
+
+        <Button
+            android:id="@+id/equip_detail"
+            android:layout_width="wrap_content"
+            android:layout_height="50dp"
+            android:layout_margin="5dp"
+            android:minWidth="0dp"
+            android:minHeight="0dp"
+            android:text="Get Equip Detail"
+            android:textSize="10sp" />
     </LinearLayout>
 
     <LinearLayout
@@ -150,4 +153,53 @@
             android:text="Update Key Return"
             android:textSize="10sp" />
     </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:orientation="horizontal">
+
+        <CheckBox
+            android:id="@+id/cb_is_lock"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="isLock"/>
+
+        <Button
+            android:id="@+id/update_point"
+            android:layout_width="wrap_content"
+            android:layout_height="50dp"
+            android:layout_margin="5dp"
+            android:minWidth="0dp"
+            android:minHeight="0dp"
+            android:text="Update Point(Locker Only)"
+            android:textSize="10sp" />
+
+        <Button
+            android:id="@+id/update_progress"
+            android:layout_width="wrap_content"
+            android:layout_height="50dp"
+            android:layout_margin="5dp"
+            android:minWidth="0dp"
+            android:minHeight="0dp"
+            android:text="Update Progress(CoLocker Only)"
+            android:textSize="10sp" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:orientation="horizontal">
+
+        <TextView
+            android:id="@+id/tv_lock_list"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="@color/main_color"
+            android:padding="10dp"
+            android:text="LockList : "
+            android:textSize="15sp" />
+    </LinearLayout>
 </LinearLayout>