refs #5651 advancedTicket

This commit is contained in:
Sergio De la torre 2023-06-14 13:50:46 +02:00
parent 863957812b
commit c1842a4bc6
12 changed files with 191 additions and 9 deletions

View File

@ -27,6 +27,7 @@ import es.verdnatura.presentation.view.feature.presacador.fragment.PreSacadorVie
import es.verdnatura.presentation.view.feature.qr.QrFragmentViewModel
import es.verdnatura.presentation.view.feature.sacador.fragment.SacadorViewModel
import es.verdnatura.presentation.view.feature.shelvingparking.fragment.ShelvingParkingViewModel
import es.verdnatura.presentation.view.feature.ticket.fragment.TicketViewModel
import es.verdnatura.presentation.view.feature.ubicador.fragment.AutomaticAddItemViewModel
import es.verdnatura.presentation.view.feature.ubicador.fragment.UbicadorViewModel
import org.koin.android.ext.koin.androidContext
@ -193,4 +194,7 @@ val viewModelModule = module {
viewModel {
PhotosViewModel(androidContext())
}
viewModel {
TicketViewModel(androidContext())
}
}

View File

@ -2,6 +2,7 @@ package es.verdnatura.domain
import es.verdnatura.presentation.common.itemBarCodeSalix
import es.verdnatura.presentation.common.itemPackingTypeSalix
import es.verdnatura.presentation.common.packingSiteSalix
import es.verdnatura.presentation.view.feature.ajustes.model.SectorItemVO
import es.verdnatura.presentation.view.feature.articulo.model.ItemPackingType
import es.verdnatura.presentation.view.feature.collection.SalixSaleQuantity
@ -122,6 +123,12 @@ interface SalixService {
):
Call<List<ItemPackingType>>
@POST("PackingSiteAdvanceds")
fun ticket_advancePackaging(
@Body parms : packingSiteSalix
):
Call<Void>
@PUT("ItemBarCodes")//REVISADA
fun barcodes_edit(

View File

@ -8,3 +8,8 @@ class itemBarCodeSalix(
var itemFk: Int ,
var code:String
)
class packingSiteSalix(
var ticketFk:Int,
var workerFk: Int
)

View File

@ -68,6 +68,7 @@ import es.verdnatura.presentation.view.feature.sacador.fragment.SacadorFragment
import es.verdnatura.presentation.view.feature.sacador.fragment.showticket.ShowTicketFragment
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
import es.verdnatura.presentation.view.feature.shelvingparking.fragment.ShelvingParkingFragment
import es.verdnatura.presentation.view.feature.ticket.fragment.TicketAdvanceFragment
import es.verdnatura.presentation.view.feature.ubicador.fragment.AutomaticAddItemFragment
import es.verdnatura.presentation.view.feature.ubicador.fragment.UbicadorFragment
import es.verdnatura.presentation.view.feature.workermistake.adapter.WorkermistakeFragment
@ -110,7 +111,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
val extras = intent.extras
val uriImage = intent.data
if (extras != null && extras.containsKey("menu")) {
comeFromDelivery = true
val option = extras.getString("menu")
@ -737,6 +737,12 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
)
}
getString(R.string.ticketAdvance) -> {
addFragmentOnTop(
TicketAdvanceFragment.newInstance(item.title)
)
}
getString(R.string.testing) -> {
// addFragmentOnTop(
// PhotosFragment.newInstance(item.title))

View File

@ -119,7 +119,6 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
)
)
//Tarea 4940
_pasillerositem.add(
PasillerosItemVO(
1,
@ -133,18 +132,18 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
)
//Tarea 4979
/* _pasillerositem.add(
//Tarea 5651
_pasillerositem.add(
PasillerosItemVO(
1,
R.drawable.ic_category,
contextApp.getString(R.string.categoryChange),
R.string.titleChangeCategory,
R.drawable.ic_advance_ticket,
contextApp.getString(R.string.ticketAdvance),
R.string.ticketAdvance,
contextApp.getString(
R.string.titleChangeCategory
R.string.ticketAdvanceDescrip
)
)
)*/
)
_pasillerositem.add(

View File

@ -0,0 +1,84 @@
package es.verdnatura.presentation.view.feature.ticket.fragment
import android.view.View.GONE
import android.view.View.VISIBLE
import android.view.inputmethod.EditorInfo
import es.verdnatura.R
import es.verdnatura.databinding.FragmentGeneralBlackBinding
import es.verdnatura.presentation.base.BaseFragment
class TicketAdvanceFragment(var title: String) :
BaseFragment<FragmentGeneralBlackBinding, TicketViewModel>(
TicketViewModel::class
) {
override fun getLayoutId(): Int = R.layout.fragment_general_black
companion object {
fun newInstance(title: String) = TicketAdvanceFragment(title = title)
}
override fun init() {
binding.scanInput.visibility = VISIBLE
binding.scanInput.hint = getString(R.string.scanLabelTicket)
binding.mainToolbar.toolbarTitle.text = title
binding.splashProgress.visibility = GONE
setEvents()
super.init()
}
private fun setEvents() {
binding.mainToolbar.backButton.setOnClickListener {
requireActivity().onBackPressed()
}
binding.scanInput.requestFocus()
binding.scanInput.setOnEditorActionListener { v, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
if (!binding.scanInput.text.isNullOrEmpty()) {
binding.splashProgress.visibility = VISIBLE
try {
viewModel.ticket_advancePackaging(
binding.scanInput.text.toString().toInt(),
getDataInt(USERFK)
)
} catch (ex: Exception) {
getString(R.string.ticketFormatError)
}
}
binding.scanInput.setText("")
ma.hideKeyboard(binding.scanInput)
return@setOnEditorActionListener true
}
false
}
}
override fun observeViewModel() {
with(viewModel) {
response.observe(viewLifecycleOwner) {
binding.splashProgress.visibility = GONE
ma.messageWithSound(
if (it.isError) {
it.errorMessage
} else {
getString(R.string.ticketAdvancePagkaging)
}, it.isError, true, isToasted = true
)
}
}
}
}

