Procházet zdrojové kódy

添加归还钥匙接口;补充归还钥匙的逻辑

Frankensteinly před 11 měsíci
rodič
revize
46d22932da

+ 6 - 0
app/src/main/java/com/grkj/iscs/BusinessManager.kt

@@ -747,9 +747,15 @@ object BusinessManager {
                         updateList.add(updateVO)
                     }
 
+                    // 上报点位钥匙绑定
                     NetApi.updateLockPointBatch(updateList) { itRst ->
                         // TODO 上报结果
                     }
+
+                    // 上报钥匙归还
+                    NetApi.updateKeyReturn(data.taskId?.toLong()!!, keyNfc!!, MyApplication.instance!!.serialNo()) {
+
+                    }
                 }
             }
         }

+ 49 - 0
app/src/main/java/com/grkj/iscs/activity/test/ProcessDemoActivity.kt

@@ -2,6 +2,8 @@ package com.grkj.iscs.activity.test
 
 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.util.NetApi
 import com.grkj.iscs.util.SPUtils
 import com.grkj.iscs.util.ToastUtils
@@ -18,6 +20,10 @@ class ProcessDemoActivity : BaseActivity<ActivityProcessDemoBinding>() {
         mBinding?.login?.setOnClickListener { login() }
         mBinding?.logout?.setOnClickListener { NetApi.logout() }
         mBinding?.ticketDetail?.setOnClickListener { getTicketDetail() }
+        mBinding?.lockTake?.setOnClickListener { updateLockTake() }
+        mBinding?.lockReturn?.setOnClickListener { updateLockReturn() }
+        mBinding?.keyTake?.setOnClickListener { updateKeyTake() }
+        mBinding?.keyReturn?.setOnClickListener { updateKeyReturn() }
     }
 
     private fun login() {
@@ -45,4 +51,47 @@ class ProcessDemoActivity : BaseActivity<ActivityProcessDemoBinding>() {
 
         }
     }
+
+    private fun updateLockTake() {
+        if (mBinding?.etLockNfc?.text.isNullOrEmpty()) {
+            ToastUtils.tip("请填写锁的NFC")
+            return
+        }
+        val list = mutableListOf<LockTakeUpdateReqVO>()
+        NetApi.updateLockTake(list) {
+
+        }
+    }
+
+    private fun updateLockReturn() {
+        if (mBinding?.etLockNfc?.text.isNullOrEmpty()) {
+            ToastUtils.tip("请填写锁的NFC")
+            return
+        }
+        NetApi.updateLockReturn(mBinding?.etLockNfc?.text.toString(), serialNo()) {
+
+        }
+    }
+
+    private fun updateKeyTake() {
+        if (mBinding?.etKeyNfc?.text.isNullOrEmpty()) {
+            ToastUtils.tip("请填写钥匙的NFC")
+            return
+        }
+        // TODO ticketId
+        NetApi.updateKeyTake(0, mBinding?.etKeyNfc?.text.toString(), serialNo()) {
+
+        }
+    }
+
+    private fun updateKeyReturn() {
+        if (mBinding?.etKeyNfc?.text.isNullOrEmpty()) {
+            ToastUtils.tip("请填写钥匙的NFC")
+            return
+        }
+        // TODO ticketId
+        NetApi.updateKeyReturn(0, mBinding?.etKeyNfc?.text.toString(), serialNo()) {
+
+        }
+    }
 }

+ 5 - 0
app/src/main/java/com/grkj/iscs/model/UrlConsts.kt

@@ -107,6 +107,11 @@ object UrlConsts {
      */
     const val KEY_TAKE_UPDATE = "/iscs/hardware-api/updateTakeOutKey"
 
+    /**
+     * 归还钥匙
+     */
+    const val KEY_RETURN_UPDATE = "/iscs/hardware-api/updateReturnKey"
+
     /**
      * 更新作业票进度
      */

+ 19 - 1
app/src/main/java/com/grkj/iscs/util/NetApi.kt

@@ -270,7 +270,7 @@ object NetApi {
     }
 
     /**
-     * 通过nfc编号获取lock信息
+     * 通过nfc编号获取lock信息,暂时用来判断是否是公司的锁
      */
     fun getLockInfo(lockNfc: String, callBack: (LockInfoRespVO?) -> Unit) {
         NetHttpManager.getInstance().doRequestNet(
@@ -380,6 +380,24 @@ object NetApi {
         )
     }
 
+    /**
+     * 归还钥匙
+     */
+    fun updateKeyReturn(ticketId: Long, keyNfc: String, serialNumber: String, callBack: (Boolean) -> Unit) {
+        NetHttpManager.getInstance().doRequestNet(
+            UrlConsts.KEY_RETURN_UPDATE,
+            false,
+            mapOf(
+                "ticketId" to ticketId,
+                "keyNfc" to keyNfc,
+                "serialNumber" to serialNumber
+            ),
+            { res, _, _ ->
+                callBack.invoke(res != null)
+            }, isGet = false, isAuth = true
+        )
+    }
+
     /**
      * 更新作业票进度
      */

+ 70 - 2
app/src/main/res/layout/activity_process_demo.xml

@@ -56,8 +56,8 @@
             android:id="@+id/et_ticket_id"
             android:layout_width="100dp"
             android:layout_height="wrap_content"
-            android:inputType="number"
-            android:hint="Ticket ID" />
+            android:hint="Ticket ID"
+            android:inputType="number" />
 
         <Button
             android:id="@+id/ticket_detail"
@@ -69,4 +69,72 @@
             android:text="Get Ticket Detail"
             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_lock_nfc"
+            android:layout_width="300dp"
+            android:layout_height="wrap_content"
+            android:hint="Lock NFC"
+            android:inputType="number" />
+
+        <Button
+            android:id="@+id/lock_take"
+            android:layout_width="wrap_content"
+            android:layout_height="50dp"
+            android:layout_margin="5dp"
+            android:minWidth="0dp"
+            android:minHeight="0dp"
+            android:text="Update Lock Take"
+            android:textSize="10sp" />
+
+        <Button
+            android:id="@+id/lock_return"
+            android:layout_width="wrap_content"
+            android:layout_height="50dp"
+            android:layout_margin="5dp"
+            android:minWidth="0dp"
+            android:minHeight="0dp"
+            android:text="Update Lock Return"
+            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_key_nfc"
+            android:layout_width="100dp"
+            android:layout_height="wrap_content"
+            android:hint="Key NFC"
+            android:inputType="number" />
+
+        <Button
+            android:id="@+id/key_take"
+            android:layout_width="wrap_content"
+            android:layout_height="50dp"
+            android:layout_margin="5dp"
+            android:minWidth="0dp"
+            android:minHeight="0dp"
+            android:text="Update Key Take"
+            android:textSize="10sp" />
+
+        <Button
+            android:id="@+id/key_return"
+            android:layout_width="wrap_content"
+            android:layout_height="50dp"
+            android:layout_margin="5dp"
+            android:minWidth="0dp"
+            android:minHeight="0dp"
+            android:text="Update Key Return"
+            android:textSize="10sp" />
+    </LinearLayout>
 </LinearLayout>