diff --git a/app/src/main/java/es/verdnatura/presentation/common/itemScanned.kt b/app/src/main/java/es/verdnatura/presentation/common/itemScanned.kt index 2a6a73e5..431d34fd 100644 --- a/app/src/main/java/es/verdnatura/presentation/common/itemScanned.kt +++ b/app/src/main/java/es/verdnatura/presentation/common/itemScanned.kt @@ -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 = - gson.fromJson(value, object : TypeToken>() {}.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 - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/PalletScanFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/PalletScanFragment.kt index 6a7302af..87a835ab 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/PalletScanFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/PalletScanFragment.kt @@ -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( } } -} - +} \ No newline at end of file