فهرست منبع

完善生成钥匙工作票逻辑

Frankensteinly 11 ماه پیش
والد
کامیت
32b8a5a7dc

+ 33 - 7
app/src/main/java/com/grkj/iscs/BusinessManager.kt

@@ -7,6 +7,7 @@ import androidx.appcompat.app.AppCompatActivity
 import com.clj.fastble.BleManager
 import com.clj.fastble.data.BleDevice
 import com.clj.fastble.exception.BleException
+import com.google.gson.Gson
 import com.grkj.iscs.ble.BleBean
 import com.grkj.iscs.ble.BleCmdManager
 import com.grkj.iscs.ble.BleConst
@@ -202,7 +203,10 @@ object BusinessManager {
 
     /****************************************** 蓝牙 ******************************************/
 
-    fun checkLockCount(pointCount: Int) {
+    /**
+     * 检查钥匙和锁具数量
+     */
+    fun checkEquipCount(pointCount: Int) {
         var lockCount = 0
         var keyCount = 0
         val lockDockList = ModBusController.dockList.filter { it.type == DOCK_TYPE_LOCK || it.type == DOCK_TYPE_PORTABLE }
@@ -216,14 +220,14 @@ object BusinessManager {
         // TODO 待完善锁具数量判断
         if (lockCount < pointCount) {
             val msg = MyApplication.instance!!.applicationContext.resources.getString(R.string.lock_is_not_enough)
-            LogUtil.e(msg)
+            LogUtil.w(msg)
             ToastUtils.tip(msg)
             // TODO 是否用户确认
             return
         }
         if (keyCount == 0) {
             val msg = MyApplication.instance!!.applicationContext.resources.getString(R.string.key_is_not_enough)
-            LogUtil.e(msg)
+            LogUtil.w(msg)
             ToastUtils.tip(msg)
             // TODO 是否用户确认
             return
@@ -415,12 +419,34 @@ object BusinessManager {
      *
      * @param isLock true:上锁任务 false:解锁任务
      */
-    fun genTicketSendJson(isLock: Boolean, vo: TicketDetailRespVO): WorkTicketSendBO {
+    fun generateTicketSendJson(isLock: Boolean, vo: TicketDetailRespVO): String {
         val bo = WorkTicketSendBO(
-            SPUtils.getLoginUser(MyApplication.instance!!.applicationContext)?.cardNfc,
-
+            cardNo = SPUtils.getLoginUser(MyApplication.instance!!.applicationContext)?.cardNfc,
+        )
+        val dataBO = WorkTicketSendBO.DataBO(
+            taskCode = vo.ticketCode,
+            taskId = vo.ticketId.toString(),
+            codeId = 1
         )
-        return bo
+        val taskList = ArrayList<WorkTicketSendBO.DataBO.DataListBO>()
+        vo.pointDetailVOList?.let { itList ->
+            for (i in itList.indices) {
+                val task = WorkTicketSendBO.DataBO.DataListBO(
+                    dataId = i + 1,
+                    equipRfidNo = itList[i].pointNfc,
+                    infoRfidNo = itList[i].pointName,
+                    target = if (isLock) 0 else 1
+                )
+                if (!isLock) {
+                    task.infoRfidNo = itList[i].lockId.toString()
+                }
+                taskList.add(task)
+            }
+        }
+        dataBO.dataList = taskList
+        bo.data = mutableListOf(dataBO)
+        val jsonStr = Gson().toJson(bo)
+        return jsonStr
     }
 
     fun handleRsp(bleBean: BleBean, byteArray: ByteArray, loadingCallBack: (Boolean, String?) -> Unit) {

+ 47 - 45
app/src/main/java/com/grkj/iscs/model/vo/ticket/TicketDetailRespVO.kt

@@ -1,53 +1,55 @@
 package com.grkj.iscs.model.vo.ticket
 
 data class TicketDetailRespVO(
-    private val ticketId: Long?,
-    private val ticketCode: String?,
-    private val ticketName: String?,
-    private val workshopId: Long?,
-    private val workshopName: String?,
-    private val workareaId: Long?,
-    private val workareaName: String?,
-    private val sopId: Long?,
-    private val sopName: String?,
-    private val ticketType: String?,
-    private val ticketContent: String?,
-    private val ticketStatus: String?,
-    private val ticketStartTime: String?,
-    private val ticketEndTime: String?,
-    private val delFlag: String?,
-    private val pointDetailVOList: List<PointDetailVO>?,
-    private val jobTicketUserList: List<UserVO>?
+    val ticketId: Long?,
+    val ticketCode: String?,
+    val ticketName: String?,
+    val workshopId: Long?,
+    val workshopName: String?,
+    val workareaId: Long?,
+    val workareaName: String?,
+    val sopId: Long?,
+    val sopName: String?,
+    val ticketType: String?,
+    val ticketContent: String?,
+    val ticketStatus: String?,
+    val ticketStartTime: String?,
+    val ticketEndTime: String?,
+    val delFlag: String?,
+    val pointDetailVOList: List<PointDetailVO>?,
+    val jobTicketUserList: List<UserVO>?
 ) {
     data class PointDetailVO(
-        private val pointId: Long?,
-        private val pointCode: String?,
-        private val pointName: String?,
-        private val pointType: String?,
-        private val pointTypeName: String?,
-        private val workshopId: Long?,
-        private val workshopName: String?,
-        private val workareaId: Long?,
-        private val workareaName: String?,
-        private val powerType: String?,
-        private val powerTypeName: String?,
-        private val isolationMethod: String?,
-        private val pointIcon: String?,
-        private val pointPicture: String?,
-        private val delFlag: String?,
-        private val lockTypeId: Long?,
-        private val lockTypeCode: String?,
-        private val lockTypeName: String?,
-        private val lockTypeIcon: String?,
-        private val lockTypeImg: String?)
+        val pointId: Long?,
+        val pointCode: String?,
+        val pointName: String?,
+        val pointType: String?,
+        val pointTypeName: String?,
+        val pointNfc: String?,
+        val workshopId: Long?,
+        val workshopName: String?,
+        val workareaId: Long?,
+        val workareaName: String?,
+        val powerType: String?,
+        val powerTypeName: String?,
+        val isolationMethod: String?,
+        val pointIcon: String?,
+        val pointPicture: String?,
+        val delFlag: String?,
+        val lockTypeId: Long?,
+        val lockTypeCode: String?,
+        val lockTypeName: String?,
+        val lockTypeIcon: String?,
+        val lockTypeImg: String?,
+        val lockId: Long?)
 
     data class UserVO(
-        private val recordId: Long?,
-        private val ticketId: Long?,
-        private val userId: Long?,
-        private val userName: String?,
-        private val userType: String?,
-        private val userRole: String?,
-        private val jobStatus: Int?,
-        private val delFlag: String?)
+        val recordId: Long?,
+        val ticketId: Long?,
+        val userId: Long?,
+        val userName: String?,
+        val userType: String?,
+        val userRole: String?,
+        val jobStatus: Int?,
+        val delFlag: String?)
 }