Browse Source

@task: relation

bai 3 years ago
parent
commit
28d05ae2d3

+ 78 - 8
demo/src/main/java/com/sybotan/android/demo/activities/poc/RelationActivity.kt

@@ -2,18 +2,43 @@ package com.sybotan.android.demo.activities.poc
 
 import android.support.v7.app.AppCompatActivity
 import android.os.Bundle
+import android.view.View
 import android.widget.ListView
 import android.widget.TextView
 import com.sybotan.android.demo.R
 import com.sybotan.android.demo.activities.BaseActivity
 import com.sybotan.android.demo.adapter.ExpandAdapter
+import com.sybotan.android.demo.adapter.RelationAdapter
+import com.sybotan.android.demo.bean.result.SpaceEqModel
 import com.sybotan.android.demo.entitiies.Build
 import com.sybotan.android.demo.entitiies.EqEntity
+import com.sybotan.android.demo.entitiies.RelationEq
 import com.sybotan.android.demo.retrofit.BaseViewModelInterface
 import com.sybotan.android.demo.viewmodel.BuildVM
 import com.sybotan.android.demo.viewmodel.RelationVM
 
+
+
 class RelationActivity : BaseActivity() {
+    companion object {
+        // 设备服务于空间
+        const val EQ_SP_SERVE = "eq_sp_serve"
+
+        // 设备 阀门 设备
+        const val EQ_EQ_VV = "eq_eq_vv"
+
+        // 设备 控制 设备
+        const val EQ_EQ_CTRL = "eq_eq_ctrl"
+
+        // 设备 电量 设备
+        const val EQ_EQ_POWER = "eq_eq_power"
+
+        // 设备 测量 设备
+        const val EQ_EQ_SS = "eq_eq_ss"
+
+        // 设备连接管道
+        const val EQ_PIPE_CNCT = "eq_pipe_cnct"
+    }
     private lateinit var mSpaceId: String
     private lateinit var mMajorTv: TextView
     private lateinit var mMinorTv: TextView
@@ -21,25 +46,70 @@ class RelationActivity : BaseActivity() {
     private lateinit var mMajorLv: ListView
     private lateinit var mMinorLv: ListView
 
-
+    private lateinit var type: String
+    private lateinit var code: String
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_relation)
+        mMajorTv = findViewById(R.id.majorTv)
+        mMajorLv = findViewById(R.id.majorLv)
+        mMajorLv.divider = null
+        mMinorTv = findViewById(R.id.minorTv)
+        mMinorLv = findViewById(R.id.minorLv)
+        mMinorLv.divider = null
+
+        val bundle = intent.getBundleExtra("params")
+        mSpaceId = bundle?.getString("spaceId") ?: ""
+        type = bundle?.getString("type") ?: ""
+        code = bundle?.getString("code") ?: ""
+        println("mSpaceId: $mSpaceId")
+        println("type: $type")
+        println("code: $code")
+
+        when (code) {
+            EQ_SP_SERVE -> {
+                mMinorTv.visibility = View.GONE
+                mMinorLv.visibility = View.GONE
+                mMajorTv.visibility = View.GONE
 
+            }
+
+            EQ_EQ_VV -> {
+                mMinorTv.visibility = View.VISIBLE
+                mMinorLv.visibility = View.VISIBLE
+            }
+
+            EQ_EQ_CTRL -> {
+
+            }
+            EQ_EQ_POWER -> {
+
+            }
+            EQ_EQ_SS -> {
+
+            }
+
+            EQ_PIPE_CNCT -> {
+
+            }
+        }
         initViewModel()
     }
 
 
