|
@@ -46,10 +46,9 @@ import cn.sagacloud.android.cadengine.types.Point
|
|
import cn.sagacloud.android.cadengine.types.Space
|
|
import cn.sagacloud.android.cadengine.types.Space
|
|
import cn.sagacloud.android.cadengine.types.TunableSpace
|
|
import cn.sagacloud.android.cadengine.types.TunableSpace
|
|
import com.google.gson.Gson
|
|
import com.google.gson.Gson
|
|
-import com.sybotan.android.demo.bean.result.Position
|
|
|
|
-import com.sybotan.android.demo.bean.result.ProblemsModel
|
|
|
|
-import com.sybotan.android.demo.bean.result.QrcodeModel
|
|
|
|
-import com.sybotan.android.demo.bean.result.SpaceJobModel
|
|
|
|
|
|
+import com.sybotan.android.demo.activities.poc.DeviceActivity
|
|
|
|
+import com.sybotan.android.demo.bean.result.*
|
|
|
|
+import com.sybotan.android.demo.retrofit.BaseViewModelInterface
|
|
import com.sybotan.android.demo.viewmodel.GraphyVM
|
|
import com.sybotan.android.demo.viewmodel.GraphyVM
|
|
import com.zbar.lib.CaptureActivity
|
|
import com.zbar.lib.CaptureActivity
|
|
|
|
|
|
@@ -58,6 +57,7 @@ class GraphyActivity : BaseActivity() {
|
|
companion object {
|
|
companion object {
|
|
private val TAG = GraphyActivity::class.java.name
|
|
private val TAG = GraphyActivity::class.java.name
|
|
private val REQUEST_CODE_SCAN = 0x0000 // 扫描二维码
|
|
private val REQUEST_CODE_SCAN = 0x0000 // 扫描二维码
|
|
|
|
+ private val REQUEST_CODE_EQUIP = 0x0001 // 添加设备
|
|
}
|
|
}
|
|
|
|
|
|
lateinit var graphyVM: GraphyVM
|
|
lateinit var graphyVM: GraphyVM
|
|
@@ -153,6 +153,7 @@ class GraphyActivity : BaseActivity() {
|
|
floorId = floor.getString("floorId")
|
|
floorId = floor.getString("floorId")
|
|
floorMap = floor.getString("floorMap")
|
|
floorMap = floor.getString("floorMap")
|
|
from = floor.getString("from")
|
|
from = floor.getString("from")
|
|
|
|
+ from = "12345"
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -163,15 +164,25 @@ class GraphyActivity : BaseActivity() {
|
|
override fun onSingUp(x: Float, y: Float) {
|
|
override fun onSingUp(x: Float, y: Float) {
|
|
//选中空间完毕界面逻辑
|
|
//选中空间完毕界面逻辑
|
|
if (scene.mapType.equals("space")) {
|
|
if (scene.mapType.equals("space")) {
|
|
- spaceStructure.visibility = View.VISIBLE
|
|
|
|
- spaceName.text = scene.choseSpace!!.data.localName
|
|
|
|
- graphyVM.getProblem(scene.choseSpace)
|
|
|
|
- graphyVM.getQrcode(scene.choseSpace)
|
|
|
|
|
|
+ if ("space".equals(from)) {
|
|
|
|
+ spaceStructure.visibility = View.VISIBLE
|
|
|
|
+ spaceName.text = scene.choseSpace!!.data.localName
|
|
|
|
+ graphyVM.getProblem(scene.choseSpace)
|
|
|
|
+ graphyVM.getQrcode(scene.choseSpace)
|
|
|
|
+ } else {
|
|
|
|
+ if (equipLl.visibility == View.GONE) {
|
|
|
|
+ drawLl.visibility = View.VISIBLE
|
|
|
|
+ graphyVM.getSpaceEq(scene.choseSpace)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
//未选中空间
|
|
//未选中空间
|
|
} else if (scene.mapType.equals("nothing")) {
|
|
} else if (scene.mapType.equals("nothing")) {
|
|
spaceStructure.visibility = View.GONE
|
|
spaceStructure.visibility = View.GONE
|
|
qrcodeLl.visibility = View.GONE
|
|
qrcodeLl.visibility = View.GONE
|
|
quesDetail.visibility = View.GONE
|
|
quesDetail.visibility = View.GONE
|
|
|
|
+ equipLl.visibility = View.GONE
|
|
|
|
+ drawLl.visibility = View.GONE
|
|
for (item in scene.pointItemList) {
|
|
for (item in scene.pointItemList) {
|
|
scene.removeItem(item)
|
|
scene.removeItem(item)
|
|
}
|
|
}
|
|
@@ -186,7 +197,7 @@ class GraphyActivity : BaseActivity() {
|
|
if ("dot".equals(scene.type)) {
|
|
if ("dot".equals(scene.type)) {
|
|
scene.type = "normal"
|
|
scene.type = "normal"
|
|
addDot.alpha = 1f
|
|
addDot.alpha = 1f
|
|
- graphyVM.addProblem(scene.choseSpace, x, y)
|
|
|
|
|
|
+ scene.choseSpace?.let { graphyVM.addProblem(it, x, y) }
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
@@ -195,10 +206,10 @@ class GraphyActivity : BaseActivity() {
|
|
realDistance = distance * scene.defaultPointScale / graphyView.scale
|
|
realDistance = distance * scene.defaultPointScale / graphyView.scale
|
|
for (point in scene.pointItemList) {
|
|
for (point in scene.pointItemList) {
|
|
val sqrt = Math.sqrt(
|
|
val sqrt = Math.sqrt(
|
|
- Math.pow(
|
|
|
|
- Math.abs(x - point.data.mX).toDouble(),
|
|
|
|
- 2.0
|
|
|
|
- ) + Math.pow(Math.abs(y - point.data.mY).toDouble(), 2.0)
|
|
|
|
|
|
+ Math.pow(
|
|
|
|
+ Math.abs(x - point.data.mX).toDouble(),
|
|
|
|
+ 2.0
|
|
|
|
+ ) + Math.pow(Math.abs(y - point.data.mY).toDouble(), 2.0)
|
|
).toInt()
|
|
).toInt()
|
|
if (sqrt < realDistance) {
|
|
if (sqrt < realDistance) {
|
|
showDotDetail(point)
|
|
showDotDetail(point)
|
|
@@ -213,7 +224,7 @@ class GraphyActivity : BaseActivity() {
|
|
qrcodeLl.visibility = View.VISIBLE
|
|
qrcodeLl.visibility = View.VISIBLE
|
|
qrcodeLocation.setText("(${scene.point.mX},${scene.point.mY})")
|
|
qrcodeLocation.setText("(${scene.point.mX},${scene.point.mY})")
|
|
spaceStructure.visibility = View.GONE
|
|
spaceStructure.visibility = View.GONE
|
|
-
|
|
|
|
|
|
+ return
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -268,15 +279,56 @@ class GraphyActivity : BaseActivity() {
|
|
val intent = Intent(this@GraphyActivity, CaptureActivity::class.java)
|
|
val intent = Intent(this@GraphyActivity, CaptureActivity::class.java)
|
|
startActivityForResult(intent, REQUEST_CODE_SCAN)
|
|
startActivityForResult(intent, REQUEST_CODE_SCAN)
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //添加设备
|
|
|
|
+ drawEquip.setOnClickListener {
|
|
|
|
+ scene.type = "equip"
|
|
|
|
+ drawLl.visibility = View.GONE
|
|
|
|
+ equipLl.visibility = View.VISIBLE
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ equipCancel.setOnClickListener {
|
|
|
|
+ drawLl.visibility = View.VISIBLE
|
|
|
|
+ equipLl.visibility = View.GONE
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ equipNext.setOnClickListener {
|
|
|
|
+ val intent = Intent(this, DeviceActivity::class.java)
|
|
|
|
+ val bundle = Bundle()
|
|
|
|
+ val positon = Position()
|
|
|
|
+ positon.x = scene.point.mX.toString()
|
|
|
|
+ positon.y = scene.point.mY.toString()
|
|
|
|
+ val z = Z()
|
|
|
|
+ z.offset = equipEdit.text.toString()
|
|
|
|
+ when (equipRg.checkedRadioButtonId) {
|
|
|
|
+ R.id.roof -> {
|
|
|
|
+ z.region = "roof"
|
|
|
|
+ }
|
|
|
|
+ R.id.floor -> {
|
|
|
|
+ z.region = "floor"
|
|
|
|
+ }
|
|
|
|
+ R.id.wall -> {
|
|
|
|
+ z.region = "wall"
|
|
|
|
+ }
|
|
|
|
+ R.id.air -> {
|
|
|
|
+ z.region = "air"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ positon.z = z
|
|
|
|
+ bundle.putString("spaceId", scene.choseSpace!!.data.id)
|
|
|
|
+ bundle.putSerializable("position", positon)
|
|
|
|
+ intent.putExtra("equip", bundle)
|
|
|
|
+ startActivityForResult(intent, REQUEST_CODE_EQUIP)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 初始化viewModel
|
|
* 初始化viewModel
|
|
*/
|
|
*/
|
|
private fun initViewModel() {
|
|
private fun initViewModel() {
|
|
- graphyVM = GraphyVM({ name, params ->
|
|
|
|
|
|
+ graphyVM = GraphyVM(BaseViewModelInterface { name, params ->
|
|
when (name) {
|
|
when (name) {
|
|
-
|
|
|
|
/** 查询空间和任务 */
|
|
/** 查询空间和任务 */
|
|
GraphyVM.SPACE_JOB -> {
|
|
GraphyVM.SPACE_JOB -> {
|
|
for (item in scene.tunableSpaceList) {
|
|
for (item in scene.tunableSpaceList) {
|
|
@@ -310,11 +362,12 @@ class GraphyActivity : BaseActivity() {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
/** 添加空间核查问题 */
|
|
/** 添加空间核查问题 */
|
|
GraphyVM.ADD_PROBLEM -> {
|
|
GraphyVM.ADD_PROBLEM -> {
|
|
Toast.makeText(this, "记录成功", Toast.LENGTH_SHORT).show()
|
|
Toast.makeText(this, "记录成功", Toast.LENGTH_SHORT).show()
|
|
graphyVM.getProblem(scene.choseSpace)
|
|
graphyVM.getProblem(scene.choseSpace)
|
|
- graphyVM.getSpaceJob()
|
|
|
|
|
|
+ graphyVM.getSpaceJob(from)
|
|
}
|
|
}
|
|
|
|
|
|
/** 查询空间核查问题 */
|
|
/** 查询空间核查问题 */
|
|
@@ -375,16 +428,21 @@ class GraphyActivity : BaseActivity() {
|
|
GraphyVM.SET_JOB -> {
|
|
GraphyVM.SET_JOB -> {
|
|
Toast.makeText(this, "核查成功", Toast.LENGTH_SHORT).show()
|
|
Toast.makeText(this, "核查成功", Toast.LENGTH_SHORT).show()
|
|
refreshAll()
|
|
refreshAll()
|
|
- graphyVM.getSpaceJob()
|
|
|
|
|
|
+ graphyVM.getSpaceJob(from)
|
|
}
|
|
}
|
|
|
|
|
|
/** 设置空间核查问题的信息和状态 */
|
|
/** 设置空间核查问题的信息和状态 */
|
|
GraphyVM.SET_PROBLEM -> {
|
|
GraphyVM.SET_PROBLEM -> {
|
|
- graphyVM.getSpaceJob()
|
|
|
|
|
|
+ graphyVM.getSpaceJob(from)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /** 查询空间下的设备(所在关系) */
|
|
|
|
+ GraphyVM.SPACE_EQ -> {
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}, this, buildingId, floorId)
|
|
}, this, buildingId, floorId)
|
|
- graphyVM.getSpaceJob()
|
|
|
|
|
|
+ graphyVM.getSpaceJob(from)
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -419,11 +477,11 @@ class GraphyActivity : BaseActivity() {
|
|
spaceStructure.visibility = View.GONE
|
|
spaceStructure.visibility = View.GONE
|
|
quesDetail.visibility = View.VISIBLE
|
|
quesDetail.visibility = View.VISIBLE
|
|
quesTv.setText(
|
|
quesTv.setText(
|
|
- "这是描述问题的文本,左侧是拍照图片。" +
|
|
|
|
- "\n问题编码:${point.data.id}" +
|
|
|
|
- "\nx轴:${point.data.mX}" +
|
|
|
|
- "\ny轴:${point.data.mY}" +
|
|
|
|
- "\n点击下方“问题已解决”按钮后可关闭该问题点。"
|
|
|
|
|
|
+ "这是描述问题的文本,左侧是拍照图片。" +
|
|
|
|
+ "\n问题编码:${point.data.id}" +
|
|
|
|
+ "\nx轴:${point.data.mX}" +
|
|
|
|
+ "\ny轴:${point.data.mY}" +
|
|
|
|
+ "\n点击下方“问题已解决”按钮后可关闭该问题点。"
|
|
)
|
|
)
|
|
//问题已解决按钮
|
|
//问题已解决按钮
|
|
quesSubmit.setOnClickListener {
|
|
quesSubmit.setOnClickListener {
|
|
@@ -437,7 +495,7 @@ class GraphyActivity : BaseActivity() {
|
|
scene.removeItem(item)
|
|
scene.removeItem(item)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- graphyVM.getSpaceJob()
|
|
|
|
|
|
+ graphyVM.getSpaceJob(from)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -455,10 +513,10 @@ class GraphyActivity : BaseActivity() {
|
|
val result = bundle.getString(CaptureActivity.EXTRA_STRING)
|
|
val result = bundle.getString(CaptureActivity.EXTRA_STRING)
|
|
Log.e("tag", "扫描结果:$result")
|
|
Log.e("tag", "扫描结果:$result")
|
|
graphyVM.bindQrcode(
|
|
graphyVM.bindQrcode(
|
|
- scene.choseSpace,
|
|
|
|
- result,
|
|
|
|
- scene.point,
|
|
|
|
- qrcodeEdit.text.toString()
|
|
|
|
|
|
+ scene.choseSpace,
|
|
|
|
+ result,
|
|
|
|
+ scene.point,
|
|
|
|
+ qrcodeEdit.text.toString()
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}
|
|
}
|