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 androidx.annotation.RequiresApi
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import org.json.JSONObject
|
||||
import java.time.LocalDateTime
|
||||
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 id: Int = scanned.get("id").toString().toInt()
|
||||
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()
|
||||
|
||||
@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 {
|
||||
|
||||
return try {
|
||||
itemScanned(JSONObject(value))
|
||||
return true
|
||||
ItemScanned(JSONObject(value))
|
||||
true
|
||||
|
||||
} catch (Ex: Exception) {
|
||||
return false
|
||||
} catch (ex: Exception) {
|
||||
false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun itemScanValue(value: String, table: String, field: String): Any {
|
||||
var item: itemScanned
|
||||
val item: ItemScanned
|
||||
return try {
|
||||
|
||||
try {
|
||||
item = itemScanned(JSONObject(value))
|
||||
} catch (Ex: Exception) {
|
||||
item = ItemScanned(JSONObject(value))
|
||||
} catch (ex: Exception) {
|
||||
return value
|
||||
}
|
||||
|
||||
|
@ -76,42 +48,8 @@ fun itemScanValue(value: String, table: String, field: String): Any {
|
|||
}
|
||||
throw Exception("QR no válido")
|
||||
|
||||
|
||||
} catch (Ex: Exception) {
|
||||
throw Ex
|
||||
} catch (ex: Exception) {
|
||||
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
|
||||
|
||||
import android.view.View
|
||||
import android.view.View.GONE
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import androidx.core.view.isVisible
|
||||
import es.verdnatura.R
|
||||
import es.verdnatura.databinding.FragmentGeneralBlackBinding
|
||||
import es.verdnatura.domain.toast
|
||||
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.feature.paletizador.model.ItemPalletVO
|
||||
import org.json.JSONObject
|
||||
|
||||
class PalletScanFragment(
|
||||
var title: String = "", var action: String
|
||||
|
@ -21,7 +19,7 @@ class PalletScanFragment(
|
|||
|
||||
override fun getLayoutId(): Int = R.layout.fragment_general_black
|
||||
private lateinit var customDialogList: CustomDialogInput
|
||||
private var itemScaned: String = ""
|
||||
private var itemScaned: Int = 0
|
||||
private var isShowed = false
|
||||
|
||||
|
||||
|
@ -44,42 +42,6 @@ class PalletScanFragment(
|
|||
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() {
|
||||
|
||||
binding.mainToolbar.backButton.setOnClickListener {
|
||||
|
@ -94,7 +56,6 @@ class PalletScanFragment(
|
|||
|
||||
override fun observeViewModel() {
|
||||
|
||||
|
||||
with(viewModel) {
|
||||
binding.splashProgress.visibility = View.GONE
|
||||
responseScan.observe(viewLifecycleOwner) {
|
||||
|
@ -132,7 +93,10 @@ class PalletScanFragment(
|
|||
binding.splashProgress.visibility = View.GONE
|
||||
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() {
|
||||
|
||||
//customDialogList.setCancelable(false)
|
||||
|
||||
when (action) {
|
||||
"receive" -> {
|
||||
customDialogList.setTitle(getString(R.string.palletScan))
|
||||
|
||||
customDialogList.setTitle(
|
||||
if (action == "receive") {
|
||||
getString(R.string.palletScan)
|
||||
} else {
|
||||
getString(R.string.palletScanAdd)
|
||||
}
|
||||
"get" -> {
|
||||
customDialogList.setTitle(getString(R.string.palletScanAdd))
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
|
||||
)
|
||||
|
||||
customDialogList.setOkButton(getString(R.string.end)) {
|
||||
|
||||
ma.hideKeyboard(customDialogList.getEditText())
|
||||
customDialogList.dismiss()
|
||||
|
||||
|
||||
}.setValue("").show()
|
||||
|
||||
|
||||
|
||||
|
||||
customDialogList.setFocusText()
|
||||
ma.hideKeyboard(customDialogList.getEditText())
|
||||
|
||||
customDialogList.getEditText().setOnEditorActionListener { _, actionId, _ ->
|
||||
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5 || actionId == 6) {
|
||||
|
||||
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())
|
||||
|
||||
when (action) {
|
||||
"receive" -> expeditionState_addByPallet(
|
||||
customDialogList.getValue().toInt()
|
||||
"receive" -> viewModel.expeditionState_addByPallet(
|
||||
itemScaned,
|
||||
"STORED"
|
||||
)
|
||||
|
||||
"get" -> viewModel.expeditionPallet_get(
|
||||
itemScaned
|
||||
)
|
||||
"get" -> expeditionPallet_get(customDialogList.getValue())
|
||||
}
|
||||
customDialogList.dismiss()
|
||||
binding.splashProgress.visibility = View.VISIBLE
|
||||
customDialogList.setValue("")
|
||||
}
|
||||
|
||||
|
@ -193,5 +163,4 @@ class PalletScanFragment(
|
|||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue