refs #5228 review QrPallet
This commit is contained in:
parent
8df86a326b
commit
e07016c87c
|
@ -2,66 +2,38 @@ package es.verdnatura.presentation.common
|
||||||
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
import com.google.gson.Gson
|
|
||||||
import com.google.gson.reflect.TypeToken
|
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
import java.time.LocalDateTime
|
|
||||||
import java.time.format.DateTimeFormatter
|
import java.time.format.DateTimeFormatter
|
||||||
|
|
||||||
data class itemScanned(var scanned: JSONObject) {
|
data class ItemScanned(var scanned: JSONObject) {
|
||||||
var table: String = scanned.get("table").toString()
|
var table: String = scanned.get("table").toString()
|
||||||
var id: Int = scanned.get("id").toString().toInt()
|
var id: Int = scanned.get("id").toString().toInt()
|
||||||
var company: String = scanned.get("company").toString()
|
var company: String = scanned.get("company").toString()
|
||||||
var more: String = scanned.get("more").toString()
|
var more: String = if (scanned.has("more")) scanned.get("more").toString() else ""
|
||||||
var user: Int = scanned.get("user").toString().toInt()
|
var user: Int = scanned.get("user").toString().toInt()
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.O)
|
@RequiresApi(Build.VERSION_CODES.O)
|
||||||
var created = DateTimeFormatter.ISO_INSTANT.parse(scanned.get("created").toString())
|
var created = DateTimeFormatter.ISO_INSTANT.parse(scanned.get("created").toString())
|
||||||
|
|
||||||
/* var created: LocalDateTime = LocalDateTime.parse(
|
|
||||||
scanned.get("created").toString(),
|
|
||||||
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
|
|
||||||
)*/
|
|
||||||
/* var created: LocalDateTime =
|
|
||||||
(scanned.get("created").toString()).toDate().formatTo("yyyy-MM-dd HH:mm")
|
|
||||||
|
|
||||||
)*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Tarea#5109
|
|
||||||
@RequiresApi(Build.VERSION_CODES.O)
|
|
||||||
data class itemScannedAll(var scanned: JSONObject) {
|
|
||||||
var company: String = scanned.get("company").toString()
|
|
||||||
var user: Int = scanned.get("user").toString().toInt()
|
|
||||||
var created: LocalDateTime = LocalDateTime.parse(
|
|
||||||
scanned.get("created").toString(),
|
|
||||||
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
|
|
||||||
)
|
|
||||||
var table: String = scanned.get("table").toString()
|
|
||||||
var id: String = scanned.get("id").toString()
|
|
||||||
var more: String = scanned.get("more").toString()
|
|
||||||
}
|
|
||||||
|
|
||||||
//Tarea #5109
|
|
||||||
fun itemScanIsQr(value: String): Boolean {
|
fun itemScanIsQr(value: String): Boolean {
|
||||||
|
|
||||||
return try {
|
return try {
|
||||||
itemScanned(JSONObject(value))
|
ItemScanned(JSONObject(value))
|
||||||
return true
|
true
|
||||||
|
|
||||||
} catch (Ex: Exception) {
|
} catch (ex: Exception) {
|
||||||
return false
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun itemScanValue(value: String, table: String, field: String): Any {
|
fun itemScanValue(value: String, table: String, field: String): Any {
|
||||||
var item: itemScanned
|
val item: ItemScanned
|
||||||
return try {
|
return try {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
item = itemScanned(JSONObject(value))
|
item = ItemScanned(JSONObject(value))
|
||||||
} catch (Ex: Exception) {
|
} catch (ex: Exception) {
|
||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,42 +48,8 @@ fun itemScanValue(value: String, table: String, field: String): Any {
|
||||||
}
|
}
|
||||||
throw Exception("QR no válido")
|
throw Exception("QR no válido")
|
||||||
|
|
||||||
|
} catch (ex: Exception) {
|
||||||
} catch (Ex: Exception) {
|
throw ex
|
||||||
throw Ex
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun itemScanValueOld(value: String, table: String, field: String): Any {
|
|
||||||
val gson = Gson()
|
|
||||||
var item = itemScanned(JSONObject(value))
|
|
||||||
|
|
||||||
try {
|
|
||||||
if (item.company == "vnl" && item.table == table) {
|
|
||||||
|
|
||||||
var valueToReturn: Map<String, Any> =
|
|
||||||
gson.fromJson(value, object : TypeToken<Map<String, Any>>() {}.type)
|
|
||||||
valueToReturn.forEach {
|
|
||||||
|
|
||||||
if (it.key == field) {
|
|
||||||
// return it.value.toString() /*si no li pose toString torna error double to string*/
|
|
||||||
/*return (it.value as Double).toInt()*/
|
|
||||||
item.more
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
throw Exception("QR no válido")
|
|
||||||
|
|
||||||
} catch (Ex: Exception) {
|
|
||||||
|
|
||||||
if (Ex.message!!.contains("QR")) {
|
|
||||||
throw Ex
|
|
||||||
} else {
|
|
||||||
return value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,17 +1,15 @@
|
||||||
package es.verdnatura.presentation.view.feature.paletizador.fragment
|
package es.verdnatura.presentation.view.feature.paletizador.fragment
|
||||||
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.View.GONE
|
|
||||||
import android.view.inputmethod.EditorInfo
|
import android.view.inputmethod.EditorInfo
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import es.verdnatura.R
|
import es.verdnatura.R
|
||||||
import es.verdnatura.databinding.FragmentGeneralBlackBinding
|
import es.verdnatura.databinding.FragmentGeneralBlackBinding
|
||||||
import es.verdnatura.domain.toast
|
import es.verdnatura.domain.toast
|
||||||
import es.verdnatura.presentation.base.BaseFragment
|
import es.verdnatura.presentation.base.BaseFragment
|
||||||
import es.verdnatura.presentation.common.itemScanned
|
import es.verdnatura.presentation.common.itemScanValue
|
||||||
import es.verdnatura.presentation.view.component.CustomDialogInput
|
import es.verdnatura.presentation.view.component.CustomDialogInput
|
||||||
import es.verdnatura.presentation.view.feature.paletizador.model.ItemPalletVO
|
import es.verdnatura.presentation.view.feature.paletizador.model.ItemPalletVO
|
||||||
import org.json.JSONObject
|
|
||||||
|
|
||||||
class PalletScanFragment(
|
class PalletScanFragment(
|
||||||
var title: String = "", var action: String
|
var title: String = "", var action: String
|
||||||
|
@ -21,7 +19,7 @@ class PalletScanFragment(
|
||||||
|
|
||||||
override fun getLayoutId(): Int = R.layout.fragment_general_black
|
override fun getLayoutId(): Int = R.layout.fragment_general_black
|
||||||
private lateinit var customDialogList: CustomDialogInput
|
private lateinit var customDialogList: CustomDialogInput
|
||||||
private var itemScaned: String = ""
|
private var itemScaned: Int = 0
|
||||||
private var isShowed = false
|
private var isShowed = false
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,42 +42,6 @@ class PalletScanFragment(
|
||||||
binding.mainToolbar.toolbarTitle.text = title
|
binding.mainToolbar.toolbarTitle.text = title
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun expeditionState_addByPallet(vPalletId: Int) {
|
|
||||||
|
|
||||||
customDialogList.dismiss()
|
|
||||||
binding.splashProgress.visibility = View.VISIBLE
|
|
||||||
|
|
||||||
viewModel.expeditionState_addByPallet(
|
|
||||||
vPalletId,
|
|
||||||
"STORED"
|
|
||||||
)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun expeditionPallet_get(vPalletId: String) {
|
|
||||||
|
|
||||||
binding.splashProgress.visibility = View.VISIBLE
|
|
||||||
customDialogList.dismiss()
|
|
||||||
|
|
||||||
var valueScanned: String
|
|
||||||
try {
|
|
||||||
valueScanned = itemScanned(JSONObject(vPalletId)).id.toString()
|
|
||||||
} catch (ex: Exception) {
|
|
||||||
valueScanned = vPalletId
|
|
||||||
}
|
|
||||||
itemScaned = valueScanned
|
|
||||||
try {
|
|
||||||
viewModel.expeditionPallet_get(
|
|
||||||
itemScaned.toInt(),
|
|
||||||
)
|
|
||||||
} catch (ex: Exception) {
|
|
||||||
binding.splashProgress.visibility = GONE
|
|
||||||
ex.message!!.toast(context)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private fun setEvents() {
|
private fun setEvents() {
|
||||||
|
|
||||||
binding.mainToolbar.backButton.setOnClickListener {
|
binding.mainToolbar.backButton.setOnClickListener {
|
||||||
|
@ -94,7 +56,6 @@ class PalletScanFragment(
|
||||||
|
|
||||||
override fun observeViewModel() {
|
override fun observeViewModel() {
|
||||||
|
|
||||||
|
|
||||||
with(viewModel) {
|
with(viewModel) {
|
||||||
binding.splashProgress.visibility = View.GONE
|
binding.splashProgress.visibility = View.GONE
|
||||||
responseScan.observe(viewLifecycleOwner) {
|
responseScan.observe(viewLifecycleOwner) {
|
||||||
|
@ -132,7 +93,10 @@ class PalletScanFragment(
|
||||||
binding.splashProgress.visibility = View.GONE
|
binding.splashProgress.visibility = View.GONE
|
||||||
ma.messageWithSound(getString(R.string.palletScanned) + itemScaned, false, true)
|
ma.messageWithSound(getString(R.string.palletScanned) + itemScaned, false, true)
|
||||||
|
|
||||||
ma.onComprobarPalletFromPalletScan(it, ItemPalletVO(Pallet = itemScaned.toInt()))
|
ma.onComprobarPalletFromPalletScan(
|
||||||
|
it,
|
||||||
|
ItemPalletVO(Pallet = itemScaned.toInt())
|
||||||
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -142,48 +106,54 @@ class PalletScanFragment(
|
||||||
|
|
||||||
private fun showPalletScan() {
|
private fun showPalletScan() {
|
||||||
|
|
||||||
//customDialogList.setCancelable(false)
|
customDialogList.setTitle(
|
||||||
|
if (action == "receive") {
|
||||||
when (action) {
|
getString(R.string.palletScan)
|
||||||
"receive" -> {
|
} else {
|
||||||
customDialogList.setTitle(getString(R.string.palletScan))
|
getString(R.string.palletScanAdd)
|
||||||
|
|
||||||
}
|
}
|
||||||
"get" -> {
|
)
|
||||||
customDialogList.setTitle(getString(R.string.palletScanAdd))
|
|
||||||
}
|
|
||||||
else -> {}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
customDialogList.setOkButton(getString(R.string.end)) {
|
customDialogList.setOkButton(getString(R.string.end)) {
|
||||||
|
|
||||||
ma.hideKeyboard(customDialogList.getEditText())
|
ma.hideKeyboard(customDialogList.getEditText())
|
||||||
customDialogList.dismiss()
|
customDialogList.dismiss()
|
||||||
|
|
||||||
|
|
||||||
}.setValue("").show()
|
}.setValue("").show()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
customDialogList.setFocusText()
|
customDialogList.setFocusText()
|
||||||
ma.hideKeyboard(customDialogList.getEditText())
|
ma.hideKeyboard(customDialogList.getEditText())
|
||||||
|
|
||||||
customDialogList.getEditText().setOnEditorActionListener { _, actionId, _ ->
|
customDialogList.getEditText().setOnEditorActionListener { _, actionId, _ ->
|
||||||
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5 || actionId == 6) {
|
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5 || actionId == 6) {
|
||||||
|
|
||||||
if (customDialogList.getValue().isNotEmpty()
|
if (customDialogList.getValue().isNotEmpty()
|
||||||
) {
|
) {
|
||||||
itemScaned = customDialogList.getValue()
|
try {
|
||||||
|
itemScaned = itemScanValue(
|
||||||
|
customDialogList.getValue(),
|
||||||
|
"expeditionPallet",
|
||||||
|
"id"
|
||||||
|
) as Int
|
||||||
|
|
||||||
|
} catch (ex: Exception) {
|
||||||
|
|
||||||
|
ex.message!!.toast(requireContext())
|
||||||
|
}
|
||||||
|
|
||||||
ma.hideKeyboard(customDialogList.getEditText())
|
ma.hideKeyboard(customDialogList.getEditText())
|
||||||
|
|
||||||
when (action) {
|
when (action) {
|
||||||
"receive" -> expeditionState_addByPallet(
|
"receive" -> viewModel.expeditionState_addByPallet(
|
||||||
customDialogList.getValue().toInt()
|
itemScaned,
|
||||||
|
"STORED"
|
||||||
|
)
|
||||||
|
|
||||||
|
"get" -> viewModel.expeditionPallet_get(
|
||||||
|
itemScaned
|
||||||
)
|
)
|
||||||
"get" -> expeditionPallet_get(customDialogList.getValue())
|
|
||||||
}
|
}
|
||||||
|
customDialogList.dismiss()
|
||||||
|
binding.splashProgress.visibility = View.VISIBLE
|
||||||
customDialogList.setValue("")
|
customDialogList.setValue("")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -193,5 +163,4 @@ class PalletScanFragment(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue