Version 8.5.2Beta, quitado color del item, quitado back de revisor y control de previa solo sus líneas

This commit is contained in:
Sergio De la torre 2022-06-16 10:54:11 +02:00
parent 588b5d2a07
commit edfa831a84
28 changed files with 1649 additions and 90 deletions

View File

@ -104,6 +104,7 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_playlist_add_black_24dp.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_playlist_add_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_print_black_24dp.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_print_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_qr_ui.xml" value="0.212" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_qr_ui.xml" value="0.212" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_reubication.xml" value="0.138" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_send_black_24dp.xml" value="0.134375" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_send_black_24dp.xml" value="0.134375" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_setting_ui.xml" value="0.26" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_setting_ui.xml" value="0.26" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_setting_ui_selected.xml" value="0.26" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_setting_ui_selected.xml" value="0.26" />
@ -187,6 +188,7 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_pasillero.xml" value="0.21" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_pasillero.xml" value="0.21" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_pre_sacador.xml" value="0.3333333333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_pre_sacador.xml" value="0.3333333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_qr.xml" value="0.19882246376811594" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_qr.xml" value="0.19882246376811594" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_reubication_collection.xml" value="0.22083333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_sacador.xml" value="0.12952898550724637" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_sacador.xml" value="0.12952898550724637" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_sacador_associatesmarttag.xml" value="0.22" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_sacador_associatesmarttag.xml" value="0.22" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_shelving_parking.xml" value="0.1793478260869565" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_shelving_parking.xml" value="0.1793478260869565" />
@ -202,6 +204,7 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row.xml" value="0.3333333333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row.xml" value="0.3333333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row_fragment.xml" value="0.3333333333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row_fragment.xml" value="0.3333333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row_presacador.xml" value="0.4466666666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row_presacador.xml" value="0.4466666666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row_reubication_fragment.xml" value="0.36614583333333334" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_barcode_row.xml" value="0.15579710144927536" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_barcode_row.xml" value="0.15579710144927536" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_buyer_row.xml" value="0.1793478260869565" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_buyer_row.xml" value="0.1793478260869565" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_card_row.xml" value="0.2269021739130435" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_card_row.xml" value="0.2269021739130435" />

View File

@ -11,10 +11,11 @@ android {
defaultConfig { defaultConfig {
applicationId "es.verdnatura" applicationId "es.verdnatura"
minSdkVersion 21 minSdkVersion 26 //21
targetSdkVersion 30 targetSdkVersion 30
versionCode 122 versionCode 123
versionName = "8.5.1Beta" versionName = "8.5.2Beta"
//versionName = "8.5.1Beta" versionCode 122
//versionName = "8.5Beta" //versionCode 121 //versionName = "8.5Beta" //versionCode 121
//versionName = "8.4"// versionCode 120 //versionName = "8.4"// versionCode 120
//versionName "8.4.2Beta" versioncode 119 //versionName "8.4.2Beta" versioncode 119

Binary file not shown.

View File

@ -11,8 +11,8 @@
"type": "SINGLE", "type": "SINGLE",
"filters": [], "filters": [],
"attributes": [], "attributes": [],
"versionCode": 122, "versionCode": 123,
"versionName": "8.5.1Beta", "versionName": "8.5.2Beta",
"outputFile": "app-release.apk" "outputFile": "app-release.apk"
} }
], ],

Binary file not shown.

View File

