diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt index 1bdc573a..93649bc4 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt @@ -268,12 +268,28 @@ class CollectionFragment( } - private fun markPrevia(saleGroupScanned: String) { - sales.forEachIndexed { pos, s -> - if (!s.saleGroupFk.isNullOrEmpty() && s.saleGroupFk == saleGroupScanned) { - markLine(pos, type) + private fun markPrevia(saleGroupScanned: String):Boolean { + + for (indice in sales.indices) { + if (!sales[indice].saleGroupFk.isNullOrEmpty() && sales[indice].saleGroupFk == saleGroupScanned) { + + when (type) { + CONTROLADOR -> markLine(indice, type) + SACADOR -> { + viewModel.saleTracking_add( + saleGroupScanned.toInt() + ) + return true + } + + } + if (mpok != null) { + mpok!!.start() + } + } } + return false } private fun showPrevia() { @@ -363,14 +379,22 @@ class CollectionFragment( event != null && event.action == ACTION_DOWN && event.keyCode == KeyEvent.KEYCODE_ENTER if (itemScanIsQr(binding.scanInput.text.toString())) { - var myQr = itemScanned(JSONObject(binding.scanInput.text.toString())) - when (myQr.table) { - "saleGroup" -> { - markPrevia(myQr.id.toString()) - } - "buy" -> binding.scanInput.setText(myQr.more) + + var myQr = itemScanned(JSONObject(binding.scanInput.text.toString())) + + when (myQr.table) { + "saleGroup" -> { + if (type == CONTROLADOR) { + markPrevia(myQr.id.toString()) + } else { + binding.scanInput.setText(myQr.id.toString()) + findSale(binding.scanInput.text.toString()) + } + } + "buy" -> binding.scanInput.setText(myQr.more) } + } else { findSale(binding.scanInput.text.toString()) } @@ -1236,8 +1260,9 @@ class CollectionFragment( } //SEARCH AND MARK + + private fun findSale(txtscan: String) { - goBack = false var index = 0 var isBreak = false var isOk = false @@ -1245,21 +1270,9 @@ class CollectionFragment( goBack2 = false if (type == SACADOR) { + isOk=markPrevia(txtscan) for (saleVO in sales) { - //sergio: pinta si encuentra ticket o el saleGroupFk - if (saleVO.saleGroupFk == txtscan) { - // if (saleVO.ticketFk == txtscan ) { - isOk = true - viewModel.saleTracking_add( - txtscan.toInt() - ) - if ((isOk) && mpok != null) { - mpok!!.start() - } - - break - - } + if (isOk) break if (saleVO.isPrepared != "1" && saleVO.isPreviousPrepared != "1") { //1- Por itemFk