瀏覽代碼

添加物资检查表接口并部分适配界面

Frankensteinly 8 月之前
父節點
當前提交
d09702aa05

+ 19 - 0
app/src/main/java/com/grkj/iscs_mc/model/vo/inspection/InspectionCheckTableDataRespVO.kt

@@ -0,0 +1,19 @@
+package com.grkj.iscs_mc.model.vo.inspection
+
+data class InspectionCheckTableDataRespVO(
+    val materialsCabinetId: Long?,
+
+    val materialsId: Long?,
+
+    val materialsName: String?,
+
+    val materialsTypeId: Long?,
+
+    val materialsTypeName: String?,
+
+    val materialsTypeIcon: String?,
+
+    val materialsTypePicture: String?,
+
+    val status: String? // 0:正常 1:损坏 2:过期 3:放错柜子
+)

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

@@ -7,6 +7,7 @@ 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.home.HomePageDataRespVO
 import com.grkj.iscs_mc.model.vo.inspection.InsertCheckRecordReqVO
+import com.grkj.iscs_mc.model.vo.inspection.InspectionCheckTableDataRespVO
 import com.grkj.iscs_mc.model.vo.inspection.LatestInspectionPlanRespVO
 import com.grkj.iscs_mc.model.vo.key.KeyInfoRespVO
 import com.grkj.iscs_mc.model.vo.lock.LockInfoRespVO
@@ -864,8 +865,22 @@ object NetApi {
         )
     }
 
-    fun getCheckTableData() {
-
+    /**
+     * 获取物资检查表数据
+     */
+    fun getCheckTableData(cabinetCode: String, callBack: (MutableList<InspectionCheckTableDataRespVO>?) -> Unit) {
+        NetHttpManager.getInstance().doRequestNet(
+            UrlConsts.CHECK_TABLE_DATA,
+            false,
+            mapOf(
+                "cabinetCode" to cabinetCode
+            ),
+            { res, _, _ ->
+                res?.let {
+                    callBack(getRefBean(it))
+                }
+            }, isGet = true, isAuth = true
+        )
     }
 
     /**

+ 26 - 4
app/src/main/java/com/grkj/iscs_mc/view/fragment/MaterialInspectionTableFragment.kt

@@ -1,10 +1,11 @@
 package com.grkj.iscs_mc.view.fragment
 
-import android.widget.RelativeLayout
+import com.bumptech.glide.Glide
 import com.grkj.iscs_mc.R
 import com.grkj.iscs_mc.databinding.FragmentMaterialInspectionTableBinding
 import com.grkj.iscs_mc.extentions.navigateUp
 import com.grkj.iscs_mc.extentions.setSelected
+import com.grkj.iscs_mc.model.vo.inspection.InspectionCheckTableDataRespVO
 import com.grkj.iscs_mc.view.base.BaseMvpFragment
 import com.grkj.iscs_mc.view.iview.IMaterialInspectionTableView
 import com.grkj.iscs_mc.view.presenter.MaterialInspectionTablePresenter
@@ -17,18 +18,31 @@ import com.zhy.adapter.recyclerview.base.ViewHolder
 class MaterialInspectionTableFragment :
     BaseMvpFragment<IMaterialInspectionTableView, MaterialInspectionTablePresenter, FragmentMaterialInspectionTableBinding>() {
 
+    private val mDataList = mutableListOf<InspectionCheckTableDataRespVO>()
+
     override val viewBinding: FragmentMaterialInspectionTableBinding
         get() = FragmentMaterialInspectionTableBinding.inflate(layoutInflater)
 
     override fun initView() {
         mBinding?.cbBack?.setOnClickListener { navigateUp() }
 
-        mBinding?.rvMaterial?.adapter = object : CommonAdapter<String>(
+        mBinding?.rvMaterial?.adapter = object : CommonAdapter<InspectionCheckTableDataRespVO>(
             requireContext(),
             R.layout.item_rv_inspection_table,
-            mutableListOf()
+            mDataList
         ) {
-            override fun convert(holder: ViewHolder, t: String, position: Int) {
+            override fun convert(holder: ViewHolder, vo: InspectionCheckTableDataRespVO, position: Int) {
+                holder.setText(R.id.tv_number, String.format("%03d", position + 1))
+                Glide.with(this@MaterialInspectionTableFragment).load(vo.materialsTypeIcon).into(holder.getView(R.id.iv_icon))
+                holder.setText(R.id.tv_type_name, vo.materialsTypeName)
+                holder.setText(R.id.tv_name, vo.materialsName)
+                // TODO 缺rfid
+//                holder.setText(R.id.tv_rfid, vo.)
+
+                holder.setSelected(R.id.rl_status_ok, vo.status == "0")
+                holder.setSelected(R.id.rl_status_expired, vo.status == "1")
+                holder.setSelected(R.id.rl_status_damaged, vo.status == "2")
+
                 holder.setOnClickListener(R.id.rl_status_ok) {
                     
                 }
@@ -54,6 +68,14 @@ class MaterialInspectionTableFragment :
         mBinding?.cbSave?.setOnClickListener {
 //            presenter?.insertCheckRecord()
         }
+
+        presenter?.getCheckTableData {
+            it?.let {
+                mDataList.clear()
+                mDataList.addAll(it)
+                mBinding?.rvMaterial?.adapter?.notifyDataSetChanged()
+            }
+        }
     }
 
     override fun initPresenter(): MaterialInspectionTablePresenter {

+ 11 - 0
app/src/main/java/com/grkj/iscs_mc/view/presenter/MaterialInspectionTablePresenter.kt

@@ -1,12 +1,23 @@
 package com.grkj.iscs_mc.view.presenter
 
+import com.grkj.iscs_mc.extentions.serialNo
 import com.grkj.iscs_mc.model.vo.inspection.InsertCheckRecordReqVO
+import com.grkj.iscs_mc.model.vo.inspection.InspectionCheckTableDataRespVO
+import com.grkj.iscs_mc.util.Executor
 import com.grkj.iscs_mc.util.NetApi
 import com.grkj.iscs_mc.view.base.BasePresenter
 import com.grkj.iscs_mc.view.iview.IMaterialInspectionTableView
 
 class MaterialInspectionTablePresenter : BasePresenter<IMaterialInspectionTableView>() {
 
+    fun getCheckTableData(callBack: (MutableList<InspectionCheckTableDataRespVO>?) -> Unit) {
+        NetApi.getCheckTableData(mContext!!.serialNo()) {
+            Executor.runOnMain {
+                callBack(it)
+            }
+        }
+    }
+
     fun insertCheckRecord(list: MutableList<InsertCheckRecordReqVO>) {
         NetApi.insertCheckRecord(list) {
 

+ 3 - 0
app/src/main/res/layout/item_rv_inspection_table.xml

@@ -32,10 +32,12 @@
             android:orientation="horizontal">
 
             <ImageView
+                android:id="@+id/iv_icon"
                 android:layout_width="@dimen/common_icon_size_big"
                 android:layout_height="@dimen/common_icon_size_big" />
 
             <TextView
+                android:id="@+id/tv_type_name"
                 style="@style/CommonTextView"
                 android:layout_marginLeft="@dimen/common_spacing_small"
                 android:textSize="@dimen/common_text_size_small" />
@@ -47,6 +49,7 @@
             android:background="@color/main_color" />
 
         <TextView
+            android:id="@+id/tv_name"
             style="@style/CommonTextView"
             android:layout_width="0dp"
             android:layout_weight="4"