|
@@ -40,6 +40,10 @@ import android.webkit.WebView
|
|
|
import android.webkit.WebViewClient
|
|
|
import android.widget.TextView
|
|
|
import android.widget.Toast
|
|
|
+import android.widget.*
|
|
|
+import androidx.recyclerview.widget.GridLayoutManager
|
|
|
+import androidx.recyclerview.widget.LinearLayoutManager
|
|
|
+import androidx.recyclerview.widget.RecyclerView
|
|
|
import cn.sagacloud.android.cadengine.FloorScene
|
|
|
import cn.sagacloud.android.cadengine.Lasso
|
|
|
import cn.sagacloud.android.cadengine.Opt
|
|
@@ -61,11 +65,12 @@ import com.sybotan.android.demo.adapter.PipeAdapter
|
|
|
import com.sybotan.android.demo.bean.result.*
|
|
|
import com.sybotan.android.demo.retrofit.BaseViewModelInterface
|
|
|
import com.sybotan.android.demo.tools.DensityUtils
|
|
|
+import com.sybotan.android.demo.tools.WordWrapView
|
|
|
import com.sybotan.android.demo.tools.NetworkManager
|
|
|
import com.sybotan.android.demo.viewmodel.GraphyVM
|
|
|
+import com.sybotan.android.graphy.SGraphyView
|
|
|
import com.sybotan.android.graphy.events.SGraphyViewMoveEvent
|
|
|
import com.zbar.lib.CaptureActivity
|
|
|
-import kotlinx.android.synthetic.main.activity_graphy.*
|
|
|
import org.greenrobot.eventbus.EventBus
|
|
|
import org.greenrobot.eventbus.Subscribe
|
|
|
import org.jetbrains.anko.doAsync
|
|
@@ -137,6 +142,53 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
|
|
|
|
} // test()
|
|
|
|
|
|
+ private lateinit var graphyView: SGraphyView
|
|
|
+ private lateinit var quesDetail: RelativeLayout
|
|
|
+ private lateinit var spaceStructure: LinearLayout
|
|
|
+ private lateinit var spaceName: TextView
|
|
|
+ private lateinit var spaceName2: TextView
|
|
|
+ private lateinit var equipLl:LinearLayout
|
|
|
+ private lateinit var drawLl:LinearLayout
|
|
|
+ private lateinit var equipLocation:TextView
|
|
|
+ private lateinit var qrcodeLl:LinearLayout
|
|
|
+ private lateinit var addDot:TextView
|
|
|
+ private lateinit var nfc:TextView
|
|
|
+ private lateinit var qrcodeLocation:TextView
|
|
|
+ private lateinit var modelCheckBox: CheckBox
|
|
|
+ private lateinit var modelSubmit: TextView
|
|
|
+ private lateinit var sceneCheckBox: CheckBox
|
|
|
+ private lateinit var sceneSubmit: TextView
|
|
|
+ private lateinit var codeEdit: EditText
|
|
|
+ private lateinit var qrcode: TextView
|
|
|
+ private lateinit var qrcodeCancel: TextView
|
|
|
+ private lateinit var pipeCancel: TextView
|
|
|
+ private lateinit var pipeLl: LinearLayout
|
|
|
+ private lateinit var qrcodeNext: TextView
|
|
|
+ private lateinit var pipeNext: TextView
|
|
|
+ private lateinit var pipeEdit: EditText
|
|
|
+ private lateinit var drawEquip: EditText
|
|
|
+ private lateinit var drawPipe: TextView
|
|
|
+ private lateinit var piprRv: RecyclerView
|
|
|
+ private lateinit var equipCancel: TextView
|
|
|
+ private lateinit var equipNext: TextView
|
|
|
+ private lateinit var equipEdit: EditText
|
|
|
+ private lateinit var equipRg: RadioGroup
|
|
|
+ private lateinit var eqSpServe: TextView
|
|
|
+ private lateinit var eqEqCtrl: TextView
|
|
|
+ private lateinit var eqEqSs: TextView
|
|
|
+ private lateinit var eqEqPower: TextView
|
|
|
+ private lateinit var eqEqVv: TextView
|
|
|
+ private lateinit var eqPipeCnct: TextView
|
|
|
+ private lateinit var equipWwv: WordWrapView
|
|
|
+ private lateinit var pipeWwv: WordWrapView
|
|
|
+ private lateinit var roof : RadioButton
|
|
|
+ private lateinit var floor: RadioButton
|
|
|
+ private lateinit var wall: RadioButton
|
|
|
+ private lateinit var air: RadioButton
|
|
|
+ private lateinit var quesTv: TextView
|
|
|
+ private lateinit var quesSubmit: TextView
|
|
|
+ private lateinit var qrcodeEdit: EditText
|
|
|
+
|
|
|
/**
|
|
|
* 创建Activity时的回调函数
|
|
|
*
|
|
@@ -147,6 +199,8 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
|
setContentView(R.layout.activity_graphy)
|
|
|
// 注册eventbus
|
|
|
EventBus.getDefault().register(this)
|
|
|
+ initView()
|
|
|
+
|
|
|
/** 初始化数据 */
|
|
|
initData()
|
|
|
InstaCameraManager.getInstance().registerCameraChangedCallback(this)
|
|
@@ -255,15 +309,66 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
|
}
|
|
|
|
|
|
|
|
|
+ private fun initView() {
|
|
|
+ graphyView = findViewById(R.id.graphyView)
|
|
|
+ quesDetail = findViewById(R.id.quesDetail)
|
|
|
+ quesDetail = findViewById(R.id.quesDetail)
|
|
|
+ spaceStructure = findViewById(R.id.spaceStructure)
|
|
|
+ spaceName = findViewById(R.id.spaceName)
|
|
|
+ spaceName2 = findViewById(R.id.spaceName2)
|
|
|
+ equipLl = findViewById(R.id.equipLl)
|
|
|
+ drawLl = findViewById(R.id.drawLl)
|
|
|
+ equipLocation = findViewById(R.id.equipLocation)
|
|
|
+ qrcodeLl = findViewById(R.id.qrcodeLl)
|
|
|
+ addDot = findViewById(R.id.addDot)
|
|
|
+ nfc = findViewById(R.id.nfc)
|
|
|
+ qrcodeLocation = findViewById(R.id.qrcodeLocation)
|
|
|
+ modelCheckBox = findViewById(R.id.modelCheckBox)
|
|
|
+ modelSubmit = findViewById(R.id.modelSubmit)
|
|
|
+ sceneCheckBox = findViewById(R.id.sceneCheckBox)
|
|
|
+ sceneSubmit = findViewById(R.id.sceneSubmit)
|
|
|
+ codeEdit = findViewById(R.id.codeEdit)
|
|
|
+ qrcode = findViewById(R.id.qrcode)
|
|
|
+ qrcodeCancel = findViewById(R.id.qrcodeCancel)
|
|
|
+ pipeCancel = findViewById(R.id.pipeCancel)
|
|
|
+ pipeLl = findViewById(R.id.pipeLl)
|
|
|
+ qrcodeNext = findViewById(R.id.qrcodeNext)
|
|
|
+ pipeNext = findViewById(R.id.pipeNext)
|
|
|
+ pipeEdit = findViewById(R.id.pipeEdit)
|
|
|
+ drawEquip = findViewById(R.id.drawEquip)
|
|
|
+ drawPipe = findViewById(R.id.drawPipe)
|
|
|
+ piprRv = findViewById(R.id.piprRv)
|
|
|
+ equipCancel = findViewById(R.id.equipCancel)
|
|
|
+ equipNext = findViewById(R.id.equipNext)
|
|
|
+ equipEdit = findViewById(R.id.equipEdit)
|
|
|
+ equipRg = findViewById(R.id.equipRg)
|
|
|
+ eqSpServe = findViewById(R.id.eqSpServe)
|
|
|
+ eqEqCtrl = findViewById(R.id.eqEqCtrl)
|
|
|
+ eqEqSs = findViewById(R.id.eqEqSs)
|
|
|
+ eqEqPower = findViewById(R.id.eqEqPower)
|
|
|
+ eqEqVv = findViewById(R.id.eqEqVv)
|
|
|
+ eqPipeCnct = findViewById(R.id.eqPipeCnct)
|
|
|
+ equipWwv = findViewById(R.id.equipWwv)
|
|
|
+ pipeWwv = findViewById(R.id.pipeWwv)
|
|
|
+ roof = findViewById(R.id.roof)
|
|
|
+ floor= findViewById(R.id.floor)
|
|
|
+ wall= findViewById(R.id.wall)
|
|
|
+ air = findViewById(R.id.air)
|
|
|
+ quesTv = findViewById(R.id.quesTv)
|
|
|
+ quesSubmit = findViewById(R.id.quesSubmit)
|
|
|
+ qrcodeEdit = findViewById(R.id.qrcodeEdit)
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 初始化数据
|
|
|
*/
|
|
|
private fun initData() {
|
|
|
- val floor = intent.getBundleExtra("floor")
|
|
|
- buildingId = floor.getString("buildingId")
|
|
|
- floorId = floor.getString("floorId")
|
|
|
- floorMap = floor.getString("floorMap")
|
|
|
- from = floor.getString("from")
|
|
|
+ val floor = intent.getBundleExtra("floor")!!
|
|
|
+ buildingId = floor.getString("buildingId")!!
|
|
|
+ floorId = floor.getString("floorId")!!
|
|
|
+ floorMap = floor.getString("floorMap")!!
|
|
|
+ from = floor.getString("from")!!
|
|
|
}
|
|
|
|
|
|
|
|
@@ -389,10 +494,10 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
|
realDistance = distance * scene.defaultPointScale / graphyView.scale
|
|
|
for (point in scene.pointItemList) {
|
|
|
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()
|
|
|
if (sqrt < realDistance) {
|
|
|
showDotDetail(point)
|
|
@@ -402,13 +507,17 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
|
|
|
|
for (point in scene.equipList) {
|
|
|
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()
|
|
|
if (sqrt < realDistance) {
|
|
|
- Toast.makeText(this@GraphyActivity, "${point.data.type}\n${point.data.remark}\n${point.data.position}", Toast.LENGTH_LONG).show()
|
|
|
+ Toast.makeText(
|
|
|
+ this@GraphyActivity,
|
|
|
+ "${point.data.type}\n${point.data.remark}\n${point.data.position}",
|
|
|
+ Toast.LENGTH_LONG
|
|
|
+ ).show()
|
|
|
break
|
|
|
}
|
|
|
}
|
|
@@ -792,10 +901,12 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
|
setOnClickListener {
|
|
|
model.isCheck = !model.isCheck
|
|
|
if (model.isCheck) {
|
|
|
- textview.background = resources.getDrawable(R.drawable.shape_filter_normal)
|
|
|
+ textview.background =
|
|
|
+ resources.getDrawable(R.drawable.shape_filter_normal)
|
|
|
textview.textColor = resources.getColor(R.color.grey_900)
|
|
|
} else {
|
|
|
- textview.background = resources.getDrawable(R.drawable.shape_filter_selected)
|
|
|
+ textview.background =
|
|
|
+ resources.getDrawable(R.drawable.shape_filter_selected)
|
|
|
textview.textColor = resources.getColor(R.color.white)
|
|
|
}
|
|
|
refreshEquip(list)
|
|
@@ -846,19 +957,23 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
|
textview.textSize = 12f
|
|
|
textview.height = DensityUtils.dp2px(this, 30f)
|
|
|
if (model.isCheck) {
|
|
|
- textview.background = resources.getDrawable(R.drawable.shape_filter_normal)
|
|
|
+ textview.background =
|
|
|
+ resources.getDrawable(R.drawable.shape_filter_normal)
|
|
|
textview.textColor = resources.getColor(R.color.grey_900)
|
|
|
} else {
|
|
|
- textview.background = resources.getDrawable(R.drawable.shape_filter_selected)
|
|
|
+ textview.background =
|
|
|
+ resources.getDrawable(R.drawable.shape_filter_selected)
|
|
|
textview.textColor = resources.getColor(R.color.white)
|
|
|
}
|
|
|
textview.setOnClickListener {
|
|
|
model.isCheck = !model.isCheck
|
|
|
if (model.isCheck) {
|
|
|
- textview.background = resources.getDrawable(R.drawable.shape_filter_normal)
|
|
|
+ textview.background =
|
|
|
+ resources.getDrawable(R.drawable.shape_filter_normal)
|
|
|
textview.textColor = resources.getColor(R.color.grey_900)
|
|
|
} else {
|
|
|
- textview.background = resources.getDrawable(R.drawable.shape_filter_selected)
|
|
|
+ textview.background =
|
|
|
+ resources.getDrawable(R.drawable.shape_filter_selected)
|
|
|
textview.textColor = resources.getColor(R.color.white)
|
|
|
}
|
|
|
refreshPipe(spacePipeModel)
|
|
@@ -1047,11 +1162,11 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
|
spaceStructure.visibility = View.GONE
|
|
|
quesDetail.visibility = View.VISIBLE
|
|
|
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点击下方“问题已解决”按钮后可关闭该问题点。"
|
|
|
)
|
|
|
quesTv.setOnClickListener {
|
|
|
// Toast.makeText(this@GraphyActivity, InstaCameraManager.getInstance(). + "======", Toast.LENGTH_LONG).show()
|
|
@@ -1085,13 +1200,13 @@ class GraphyActivity : BaseActivity(), ICaptureStatusListener, ICameraChangedCal
|
|
|
if (data != null) {
|
|
|
//获取扫描结果
|
|
|
val bundle = data.extras
|
|
|
- val result = bundle.getString(CaptureActivity.EXTRA_STRING)
|
|
|
+ val result = bundle?.getString(CaptureActivity.EXTRA_STRING)
|
|
|
Log.e("tag", "扫描结果:$result")
|
|
|
graphyVM.bindQrcode(
|
|
|
- scene.choseSpace,
|
|
|
- result,
|
|
|
- scene.point,
|
|
|
- qrcodeEdit.text.toString()
|
|
|
+ scene.choseSpace,
|
|
|
+ result,
|
|
|
+ scene.point,
|
|
|
+ qrcodeEdit.text.toString()
|
|
|
)
|
|
|
}
|
|
|
}
|