diff --git a/app/src/main/java/com/sw/inbound/activity/GoodsListActivity.kt b/app/src/main/java/com/sw/inbound/activity/GoodsListActivity.kt
index a4874c1..cb37bb5 100644
--- a/app/src/main/java/com/sw/inbound/activity/GoodsListActivity.kt
+++ b/app/src/main/java/com/sw/inbound/activity/GoodsListActivity.kt
@@ -25,6 +25,7 @@ import com.sw.inbound.dialog.GoodsRecognizeDialog
import com.sw.inbound.dialog.GoodsSearchDialog
import com.sw.inbound.dialog.Loading
import com.sw.inbound.dialog.WarnDialog
+import com.sw.inbound.ext.toSafeDouble
import com.sw.inbound.model.request.GoodsAddParam
import com.sw.inbound.model.request.PurchaseWarehouseParam
import com.sw.inbound.model.request.UploadInfo
@@ -160,6 +161,9 @@ abstract class GoodsListActivity : ComponentActivity() {
}
}
}, 1 * 1000)
+ binding.btnClearZero.setOnClickListener {
+ SensorScaleUtils.tare()
+ }
}
private var weightCallback: ((weight: Int) -> Unit)? = null
@@ -175,6 +179,9 @@ abstract class GoodsListActivity : ComponentActivity() {
// //从秤上取物品中
// return
//}
+ if (lastWeight != weight || weight == 0) {
+ binding.tvTotalWeight.text = "重量:${weight}克"
+ }
if (weight < 200) {
if (abs(weight) < 10) {
// val clazzName = DialogManager.getDialogList()
@@ -190,8 +197,8 @@ abstract class GoodsListActivity : ComponentActivity() {
}
return
}
- this.lastWeight = weight
if (DialogManager.hasShowDialog()) {
+ this.lastWeight = weight
return
}
// val checkResult = isFirstRecognize.not()
@@ -204,7 +211,11 @@ abstract class GoodsListActivity : ComponentActivity() {
// }
Timber.tag(TAG)
.d("recognizeWeight,recognizeFood:isShowRecognizeDialog=$isShowRecognizeDialog")
- recognizeFood()
+ //两次相差5克内视作重量未变,不进行重新识别
+ if (abs(lastWeight - weight) > 5) {
+ recognizeFood()
+ }
+ this.lastWeight = weight
}
//var startTime = 0L
@@ -439,7 +450,7 @@ abstract class GoodsListActivity : ComponentActivity() {
}
item.isSelected = true
val finalWeight = item.goodsWeight?.toDouble().plus2(goods.goodsWeight?.toDouble())
- val finalNum = item.receivedNum.plus2(goods.receivedNum)
+ val finalNum = item.receivedNum.plus2(goods.receivedNum).toSafeDouble(item.unitName)
val finalAmount = item.recPriceInItem.plus2(goods.recPriceInItem)
val finalPrice =
if (finalAmount == 0.toDouble() || finalNum == 0.toDouble()) 0.toDouble() else finalAmount / finalNum
diff --git a/app/src/main/java/com/sw/inbound/dialog/BaseDialog.kt b/app/src/main/java/com/sw/inbound/dialog/BaseDialog.kt
index ac24391..3f3301e 100644
--- a/app/src/main/java/com/sw/inbound/dialog/BaseDialog.kt
+++ b/app/src/main/java/com/sw/inbound/dialog/BaseDialog.kt
@@ -16,7 +16,8 @@ import com.sw.inbound.utils.ext.hideKeyboard
abstract class BaseDialog(
context: Context,
var defWidth: Int = 1500.dp,
- var defHeight: Int = 900.dp
+// var defHeight: Int = 900.dp
+ var defHeight: Int = 750.dp
) : Dialog(context, R.style.DialogTheme) {
override fun onCreate(savedInstanceState: Bundle?) {
diff --git a/app/src/main/java/com/sw/inbound/dialog/GoodsRecognizeDialog.kt b/app/src/main/java/com/sw/inbound/dialog/GoodsRecognizeDialog.kt
index 955feb8..51c7d66 100644
--- a/app/src/main/java/com/sw/inbound/dialog/GoodsRecognizeDialog.kt
+++ b/app/src/main/java/com/sw/inbound/dialog/GoodsRecognizeDialog.kt
@@ -90,7 +90,7 @@ class GoodsRecognizeDialog(
// }
binding.ivClose.setOnClickListener {
dismiss()
- activity?.delayRecognizeFood()
+// activity?.delayRecognizeFood()
//activity?.startTime = System.currentTimeMillis()
}
binding.btnManuallyFind.setOnClickListener {
diff --git a/app/src/main/java/com/sw/inbound/dialog/GoodsStoreDialog.kt b/app/src/main/java/com/sw/inbound/dialog/GoodsStoreDialog.kt
index a72ae51..f6043fc 100644
--- a/app/src/main/java/com/sw/inbound/dialog/GoodsStoreDialog.kt
+++ b/app/src/main/java/com/sw/inbound/dialog/GoodsStoreDialog.kt
@@ -37,6 +37,8 @@ import com.sw.inbound.utils.CameraUtils
import com.sw.inbound.utils.ImageUtil
import com.sw.inbound.utils.ext.dp
import com.sw.inbound.utils.ext.gone
+import com.sw.inbound.utils.ext.hideKeyboard
+import com.sw.inbound.utils.ext.invisible
import com.sw.inbound.utils.ext.roundedDecimalPlace
import com.sw.inbound.utils.ext.toast
import com.sw.inbound.utils.ext.visible
@@ -103,6 +105,7 @@ class GoodsStoreDialog(
// AddProcurementUnitDialog(context).show()
// }
binding.flUnitDropdown.setOnClickListener { v ->
+ v.hideKeyboard()
if (dropdownPopup == null) {
dropdownPopup = DropdownPopup(
context = context,
@@ -111,6 +114,7 @@ class GoodsStoreDialog(
popHeight = min(dropdownList.size, 4) * 71.dp
) { dictType ->
try {
+ v.hideKeyboard()
binding.tvProcurementUnit.run {
text = dictType.value
tag = dictType.id
@@ -164,8 +168,8 @@ class GoodsStoreDialog(
addPriceInputListener(binding.etProcurementAmount) {
val countText = binding.etProcurementCount.text.trim().toString()
val count = if (countText.isNotBlank()) countText.toDouble() else 0.toDouble()
- if (count == 0.toDouble()) {
- //context.toast("入库数量不能为0")
+ if (count == 0.toDouble() || it == (-1).toDouble()) {
+ binding.tvProcurementPrice.text = ""
return@addPriceInputListener
}
val price = (it / count).roundedDecimalPlace(2)
@@ -198,6 +202,11 @@ class GoodsStoreDialog(
}
})
}
+ binding.tvProcurementPrice.addTextChangedListener {
+ binding.tvPriceUnit.run {
+ if (it.isNullOrBlank()) invisible() else visible()
+ }
+ }
addWeightListener()
}
@@ -239,6 +248,7 @@ class GoodsStoreDialog(
addTextChangedListener(onTextChanged = { it, _, _, _ ->
try {
if (it.isNullOrBlank()) {
+ action((-1).toDouble())
return@addTextChangedListener
}
val input = it.toString()
diff --git a/app/src/main/res/layout/activity_goods_list.xml b/app/src/main/res/layout/activity_goods_list.xml
index 16adeaa..4732eee 100644
--- a/app/src/main/res/layout/activity_goods_list.xml
+++ b/app/src/main/res/layout/activity_goods_list.xml
@@ -34,7 +34,8 @@
android:textColor="#141428"
android:textSize="24sp"
android:textStyle="bold"
- tools:text="冯厨子" />
+ tools:text="冯厨子"
+ android:visibility="gone"/>
+ tools:ignore="ContentDescription"
+ android:visibility="gone"/>
+
+
+
+
@@ -39,14 +39,13 @@
android:layout_marginHorizontal="30dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- android:layout_marginTop="180dp">
+ app:layout_constraintTop_toBottomOf="@id/tvDialogTitle">
@@ -57,7 +56,7 @@
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
- android:layout_gravity="center"
+ android:layout_gravity="top|center_horizontal"
android:background="@color/white"
android:visibility="gone"
tools:ignore="HardcodedText,UseCompoundDrawables">
@@ -118,16 +117,34 @@
android:textSize="30sp"
android:background="@drawable/bg_blue_ripple"/>
-
+ app:layout_constraintTop_toBottomOf="@id/flContent"
+ app:layout_constraintBottom_toTopOf="@id/dividerLine">
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/dialog_goods_store.xml b/app/src/main/res/layout/dialog_goods_store.xml
index 960cb6f..f1b18e6 100644
--- a/app/src/main/res/layout/dialog_goods_store.xml
+++ b/app/src/main/res/layout/dialog_goods_store.xml
@@ -212,7 +212,8 @@
android:layout_width="428dp"
android:layout_height="70dp"
android:layout_marginStart="57dp"
- android:background="@drawable/bg_white_radius10_stroke2">
+ android:background="@drawable/bg_gray_radius10">
+
+ android:textStyle="bold"
+ android:visibility="invisible"/>