Browse Source

refactor(锁柜开关):
- 新增开关状态界面和锁柜仓位异常接口

周文健 5 tháng trước cách đây
mục cha
commit
52bebae51d

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

@@ -286,4 +286,9 @@ object UrlConsts {
      * 重合点位数据解锁
      */
     const val UPDATE_COINCIDE_TO_UNLOCK = "/iscs/hardware-api/updateCoincideToUnLock"
+
+    /**
+     * 查询锁控机位-仓位-分页
+     */
+    const val GET_IS_LOCK_CABINET_SLOTS_PAGE = "/dev-api/iscs/slots/getIsLockCabinetSlotsPage"
 }

+ 41 - 0
app/src/main/java/com/grkj/iscs/model/vo/hardware/CabinetSlotsRespVo.kt

@@ -0,0 +1,41 @@
+package com.grkj.iscs.model.vo.hardware
+
+/**
+ * 锁柜-仓位返回实体
+ */
+data class CabinetSlotsRespVo(
+    val countId: String,
+    val current: Int,
+    val maxLimit: Int,
+    val optimizeCountSql: Boolean,
+    val orders: List<Order>,
+    val pages: Int,
+    val records: List<CabinetSlotsRecord>,
+    val searchCount: Boolean,
+    val size: Int,
+    val total: Int
+)
+
+data class CabinetSlotsRecord(
+    val cabinetId: Int,
+    val col: String,
+    val createBy: String,
+    val createTime: String,
+    val delFlag: String,
+    val isOccupied: String,
+    val occupiedBy: Int,
+    val paramMap: Map<String, String>,
+    val remark: String,
+    val row: String,
+    val slotCode: String,
+    val slotId: Long,
+    val slotType: String,
+    val status: String,
+    val updateBy: String,
+    val updateTime: String
+)
+
+data class Order(
+    val asc: Boolean,
+    val column: String
+)

+ 26 - 2
app/src/main/java/com/grkj/iscs/util/NetApi.kt

@@ -10,6 +10,7 @@ import com.grkj.iscs.model.vo.characteristic.CharacteristicPageRespVO
 import com.grkj.iscs.model.vo.dept.DeptListRespVO
 import com.grkj.iscs.model.vo.dict.CommonDictRespVO
 import com.grkj.iscs.model.vo.finger.LoginCharacteristicRespVO
+import com.grkj.iscs.model.vo.hardware.CabinetSlotsRespVo
 import com.grkj.iscs.model.vo.hardware.JobCardExDTO
 import com.grkj.iscs.model.vo.hardware.KeyExDTO
 import com.grkj.iscs.model.vo.hardware.LockExDTO
@@ -491,7 +492,7 @@ object NetApi {
             ),
             { res, msg, _ ->
                 res?.let {
-                    callBack(true, msg?:"")
+                    callBack(true, msg ?: "")
                 } ?: let {
                     if (retryCount > 0) {
                         Executor.delayOnIO(500) {
@@ -504,7 +505,7 @@ object NetApi {
                             )
                         }
                     } else {
-                        callBack.invoke(false, msg?:"")
+                        callBack.invoke(false, msg ?: "")
                     }
                 }
                 // TODO isAuth需要配置
@@ -1166,4 +1167,27 @@ object NetApi {
             }, isGet = false, isAuth = true
         )
     }
+
+    /**
+     * 获取锁柜机柜-仓位-分页
+     */
+    fun getIsLockCabinetSlotsPage(
+        pages: Int,
+        size: Int,
+        callBack: (CabinetSlotsRespVo?) -> Unit
+    ) {
+        NetHttpManager.getInstance().doRequestNet(
+            UrlConsts.GET_IS_LOCK_CABINET_SLOTS_PAGE,
+            false,
+            mapOf(
+                "pages" to pages,
+                "size" to size
+            ),
+            { res, _, _ ->
+                res?.let {
+                    callBack(getRefBean(it))
+                }
+            }, isGet = true, isAuth = true
+        )
+    }
 }

+ 2 - 0
app/src/main/java/com/grkj/iscs/view/activity/HomeActivity.kt

@@ -30,6 +30,7 @@ import com.grkj.iscs.view.fragment.DockTestFragment
 import com.grkj.iscs.view.fragment.ExceptionReportFragment
 import com.grkj.iscs.view.fragment.JobManagementFragment
 import com.grkj.iscs.view.fragment.SettingFragment
+import com.grkj.iscs.view.fragment.SwitchStatusFragment
 import com.grkj.iscs.view.fragment.SystemSettingFragment
 import com.grkj.iscs.view.iview.IHomeView
 import com.grkj.iscs.view.presenter.HomePresenter
@@ -73,6 +74,7 @@ class HomeActivity : BaseMvpActivity<IHomeView, HomePresenter, ActivityHomeBindi
 //        mMenuList.add(Menu(getString(R.string.system_setting), R.mipmap.menu_icon_sys_setting, SystemSettingFragment()))
 
         mMenuList.add(Menu(getString(R.string.device_status), R.mipmap.menu_icon_device_status, DeviceStatusFragment()))
