ソースを参照

接入通过RFID列表获取批量物资信息接口

Frankensteinly 8 ヶ月 前
コミット
a4a42e042a

+ 4 - 0
app/src/main/java/com/grkj/iscs_mc/model/UrlConsts.kt

@@ -205,4 +205,8 @@ object UrlConsts {
      */
     const val MATERIAL_LIST = "/iscs/hardware/material-api/selectMaterialsByCabinetId"
 
+    /**
+     * 通过RFID列表获取批量物资信息
+     */
+    const val MATERIAL_DETAIL_LIST_BY_RFID = "/iscs/hardware/material-api/selectMaterialsByRfidList"
 }

+ 45 - 0
app/src/main/java/com/grkj/iscs_mc/model/vo/material/MaterialDetailListRespVO.kt

@@ -0,0 +1,45 @@
+package com.grkj.iscs_mc.model.vo.material
+
+data class MaterialDetailListRespVO(
+    val materialsId: Long?,
+
+    val materialsCode: String?,
+
+    val materialsName: String?,
+
+    val materialsTypeId: Long?,
+
+    val workareaId: Long?,
+
+    val materialsCabinetId: Long?,
+
+    val serviceLife: String?,
+
+    val availableLife: String?,
+
+    val serviceTimes: Long?,
+
+    val availableTimes: Long?,
+
+    val startTime: String?,
+
+    val delFlag: String?,
+
+    val loanState: String?,
+
+    val materialsRfid: String?,
+
+    val supplier: String?,
+
+    val expirationDate: String?,
+
+    val properties: String?,
+
+    val status: String?,
+
+    val materialsTypeIcon: String?,
+
+    val materialsTypePicture: String?,
+
+    val propertyIds: String?
+)

+ 1 - 1
app/src/main/java/com/grkj/iscs_mc/model/vo/MaterialListRespVO.kt → app/src/main/java/com/grkj/iscs_mc/model/vo/material/MaterialListRespVO.kt

@@ -1,4 +1,4 @@
-package com.grkj.iscs_mc.model.vo
+package com.grkj.iscs_mc.model.vo.material
 
 data class MaterialListRespVO(
     val materialsTypeId: Long?,

+ 20 - 2
app/src/main/java/com/grkj/iscs_mc/util/NetApi.kt

@@ -3,14 +3,14 @@ package com.grkj.iscs_mc.util
 import com.grkj.iscs_mc.MyApplication
 import com.grkj.iscs_mc.model.Token
 import com.grkj.iscs_mc.model.UrlConsts
-import com.grkj.iscs_mc.model.vo.MaterialListRespVO
+import com.grkj.iscs_mc.model.vo.material.MaterialListRespVO
 import com.grkj.iscs_mc.model.vo.card.CardInfoRespVO
 import com.grkj.iscs_mc.model.vo.dept.DeptListRespVO
 import com.grkj.iscs_mc.model.vo.key.KeyInfoRespVO
 import com.grkj.iscs_mc.model.vo.lock.LockInfoRespVO
-import com.grkj.iscs_mc.model.vo.lock.LockTakeUpdateReqVO
 import com.grkj.iscs_mc.model.vo.machinery.MachineryDetailRespVO
 import com.grkj.iscs_mc.model.vo.machinery.MachineryPageRespVO
+import com.grkj.iscs_mc.model.vo.material.MaterialDetailListRespVO
 import com.grkj.iscs_mc.model.vo.sop.SopInfoRespVO
 import com.grkj.iscs_mc.model.vo.sop.SopPageRespVO
 import com.grkj.iscs_mc.model.vo.ticket.LockPointUpdateReqVO
@@ -707,4 +707,22 @@ object NetApi {
             }, isGet = true, isAuth = true
         )
     }
+
+    /**
+     * 通过RFID列表获取批量物资信息
+     */
+    fun getMaterialDetailListByRfid(list: MutableList<String>, callBack: (MutableList<MaterialDetailListRespVO>?) -> Unit) {
+        NetHttpManager.getInstance().doRequestNet(
+            UrlConsts.MATERIAL_DETAIL_LIST_BY_RFID,
+            false,
+            mapOf(
+                "list" to list
+            ),
+            { res, _, _ ->
+                res?.let {
+                    callBack.invoke(getRefBean(it))
+                }
+            }, isGet = false, isAuth = true
+        )
+    }
 }

+ 1 - 1
app/src/main/java/com/grkj/iscs_mc/view/fragment/MaterialFetchReturnFragment.kt

@@ -4,7 +4,7 @@ import com.bumptech.glide.Glide
 import com.grkj.iscs_mc.R
 import com.grkj.iscs_mc.databinding.FragmentMaterialFetchReturnBinding
 import com.grkj.iscs_mc.extentions.navigateUp
-import com.grkj.iscs_mc.model.vo.MaterialListRespVO
+import com.grkj.iscs_mc.model.vo.material.MaterialListRespVO
 import com.grkj.iscs_mc.view.base.BaseMvpFragment
 import com.grkj.iscs_mc.view.iview.IMaterialFetchReturnView
 import com.grkj.iscs_mc.view.presenter.MaterialFetchReturnPresenter

+ 19 - 1
app/src/main/java/com/grkj/iscs_mc/view/presenter/MaterialFetchReturnPresenter.kt

@@ -1,6 +1,7 @@
 package com.grkj.iscs_mc.view.presenter
 
-import com.grkj.iscs_mc.model.vo.MaterialListRespVO
+import com.grkj.iscs_mc.model.vo.material.MaterialDetailListRespVO
+import com.grkj.iscs_mc.model.vo.material.MaterialListRespVO
 import com.grkj.iscs_mc.util.Executor
 import com.grkj.iscs_mc.util.NetApi
 import com.grkj.iscs_mc.view.base.BasePresenter
@@ -10,6 +11,23 @@ class MaterialFetchReturnPresenter : BasePresenter<IMaterialFetchReturnView>() {
 
     fun getMaterialList(callBack: (MutableList<MaterialListRespVO>?) -> Unit) {
         NetApi.getMaterialList(1) {
+            val rfidList = it?.flatMap { it.materials.orEmpty() }
+                ?.filter { !it.materialsRfid.isNullOrBlank() }
+                ?.map { it.materialsRfid!! }
+                ?.toMutableList()
+            rfidList?.let { itList ->
+                getMaterialListByRfid(itList) {
+
+                }
+            }
+            Executor.runOnMain {
+                callBack(it)
+            }
+        }
+    }
+
+    private fun getMaterialListByRfid(rfidList: MutableList<String>, callBack: (MutableList<MaterialDetailListRespVO>?) -> Unit) {
+        NetApi.getMaterialDetailListByRfid(rfidList) {
             Executor.runOnMain {
                 callBack(it)
             }