Ver Fonte

接入在某个柜子上我的最近一次物资检查计划接口并适配界面;调整首页物资检查模块跳转路径

Frankensteinly há 8 meses atrás
pai
commit
b25caff07b

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

@@ -239,4 +239,9 @@ object UrlConsts {
      * 主界面数据
      */
     const val HOME_PAGE_DATA = "/iscs/hardware/material-api/getCabinetHomePage"
+
+    /**
+     * 在某个柜子上我的最近一次物资检查计划
+     */
+    const val LATEST_INSPECTION_PLAN = "/iscs/hardware/material-api/getLastCheckPlanByCabinetCode"
 }

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

@@ -0,0 +1,35 @@
+package com.grkj.iscs_mc.model.vo.inspection
+
+data class LatestInspectionPlanRespVO(
+    val planId: Long?,
+
+    val planName: String?,
+
+    val planDate: String?,
+
+    val status: String?,
+
+    val list: List<MaterialsCheckVO>?
+) {
+    data class MaterialsCheckVO(
+        val materialsTypeId: Long?,
+
+        val materialsTypeName: String?,
+
+        val materialsTypeIcon: String?,
+
+        val materialsTypePicture: String?,
+
+        val allNumber: Int?,
+
+        val loanNumber: Int?,
+
+        val checkNumber: Int?,
+
+        val normalNumber: Int?,
+
+        val timeoutNumber: Int?,
+
+        val badNumber: Int?
+    )
+}

+ 19 - 0
app/src/main/java/com/grkj/iscs_mc/util/NetApi.kt

@@ -6,6 +6,7 @@ import com.grkj.iscs_mc.model.UrlConsts
 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.LatestInspectionPlanRespVO
 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.machinery.MachineryDetailRespVO
@@ -843,4 +844,22 @@ object NetApi {
             }, isGet = true, isAuth = true
         )
     }
+
+    /**
+     * 在某个柜子上我的最近一次物资检查计划
+     */
+    fun getLatestInspectionPlan(cabinetCode: String, callBack: (LatestInspectionPlanRespVO?) -> Unit) {
+        NetHttpManager.getInstance().doRequestNet(
+            UrlConsts.LATEST_INSPECTION_PLAN,
+            false,
+            mapOf(
+                "cabinetCode" to cabinetCode
+            ),
+            { res, _, _ ->
+                res?.let {
+                    callBack(getRefBean(it))
+                }
+            }, isGet = true, isAuth = true
+        )
+    }
 }

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