-    private lateinit var mBuilds: List<EqEntity>
+    private lateinit var mEqs: List<RelationEq>
+
+
     private fun initViewModel() {
-        val vm = RelationVM(BaseViewModelInterface { name, params ->
-            mBuilds = params as List<EqEntity>
-            /* val floors = sep(mBuilds)
-             val adapter = ExpandAdapter(this, mBuilds, floors)
-             expandLv.setAdapter(adapter)*/
+        val mVm = RelationVM(BaseViewModelInterface { name, params ->
+            mEqs = params as List<RelationEq>
+
+            val adapter = RelationAdapter(mEqs, this@RelationActivity) { eq ->
 
+            }
+            mMajorLv.setAdapter(adapter)
         }, this)
-        vm.getEqs(mSpaceId)
+        mVm.getEqs(mSpaceId)
     }
 
 }

+ 5 - 6
demo/src/main/java/com/sybotan/android/demo/adapter/RelationAdapter.kt

@@ -7,13 +7,12 @@ import android.view.ViewGroup
 import android.widget.BaseAdapter
 import android.widget.CheckBox
 import com.sybotan.android.demo.R
-import com.sybotan.android.demo.entitiies.DeviceType
-import com.sybotan.android.demo.entitiies.EqEntity
+import com.sybotan.android.demo.entitiies.RelationEq
 
 class RelationAdapter(
-    val eqs: List<EqEntity>,
+    val eqs: List<RelationEq>,
     val context: Context,
-    val block: (eq: EqEntity) -> Unit
+    val block: (eq: RelationEq) -> Unit
 ) : BaseAdapter() {
     private val holders = mutableListOf<Holder>()
 
@@ -21,7 +20,7 @@ class RelationAdapter(
         return eqs.size
     }
 
-    override fun getItem(position: Int): EqEntity {
+    override fun getItem(position: Int): RelationEq {
         return eqs[position]
     }
 
@@ -43,7 +42,7 @@ class RelationAdapter(
         }
         holders.add(holder)
         val eq = eqs[position]
-        holder.relationCb.text = eq.name
+        holder.relationCb.text = eq.type
         holder.relationCb.setOnClickListener {
             holders.forEach { h ->
                 h.relationCb.isSelected = false

+ 7 - 0
demo/src/main/java/com/sybotan/android/demo/bean/request/ReqRelationEq.kt

@@ -0,0 +1,7 @@
+package com.sybotan.android.demo.bean.request
+
+data class ReqRelationEq(
+    val spaceId: String,
+    var group: Boolean = false,
+    var target: String = "rtn"
+)

+ 11 - 0
demo/src/main/java/com/sybotan/android/demo/entitiies/RelationEq.kt

@@ -0,0 +1,11 @@
+package com.sybotan.android.demo.entitiies
+
+
+data class RelationEq(
+    val deviceId: String,
+    var name: String? = null,
+    val position: String,
+    val remark: String,
+    val spaceId: String,
+    val type: String
+)

+ 3 - 1
demo/src/main/java/com/sybotan/android/demo/retrofit/API.java

@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import com.sybotan.android.demo.entitiies.EqEntity;
+import com.sybotan.android.demo.entitiies.RelationEq;
 import io.reactivex.Observable;
 import okhttp3.RequestBody;
 import retrofit2.http.Body;
@@ -191,5 +192,6 @@ public interface API {
     Observable<BaseModel<ArrayList<PipeListModel>>> pipeList(@Body RequestBody body);
 
     @POST("clmt/query/space_eq")
-    Observable<BaseModel<List<EqEntity>>> getEqs(@Body RequestBody body);
+    Observable<BaseModel<List<RelationEq>>> getRelationEqs(@Body RequestBody body);
+
 }

+ 7 - 33
demo/src/main/java/com/sybotan/android/demo/viewmodel/RelationVM.kt

@@ -1,7 +1,8 @@
 package com.sybotan.android.demo.viewmodel
 
 import com.sybotan.android.demo.activities.BaseActivity
-import com.sybotan.android.demo.entitiies.EqEntity
+import com.sybotan.android.demo.bean.request.ReqRelationEq
+import com.sybotan.android.demo.entitiies.RelationEq
 import com.sybotan.android.demo.retrofit.BaseObserver
 import com.sybotan.android.demo.retrofit.BaseViewModelInterface
 import com.sybotan.android.demo.retrofit.RetrofitFactory
@@ -28,41 +29,14 @@ class RelationVM(b: BaseViewModelInterface, a: BaseActivity) : BaseViewModel(b,
     }
 
     fun getEqs(spaceId: String) {
-        val observable = RetrofitFactory.getInstance().getEqs(getRequestBody(spaceId))
-        this.sendRequest(observable, object : BaseObserver<List<EqEntity>>(mActivity, this) {
-            override fun onSuccess(t: List<EqEntity>?) {
-                mEmitter.SendDircetive(EQ_SP_SERVE,t)
+        val req = ReqRelationEq(spaceId)
+        val observable = RetrofitFactory.getInstance().getRelationEqs(getRequestBody(req))
+        sendRequest(observable, object : BaseObserver<List<RelationEq>>(mActivity, this) {
+            override fun onSuccess(models: List<RelationEq>) {
+                mEmitter.SendDircetive(EQ_SP_SERVE, models)
             }
-
         }, true)
-    }
-
-    fun addEqSpService() {
-
-        val observable = RetrofitFactory.getInstance().requestBuildJob()
-    }
 
-    /**
-    val bean = ReqSpaceJob()
-    bean.buildingId = buildingId
-    bean.floorId = floorId
-    if ("space" == from) {
-    bean.jobStatus.add("01")
-    bean.jobStatus.add("02")
-    bean.jobStatus.add("03")
-    } else {
-    bean.jobStatus.add("04")
     }
 
-
-     */
-    /*
-       val observable = RetrofitFactory.getInstance().requestBuildJob()
-        this.sendRequest(observable, object : BaseObserver<List<Build>>(mActivity, this) {
-            override fun onSuccess(t: List<Build>?) {
-                mEmitter.SendDircetive(BUILD_TYPE, t)
-            }
-
-        }, true)
-     */
 }

+ 2 - 1
demo/src/main/res/layout/activity_relation.xml

@@ -69,9 +69,10 @@
                 android:id="@+id/majorLv"
                 android:layout_width="0dp"
                 android:layout_height="0dp"
+                android:layout_marginStart="16dp"
                 android:layout_marginTop="16dp"
                 android:layout_marginEnd="16dp"
-                app:layout_constraintStart_toStartOf="@id/majorTv"
+                app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toBottomOf="@id/majorTv"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintBottom_toTopOf="@id/minorTv"

+ 1 - 1
demo/src/main/res/layout/item_relation.xml

@@ -8,7 +8,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="当前设备"
-            android:textSize="20sp"
+            android:textSize="18sp"
             android:layout_marginTop="16dp"
             android:layout_marginStart="16dp"
             android:layout_marginBottom="16dp"