View File

@ -0,0 +1,47 @@
package es.verdnatura.presentation.view.feature.ticket.fragment
import android.content.Context
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import es.verdnatura.domain.SilexCallback
import es.verdnatura.presentation.base.BaseViewModel
import es.verdnatura.presentation.base.getMessageFromAllResponse
import es.verdnatura.presentation.base.nameofFunction
import es.verdnatura.presentation.common.ResponseItemVO
import es.verdnatura.presentation.common.packingSiteSalix
import retrofit2.Response
class TicketViewModel(val context: Context) : BaseViewModel(context) {
private val _response by lazy { MutableLiveData<ResponseItemVO>() }
val response: LiveData<ResponseItemVO>
get() = _response
fun ticket_advancePackaging(
ticketFk: Int,
workerFk: Int
) {
salix.ticket_advancePackaging(packingSiteSalix(ticketFk, workerFk))
.enqueue(object : SilexCallback<Void>(context) {
override fun onError(t: Throwable) {
_response.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
)
}
override fun onSuccess(response: Response<Void>) {
_response.value =
ResponseItemVO(isError = false, response = response.message())
}
})
}
}

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="#F7931E">
<path
android:fillColor="@android:color/white"
android:pathData="M255,719L213,677L411,479L213,281L255,239L495,479L255,719ZM508,719L466,677L664,479L466,281L508,239L748,479L508,719Z"/>
</vector>

View File

@ -594,5 +594,10 @@
<string name="messageUploadItem">Tienes que escanear el artículo para poder subirlo</string>
<string name="messageUpload">Sube la imagen al servidor</string>
<string name="selectImage">Seleccionar imagen</string>
<string name="ticketAdvance">Avanzar ticket encajado</string>
<string name="ticketAdvanceDescrip">Permite avanzar un ticket para que sea encajado</string>
<string name="scanLabelTicket">Escanea ticket</string>
<string name="ticketAdvancePagkaging">El ticket ya puede ser encajado</string>
<string name="ticketFormatError">El ticket escaneado no tiene un formato correcto</string>
</resources>

View File

@ -594,5 +594,10 @@
<string name="messageUploadItem">Tienes que escanear el artículo para poder subirlo</string>
<string name="messageUpload">Sube la imagen al servidor</string>
<string name="selectImage">Seleccionar imagen</string>
<string name="ticketAdvance">Avanzar ticket encajado</string>
<string name="ticketAdvanceDescrip">Permite avanzar un ticket para que sea encajado</string>
<string name="scanLabelTicket">Escanea ticket</string>
<string name="ticketAdvancePagkaging">El ticket ya puede ser encajado</string>
<string name="ticketFormatError">El ticket escaneado no tiene un formato correcto</string>
</resources>

View File

@ -594,5 +594,10 @@
<string name="messageUploadItem">Tienes que escanear el artículo para poder subirlo</string>
<string name="messageUpload">Sube la imagen al servidor</string>
<string name="selectImage">Seleccionar imagen</string>
<string name="ticketAdvance">Avanzar ticket encajado</string>
<string name="ticketAdvanceDescrip">Permite avanzar un ticket para que sea encajado</string>
<string name="scanLabelTicket">Escanea ticket</string>
<string name="ticketAdvancePagkaging">El ticket ya puede ser encajado</string>
<string name="ticketFormatError">El ticket escaneado no tiene un formato correcto</string>
</resources>

View File

@ -593,4 +593,9 @@
<string name="messageUploadItem">Tienes que escanear el artículo para poder subirlo</string>
<string name="messageUpload">Sube la imagen al servidor</string>
<string name="selectImage">Seleccionar imagen</string>
<string name="ticketAdvance">Avanzar ticket encajado</string>
<string name="ticketAdvanceDescrip">Permite avanzar un ticket para que sea encajado</string>
<string name="scanLabelTicket">Escanea ticket</string>
<string name="ticketAdvancePagkaging">El ticket ya puede ser encajado</string>
<string name="ticketFormatError">El ticket escaneado no tiene un formato correcto</string>
</resources>