@@ -27,7 +27,7 @@ class MaterialHomeFragment :
         }
 
         mBinding?.rlModuleInspection?.setOnClickListener {
-            navigateTo(MaterialHomeFragmentDirections.actionHomeFragmentToInspectionFragment())
+            navigateTo(MaterialHomeFragmentDirections.actionHomeFragmentToInspectionPlanFragment())
         }
 
         mBinding?.rlModuleReplacement?.setOnClickListener {

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

@@ -1,9 +1,11 @@
 package com.grkj.iscs_mc.view.fragment
 
+import com.bumptech.glide.Glide
 import com.grkj.iscs_mc.R
 import com.grkj.iscs_mc.databinding.FragmentMaterialInspectionPlanBinding
 import com.grkj.iscs_mc.extentions.navigateTo
 import com.grkj.iscs_mc.extentions.navigateUp
+import com.grkj.iscs_mc.model.vo.inspection.LatestInspectionPlanRespVO
 import com.grkj.iscs_mc.view.base.BaseMvpFragment
 import com.grkj.iscs_mc.view.iview.IMaterialInspectionPlanView
 import com.grkj.iscs_mc.view.presenter.MaterialInspectionPlanPresenter
@@ -16,23 +18,43 @@ import com.zhy.adapter.recyclerview.base.ViewHolder
 class MaterialInspectionPlanFragment :
     BaseMvpFragment<IMaterialInspectionPlanView, MaterialInspectionPlanPresenter, FragmentMaterialInspectionPlanBinding>() {
 
+    private val mCheckList = mutableListOf<LatestInspectionPlanRespVO.MaterialsCheckVO>()
+
     override val viewBinding: FragmentMaterialInspectionPlanBinding
         get() = FragmentMaterialInspectionPlanBinding.inflate(layoutInflater)
 
     override fun initView() {
         mBinding?.cbBack?.setOnClickListener { navigateUp() }
 
-        mBinding?.rvMaterialInspectionPlan?.adapter = object : CommonAdapter<String>(
+        mBinding?.rvMaterialInspectionPlan?.adapter = object : CommonAdapter<LatestInspectionPlanRespVO.MaterialsCheckVO>(
             requireContext(),
             R.layout.item_rv_material_inspection_plan,
-            mutableListOf()
+            mCheckList
         ) {
-            override fun convert(holder: ViewHolder, t: String, position: Int) {
+            override fun convert(holder: ViewHolder, vo: LatestInspectionPlanRespVO.MaterialsCheckVO, position: Int) {
+                holder.setText(R.id.tv_name, vo.materialsTypeName)
+                holder.setText(R.id.tv_all_number, vo.allNumber.toString())
+                holder.setText(R.id.tv_loan_number, vo.loanNumber.toString())
+                holder.setText(R.id.tv_check_number, vo.checkNumber.toString())
+                holder.setText(R.id.tv_normal_number, vo.normalNumber.toString())
+                holder.setText(R.id.tv_timeout_number, vo.timeoutNumber.toString())
+                holder.setText(R.id.tv_bad_number, vo.badNumber.toString())
+                Glide.with(this@MaterialInspectionPlanFragment).load(vo.materialsTypeIcon).into(holder.getView(R.id.iv_icon))
+            }
+        }
+
+        presenter?.getLatestInspectionPlan {
+            mBinding?.tvTitle?.text = "${getString(R.string.plan_date)}:${it?.planDate}  " +
+                    "${getString(R.string.plan_status)}:" +
+                    "${if (it?.status == "1") getString(R.string.finished) else getString(R.string.not_start)}"
 
+            it?.list?.let {
+                mCheckList.addAll(it)
+                mBinding?.rvMaterialInspectionPlan?.adapter?.notifyDataSetChanged()
             }
         }
 
-        navigateTo(MaterialInspectionPlanFragmentDirections.actionInspectionPlanFragmentToInspectionTableFragment())
+//        navigateTo(MaterialInspectionPlanFragmentDirections.actionInspectionPlanFragmentToInspectionTableFragment())
     }
 
     override fun initPresenter(): MaterialInspectionPlanPresenter {

+ 12 - 0
app/src/main/java/com/grkj/iscs_mc/view/presenter/MaterialInspectionPlanPresenter.kt

@@ -1,7 +1,19 @@
 package com.grkj.iscs_mc.view.presenter
 
+import com.grkj.iscs_mc.extentions.serialNo
+import com.grkj.iscs_mc.model.vo.inspection.LatestInspectionPlanRespVO
+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.IMaterialInspectionPlanView
 
 class MaterialInspectionPlanPresenter : BasePresenter<IMaterialInspectionPlanView>() {
+
+    fun getLatestInspectionPlan(callBack: (LatestInspectionPlanRespVO?) -> Unit) {
+        NetApi.getLatestInspectionPlan(mContext!!.serialNo()) {
+            Executor.runOnMain {
+                callBack(it)
+            }
+        }
+    }
 }

+ 8 - 0
app/src/main/res/layout/item_rv_material_inspection_plan.xml

@@ -24,10 +24,12 @@
             android:orientation="horizontal">
 
             <ImageView
+                android:id="@+id/iv_icon"
                 android:layout_width="@dimen/common_icon_size"
                 android:layout_height="@dimen/common_icon_size" />
 
             <TextView
+                android:id="@+id/tv_name"
                 style="@style/CommonTextView"
                 android:layout_marginLeft="@dimen/common_spacing_small"
                 android:paddingVertical="@dimen/common_spacing" />
@@ -39,6 +41,7 @@
             android:background="@color/main_color" />
 
         <TextView
+            android:id="@+id/tv_all_number"
             style="@style/CommonTextView"
             android:layout_width="0dp"
             android:layout_weight="1"
@@ -50,6 +53,7 @@
             android:background="@color/main_color" />
 
         <TextView
+            android:id="@+id/tv_loan_number"
             style="@style/CommonTextView"
             android:layout_width="0dp"
             android:layout_weight="1"
@@ -61,6 +65,7 @@
             android:background="@color/main_color" />
 
         <TextView
+            android:id="@+id/tv_check_number"
             style="@style/CommonTextView"
             android:layout_width="0dp"
             android:layout_weight="1"
@@ -72,6 +77,7 @@
             android:background="@color/main_color" />
 
         <TextView
+            android:id="@+id/tv_normal_number"
             style="@style/CommonTextView"
             android:layout_width="0dp"
             android:layout_weight="1"
@@ -83,6 +89,7 @@
             android:background="@color/main_color" />
 
         <TextView
+            android:id="@+id/tv_timeout_number"
             style="@style/CommonTextView"
             android:layout_width="0dp"
             android:layout_weight="1"
@@ -94,6 +101,7 @@
             android:background="@color/main_color" />
 
         <TextView
+            android:id="@+id/tv_bad_number"
             style="@style/CommonTextView"
             android:layout_width="0dp"
             android:layout_weight="1"

+ 8 - 0
app/src/main/res/navigation/nav_graph.xml

@@ -33,6 +33,14 @@
             app:popEnterAnim="@anim/slide_in_left"
             app:popExitAnim="@anim/slide_out_right" />
 
+        <action
+            android:id="@+id/action_home_fragment_to_inspection_plan_fragment"
+            app:destination="@id/material_inspection_plan_fragment"
+            app:enterAnim="@anim/slide_in_right"
+            app:exitAnim="@anim/slide_out_left"
+            app:popEnterAnim="@anim/slide_in_left"
+            app:popExitAnim="@anim/slide_out_right" />
+
         <action
             android:id="@+id/action_home_fragment_to_replacement_fragment"
             app:destination="@id/material_replacement_fragment"

+ 2 - 0
app/src/main/res/values/strings.xml

@@ -55,6 +55,8 @@
     <string name="start_inspection">开始检查</string>
     <string name="continue_inspection">继续检查</string>
     <string name="submit_result">提交结果</string>
+    <string name="not_start">未开始</string>
+    <string name="finished">已完成</string>
 
     <string name="material_type">物资类型</string>
     <string name="total_count">总数量</string>