@ -1,6 +1,7 @@
package es.verdnatura.domain package es.verdnatura.domain
import android.content.Context import android.content.Context
import es.verdnatura.presentation.view.feature.reubication.model.Reubication
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorVO import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorVO
import retrofit2.Call import retrofit2.Call
@ -167,6 +168,26 @@ class GetUbicadorUserCase(context: Context) : RestClient(context) {
) )
} }
fun itemShelving_return(
usuario: String,
password: String,
shelvingFk: String
): Call<List<Reubication>> {
val params: ArrayList<String> = ArrayList()
params.add(shelvingFk)
return restClient!!.itemShelving_return(
"json",
"1",
usuario,
password,
"application/json",
params
)
}
fun clearShelvingList(usuario: String, password: String, shelvingFk: String): Call<Any> { fun clearShelvingList(usuario: String, password: String, shelvingFk: String): Call<Any> {
val params: ArrayList<String> = ArrayList() val params: ArrayList<String> = ArrayList()
params.add(shelvingFk) params.add(shelvingFk)
@ -198,7 +219,24 @@ class GetUbicadorUserCase(context: Context) : RestClient(context) {
params params
) )
} }
fun itemShelving_merge(
usuario: String,
password: String,
vShelf: String,
vShelvingFk: String,
): Call<Any> {
val params: ArrayList<String> = ArrayList()
params.add(vShelf)
params.add(vShelvingFk)
return restClient!!.itemShelving_merge(
"json",
"1",
usuario,
password,
"application/json",
params
)
}
fun itemShelvingDelete(usuario: String, password: String, itemFk: String): Call<Any> { fun itemShelvingDelete(usuario: String, password: String, itemFk: String): Call<Any> {
val params: ArrayList<String> = ArrayList() val params: ArrayList<String> = ArrayList()
params.add(itemFk) params.add(itemFk)

View File

@ -22,6 +22,7 @@ import es.verdnatura.presentation.view.feature.login.model.LoginDevice
import es.verdnatura.presentation.view.feature.login.model.versionApp import es.verdnatura.presentation.view.feature.login.model.versionApp
import es.verdnatura.presentation.view.feature.paletizador.model.* import es.verdnatura.presentation.view.feature.paletizador.model.*
import es.verdnatura.presentation.view.feature.presacador.model.PreSacadorItemVO import es.verdnatura.presentation.view.feature.presacador.model.PreSacadorItemVO
import es.verdnatura.presentation.view.feature.reubication.model.Reubication
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
import es.verdnatura.presentation.view.feature.sacador.model.MistakeTypeVO import es.verdnatura.presentation.view.feature.sacador.model.MistakeTypeVO
import es.verdnatura.presentation.view.feature.sacador.model.PlacementSupplyVO import es.verdnatura.presentation.view.feature.sacador.model.PlacementSupplyVO
@ -1024,6 +1025,18 @@ interface VerdnaturaService {
): ):
Call<Any> Call<Any>
@POST("almacennew/itemShelving_return")
fun itemShelving_return(
@Header("aplicacion") aplicacion: String,
@Header("version") version: String,
@Header("user") user: String,
@Header("pass") pass: String,
@Header("Content-Type") content_type: String,
@Body params: List<String>
):
Call<List<Reubication>>
@POST("almacennew/clearShelvingList")//REVISADA @POST("almacennew/clearShelvingList")//REVISADA
fun clearShelvingList( fun clearShelvingList(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@ -1046,6 +1059,17 @@ interface VerdnaturaService {
): ):
Call<Any> Call<Any>
@POST("almacennew/itemShelving_merge")//REVISADA
fun itemShelving_merge(
@Header("aplicacion") aplicacion: String,
@Header("version") version: String,
@Header("user") user: String,
@Header("pass") pass: String,
@Header("Content-Type") content_type: String,
@Body params: List<String>
):
Call<Any>
@POST("almacennew/itemShelvingDelete")//REVISADA @POST("almacennew/itemShelvingDelete")//REVISADA
fun itemShelvingDelete( fun itemShelvingDelete(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,

View File

@ -12,6 +12,7 @@ import es.verdnatura.presentation.view.feature.paletizador.model.ItemExpeditionS
import es.verdnatura.presentation.view.feature.paletizador.model.ItemExpeditionTruckVO import es.verdnatura.presentation.view.feature.paletizador.model.ItemExpeditionTruckVO
import es.verdnatura.presentation.view.feature.paletizador.model.ItemPalletVO import es.verdnatura.presentation.view.feature.paletizador.model.ItemPalletVO
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
import es.verdnatura.presentation.view.feature.reubication.model.Reubication
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
import es.verdnatura.presentation.view.feature.sacador.model.SaleVO import es.verdnatura.presentation.view.feature.sacador.model.SaleVO
import es.verdnatura.presentation.view.feature.smarttag.model.SmartTag import es.verdnatura.presentation.view.feature.smarttag.model.SmartTag
@ -127,6 +128,10 @@ interface OnSaleClickListener {
fun onSaleClick(sale: SaleVO) fun onSaleClick(sale: SaleVO)
} }
interface OnReubicationClickListener {
fun onReubicationClick(reubication: Reubication)
}
interface OnMistakeClickListener { interface OnMistakeClickListener {
fun onMistakeClickListener(sale: SaleVO) fun onMistakeClickListener(sale: SaleVO)
} }

View File

@ -126,7 +126,7 @@ class SaleAdapter(
} }
paintTicketcolor(sale.level, itemTicketColor) paintTicketcolor(sale.level, itemTicketColor)
paintTicketcolor(sale.color, itemColor) //paintTicketcolor(sale.color, itemColor)
if (!sale.isNew && sale.originalQuantity == sale.quantity) { if (!sale.isNew && sale.originalQuantity == sale.quantity) {

View File

@ -9,6 +9,7 @@ import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.speech.SpeechRecognizer import android.speech.SpeechRecognizer
import android.util.Log
import android.view.View import android.view.View
import android.view.View.GONE import android.view.View.GONE
import android.view.View.VISIBLE import android.view.View.VISIBLE
@ -63,6 +64,7 @@ class CollectionFragment(
private lateinit var customDialog: CustomDialog private lateinit var customDialog: CustomDialog
private var goBack: Boolean = false private var goBack: Boolean = false
private var goBack2: Boolean = false private var goBack2: Boolean = false
private var goMistakeBack:Boolean=false
var mperror: MediaPlayer? = null var mperror: MediaPlayer? = null
var mpok: MediaPlayer? = null var mpok: MediaPlayer? = null
private var itemShelvingFkStored: String = "" private var itemShelvingFkStored: String = ""
@ -109,7 +111,7 @@ class CollectionFragment(
mperror = MediaPlayer.create((activity as MainActivity), R.raw.error) mperror = MediaPlayer.create((activity as MainActivity), R.raw.error)
mpok = MediaPlayer.create((activity as MainActivity), R.raw.ok) mpok = MediaPlayer.create((activity as MainActivity), R.raw.ok)
Log.d("VERDNATURA::","El type es "+type)
if ((collection.collectionFk != null) && type.equals(CONTROLADOR)) { if ((collection.collectionFk != null) && type.equals(CONTROLADOR)) {
@ -134,12 +136,12 @@ class CollectionFragment(
) )
} }
//sergio:falta subir
// get_salesModifiedFromTicket()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
} }
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
scanRequest() scanRequest()
} }
@ -167,6 +169,8 @@ class CollectionFragment(
super.onPause() super.onPause()
goBack = true goBack = true
goBack2 = true goBack2 = true
goMistakeBack = true
} }
private fun setToolBar() { private fun setToolBar() {
@ -245,6 +249,7 @@ class CollectionFragment(
/* var working_in_test = true // sergio: en proves app /* var working_in_test = true // sergio: en proves app
if (working_in_test) {*/ if (working_in_test) {*/
goMistakeBack=false
viewModel.sip_getExtensionSalix(getData(TOKEN), workerFkFromTicket) viewModel.sip_getExtensionSalix(getData(TOKEN), workerFkFromTicket)
/* } else { /* } else {
viewModel.sip_getExtension( viewModel.sip_getExtension(
@ -594,28 +599,29 @@ class CollectionFragment(
binding.splashProgress.visibility = GONE binding.splashProgress.visibility = GONE
if (it.isError) { if (it.isError) {
if (!goBack) if (!goMistakeBack)
ma.messageWithSound( ma.messageWithSound(
getString(R.string.noSIP) + it.errorMessage + getString(R.string.user) + workerFkFromTicket, getString(R.string.noSIP) + it.errorMessage + getString(R.string.user) + workerFkFromTicket,
isError = true, isError = true,
true true
) )
goBack = false
} else {
if (!goBack)
callPicker(it.response)
goBack = false
}
} else {
if (!goMistakeBack)
callPicker(it.response)
}
goMistakeBack=true
}) })
mistakeList.observe(viewLifecycleOwner, Observer { mistakeList.observe(viewLifecycleOwner, Observer {
if (binding.splashProgress != null) binding.splashProgress.visibility = GONE if (binding.splashProgress != null) binding.splashProgress.visibility = GONE
/*sergio:se quita y se pone esta comprobacion porque si no aparece de nuevo otra vez al volver atrás */ /*sergio:se quita y se pone esta comprobacion porque si no aparece de nuevo otra vez al volver atrás */
if (!goBack)
if (!goMistakeBack)
showMistakeList(it.list) showMistakeList(it.list)
goBack = false goMistakeBack=true
}) })
//sergio: para si hay algun ticket por revisar //sergio: para si hay algun ticket por revisar
responsecheckfully.observe(viewLifecycleOwner, Observer { responsecheckfully.observe(viewLifecycleOwner, Observer {
@ -807,19 +813,18 @@ class CollectionFragment(
salesList.add(saleVO) salesList.add(saleVO)
if (tickets.firstOrNull { it == saleVO.ticketFk }.isNullOrEmpty()) if (tickets.firstOrNull { it == saleVO.ticketFk }.isNullOrEmpty())
tickets.add(saleVO.ticketFk) tickets.add(saleVO.ticketFk)
//Refactor #4030// } else if (type == CONTROLADOR) {
} else if (type == CONTROLADOR || type == PRECHECKER) {
salesList.add(saleVO) salesList.add(saleVO)
if (tickets.firstOrNull { it == saleVO.ticketFk }.isNullOrEmpty()) if (tickets.firstOrNull { it == saleVO.ticketFk }.isNullOrEmpty())
tickets.add(saleVO.ticketFk) tickets.add(saleVO.ticketFk)
}//Refactor #4030// }//Refactor #4030//
/*else if (type==PRECHECKER){ else if (type==PRECHECKER){
if (saleVO.saleGroupFk!=""){ if (saleVO.saleGroupFk!=""){
salesList.add(saleVO) salesList.add(saleVO)
if (tickets.firstOrNull { it == saleVO.ticketFk }.isNullOrEmpty()) if (tickets.firstOrNull { it == saleVO.ticketFk }.isNullOrEmpty())
tickets.add(saleVO.ticketFk) tickets.add(saleVO.ticketFk)
} }
}*/ }
} }
observations = observations + " " + ticket.observations observations = observations + " " + ticket.observations
@ -884,6 +889,7 @@ class CollectionFragment(
if (binding.splashProgress != null) binding.splashProgress.visibility = if (binding.splashProgress != null) binding.splashProgress.visibility =
View.VISIBLE View.VISIBLE
mistakeSale = sale mistakeSale = sale
goMistakeBack=false
viewModel.mistakeType( viewModel.mistakeType(
usuario = getData(USER), usuario = getData(USER),
getData(PASSWORD) getData(PASSWORD)
@ -943,6 +949,7 @@ class CollectionFragment(
goBack = false goBack = false
goBack2 = false goBack2 = false
if (type == SACADOR) { if (type == SACADOR) {
for (saleVO in sales) { for (saleVO in sales) {
//sergio: pita si encuentra ticket o el saleGroupFk //sergio: pita si encuentra ticket o el saleGroupFk
@ -1811,15 +1818,15 @@ class CollectionFragment(
} else if (it.quantity == "0") { } else if (it.quantity == "0") {
totalMark += 1 totalMark += 1
} }
} else if (type == CONTROLADOR || type == PRECHECKER) { } else if (type == CONTROLADOR ) {
if (it.isControlled == "1" || it.isControlled == "2") if (it.isControlled == "1" || it.isControlled == "2")
totalMark += 1 totalMark += 1
}/*//Refactor #4030 }//Refactor #4030
else if(type==PRECHECKER){//Refactor #4030 else if(type==PRECHECKER){
if (it.isPreControlled == "1"){totalMark += 1} if (it.isPreControlled == "1"){totalMark += 1}
}*/ }
} }
if (binding.mainToolbar.toolbarTitle != null) binding.mainToolbar.toolbarTitle.text = if (binding.mainToolbar.toolbarTitle != null) binding.mainToolbar.toolbarTitle.text =
@ -2365,17 +2372,16 @@ class CollectionFragment(
} }
////Refactor #4030 ////Refactor #4030
}/*else if (type==PRECHECKER){ } else if (type == PRECHECKER) {
tickets.forEach { tickets.forEach {
viewModel.ticket_setState( viewModel.ticket_setState(
usuario = getData(USER), usuario = getData(USER),
password = getData(PASSWORD), password = getData(PASSWORD),
ticketFk = it, ticketFk = it,
state = "PREVIOUS_CONTROLLED", state = "PREVIOUS_CONTROLLED"
callFunction = "ticket_setState"
) )
}
} }
}*/
} }
/* private fun changeInitTicketState() { /* private fun changeInitTicketState() {

View File

@ -1,11 +1,23 @@
package es.verdnatura.presentation.view.feature.controlador.fragment package es.verdnatura.presentation.view.feature.controlador.fragment
import android.content.Context
import android.graphics.drawable.Drawable
import android.os.Build
import android.print.PrintAttributes
import android.print.PrintManager
import android.webkit.WebChromeClient import android.webkit.WebChromeClient
import android.webkit.WebView
import android.widget.ImageView
import androidx.recyclerview.widget.LinearLayoutManager
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.FragmentWebBinding import es.verdnatura.databinding.FragmentWebBinding
import es.verdnatura.domain.ConstAndValues
import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnOptionsSelectedListener
import es.verdnatura.presentation.common.ToolBarAdapterTooltip
import es.verdnatura.presentation.view.component.CustomDialog import es.verdnatura.presentation.view.component.CustomDialog
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
class WebFragment( class WebFragment(
@ -59,10 +71,60 @@ class WebFragment(
binding.mainToolbar.toolbarTitle.text = getString(R.string.item)+entryPoint binding.mainToolbar.toolbarTitle.text = getString(R.string.item)+entryPoint
// binding.splashProgress.visibility= View.GONE // binding.splashProgress.visibility= View.GONE
val listIcons: ArrayList<ImageView> = ArrayList()
val iconPrint = ImageView(context)
iconPrint.setImageResource(R.drawable.ic_print_black_24dp)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
iconPrint.tooltipText = getTooltip(R.drawable.ic_print_black_24dp)
}
//listIcons.add(iconPrint)
binding.mainToolbar.toolbarIcons.adapter =
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
override fun onOptionsItemSelected(item: Drawable) {
when (item) {
iconPrint.drawable -> createWebPrintJob(binding.webView)
}
}
})
binding.mainToolbar.toolbarIcons.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
} }
private fun createWebPrintJob(webView: WebView) {
// Get a PrintManager instance
(activity?.getSystemService(Context.PRINT_SERVICE) as? PrintManager)?.let { printManager ->
val jobName = "${getString(R.string.app_name)} Document"
// Get a print adapter instance
val printAdapter = webView.createPrintDocumentAdapter(jobName)
// Create a print job with name and adapter instance
printManager.print(
jobName,
printAdapter,
PrintAttributes.Builder().build()
).also { printJob ->
// Save the job object for later status checking
// printJobs += printJob
}
}
}
} }

View File

@ -50,9 +50,11 @@ import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
import es.verdnatura.presentation.view.feature.precontrol.PreControladorFragment import es.verdnatura.presentation.view.feature.precontrol.PreControladorFragment
import es.verdnatura.presentation.view.feature.presacador.fragment.EndSacadorFragment import es.verdnatura.presentation.view.feature.presacador.fragment.EndSacadorFragment
import es.verdnatura.presentation.view.feature.presacador.fragment.InitPreSacadorFragment import es.verdnatura.presentation.view.feature.presacador.fragment.InitPreSacadorFragment
import es.verdnatura.presentation.view.feature.presacador.fragment.PreSacadorFragment
import es.verdnatura.presentation.view.feature.qr.QrFragment import es.verdnatura.presentation.view.feature.qr.QrFragment
import es.verdnatura.presentation.view.feature.reposicion.fragment.ReposicionFragment import es.verdnatura.presentation.view.feature.reposicion.fragment.ReposicionFragment
import es.verdnatura.presentation.view.feature.reubication.fragment.ReubicationCollectionFragment
import es.verdnatura.presentation.view.feature.reubication.fragment.ReubicationFragment
import es.verdnatura.presentation.view.feature.reubication.model.Reubication
import es.verdnatura.presentation.view.feature.sacador.fragment.SacadorFragment import es.verdnatura.presentation.view.feature.sacador.fragment.SacadorFragment
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
import es.verdnatura.presentation.view.feature.shelvingparking.fragment.ShelvingParkingFragment import es.verdnatura.presentation.view.feature.shelvingparking.fragment.ShelvingParkingFragment
@ -499,7 +501,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
addFragmentOnTop(ClaimFragment.newInstance(item.title)) addFragmentOnTop(ClaimFragment.newInstance(item.title))
} }
getString(R.string.titleReUbicator) -> {
addFragmentOnTop(ReubicationFragment.newInstance(item.title))
}
} }
} }
@ -630,6 +634,12 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
} }
fun openFragmentReubications(list: List<Reubication>,shelving:String) {
addFragmentOnTop(ReubicationCollectionFragment.newInstance(list,shelving))
}
fun hideBottomNavigation(visible: Int) { fun hideBottomNavigation(visible: Int) {
binding.mainBottomNavigation.visibility = visible binding.mainBottomNavigation.visibility = visible
} }

View File

@ -119,6 +119,19 @@ class PasilleroViewModel(context: Context) : BaseViewModel() {
) )
) )
//Tarea #3754 --> Falta arreglar la colección que se le pasa a ReubicationCollectionFragment y diseño más visual
/* _pasillerositem.add(
PasillerosItemVO(
1,
R.drawable.ic_reubication,
contextApp.getString(R.string.titleReUbicator),
R.string.titleReUbicator,
contextApp.getString(
R.string.titleReubicatorDescrip
)
)
)*/
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
3, 3,