+        mMenuList.add(Menu(getString(R.string.switch_status), R.mipmap.menu_icon_device_status, SwitchStatusFragment()))
         mMenuList.add(Menu(getString(R.string.exception_report), R.mipmap.exception_handle, ExceptionReportFragment()))
         mMenuList.add(Menu(getString(R.string.settings), R.mipmap.settings, SettingFragment()))
 

+ 20 - 0
app/src/main/java/com/grkj/iscs/view/fragment/SwitchStatusFragment.kt

@@ -0,0 +1,20 @@
+package com.grkj.iscs.view.fragment
+
+import com.grkj.iscs.databinding.FragmentSwitchStatusBinding
+import com.grkj.iscs.view.base.BaseMvpFragment
+import com.grkj.iscs.view.iview.ISwitchStatusView
+import com.grkj.iscs.view.presenter.SwitchStatusPresenter
+
+class SwitchStatusFragment :
+    BaseMvpFragment<ISwitchStatusView, SwitchStatusPresenter, FragmentSwitchStatusBinding>() {
+    override fun initPresenter(): SwitchStatusPresenter {
+        return SwitchStatusPresenter()
+    }
+
+    override val viewBinding: FragmentSwitchStatusBinding
+        get() = FragmentSwitchStatusBinding.inflate(layoutInflater)
+
+    override fun initView() {
+        
+    }
+}

+ 6 - 0
app/src/main/java/com/grkj/iscs/view/iview/ISwitchStatusView.kt

@@ -0,0 +1,6 @@
+package com.grkj.iscs.view.iview
+
+import com.grkj.iscs.view.base.IView
+
+interface ISwitchStatusView:IView {
+}

+ 7 - 0
app/src/main/java/com/grkj/iscs/view/presenter/SwitchStatusPresenter.kt

@@ -0,0 +1,7 @@
+package com.grkj.iscs.view.presenter
+
+import com.grkj.iscs.view.base.BasePresenter
+import com.grkj.iscs.view.iview.ISwitchStatusView
+
+class SwitchStatusPresenter : BasePresenter<ISwitchStatusView>() {
+}

+ 9 - 0
app/src/main/res/drawable/menu_icon_device_input.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="72dp"
+    android:height="91dp"
+    android:viewportWidth="72"
+    android:viewportHeight="91">
+  <path
+      android:pathData="M0.688,76.781V18.617C0.688,11.547 4.867,7.953 11.195,7.562C25.219,6.742 36.859,4.789 47.797,2.328C55.297,0.57 59.438,4.359 59.438,12.133V69.32C59.438,76.156 57.289,79.086 51.742,80.648C36.859,84.75 25.219,85.961 12.133,86.664C4.867,87.093 0.688,83.578 0.688,76.781ZM6.977,75.648C6.977,78.812 9.008,80.531 12.406,80.375C25.375,79.711 36.742,78.461 48.969,75.062C51.977,74.281 53.148,72.679 53.148,69.086V13.226C53.148,9.711 51.039,7.836 47.445,8.656C36.742,11.078 25.375,13.031 11.898,13.734C9.008,13.89 6.977,15.179 6.977,18.461V75.648ZM31.898,90.218C38.461,89.203 45.531,87.836 53.227,85.765C61.117,83.5 64.789,78.422 64.789,69.32V12.133C64.789,10.961 64.711,9.828 64.594,8.812C69.047,10.101 71.313,13.851 71.313,19.906V77.992C71.313,86.156 67.289,90.218 59.242,90.218H31.898ZM15.531,27.562C14.242,27.64 13.266,26.703 13.266,25.453C13.266,24.242 14.008,23.304 15.531,23.187C26.625,22.484 35.531,20.922 44.203,19.008C45.883,18.656 46.859,19.711 46.859,20.922C46.859,22.015 46.391,22.914 44.633,23.304C35.531,25.336 26.625,26.859 15.531,27.562ZM15.531,40.14C14.242,40.218 13.266,39.242 13.266,37.992C13.266,36.82 14.008,35.883 15.531,35.765C26.625,35.062 35.531,33.5 44.203,31.586C45.883,31.234 46.859,32.289 46.859,33.5C46.859,34.593 46.391,35.492 44.633,35.883C35.531,37.875 26.625,39.437 15.531,40.14ZM15.531,52.718C14.242,52.797 13.266,51.82 13.266,50.57C13.266,49.398 14.008,48.461 15.531,48.343C26.625,47.64 35.531,46.078 44.203,44.164C45.883,43.812 46.859,44.867 46.859,46.078C46.859,47.172 46.391,48.07 44.633,48.461C35.531,50.453 26.625,52.015 15.531,52.718ZM15.531,65.258C14.242,65.336 13.266,64.359 13.266,63.109C13.266,61.937 14.008,61 15.531,60.883C21.82,60.531 26,59.945 29.75,59.359C31.508,59.047 32.445,60.179 32.445,61.351C32.445,62.367 31.742,63.383 30.453,63.617C26.234,64.281 21.938,64.906 15.531,65.258Z"
+      android:fillColor="#D7D2D2"/>
+</vector>

+ 14 - 0
app/src/main/res/layout/fragment_switch_status.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/item_rv_technology_sop_bg_normal"
+    android:padding="@dimen/common_spacing"
+    tools:context=".view.fragment.SwitchStatusFragment">
+
+    <com.onlylemi.mapview.library.MapView
+        android:id="@+id/mapview"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+</RelativeLayout>