Selaa lähdekoodia

接入取消作业票接口;修复锁定站显示异常

Frankensteinly 9 kuukautta sitten
vanhempi
sitoutus
2c7d68de47

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

@@ -151,4 +151,9 @@ object UrlConsts {
      * 获取电柜map解析数据
      */
     const val LOTO_MAP = "/iscs/station/selectLotoMapById"
+
+    /**
+     * 取消作业票
+     */
+    const val CANCEL_TICKET = "/iscs/ticket/updateJobToCancel"
 }

+ 20 - 0
app/src/main/java/com/grkj/iscs/util/NetApi.kt

@@ -559,4 +559,24 @@ object NetApi {
             }, isGet = true, isAuth = true
         )
    }
+
+    /**
+     * 取消作业票
+     */
+    fun cancelTicket(ticketId: Long, callBack: (Boolean) -> Unit) {
+        NetHttpManager.getInstance().doRequestNet(
+            UrlConsts.CANCEL_TICKET,
+            false,
+            mapOf(
+                "ticketId" to ticketId
+            ),
+            { res, _, _ ->
+                res?.let {
+                    callBack.invoke(true)
+                } ?: run {
+                    callBack.invoke(false)
+                }
+            }, isGet = false, isAuth = true
+        )
+    }
 }

+ 12 - 3
app/src/main/java/com/grkj/iscs/view/fragment/StepFragment.kt

@@ -6,6 +6,7 @@ import com.google.android.material.card.MaterialCardView
 import com.grkj.iscs.R
 import com.grkj.iscs.databinding.FragmentStepBinding
 import com.grkj.iscs.model.bo.PageChangeBO
+import com.grkj.iscs.model.vo.machinery.MachineryDetailRespVO
 import com.grkj.iscs.model.vo.ticket.LotoMapRespVO
 import com.grkj.iscs.model.vo.ticket.StepDetailRespVO
 import com.grkj.iscs.util.log.LogUtil
@@ -23,6 +24,8 @@ class StepFragment(val goBack: () -> Unit, val changePage: (PageChangeBO) -> Uni
 
     private lateinit var mStepList: MutableList<StepBO>
     private var mLotoList = mutableListOf<LotoMapRespVO>()
+    private var mChangePage: PageChangeBO? = null
+    private var mMachineryDetail: MachineryDetailRespVO? = null
 
     override val viewBinding: FragmentStepBinding
         get() = FragmentStepBinding.inflate(layoutInflater)
@@ -68,7 +71,7 @@ class StepFragment(val goBack: () -> Unit, val changePage: (PageChangeBO) -> Uni
             override fun convert(holder: ViewHolder, loto: LotoMapRespVO, position: Int) {
                 Glide.with(this@StepFragment).load(loto.pointIcon).into(holder.getView(R.id.iv_icon))
                 holder.setText(R.id.tv_name, loto.pointName)
-                holder.setVisible(R.id.rl_cover, loto.state == true)
+                holder.setVisible(R.id.rl_cover, mMachineryDetail?.pointIdList?.contains(loto.pointId!!) == true)
             }
         }
 
@@ -77,7 +80,9 @@ class StepFragment(val goBack: () -> Unit, val changePage: (PageChangeBO) -> Uni
         }
 
         mBinding?.cbCancel?.setOnClickListener {
-
+            presenter?.cancelTicket(mChangePage?.ticketId!!) {
+                // TODO 跳转车间岗位页
+            }
         }
 
         mBinding?.llDetail?.setOnClickListener {
@@ -87,6 +92,7 @@ class StepFragment(val goBack: () -> Unit, val changePage: (PageChangeBO) -> Uni
 
     fun refreshPage(changeBO: PageChangeBO) {
         LogUtil.i("$changeBO")
+        mChangePage = changeBO
         presenter?.getStepDetail(changeBO.ticketId!!) {
             mStepList.forEach { step ->
                 step.stepDetail = it?.find { it.stepIndex == step.index }
@@ -94,7 +100,10 @@ class StepFragment(val goBack: () -> Unit, val changePage: (PageChangeBO) -> Uni
             mBinding?.rvStep?.adapter?.notifyDataSetChanged()
         }
         presenter?.getMachineryDetail(changeBO.machineryId!!,
-            { Glide.with(this).load(it?.machineryImg).into(mBinding?.ivMachinery!!) }) { itList ->
+            {
+                mMachineryDetail = it
+                Glide.with(this).load(it?.machineryImg).into(mBinding?.ivMachinery!!)
+            }) { itList ->
             itList?.let {
                 mLotoList.clear()
                 mLotoList.addAll(it)

+ 8 - 0
app/src/main/java/com/grkj/iscs/view/presenter/StepPresenter.kt

@@ -31,4 +31,12 @@ class StepPresenter : BasePresenter<IStepView>() {
             }
         }
     }
+
+    fun cancelTicket(ticketId: Long, callBack: (Boolean) -> Unit) {
+        NetApi.cancelTicket(ticketId) {
+            Executor.runOnMain {
+                callBack(it)
+            }
+        }
+    }
 }