View File

@ -5,6 +5,7 @@ import android.graphics.drawable.Drawable
import android.media.MediaPlayer import android.media.MediaPlayer
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.view.View import android.view.View
import android.view.View.GONE import android.view.View.GONE
import android.view.View.VISIBLE import android.view.View.VISIBLE
@ -107,7 +108,6 @@ class EndSacadorFragment(
binding.mainToolbar.toolbarTitle.text = getString(R.string.getticketpre) binding.mainToolbar.toolbarTitle.text = getString(R.string.getticketpre)
setToolBar() setToolBar()
setEvents() setEvents()
searchSaleCollection() searchSaleCollection()
super.init() super.init()
} }

View File

@ -0,0 +1,454 @@
package es.verdnatura.presentation.view.feature.reubication.adapter
import android.content.Context
import android.graphics.BlendMode
import android.graphics.BlendModeColorFilter
import android.graphics.Color
import android.graphics.PorterDuff
import android.os.Build
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat.getColor
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import es.verdnatura.R
import es.verdnatura.databinding.ItemArticleRowFragmentBinding
import es.verdnatura.databinding.ItemArticleRowReubicationFragmentBinding
import es.verdnatura.presentation.common.*
import es.verdnatura.presentation.view.feature.collection.adapter.PlacementAdapter
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
import es.verdnatura.presentation.view.feature.reubication.model.Reubication
import es.verdnatura.presentation.view.feature.sacador.model.SaleVO
class ReubicatorAdapter(
private val items: List<Reubication>,
private val onPasillerosItemClickListener: OnPasillerosItemClickListener,
private val onReubicationClickListener: OnReubicationClickListener
/*private val onQuantityClick: OnQuantityClickListener,
private val onSaleClickListener: OnSaleClickListener,
private val onMistakeClickListener: OnMistakeClickListener,
private val onPackingClick: onPackingClickListener,*/
) : RecyclerView.Adapter<ReubicatorAdapter.AjustesItemHolder>() {
var context: Context? = null
var position: Int = 0
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AjustesItemHolder {
this.context = parent.context
return AjustesItemHolder(
ItemArticleRowReubicationFragmentBinding.inflate(
LayoutInflater.from(parent.context),
parent,
false
)
)
}
override fun getItemCount() = items.size
override fun onBindViewHolder(holder: AjustesItemHolder, position: Int) {
this.position = position
holder.bind(items[position])
}
inner class AjustesItemHolder(
val binding: ItemArticleRowReubicationFragmentBinding
) : RecyclerView.ViewHolder(binding.root) {
fun bind(reubication: Reubication) {
binding.apply {
itemArticleItemFk.setOnClickListener {
onPasillerosItemClickListener.onPasillerosItemClickListener(
PasillerosItemVO(
title = binding.root.context.getString(R.string.titleItemConsult)
), reubication.itemFk
)}
contentLayout.setOnClickListener {
onReubicationClickListener.onReubicationClick(reubication)
}
/* if (sale.pickedQuantity.isNullOrEmpty())
sale.pickedQuantity = "0"
val childLayoutManager =
LinearLayoutManager(context!!, RecyclerView.HORIZONTAL, false)
itemArticlePlacements.apply {
layoutManager = childLayoutManager
adapter = PlacementAdapter(sale.placements, onPasillerosItemClickListener)
}*/
//CLICK EVENTS
/*
itemArticleItemFk.setOnClickListener {
onPasillerosItemClickListener.onPasillerosItemClickListener(
PasillerosItemVO(
title = binding.root.context.getString(R.string.titleItemConsult)
), sale.itemFk
)
}
itemPackingItemFk.setOnClickListener {
onPackingClick.onPackingClick(sale)
}
itemArticleQuantity.setOnClickListener {
onQuantityClick.onQuantityClick(sale)
}
itemArticleQuantityPicked.setOnClickListener {
onQuantityClick.onQuantityClick(sale)
}
txtde.setOnClickListener {
onQuantityClick.onQuantityClick(sale)
}*/
contentLayout.setOnLongClickListener {
//"Nueva funcionalidad en el icono de la derecha".toast(context!!)
//onMistakeClickListener.onMistakeClickListener(sale)
false
}
/*itemRowLayout.setOnLongClickListener{
onMistakeClickListener.onMistakeClickListener(sale)
false
}*/
/* imageErrorMessage.setOnClickListener {
onMistakeClickListener.onMistakeClickListener(sale)
false
}
//ERROR
if (sale.originalQuantity != sale.quantity) {
layoutError.visibility = View.VISIBLE
txtError.text = binding.root.context.getString(R.string.originalQuantity) + sale.originalQuantity
if (sale.isPrepared == "1" || sale.isControlled == "1")
sale.pickedQuantity = sale.quantity
}
if (sale.isNew) {
layoutError.visibility = View.VISIBLE
txtError.text = binding.root.context.getString(R.string.newItem)
}
// paintTicketcolor(sale.level, itemTicketColor)
// paintTicketcolor(sale.color, itemColor)
if (!sale.isNew && sale.originalQuantity == sale.quantity) {
layoutError.visibility = View.GONE
}
*/
//SEMAFORO
/* if (sale.isPreviousPrepared == "1") {
itemArticleRowSemaforoPre.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_dark_sky_blue
)
)
} else {
itemArticleRowSemaforoPre.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_warm_grey
)
)
}
if (sale.isPrepared == "1") {
itemArticleRowSemaforoSac.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_pumpkin_orange
)
)
} else {
itemArticleRowSemaforoSac.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_warm_grey
)
)
}
if (sale.isControlled == "1") {
itemArticleRowSemaforoCon.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_dark_mint
)
)
} else {
itemArticleRowSemaforoCon.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_warm_grey
)
)
}
if (sale.isControlled == "1") {
contentLayout.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_dark_mint
)
)
} else if (sale.isPrepared == "1") {
contentLayout.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_pumpkin_orange
)
)
} *//*else if (sale.isPreviousPrepared == "1") {
contentLayout.setBackgroundColor(
getColor(
context!!,
R.color.verdnatura_dark_sky_blue
)
)
}*//* else if (sale.isPreControlled == "1") {
contentLayout.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_dark_mint_light_precontrolled
)
)
itemArticleRowSemaforoCon.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_dark_mint_light_precontrolled
)
)
} else if (sale.isPreviousPrepared == "1") {
contentLayout.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_dark_sky_blue
)
)
} else {
contentLayout.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_black
)
)
}
//sergio: para de momento que pinten las lineas sin actualizar ni nada
if (sale.isControlled == "2") {
itemArticleRowSemaforoCon.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_white
)
)
contentLayout.setBackgroundColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_dark_mint_light
)
)
}*/
//ASIGNAMOS VALOR A LA VSITA
this.reubication = reubication
}
}
}
/* private fun paintTicketcolor(color: String, itemView: View) {
when (color.uppercase().trim()) {
"ROJO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.RED, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP)
}
// itemView.background.setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP)
"AMARILLO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.YELLOW, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.YELLOW, PorterDuff.Mode.SRC_ATOP)
}
"VERDE" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.GREEN, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.GREEN, PorterDuff.Mode.SRC_ATOP)
}
"AZUL" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.BLUE, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP)
}
"BLANCO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.WHITE, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP)
}
// "NEGRO"-> itemView.setBackgroundResource((R.drawable.rectangle))
"NEGRO" -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.BLACK, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.BLACK, PorterDuff.Mode.SRC_ATOP)
}
itemView.setBackgroundResource((R.drawable.border))
}
"VIOLETA" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFF4c2882.toInt(), BlendMode.SRC_ATOP)
// BlendModeColorFilter(Color.YELLOW, BlendMode.SRC_ATOP)
//Log.d("VERDNATURA::", "EL COLOR ES " + color)
} else {
itemView.background.setColorFilter(0xFF4c2882.toInt(), PorterDuff.Mode.SRC_ATOP)
}
"GRIS" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.GRAY, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.GRAY, PorterDuff.Mode.SRC_ATOP)
}
"ORANGE" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(
ContextCompat.getColor(
context!!,
android.R.color.holo_orange_light
), BlendMode.SRC_ATOP
)
} else {
itemView.background.setColorFilter(
ContextCompat.getColor(
context!!,
android.R.color.holo_orange_light
), PorterDuff.Mode.SRC_ATOP
)
}
"MORADO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(
ContextCompat.getColor(
context!!,
android.R.color.holo_purple
), BlendMode.SRC_ATOP
)
} else {
itemView.background.setColorFilter(
ContextCompat.getColor(
context!!,
android.R.color.holo_purple
), PorterDuff.Mode.SRC_ATOP
)
}
"CELESTE" ->if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFF5b85F5.toInt(), BlendMode.SRC_ATOP)
}
"ROSA" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFFfc0fc0.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFFfc0fc0.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"DORADO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFFb8860b.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFFb8860b.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"MARRON" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFF663300.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFF663300.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"PERLA" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFFcdcecf.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFFcdcecf.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"MARFIL" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFFf7eada.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFFf7eada.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"CIAN" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFF00ffff.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFF00ffff.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"BEIGE" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFFf2e7bf.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFFf2e7bf.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
else -> {
// itemView.setBackgroundColor(Color.TRANSPARENT)
//itemView.setBackgroundResource(R.drawable.background_item_color)
// itemView.visibility=View.INVISIBLE
}
}
// itemTicketColor.setBackgroundResource((R.drawable.rectangle))
}*/
}

