From 879f9573485ace70f556fa38f7d4efe3d0870a5d Mon Sep 17 00:00:00 2001 From: Sergio De la torre Date: Tue, 30 Jan 2024 16:34:24 +0100 Subject: [PATCH] refs #5802 setState --- .../collection/fragment/CollectionFragment.kt | 12 +- .../fragment/CollectionFragmentPicker.kt | 91 ++----- .../fragment/CollectionViewModel.kt | 245 ++++++++++-------- 3 files changed, 162 insertions(+), 186 deletions(-) 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 52725724..091bf087 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 @@ -113,6 +113,7 @@ class CollectionFragment( private var itemShelvingTracking_mark: Int = 0 private var recylerViewState: Parcelable? = null private var isScanned: Boolean? = null + private var canChangeState = true private lateinit var myGroupList: List @@ -261,6 +262,7 @@ class CollectionFragment( } private fun updateScreen() { + canChangeState = false binding.splashProgress.visibility = VISIBLE viewModel.collectionTicketGet( collection.collectionFk, @@ -418,7 +420,7 @@ class CollectionFragment( //LISTA ========= binding.collectionSwipe.setOnRefreshListener { - + canChangeState = false isMarking = false binding.collectionSwipe.isRefreshing = false // if (type != PRECHECKER) { @@ -427,7 +429,7 @@ class CollectionFragment( collection.collectionFk, mobileApplication.dataStoreApp.readDataStoreKey(SECTORFK), print = "0", - type + "" ) buttonPushedGetCollection = false binding.collectionSwipe.isRefreshing = false @@ -842,6 +844,8 @@ class CollectionFragment( loadResponseItemShelvingUpdate.observe(viewLifecycleOwner) { event -> event.getContentIfNotHandled().notNull { + + canChangeState = !it.isError if (it.isError) { ma.messageWithSound(it.errorMessage, it.isError, false) @@ -1342,6 +1346,7 @@ class CollectionFragment( //Tarea #4371 private fun markLine(position: Int, newType: String) { + canChangeState = true state = 0 //////Log.i("VERDNATURA:","Marcamos linea y enviamos saleTracking") if (type == SACADOR) { @@ -1506,6 +1511,7 @@ class CollectionFragment( } private fun unMarkLine(position: Int, newType: String) { + state = 0 if (sales[position].isPrepared == "1") { customDialog.setTitle(getString(R.string.unmarkLine)) @@ -2089,7 +2095,7 @@ class CollectionFragment( ticketCollection_setUsedShelves() goBack = false*/ - changeTicketState() + if (canChangeState) changeTicketState() } } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPicker.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPicker.kt index d32c855a..b8518d90 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPicker.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPicker.kt @@ -110,6 +110,7 @@ class CollectionFragmentPicker( private var isScanned: Boolean? = null private lateinit var myGroupList: List + private var canChangeState = true companion object { fun newInstance(collection: CollectionVO, type: String) = @@ -256,6 +257,7 @@ class CollectionFragmentPicker( } private fun updateScreen() { + canChangeState = false binding.splashProgress.visibility = View.VISIBLE viewModel.collectionTicketGet( collection.collectionFk, @@ -413,7 +415,7 @@ class CollectionFragmentPicker( //LISTA ========= binding.collectionSwipe.setOnRefreshListener { - + canChangeState = false isMarking = false binding.collectionSwipe.isRefreshing = false // if (type != PRECHECKER) { @@ -511,7 +513,9 @@ class CollectionFragmentPicker( it.isError, true ) } else { - (getString(R.string.Imprimiendo) + mobileApplication.dataStoreApp.readDataStoreKey(PRINTERNAME)).toast( + (getString(R.string.Imprimiendo) + mobileApplication.dataStoreApp.readDataStoreKey( + PRINTERNAME + )).toast( requireContext() ) } @@ -808,7 +812,7 @@ class CollectionFragmentPicker( } } else { - + canChangeState = true viewModel.collectionTicketGet( collection.collectionFk, mobileApplication.dataStoreApp.readDataStoreKey(SECTORFK), @@ -903,7 +907,6 @@ class CollectionFragmentPicker( } else { // pintar lĂ­nea - saleAdapter!!.notifyDataSetChanged() ReviewQuantityForRefreshingAndSorting( @@ -1079,9 +1082,11 @@ class CollectionFragmentPicker( var entryPoint = Gson().toJson( mutableMapOf( "entryPoint" to sale.ticketFk, - "web" to "${mobileApplication.dataStoreApp.readDataStoreKey( - ConstAndValues.BASEURLSALIX - )}/#!/ticket/${sale.ticketFk}/sale" + "web" to "${ + mobileApplication.dataStoreApp.readDataStoreKey( + ConstAndValues.BASEURLSALIX + ) + }/#!/ticket/${sale.ticketFk}/sale" ) ) ma.onPasillerosItemClickListener( @@ -1391,6 +1396,7 @@ class CollectionFragmentPicker( //setListPosition(position, false) if (type == SACADOR) { + canChangeState = true saleTracking_mark(position, newType) //nuevo var mySale = sales[position].saleFk @@ -1571,13 +1577,6 @@ class CollectionFragmentPicker( ) positionUnmarked = position - /* viewModel.saleTrackingDel( - getData(USER), - getData(PASSWORD), - saleFk = sales[position].saleFk, - "saleTracking_del" - )*/ - } setTotalLines() scanRequest() @@ -2089,60 +2088,6 @@ class CollectionFragmentPicker( } - /* private fun showDisponibility() { - - customDialogInput.setTitle(getString(R.string.Verdisponible)) - .setDescription(getString(R.string.Escaneaetiqueta)) - .setOkButton(getString(R.string.Buscar)) { - try { - if (binding.splashProgress != null) { - binding.splashProgress.visibility = View.VISIBLE - } - - } catch (e: Exception) { - } - - hideKeyboards() - viewModel.itemGetAvailable( - usuario = user, - password = password, - itemFk = customDialogInput.getValue(), - warehouseFk = warehouseFk, - "item_GetVisibleAvailable" - ) - scanRequest() - customDialogInput.dismiss() - - }.setKoButton(getString(R.string.cancel)) { - if (binding.splashProgress != null) { - binding.splashProgress.visibility = View.GONE - } - hideKeyboards() - scanRequest() - customDialogInput.dismiss() - }.setValue("").show() - customDialogInput.getEditText().requestFocus() - customDialogInput.getEditText().setOnEditorActionListener { v, actionId, event -> - if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0) { - if (!customDialogInput.getValue().isNullOrEmpty()) { - if (binding.splashProgress != null) binding.splashProgress.visibility = View.VISIBLE - viewModel.itemGetAvailable( - usuario = user, - password = password, - itemFk = customDialogInput.getValue(), - warehouseFk = warehouseFk - ,"item_GetVisibleAvailable") - } - customDialogInput.setValue("") - scanRequest() - customDialogInput.dismiss() - hideKeyboards() - return@setOnEditorActionListener true - } - false - } - }*/ - private fun toastDisponibility(item: ItemVO) { if (item.available.isNullOrEmpty()) { item.available = "0" @@ -2197,18 +2142,18 @@ class CollectionFragmentPicker( ticketCollection_setUsedShelves() goBack = false - changeTicketState() + if (canChangeState) changeTicketState() } } private fun ticketCollection_setUsedShelves() { - if (type.equals("CHECKER") && (isMarking && ( mobileApplication.dataStoreApp.readDataStoreKey( + if (type.equals("CHECKER") && (isMarking && (mobileApplication.dataStoreApp.readDataStoreKey( SECTORDESCRIP ).uppercase() != getString( R.string.sectorALGEMESI - ) && mobileApplication.dataStoreApp.readDataStoreKey( + ) && mobileApplication.dataStoreApp.readDataStoreKey( SECTORDESCRIP ).uppercase() != getString( R.string.sectorALGEMESINEW @@ -2454,7 +2399,9 @@ class CollectionFragmentPicker( collectionFk = collection.collectionFk, labelCount = (which + 1) ) - (getString(R.string.Imprimiendo) + mobileApplication.dataStoreApp.readDataStoreKey(PRINTERNAME)).toast(requireContext()) + (getString(R.string.Imprimiendo) + mobileApplication.dataStoreApp.readDataStoreKey( + PRINTERNAME + )).toast(requireContext()) } val dialog = builder.create() diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt index 3e0aefc4..600bab64 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt @@ -28,15 +28,12 @@ import retrofit2.Response class CollectionViewModel(val context: Context) : BaseViewModel(context) { - // val emptyMessage = context.getString(R.string.collectionNoTickets) - private val contextApp = context - /* private val getSacadorControladorUserCase: GetSacadorControladorUserCase = - GetSacadorControladorUserCase(context) - private val getUbicadorUserCase: GetUbicadorUserCase = GetUbicadorUserCase(context) - private val getLoginUserCase: GetLoginUserCase = GetLoginUserCase(context) - */ + private val _responseState by lazy { MutableLiveData() } + val responseState: LiveData + get() = _responseState + private val _collectionTicketList by lazy { MutableLiveData() } val collectionTicketList: LiveData get() = _collectionTicketList @@ -169,7 +166,6 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) { val mistakeList: LiveData get() = _mistakeList - private val _item by lazy { MutableLiveData() } val item: LiveData get() = _item @@ -312,9 +308,9 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) { isScanned: Boolean? ) { //Tarea 6276 - /* salix.saleTrackingUpdate(SaleTrackingReplaceSalix( - saleFk,originalQuantity,code, isChecked != "0",buyFk,isScanned!! - ))*/ + /* salix.saleTrackingUpdate(SaleTrackingReplaceSalix( + saleFk,originalQuantity,code, isChecked != "0",buyFk,isScanned!! + ))*/ silex.saleTrackingReplace( saleFk, originalQuantity, @@ -324,17 +320,17 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) { isScanned!! ) .enqueue(object : SilexCallback(context) { - override fun onError(t: Throwable) { - _responseSaleReplace.value = ResponseItemVO( - isError = true, - errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!) - ) - } + override fun onError(t: Throwable) { + _responseSaleReplace.value = ResponseItemVO( + isError = true, + errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!) + ) + } - override fun onSuccess(response: Response) { - _responseSaleReplace.value = ResponseItemVO(isError = false, response = "") - } - }) + override fun onSuccess(response: Response) { + _responseSaleReplace.value = ResponseItemVO(isError = false, response = "") + } + }) } fun saleTracking_mark( @@ -347,17 +343,17 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) { quantity: Int, isScanned: Boolean? ) { - //Tarea 6276 flata probar - /* salix.saleTrackingMark( - SaleTrackingSalix(saleFk, - originalQuantity, - code, - isChecked!="0", - buyFk, - itemShelvingFk = itemShelvingFk, - quantity = quantity, - isScanned = isScanned) - )*/ + //Tarea 6276 flata probar + /* salix.saleTrackingMark( + SaleTrackingSalix(saleFk, + originalQuantity, + code, + isChecked!="0", + buyFk, + itemShelvingFk = itemShelvingFk, + quantity = quantity, + isScanned = isScanned) + )*/ silex.saleTracking_mark( saleFk, originalQuantity, @@ -653,98 +649,98 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) { warehouseFk ) .enqueue(object : SilexCallback(context) { - override fun onError(t: Throwable) { + override fun onError(t: Throwable) { - _responseNew.value = ResponseItemVO( - isError = true, - errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!) - ) - } - - override fun onSuccess(response: Response) { - _responseNew.value = - ResponseItemVO(isError = false, response = response.message()!!) - - } - }) - } - - /* fun saleMove( - usuario: String, - password: String, - saleFk: String, - quantity: String, - originalQuantity: String - ) { - silex.saleMove( - usuario, - password, - saleFk, - quantity, - originalQuantity - ).enqueue(object : Callback { - override fun onFailure(call: Call, t: Throwable) { - _responseSaleMove.value = ResponseItemVO( + _responseNew.value = ResponseItemVO( isError = true, errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!) ) } - override fun onResponse(call: Call, response: Response) { - if (!response.isSuccessful) { - _responseSaleMove.value = ResponseItemVO( - isError = true, - errorMessage = getMessageFromAllResponse( - nameofFunction(this), - response.message() - ) - ) + override fun onSuccess(response: Response) { + _responseNew.value = + ResponseItemVO(isError = false, response = response.message()!!) - } else { - _responseSaleMove.value = - ResponseItemVO(isError = false, response = response.message()) - } } }) - }*/ + } - /* fun transferSalesSalix( - ticketFk: String, - saleFk: Int, - quantity: String, + /* fun saleMove( + usuario: String, + password: String, + saleFk: String, + quantity: String, + originalQuantity: String + ) { + silex.saleMove( + usuario, + password, + saleFk, + quantity, + originalQuantity + ).enqueue(object : Callback { + override fun onFailure(call: Call, t: Throwable) { + _responseSaleMove.value = ResponseItemVO( + isError = true, + errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!) + ) + } - ) { - var saleTransfer = - listSaleSalix(arrayListOf(saleSalix(id = saleFk, quantity = quantity.toInt()))) - salix.transferSalesSalix( - ticketFk, saleTransfer + override fun onResponse(call: Call, response: Response) { + if (!response.isSuccessful) { + _responseSaleMove.value = ResponseItemVO( + isError = true, + errorMessage = getMessageFromAllResponse( + nameofFunction(this), + response.message() + ) + ) - ).enqueue(object : SilexCallback(context) { - override fun onError(t: Throwable) { - _responseSplit.value = ResponseItemVO( - isError = true, - errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!) - ) - } + } else { + _responseSaleMove.value = + ResponseItemVO(isError = false, response = response.message()) + } + } + }) + }*/ - override fun onSuccess(response: Response) { + /* fun transferSalesSalix( + ticketFk: String, + saleFk: Int, + quantity: String, - //sergio: salix devuelve id - if (response.body() == null) { - _responseSplit.value = ResponseItemVO( - isError = true, - errorMessage = getMessageFromAllResponse( - nameofFunction(this), - response.message() - ) - ) - } else { - _responseSplit.value = - ResponseItemVO(isError = false, response = response.message()) - } - } - }) - }*/ + ) { + var saleTransfer = + listSaleSalix(arrayListOf(saleSalix(id = saleFk, quantity = quantity.toInt()))) + salix.transferSalesSalix( + ticketFk, saleTransfer + + ).enqueue(object : SilexCallback(context) { + override fun onError(t: Throwable) { + _responseSplit.value = ResponseItemVO( + isError = true, + errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!) + ) + } + + override fun onSuccess(response: Response) { + + //sergio: salix devuelve id + if (response.body() == null) { + _responseSplit.value = ResponseItemVO( + isError = true, + errorMessage = getMessageFromAllResponse( + nameofFunction(this), + response.message() + ) + ) + } else { + _responseSplit.value = + ResponseItemVO(isError = false, response = response.message()) + } + } + }) + }*/ fun saleTrackingDel(saleFk: Int) { //Tarea 6276 @@ -874,7 +870,6 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) { }) } - fun saleMistakeAdd( saleFk: Int, typeFk: Int @@ -1035,4 +1030,32 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) { }) } + fun collection_setState( + collectionFk: Int, + state: String + ) { + salix.collectionSetState( + params = arrayListOf( + collectionFk, + state + ).formatWithQuotes() + ) + .enqueue(object : SalixCallback(context) { + override fun onError(t: Throwable) { + + _responseState.value = ResponseItemVO( + isError = true, + errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!) + ) + super.onError(t) + } + + override fun onSuccess(response: Response) { + _responseState.value = + ResponseItemVO(isError = false, response = "") + super.onSuccess(response) + } + }) + } + }