Sfoglia il codice sorgente

fix 修复业务验证过程中发现的问题和部分优化

lihao1 3 anni fa
parent
commit
12215529c8

+ 7 - 1
cadengine/src/main/java/cn/sagacloud/android/cadengine/FloorScene.kt

@@ -300,6 +300,7 @@ open class FloorScene : SGraphyScene() {
     open fun addWall(wall: Wall) {
         val item = WallItem(wall)
         item.isVisible = isShowWall
+        item.zOrder = 100000f
         wallList.add(item)
         addItem(item)
     } // Function addWall()
@@ -312,6 +313,7 @@ open class FloorScene : SGraphyScene() {
     open fun addVirtualWall(wall: VirtualWall) {
         val item = VirtualWallItem(wall)
         item.isVisible = isShowVirtualWall
+        item.zOrder = 100000f
         virtualWallList.add(item)
         addItem(item)
     } // Function addVirtualWall()
@@ -416,10 +418,14 @@ open class FloorScene : SGraphyScene() {
                         android.graphics.Point(e.x.toInt(), -e.y.toInt())
                 )
                 if (polygonContainsPoint) {
+                    space.outPaint.color = Color.rgb(0xbd, 0xe8, 0xfe)
+                    space.paint.color = Opt.spaceChoseColor
                     mapType = "space"
                     choseSpace = space
                     hasChose = true
-                    break
+                } else {
+                    space.paint.color = Opt.spaceColor
+                    space.outPaint.color = Color.rgb(0xff, 0xff, 0xff)
                 }
             }
             if (!hasChose) {

+ 2 - 2
cadengine/src/main/java/cn/sagacloud/android/cadengine/Opt.kt

@@ -10,11 +10,11 @@ import android.graphics.Color
 class Opt {
     companion object {
         /** 墙颜色 */
-        val wallColor = Color.rgb(0xff, 0xff, 0xff)
+        val wallColor = Color.rgb(0x55, 0x55, 0x55)
         /** 柱子颜色 */
         val columnColor = Color.rgb(0x5b, 0x5b, 0x5b)
         /** 虚拟墙颜色 */
-        val virtualWallColor = Color.rgb(0xC3,0xC7,0xCb)
+        val virtualWallColor = Color.rgb(0xff,0x00,0xff)
         /** 默认空间颜色 */
         val spaceColor = Color.rgb(0xf1, 0xf3, 0xf7)
         /** 空间-梯颜色 */

+ 1 - 1
cadengine/src/main/java/cn/sagacloud/android/cadengine/items/PointItem.kt

@@ -85,7 +85,7 @@ class PointItem(val data: Point, parent: SGraphyItem? = null, defaultScale: Floa
      */
     override fun onDraw(canvas: Canvas) {
         data.scalePoint = mDefaultScale / scene!!.view!!.scale
-        canvas.drawCircle(data.mX, data.mY, 2400f * data.scalePoint, mPaint_outer)
+        canvas.drawCircle(data.mX, data.mY, 2500f * data.scalePoint, mPaint_outer)
         canvas.drawCircle(data.mX, data.mY, 1200f * data.scalePoint, mPaint_center)
         canvas.drawCircle(data.mX, data.mY, 600f * data.scalePoint, mPaint_inner)
         super.onDraw(canvas)

+ 9 - 3
cadengine/src/main/java/cn/sagacloud/android/cadengine/items/TunableSpaceItem.kt

@@ -123,10 +123,16 @@ class TunableSpaceItem(val data: TunableSpace, parent: SGraphyItem? = null) : SG
      */
     override fun onDraw(canvas: Canvas) {
         if (null != spacePath) {
-            if (data.jobStatus.equals("01")) {
-                paint.color = Color.parseColor("#EEF496")
+            if (outPaint.color == Color.rgb(0xbd, 0xe8, 0xfe)) {
+                paint.color = Opt.spaceChoseColor
             } else {
-                paint.color = Color.parseColor("#33F76B65")
+                if (data.jobStatus.equals("01")) {
+                    paint.color = Color.parseColor("#33ffff00")
+                } else if (data.jobStatus.equals("02")){
+                    paint.color = Color.parseColor("#33ff0000")
+                } else if (data.jobStatus.equals("03")){
+                    paint.color = Color.parseColor("#3300ff00")
+                }
             }
             canvas.drawPath(spacePath!!, paint)
         }

+ 21 - 4
demo/src/main/java/com/sybotan/android/demo/activities/GraphyActivity.kt

@@ -24,6 +24,7 @@
 package com.sybotan.android.demo.activities
 
 import android.content.Intent
+import android.graphics.Color
 import android.os.Bundle
 import android.util.Log
 import android.view.Gravity
@@ -31,6 +32,7 @@ import android.view.View
 import android.widget.TextView
 import android.widget.Toast
 import cn.sagacloud.android.cadengine.FloorScene
+import cn.sagacloud.android.cadengine.Opt
 import cn.sagacloud.android.cadengine.items.*
 import cn.sagacloud.android.cadengine.types.Point
 import cn.sagacloud.android.cadengine.types.Space
@@ -83,7 +85,7 @@ class GraphyActivity : BaseActivity() {
     lateinit var from: String
 
     /** 实际距离 */
-    val distance = 1800f
+    val distance = 2500f
 
     /** 缩放后的同比例距离 */
     var realDistance = 0f
@@ -164,9 +166,13 @@ class GraphyActivity : BaseActivity() {
                 //选中空间完毕界面逻辑
                 if (scene.mapType.equals("space")) {
                     if ("space".equals(from)) {
-                        spaceStructure.visibility = View.VISIBLE
-                        spaceName.text = scene.choseSpace!!.data.localName
-                        graphyVM.getProblem(scene.choseSpace)
+                        quesDetail.visibility = View.GONE
+                        if (!scene.choseSpace!!.data.jobStatus.equals("03")) {
+                            spaceStructure.visibility = View.VISIBLE
+                            spaceName.text = scene.choseSpace!!.data.localName
+                            graphyVM.getProblem(scene.choseSpace)
+
+                        }
                         graphyVM.getQrcode(scene.choseSpace)
                     } else {
                         if (equipLl.visibility == View.GONE) {
@@ -362,6 +368,12 @@ class GraphyActivity : BaseActivity() {
                             tunableSpace.id = model.id
                             tunableSpace.localName = model.localName
                             val item = TunableSpaceItem(tunableSpace, null)
+                            scene.choseSpace?.let {
+                                if (tunableSpace.id.equals(scene.choseSpace!!.data.id)) {
+                                    item.paint.color = Opt.spaceChoseColor
+                                    item.outPaint.color = Color.rgb(0xbd, 0xe8, 0xfe)
+                                }
+                            }
                             item.isVisible = true
                             item.zOrder = 99996f
                             scene.tunableSpaceList.add(item)
@@ -416,6 +428,10 @@ class GraphyActivity : BaseActivity() {
 
                 /** 查询对象绑定的二维码 */
                 GraphyVM.GET_QECODE -> {
+                    for (item in scene.qrcodeItemList) {
+                        scene.removeItem(item)
+                    }
+                    scene.qrcodeItemList.clear()
                     val models = params as ArrayList<QrcodeModel>
                     for (model in models) {
                         val point = Point()
@@ -538,6 +554,7 @@ class GraphyActivity : BaseActivity() {
         scene.equipList.clear()
 
         spaceStructure.visibility = View.GONE
+        quesDetail.visibility = View.GONE
         drawLl.visibility = View.GONE
         equipLl.visibility = View.GONE
 

+ 2 - 0
demo/src/main/java/com/sybotan/android/demo/bean/result/BindQrcodeModel.java

@@ -1,5 +1,7 @@
 package com.sybotan.android.demo.bean.result;
 
+import com.sybotan.android.demo.bean.BaseModel;
+
 /**
  * Created by lihao.
  * Date: 2021/6/10

+ 3 - 2
demo/src/main/java/com/sybotan/android/demo/viewmodel/GraphyVM.kt

@@ -31,6 +31,7 @@ class GraphyVM(b: BaseViewModelInterface?, activity: BaseActivity?, //建筑id
         if ("space" == from) {
             bean.jobStatus.add("01")
             bean.jobStatus.add("02")
+            bean.jobStatus.add("03")
         } else {
             bean.jobStatus.add("04")
         }
@@ -121,8 +122,8 @@ class GraphyVM(b: BaseViewModelInterface?, activity: BaseActivity?, //建筑id
         position.z.region = "wall"
         bean.position = position
         val observable = RetrofitFactory.getInstance().bindQrcode(getRequestBody(bean))
-        sendRequest(observable, object : BaseObserver<BindQrcodeModel>(mActivity, this) {
-            override fun onSuccess(bindQrcodeModel: BindQrcodeModel) {
+        sendRequest(observable, object : BaseObserver<BindQrcodeModel?>(mActivity, this) {
+            override fun onSuccess(bindQrcodeModel: BindQrcodeModel?) {
                 mEmitter.SendDircetive(BIND_QECODE, null)
             }
         }, true)

+ 0 - 1
demo/src/main/res/layout/activity_graphy.xml

@@ -129,7 +129,6 @@
                 android:layout_marginTop="12dp"
                 android:layout_marginRight="65dp"
                 android:hint="输入数字化交付编码"
-                android:inputType="numberDecimal"
                 android:textColorHint="@color/grey_500"
                 android:textSize="16sp" />