View File

@ -0,0 +1,215 @@
package es.verdnatura.presentation.view.feature.reubication.fragment
import android.annotation.SuppressLint
import android.content.Context
import android.text.Editable
import android.util.Log
import android.view.View.GONE
import android.view.View.VISIBLE
import android.view.inputmethod.EditorInfo
import androidx.recyclerview.widget.LinearLayoutManager
import es.verdnatura.R
import es.verdnatura.databinding.FragmentReubicationCollectionBinding
import es.verdnatura.domain.notNull
import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnPasillerosItemClickListener
import es.verdnatura.presentation.common.OnReubicationClickListener
import es.verdnatura.presentation.view.component.CustomDialogThreeButtons
import es.verdnatura.presentation.view.feature.reubication.adapter.ReubicatorAdapter
import es.verdnatura.presentation.view.feature.reubication.model.Reubication
import es.verdnatura.presentation.view.feature.ubicador.fragment.UbicadorViewModel
//Tarea #3754
class ReubicationCollectionFragment(
var list: List<Reubication>,
var shelving: String
) : BaseFragment<FragmentReubicationCollectionBinding, UbicadorViewModel>(
UbicadorViewModel::class
) {
private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null
private var adapter: ReubicatorAdapter? = null
private lateinit var customDialogThreeButtons: CustomDialogThreeButtons
companion object {
fun newInstance(
entryPoint: List<Reubication>,
shelving: String
): ReubicationCollectionFragment {
return ReubicationCollectionFragment(entryPoint, shelving)
}
}
override fun getLayoutId(): Int = R.layout.fragment_reubication_collection
override fun onAttach(context: Context) {
//sergio: necesario para pasarle el context al recyclerViewer
if (context is OnPasillerosItemClickListener) pasillerosItemClickListener = context
super.onAttach(context)
}
@SuppressLint("SetTextI18n")
override fun init() {
customDialogThreeButtons = CustomDialogThreeButtons(requireContext())
ma.hideBottomNavigation(GONE)
binding.splashProgress.visibility = GONE
binding.mainToolbar.toolbarTitle.text =
"${getString(R.string.wagoon)}:${shelving.uppercase()}"
setEvents()
for (item in list) {
Log.d("VERDNATURA::", "item " + item.itemFk)
}
showList(list)
super.init()
}
private fun showList(list: List<Reubication>) {
adapter = ReubicatorAdapter(list, pasillerosItemClickListener!!, object :
OnReubicationClickListener {
override fun onReubicationClick(reubication: Reubication) {
binding.splashProgress.visibility = VISIBLE
viewModel.itemShelving_merge(
getData(USER),
getData(PASSWORD),
reubication.id,
"xxx"
)
}
})
binding.reubicatorCollectionsRecycler.adapter = adapter
binding.reubicatorCollectionsRecycler.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
}
private fun setEvents() {
binding.mainToolbar.backButton.setOnClickListener {
requireActivity().onBackPressed()
}
binding.collectionSwipe.setOnRefreshListener {
callItemShelvingReturn()
binding.collectionSwipe.isRefreshing = false
}
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()) {
scanPlate(binding.scanInput.text.toString().uppercase())
}
binding.scanInput.setText("")
ma.hideKeyboard(binding.scanInput)
return@setOnEditorActionListener true
}
false
}
}
private fun scanPlate(plate: String) {
showLeaveItemDialog(plate)
/* for (items in list){
for (placements in items.placements!!){
if (placements.plate==plate){
Log.d("VERDNATURA::","Encontrada matrícula")
showLeaveItemDialog(plate)
}
}
}*/
}
private fun showLeaveItemDialog(plate: String) {
customDialogThreeButtons.setDescription("¿ Dejar item:XXX en el carro :$plate ?").setValue("1000")
.setOkButton(getString(R.string.leaveItem)) {
}.setKoButton(getString(R.string.cancel)) {
scanRequest()
customDialogThreeButtons.dismiss()
}.show()
}
private fun scanRequest() {
if (binding.scanInput != null) {
binding.scanInput.requestFocus()
}
}
override fun observeViewModel() {
with(viewModel) {
loadReubicationList.observe(viewLifecycleOwner) { event ->
event.getContentIfNotHandled().notNull {
binding.splashProgress.visibility = GONE
if (it.list.isEmpty()) {
ma.messageWithSound(
getString(R.string.errorReubication), true, true, getString(
R.string.info
)
)
} else {
if (it.list[0].isError) {
ma.messageWithSound(
it.list[0].errorMessage, true, true, getString(
R.string.info
)
)
} else {
showList(it.list)
}
}
}
}
response.observe(viewLifecycleOwner) {
binding.splashProgress.visibility = GONE
if (it.isError) {
ma.messageWithSound(it.errorMessage, true, true)
} else {
ma.messageWithSound(it.response, false, false, "", false)
callItemShelvingReturn()
}
}
}
}
private fun callItemShelvingReturn() {
binding.splashProgress.visibility = VISIBLE
viewModel.itemShelving_return(
usuario = getData(USER),
password = getData(PASSWORD),
shelvingFk = shelving,
)
}
}

View File

@ -0,0 +1,133 @@
package es.verdnatura.presentation.view.feature.reubication.fragment
import android.content.Context
import android.util.Log
import android.view.View
import android.view.View.GONE
import android.view.inputmethod.EditorInfo
import es.verdnatura.R
import es.verdnatura.databinding.FragmentControladorBinding
import es.verdnatura.domain.notNull
import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnCollectionSelectedListener
import es.verdnatura.presentation.view.feature.reubication.model.Reubication
import es.verdnatura.presentation.view.feature.ubicador.fragment.UbicadorViewModel
//Tarea #3754
class ReubicationFragment(var entrypoint: String) :
BaseFragment<FragmentControladorBinding, UbicadorViewModel>(
UbicadorViewModel::class
) {
private var goBack: Boolean = false
private var onCollectionSelectedListener: OnCollectionSelectedListener? = null
override fun getLayoutId(): Int = R.layout.fragment_controlador
private var shelvingScaned: String = ""
companion object {
fun newInstance(entrypoint: String) = ReubicationFragment(entrypoint = entrypoint)
}
override fun onAttach(context: Context) {
super.onAttach(context)
if (context is OnCollectionSelectedListener) onCollectionSelectedListener = context
}
override fun init() {
binding.mainToolbar.toolbarTitle.text = entrypoint
binding.splashProgress.visibility = GONE
setEvents()
super.init()
}
override fun onPause() {
goBack = true
super.onPause()
}
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) {
goBack = false
if (!binding.scanInput.text.isNullOrEmpty()) {
binding.splashProgress.visibility = View.VISIBLE
shelvingScaned = binding.scanInput.text.toString()
viewModel.itemShelving_return(
usuario = getData(USER),
password = getData(PASSWORD),
shelvingFk = binding.scanInput.text.toString(),
)
}
binding.scanInput.setText("")
ma.hideKeyboard(binding.scanInput)
return@setOnEditorActionListener true
}
false
}
}
override fun observeViewModel() {
with(viewModel) {
loadReubicationList.observe(viewLifecycleOwner) { event ->
event.getContentIfNotHandled().notNull {
binding.splashProgress.visibility = GONE
if (it.list.isEmpty()) {
ma.messageWithSound(
getString(R.string.errorReubication), true, true, getString(
R.string.info
)
)
} else {
if (it.list[0].isError) {
ma.messageWithSound(
it.list[0].errorMessage, true, true, getString(
R.string.info
)
)
} else {
createReubications(it.list)
}
}
}
}
}
}
private fun createReubications(list: List<Reubication>) {
for (item in list) {
if (item.shelvingFk != shelvingScaned && item.itemFk == "5987") {
// TODO("FALTA CREAR REUBICACIONES")
// item.placements!!.add(PlacementReubication(item.shelvingFk, item.visible))
}
}
Log.d("VERDNATURA::","LA MATRICULA ES "+shelvingScaned)
ma.openFragmentReubications(list,shelvingScaned)
}
}

View File

@ -0,0 +1,23 @@
package es.verdnatura.presentation.view.feature.reubication.model
class ReubicationList(
var list: List<Reubication> = listOf()
)
class Reubication(
var id: String = "",
var shelvingFk: String = "",
var code: String = "",
var itemFk: String = "",
var longName: String = "",
var visible: String = "",
var placements: MutableList<PlacementReubication>? = null,
var isError: Boolean,
var errorMessage: String
)
class PlacementReubication(
var plate: String = "",
var visible: String = "",
)

View File

