餐盘柜优化-不绑定用户可多次取盘
This commit is contained in:
@@ -113,24 +113,14 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
|
|||||||
if (scanInfo.length > 6) {
|
if (scanInfo.length > 6) {
|
||||||
plateNumber = scanInfo.take(6)
|
plateNumber = scanInfo.take(6)
|
||||||
}
|
}
|
||||||
// ToastUtils.showToast(plateNumber)
|
//柜子未关联该餐盘,直接找空位置放入盘子
|
||||||
var item = MyApp.plateList?.firstOrNull { it.plateNumber == plateNumber }
|
val item = MyApp.plateList?.firstOrNull { it.plateNumber.isNullOrBlank() }
|
||||||
if (item == null) {
|
if (item == null) {
|
||||||
//柜子未关联该餐盘,直接找空位置放入盘子
|
//柜子已满
|
||||||
item = MyApp.plateList?.firstOrNull { it.plateNumber.isNullOrBlank() }
|
MainActivity.start(context = context, pageType = PageType.PLATE_CABINET_FULL)
|
||||||
if (item ==null) {
|
|
||||||
//柜子已满
|
|
||||||
MainActivity.start(context = context, pageType = PageType.PLATE_CABINET_FULL)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
//找到位置,放入餐盘,清除已有id和时间
|
|
||||||
item.plateNumber = plateNumber
|
|
||||||
item.faceId = null
|
|
||||||
item.updateTime = null
|
|
||||||
PlateUtils.open(this, item.equipmentBoxCode, true)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//放入餐盘,清除已有id和时间
|
//找到位置,放入餐盘,清除已有id和时间
|
||||||
item.plateNumber = plateNumber
|
item.plateNumber = plateNumber
|
||||||
item.faceId = null
|
item.faceId = null
|
||||||
item.updateTime = null
|
item.updateTime = null
|
||||||
@@ -270,7 +260,9 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
|
|||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
hideWaitingDialog()
|
hideWaitingDialog()
|
||||||
val view = View.inflate(this, R.layout.dialog_waiting, null)
|
val view = View.inflate(this, R.layout.dialog_waiting, null)
|
||||||
if (!TextUtils.isEmpty(tip)) (view.findViewById<View?>(R.id.tvTip) as TextView).setText(tip)
|
if (!TextUtils.isEmpty(tip)) (view.findViewById<View?>(R.id.tvTip) as TextView).setText(
|
||||||
|
tip
|
||||||
|
)
|
||||||
mDialogWaiting = CustomLoadingDialog(this, view, R.style.MyDialog)
|
mDialogWaiting = CustomLoadingDialog(this, view, R.style.MyDialog)
|
||||||
mDialogWaiting!!.show()
|
mDialogWaiting!!.show()
|
||||||
mDialogWaiting!!.setCancelable(true)
|
mDialogWaiting!!.setCancelable(true)
|
||||||
|
|||||||
@@ -210,14 +210,14 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
|||||||
Timber.i("recognizeUserId observe userId = ${result?.faceEntity?.userName}")
|
Timber.i("recognizeUserId observe userId = ${result?.faceEntity?.userName}")
|
||||||
currentUserId = result?.faceEntity?.userName
|
currentUserId = result?.faceEntity?.userName
|
||||||
// viewModel.getUserInfoById(memberId = userId)
|
// viewModel.getUserInfoById(memberId = userId)
|
||||||
//ToastUtils.showToast(userId)
|
// ToastUtils.showToast(currentUserId)
|
||||||
// if (!currentUserId.isNullOrBlank()) {
|
// if (!currentUserId.isNullOrBlank()) {
|
||||||
//// ToastUtils.showToast("您已采集过人脸信息")
|
//// ToastUtils.showToast("您已采集过人脸信息")
|
||||||
// return@Observer
|
// return@Observer
|
||||||
// }
|
// }
|
||||||
if (currentPlateInfo?.faceId == currentUserId) {
|
// if (currentPlateInfo?.faceId == currentUserId) {
|
||||||
return@Observer
|
// return@Observer
|
||||||
}
|
// }
|
||||||
openPlate(currentUserId)
|
openPlate(currentUserId)
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -249,17 +249,8 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
|||||||
Log.d(TAG, "openPlate: userId=$userId")
|
Log.d(TAG, "openPlate: userId=$userId")
|
||||||
getPlateData { items ->
|
getPlateData { items ->
|
||||||
Log.d(TAG, "openPlate: items:${Gson().toJson(items)}")
|
Log.d(TAG, "openPlate: items:${Gson().toJson(items)}")
|
||||||
var item = items.firstOrNull { it.faceId == userId }
|
|
||||||
Log.d(TAG, "openPlate: item1:${item}")
|
|
||||||
if (item != null) {
|
|
||||||
//餐盘已取
|
|
||||||
ToastUtils.showToast("您已拿过餐盘!")
|
|
||||||
return@getPlateData
|
|
||||||
}
|
|
||||||
// 未查询到当前用户,查询第一个未绑定的餐盘
|
// 未查询到当前用户,查询第一个未绑定的餐盘
|
||||||
item = items.firstOrNull {
|
val item = items.firstOrNull { it.plateNumber.isNullOrEmpty().not() }
|
||||||
it.plateNumber.isNullOrEmpty().not() && it.faceId.isNullOrBlank()
|
|
||||||
}
|
|
||||||
Log.d(TAG, "openPlate: item2:${item}")
|
Log.d(TAG, "openPlate: item2:${item}")
|
||||||
if (item == null) {
|
if (item == null) {
|
||||||
//暂无餐盘
|
//暂无餐盘
|
||||||
@@ -269,6 +260,7 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
|||||||
Log.d(TAG, "openPlate: item3:${item}")
|
Log.d(TAG, "openPlate: item3:${item}")
|
||||||
item.faceId = userId
|
item.faceId = userId
|
||||||
item.updateTime = DateTimeUtils.getDateTimeString()
|
item.updateTime = DateTimeUtils.getDateTimeString()
|
||||||
|
item.plateNumber = null
|
||||||
//打开柜子
|
//打开柜子
|
||||||
PlateUtils.open(this, item.equipmentBoxCode, false)
|
PlateUtils.open(this, item.equipmentBoxCode, false)
|
||||||
|
|
||||||
@@ -548,7 +540,6 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
|||||||
|
|
||||||
private fun pauseCamera() {
|
private fun pauseCamera() {
|
||||||
isRecognition = false
|
isRecognition = false
|
||||||
|
|
||||||
recognizeViewModel.onPreviewFrame(ByteArray(1382400), true)
|
recognizeViewModel.onPreviewFrame(ByteArray(1382400), true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -126,24 +126,24 @@ class SettingListFragment :
|
|||||||
item: EquipmentUserInfo,
|
item: EquipmentUserInfo,
|
||||||
position: Int
|
position: Int
|
||||||
) {
|
) {
|
||||||
if (item.isPlaceholder()) {
|
// if (item.isPlaceholder()) {
|
||||||
this.llRoot.isVisible = false
|
// this.llRoot.isVisible = false
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
this.llRoot.isVisible = true
|
this.llRoot.isVisible = true
|
||||||
this.tvNum.text = formatNumber(item.equipmentBoxCode ?: "")
|
this.tvNum.text = formatNumber(item.equipmentBoxCode ?: "")
|
||||||
if (item.isBound()) {
|
if (item.plateNumber.isNullOrBlank().not()) {
|
||||||
val date = DateTimeUtils.parseDateTime(item.updateTime)
|
// val date = DateTimeUtils.parseDateTime(item.updateTime)
|
||||||
val timeInMillis = date?.time ?: 0L
|
// val timeInMillis = date?.time ?: 0L
|
||||||
val isOldTime = DateTimeUtils.isMoreThanHoursFromNow(timeInMillis)
|
// val isOldTime = DateTimeUtils.isMoreThanHoursFromNow(timeInMillis)
|
||||||
|
|
||||||
this.llRoot.setBackgroundResource(R.drawable.grid_item_bind)
|
this.llRoot.setBackgroundResource(R.drawable.grid_item_bind)
|
||||||
this.tvNum.setTextColor(resources.getColor(R.color.bind_4E535D))
|
this.tvNum.setTextColor(resources.getColor(R.color.bind_4E535D))
|
||||||
this.tvLastTime.setTextColor(
|
// this.tvLastTime.setTextColor(
|
||||||
if (isOldTime) resources.getColor(R.color.bind_time_old) else resources.getColor(
|
// if (isOldTime) resources.getColor(R.color.bind_time_old) else resources.getColor(
|
||||||
R.color.bind_585868
|
// R.color.bind_585868
|
||||||
)
|
// )
|
||||||
)
|
// )
|
||||||
this.llOpen.setBackgroundResource(R.drawable.grid_button_bind)
|
this.llOpen.setBackgroundResource(R.drawable.grid_button_bind)
|
||||||
this.tvOpen.setTextColor(resources.getColor(R.color.bind_FFCC99))
|
this.tvOpen.setTextColor(resources.getColor(R.color.bind_FFCC99))
|
||||||
this.llBindInfo.visibility = View.VISIBLE
|
this.llBindInfo.visibility = View.VISIBLE
|
||||||
@@ -152,7 +152,7 @@ class SettingListFragment :
|
|||||||
// this.tvName.text = item.name.maskName()
|
// this.tvName.text = item.name.maskName()
|
||||||
this.tvName.text = item.plateNumber
|
this.tvName.text = item.plateNumber
|
||||||
|
|
||||||
this.tvLastTime.text = DateTimeUtils.getTimeAgo(date)
|
// this.tvLastTime.text = DateTimeUtils.getTimeAgo(date)
|
||||||
} else {
|
} else {
|
||||||
this.llRoot.setBackgroundResource(R.drawable.grid_item_unbind)
|
this.llRoot.setBackgroundResource(R.drawable.grid_item_unbind)
|
||||||
this.tvNum.setTextColor(resources.getColor(R.color.bind_FFCC99))
|
this.tvNum.setTextColor(resources.getColor(R.color.bind_FFCC99))
|
||||||
@@ -160,7 +160,7 @@ class SettingListFragment :
|
|||||||
this.tvOpen.setTextColor(resources.getColor(R.color.unbind_32283C))
|
this.tvOpen.setTextColor(resources.getColor(R.color.unbind_32283C))
|
||||||
this.llBindInfo.visibility = View.GONE
|
this.llBindInfo.visibility = View.GONE
|
||||||
this.tvUnbind.visibility = View.VISIBLE
|
this.tvUnbind.visibility = View.VISIBLE
|
||||||
this.tvUnbind.text = if (item.plateNumber.isNullOrBlank()) "未绑定" else "未绑定(${item.plateNumber})"
|
// this.tvUnbind.text = "未绑定"
|
||||||
}
|
}
|
||||||
// this.llRoot.setOnClickListener {
|
// this.llRoot.setOnClickListener {
|
||||||
//// Timber.d("itemClick llRoot ${item.name}, position = $position")
|
//// Timber.d("itemClick llRoot ${item.name}, position = $position")
|
||||||
|
|||||||
@@ -66,12 +66,12 @@ data class EquipmentUserInfo(
|
|||||||
// var isIntercept: Boolean = false
|
// var isIntercept: Boolean = false
|
||||||
) : Parcelable {
|
) : Parcelable {
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 是否已绑定
|
// * 是否已绑定
|
||||||
*/
|
// */
|
||||||
fun isBound(): Boolean {
|
// fun isBound(): Boolean {
|
||||||
return faceId.isNullOrBlank().not()
|
// return faceId.isNullOrBlank().not()
|
||||||
}
|
// }
|
||||||
|
|
||||||
// /**
|
// /**
|
||||||
// * 是否是其他设备
|
// * 是否是其他设备
|
||||||
@@ -80,11 +80,11 @@ data class EquipmentUserInfo(
|
|||||||
// return equipmentCode != null && equipmentCode != "" && GlobalData.globalEquipmentCode != equipmentCode
|
// return equipmentCode != null && equipmentCode != "" && GlobalData.globalEquipmentCode != equipmentCode
|
||||||
// }
|
// }
|
||||||
|
|
||||||
fun hasEquipmentBox(): Boolean {
|
// fun hasEquipmentBox(): Boolean {
|
||||||
return !TextUtils.isEmpty(equipmentBoxCode)
|
// return !TextUtils.isEmpty(equipmentBoxCode)
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
fun isPlaceholder(): Boolean {
|
// fun isPlaceholder(): Boolean {
|
||||||
return equipmentBoxCode.isNullOrBlank()
|
// return equipmentBoxCode.isNullOrBlank()
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
@@ -50,7 +50,6 @@
|
|||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
tools:text="马*飞(8000)" />
|
tools:text="马*飞(8000)" />
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_last_time"
|
android:id="@+id/tv_last_time"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@@ -59,7 +58,8 @@
|
|||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:text="9小时前使用"
|
android:text="9小时前使用"
|
||||||
android:textColor="#585868"
|
android:textColor="#585868"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp"
|
||||||
|
android:visibility="gone"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|||||||
Reference in New Issue
Block a user