From 10059bf4f62c0b7e0fe781449058e6291b326542 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E5=A2=9E=E9=A3=9E?= <331023091@qq.com> Date: Wed, 12 Nov 2025 20:14:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=94=E8=B0=83=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../intelligent/shelves/HomeActivity.kt | 35 +++++++++++----- .../intelligent/shelves/SettingActivity.kt | 3 ++ .../intelligent/shelves/ShelfActivity.kt | 4 +- .../shelves/adapter/ShelfAdapter.kt | 7 ++-- .../intelligent/shelves/model/ShelfModel.kt | 2 + .../intelligent/shelves/model/ShelfResult.kt | 1 + app/src/main/res/layout/activity_setting.xml | 42 ++++++++++++++++++- 7 files changed, 77 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/shuwei/intelligent/shelves/HomeActivity.kt b/app/src/main/java/com/shuwei/intelligent/shelves/HomeActivity.kt index 6d18164..38d563d 100644 --- a/app/src/main/java/com/shuwei/intelligent/shelves/HomeActivity.kt +++ b/app/src/main/java/com/shuwei/intelligent/shelves/HomeActivity.kt @@ -77,7 +77,7 @@ class HomeActivity : BaseActivity() { const val DEVICE_INFO_CMD = "${HEADER}0301000000000000000000000000${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 = "${HEADER}000281C5D70A7D428948AD7254FADBB1516738938B4B9CBD73673E9D8E7F2E15062D${FOOTER}" @@ -112,7 +112,7 @@ class HomeActivity : BaseActivity() { setBackground() setContentView(binding.root) - updateLeftStatus("1-1冷藏柜 -°C / -%") + updateLeftStatus("-°C / -%") initRecyclerView() @@ -226,6 +226,7 @@ class HomeActivity : BaseActivity() { loadEmptyView() return } + deviceName = data.data.deviceName App.canteenId = data.data.placeId val tempList = data.data.containerGoodsList if (tempList.isNullOrEmpty()) { @@ -301,8 +302,12 @@ class HomeActivity : BaseActivity() { //获取设备状态 getDeviceInfo(data) } - "1001","1002" -> { + "1001" -> { Log.d(TAG, "receiveSerialPortData,温控信息上报数据:${data}") + runOnUiThread { toast("温控信息上报数据:${data}") } + } + "1002" -> { + Log.d(TAG, "receiveSerialPortData,温控信息上报1002数据:${data}") } "0F02" -> { Log.d(TAG, "receiveSerialPortData,温控信息应答数据:${data}") @@ -358,14 +363,16 @@ class HomeActivity : BaseActivity() { val tempC = f2C(temperature.toDouble()) 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 { it.printStackTrace() } } + private var deviceName = "" + private fun getWeightInfo(start: Int, end: Int, data: String) { var index = 1 var count = start @@ -416,14 +423,19 @@ class HomeActivity : BaseActivity() { val weightStartIndex = HEADER.length + 14 val temperatureStartIndex = weightStartIndex + 12 * 8 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 tempC = f2C(temperature.toDouble()) 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( start = weightStartIndex, @@ -467,8 +479,8 @@ class HomeActivity : BaseActivity() { goodsId = model.goodsId goodsName = model.goodsName weight = model.weight - if (model.createTime.isNullOrBlank().not()) { - createTime = model.createTime + if (model.putCabinetDay.isNullOrBlank().not()) { + putCabinetDay = model.putCabinetDay } } notifyItemChanged(position) @@ -545,7 +557,8 @@ class HomeActivity : BaseActivity() { binding.include?.let { it.root.visible() 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.tvEmptyContent.setTextColor(Color.WHITE) diff --git a/app/src/main/java/com/shuwei/intelligent/shelves/SettingActivity.kt b/app/src/main/java/com/shuwei/intelligent/shelves/SettingActivity.kt index e478fa0..2dc2e6a 100644 --- a/app/src/main/java/com/shuwei/intelligent/shelves/SettingActivity.kt +++ b/app/src/main/java/com/shuwei/intelligent/shelves/SettingActivity.kt @@ -26,6 +26,9 @@ class SettingActivity: BaseActivity() { if (cmd.isBlank()) { 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}" lifecycleScope.launch { SerialPortManager.send(realCmd) diff --git a/app/src/main/java/com/shuwei/intelligent/shelves/ShelfActivity.kt b/app/src/main/java/com/shuwei/intelligent/shelves/ShelfActivity.kt index 18225a1..1cc0e4f 100644 --- a/app/src/main/java/com/shuwei/intelligent/shelves/ShelfActivity.kt +++ b/app/src/main/java/com/shuwei/intelligent/shelves/ShelfActivity.kt @@ -128,7 +128,7 @@ class ShelfActivity : BaseActivity() { weight = realWeight.toDouble(), overdueDay = list[clickIndex].overdueDay, // 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 { putExtra(SHELF_MODEL, data) @@ -364,7 +364,7 @@ class ShelfActivity : BaseActivity() { val weight = event.weight binding.tvFoodWeight.text = if(weight < 1000) "${weight}克" else "%.3f千克".format(weight/1000.0) startTime = System.currentTimeMillis() - window.decorView.postDelayed({ Loading.dismiss() }, 1000) + window.decorView.postDelayed({ Loading.dismiss() }, 2000) } } diff --git a/app/src/main/java/com/shuwei/intelligent/shelves/adapter/ShelfAdapter.kt b/app/src/main/java/com/shuwei/intelligent/shelves/adapter/ShelfAdapter.kt index 218150e..9a600e9 100644 --- a/app/src/main/java/com/shuwei/intelligent/shelves/adapter/ShelfAdapter.kt +++ b/app/src/main/java/com/shuwei/intelligent/shelves/adapter/ShelfAdapter.kt @@ -35,14 +35,15 @@ class ShelfAdapter(list: MutableList) : override fun onBindViewHolder(holder: VH, position: Int, item: ShelfModel?) { 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 binding = holder.binding if (item.overdueDay.isNullOrBlank()) { binding.ivStaleFood.gone() } else { runCatching { - val shelfDate = stringToDate(item.createTime) + val shelfDate = stringToDate(item.putCabinetDay) if (shelfDate == null) { binding.ivStaleFood.gone() } else { @@ -103,7 +104,7 @@ class ShelfAdapter(list: MutableList) : // } binding.tvStoreDate.run { setTextColor(getColor(R.color.black999)) - text = item.createTime + text = item.putCabinetDay } } diff --git a/app/src/main/java/com/shuwei/intelligent/shelves/model/ShelfModel.kt b/app/src/main/java/com/shuwei/intelligent/shelves/model/ShelfModel.kt index ec74d88..53124db 100644 --- a/app/src/main/java/com/shuwei/intelligent/shelves/model/ShelfModel.kt +++ b/app/src/main/java/com/shuwei/intelligent/shelves/model/ShelfModel.kt @@ -12,6 +12,8 @@ data class ShelfModel( var weight: Double? = null, var weightBak: Double? = null, var createTime: String? = null, + var putCabinetDay: String? = null, + var updateTime: String? = null, var overdueDay: String? = null, var temperature: String? = null, var humidity: String = "0", diff --git a/app/src/main/java/com/shuwei/intelligent/shelves/model/ShelfResult.kt b/app/src/main/java/com/shuwei/intelligent/shelves/model/ShelfResult.kt index 2d589d1..b533bd0 100644 --- a/app/src/main/java/com/shuwei/intelligent/shelves/model/ShelfResult.kt +++ b/app/src/main/java/com/shuwei/intelligent/shelves/model/ShelfResult.kt @@ -3,5 +3,6 @@ package com.shuwei.intelligent.shelves.model data class ShelfResult( val placeId: String = "", val canteenName: String = "", + val deviceName: String = "", val containerGoodsList: List? = null ) diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml index eddde70..2a5a2eb 100644 --- a/app/src/main/res/layout/activity_setting.xml +++ b/app/src/main/res/layout/activity_setting.xml @@ -49,11 +49,20 @@ + +