联调优化
This commit is contained in:
@@ -77,7 +77,7 @@ class HomeActivity : BaseActivity() {
|
|||||||
|
|
||||||
const val DEVICE_INFO_CMD = "${HEADER}0301000000000000000000000000${FOOTER}"
|
const val DEVICE_INFO_CMD = "${HEADER}0301000000000000000000000000${FOOTER}"
|
||||||
//const val START_CMD= "${HEADER}0F01360000${FOOTER}"
|
//const val START_CMD= "${HEADER}0F01360000${FOOTER}"
|
||||||
const val START_CMD= "${HEADER}0F01050020${FOOTER}"
|
//const val START_CMD= "${HEADER}0F01050020${FOOTER}"
|
||||||
const val ACTIVE_CMD =
|
const val ACTIVE_CMD =
|
||||||
"${HEADER}000281C5D70A7D428948AD7254FADBB1516738938B4B9CBD73673E9D8E7F2E15062D${FOOTER}"
|
"${HEADER}000281C5D70A7D428948AD7254FADBB1516738938B4B9CBD73673E9D8E7F2E15062D${FOOTER}"
|
||||||
|
|
||||||
@@ -112,7 +112,7 @@ class HomeActivity : BaseActivity() {
|
|||||||
setBackground()
|
setBackground()
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
updateLeftStatus("1-1冷藏柜 -°C / -%")
|
updateLeftStatus("-°C / -%")
|
||||||
|
|
||||||
initRecyclerView()
|
initRecyclerView()
|
||||||
|
|
||||||
@@ -226,6 +226,7 @@ class HomeActivity : BaseActivity() {
|
|||||||
loadEmptyView()
|
loadEmptyView()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
deviceName = data.data.deviceName
|
||||||
App.canteenId = data.data.placeId
|
App.canteenId = data.data.placeId
|
||||||
val tempList = data.data.containerGoodsList
|
val tempList = data.data.containerGoodsList
|
||||||
if (tempList.isNullOrEmpty()) {
|
if (tempList.isNullOrEmpty()) {
|
||||||
@@ -301,8 +302,12 @@ class HomeActivity : BaseActivity() {
|
|||||||
//获取设备状态
|
//获取设备状态
|
||||||
getDeviceInfo(data)
|
getDeviceInfo(data)
|
||||||
}
|
}
|
||||||
"1001","1002" -> {
|
"1001" -> {
|
||||||
Log.d(TAG, "receiveSerialPortData,温控信息上报数据:${data}")
|
Log.d(TAG, "receiveSerialPortData,温控信息上报数据:${data}")
|
||||||
|
runOnUiThread { toast("温控信息上报数据:${data}") }
|
||||||
|
}
|
||||||
|
"1002" -> {
|
||||||
|
Log.d(TAG, "receiveSerialPortData,温控信息上报1002数据:${data}")
|
||||||
}
|
}
|
||||||
"0F02" -> {
|
"0F02" -> {
|
||||||
Log.d(TAG, "receiveSerialPortData,温控信息应答数据:${data}")
|
Log.d(TAG, "receiveSerialPortData,温控信息应答数据:${data}")
|
||||||
@@ -358,14 +363,16 @@ class HomeActivity : BaseActivity() {
|
|||||||
val tempC = f2C(temperature.toDouble())
|
val tempC = f2C(temperature.toDouble())
|
||||||
showTemperatureC = "%.1f".format(tempC)
|
showTemperatureC = "%.1f".format(tempC)
|
||||||
|
|
||||||
val percent = 10 * list.count { it.goodsName.isNullOrBlank().not() }
|
//val percent = 10 * list.count { it.goodsName.isNullOrBlank().not() }
|
||||||
|
|
||||||
updateLeftStatus("1-1冷藏柜 [$temperatureHex] ${showTemperatureC}°C / ${percent}%")
|
updateLeftStatus("${deviceName} [$temperatureHex] ${showTemperatureC}°C / -%")
|
||||||
}.onFailure {
|
}.onFailure {
|
||||||
it.printStackTrace()
|
it.printStackTrace()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private var deviceName = ""
|
||||||
|
|
||||||
private fun getWeightInfo(start: Int, end: Int, data: String) {
|
private fun getWeightInfo(start: Int, end: Int, data: String) {
|
||||||
var index = 1
|
var index = 1
|
||||||
var count = start
|
var count = start
|
||||||
@@ -416,14 +423,19 @@ class HomeActivity : BaseActivity() {
|
|||||||
val weightStartIndex = HEADER.length + 14
|
val weightStartIndex = HEADER.length + 14
|
||||||
val temperatureStartIndex = weightStartIndex + 12 * 8
|
val temperatureStartIndex = weightStartIndex + 12 * 8
|
||||||
val temperatureEndIndex = temperatureStartIndex + 2
|
val temperatureEndIndex = temperatureStartIndex + 2
|
||||||
val temperatureHex = data.substring(temperatureStartIndex, temperatureEndIndex)
|
val temperatureHex = try {
|
||||||
|
data.substring(temperatureStartIndex, temperatureEndIndex)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
e.printStackTrace()
|
||||||
|
return
|
||||||
|
}
|
||||||
val temperature = hexToDec(temperatureHex)
|
val temperature = hexToDec(temperatureHex)
|
||||||
val tempC = f2C(temperature.toDouble())
|
val tempC = f2C(temperature.toDouble())
|
||||||
showTemperatureC = "%.1f".format(tempC)
|
showTemperatureC = "%.1f".format(tempC)
|
||||||
|
|
||||||
val percent = 10 * list.count { it.goodsName.isNullOrBlank().not() }
|
//val percent = 10 * list.count { it.goodsName.isNullOrBlank().not() }
|
||||||
|
|
||||||
updateLeftStatus("1-1冷藏柜 ${showTemperatureC}°C / ${percent}%")
|
updateLeftStatus("${deviceName} ${showTemperatureC}°C / -%")
|
||||||
|
|
||||||
getWeightInfo(
|
getWeightInfo(
|
||||||
start = weightStartIndex,
|
start = weightStartIndex,
|
||||||
@@ -467,8 +479,8 @@ class HomeActivity : BaseActivity() {
|
|||||||
goodsId = model.goodsId
|
goodsId = model.goodsId
|
||||||
goodsName = model.goodsName
|
goodsName = model.goodsName
|
||||||
weight = model.weight
|
weight = model.weight
|
||||||
if (model.createTime.isNullOrBlank().not()) {
|
if (model.putCabinetDay.isNullOrBlank().not()) {
|
||||||
createTime = model.createTime
|
putCabinetDay = model.putCabinetDay
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
notifyItemChanged(position)
|
notifyItemChanged(position)
|
||||||
@@ -545,7 +557,8 @@ class HomeActivity : BaseActivity() {
|
|||||||
binding.include?.let {
|
binding.include?.let {
|
||||||
it.root.visible()
|
it.root.visible()
|
||||||
it.root.setOnClickListener {
|
it.root.setOnClickListener {
|
||||||
viewModel.getAccessToken(App.deviceId)
|
//viewModel.getAccessToken(App.deviceId)
|
||||||
|
viewModel.getShelfList(deviceId = App.deviceId)
|
||||||
}
|
}
|
||||||
it.ivEmptyIcon.setImageResource(R.drawable.ic_empty_white)
|
it.ivEmptyIcon.setImageResource(R.drawable.ic_empty_white)
|
||||||
it.tvEmptyContent.setTextColor(Color.WHITE)
|
it.tvEmptyContent.setTextColor(Color.WHITE)
|
||||||
|
|||||||
@@ -26,6 +26,9 @@ class SettingActivity: BaseActivity() {
|
|||||||
if (cmd.isBlank()) {
|
if (cmd.isBlank()) {
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
|
var record = binding.tvCmdRecord.text.toString().trim()
|
||||||
|
record = cmd+"\n"+record
|
||||||
|
binding.tvCmdRecord.text = record
|
||||||
val realCmd = "${HomeActivity.HEADER}0F01${cmd}${HomeActivity.FOOTER}"
|
val realCmd = "${HomeActivity.HEADER}0F01${cmd}${HomeActivity.FOOTER}"
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
SerialPortManager.send(realCmd)
|
SerialPortManager.send(realCmd)
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ class ShelfActivity : BaseActivity() {
|
|||||||
weight = realWeight.toDouble(),
|
weight = realWeight.toDouble(),
|
||||||
overdueDay = list[clickIndex].overdueDay,
|
overdueDay = list[clickIndex].overdueDay,
|
||||||
// createTime = if (shelfModel?.goodsId == currentGoodsId) null else DateTimeUtil.formatDateTime(dateTime = Date())
|
// createTime = if (shelfModel?.goodsId == currentGoodsId) null else DateTimeUtil.formatDateTime(dateTime = Date())
|
||||||
createTime = DateTimeUtil.formatDateTime(dateTime = Date())
|
putCabinetDay = DateTimeUtil.formatDateTime(dateTime = Date())
|
||||||
)
|
)
|
||||||
val intent = Intent().apply {
|
val intent = Intent().apply {
|
||||||
putExtra(SHELF_MODEL, data)
|
putExtra(SHELF_MODEL, data)
|
||||||
@@ -364,7 +364,7 @@ class ShelfActivity : BaseActivity() {
|
|||||||
val weight = event.weight
|
val weight = event.weight
|
||||||
binding.tvFoodWeight.text = if(weight < 1000) "${weight}克" else "%.3f千克".format(weight/1000.0)
|
binding.tvFoodWeight.text = if(weight < 1000) "${weight}克" else "%.3f千克".format(weight/1000.0)
|
||||||
startTime = System.currentTimeMillis()
|
startTime = System.currentTimeMillis()
|
||||||
window.decorView.postDelayed({ Loading.dismiss() }, 1000)
|
window.decorView.postDelayed({ Loading.dismiss() }, 2000)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,14 +35,15 @@ class ShelfAdapter(list: MutableList<ShelfModel>) :
|
|||||||
|
|
||||||
override fun onBindViewHolder(holder: VH, position: Int, item: ShelfModel?) {
|
override fun onBindViewHolder(holder: VH, position: Int, item: ShelfModel?) {
|
||||||
val shelfNo = item!!.deviceNo
|
val shelfNo = item!!.deviceNo
|
||||||
item.shelfName = "货架-${if (shelfNo < 10) "0${shelfNo}" else "$shelfNo"}"
|
//货架-
|
||||||
|
item.shelfName = "${if (shelfNo < 10) "0${shelfNo}" else "$shelfNo"}"
|
||||||
val weight = item.weight ?: 0.0
|
val weight = item.weight ?: 0.0
|
||||||
val binding = holder.binding
|
val binding = holder.binding
|
||||||
if (item.overdueDay.isNullOrBlank()) {
|
if (item.overdueDay.isNullOrBlank()) {
|
||||||
binding.ivStaleFood.gone()
|
binding.ivStaleFood.gone()
|
||||||
} else {
|
} else {
|
||||||
runCatching {
|
runCatching {
|
||||||
val shelfDate = stringToDate(item.createTime)
|
val shelfDate = stringToDate(item.putCabinetDay)
|
||||||
if (shelfDate == null) {
|
if (shelfDate == null) {
|
||||||
binding.ivStaleFood.gone()
|
binding.ivStaleFood.gone()
|
||||||
} else {
|
} else {
|
||||||
@@ -103,7 +104,7 @@ class ShelfAdapter(list: MutableList<ShelfModel>) :
|
|||||||
// }
|
// }
|
||||||
binding.tvStoreDate.run {
|
binding.tvStoreDate.run {
|
||||||
setTextColor(getColor(R.color.black999))
|
setTextColor(getColor(R.color.black999))
|
||||||
text = item.createTime
|
text = item.putCabinetDay
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ data class ShelfModel(
|
|||||||
var weight: Double? = null,
|
var weight: Double? = null,
|
||||||
var weightBak: Double? = null,
|
var weightBak: Double? = null,
|
||||||
var createTime: String? = null,
|
var createTime: String? = null,
|
||||||
|
var putCabinetDay: String? = null,
|
||||||
|
var updateTime: String? = null,
|
||||||
var overdueDay: String? = null,
|
var overdueDay: String? = null,
|
||||||
var temperature: String? = null,
|
var temperature: String? = null,
|
||||||
var humidity: String = "0",
|
var humidity: String = "0",
|
||||||
|
|||||||
@@ -3,5 +3,6 @@ package com.shuwei.intelligent.shelves.model
|
|||||||
data class ShelfResult(
|
data class ShelfResult(
|
||||||
val placeId: String = "",
|
val placeId: String = "",
|
||||||
val canteenName: String = "",
|
val canteenName: String = "",
|
||||||
|
val deviceName: String = "",
|
||||||
val containerGoodsList: List<ShelfModel>? = null
|
val containerGoodsList: List<ShelfModel>? = null
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -49,11 +49,20 @@
|
|||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/etInputCmd"
|
android:id="@+id/etInputCmdPrefix"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="60dp"
|
android:layout_height="60dp"
|
||||||
android:hint="请输入命令"
|
android:hint="请输入命令"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
|
android:text=""
|
||||||
|
android:textSize="22sp" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/etInputCmd"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:hint="请输入命令内容"
|
||||||
|
android:maxLines="1"
|
||||||
android:textSize="22sp" />
|
android:textSize="22sp" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
@@ -66,6 +75,37 @@
|
|||||||
android:text="发送命令" />
|
android:text="发送命令" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
<com.google.android.material.card.MaterialCardView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_marginStart="12dp"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:layout_marginEnd="12dp"
|
||||||
|
android:layout_marginBottom="12dp"
|
||||||
|
app:cardBackgroundColor="@color/white"
|
||||||
|
app:cardCornerRadius="6dp"
|
||||||
|
app:cardElevation="0dp">
|
||||||
|
|
||||||
|
<ScrollView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:padding="10dp">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tvCmdRecord"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:text=""/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</ScrollView>
|
||||||
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
Reference in New Issue
Block a user