فهرست منبع

补充下发工作票部分组成字段

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

+ 16 - 5
app/src/main/java/com/grkj/iscs/BusinessManager.kt

@@ -460,6 +460,9 @@ object BusinessManager {
         val bo = WorkTicketSendBO(
             cardNo = SPUtils.getLoginUser(MyApplication.instance!!.applicationContext)?.cardNfc,
         )
+        CommonUtils.getDiffHours(vo.ticketEndTime)?.let {
+            bo.effectiveTime = it
+        }
         val dataBO = WorkTicketSendBO.DataBO(
             taskCode = vo.ticketCode,
             taskId = vo.ticketId.toString(),
@@ -467,21 +470,29 @@ object BusinessManager {
         )
         val taskList = ArrayList<WorkTicketSendBO.DataBO.DataListBO>()
         vo.pointDetailVOList?.let { itList ->
-            for (i in itList.indices) {
+            itList.forEach { pointVO ->
                 val task = WorkTicketSendBO.DataBO.DataListBO(
-                    dataId = i + 1,
-                    equipRfidNo = itList[i].pointNfc,
-                    infoRfidNo = itList[i].pointName,
+                    dataId = pointVO.pointId?.toInt(),
+                    equipRfidNo = pointVO.pointNfc,
+                    infoRfidNo = pointVO.pointName,
                     target = if (isLock) 0 else 1
                 )
+                pointVO.prePointId?.let {
+                    task.prevId = it.toInt()
+                }
                 if (!isLock) {
-                    task.infoRfidNo = itList[i].lockId.toString()
+                    task.infoRfidNo = pointVO.lockId.toString()
                 }
+                // TODO partCode待补充
                 taskList.add(task)
             }
         }
         dataBO.dataList = taskList
         bo.data = mutableListOf(dataBO)
+        if (isLock) {
+            bo.lockList = mutableListOf()
+        }
+        // TODO partList 待补充
         val jsonStr = Gson().toJson(bo)
         return jsonStr
     }

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

@@ -16,6 +16,11 @@ data class TicketDetailRespVO(
     val ticketStartTime: String?,
     val ticketEndTime: String?,
     val delFlag: String?,
+    val lockId: Long?,
+    val lockedByKeyId: Long?,
+    val unlockedByKeyId: Long?,
+    val lockTime: String?,
+    val unlockTime: String?,
     val pointDetailVOList: List<PointDetailVO>?,
     val jobTicketUserList: List<UserVO>?
 ) {
@@ -41,7 +46,8 @@ data class TicketDetailRespVO(
         val lockTypeName: String?,
         val lockTypeIcon: String?,
         val lockTypeImg: String?,
-        val lockId: Long?)
+        val lockId: Long?,
+        val prePointId: Long?)
 
     data class UserVO(
         val recordId: Long?,

+ 23 - 0
app/src/main/java/com/grkj/iscs/util/CommonUtils.kt

@@ -11,6 +11,8 @@ import androidx.appcompat.app.AppCompatActivity
 import com.grkj.iscs.MyApplication
 import com.grkj.iscs.model.Constants.PERMISSION_REQUEST_CODE
 import pub.devrel.easypermissions.EasyPermissions
+import java.text.SimpleDateFormat
+import java.util.Locale
 
 object CommonUtils {
     fun dip2px(dpValue: Float): Int {
@@ -47,4 +49,25 @@ object CommonUtils {
             MyApplication.instance?.applicationContext?.resources?.getString(textId)
         }
     }
+
+    fun getDiffHours(dateString: String?): Int? {
+        if (dateString.isNullOrEmpty()) {
+            return null
+        }
+        val format = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault())
+        val date = format.parse(dateString)
+        if (date != null) {
+            // 将 Date 对象转换为时间戳(毫秒)
+            val timestamp = date.time
+            // 获取当前时间的时间戳
+            val currentTimestamp = System.currentTimeMillis()
+            // 计算时间差(毫秒)
+            val timeDifferenceInMillis = currentTimestamp - timestamp
+            // 将时间差转换为小时数,向下取整
+            val hoursDifference = (timeDifferenceInMillis / (1000 * 60 * 60)).toInt()
+
+            return hoursDifference
+        }
+        return null
+    }
 }