@ -16,9 +16,10 @@ import retrofit2.Response
class ShowTicketViewModel(context: Context) : BaseViewModel() { class ShowTicketViewModel(context: Context) : BaseViewModel() {
private val contextApp=context private val contextApp=context
private val _collectionTicketList by lazy { MutableLiveData<CollectionVO>() }
private val getPreControladorUserCase: GetPreControladorUserCase = GetPreControladorUserCase(context) private val getPreControladorUserCase: GetPreControladorUserCase = GetPreControladorUserCase(context)
private val _collectionTicketList by lazy { MutableLiveData<CollectionVO>() }
val collectionTicketList: LiveData<CollectionVO> val collectionTicketList: LiveData<CollectionVO>
get() = _collectionTicketList get() = _collectionTicketList

View File

@ -222,7 +222,7 @@ class AssociateSmartTagsFragment(
return when (TagScaned) { return when (TagScaned) {
0 -> getString(R.string.scanned) 0 -> getString(R.string.scanned)
1 -> getString(R.string.wagon) 1 -> getString(R.string.wagoon)
2 -> getString(R.string.scanHighLabel) 2 -> getString(R.string.scanHighLabel)
3 -> getString(R.string.scanMedLabel) 3 -> getString(R.string.scanMedLabel)
4 -> getString(R.string.scanLowLabel) 4 -> getString(R.string.scanLowLabel)

View File

@ -6,11 +6,12 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Transformations import androidx.lifecycle.Transformations
import es.verdnatura.domain.GetUbicadorUserCase import es.verdnatura.domain.GetUbicadorUserCase
import es.verdnatura.presentation.base.BaseViewModel import es.verdnatura.presentation.base.BaseViewModel
import es.verdnatura.presentation.base.getMessageFromAllResponse import es.verdnatura.presentation.base.getMessageFromAllResponse
import es.verdnatura.presentation.base.nameofFunction import es.verdnatura.presentation.base.nameofFunction
import es.verdnatura.presentation.common.Event import es.verdnatura.presentation.common.Event
import es.verdnatura.presentation.common.ResponseItemVO import es.verdnatura.presentation.common.ResponseItemVO
import es.verdnatura.presentation.view.feature.reubication.model.Reubication
import es.verdnatura.presentation.view.feature.reubication.model.ReubicationList
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorListVO import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorListVO
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorVO import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorVO
import retrofit2.Call import retrofit2.Call
@ -41,6 +42,11 @@ class UbicadorViewModel(context: Context) : BaseViewModel() {
val loadShelvingList = Transformations.map(_shelvingList) { Event(it) } val loadShelvingList = Transformations.map(_shelvingList) { Event(it) }
private val _reubicationList by lazy { MutableLiveData<ReubicationList>() }
val loadReubicationList = Transformations.map(_reubicationList) { Event(it) }
fun itemShelvingList( fun itemShelvingList(
usuario: String, usuario: String,
password: String, password: String,
@ -288,6 +294,86 @@ class UbicadorViewModel(context: Context) : BaseViewModel() {
}) })
} }
fun itemShelving_merge(
usuario: String,
password: String,
vShelf: String,
vShelvingFk: String
) {
getUbicadorUserCase.itemShelving_merge(usuario, password, vShelf, vShelvingFk)
.enqueue(object : Callback<Any> {
override fun onFailure(call: Call<Any>, t: Throwable) {
_response.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
)
}
override fun onResponse(call: Call<Any>, response: Response<Any>) {
if (!response.isSuccessful) {
_response.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
)
)
} else {
_response.value =
ResponseItemVO(isError = false, response = response.message()!!)
}
}
})
}
fun itemShelving_return(
usuario: String,
password: String,
shelvingFk: String,
) {
getUbicadorUserCase.itemShelving_return(usuario, password, shelvingFk)
.enqueue(object : Callback<List<Reubication>> {
override fun onFailure(call: Call<List<Reubication>>, t: Throwable) {
val listError: ArrayList<Reubication> = ArrayList()
listError.add(
Reubication(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
)
)
)
_reubicationList.value = ReubicationList(listError)
}
override fun onResponse(
call: Call<List<Reubication>>,
response: Response<List<Reubication>>
) {
if (response.body()==null) {
val listError: ArrayList<Reubication> = ArrayList()
listError.add(
Reubication(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
)
)
)
_reubicationList.value = ReubicationList(listError)
} else {
_reubicationList.value = response.body()?.let { ReubicationList(it) }
}
}
})
}
fun clearShelvingList( fun clearShelvingList(
usuario: String, usuario: String,
password: String, password: String,

View File

@ -0,0 +1,8 @@
<!-- drawable/find_replace.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path android:fillColor="#F7931E" android:pathData="M11,6C12.38,6 13.63,6.56 14.54,7.46L12,10H18V4L15.95,6.05C14.68,4.78 12.93,4 11,4C7.47,4 4.57,6.61 4.08,10H6.1C6.56,7.72 8.58,6 11,6M16.64,15.14C17.3,14.24 17.76,13.17 17.92,12H15.9C15.44,14.28 13.42,16 11,16C9.62,16 8.37,15.44 7.46,14.54L10,12H4V18L6.05,15.95C7.32,17.22 9.07,18 11,18C12.55,18 14,17.5 15.14,16.64L20,21.5L21.5,20L16.64,15.14Z" />
</vector>

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:clickable="false">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/verdnatura_black"
>
<EditText
android:id="@+id/scan_input"
style="@style/ScanLineTextSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/Escaneaetiqueta"
android:inputType="textVisiblePassword"
android:lines="1"
android:maxLines="1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/main_toolbar"
android:paddingLeft="@dimen/default_layout_margin"/>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/collection_swipe"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/scan_input">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/reubicator_collections_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="8dp"
tools:listitem="@layout/item_article_row_reubication_fragment" />
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
<LinearLayout
android:id="@+id/splash_progress"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/verdnatura_black_8_alpha_6"
android:gravity="center"
android:orientation="vertical"
android:visibility="visible">
<com.airbnb.lottie.LottieAnimationView
android:layout_width="wrap_content"
android:layout_height="@dimen/verdnatura_logo_large_height"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/orange_loading"
app:lottie_speed="2" />
</LinearLayout>
<include
android:id="@+id/main_toolbar"
layout="@layout/toolbar_fragment"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -26,7 +26,6 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
android:background="@color/verdnatura_black_8_alpha_6" android:background="@color/verdnatura_black_8_alpha_6"
android:gravity="center"> android:gravity="center">

View File

@ -335,7 +335,7 @@
android:layout_width="15dp" android:layout_width="15dp"
android:layout_height="15dp" android:layout_height="15dp"
android:layout_marginLeft="5dp" android:layout_marginLeft="5dp"
android:visibility="gone"
android:background="@drawable/background_item_color" android:background="@drawable/background_item_color"
app:layout_constraintStart_toEndOf="@+id/item_article_quantity_line3" app:layout_constraintStart_toEndOf="@+id/item_article_quantity_line3"
app:layout_constraintBottom_toBottomOf="@+id/item_article_quantity_line3" /> app:layout_constraintBottom_toBottomOf="@+id/item_article_quantity_line3" />

View File

@ -0,0 +1,393 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tool="http://schemas.android.com/tools"
>
<data>
<variable
name="reubication"
type="es.verdnatura.presentation.view.feature.reubication.model.Reubication" />
</data>
<!-- android:background="@drawable/round_outline"
android:clipToOutline="true"-->
<LinearLayout
android:id="@+id/linear_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/layout_margin_1"
android:layout_marginBottom="@dimen/layout_margin_min"
android:orientation="vertical"
>
<!--CABECERA=================================================-->
<LinearLayout
android:id="@+id/item_row_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/verdnatura_white"
android:orientation="vertical"
android:padding="@dimen/layout_margin_min"
android:textColor="@color/verdnatura_black"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<!-- <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/layout_margin_min"
android:text="@string/Nivel"
android:textColor="@color/verdnatura_black"
android:textSize="@dimen/h8" />-->
<!-- <TextView
android:id="@+id/level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/layout_margin_min"
android:text="@{sale.level}"
android:textColor="@color/verdnatura_black"
android:textSize="@dimen/h8"
android:textStyle="bold"
tool:text="2" />-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/layout_margin_min"
android:text="@string/Matrícula"
android:textColor="@color/verdnatura_black"
android:textSize="@dimen/h8" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{reubication.shelvingFk}"
android:layout_marginRight="@dimen/layout_margin_min"
android:textColor="@color/verdnatura_black"
android:textSize="@dimen/h8"
android:textStyle="bold"
tool:text="XXX"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/layout_margin_min"
android:text="Code"
android:textColor="@color/verdnatura_black"
android:textSize="@dimen/h8" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{reubication.code}"
android:textColor="@color/verdnatura_black"
android:textSize="@dimen/h8"
android:textStyle="bold"
tool:text="CAL-01"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<!-- <ImageView
android:id="@+id/imageErrorMessage"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
app:srcCompat="@drawable/emoticon_error_fragment" />-->
</RelativeLayout>
</LinearLayout>
<!-- <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/layout_margin_min"
android:text="@{sale.agencyName}"
android:textSize="@dimen/h8"
android:textStyle="bold"
android:visibility="gone"
tool:text="MRW" />
</LinearLayout>-->
</LinearLayout>
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/content_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/verdnatura_background_item_picker"
android:paddingTop="@dimen/layout_margin_min"
android:paddingBottom="@dimen/layout_margin_min">
<!-- &lt;!&ndash;SEMAFORO=================================================&ndash;&gt;
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="@dimen/semaforo_width"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<View
android:id="@+id/item_article_row_semaforo_pre"
android:layout_width="match_parent"
android:layout_height="@dimen/semaforo_height"
android:layout_marginBottom="1dp"
android:background="@color/verdnatura_warm_grey" />
<View
android:id="@+id/item_article_row_semaforo_sac"
android:layout_width="match_parent"
android:layout_height="@dimen/semaforo_height"
android:layout_marginBottom="1dp"
android:background="@color/verdnatura_warm_grey" />
<View
android:id="@+id/item_article_row_semaforo_con"
android:layout_width="match_parent"
android:layout_height="@dimen/semaforo_height"
android:background="@color/verdnatura_warm_grey" />
background_oval_checked
</LinearLayout>-->
<!--CONTENIDO=================================================-->
<!--app:layout_constraintEnd_toStartOf="@+id/item_article_quantity_picked"-->
<TextView
android:id="@+id/item_article_itemFk"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/layout_margin_min"
android:layout_marginEnd="@dimen/layout_margin_min"
android:maxLines="1"
android:text="@{reubication.itemFk}"
android:textColor="@color/verdnatura_pumpkin_orange"
android:textSize="@dimen/body1"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tool:text="85478" />
<!-- sale.pickedQuantity-->
<!-- <TextView
android:id="@+id/item_article_quantity_picked"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_min"
android:text="@{reubication.itemFk}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body1"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/txtde"
app:layout_constraintTop_toTopOf="parent"
tool:text="1000" />-->
<!-- <TextView
android:id="@+id/txtde"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_min"
android:text="@string/de"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body1"
app:layout_constraintEnd_toStartOf="@+id/item_article_quantity"
app:layout_constraintTop_toTopOf="parent" />-->
<TextView
android:id="@+id/item_article_quantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_1"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:text="@{reubication.visible}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body1"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tool:text="10" />
<TextView
android:id="@+id/item_article_quantity_line1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/layout_margin_min"
android:ellipsize="end"
android:maxLines="1"
android:text="@{reubication.longName}"
android:textColor="@color/verdnatura_pumpkin_orange"
android:textSize="@dimen/body1"
app:layout_constraintStart_toStartOf="@+id/item_article_itemFk"
app:layout_constraintTop_toBottomOf="@+id/item_article_itemFk"
tool:text="información de la linea 1" />
<!--<TextView
android:id="@+id/item_article_cel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_1"
android:text="@{sale.cel1}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/item_article_quantity_line1"
app:layout_constraintTop_toTopOf="@+id/item_article_quantity_line1"
tool:text="cel1" />
<TextView
android:id="@+id/item_article_quantity_line2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/layout_margin_min"
android:ellipsize="end"
android:maxLines="1"
android:text="@{sale.line2}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/linearLayout3"
app:layout_constraintTop_toBottomOf="@+id/item_article_quantity_line1"
tool:text="información de la linea 2" />-->
<!--
<TextView
android:id="@+id/item_article_cel2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_1"
android:text="@{sale.cel2}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/item_article_quantity_line2"
app:layout_constraintTop_toTopOf="@+id/item_article_quantity_line2"
tool:text="cel2" />-->
<!-- <TextView
android:id="@+id/item_article_quantity_line3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/layout_margin_min"
android:ellipsize="end"
android:maxLines="1"
android:text="@{sale.line3}"
android:textAlignment="center"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
app:layout_constraintStart_toEndOf="@+id/linearLayout3"
app:layout_constraintTop_toBottomOf="@+id/item_article_quantity_line2"
tool:text="información de la linea 3" />-->
<!-- <View
android:id="@+id/item_color"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginLeft="5dp"
android:background="@drawable/background_item_color"
app:layout_constraintStart_toEndOf="@+id/item_article_quantity_line3"
app:layout_constraintBottom_toBottomOf="@+id/item_article_quantity_line3" />
/>-->
<!-- <TextView
android:id="@+id/item_article_cel3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_1"
android:text="@{sale.cel3}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/content_layout"
app:layout_constraintTop_toTopOf="@+id/item_article_quantity_line3"
tool:text="cel3" />-->
<LinearLayout
android:id="@+id/linearLayoutColor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<!--<View
android:id="@+id/item_ticketColor"
android:layout_width="5dp"
android:layout_height="@dimen/ticketColor_height"
android:layout_marginBottom="1dp"
android:background="@drawable/border" />-->
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/layout_error"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone">
<TextView
android:id="@+id/txt_error"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/verdnatura_red"
android:textColor="@color/verdnatura_white"
tool:text="Cantidad original 100" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/verdnatura_white"></LinearLayout>
<!-- <androidx.recyclerview.widget.RecyclerView
android:id="@+id/item_article_placements"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/verdnatura_background_item_picker"
android:clipToPadding="false"
tools:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_placement_row"
tools:orientation="horizontal" />-->
</LinearLayout>
</layout>

View File

@ -136,7 +136,7 @@
<string name="controlticket">Controlar ticket</string> <string name="controlticket">Controlar ticket</string>
<string name="titleExpeditionScan">Escanear expedición</string> <string name="titleExpeditionScan">Escanear expedición</string>
<string name="dayofSale">Día de venta</string> <string name="dayofSale">Día de venta</string>
<string name="wagon">Carro</string> <string name="wagoon">Carro</string>
<string name="Referencia">Referencia</string> <string name="Referencia">Referencia</string>
<string name="itemShelvingLog">Historico de ítems del carro</string> <string name="itemShelvingLog">Historico de ítems del carro</string>
<string name="shelvingLog">Histórico del carro</string> <string name="shelvingLog">Histórico del carro</string>
@ -302,9 +302,9 @@
<string name="review">Revisar</string> <string name="review">Revisar</string>
<string name="splitSent">Se ha enviado a Split el articulo </string> <string name="splitSent">Se ha enviado a Split el articulo </string>
<string name="fromTicket"> del ticket </string> <string name="fromTicket"> del ticket </string>
<string name="itemAdded">"Se ha añadido el articulo "</string> <string name="itemAdded">Se ha añadido el articulo </string>
<string name="unityTicket"> unidad/es al ticket </string> <string name="unityTicket"> unidad/es al ticket </string>
<string name="with">" con "</string> <string name="with"> con </string>
<string name="quantityHigh">La cantidad supera a la disponible</string> <string name="quantityHigh">La cantidad supera a la disponible</string>
<string name="quantityError">cantidad introducida erronea</string> <string name="quantityError">cantidad introducida erronea</string>
<string name="scanItemValidate">Escanea item para validar</string> <string name="scanItemValidate">Escanea item para validar</string>
@ -351,8 +351,8 @@
<string name="titleQrReader">Lector Qr</string> <string name="titleQrReader">Lector Qr</string>
<string name="titleBufferOff">Desactivado buffer</string> <string name="titleBufferOff">Desactivado buffer</string>
<string name="titlePreControl">Pre Control</string> <string name="titlePreControl">Pre Control</string>
<string name="titleShelvingHistorical">Histórico Shelving</string> <string name="titleShelvingHistorical">Histórico ítems del carro</string>
<string name="titleLogShelving">Log Shelving</string> <string name="titleLogShelving">Histórico del carro</string>
<string name="itemScanetNotFound">Elemento escaneado no encontrado: </string> <string name="itemScanetNotFound">Elemento escaneado no encontrado: </string>
<string name="NotOrderReplacement">No existen pedidos para reponer</string> <string name="NotOrderReplacement">No existen pedidos para reponer</string>
<string name="orderCompleted">Pedido completado</string> <string name="orderCompleted">Pedido completado</string>
@ -369,7 +369,7 @@
<string name="expeditionP">Expedition (</string> <string name="expeditionP">Expedition (</string>
<string name="sureCloseSession">¿Estás seguro de cerrar la sesión?</string> <string name="sureCloseSession">¿Estás seguro de cerrar la sesión?</string>
<string name="errorCauseRegistered">Causa del error registada</string> <string name="errorCauseRegistered">Causa del error registada</string>
<string name="itemPoints">"Artículo: "</string> <string name="itemPoints">Artículo: </string>
<string name="originalQuantity">"Cantidad original: "</string> <string name="originalQuantity">"Cantidad original: "</string>
<string name="noSIP">No se puede realizar la llamada. El usuario no tiene la extensión configurada. Solicítelo a informática.</string> <string name="noSIP">No se puede realizar la llamada. El usuario no tiene la extensión configurada. Solicítelo a informática.</string>
<string name="titleHistoricalHide">Historico Vehículo</string> <string name="titleHistoricalHide">Historico Vehículo</string>
@ -384,8 +384,8 @@
<string name="userNotPermission">Usuario sin permisos para realizar la acción</string> <string name="userNotPermission">Usuario sin permisos para realizar la acción</string>
<string name="messageUserError">Revisa tu usuario y contraseña. En caso de no poder acceder contacta co Informática</string> <string name="messageUserError">Revisa tu usuario y contraseña. En caso de no poder acceder contacta co Informática</string>
<string name="ok">Ok</string> <string name="ok">Ok</string>
<string name="ticket">"Ticket: "</string> <string name="ticket">Ticket: </string>
<string name="expedit">"Expedition: "</string> <string name="expedit">Expedición: </string>
<string name="dayFormat">dd/MM/yyyy</string> <string name="dayFormat">dd/MM/yyyy</string>
<string name="regExp">[a-zA-Z ]+</string> <string name="regExp">[a-zA-Z ]+</string>
<string name="ticketInsert">Ticket insertado OK</string> <string name="ticketInsert">Ticket insertado OK</string>
@ -400,6 +400,7 @@
<string name="titleParkingDescrip">Permite aparcar tickets o carros</string> <string name="titleParkingDescrip">Permite aparcar tickets o carros</string>
<string name="titleItemSearchDescrip">Busca donde se encuentra un ítem</string> <string name="titleItemSearchDescrip">Busca donde se encuentra un ítem</string>
<string name="titleUbicatorDescrip">Permite ubicar/saber los ítems de un carro</string> <string name="titleUbicatorDescrip">Permite ubicar/saber los ítems de un carro</string>
<string name="titleReubicatorDescrip">Permite reubicar los ítems de un carro</string>
<string name="titleInventoryDescrip">Visualiza que falta o está desubicado</string> <string name="titleInventoryDescrip">Visualiza que falta o está desubicado</string>
<string name="titleWorkerMistakeDescrip">Permite añadir fallos a un trabajador</string> <string name="titleWorkerMistakeDescrip">Permite añadir fallos a un trabajador</string>
<string name="titleShelvingHistDescrip">Permite saber modificaciones de items en un carro</string> <string name="titleShelvingHistDescrip">Permite saber modificaciones de items en un carro</string>
@ -421,24 +422,27 @@
<string name="titleBufferOffDescrip">Pone en modo desactivado un buffer</string> <string name="titleBufferOffDescrip">Pone en modo desactivado un buffer</string>
<string name="titleBufferStrapDescrip">Pone en modo flejado un buffer</string> <string name="titleBufferStrapDescrip">Pone en modo flejado un buffer</string>
<string name="titleBufferLoadDescrip">Pone en modo cargar un buffer</string> <string name="titleBufferLoadDescrip">Pone en modo cargar un buffer</string>
<string name="titleCorridorsDescrip">Accede menú de los pasilleros:presacar, ver ticket, ubicador...</string> <string name="titleCorridorsDescrip">Accede menú de los pasilleros:presacar, ver ticket, ubicador</string>
<string name="titlePickersDescrip">Accede a sacar pedidos</string> <string name="titlePickersDescrip">Accede a sacar pedidos</string>
<string name="titleControlDescrip">Accede a la revisión de los tickets</string> <string name="titleControlDescrip">Accede a la revisión de los tickets</string>
<string name="titlePalletizDescrip">Accede al menú de paletizadores: paletizar, buffer...</string> <string name="titlePalletizDescrip">Accede al menú de paletizadores: paletizar, buffer</string>
<string name="titleClaimsDescrip">Accede al menú de reclamaciones</string> <string name="titleClaimsDescrip">Accede al menú de reclamaciones</string>
<string name="titleClaimDescrip">Ubicación de reclamaciones</string> <string name="titleClaimDescrip">Ubicación de reclamaciones</string>
<string name="collectionErrorBuilding">Error al construir la colección. Descripción del error:</string> <string name="collectionErrorBuilding">Error al construir la colección. Descripción del error:</string>
<string name="main">Principal</string> <string name="main">Principal</string>
<string name="sentToTrashPrevious">"Se ha enviado desde previa a Basura "</string> <string name="sentToTrashPrevious">Se ha enviado desde previa a Basura </string>
<string name="sentToTrashFaults">"Se ha enviado desde previa a Faltas la cantidad de "</string> <string name="sentToTrashFaults">Se ha enviado desde previa a Faltas la cantidad de </string>
<string name="modifiedQuantityPrevious">"Se ha modificado desde previa la cantidad de "</string> <string name="modifiedQuantityPrevious">Se ha modificado desde previa la cantidad de </string>
<string name="fromItem">" del articulo "</string> <string name="fromItem"> del articulo </string>
<string name="ticketSpaces">" ticket "</string> <string name="ticketSpaces"> ticket </string>
<string name="ticketCompleted">Ticket completo</string> <string name="ticketCompleted">Ticket completo</string>
<string name="toNewQuantity">" a nueva cantidad: "</string> <string name="toNewQuantity"> a nueva cantidad: </string>
<string name="getPreviousCollection">Obtener colección previa</string> <string name="getPreviousCollection">Obtener colección previa</string>
<string name="saleParked">Sale/s aparcada/s</string> <string name="saleParked">Sale/s aparcada/s</string>
<string name="modifiedOriginalQuantityPrevious">"Se ha modificado desde previa la cantidad de "</string> <string name="modifiedOriginalQuantityPrevious">Se ha modificado desde previa la cantidad de </string>
<string name="url">url</string> <string name="url">url</string>
<string name="title">title</string> <string name="title">title</string>
<string name="titleReUbicator">Reubicación</string>
<string name="errorReubication">No aparecen item para el carro escaneado</string>
<string name="leaveItem">Dejar item</string>
</resources> </resources>

View File

@ -144,7 +144,7 @@
<string name="controlticket">Control ticket</string> <string name="controlticket">Control ticket</string>
<string name="titleExpeditionScan">Scan expedition</string> <string name="titleExpeditionScan">Scan expedition</string>
<string name="dayofSale">Day of sale</string> <string name="dayofSale">Day of sale</string>
<string name="wagon">Wagon</string> <string name="wagoon">Wagoon</string>
<string name="Referencia">Reference</string> <string name="Referencia">Reference</string>
<string name="itemShelvingLog">Item Log</string> <string name="itemShelvingLog">Item Log</string>
<string name="shelvingLog">Shelving Log</string> <string name="shelvingLog">Shelving Log</string>
@ -210,15 +210,15 @@
<string name="save">Save</string> <string name="save">Save</string>
<string name="allowChangeShelving">Allow you to change a wagoon plate</string> <string name="allowChangeShelving">Allow you to change a wagoon plate</string>
<string name="deleteAllitems">Delete all items of wagoon</string> <string name="deleteAllitems">Delete all items of wagoon</string>
<string name="changePriority">Cambia la prioridad de los items del carro. Cuanto más alta antes cogerán los sacadores.</string> <string name="changePriority">Change priority of wagoon items. When priority higher pickers pick faster.</string>
<string name="allowAutomaticAddItem">Permite añadir items al carro de manera continuada. No uno a uno</string> <string name="allowAutomaticAddItem">Allows you to add items to the wagoon continuously. Not one on one</string>
<string name="newItem">New item</string> <string name="newItem">New item</string>
<string name="editItem">Edit item</string> <string name="editItem">Edit item</string>
<string name="fillFields">Fill required fields</string> <string name="fillFields">Fill required fields</string>
<string name="mandatoryPacking">Packing required</string> <string name="mandatoryPacking">Packing required</string>
<string name="selectAction">Select an action</string> <string name="selectAction">Select an action</string>
<string name="delete">Delete</string> <string name="delete">Delete</string>
<string name="lookWithpermission">Solo puedes visualizar cuando has cogido tu mismo el vehículo a no ser que tengas permisos para ello.</string> <string name="lookWithpermission">You can only view when you have taken the vehicle yourself unless you have permission to do so.</string>
<string name="info">Information</string> <string name="info">Information</string>
<string name="accept">Accept</string> <string name="accept">Accept</string>
<string name="selectPrinter">You have to select a printer</string> <string name="selectPrinter">You have to select a printer</string>
@ -233,11 +233,11 @@
<string name="errorOperation">Error to perform action</string> <string name="errorOperation">Error to perform action</string>
<string name="scanLabelExpedition">Scan expedition label</string> <string name="scanLabelExpedition">Scan expedition label</string>
<string name="buffer">Buffer:</string> <string name="buffer">Buffer:</string>
<string name="packingSave">Packing guardado</string> <string name="packingSave">Packing saved</string>
<string name="previousCollected">Previous collected</string> <string name="previousCollected">Previous collected</string>
<string name="disponibility">Availability</string> <string name="disponibility">Availability</string>
<string name="unmarkLine">Unmark line</string> <string name="unmarkLine">Unmark line</string>
<string name="goUnmark">"You are going to unmark the line: "</string> <string name="goUnmark">You are going to unmark the line: </string>
<string name="sure">are you sure?</string> <string name="sure">are you sure?</string>
<string name="unmark">Unmark</string> <string name="unmark">Unmark</string>
<string name="sectorALGEMESI">ALGEMESI V</string> <string name="sectorALGEMESI">ALGEMESI V</string>
@ -245,11 +245,11 @@
<string name="errorRegistered">Cause of error registered</string> <string name="errorRegistered">Cause of error registered</string>
<string name="printerFault">Select printer</string> <string name="printerFault">Select printer</string>
<string name="observations">Observations</string> <string name="observations">Observations</string>
<string name="scanShelvingHistorical">"Scan plate for looking historical "</string> <string name="scanShelvingHistorical">Scan plate for looking historical </string>
<string name="scanPlate">Scan vehicle plate</string> <string name="scanPlate">Scan vehicle plate</string>
<string name="scanPlateTakeoff">"Scan plate to take off "</string> <string name="scanPlateTakeoff">"Scan plate to take off "</string>
<string name="returnScan">Rescan</string> <string name="returnScan">Rescan</string>
<string name="doVehiclePlate">"What do you want to do with the plate vehicle "</string> <string name="doVehiclePlate">What do you want to do with the plate vehicle </string>
<string name="priorityChanged">Priority modified</string> <string name="priorityChanged">Priority modified</string>
<string name="itemDeleteConfirm">"Confirm for delete item: "</string> <string name="itemDeleteConfirm">"Confirm for delete item: "</string>
<string name="wagonIncorrect">Incorrect wagoon</string> <string name="wagonIncorrect">Incorrect wagoon</string>
@ -266,7 +266,7 @@
<string name="titleItemSearch">Search item</string> <string name="titleItemSearch">Search item</string>
<string name="titleHistorical">Historical</string> <string name="titleHistorical">Historical</string>
<string name="titleSimilarItems">Similar items</string> <string name="titleSimilarItems">Similar items</string>
<string name="currentVAlue">"Current value: "</string> <string name="currentVAlue">Current value: </string>
<string name="titleSearchSimilarItems">Search similar items</string> <string name="titleSearchSimilarItems">Search similar items</string>
<string name="deleteStock">Indicate the reason for removing stock:</string> <string name="deleteStock">Indicate the reason for removing stock:</string>
<string name="quantityToRegister">Indicate the amount to register</string> <string name="quantityToRegister">Indicate the amount to register</string>
@ -276,7 +276,7 @@
<string name="errorNotNumber">Element introduced is not a number</string> <string name="errorNotNumber">Element introduced is not a number</string>
<string name="buyer">Buyer</string> <string name="buyer">Buyer</string>
<string name="accessSalix">Access Salix to see more information</string> <string name="accessSalix">Access Salix to see more information</string>
<string name="item">"Ítem : "</string> <string name="item">Ítem : </string>
<string name="changeShelving">Change plate</string> <string name="changeShelving">Change plate</string>
<string name="registerOneWagoon">Wagoon scaned¿Do you want register another?</string> <string name="registerOneWagoon">Wagoon scaned¿Do you want register another?</string>
<string name="exit">Exit</string> <string name="exit">Exit</string>
@ -303,20 +303,20 @@
<string name="parkingOk">Parking OK</string> <string name="parkingOk">Parking OK</string>
<string name="showParking">Scan Parking</string> <string name="showParking">Scan Parking</string>
<string name="lineNotExist">The purchase line of the scanned label does not exist.</string> <string name="lineNotExist">The purchase line of the scanned label does not exist.</string>
<string name="pendingReview">"Pending review : "</string> <string name="pendingReview">Pending review : </string>
<string name="review">Review</string> <string name="review">Review</string>
<string name="splitSent">"The article has been sent to Split "</string> <string name="splitSent">The article has been sent to Split </string>
<string name="fromTicket">" from ticket "</string> <string name="fromTicket"> from ticket </string>
<string name="itemAdded">"Item added "</string> <string name="itemAdded">Item added </string>
<string name="unityTicket">" unity to ticket "</string> <string name="unityTicket"> unity to ticket </string>
<string name="with">" with "</string> <string name="with"> with </string>
<string name="quantityHigh">Quantity exceeds available</string> <string name="quantityHigh">Quantity exceeds available</string>
<string name="quantityError">" wrong amount entered"</string> <string name="quantityError">" wrong amount entered"</string>
<string name="scanItemValidate">" Scan item to validate"</string> <string name="scanItemValidate"> Scan item to validate</string>
<string name="quantitySelect">Amount you take:</string> <string name="quantitySelect">Amount you take:</string>
<string name="errorMarkLine">Error when marking the line</string> <string name="errorMarkLine">Error when marking the line</string>
<string name="printError">Error printing</string> <string name="printError">Error printing</string>
<string name="shlevesNumber">" Number of ticket shelves"</string> <string name="shlevesNumber"> Number of ticket shelves</string>
<string name="shlevesNumberTicket">Indicates the number of shelves that the ticket occupies</string> <string name="shlevesNumberTicket">Indicates the number of shelves that the ticket occupies</string>
<string name="packetNumberShelves">Number of packages on shelf</string> <string name="packetNumberShelves">Number of packages on shelf</string>
<string name="packetIndicate">Indicates the number of packages that fit on a shelf</string> <string name="packetIndicate">Indicates the number of packages that fit on a shelf</string>
@ -345,6 +345,7 @@
<string name="titleReplacement">Replacement</string> <string name="titleReplacement">Replacement</string>
<string name="titleItemConsult">Consult item</string> <string name="titleItemConsult">Consult item</string>
<string name="titleUbicator">Ubicator</string> <string name="titleUbicator">Ubicator</string>
<string name="titleReUbicator">Reubication</string>
<string name="titleAuto">Automatic</string> <string name="titleAuto">Automatic</string>
<string name="titleQuality">Quality</string> <string name="titleQuality">Quality</string>
<string name="titleWebViewer">Web viewer</string> <string name="titleWebViewer">Web viewer</string>
@ -362,7 +363,7 @@
<string name="newCreated">New</string> <string name="newCreated">New</string>
<string name="collectionPending">The following collection is still pending preparation:</string> <string name="collectionPending">The following collection is still pending preparation:</string>
<string name="scanWagonForItem">Scan wagoon for item selected</string> <string name="scanWagonForItem">Scan wagoon for item selected</string>
<string name="answer">"The answer is: "</string> <string name="answer">The answer is: </string>
<string name="previousOK">Previous OK</string> <string name="previousOK">Previous OK</string>
<string name="scanTicketsForAdd">Colección no tickets. Scan tickets for adding</string> <string name="scanTicketsForAdd">Colección no tickets. Scan tickets for adding</string>
<string name="pallet">Pallet </string> <string name="pallet">Pallet </string>
@ -370,7 +371,7 @@
<string name="sureCloseSession">Are you sure to log out?</string> <string name="sureCloseSession">Are you sure to log out?</string>
<string name="errorCauseRegistered">Error cause logged</string> <string name="errorCauseRegistered">Error cause logged</string>
<string name="itemPoints">"Item: "</string> <string name="itemPoints">"Item: "</string>
<string name="originalQuantity">"Original amount: "</string> <string name="originalQuantity">Original amount: "</string>
<string name="noSIP">" The call cannot be made. The user does not have the extension configured. Request it from IT."</string> <string name="noSIP">" The call cannot be made. The user does not have the extension configured. Request it from IT."</string>
<string name="titleHistoricalHide">Vehicle historical</string> <string name="titleHistoricalHide">Vehicle historical</string>
<string name="timeFormat">HH:mm</string> <string name="timeFormat">HH:mm</string>
@ -393,35 +394,36 @@
<string name="errorTicketAdd">Error adding ticket to collection.</string> <string name="errorTicketAdd">Error adding ticket to collection.</string>
<string name="errorChangeState">Failed to change state to previous collection.</string> <string name="errorChangeState">Failed to change state to previous collection.</string>
<string name="complete">complete</string> <string name="complete">complete</string>
<string name="titlePickerDescrip">" Get preview collections"</string> <string name="titlePickerDescrip"> Get preview collections</string>
<string name="titlePreControlDescrip">It is used to review a previous ticket</string> <string name="titlePreControlDescrip">It is used to review a previous ticket</string>
<string name="titleShowTicketDescrip">Show a ticket without the possibility to modify it</string> <string name="titleShowTicketDescrip">Show a ticket without the possibility to modify it</string>
<string name="titleItemConsultDescrip">" Find information on an item"</string> <string name="titleItemConsultDescrip">" Find information on an item"</string>
<string name="titleParkingDescrip">Allows parking tickets or cars</string> <string name="titleParkingDescrip">Allows parking tickets or cars</string>
<string name="titleItemSearchDescrip">Search where an item is located</string> <string name="titleItemSearchDescrip">Search where an item is located</string>
<string name="titleUbicatorDescrip">" Allows you to locate/know the items in a wagoon"</string> <string name="titleUbicatorDescrip">Allows you to locate/know the items in a wagoon</string>
<string name="titleReubicatorDescrip">Allows you to relocate the items from a wagoon</string>
<string name="titleInventoryDescrip">Visualize that it is missing or misplaced</string> <string name="titleInventoryDescrip">Visualize that it is missing or misplaced</string>
<string name="titleWorkerMistakeDescrip">Allows to add faults to a worker</string> <string name="titleWorkerMistakeDescrip">Allows to add faults to a worker</string>
<string name="titleShelvingHistDescrip">Allows to know modifications of items in a wagoon</string> <string name="titleShelvingHistDescrip">Allows to know modifications of items in a wagoon</string>
<string name="titleLogShelvingDescrip">Allows to know the movements in a wagoon</string> <string name="titleLogShelvingDescrip">Allows to know the movements in a wagoon</string>
<string name="titleHistVehicleDescrip">Visualize who and when has taken a vehicle</string> <string name="titleHistVehicleDescrip">Visualize who and when has taken a vehicle</string>
<string name="titleDayDescrip">" Allows you to know the sale date of the items in a cart"</string> <string name="titleDayDescrip"> Allows you to know the sale date of the items in a wagoon</string>
<string name="titleReplacDescrip">Indicates that it needs to be replenished</string> <string name="titleReplacDescrip">Indicates that it needs to be replenished</string>
<string name="titleFaultsDescrip">View fault stock in warehouse</string> <string name="titleFaultsDescrip">View fault stock in warehouse</string>
<string name="titleShelParkDescrip">Shelves Parking</string> <string name="titleShelParkDescrip">Shelves Parking</string>
<string name="titleQualityDescrip">It allows to know the quality of some products by buyer</string> <string name="titleQualityDescrip">It allows to know the quality of some products by buyer</string>
<string name="titlePalletDescrip">Allows scanning pallet to incorporate it into the sytem</string> <string name="titlePalletDescrip">Allows scanning pallet to incorporate it into the system</string>
<string name="titleExpeditionDescrip">Allows you to know the status of an expedition</string> <string name="titleExpeditionDescrip">Allows you to know the status of an expedition</string>
<string name="titleExpScanDescrip">Allows scanning shipments that have not passed through the sorter</string> <string name="titleExpScanDescrip">Allows scanning shipments that have not passed through the sorter</string>
<string name="titleBufferMangDescrip">Access to the operations menu with the sorter buffers</string> <string name="titleBufferMangDescrip">Access to the operations menu with the sorter buffers</string>
<string name="titleQrDescrip">Allows you to read information in a qr</string> <string name="titleQrDescrip">Allows you to read information in a qr</string>
<string name="titleBufferEmptyDescrip">Puts a buffer in flush mode</string> <string name="titleBufferEmptyDescrip">Puts a buffer in flush mode</string>
<string name="titleBufferFillDescrip">Puts a buffer in full mode</string> <string name="titleBufferFillDescrip">Puts a buffer in full mode</string>
<string name="titleBufferAccDescrip">" Put a buffer in accumulation mode"</string> <string name="titleBufferAccDescrip"> Put a buffer in accumulation mode"</string>
<string name="titleBufferOffDescrip">Puts a buffer in disabled mode</string> <string name="titleBufferOffDescrip">Puts a buffer in disabled mode</string>
<string name="titleBufferStrapDescrip">" Puts a buffer in strapping mode"</string> <string name="titleBufferStrapDescrip"> Puts a buffer in strapping mode</string>
<string name="titleBufferLoadDescrip">" Puts in load mode a buffer"</string> <string name="titleBufferLoadDescrip"> Puts in load mode a buffer</string>
<string name="titleCorridorsDescrip">" Access the menu of the corridors: presacar, see ticket, locator…"</string> <string name="titleCorridorsDescrip"> Access the menu of the corridors: presacar, see ticket, locator…</string>
<string name="titlePickersDescrip">Access to order</string> <string name="titlePickersDescrip">Access to order</string>
<string name="titleControlDescrip">Access the ticket review</string> <string name="titleControlDescrip">Access the ticket review</string>
<string name="titlePalletizDescrip">Access the palletizers menu: palletize, buffer…</string> <string name="titlePalletizDescrip">Access the palletizers menu: palletize, buffer…</string>
@ -429,17 +431,19 @@
<string name="titleClaimDescrip">Claims Location</string> <string name="titleClaimDescrip">Claims Location</string>
<string name="collectionErrorBuilding">Error building collection. Error description:</string> <string name="collectionErrorBuilding">Error building collection. Error description:</string>
<string name="main">Main</string> <string name="main">Main</string>
<string name="sentToTrashPrevious">" It has been sent from previous to Trash "</string> <string name="sentToTrashPrevious"> It has been sent from previous to Trash </string>
<string name="sentToTrashFaults">" It has been sent from previous to Fault the quantity of "</string> <string name="sentToTrashFaults"> It has been sent from previous to Fault the quantity of </string>
<string name="modifiedQuantityPrevious">"Changed from previous amount of "</string> <string name="modifiedQuantityPrevious">Changed from previous amount of </string>
<string name="modifiedOriginalQuantityPrevious">"Changed from previous amount of "</string> <string name="modifiedOriginalQuantityPrevious">Changed from previous amount of </string>
<string name="fromItem">" from item "</string> <string name="fromItem"> from item </string>
<string name="ticketSpaces"> ticket </string> <string name="ticketSpaces"> ticket </string>
<string name="ticketCompleted">Complete ticket</string> <string name="ticketCompleted">Complete ticket</string>
<string name="toNewQuantity">" to new quantity: "</string> <string name="toNewQuantity"> to new quantity: </string>
<string name="saleParked">Sale/s park/ed</string> <string name="saleParked">Sale/s park/ed</string>
<string name="url">url</string> <string name="url">url</string>
<string name="title">title</string> <string name="title">title</string>
<string name="errorReubication">There are not items for scanned wagoon</string>
<string name="leaveItem">Dejar item</string>
</resources> </resources>