Version 8.5.1Beta, strings, muestra previa y comentar smarttads

This commit is contained in:
Sergio De la torre 2022-06-09 13:01:23 +02:00
parent d1e834989f
commit f3ab292c32
49 changed files with 1487 additions and 1064 deletions

View File

@ -13,8 +13,9 @@ android {
applicationId "es.verdnatura" applicationId "es.verdnatura"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 30 targetSdkVersion 30
versionCode 121 versionCode 122
versionName = "8.5Beta" versionName = "8.5.1Beta"
//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
//versionName "8.4.1Beta" //versionCode 118: arreglat rocket a Alex i llevat callFunction,strings ok //versionName "8.4.1Beta" //versionCode 118: arreglat rocket a Alex i llevat callFunction,strings ok

Binary file not shown.

View File

@ -49,7 +49,7 @@ val viewModelModule = module {
// Pasilleros // Pasilleros
viewModel { viewModel {
PasilleroViewModel() PasilleroViewModel(androidContext())
} }
//Pasilleros Dia de venta //Pasilleros Dia de venta
viewModel { viewModel {

View File

@ -7,6 +7,7 @@ import retrofit2.Call
class GetPreSacadorUseCase(context: Context) : RestClient(context) { class GetPreSacadorUseCase(context: Context) : RestClient(context) {
fun ticketToPrePrepare( fun ticketToPrePrepare(
usuario: String, usuario: String,
password: String, password: String,
@ -85,7 +86,7 @@ class GetPreSacadorUseCase(context: Context) : RestClient(context) {
usuario: String, usuario: String,
password: String, password: String,
vSaleGroupFk: String, vSaleGroupFk: String,
vSectorCollectionFk:String vSectorCollectionFk: String
): Call<Unit> { ): Call<Unit> {
val params: ArrayList<String> = ArrayList() val params: ArrayList<String> = ArrayList()
@ -105,7 +106,7 @@ class GetPreSacadorUseCase(context: Context) : RestClient(context) {
fun saleTracking_addPrevOK( fun saleTracking_addPrevOK(
usuario: String, usuario: String,
password: String, password: String,
vSectorCollectionFk:String vSectorCollectionFk: String
): Call<Unit> { ): Call<Unit> {
val params: ArrayList<String> = ArrayList() val params: ArrayList<String> = ArrayList()
@ -124,8 +125,8 @@ class GetPreSacadorUseCase(context: Context) : RestClient(context) {
fun saleTracking_updateIsChecked( fun saleTracking_updateIsChecked(
usuario: String, usuario: String,
password: String, password: String,
vSaleFk:String, vSaleFk: String,
vIsChecked:String vIsChecked: String
): Call<Unit> { ): Call<Unit> {
val params: ArrayList<String> = ArrayList() val params: ArrayList<String> = ArrayList()
@ -151,7 +152,7 @@ class GetPreSacadorUseCase(context: Context) : RestClient(context) {
usuario: String, usuario: String,
password: String, password: String,
sectorCollectionFK: String, sectorCollectionFK: String,
vSectorFk:String vSectorFk: String
): Call<List<PreSacadorItemVO>> { ): Call<List<PreSacadorItemVO>> {
val params: ArrayList<String> = ArrayList() val params: ArrayList<String> = ArrayList()

View File

@ -51,15 +51,13 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
protected val TOKEN = "token" protected val TOKEN = "token"
protected val SECTORDESCRIP = "sectordescrip" protected val SECTORDESCRIP = "sectordescrip"
protected val SECTORFK = "sectorFk" protected val SECTORFK = "sectorFk"
protected val PRINTERNAME= "printername" protected val PRINTERNAME= "printername"
protected val PRINTERFK = "printerFk" protected val PRINTERFK = "printerFk"
protected val WAREHOUSEFK = "warehouseFk" protected val WAREHOUSEFK = "warehouseFk"
protected val RECORDAR = "recordar" protected val REMEMBER = "recordar"
protected val ANDROID_ID = "ANDROID_ID" protected val ANDROID_ID = "ANDROID_ID"
protected val DEVICENAME = "devicename" protected val DEVICENAME = "devicename"
protected val VOZ = "voz" //protected val VOZ = "voz"
//nuevo campo número carros ajustes y campos para guardar el buyerid y buyernickname //nuevo campo número carros ajustes y campos para guardar el buyerid y buyernickname
protected val BUYER = "buyernickname" protected val BUYER = "buyernickname"
protected val BUYERID = "buyerid" protected val BUYERID = "buyerid"
@ -527,7 +525,7 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
PASSWORD -> prefs.getString(PASSWORD, "").toString() PASSWORD -> prefs.getString(PASSWORD, "").toString()
SECTORFK->prefs.getInt(name, SECTORFKDEFAULT).toString() SECTORFK->prefs.getInt(name, SECTORFKDEFAULT).toString()
WAREHOUSEFK->prefs.getInt(name, ConstAndValues.WAREHOUSEFKDEFAULT).toString() WAREHOUSEFK->prefs.getInt(name, ConstAndValues.WAREHOUSEFKDEFAULT).toString()
VOZ->prefs.getString(name, "NO").toString() //VOZ->prefs.getString(name, "NO").toString()
WAGON->prefs.getInt(name, 2).toString() WAGON->prefs.getInt(name, 2).toString()
TAGSTYPE-> prefs.getString(name, getString(R.string.stickers)).toString() TAGSTYPE-> prefs.getString(name, getString(R.string.stickers)).toString()
SECTORDESCRIP->prefs.getString(name,getString(R.string.Sinsector)).toString() SECTORDESCRIP->prefs.getString(name,getString(R.string.Sinsector)).toString()
@ -568,12 +566,18 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
editor.commit() editor.commit()
} }
fun removePrinter(){
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val editor = prefs.edit()
editor.remove(PRINTERFK).commit()
editor.remove(PRINTERNAME).commit()
}
fun saveData(name:String,value:String){ fun saveData(name:String,value:String){
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0) val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val editor = prefs.edit() val editor = prefs.edit()
// Log.d("VERDNATURA::","El name es "+name+":"+ "y el valor "+value)
when (name) { when (name) {
ANDROID_ID -> editor.putString(name, value) ANDROID_ID -> editor.putString(name, value)

View File

@ -7,43 +7,36 @@ import org.json.JSONObject
abstract class BaseViewModel : ViewModel(), LifecycleObserver abstract class BaseViewModel : ViewModel(), LifecycleObserver
fun nameofFunction(function: Any): String {
fun nameofFunction(function: Any): String
{
// return Thread.currentThread().stackTrace[1].methodName // return Thread.currentThread().stackTrace[1].methodName
try { try {
return function.javaClass.enclosingMethod!!.name return function.javaClass.enclosingMethod!!.name
} catch (e: Exception){ } catch (e: Exception) {
return "ActivityMain" return "ActivityMain"
} }
} }
fun getMessageFromAllResponse(callFunction: String, ResponseMessage: String): String fun getMessageFromAllResponse(callFunction: String, ResponseMessage: String): String {
{
var messageFromError: String var messageFromError: String
var returnMessage: String val returnMessage: String
try try {
{
val answerError = JSONObject(ResponseMessage) val answerError = JSONObject(ResponseMessage)
messageFromError = answerError.get("Message").toString() messageFromError = answerError.get("Message").toString()
} catch (e: Exception) } catch (e: Exception) {
{
messageFromError = ResponseMessage messageFromError = ResponseMessage
} }
//sergio:para personalizar los mensajes de respuesta según la llamada. //sergio:para personalizar los mensajes de respuesta según la llamada.
when (callFunction) when (callFunction) {
{ //"collection_getTickets" -> returnMessage ="No hay tickets para sacar. Llamada $callFunction."
"collection_getTickets" -> returnMessage ="No hay tickets para sacar. Llamada $callFunction." else -> {
else -> returnMessage = "Callback: $callFunction."
{
returnMessage = "Llamada $callFunction."
} }
} }
//}
return "$messageFromError.\r$returnMessage" return "$messageFromError.\r$returnMessage"
} }

View File

@ -3,7 +3,8 @@ package es.verdnatura.presentation.common
class ResponseItemVO( class ResponseItemVO(
var response: String = "", var response: String = "",
var isError: Boolean = false, var isError: Boolean = false,
var errorMessage: String = "" var errorMessage: String = "",
var codeError:Int=0
) )
class ResponseItemMachineControl( class ResponseItemMachineControl(

View File

@ -14,9 +14,10 @@ import java.text.SimpleDateFormat
import java.util.* import java.util.*
class CustomDialogHour(context: Context) : Dialog(context, R.style.DialogTheme) { class CustomDialogHour(context: Context) : Dialog(context, R.style.DialogTheme) {
private var binding: ComponentCustomHourBinding = ComponentCustomHourBinding.inflate(layoutInflater) private var binding: ComponentCustomHourBinding =
ComponentCustomHourBinding.inflate(layoutInflater)
init { init {
@ -32,14 +33,14 @@ class CustomDialogHour(context: Context) : Dialog(context, R.style.DialogTheme)
} }
fun getDestinoValue(): String { fun getDestinoValue(): String {
// return custom_dialog_destino_value.text.toString() // return custom_dialog_destino_value.text.toString()
return binding.customDialogDestinoValue.text.toString() return binding.customDialogDestinoValue.text.toString()
} }
fun setDestinoValue(value: String): CustomDialogHour { fun setDestinoValue(value: String): CustomDialogHour {
binding.customDialogDestinoValue.setText(value) binding.customDialogDestinoValue.setText(value)
binding.customDialogDestinoValue.visibility=View.VISIBLE binding.customDialogDestinoValue.visibility = View.VISIBLE
return this return this
/*custom_dialog_destino_value.setText(value) /*custom_dialog_destino_value.setText(value)
custom_dialog_destino_value.visibility = View.VISIBLE custom_dialog_destino_value.visibility = View.VISIBLE
@ -48,49 +49,55 @@ class CustomDialogHour(context: Context) : Dialog(context, R.style.DialogTheme)
fun getHoraEditText(): TextInputEditText { fun getHoraEditText(): TextInputEditText {
return binding.customDialogHourValue return binding.customDialogHourValue
//return custom_dialog_hour_value //return custom_dialog_hour_value
} }
fun getHoraValue(): String { fun getHoraValue(): String {
return binding.customDialogHourValue.text.toString() return binding.customDialogHourValue.text.toString()
//return custom_dialog_hour_value.text.toString() //return custom_dialog_hour_value.text.toString()
} }
@SuppressLint("SimpleDateFormat") @SuppressLint("SimpleDateFormat")
fun setHoraValue(value: String): CustomDialogHour { fun setHoraValue(value: String): CustomDialogHour {
binding.customDialogHourValue.setText(value) binding.customDialogHourValue.setText(value)
binding.customDialogHourValue.visibility=View.VISIBLE binding.customDialogHourValue.visibility = View.VISIBLE
binding.ibObtenerHora.setOnClickListener{ binding.ibObtenerHora.setOnClickListener {
} }
//custom_dialog_hour_value.setText(value) //custom_dialog_hour_value.setText(value)
//custom_dialog_hour_value.visibility = View.VISIBLE //custom_dialog_hour_value.visibility = View.VISIBLE
// ib_obtener_hora.setOnClickListener { // ib_obtener_hora.setOnClickListener {
binding.ibObtenerHora.setOnClickListener{ binding.ibObtenerHora.setOnClickListener {
val cal = Calendar.getInstance() val cal = Calendar.getInstance()
val timeSetListener = TimePickerDialog.OnTimeSetListener { timePicker, hour, minute -> val timeSetListener = TimePickerDialog.OnTimeSetListener { timePicker, hour, minute ->
cal.set(Calendar.HOUR_OF_DAY, hour) cal.set(Calendar.HOUR_OF_DAY, hour)
cal.set(Calendar.MINUTE, minute) cal.set(Calendar.MINUTE, minute)
binding.customDialogHourValue.setText(SimpleDateFormat("HH:mm").format(cal.time)) binding.customDialogHourValue.setText(SimpleDateFormat(context.getString(R.string.timeFormat)).format(cal.time))
//custom_dialog_hour_value.setText(SimpleDateFormat("HH:mm").format(cal.time)) //custom_dialog_hour_value.setText(SimpleDateFormat(getString(R.string.timeFormat)).format(cal.time))
} }
TimePickerDialog(context, timeSetListener, cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), true).show() TimePickerDialog(
context,
timeSetListener,
cal.get(Calendar.HOUR_OF_DAY),
cal.get(Calendar.MINUTE),
true
).show()
} }
return this return this
} }
fun setTitle(title: String): CustomDialogHour { fun setTitle(title: String): CustomDialogHour {
binding.customDialogTitle.visibility=View.VISIBLE binding.customDialogTitle.visibility = View.VISIBLE
binding.customDialogTitle.text=title binding.customDialogTitle.text = title
// custom_dialog_title.visibility = View.VISIBLE // custom_dialog_title.visibility = View.VISIBLE
//custom_dialog_title.text = title //custom_dialog_title.text = title
return this return this
} }
fun setDescription(description: String): CustomDialogHour { fun setDescription(description: String): CustomDialogHour {
binding.customDialogDescription.visibility=View.VISIBLE binding.customDialogDescription.visibility = View.VISIBLE
binding.customDialogDescription.text = description binding.customDialogDescription.text = description
//custom_dialog_description.visibility = View.VISIBLE //custom_dialog_description.visibility = View.VISIBLE
@ -99,13 +106,13 @@ class CustomDialogHour(context: Context) : Dialog(context, R.style.DialogTheme)
} }
fun setOkButton(text: String, onButtonClicked: () -> Unit): CustomDialogHour { fun setOkButton(text: String, onButtonClicked: () -> Unit): CustomDialogHour {
binding.customDialogButtonOk.visibility=View.VISIBLE binding.customDialogButtonOk.visibility = View.VISIBLE
binding.customDialogButtonOk.text=text binding.customDialogButtonOk.text = text
//custom_dialog_button_ok.visibility = View.VISIBLE //custom_dialog_button_ok.visibility = View.VISIBLE
// custom_dialog_button_ok.text = text // custom_dialog_button_ok.text = text
// custom_dialog_button_ok.setOnClickListener { onButtonClicked() } // custom_dialog_button_ok.setOnClickListener { onButtonClicked() }
binding.customDialogButtonOk.setOnClickListener{ onButtonClicked() } binding.customDialogButtonOk.setOnClickListener { onButtonClicked() }
return this return this
} }

View File

@ -129,7 +129,7 @@ class AjustesFragment :
} else if (item.id == 3) { } else if (item.id == 3) {
val listTagsType: ArrayList<String> = ArrayList() val listTagsType: ArrayList<String> = ArrayList()
listTagsType.add(getString(R.string.stickers)) listTagsType.add(getString(R.string.stickers))
listTagsType.add(getString(R.string.smarttags)) // listTagsType.add(getString(R.string.smarttags))
tagsList = listTagsType tagsList = listTagsType
val array = arrayOfNulls<String>(listTagsType.size) val array = arrayOfNulls<String>(listTagsType.size)
showItemPickerType(array = listTagsType.toArray(array)) showItemPickerType(array = listTagsType.toArray(array))

View File

@ -5,6 +5,7 @@ import android.content.Context
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Transformations import androidx.lifecycle.Transformations
import es.verdnatura.R
import es.verdnatura.domain.GetAjustesUserCase import es.verdnatura.domain.GetAjustesUserCase
import es.verdnatura.presentation.base.BaseViewModel import es.verdnatura.presentation.base.BaseViewModel
import es.verdnatura.presentation.base.getMessageFromAllResponse import es.verdnatura.presentation.base.getMessageFromAllResponse
@ -19,6 +20,8 @@ import timber.log.Timber.d
class AjustesViewModel(context: Context) : BaseViewModel() { class AjustesViewModel(context: Context) : BaseViewModel() {
private val contextApp=context
private val getAjustesUserCase: GetAjustesUserCase = GetAjustesUserCase(context) private val getAjustesUserCase: GetAjustesUserCase = GetAjustesUserCase(context)
val version: String = "5.0.0" val version: String = "5.0.0"
@ -61,7 +64,7 @@ class AjustesViewModel(context: Context) : BaseViewModel() {
_ajustesitem.add( _ajustesitem.add(
AjustesItemVO( AjustesItemVO(
0, 0,
"Sector", contextApp.getString(R.string.sector),
sectorDescrip, sectorDescrip,
sectorFk, sectorFk,
warehouseFk, warehouseFk,
@ -74,17 +77,17 @@ class AjustesViewModel(context: Context) : BaseViewModel() {
_ajustesitem.add( _ajustesitem.add(
AjustesItemVO( AjustesItemVO(
1, 1,
"Carros", contextApp.getString(R.string.wagoons),
carroDescrip, carroDescrip,
0, 0,
0, 0,
0, "Sin impresora" 0, contextApp.getString(R.string.printerWithout)
) )
) )
_ajustesitem.add( _ajustesitem.add(
AjustesItemVO( AjustesItemVO(
2, 2,
"Impresora etiquetas", contextApp.getString(R.string.printerLabel),
printerSelected, printerSelected,
0, 0,
0, 0,
@ -94,37 +97,37 @@ class AjustesViewModel(context: Context) : BaseViewModel() {
_ajustesitem.add( _ajustesitem.add(
AjustesItemVO( AjustesItemVO(
3, 3,
"Tipo etiqueta", contextApp.getString(R.string.labelType),
TypeTags, TypeTags,
0, 0,
0, 0,
0, "Sin impresora" 0, contextApp.getString(R.string.printerWithout)
) )
) )
_ajustesitem.add( _ajustesitem.add(
AjustesItemVO( AjustesItemVO(
4, 4,
"Control de vehículos", contextApp.getString(R.string.vehicleControl),
"", "",
0, 0,
0, 0,
0, "Sin impresora" 0, contextApp.getString(R.string.printerWithout)
) )
) )
_ajustesitem.add( _ajustesitem.add(
AjustesItemVO( AjustesItemVO(
5, 5,
"Cerrar Sesión", contextApp.getString(R.string.closeSession),
"", "",
0, 0,
0, 0,
0, "Sin impresora" 0, contextApp.getString(R.string.printerWithout)
) )
) )
} }
fun getSectors(user: String, password: String) { /* fun getSectors(user: String, password: String) {
getAjustesUserCase.getSectors(user, password) getAjustesUserCase.getSectors(user, password)
.enqueue(object : Callback<List<SectorItemVO>> { .enqueue(object : Callback<List<SectorItemVO>> {
override fun onFailure(call: Call<List<SectorItemVO>>, t: Throwable) { override fun onFailure(call: Call<List<SectorItemVO>>, t: Throwable) {
@ -155,7 +158,7 @@ class AjustesViewModel(context: Context) : BaseViewModel() {
} }
}) })
} }*/
fun getSectorsSalix(token: String) { fun getSectorsSalix(token: String) {
getAjustesUserCase.getSectorsSalix(token).enqueue(object : Callback<List<SectorItemVO>> { getAjustesUserCase.getSectorsSalix(token).enqueue(object : Callback<List<SectorItemVO>> {
@ -221,7 +224,7 @@ class AjustesViewModel(context: Context) : BaseViewModel() {
} }
fun worker_updateSector(user: String, password: String, sectorFk: String) { fun worker_updateSector(user: String, password: String, sectorFk: String) {
d("El sector marcado dentro es %s", sectorFk)
getAjustesUserCase.worker_updateSector(user, password, sectorFk) getAjustesUserCase.worker_updateSector(user, password, sectorFk)
.enqueue(object : Callback<Unit> { .enqueue(object : Callback<Unit> {
override fun onFailure(call: Call<Unit>, t: Throwable) { override fun onFailure(call: Call<Unit>, t: Throwable) {

View File

@ -175,8 +175,8 @@ class ItemCardFragment(
binding.itemcardImage.setOnClickListener { binding.itemcardImage.setOnClickListener {
val i = Intent(activity, ImageViewActivity::class.java) val i = Intent(activity, ImageViewActivity::class.java)
i.putExtra("url", urlLarge) i.putExtra(getString(R.string.url), urlLarge)
i.putExtra("title", titleImage) i.putExtra(getString(R.string.title), titleImage)
startActivity(i) startActivity(i)
} }
} }

View File

@ -481,7 +481,7 @@ class CollectionFragment(
// if (!goBack) { // if (!goBack) {
if (it.isError) { if (it.isError) {
customDialog.setTitle(getString(R.string.disponibility)) customDialog.setTitle(getString(R.string.disponibility))
.setDescription(it.errorMessage) .setDescription(getString(R.string.errorCollectionNew)+it.errorMessage)
.setKoButton(getString(R.string.close)) { .setKoButton(getString(R.string.close)) {
scanRequest() scanRequest()
customDialog.dismiss() customDialog.dismiss()
@ -2139,7 +2139,7 @@ class CollectionFragment(
val ticket = val ticket =
"[" + sales[position].ticketFk + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].ticketFk + "/summary)" "[" + sales[position].ticketFk + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].ticketFk + "/summary)"
val message = val message =
"Se ha enviado a Faltas la cantidad de " + totalQuantity + " del articulo " + sales[position].itemFk + " ticket " + ticket "Se ha enviado a Faltas la cantidad de " + totalQuantity + getString(R.string.fromItem) + sales[position].itemFk + " ticket " + ticket
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = token, token = token,
workerId = sales[position].salePersonFk, workerId = sales[position].salePersonFk,
@ -2175,7 +2175,7 @@ class CollectionFragment(
val ticket = val ticket =
"[" + sales[position].ticketFk + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].ticketFk + "/summary)" "[" + sales[position].ticketFk + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].ticketFk + "/summary)"
val message = val message =
"Se ha enviado a Basura " + totalQuantity + " del articulo " + sales[position].itemFk + " ticket " + ticket "Se ha enviado a Basura " + totalQuantity + getString(R.string.fromItem) + sales[position].itemFk + " ticket " + ticket
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = token, token = token,
workerId = sales[position].salePersonFk, workerId = sales[position].salePersonFk,
@ -2250,12 +2250,12 @@ class CollectionFragment(
"TRUE" -> { "TRUE" -> {
message = message =
"Se ha enviado a Basura " + totalQuantity + " del articulo " + sales[positionCollectionMissing].itemFk + " ticket " + ticket "Se ha enviado a Basura " + totalQuantity + getString(R.string.fromItem) + sales[positionCollectionMissing].itemFk + " ticket " + ticket
} }
"FALSE" -> { "FALSE" -> {
message = message =
"Se ha enviado a Faltas la cantidad de " + totalQuantity + " del articulo " + sales[positionCollectionMissing].itemFk + " ticket " + ticket "Se ha enviado a Faltas la cantidad de " + totalQuantity + getString(R.string.fromItem) + sales[positionCollectionMissing].itemFk + " ticket " + ticket
} }
"reject" -> { "reject" -> {

View File

@ -22,7 +22,9 @@ import retrofit2.Response
class CollectionViewModel(context: Context) : BaseViewModel() { class CollectionViewModel(context: Context) : BaseViewModel() {
val emptyMessage = context.getString(R.string.collectionNoTickets) // val emptyMessage = context.getString(R.string.collectionNoTickets)
private val contextApp=context
private val getSacadorControladorUserCase: GetSacadorControladorUserCase = private val getSacadorControladorUserCase: GetSacadorControladorUserCase =
GetSacadorControladorUserCase(context) GetSacadorControladorUserCase(context)
@ -148,7 +150,7 @@ class CollectionViewModel(context: Context) : BaseViewModel() {
response: Response<CollectionVO> response: Response<CollectionVO>
) { ) {
if (response.body() != null) { if (response.body() != null) {
_collectionTicketList.value = response.body()?.let { it.map() } _collectionTicketList.value = response.body()?.let { it.map(contextApp) }
} else { } else {
_collectionTicketList.value = CollectionVO( _collectionTicketList.value = CollectionVO(
isError = true, isError = true,

View File

@ -66,7 +66,7 @@ class CollectionShowTicketFragment(
override fun init() { override fun init() {
customDialog = CustomDialog(requireContext()) customDialog = CustomDialog(requireContext())
ma.hideBottomNavigation(GONE) //84ma.hideBottomNavigation(GONE)
binding.splashProgress.visibility = VISIBLE binding.splashProgress.visibility = VISIBLE
setEvents() setEvents()
setToolBarIcon() setToolBarIcon()

View File

@ -1,12 +1,13 @@
package es.verdnatura.presentation.view.feature.collection.mapper package es.verdnatura.presentation.view.feature.collection.mapper
import android.util.Log import android.content.Context
import es.verdnatura.R
import es.verdnatura.presentation.common.convertToDateString import es.verdnatura.presentation.common.convertToDateString
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.*
fun CollectionVO.map(): CollectionVO { fun CollectionVO.map(context: Context): CollectionVO {
try { try {
@ -57,7 +58,7 @@ fun CollectionVO.map(): CollectionVO {
} }
} }
placement.created = placement.created =
getCalendarFromDate(placement.created).convertToDateString() getCalendarFromDate(placement.created,context).convertToDateString()
placement.visible = placement.visible =
"(" + (if (placement.visible.toInt() > 0) placement.visible else "0") + ")" "(" + (if (placement.visible.toInt() > 0) placement.visible else "0") + ")"
} }
@ -70,19 +71,19 @@ fun CollectionVO.map(): CollectionVO {
} catch (e: Exception) { } catch (e: Exception) {
this.isError = true this.isError = true
if (this.tickets == null || this.tickets.isEmpty()) { if (this.tickets == null || this.tickets.isEmpty()) {
this.errorMessage = "La colección no tiene tickets" this.errorMessage = context.getString(R.string.collectionNoTickets)
} else { } else {
this.errorMessage = this.errorMessage =
"Error al construir la colección. Descripción del error:" + e.message.toString() context.getString(R.string.collectionErrorBuilding) + e.message.toString()
} }
} }
return this return this
} }
private fun getCalendarFromDate(date: String): Calendar { private fun getCalendarFromDate(date: String,context:Context): Calendar {
val sdf = SimpleDateFormat("yyyy-MM-dd") val sdf = SimpleDateFormat(context.getString(R.string.dateFormat))
val cal = Calendar.getInstance() val cal = Calendar.getInstance()
cal.setTime(sdf.parse(date)) cal.setTime(sdf.parse(date))
return cal return cal

View File

@ -16,6 +16,7 @@ import retrofit2.Response
class ControladorViewModel(context: Context) : BaseViewModel() { class ControladorViewModel(context: Context) : BaseViewModel() {
private val contextApp=context
private val _collectionTicketList by lazy { MutableLiveData<CollectionVO>() } private val _collectionTicketList by lazy { MutableLiveData<CollectionVO>() }
private val getSacadorControladorUserCase: GetSacadorControladorUserCase = GetSacadorControladorUserCase(context) private val getSacadorControladorUserCase: GetSacadorControladorUserCase = GetSacadorControladorUserCase(context)
@ -39,7 +40,7 @@ class ControladorViewModel(context: Context) : BaseViewModel() {
) { ) {
if (response.body() != null){ if (response.body() != null){
_collectionTicketList.value = response.body()?.let { it.map() _collectionTicketList.value = response.body()?.let { it.map(contextApp)
} }
/* response.body()?.let { /* response.body()?.let {
Log.d("VERDNTURA::","el itempacking es "+it.tickets.get(0).itemPackingTypeFk) Log.d("VERDNTURA::","el itempacking es "+it.tickets.get(0).itemPackingTypeFk)

View File

@ -43,7 +43,7 @@ class WebFragment(
webSettings.builtInZoomControls = true webSettings.builtInZoomControls = true
webSettings.displayZoomControls = false webSettings.displayZoomControls = false
webSettings.setSupportZoom(true) webSettings.setSupportZoom(true)
webSettings.defaultTextEncodingName = "utf-8" //webSettings.defaultTextEncodingName = "utf-8"
binding.webView.loadUrl ("https://salix.verdnatura.es/#!/item/$entryPoint/summary") binding.webView.loadUrl ("https://salix.verdnatura.es/#!/item/$entryPoint/summary")

View File

@ -11,8 +11,8 @@ class ImageViewActivity : BaseActivity<ActivityImageviewBinding>(){
override fun init() { override fun init() {
binding.mainToolbar.toolbarTitle.text = intent.getStringExtra("title") binding.mainToolbar.toolbarTitle.text = intent.getStringExtra(getString(R.string.title))
binding.imgView.loadUrl(intent.getStringExtra("url")!!) binding.imgView.loadUrl(intent.getStringExtra(getString(R.string.url))!!)
binding.mainToolbar.backButton.setOnClickListener { binding.mainToolbar.backButton.setOnClickListener {
onBackPressed() onBackPressed()

View File

@ -4,6 +4,7 @@ import android.content.Context
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Transformations import androidx.lifecycle.Transformations
import es.verdnatura.R
import es.verdnatura.domain.GetInventaryUserCase import es.verdnatura.domain.GetInventaryUserCase
import es.verdnatura.domain.GetItemCardUserCase import es.verdnatura.domain.GetItemCardUserCase
import es.verdnatura.domain.GetWokerMistakeUSerCase import es.verdnatura.domain.GetWokerMistakeUSerCase
@ -20,11 +21,9 @@ import es.verdnatura.presentation.view.feature.workermistake.model.*
import retrofit2.Call import retrofit2.Call
import retrofit2.Callback import retrofit2.Callback
import retrofit2.Response import retrofit2.Response
import timber.log.Timber.d
class InventaryViewModel(context: Context) : BaseViewModel() { class InventaryViewModel(context: Context) : BaseViewModel() {
private val getInventaryUserCase: GetInventaryUserCase = GetInventaryUserCase(context) private val getInventaryUserCase: GetInventaryUserCase = GetInventaryUserCase(context)
private val getItemCardUserCase: GetItemCardUserCase = GetItemCardUserCase(context) private val getItemCardUserCase: GetItemCardUserCase = GetItemCardUserCase(context)
private val getWorkerMistakeUserCase: GetWokerMistakeUSerCase = GetWokerMistakeUSerCase(context) private val getWorkerMistakeUserCase: GetWokerMistakeUSerCase = GetWokerMistakeUSerCase(context)
@ -174,7 +173,6 @@ class InventaryViewModel(context: Context) : BaseViewModel() {
} }
//sergio: se modifica por CAU a itemTrash //sergio: se modifica por CAU a itemTrash
fun itemTrash( fun itemTrash(
itemFk: String, itemFk: String,
@ -387,7 +385,6 @@ class InventaryViewModel(context: Context) : BaseViewModel() {
.enqueue(object : .enqueue(object :
Callback<Unit> { Callback<Unit> {
override fun onFailure(call: Call<Unit>, t: Throwable) { override fun onFailure(call: Call<Unit>, t: Throwable) {
// d("Error message " + t.message)
_responseAddMistake.value = ResponseItemVO( _responseAddMistake.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!) errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
@ -399,24 +396,16 @@ class InventaryViewModel(context: Context) : BaseViewModel() {
response: Response<Unit> response: Response<Unit>
) { ) {
if (!response.isSuccessful) { if (!response.isSuccessful) {
if (response.code() == 403) {
_responseAddMistake.value = ResponseItemVO( _responseAddMistake.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = getMessageFromAllResponse( errorMessage =
nameofFunction(this), getMessageFromAllResponse(
"Usuario sin permisos para realizar la acción"
)
)
} else {
//d("Error message:" + { response.errorBody() } + "-" + response.message() + "-" + response.raw())
_responseAddMistake.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this), nameofFunction(this),
response.message() response.message()
) ), codeError = response.code())
)
}
} else { } else {
// sergio:refactor:solo debería haber un mensaje no un response o errorMessage // sergio:refactor:solo debería haber un mensaje no un response o errorMessage

View File

@ -119,7 +119,7 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
private fun checkUser() { private fun checkUser() {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0) val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
if (prefs.getBoolean(RECORDAR, false)) { if (prefs.getBoolean(REMEMBER, false)) {
binding.edittextUsername.setText(prefs.getString(USER, "")) binding.edittextUsername.setText(prefs.getString(USER, ""))
binding.edittextPassword.setText(prefs.getString(PASSWORD, "")) binding.edittextPassword.setText(prefs.getString(PASSWORD, ""))
if (binding.edittextPassword.text.toString().isNotEmpty()) { if (binding.edittextPassword.text.toString().isNotEmpty()) {
@ -297,8 +297,8 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
//Log.d("VERDNATURA::",getString(R.string.error)) //Log.d("VERDNATURA::",getString(R.string.error))
} else { } else {
if (it.id != 0) { if (it.id != 0) {
saveDataInt("sectorFk", it.id) saveDataInt(SECTORFK, it.id)
saveData("sectordescrip", it.description) saveData(SECTORDESCRIP, it.description)
it.warehouseFk?.let { it1 -> saveDataInt("warehouseFk", it1) } it.warehouseFk?.let { it1 -> saveDataInt("warehouseFk", it1) }
} }
} }
@ -311,6 +311,8 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
if (it.list.isEmpty()) { if (it.list.isEmpty()) {
getString(R.string.selectPrinter).toast(context) getString(R.string.selectPrinter).toast(context)
removePrinter()
} else { } else {
if (!it.list.get(0).isError) { if (!it.list.get(0).isError) {
saveDataInt(PRINTERFK, it.list.get(0).id!!) saveDataInt(PRINTERFK, it.list.get(0).id!!)
@ -333,7 +335,7 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
saveTokenPref("") saveTokenPref("")
customDialog.setTitle(getString(R.string.error)) customDialog.setTitle(getString(R.string.error))
.setDescription(if (it.errorMessage.contains("Unauthorized")){"Revisa tu usuario y contraseña. En caso de no poder acceder contacta co Informática"}else{it.errorMessage}) .setDescription(if (it.errorMessage.contains("Unauthorized")){getString(R.string.messageUserError)}else{it.errorMessage})
.setOkButton( .setOkButton(
getString(R.string.accept) getString(R.string.accept)
) { ) {
@ -393,7 +395,7 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
private fun saveRemember(remember: Boolean) { private fun saveRemember(remember: Boolean) {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0) val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val editor = prefs.edit() val editor = prefs.edit()
editor.putBoolean(RECORDAR, remember) editor.putBoolean(REMEMBER, remember)
editor.apply() editor.apply()
} }

View File

@ -92,7 +92,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
setBottomMenuFragment() setBottomMenuFragment()
if (haveSector() && havePrinter()) addFragment( if (haveSector() && havePrinter()) addFragment(
PasilleroFragment.newInstance("Main", true), PasilleroFragment.newInstance(getString(R.string.main), true),
R.id.main_frame_layout, R.id.main_frame_layout,
PasilleroFragment.TAG, PasilleroFragment.TAG,
false false
@ -119,24 +119,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
} }
/* fun isWorkingInDesign():Boolean{
val prefs: SharedPreferences = getSharedPreferences("es.verdnatura.user.prefs", 0)
val working= prefs.getInt("working_in_design", -1)
return working != -1
}
fun SetisWorkingInDesign(isWorkingIn: Boolean) {
val prefs: SharedPreferences = getSharedPreferences("es.verdnatura.user.prefs", 0)
val editor = prefs.edit()
if (isWorkingIn){
editor.putInt("working_in_design", 0)
editor.apply()
}else{
editor.putInt("working_in_design", -1)
editor.apply()
}
}*/
fun havePrinter(): Boolean { fun havePrinter(): Boolean {
val prefs: SharedPreferences = getSharedPreferences("es.verdnatura.user.prefs", 0) val prefs: SharedPreferences = getSharedPreferences("es.verdnatura.user.prefs", 0)
@ -158,7 +140,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
bottomMenuItems.add( bottomMenuItems.add(
ItemMenuVO( ItemMenuVO(
0, 0,
title = getString(R.string.Pasilleros), title = getString(R.string.titleCorridors),
defaultImage = ContextCompat.getDrawable( defaultImage = ContextCompat.getDrawable(
applicationContext, R.drawable.ic_init_ui applicationContext, R.drawable.ic_init_ui
), ),
@ -243,11 +225,11 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
when (selectedItemMenu?.title) { when (selectedItemMenu?.title) {
getString(R.string.Pasilleros) -> { getString(R.string.titleCorridors) -> {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments() delete_Fragments()
addFragment( addFragment(
PasilleroFragment.newInstance("Main", true), PasilleroFragment.newInstance(getString(R.string.main), true),
R.id.main_frame_layout, R.id.main_frame_layout,
PasilleroFragment.TAG, PasilleroFragment.TAG,
false false
@ -259,7 +241,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments() delete_Fragments()
addFragment( addFragment(
ShowTicketFragment.newInstance("Main"), ShowTicketFragment.newInstance(getString(R.string.main)),
R.id.main_frame_layout, R.id.main_frame_layout,
MAINACTIVITY.TAG, MAINACTIVITY.TAG,
false false
@ -270,7 +252,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments() delete_Fragments()
addFragment( addFragment(
ParkingFragment.newInstance("Main"), ParkingFragment.newInstance(getString(R.string.main)),
R.id.main_frame_layout, R.id.main_frame_layout,
MAINACTIVITY.TAG, MAINACTIVITY.TAG,
false false
@ -299,11 +281,11 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
when (it.title) { when (it.title) {
getString(R.string.Pasilleros) -> { getString(R.string.titleCorridors) -> {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments() delete_Fragments()
addFragment( addFragment(
PasilleroFragment.newInstance("Main", true), PasilleroFragment.newInstance(getString(R.string.main), true),
R.id.main_frame_layout, R.id.main_frame_layout,
PasilleroFragment.TAG, PasilleroFragment.TAG,
false false
@ -346,31 +328,31 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
addFragmentOnTop(ExpeditionTruckListFragment.newInstance()) addFragmentOnTop(ExpeditionTruckListFragment.newInstance())
} }
getString(R.string.Paletizadores) -> { getString(R.string.titlePalletizers) -> {
addFragmentOnTop( addFragmentOnTop(
PasilleroFragment.newInstance( PasilleroFragment.newInstance(
getString(R.string.Paletizadores), getString(R.string.titlePalletizers),
isInitMenu = false isInitMenu = false
) )
) )
} }
getString(R.string.Controladores) -> { getString(R.string.titleControllers) -> {
addFragmentOnTop(ControladorFragment.newInstance()) addFragmentOnTop(ControladorFragment.newInstance())
} }
getString(R.string.Pasilleros) -> { getString(R.string.titleCorridors) -> {
addFragmentOnTop( addFragmentOnTop(
PasilleroFragment.newInstance(item.title, isInitMenu = false), PasilleroFragment.newInstance(item.title, isInitMenu = false),
) )
} }
getString(R.string.ExpeditionState) -> { getString(R.string.titleExpeditionState) -> {
// addFragment(ExpeditionStateFragment.newInstance(entryPoint),R.id.main_frame_layout, ExpeditionTruckListFragment.TAG,false) // addFragment(ExpeditionStateFragment.newInstance(entryPoint),R.id.main_frame_layout, ExpeditionTruckListFragment.TAG,false)
addFragmentOnTop(ExpeditionStateFragment.newInstance(item.title)) addFragmentOnTop(ExpeditionStateFragment.newInstance(item.title))
} }
@ -400,15 +382,15 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
addFragmentOnTop(ControlVehiculoUsuarioFragment.newInstance(entryPoint)) addFragmentOnTop(ControlVehiculoUsuarioFragment.newInstance(entryPoint))
} }
getString(R.string.titlePrePicker) -> { /* getString(R.string.titlePrePicker) -> {
addFragmentOnTop(PreSacadorFragment.newInstance()) addFragmentOnTop(PreSacadorFragment.newInstance())
} }*/
getString(R.string.titleDayOfSale) -> { getString(R.string.titleDayOfSale) -> {
addFragmentOnTop(DayOfSaleFragment(item.title)) addFragmentOnTop(DayOfSaleFragment(item.title))
} }
getString(R.string.titleShowTicket) -> { getString(R.string.titleShowTicket) -> {
addFragmentOnTop(ShowTicketFragment.newInstance(getString(R.string.Pasilleros))) addFragmentOnTop(ShowTicketFragment.newInstance(getString(R.string.titleCorridors)))
} }
getString(R.string.titleHistoricalVehicle) -> { getString(R.string.titleHistoricalVehicle) -> {
addFragmentOnTop(ControlVehiculoFragment.newInstance(HistoricoVehiculoFragment.TAG)) addFragmentOnTop(ControlVehiculoFragment.newInstance(HistoricoVehiculoFragment.TAG))
@ -510,7 +492,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
} }
getString(R.string.titlePrePicker) -> { getString(R.string.titlePrePicker) -> {
addFragmentOnTop(InitPreSacadorFragment.newInstance(item.title)) addFragmentOnTop(InitPreSacadorFragment.newInstance(getString(R.string.getPreviousCollection)))
} }
getString(R.string.titleClaimUbication) -> { getString(R.string.titleClaimUbication) -> {
@ -644,7 +626,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
// fm.popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE) // fm.popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE)
// addFragment(ExpeditionStateFragment.newInstance("main"),R.id.main_frame_layout, ExpeditionStateFragment.TAG,false) // addFragment(ExpeditionStateFragment.newInstance("main"),R.id.main_frame_layout, ExpeditionStateFragment.TAG,false)
addFragmentOnTop(ExpeditionStateFragment.newInstance(getString(R.string.ExpeditionState))) addFragmentOnTop(ExpeditionStateFragment.newInstance(getString(R.string.titleExpeditionState)))
} }
@ -658,7 +640,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
isError: Boolean, isError: Boolean,
isPlayed: Boolean?, isPlayed: Boolean?,
titleWithError: String = getString(R.string.error), titleWithError: String = getString(R.string.error),
isToasted: Boolean? = false isToasted: Boolean? = true
) { ) {
if (!isError) { if (!isError) {

View File

@ -3,7 +3,6 @@ package es.verdnatura.presentation.view.feature.paletizador.fragment
import android.content.Context import android.content.Context
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.util.Log
import android.view.View import android.view.View
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
@ -15,33 +14,32 @@ import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnOptionsSelectedListener import es.verdnatura.presentation.common.OnOptionsSelectedListener
import es.verdnatura.presentation.common.OnPalletClickListener import es.verdnatura.presentation.common.OnPalletClickListener
import es.verdnatura.presentation.view.component.CustomDialog import es.verdnatura.presentation.view.component.CustomDialog
import es.verdnatura.presentation.view.component.CustomDialogList
import es.verdnatura.presentation.view.feature.inventario.adapter.ToolBarAdapter import es.verdnatura.presentation.view.feature.inventario.adapter.ToolBarAdapter
import es.verdnatura.presentation.view.feature.main.activity.MainActivity
import es.verdnatura.presentation.view.feature.paletizador.adapter.ExpeditionPalletViewAdapter import es.verdnatura.presentation.view.feature.paletizador.adapter.ExpeditionPalletViewAdapter
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.paletizador.model.ItemPalletViewListVO import es.verdnatura.presentation.view.feature.paletizador.model.ItemPalletViewListVO
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.*
import kotlin.collections.ArrayList
class ExpeditionPalletDetailFragment( class ExpeditionPalletDetailFragment(
var itemExpeditionTruckVO: ItemExpeditionTruckVO? = null, var itemExpeditionTruckVO: ItemExpeditionTruckVO? = null,
var itemPallet: ItemPalletVO? = null var itemPallet: ItemPalletVO? = null
) : BaseFragment<FragmentExpeditionPalletDetailBinding, ExpeditionPalletDetailViewModel>( ) : BaseFragment<FragmentExpeditionPalletDetailBinding, ExpeditionPalletDetailViewModel>(
ExpeditionPalletDetailViewModel::class) { ExpeditionPalletDetailViewModel::class
) {
private var adapter : ExpeditionPalletViewAdapter? = null private var adapter: ExpeditionPalletViewAdapter? = null
// private lateinit var customDialogList: CustomDialogList
private var onPalletClickListener:OnPalletClickListener? = null // private lateinit var customDialogList: CustomDialogList
private var onPalletClickListener: OnPalletClickListener? = null
private lateinit var customDialog: CustomDialog private lateinit var customDialog: CustomDialog
companion object { companion object {
fun newInstance(item: ItemExpeditionTruckVO,itemPallet: ItemPalletVO) = fun newInstance(item: ItemExpeditionTruckVO, itemPallet: ItemPalletVO) =
ExpeditionPalletDetailFragment(item,itemPallet) ExpeditionPalletDetailFragment(item, itemPallet)
} }
override fun onAttach(context: Context) { override fun onAttach(context: Context) {
@ -53,19 +51,22 @@ class ExpeditionPalletDetailFragment(
override fun init() { override fun init() {
customDialog = CustomDialog(requireContext()) customDialog = CustomDialog(requireContext())
binding.expeditionPalletDetailPallet.text = getString(R.string.pallet)+itemPallet!!.Pallet binding.expeditionPalletDetailPallet.text = getString(R.string.pallet) + itemPallet!!.Pallet
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
ma.hideBottomNavigation(View.GONE) ma.hideBottomNavigation(View.GONE)
binding.mainToolbar.toolbarTitle.text = getCURDATE(itemExpeditionTruckVO!!.ETD) + " " + itemExpeditionTruckVO!!.Destino binding.mainToolbar.toolbarTitle.text =
getCURDATE(itemExpeditionTruckVO!!.ETD) + " " + itemExpeditionTruckVO!!.Destino
setToolBar() setToolBar()
setEvents() setEvents()
viewModel.expeditionPallet_List(getData(USER), viewModel.expeditionPallet_List(
getData(PASSWORD),itemPallet!!.Pallet) getData(USER),
getData(PASSWORD), itemPallet!!.Pallet
)
super.init() super.init()
} }
private fun setEvents(){ private fun setEvents() {
binding.mainToolbar.backButton.setOnClickListener { binding.mainToolbar.backButton.setOnClickListener {
requireActivity().onBackPressed() requireActivity().onBackPressed()
} }
@ -80,86 +81,110 @@ class ExpeditionPalletDetailFragment(
} }
} }
private fun setToolBar(){ private fun setToolBar() {
val listIcons:ArrayList<Drawable> = ArrayList() val listIcons: ArrayList<Drawable> = ArrayList()
val iconReload : Drawable = resources.getDrawable(R.drawable.ic_autorenew_black_24dp,resources.newTheme()) val iconReload: Drawable =
val iconEditar : Drawable = resources.getDrawable(R.drawable.ic_mode_edit_black_24dp,resources.newTheme()) resources.getDrawable(R.drawable.ic_autorenew_black_24dp, resources.newTheme())
val iconBorrar : Drawable = resources.getDrawable(R.drawable.ic_delete_forever_black_24dp,resources.newTheme()) val iconEditar: Drawable =
val iconPrint : Drawable = resources.getDrawable(R.drawable.ic_print_black_24dp,resources.newTheme()) resources.getDrawable(R.drawable.ic_mode_edit_black_24dp, resources.newTheme())
val iconBorrar: Drawable =
resources.getDrawable(R.drawable.ic_delete_forever_black_24dp, resources.newTheme())
val iconPrint: Drawable =
resources.getDrawable(R.drawable.ic_print_black_24dp, resources.newTheme())
listIcons.add(iconEditar) listIcons.add(iconEditar)
listIcons.add(iconBorrar) listIcons.add(iconBorrar)
listIcons.add(iconPrint) listIcons.add(iconPrint)
binding.mainToolbar.toolbarIcons.adapter = ToolBarAdapter(listIcons,object: OnOptionsSelectedListener { binding.mainToolbar.toolbarIcons.adapter =
override fun onOptionsItemSelected(item: Drawable) { ToolBarAdapter(listIcons, object : OnOptionsSelectedListener {
if (item == iconReload){ override fun onOptionsItemSelected(item: Drawable) {
binding.splashProgress.visibility = View.VISIBLE if (item == iconReload) {
viewModel.expeditionPallet_List(getData(USER), binding.splashProgress.visibility = View.VISIBLE
getData(PASSWORD),itemPallet!!.Pallet) viewModel.expeditionPallet_List(
}else if(item == iconEditar){
onPalletClickListener!!.onPalletClickListener(itemExpeditionTruckVO!!,itemPallet!!)
}else if(item == iconBorrar){
binding.splashProgress.visibility = View.VISIBLE
viewModel.expeditionPalletDel(getData(USER),
getData(PASSWORD),itemPallet!!.Pallet)
}else if(item == iconPrint){
binding.splashProgress.visibility = View.VISIBLE
if (ma.havePrinter() && ma.haveSector()) {
(getString(R.string.Imprimiendo) + getData(PRINTERNAME)).toast(
requireContext()
)
viewModel.expeditionPalletPrintSet(
getData(USER), getData(USER),
getData(PASSWORD), getData(PASSWORD), itemPallet!!.Pallet
itemPallet!!.Pallet,
getData(SECTORFK)
) )
}else{ } else if (item == iconEditar) {
ma.messageWithSound(getString(R.string.printerFault),isError = true,true,getString(R.string.printError),false) onPalletClickListener!!.onPalletClickListener(
itemExpeditionTruckVO!!,
itemPallet!!
)
} else if (item == iconBorrar) {
binding.splashProgress.visibility = View.VISIBLE
viewModel.expeditionPalletDel(
getData(USER),
getData(PASSWORD), itemPallet!!.Pallet
)
} else if (item == iconPrint) {
binding.splashProgress.visibility = View.VISIBLE
if (ma.havePrinter() && ma.haveSector()) {
(getString(R.string.Imprimiendo) + getData(PRINTERNAME)).toast(
requireContext()
)
viewModel.expeditionPalletPrintSet(
getData(USER),
getData(PASSWORD),
itemPallet!!.Pallet,
getData(SECTORFK)
)
} else {
ma.messageWithSound(
getString(R.string.printerFault),
isError = true,
true,
getString(R.string.printError),
false
)
}
} }
} }
} })
}) binding.mainToolbar.toolbarIcons.layoutManager =
binding.mainToolbar.toolbarIcons.layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false) LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
} }
private fun getCURDATE(date:String):String{ private fun getCURDATE(date: String): String {
val c = Calendar.getInstance() val c = Calendar.getInstance()
val df = SimpleDateFormat("yyyy-mm-dd HH:mm") val df = SimpleDateFormat(getString(R.string.dateCompleteFormat))
val df2 = SimpleDateFormat("HH:mm") val df2 = SimpleDateFormat(getString(R.string.timeFormat))
c.time = df.parse(date) c.time = df.parse(date)
return df2.format(c.time) return df2.format(c.time)
} }
override fun observeViewModel() { override fun observeViewModel() {
with(viewModel){ with(viewModel) {
loadExpeditionPalletList.observe(viewLifecycleOwner, Observer { event -> loadExpeditionPalletList.observe(viewLifecycleOwner, Observer { event ->
event.getContentIfNotHandled().notNull {printExpeditionList(it) } event.getContentIfNotHandled().notNull { printExpeditionList(it) }
}) })
response.observe(viewLifecycleOwner, Observer { response.observe(viewLifecycleOwner, Observer {
if (it.isError){ if (it.isError) {
ma.messageWithSound(it.errorMessage,true,false) ma.messageWithSound(it.errorMessage, true, false)
}else{ } else {
requireActivity().onBackPressed() requireActivity().onBackPressed()
} }
}) })
responsePrintPallet.observe(viewLifecycleOwner, Observer { responsePrintPallet.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility=View.GONE binding.splashProgress.visibility = View.GONE
if (it.isError){ if (it.isError) {
ma.messageWithSound(it.errorMessage,true,false) ma.messageWithSound(it.errorMessage, true, false)
}else{ } else {
binding.splashProgress.visibility=View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
viewModel.expeditionState_addByPallet( getData(USER),getData(PASSWORD),itemPallet!!.Pallet,"PALLETIZED") viewModel.expeditionState_addByPallet(
getData(USER),
getData(PASSWORD),
itemPallet!!.Pallet,
"PALLETIZED"
)
} }
}) })
} }
} }
private fun printExpeditionList(it: ItemPalletViewListVO){ private fun printExpeditionList(it: ItemPalletViewListVO) {
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
val lm = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) val lm = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
adapter = ExpeditionPalletViewAdapter(it.list) adapter = ExpeditionPalletViewAdapter(it.list)

View File

@ -112,8 +112,8 @@ class ExpeditionPalletFragment(
private fun getCURDATE(date:String):String{ private fun getCURDATE(date:String):String{
val c = Calendar.getInstance() val c = Calendar.getInstance()
val df = SimpleDateFormat("yyyy-mm-dd HH:mm") val df = SimpleDateFormat(getString(R.string.dateCompleteFormat))
val df2 = SimpleDateFormat("HH:mm") val df2 = SimpleDateFormat(getString(R.string.timeFormat))
c.time = df.parse(date) c.time = df.parse(date)
return df2.format(c.time) return df2.format(c.time)
} }

View File

@ -66,7 +66,7 @@ class ExpeditionScanFragment (
customDialog = CustomDialog(requireContext()) customDialog = CustomDialog(requireContext())
customDialogList = CustomDialogList(requireContext()) customDialogList = CustomDialogList(requireContext())
customDialogTwoButtons = CustomDialogTwoButtons(requireContext()) customDialogTwoButtons = CustomDialogTwoButtons(requireContext())
binding.expeditionScanDetailPallet.text = "Pallet "+itemPalletVO!!.Pallet binding.expeditionScanDetailPallet.text = getString(R.string.pallet) + itemPalletVO!!.Pallet
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
ma.hideBottomNavigation(View.GONE) ma.hideBottomNavigation(View.GONE)
binding.mainToolbar.toolbarTitle.text = getCURDATE(itemExpeditionTruckVO!!.ETD) + " " + itemExpeditionTruckVO!!.Destino binding.mainToolbar.toolbarTitle.text = getCURDATE(itemExpeditionTruckVO!!.ETD) + " " + itemExpeditionTruckVO!!.Destino
@ -108,8 +108,8 @@ class ExpeditionScanFragment (
private fun getCURDATE(date:String):String{ private fun getCURDATE(date:String):String{
val c = Calendar.getInstance() val c = Calendar.getInstance()
val df = SimpleDateFormat("yyyy-mm-dd HH:mm") val df = SimpleDateFormat(getString(R.string.dateCompleteFormat))
val df2 = SimpleDateFormat("HH:mm") val df2 = SimpleDateFormat(getString(R.string.timeFormat))
c.time = df.parse(date) c.time = df.parse(date)
return df2.format(c.time) return df2.format(c.time)
} }
@ -163,8 +163,8 @@ class ExpeditionScanFragment (
val lm = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) val lm = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
adapter = ExpeditionScanAdapter(it.list,object: OnScanLongClickListener{ adapter = ExpeditionScanAdapter(it.list,object: OnScanLongClickListener{
override fun onScanLongClickListener(itemExpeditionScanVO: ItemExpeditionScanVO) { override fun onScanLongClickListener(itemExpeditionScanVO: ItemExpeditionScanVO) {
customDialogTwoButtons.setTitle("Ticket: "+itemExpeditionScanVO.Ticket+" Pallet: "+itemPalletVO!!.Pallet) customDialogTwoButtons.setTitle(getString(R.string.ticket)+itemExpeditionScanVO.Ticket+getString(R.string.pallet)+itemPalletVO!!.Pallet)
.setDescription("Expedition: "+itemExpeditionScanVO!!.expeditionFk) .setDescription(getString(R.string.expedit)+itemExpeditionScanVO!!.expeditionFk)
.setOkButton(getString(R.string.delete)){ .setOkButton(getString(R.string.delete)){
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
viewModel.expeditionScanDel(getData(USER), viewModel.expeditionScanDel(getData(USER),
@ -197,7 +197,7 @@ class ExpeditionScanFragment (
if(it.expeditionFk != "0") if(it.expeditionFk != "0")
listExpeditions.add(BarcodeVO(code = it.expeditionFk)) listExpeditions.add(BarcodeVO(code = it.expeditionFk))
} }
customDialogList.setTitle("Pallet"+itemPalletVO!!.Pallet+" ("+binding.mainToolbar.toolbarTitle.text+")").setOkButton(getString(R.string.test)){ customDialogList.setTitle(getString(R.string.pallet) + itemPalletVO!!.Pallet+" ("+binding.mainToolbar.toolbarTitle.text+")").setOkButton(getString(R.string.test)){
ma.hideKeyboard(customDialogList.getEditText()) ma.hideKeyboard(customDialogList.getEditText())
@ -207,7 +207,8 @@ class ExpeditionScanFragment (
ItemPalletVO(Pallet = it.list.get(0).palletFk) ItemPalletVO(Pallet = it.list.get(0).palletFk)
) )
}else{ }else{
customDialog.setTitle(getString(R.string.info)).setDescription(getString(R.string.expeditionsError)).setOkButton("Ok"){ customDialog.setTitle(getString(R.string.info)).setDescription(getString(R.string.expeditionsError)).setOkButton(getString(
R.string.ok)){
customDialog.dismiss() customDialog.dismiss()
}.show() }.show()
} }

View File

@ -15,40 +15,44 @@ import retrofit2.Response
class ExpeditionScanSorterViewModel(context: Context) : BaseViewModel() { class ExpeditionScanSorterViewModel(context: Context) : BaseViewModel() {
private val GetPaletizadoresUserCase: GetPaletizadoresUserCase = GetPaletizadoresUserCase(context) private val GetPaletizadoresUserCase: GetPaletizadoresUserCase =
GetPaletizadoresUserCase(context)
private val _responsescan by lazy { MutableLiveData<ResponseItemVO>() } private val _responsescan by lazy { MutableLiveData<ResponseItemVO>() }
val responsescan: LiveData<ResponseItemVO> val responsescan: LiveData<ResponseItemVO>
get() = _responsescan get() = _responsescan
fun expedition_scan(usuario:String,password:String,vExpeditionId:String){ fun expedition_scan(usuario: String, password: String, vExpeditionId: String) {
GetPaletizadoresUserCase.expedition_scan(usuario,password,vExpeditionId).enqueue(object : Callback<Void>{ GetPaletizadoresUserCase.expedition_scan(usuario, password, vExpeditionId)
override fun onFailure(call: Call<Void>, t: Throwable) { .enqueue(object : Callback<Void> {
override fun onFailure(call: Call<Void>, t: Throwable) {
_responsescan.value = messageError(getMessageFromAllResponse(nameofFunction(this),t.message!!),"expedition_scan") _responsescan.value = ResponseItemVO(
} isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
override fun onResponse(call: Call<Void>, response: Response<Void>) { )
if (!response.isSuccessful){
_responsescan.value = messageError(response.message(),"expedition_scan")
}else{
_responsescan.value = ResponseItemVO(isError = false,response = response.message()!!)
} }
} override fun onResponse(call: Call<Void>, response: Response<Void>) {
}) if (!response.isSuccessful) {
_responsescan.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
)
)
} else {
_responsescan.value =
ResponseItemVO(isError = false, response = response.message()!!)
}
}
})
} }
fun messageError(message: String,call: String ): ResponseItemVO {
return ResponseItemVO(
isError = true,
errorMessage = "Error en la llamada expedition_scan " + call + " . Descripción del error:" + message
)
}
} }

View File

@ -18,9 +18,10 @@ import retrofit2.Call
import retrofit2.Callback import retrofit2.Callback
import retrofit2.Response import retrofit2.Response
class ExpeditionScanViewModel(context: Context) : BaseViewModel() { class ExpeditionScanViewModel(context: Context) : BaseViewModel() {
private val getPaletizadoresUserCase: GetPaletizadoresUserCase = GetPaletizadoresUserCase(context) private val getPaletizadoresUserCase: GetPaletizadoresUserCase =
GetPaletizadoresUserCase(context)
private val _expeditionScanList by lazy { MutableLiveData<ItemExpeditionScanList>() } private val _expeditionScanList by lazy { MutableLiveData<ItemExpeditionScanList>() }
val loadExpeditionScanList = Transformations.map(_expeditionScanList) { Event(it) } val loadExpeditionScanList = Transformations.map(_expeditionScanList) { Event(it) }
@ -42,12 +43,17 @@ class ExpeditionScanViewModel(context: Context) : BaseViewModel() {
get() = _responseCheckexpeditionScanPut get() = _responseCheckexpeditionScanPut
fun expeditionScanList(usuario:String,password:String,vPalletFk:String){ fun expeditionScanList(usuario: String, password: String, vPalletFk: String) {
getPaletizadoresUserCase.expeditionScanList(usuario,password,vPalletFk).enqueue(object : getPaletizadoresUserCase.expeditionScanList(usuario, password, vPalletFk).enqueue(object :
Callback<List<ItemExpeditionScanVO>> { Callback<List<ItemExpeditionScanVO>> {
override fun onFailure(call: Call<List<ItemExpeditionScanVO>>, t: Throwable) { override fun onFailure(call: Call<List<ItemExpeditionScanVO>>, t: Throwable) {
val listError:ArrayList<ItemExpeditionScanVO> = ArrayList() val listError: ArrayList<ItemExpeditionScanVO> = ArrayList()
listError.add(ItemExpeditionScanVO(isError = true,errorMessage = t.message!!)) listError.add(
ItemExpeditionScanVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
)
)
_expeditionScanList.value = ItemExpeditionScanList(listError) _expeditionScanList.value = ItemExpeditionScanList(listError)
} }
@ -55,71 +61,128 @@ class ExpeditionScanViewModel(context: Context) : BaseViewModel() {
call: Call<List<ItemExpeditionScanVO>>, call: Call<List<ItemExpeditionScanVO>>,
response: Response<List<ItemExpeditionScanVO>> response: Response<List<ItemExpeditionScanVO>>
) { ) {
if (response.body() != null){ if (response.body() != null) {
_expeditionScanList.value = response.body()?.let { ItemExpeditionScanList(it) } _expeditionScanList.value = response.body()?.let { ItemExpeditionScanList(it) }
}else{ } else {
val listError:ArrayList<ItemExpeditionScanVO> = ArrayList() val listError: ArrayList<ItemExpeditionScanVO> = ArrayList()
listError.add(ItemExpeditionScanVO(isError = true,errorMessage = "Error en la llamada de expeditionScan_List")) listError.add(
ItemExpeditionScanVO(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message())
)
)
_expeditionScanList.value = ItemExpeditionScanList(listError) _expeditionScanList.value = ItemExpeditionScanList(listError)
} }
} }
}) })
} }
fun expeditionScanAdd(usuario:String,password:String,vPalletFk:String,vTruckFk:String){
getPaletizadoresUserCase.expeditionScanAdd(usuario,password,vPalletFk,vTruckFk).enqueue(object :
Callback<List<ItemScanVO>> {
override fun onFailure(call: Call<List<ItemScanVO>>, t: Throwable) {
val listError:ArrayList<ItemScanVO> = ArrayList()
listError.add(ItemScanVO(isError = true,errorMessage ="Error en la llamada de expeditionScan_Add." + t.message!!))
_scanList.value = ItemScanList(listError)
}
override fun onResponse( fun expeditionScanAdd(usuario: String, password: String, vPalletFk: String, vTruckFk: String) {
call: Call<List<ItemScanVO>>, getPaletizadoresUserCase.expeditionScanAdd(usuario, password, vPalletFk, vTruckFk)
response: Response<List<ItemScanVO>> .enqueue(object :
) { Callback<List<ItemScanVO>> {
if (response.body() != null){ override fun onFailure(call: Call<List<ItemScanVO>>, t: Throwable) {
_scanList.value = response.body()?.let { ItemScanList(it) } val listError: ArrayList<ItemScanVO> = ArrayList()
}else{ listError.add(
val listError:ArrayList<ItemScanVO> = ArrayList() ItemScanVO(
listError.add(ItemScanVO(isError = true,errorMessage = "Error en la llamada de expeditionScan_Add")) isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
)
)
_scanList.value = ItemScanList(listError) _scanList.value = ItemScanList(listError)
} }
}
}) override fun onResponse(
call: Call<List<ItemScanVO>>,
response: Response<List<ItemScanVO>>
) {
if (response.body() != null) {
_scanList.value = response.body()?.let { ItemScanList(it) }
} else {
val listError: ArrayList<ItemScanVO> = ArrayList()
listError.add(
ItemScanVO(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message())
)
)
_scanList.value = ItemScanList(listError)
}
}
})
} }
fun expeditionScanPut(usuario:String,password:String,vPalletFk:String,vExpeditionFk:String){ fun expeditionScanPut(
getPaletizadoresUserCase.expeditionScanPut(usuario,password,vPalletFk,vExpeditionFk).enqueue(object : Callback<Any>{ usuario: String,
override fun onFailure(call: Call<Any>, t: Throwable) { password: String,
_response.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse( vPalletFk: String,
nameofFunction(this),t.message!!) vExpeditionFk: String
) {
getPaletizadoresUserCase.expeditionScanPut(usuario, password, vPalletFk, vExpeditionFk)
.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 checkRouteExpeditionScanPut(
usuario: String,
password: String,
vPalletFk: String,
vExpeditionFk: String
) {
getPaletizadoresUserCase.checkRouteExpeditionScanPut(
usuario,
password,
vPalletFk,
vExpeditionFk
).enqueue(object : Callback<String> {
override fun onFailure(call: Call<String>, t: Throwable) {
_responseCheckexpeditionScanPut.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 checkRouteExpeditionScanPut(usuario:String,password:String,vPalletFk:String,vExpeditionFk:String){
getPaletizadoresUserCase.checkRouteExpeditionScanPut(usuario,password,vPalletFk,vExpeditionFk).enqueue(object : Callback<String>{
override fun onFailure(call: Call<String>, t: Throwable) {
_response.value = ResponseItemVO(isError = true,errorMessage = "Error al lamar expedition_checkRoute "+vExpeditionFk+ " Respuesta:"+t.message!!)
}
override fun onResponse(call: Call<String>, response: Response<String>) { override fun onResponse(call: Call<String>, response: Response<String>) {
//sergio:se devuelve en el body //sergio:se devuelve en el body
if (response.body() == null){ if (response.body() == null) {
_responseCheckexpeditionScanPut.value = ResponseItemVO(isError = true,errorMessage = "Error en la llamada expedition_checkRoute") _responseCheckexpeditionScanPut.value = ResponseItemVO(
}else{ isError = true,
_responseCheckexpeditionScanPut.value = ResponseItemVO(isError = false,response = response.body()!!) errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message())
)
} else {
_responseCheckexpeditionScanPut.value =
ResponseItemVO(isError = false, response = response.body()!!)
} }
} }
@ -127,22 +190,30 @@ class ExpeditionScanViewModel(context: Context) : BaseViewModel() {
} }
fun expeditionScanDel(usuario: String, password: String, vScanFk: String) {
fun expeditionScanDel(usuario:String,password:String,vScanFk:String){ getPaletizadoresUserCase.expeditionScanDel(usuario, password, vScanFk)
getPaletizadoresUserCase.expeditionScanDel(usuario,password,vScanFk).enqueue(object : Callback<Any>{ .enqueue(object : Callback<Any> {
override fun onFailure(call: Call<Any>, t: Throwable) { override fun onFailure(call: Call<Any>, t: Throwable) {
_responseDeleteScan.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse( _responseDeleteScan.value = ResponseItemVO(
nameofFunction(this),t.message!!)) isError = true, errorMessage = getMessageFromAllResponse(
} nameofFunction(this), t.message!!
override fun onResponse(call: Call<Any>, response: Response<Any>) { )
if (!response.isSuccessful){ )
_responseDeleteScan.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(
nameofFunction(this),response.message()!!))
}else{
_responseDeleteScan.value = ResponseItemVO(isError = false,response = response.message())
} }
}
}) override fun onResponse(call: Call<Any>, response: Response<Any>) {
if (!response.isSuccessful) {
_responseDeleteScan.value = ResponseItemVO(
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message()!!
)
)
} else {
_responseDeleteScan.value =
ResponseItemVO(isError = false, response = response.message())
}
}
})
} }
} }

View File

@ -88,7 +88,7 @@ class ExpeditionTruckListFragment : BaseFragment<FragmentExpeditionTruckListBin
private fun getCURDATE():String{ private fun getCURDATE():String{
val c: Date = getInstance1().getTime() val c: Date = getInstance1().getTime()
val df = SimpleDateFormat("dd/MM/yyyy") val df = SimpleDateFormat(getString(R.string.dayFormat))
return df.format(c) return df.format(c)
} }

View File

@ -37,7 +37,7 @@ class ParkingFragment (var menuOrigin:String): BaseFragment<FragmentParkingBindi
setEvents() setEvents()
binding.mainToolbar.toolbarTitle.text = getString(R.string.Parking) binding.mainToolbar.toolbarTitle.text = getString(R.string.Parking)
if (menuOrigin =="Main"){hideBackButton(binding.mainToolbar)} if (menuOrigin ==getString(R.string.main)){hideBackButton(binding.mainToolbar)}
//sergio: después de las últimas actualizaciones se queda activo. Se cambia opción visibilidad. //sergio: después de las últimas actualizaciones se queda activo. Se cambia opción visibilidad.
//viewModel.hideProgressLoading() //viewModel.hideProgressLoading()
binding.splashProgress.visibility=View.GONE binding.splashProgress.visibility=View.GONE
@ -148,7 +148,7 @@ class ParkingFragment (var menuOrigin:String): BaseFragment<FragmentParkingBindi
@Throws(NumberFormatException::class) @Throws(NumberFormatException::class)
fun isLetter(text: String): Boolean { fun isLetter(text: String): Boolean {
return text.matches("[a-zA-Z ]+".toRegex()) return text.matches(getString(R.string.regExp).toRegex())
} }

View File

@ -84,7 +84,7 @@ class PasillerosAdapter (
try { try {
(binding as ItemMainMenuBinding).itemImage.setImageResource(item.iconResource) (binding as ItemMainMenuBinding).itemImage.setImageResource(item.iconResource)
}catch(exception:Exception){ }catch(exception:Exception){
d("Exception::"+exception.message) // d("Exception::"+exception.message)
} }
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
@ -97,7 +97,7 @@ class PasillerosAdapter (
try { try {
(binding as ItemPasillerosMainMenuBinding).itemImage.setImageResource(item.iconResource) (binding as ItemPasillerosMainMenuBinding).itemImage.setImageResource(item.iconResource)
}catch(exception:Exception){ }catch(exception:Exception){
d("Exception::"+exception.message) //d("Exception::"+exception.message)
} }
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

View File

@ -34,28 +34,27 @@ class PasilleroFragment(
override fun init() { override fun init() {
ma.hideBottomNavigation(View.VISIBLE) ma.hideBottomNavigation(View.VISIBLE)
when (tagName) { when (tagName) {
"Main" -> { getString(R.string.main)-> {
binding.mainToolbarDesign.imageViewMenu.visibility = View.VISIBLE binding.mainToolbarDesign.imageViewMenu.visibility = View.VISIBLE
binding.mainToolbarDesign.backButton.visibility = View.GONE binding.mainToolbarDesign.backButton.visibility = View.GONE
}
tagName -> {
if (tagName == "Pasilleros") {
binding.mainToolbarDesign.backButton.visibility = View.GONE
}
binding.mainToolbarDesign.backButton.visibility = View.VISIBLE
binding.mainToolbarDesign.toolbarTitle.text = tagName
binding.mainToolbarDesign.imageViewMenu.visibility = View.GONE
}
} }
tagName -> {
if (tagName == getString(R.string.titleCorridors)) {
binding.mainToolbarDesign.backButton.visibility = View.GONE
}
binding.mainToolbarDesign.backButton.visibility = View.VISIBLE
binding.mainToolbarDesign.toolbarTitle.text = tagName
binding.mainToolbarDesign.imageViewMenu.visibility = View.GONE
}
}
binding.mainToolbarDesign.backButton.setOnClickListener {
requireActivity().onBackPressed() binding.mainToolbarDesign.backButton.setOnClickListener {
requireActivity().onBackPressed()
} }
@ -68,14 +67,11 @@ class PasilleroFragment(
when (tagName) { when (tagName) {
"Pasilleros" -> { getString(R.string.titleCorridors) -> { viewModel.inititializeDefaultData() }
viewModel.inititializeDefaultData() getString(R.string.titlePalletizers) -> viewModel.inititializeDefaultPallet()
}
"Paletizadores" -> viewModel.inititializeDefaultPallet()
getString(R.string.titleBufferManegement) -> viewModel.inititializeDefaultBuffer() getString(R.string.titleBufferManegement) -> viewModel.inititializeDefaultBuffer()
"Main" -> viewModel.inititializeDefaultDataInit() getString(R.string.main) -> viewModel.inititializeDefaultDataInit()
"Reclamaciones" -> viewModel.inititializeDefaultClaim() getString(R.string.titleClaims) -> viewModel.inititializeDefaultClaim()
} }

View File

@ -1,47 +1,60 @@
package es.verdnatura.presentation.view.feature.pasillero.fragment package es.verdnatura.presentation.view.feature.pasillero.fragment
import android.annotation.SuppressLint
import android.content.Context
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.presentation.base.BaseViewModel import es.verdnatura.presentation.base.BaseViewModel
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
class PasilleroViewModel : BaseViewModel() { class PasilleroViewModel(context: Context) : BaseViewModel() {
@SuppressLint("StaticFieldLeak")
private val contextApp = context
private val _pasillerositem by lazy { ArrayList<PasillerosItemVO>() } private val _pasillerositem by lazy { ArrayList<PasillerosItemVO>() }
val pasillerositem: List<PasillerosItemVO> val pasillerositem: List<PasillerosItemVO>
get() = _pasillerositem get() = _pasillerositem
fun inititializeDefaultData() { fun inititializeDefaultData() {
/* _pasillerositem.add( /* _pasillerositem.add(
PasillerosItemVO(20,
R.drawable.barcode_scan,
"Visor web",R.string.SmarttagAssociate)
*/
/* _pasillerositem.add(
PasillerosItemVO(20, PasillerosItemVO(20,
R.drawable.barcode_scan, R.drawable.barcode_scan,
"Asociar Sacador SmartTags",R.string.SmarttagAssociate) "Visor web",R.string.SmarttagAssociate)
) */ */
/* _pasillerositem.add( /* _pasillerositem.add(
PasillerosItemVO(21, PasillerosItemVO(20,
R.drawable.barcode_scan, R.drawable.barcode_scan,
"Registrar SmartTags",R.string.SmarttagRegister) "Asociar Sacador SmartTags",R.string.SmarttagAssociate)
) ) */
*/ /* _pasillerositem.add(
PasillerosItemVO(21,
R.drawable.barcode_scan,
"Registrar SmartTags",R.string.SmarttagRegister)
)
*/
//sergio para que aparezca el nuevo menu //sergio para que aparezca el nuevo menu
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
7, 7,
R.drawable.ic_streetview_black_24dp, R.drawable.ic_streetview_black_24dp,
"Pre Sacador", R.string.titlePrePicker,"Obtiene colecciones para sacar en previa" contextApp.getString(R.string.titlePrePicker),
) R.string.titlePrePicker,
) contextApp.getString(
R.string.titlePickerDescrip
)
)
)
//precontrol //precontrol
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO(7, PasillerosItemVO(
7,
R.drawable.ic_verified_user_black_24dp_selected, R.drawable.ic_verified_user_black_24dp_selected,
"Pre Control",R.string.titlePreControl,"Sirve para revisar un ticket de previa" contextApp.getString(R.string.titlePreControl),
R.string.titlePreControl,
contextApp.getString(
R.string.titlePreControlDescrip
)
) )
) )
@ -50,7 +63,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
10, 10,
R.drawable.ic_visibility_black_24dp, R.drawable.ic_visibility_black_24dp,
"Ver Ticket", R.string.verticket,"Muestra un ticket sin la posibilidad de modicarlo" contextApp.getString(R.string.titleShowTicket),
R.string.titleShowTicket,
contextApp.getString(
R.string.titleShowTicketDescrip
)
) )
) )
@ -58,7 +75,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
0, 0,
R.drawable.ic_loyalty_black_24dp, R.drawable.ic_loyalty_black_24dp,
"Consultar artículo", R.string.titleItemConsult,"Busca información de un ítem" contextApp.getString(R.string.titleItemConsult),
R.string.titleItemConsult,
contextApp.getString(
R.string.titleItemConsultDescrip
)
) )
) )
@ -68,7 +89,9 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
6, 6,
R.drawable.ic_local_parking_orange_24dp, R.drawable.ic_local_parking_orange_24dp,
"Parking", R.string.Parking,"Permite aparcar tickets o carros" contextApp.getString(R.string.Parking),
R.string.Parking,
contextApp.getString(R.string.titleParkingDescrip)
) )
) )
@ -76,30 +99,23 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
2, 2,
R.drawable.ic_visibility_black_24dp, R.drawable.ic_visibility_black_24dp,
"Buscar item", R.string.BuscarItem,"Busca donde se encuentra un ítem" contextApp.getString(R.string.titleItemSearch),
R.string.titleItemSearch,
contextApp.getString(
R.string.titleItemSearchDescrip
)
) )
) )
/* _pasillerositem.add(
PasillerosItemVO(
2,
R.drawable.ic_claims,
"Ubicación de Reclamación", R.string.claim,"Ubicación de Reclamación"
)
)*/
//sergio: pruebas cau item buscar
/* _pasillerositem.add(
PasillerosItemVO(9,
R.drawable.ic_visibility_black_24dp,
"Buscar item full",R.string.test)
)*/
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
1, 1,
R.drawable.ic_dashboard_black_24dp, R.drawable.ic_dashboard_black_24dp,
"Ubicador", R.string.titleUbicator,"Permite ubicar/saber los ítems de un carro" contextApp.getString(R.string.titleUbicator),
R.string.titleUbicator,
contextApp.getString(
R.string.titleUbicatorDescrip
)
) )
) )
@ -107,7 +123,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
3, 3,
R.drawable.ic_spa_black_24dp, R.drawable.ic_spa_black_24dp,
"Inventario", R.string.titleInventory, "Visualiza que falta o está desubicado" contextApp.getString(R.string.titleInventory),
R.string.titleInventory,
contextApp.getString(
R.string.titleInventoryDescrip
)
) )
) )
@ -115,7 +135,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
7, 7,
R.drawable.worker_mistake, R.drawable.worker_mistake,
"Fallo del trabajador", R.string.titleWorkerMistake,"Permite añadir fallos a un trabajador" contextApp.getString(R.string.titleWorkerMistake),
R.string.titleWorkerMistake,
contextApp.getString(
R.string.titleWorkerMistakeDescrip
)
) )
) )
@ -123,13 +147,22 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
10, 10,
R.drawable.revision_icon, R.drawable.revision_icon,
"Histórico Shelving", R.string.itemShelvingLog,"Permite saber modificaciones de items en un carro" contextApp.getString(R.string.titleShelvingHistorical),
R.string.titleShelvingHistorical,
contextApp.getString(
R.string.titleShelvingHistDescrip
)
) )
) )
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO(7, PasillerosItemVO(
7,
R.drawable.ic_history_orange, R.drawable.ic_history_orange,
"Log Shelving",R.string.shelvingLog,"Permite conocer los movimientos en un carro" contextApp.getString(R.string.titleLogShelving),
R.string.titleLogShelving,
contextApp.getString(
R.string.titleLogShelvingDescrip
)
) )
) )
@ -137,21 +170,33 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
22, 22,
R.drawable.car_info, R.drawable.car_info,
"Historial del vehículo", R.string.vehiclediary,"Visualiza quien y cuando ha llevado un vehículo" contextApp.getString(R.string.titleHistoricalVehicle),
R.string.titleHistoricalVehicle,
contextApp.getString(
R.string.titleHistVehicleDescrip
)
) )
) )
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
41, 41,
R.drawable.day_of_sale, R.drawable.day_of_sale,
"Día de venta", R.string.dayofSale,"Permite saber la fecha de venta de los items de un carro" contextApp.getString(R.string.titleDayOfSale),
R.string.titleDayOfSale,
contextApp.getString(
R.string.titleDayDescrip
)
) )
) )
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
7, 7,
R.drawable.ic_baseline_all_inbox_24, R.drawable.ic_baseline_all_inbox_24,
"Reposición", R.string.reposicion,"Indica que falta reponer" contextApp.getString(R.string.titleReplacement),
R.string.titleReplacement,
contextApp.getString(
R.string.titleReplacDescrip
)
) )
) )
@ -161,7 +206,9 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
4, 4,
R.drawable.ic_move_to_inbox_black_24dp, R.drawable.ic_move_to_inbox_black_24dp,
"Faltas", R.string.titleFaults,"Visualiza las faltas en almacén" contextApp.getString(R.string.titleFaults),
R.string.titleFaults,
contextApp.getString(R.string.titleFaultsDescrip)
) )
) )
@ -169,7 +216,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
5, 5,
R.drawable.ic_send_black_24dp, R.drawable.ic_send_black_24dp,
"Shelving Parking", R.string.titleShelvingParking,"" contextApp.getString(R.string.titleShelvingParking),
R.string.titleShelvingParking,
contextApp.getString(
R.string.titleShelParkDescrip
)
) )
) )
@ -177,7 +228,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
8, 8,
R.drawable.ic_baseline_star_24, R.drawable.ic_baseline_star_24,
"Calidad", R.string.titleQuality,"Permite conocer la calidad de algunos productos por comprador" contextApp.getString(R.string.titleQuality),
R.string.titleQuality,
contextApp.getString(
R.string.titleQualityDescrip
)
) )
) )
@ -189,7 +244,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
30, 30,
R.drawable.pallet_shipping_selected, R.drawable.pallet_shipping_selected,
"Paletizar", R.string.scanPallet,"Permite escanear pallet para incorporarlo al sistema" contextApp.getString(R.string.titlePalletizar),
R.string.titlePalletizar,
contextApp.getString(
R.string.titlePalletDescrip
)
) )
) )
@ -197,14 +256,20 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
31, 31,
R.drawable.ic_visibility_black_24dp, R.drawable.ic_visibility_black_24dp,
"Consultar estado expedición", R.string.ExpeditionState,"Permite conocer el estado de una expedición" contextApp.getString(R.string.titleExpeditionState),
R.string.titleExpeditionState,
contextApp.getString(R.string.titleExpeditionDescrip)
) )
) )
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
40, 40,
R.drawable.barcode_scan, R.drawable.barcode_scan,
"Escanear expedición", R.string.ExpeditionScan,"Permite escanear expediciones que no han pasado por el sorter" contextApp.getString(R.string.titleExpeditionScan),
R.string.titleExpeditionScan,
contextApp.getString(
R.string.titleExpScanDescrip
)
) )
) )
@ -213,7 +278,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
32, 32,
R.drawable.buffer_outline, R.drawable.buffer_outline,
"Gestión de buffers", R.string.titleBufferManegement,"Se accede al menú de operaciones con los buffers del sorter" contextApp.getString(R.string.titleBufferManegement),
R.string.titleBufferManegement,
contextApp.getString(
R.string.titleBufferMangDescrip
)
) )
) )
@ -222,7 +291,9 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
33, 33,
R.drawable.qrcode_scan, R.drawable.qrcode_scan,
"Lector Qr", R.string.titleQrReader,"Permite leer información en un qr" contextApp.getString(R.string.titleQrReader),
R.string.titleQrReader,
contextApp.getString(R.string.titleQrDescrip)
) )
) )
@ -234,7 +305,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
30, 30,
R.drawable.buffer_empty, R.drawable.buffer_empty,
"Vaciado buffer", R.string.titleBufferEmpty, "Pone en modo vaciado un buffer" contextApp.getString(R.string.titleBufferEmpty),
R.string.titleBufferEmpty,
contextApp.getString(
R.string.titleBufferEmptyDescrip
)
) )
) )
@ -243,7 +318,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
31, 31,
R.drawable.buffer_fill, R.drawable.buffer_fill,
"Llenado buffer", R.string.titleBufferFill,"Pone en modo llenado un buffer" contextApp.getString(R.string.titleBufferFill),
R.string.titleBufferFill,
contextApp.getString(
R.string.titleBufferFillDescrip
)
) )
) )
@ -252,7 +331,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
32, 32,
R.drawable.buffer_accumulation, R.drawable.buffer_accumulation,
"Acumulación buffer", R.string.titleBufferAccumulate,"Pone en modo acumulación un buffer" contextApp.getString(R.string.titleBufferAccumulate),
R.string.titleBufferAccumulate,
contextApp.getString(
R.string.titleBufferAccDescrip
)
) )
) )
@ -260,7 +343,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
31, 31,
R.drawable.buffer_off, R.drawable.buffer_off,
"Desactivado buffer", R.string.titleBufferOff,"Pone en modo desactivado un buffer" contextApp.getString(R.string.titleBufferOff),
R.string.titleBufferOff,
contextApp.getString(
R.string.titleBufferOffDescrip
)
) )
) )
@ -268,7 +355,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
31, 31,
R.drawable.buffer_flejado, R.drawable.buffer_flejado,
"Flejado buffer", R.string.titleBufferStrapping,"Pone en modo flejado un buffer" contextApp.getString(R.string.titleBufferStrapping),
R.string.titleBufferStrapping,
contextApp.getString(
R.string.titleBufferStrapDescrip
)
) )
) )
@ -277,24 +368,35 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
45, 45,
R.drawable.buffer_load, R.drawable.buffer_load,
"Cargar expedición en buffer", R.string.titleBufferload, "Pone en modo cargar un buffer" contextApp.getString(R.string.titleBufferload),
R.string.titleBufferload,
contextApp.getString(
R.string.titleBufferLoadDescrip
)
) )
) )
} }
fun inititializeDefaultDataInit(){ fun inititializeDefaultDataInit() {
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
7, 7,
R.drawable.ic_corridor_ui, R.drawable.ic_corridor_ui,
"Pasilleros", R.string.Pasilleros,"Accede menú de los pasilleros:presacar, ver ticket, ubicador..." contextApp.getString(R.string.titleCorridors),
R.string.titleCorridors,
contextApp.getString(R.string.titleCorridorsDescrip)
) )
) )
//precontrol //precontrol
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO(7, PasillerosItemVO(
7,
R.drawable.ic_picker_ui, R.drawable.ic_picker_ui,
"Sacadores",R.string.titlePickers,"Accede a sacar pedidos" contextApp.getString(R.string.titlePickers),
R.string.titlePickers,
contextApp.getString(
R.string.titlePickersDescrip
)
) )
) )
@ -303,7 +405,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
10, 10,
R.drawable.ic_controller_ui, R.drawable.ic_controller_ui,
"Controladores", R.string.Controladores,"Accede a la revisión de los tickets" contextApp.getString(R.string.titleControllers),
R.string.titleControllers,
contextApp.getString(
R.string.titleControlDescrip
)
) )
) )
@ -311,7 +417,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
0, 0,
R.drawable.ic_pallet_ui, R.drawable.ic_pallet_ui,
"Paletizadores", R.string.Paletizadores,"Accede al menú de paletizadores: paletizar, buffer..." contextApp.getString(R.string.titlePalletizers),
R.string.titlePalletizers,
contextApp.getString(
R.string.titlePalletizDescrip
)
) )
) )
@ -321,12 +431,12 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
6, 6,
R.drawable.ic_claim_ui, R.drawable.ic_claim_ui,
"Reclamaciones", R.string.titleClaims,"Accede al menú de reclamaciones" contextApp.getString(R.string.titleClaims),
R.string.titleClaims,
contextApp.getString(R.string.titleClaimsDescrip)
) )
) )
} }
@ -336,7 +446,11 @@ class PasilleroViewModel : BaseViewModel() {
PasillerosItemVO( PasillerosItemVO(
30, 30,
R.drawable.ic_claims, R.drawable.ic_claims,
"Ubicación de Reclamación", R.string.titleClaimUbication, "Ubicación de reclamaciones" contextApp.getString(R.string.titleClaimUbication),
R.string.titleClaimUbication,
contextApp.getString(
R.string.titleClaimDescrip
)
) )
) )

View File

@ -16,6 +16,7 @@ import retrofit2.Response
class PreControladorViewModel(context: Context) : BaseViewModel() { class PreControladorViewModel(context: Context) : BaseViewModel() {
private val contextApp=context
private val _collectionTicketList by lazy { MutableLiveData<CollectionVO>() } private val _collectionTicketList by lazy { MutableLiveData<CollectionVO>() }
private val getPreControladorUserCase: GetPreControladorUserCase = GetPreControladorUserCase(context) private val getPreControladorUserCase: GetPreControladorUserCase = GetPreControladorUserCase(context)
@ -33,7 +34,7 @@ class PreControladorViewModel(context: Context) : BaseViewModel() {
response: Response<CollectionVO> response: Response<CollectionVO>
) { ) {
if (response.body() != null){ if (response.body() != null){
_collectionTicketList.value = response.body()?.let { it.map() } _collectionTicketList.value = response.body()?.let { it.map(contextApp) }
}else{ }else{
_collectionTicketList.value = CollectionVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())) _collectionTicketList.value = CollectionVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()))
} }

View File

@ -1,12 +1,10 @@
package es.verdnatura.presentation.view.feature.presacador.fragment package es.verdnatura.presentation.view.feature.presacador.fragment
import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.graphics.drawable.Drawable 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
@ -170,7 +168,6 @@ class EndSacadorFragment(
} }
} }
@SuppressLint("LogNotTimber")
override fun observeViewModel() { override fun observeViewModel() {
with(viewModel) { with(viewModel) {
salesList.observe(viewLifecycleOwner, Observer { salesList.observe(viewLifecycleOwner, Observer {
@ -210,7 +207,11 @@ class EndSacadorFragment(
responseSalixMessage.observe(viewLifecycleOwner, Observer { responseSalixMessage.observe(viewLifecycleOwner, Observer {
if (!goBack) { if (!goBack) {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, true, false) ma.messageWithSound(
getString(R.string.rocketKO) + it.errorMessage,
true,
false
)
} }
} }
@ -236,13 +237,10 @@ class EndSacadorFragment(
binding.splashProgress.visibility = GONE binding.splashProgress.visibility = GONE
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, true, false) ma.messageWithSound(it.errorMessage, true, false)
/* customDialog.setTitle(getString(R.string.error)).setDescription(it.errorMessage)
.setOkButton(getString(R.string.accept)) {
customDialog.dismiss()
}.show()*/
} else { } else {
if (mpok != null) mpok!!.start() if (mpok != null) mpok!!.start()
"Sale/s aparcada/s".toast(requireContext()) getString(R.string.saleParked).toast(requireContext())
} }
}) })
@ -306,7 +304,12 @@ class EndSacadorFragment(
if (!goBack) { if (!goBack) {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, isError = true, true, isToasted = true) ma.messageWithSound(
getString(R.string.errorTicketAdd) + it.errorMessage,
isError = true,
true,
isToasted = true
)
} else { } else {
viewModel.sectorCollection_getSale( viewModel.sectorCollection_getSale(
@ -324,7 +327,11 @@ class EndSacadorFragment(
if (!goBack) { if (!goBack) {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, isError = true, true) ma.messageWithSound(
getString(R.string.errorChangeState) + it.errorMessage,
isError = true,
true
)
} else { } else {
ma.messageWithSound(getString(R.string.previousOK), isError = false, false) ma.messageWithSound(getString(R.string.previousOK), isError = false, false)
@ -353,7 +360,11 @@ class EndSacadorFragment(
if (!goBack) { if (!goBack) {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, isError = true, true) ma.messageWithSound(
getString(R.string.errorChangeState) + it.errorMessage,
isError = true,
true
)
} else { } else {
if (positionUnmarked != -1) { if (positionUnmarked != -1) {
@ -385,7 +396,8 @@ class EndSacadorFragment(
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
if (!goBack2) { if (!goBack2) {
if (it.isError) { if (it.isError) {
customDialog.setTitle(getString(R.string.error)).setDescription(it.errorMessage) customDialog.setTitle(getString(R.string.error))
.setDescription(it.errorMessage)
.setKoButton(getString(R.string.close)) { .setKoButton(getString(R.string.close)) {
scanRequest() scanRequest()
customDialog.dismiss() customDialog.dismiss()
@ -460,7 +472,7 @@ class EndSacadorFragment(
val ticket = val ticket =
"[" + sales[positionIncreaseQuantity].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[positionIncreaseQuantity].id + "/summary)" "[" + sales[positionIncreaseQuantity].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[positionIncreaseQuantity].id + "/summary)"
val message = val message =
"Se ha modificado desde previa la cantidad original " + sales[positionIncreaseQuantity].quantity + " del artículo " + sales[positionIncreaseQuantity].itemFk + " a nueva cantidad: " + quantityIncrease + " del ticket " + ticket getString(R.string.modifiedQuantityPrevious) + sales[positionIncreaseQuantity].quantity + getString(R.string.fromItem) + sales[positionIncreaseQuantity].itemFk + getString(R.string.toNewQuantity) + quantityIncrease + getString(R.string.fromTicket) + ticket
@ -504,13 +516,17 @@ class EndSacadorFragment(
"TRUE" -> { "TRUE" -> {
message = message =
"Se ha enviado desde previa a Basura " + totalQuantity + " del articulo " + sales[positionCollectionMissing].itemFk + " ticket " + ticket getString(R.string.sentToTrashPrevious) + totalQuantity + getString(R.string.fromItem) + sales[positionCollectionMissing].itemFk + getString(
R.string.ticketSpaces
) + ticket
} }
"FALSE" -> { "FALSE" -> {
message = message =
"Se ha enviado desde previa a Faltas la cantidad de " + totalQuantity + " del articulo " + sales[positionCollectionMissing].itemFk + " ticket " + ticket getString(R.string.sentToTrashFaults) + totalQuantity + getString(R.string.fromItem) + sales[positionCollectionMissing].itemFk + getString(
R.string.ticketSpaces
) + ticket
} }
@ -518,7 +534,9 @@ class EndSacadorFragment(
"reject" -> { "reject" -> {
var quantityOriginal = totalQuantity.toInt() + quantityCollectionMissing.toInt() var quantityOriginal = totalQuantity.toInt() + quantityCollectionMissing.toInt()
message = message =
"Se ha modificado desde previa la cantidad de " + quantityOriginal + " del artículo " + sales[positionCollectionMissing].itemFk + " a nueva cantidad: " + quantityCollectionMissing + " del ticket " + ticket getString(R.string.modifiedQuantityPrevious) + quantityOriginal + getString(R.string.fromItem) + sales[positionCollectionMissing].itemFk + getString(
R.string.toNewQuantity
) + quantityCollectionMissing + getString(R.string.fromTicket) + ticket
} }
} }
@ -536,8 +554,7 @@ class EndSacadorFragment(
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = getData(TOKEN), token = getData(TOKEN),
workerId = workerId, workerId = workerId,
message = message, message = message
"sendChekingPresence"
) )
} }
} }
@ -582,11 +599,13 @@ class EndSacadorFragment(
getString(R.string.scanTicketsForAdd), getString(R.string.scanTicketsForAdd),
false, false,
false, false,
"Pre Sacador" getString(R.string.titlePrePicker), isToasted = true
) )
} else { } else {
if (ticket.isNullOrBlank()){binding.mainToolbar.toolbarTitle.text = collection.collectionFk} if (ticket.isNullOrBlank()) {
binding.mainToolbar.toolbarTitle.text = collection.collectionFk
}
sales = ArrayList() sales = ArrayList()
salesList.forEach { salesList.forEach {
@ -669,11 +688,13 @@ class EndSacadorFragment(
if (it.saldo == it.picked) if (it.saldo == it.picked)
totalMark += 1 totalMark += 1
} }
if (ticket.isNullOrBlank()){binding.mainToolbar.toolbarTitle.text = collection.collectionFk} if (ticket.isNullOrBlank()) {
binding.mainToolbar.toolbarTitle.text = collection.collectionFk
}
binding.mainToolbar.toolbarSubtitle.text = "" + totalMark + "/" + sales.size binding.mainToolbar.toolbarSubtitle.text = "" + totalMark + "/" + sales.size
if (totalMark == sales.size) { if (totalMark == sales.size) {
"Ticket completo".toast(this.context, Toast.LENGTH_SHORT) getString(R.string.ticketCompleted).toast(this.context, Toast.LENGTH_SHORT)
saleTracking_addPrevOK() saleTracking_addPrevOK()
@ -709,12 +730,12 @@ class EndSacadorFragment(
var isOk = false var isOk = false
for (saleVO in sales) { for (saleVO in sales) {
//Timber.tag("VERDNATURA::").d("El item buscado es " + saleVO.itemFk) //Timber.tag("VERDNATURA::").d("El item buscado es " + saleVO.itemFk)
if (saleVO.quantity != saleVO.picked) { if (saleVO.quantity != saleVO.picked) {
//1- Por carro //1- Por carro
var shelvingIndex = 0 var shelvingIndex = 0
for (placementVO in saleVO.carros) { for (placementVO in saleVO.carros) {
//Timber.tag("VERDNATURA::").d("La matric " + placementVO.shelving) //Timber.tag("VERDNATURA::").d("La matric " + placementVO.shelving)
if (txtscan.uppercase() == placementVO.shelving.uppercase()) { if (txtscan.uppercase() == placementVO.shelving.uppercase()) {
if (mpok != null) mpok!!.start() if (mpok != null) mpok!!.start()
isOk = true isOk = true
@ -733,7 +754,7 @@ class EndSacadorFragment(
if (mperror != null) { if (mperror != null) {
mperror!!.start() mperror!!.start()
} }
("Elemento escaneado no encontrado: " + txtscan).toast(requireContext()) (getString(R.string.itemScanetNotFound) + txtscan).toast(requireContext())
} }
} }
@ -766,7 +787,7 @@ class EndSacadorFragment(
if (mperror != null) { if (mperror != null) {
mperror!!.start() mperror!!.start()
} }
("Elemento escaneado no encontrado: " + txtscan).toast(requireContext()) ("getString(R.string.itemScanetNotFound)" + txtscan).toast(requireContext())
} }
} }
@ -892,38 +913,40 @@ class EndSacadorFragment(
listPlacementSupply.add(BarcodeVO(code = it.proposal)) listPlacementSupply.add(BarcodeVO(code = it.proposal))
} }
customDialogList.setTitle("$shelving($item) $total del $longName").setOkButton(getString( R.string.take)) { customDialogList.setTitle("$shelving($item) $total del $longName")
.setOkButton(getString(R.string.take)) {
if (customDialogList.getValueTwo().isNotEmpty()) { if (customDialogList.getValueTwo().isNotEmpty()) {
if (checkItemScan(customDialogList.getValueTwo())) { if (checkItemScan(customDialogList.getValueTwo())) {
onQuantityOfShelvingSelected(itemShelvingFk) onQuantityOfShelvingSelected(itemShelvingFk)
mpok?.start() mpok?.start()
customDialogList.dismiss() customDialogList.dismiss()
} else {
itemShelvingFkStored = itemShelvingFk
binding.splashProgress.visibility = View.VISIBLE
viewModel.getIdFromCode(
usuario = getData(USER),
password = getData(PASSWORD),
code = customDialogList.getValueTwo()
)
customDialogList.dismiss()
}
scanRequest()
hideKeyboards()
} else { } else {
itemShelvingFkStored = itemShelvingFk "getString(R.string.scanItemValidate) validar".toast(requireContext())
binding.splashProgress.visibility = View.VISIBLE
viewModel.getIdFromCode(
usuario = getData(USER),
password = getData(PASSWORD),
code = customDialogList.getValueTwo()
)
customDialogList.dismiss()
} }
}.setKoButton(getString(R.string.close)) {
scanRequest() scanRequest()
hideKeyboards() hideKeyboards()
} else { customDialogList.dismiss()
"getString(R.string.scanItemValidate) validar".toast(requireContext()) }.setHintValue(getString(R.string.quantitySelect)).setValue(total)
} .setHintValueTwo(getString(R.string.scanItem))
}.setKoButton(getString(R.string.close)) {
scanRequest()
hideKeyboards()
customDialogList.dismiss()
}.setHintValue("Cantidad que coges:").setValue(total).setHintValueTwo(getString(R.string.scanItem))
.setValueTwo("").show() .setValueTwo("").show()
@ -1106,7 +1129,8 @@ class EndSacadorFragment(
private fun showScanner(index: Int, sale: PreSacadorItemVO) { private fun showScanner(index: Int, sale: PreSacadorItemVO) {
customDialogInput.setTitle("" + sale.itemFk) customDialogInput.setTitle("" + sale.itemFk)
.setDescription("Escanea el carro para el item seleccionado").setOkButton(getString(R.string.accept)) { .setDescription(getString(R.string.scanWagonForItem))
.setOkButton(getString(R.string.accept)) {
if (!customDialogInput.getValue().isNullOrEmpty()) { if (!customDialogInput.getValue().isNullOrEmpty()) {
findSale(customDialogInput.getValue(), index) findSale(customDialogInput.getValue(), index)
} }
@ -1151,7 +1175,7 @@ class EndSacadorFragment(
//OTROS //OTROS
private fun setToolBar() { private fun setToolBar() {
binding.mainToolbar.toolbarSubtitle.visibility = VISIBLE binding.mainToolbar.toolbarSubtitle.visibility = VISIBLE
binding.mainToolbar.toolbarTitle.text=collection.collectionFk binding.mainToolbar.toolbarTitle.text = collection.collectionFk
val listIcons: ArrayList<ImageView> = ArrayList() val listIcons: ArrayList<ImageView> = ArrayList()
@ -1176,14 +1200,14 @@ class EndSacadorFragment(
override fun onOptionsItemSelected(item: Drawable) { override fun onOptionsItemSelected(item: Drawable) {
goBack=false goBack = false
/*if (item == iconEraser) { /*if (item == iconEraser) {
} else*/ } else*/
when (item) { when (item) {
iconParking.drawable -> pasillerosItemClickListener?.onPasillerosItemClickListener( iconParking.drawable -> pasillerosItemClickListener?.onPasillerosItemClickListener(
PasillerosItemVO( PasillerosItemVO(
title = "Parking" title = getString(R.string.parking)
), "" ), ""
) )
@ -1327,55 +1351,55 @@ class EndSacadorFragment(
} }
//FALTAS / BASURA / SPLIT //FALTAS / BASURA / SPLIT
private fun showQuantityDialogOld(position: Int) { /* private fun showQuantityDialogOld(position: Int) {
customDialogThreeButtons.setDescription(getString(R.string.txtnuevacantidad)).setValue("") customDialogThreeButtons.setDescription(getString(R.string.txtnuevacantidad)).setValue("")
.setOkButton(getString(R.string.titleFaults)) { .setOkButton(getString(R.string.titleFaults)) {
if (customDialogThreeButtons.getValue().trim().isNullOrEmpty()) { if (customDialogThreeButtons.getValue().trim().isNullOrEmpty()) {
getString(R.string.Indicanuevacantidad).toast(requireContext()) getString(R.string.Indicanuevacantidad).toast(requireContext())
} else { } else {
trash(position, customDialogThreeButtons.getValue()) trash(position, customDialogThreeButtons.getValue())
scanRequest() scanRequest()
customDialogThreeButtons.dismiss() customDialogThreeButtons.dismiss()
} }
}.setOkButtonTwo(getString(R.string.BasuraRechazar)) { }.setOkButtonTwo(getString(R.string.BasuraRechazar)) {
if (customDialogThreeButtons.getValue().trim().isNullOrEmpty()) { if (customDialogThreeButtons.getValue().trim().isNullOrEmpty()) {
getString(R.string.Indicanuevacantidad).toast(requireContext()) getString(R.string.Indicanuevacantidad).toast(requireContext())
} else { } else {
missing(position, customDialogThreeButtons.getValue()) missing(position, customDialogThreeButtons.getValue())
scanRequest() scanRequest()
customDialogThreeButtons.dismiss() customDialogThreeButtons.dismiss()
} }
}.setOkButtonThree(getString(R.string.Reject)) { }.setOkButtonThree(getString(R.string.Reject)) {
if (customDialogThreeButtons.getValue().trim().isNullOrEmpty()) { if (customDialogThreeButtons.getValue().trim().isNullOrEmpty()) {
getString(R.string.Indicanuevacantidad).toast(requireContext()) getString(R.string.Indicanuevacantidad).toast(requireContext())
} else { } else {
reject(position, customDialogThreeButtons.getValue()) reject(position, customDialogThreeButtons.getValue())
scanRequest() scanRequest()
customDialogThreeButtons.dismiss() customDialogThreeButtons.dismiss()
} }
}.setOkButtonFour("Split") { }.setOkButtonFour(getString(R.string.Split)) {
if (customDialogThreeButtons.getValue().trim().isNullOrEmpty()) { if (customDialogThreeButtons.getValue().trim().isNullOrEmpty()) {
getString(R.string.Indicanuevacantidad).toast(requireContext()) getString(R.string.Indicanuevacantidad).toast(requireContext())
} else { } else {
split(position, customDialogThreeButtons.getValue()) split(position, customDialogThreeButtons.getValue())
scanRequest() scanRequest()
customDialogThreeButtons.dismiss() customDialogThreeButtons.dismiss()
} }
}.setOkButtonAdd(getString(R.string.Agregar)) { }.setOkButtonAdd(getString(R.string.Agregar)) {
if (customDialogThreeButtons.getValue().trim().isNullOrEmpty()) { if (customDialogThreeButtons.getValue().trim().isNullOrEmpty()) {
getString(R.string.Indicanuevacantidad).toast(requireContext()) getString(R.string.Indicanuevacantidad).toast(requireContext())
} else { } else {
increaseQuantity(position, customDialogThreeButtons.getValue()) increaseQuantity(position, customDialogThreeButtons.getValue())
scanRequest() scanRequest()
customDialogThreeButtons.dismiss() customDialogThreeButtons.dismiss()
} }
}.setKoButton(getString(R.string.cancel)) { }.setKoButton(getString(R.string.cancel)) {
scanRequest() scanRequest()
customDialogThreeButtons.dismiss() customDialogThreeButtons.dismiss()
}.show() }.show()
} }*/
private fun split(position: Int, quantity: String) { private fun split(position: Int, quantity: String) {
@ -1388,14 +1412,14 @@ class EndSacadorFragment(
} catch (e: Exception) { } catch (e: Exception) {
} }
binding.splashProgress.visibility=VISIBLE binding.splashProgress.visibility = VISIBLE
viewModel.transferSalesSalix( viewModel.transferSalesSalix(
getData(TOKEN), getData(TOKEN),
ticketFk = sales[position].id, ticketFk = sales[position].id,
saleFk = sales[position].idMovimiento, saleFk = sales[position].idMovimiento,
quantity = totalQuantity.toString() quantity = totalQuantity.toString()
) )
/* /*
try { try {
@ -1425,106 +1449,104 @@ class EndSacadorFragment(
} }
private fun trash(position: Int, quantity: String) { /* private fun trash(position: Int, quantity: String) {
var totalQuantity: Int = 0 var totalQuantity: Int = 0
try { try {
totalQuantity = sales[position].saldo.toInt() - quantity.toInt() totalQuantity = sales[position].saldo.toInt() - quantity.toInt()
} catch (e: Exception) { } catch (e: Exception) {
} }
viewModel.collectionMissingTrash( viewModel.collectionMissingTrash(
usuario = getData(USER), usuario = getData(USER),
password = getData(PASSWORD), password = getData(PASSWORD),
saleFk = sales[position].idMovimiento, saleFk = sales[position].idMovimiento,
quantity = totalQuantity.toString(), quantity = totalQuantity.toString(),
warehouseFk = getData(WAREHOUSEFK), warehouseFk = getData(WAREHOUSEFK),
type = "FALSE", type = "FALSE",
originalQuantity = quantity originalQuantity = quantity
) )
//sales[position].originalQuantity = quantity //sales[position].originalQuantity = quantity
try { try {
sales[position].saldo = quantity.toInt() sales[position].saldo = quantity.toInt()
} catch (e: Exception) { } catch (e: Exception) {
sales[position].saldo = 0 sales[position].saldo = 0
} }
//sales[position].startQuantity = quantity //sales[position].startQuantity = quantity
saleAdapter!!.notifyDataSetChanged() saleAdapter!!.notifyDataSetChanged()
if (quantity == "0") if (quantity == "0")
markLine(position) markLine(position)
//enviar mensaje a salix //enviar mensaje a salix
val ticket = val ticket =
"[" + sales[position].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].id + "/summary)" "[" + sales[position].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].id + "/summary)"
val message = val message =
"Se ha enviado a Faltas la cantidad de " + totalQuantity + " del articulo " + sales[position].itemFk + " ticket " + ticket "Se ha enviado a Faltas la cantidad de " + totalQuantity + getString(R.string.fromItem) + sales[position].itemFk + " ticket " + ticket
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = getData(TOKEN), token = getData(TOKEN),
workerId = sales[position].salesPersonFk, workerId = sales[position].salesPersonFk,
message = message, message = message
"sendChekingPresence" )
) }
}
private fun missing(position: Int, quantity: String) { private fun missing(position: Int, quantity: String) {
var totalQuantity: Int = 0 var totalQuantity: Int = 0
try { try {
totalQuantity = sales[position].saldo.toInt() - quantity.toInt() totalQuantity = sales[position].saldo.toInt() - quantity.toInt()
} catch (e: Exception) { } catch (e: Exception) {
} }
viewModel.collectionMissingTrash( viewModel.collectionMissingTrash(
usuario = getData(USER), usuario = getData(USER),
password = getData(PASSWORD), password = getData(PASSWORD),
saleFk = sales[position].idMovimiento, saleFk = sales[position].idMovimiento,
quantity = totalQuantity.toString(), quantity = totalQuantity.toString(),
warehouseFk = getData(WAREHOUSEFK), warehouseFk = getData(WAREHOUSEFK),
type = "TRUE", type = "TRUE",
originalQuantity = quantity originalQuantity = quantity
) )
//sales[position].originalQuantity = quantity //sales[position].originalQuantity = quantity
try { try {
sales[position].saldo = quantity.toInt() sales[position].saldo = quantity.toInt()
} catch (e: Exception) { } catch (e: Exception) {
sales[position].saldo = 0 sales[position].saldo = 0
} }
//sales[position].startQuantity = quantity //sales[position].startQuantity = quantity
if (quantity == "0") if (quantity == "0")
markLine(position) markLine(position)
saleAdapter!!.notifyDataSetChanged() saleAdapter!!.notifyDataSetChanged()
//enviar mensaje a salix //enviar mensaje a salix
val ticket = val ticket =
"[" + sales[position].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].id + "/summary)" "[" + sales[position].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].id + "/summary)"
val message = val message =
"Se ha enviado a Basura " + totalQuantity + " del articulo " + sales[position].itemFk + " ticket " + ticket "Se ha enviado a Basura " + totalQuantity + getString(R.string.fromItem) + sales[position].itemFk + " ticket " + ticket
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = getData(TOKEN), token = getData(TOKEN),
workerId = sales[position].salesPersonFk, workerId = sales[position].salesPersonFk,
message = message, message = message
"sendChekingPresence" )
) }
}
private fun reject(position: Int, quantity: String) { private fun reject(position: Int, quantity: String) {
var totalQuantity: Int = 0 var totalQuantity: Int = 0
try { try {
totalQuantity = sales[position].saldo.toInt() - quantity.toInt() totalQuantity = sales[position].saldo.toInt() - quantity.toInt()
} catch (e: Exception) { } catch (e: Exception) {
} }
viewModel.collectionMissingTrash( viewModel.collectionMissingTrash(
usuario = getData(USER), usuario = getData(USER),
password = getData(PASSWORD), password = getData(PASSWORD),
saleFk = sales[position].idMovimiento, saleFk = sales[position].idMovimiento,
quantity = totalQuantity.toString(), quantity = totalQuantity.toString(),
warehouseFk = getData(WAREHOUSEFK), warehouseFk = getData(WAREHOUSEFK),
type = "reject", type = "reject",
originalQuantity = quantity originalQuantity = quantity
) )
//enviar mensaje a salix //enviar mensaje a salix
/* val ticket = *//* val ticket =
"[" + ticketFk + "](https://salix.verdnatura.es/#!/ticket/" + ticketFk + "/summary)" "[" + ticketFk + "](https://salix.verdnatura.es/#!/ticket/" + ticketFk + "/summary)"
val message = val message =
"Se ha modificado la cantidad original desde previa" + sales[position].saldo + " del artículo " + sales[position].itemFk + " a nueva cantidad: " + quantity + " del ticket " + ticket "Se ha modificado la cantidad original desde previa" + sales[position].saldo + " del artículo " + sales[position].itemFk + " a nueva cantidad: " + quantity + " del ticket " + ticket
@ -1533,7 +1555,7 @@ class EndSacadorFragment(
workerId = sales[position].salesPersonFk, workerId = sales[position].salesPersonFk,
message = message, message = message,
"sendChekingPresence" "sendChekingPresence"
)*/ )*//*
try { try {
sales[position].saldo = quantity.toInt() sales[position].saldo = quantity.toInt()
@ -1566,8 +1588,8 @@ class EndSacadorFragment(
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = getData(TOKEN), token = getData(TOKEN),
workerId = sales[position].salesPersonFk, workerId = sales[position].salesPersonFk,
message = message, message = message
"sendChekingPresence"
) )
//Timber.d("VERDNATURA").d("el trabajador es " + sales[position].salesPersonFk) //Timber.d("VERDNATURA").d("el trabajador es " + sales[position].salesPersonFk)
@ -1581,7 +1603,7 @@ class EndSacadorFragment(
saleAdapter?.notifyDataSetChanged() saleAdapter?.notifyDataSetChanged()
} }*/
private fun increaseQuantity(position: Int, quantity: String) { private fun increaseQuantity(position: Int, quantity: String) {
positionIncreaseQuantity = position positionIncreaseQuantity = position

View File

@ -48,7 +48,6 @@ class InitPreSacadorFragment (
customDialog = CustomDialog(requireContext()) customDialog = CustomDialog(requireContext())
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
binding.splashProgressTwo.visibility = View.GONE binding.splashProgressTwo.visibility = View.GONE
binding.mainToolbar.toolbarTitle.text = getString(R.string.getcollection)
setToolBar() setToolBar()
setEvents() setEvents()
viewModel.sectorCollection_get(getData(USER),getData(PASSWORD)) viewModel.sectorCollection_get(getData(USER),getData(PASSWORD))
@ -66,8 +65,10 @@ class InitPreSacadorFragment (
private fun setToolBar() { private fun setToolBar() {
ma.hideBottomNavigation(View.VISIBLE) ma.hideBottomNavigation(View.VISIBLE)
binding.mainToolbar.backButton.visibility = View.GONE
binding.mainToolbar.toolbarTitle.text=entrypoint binding.mainToolbar.toolbarTitle.text=entrypoint
binding.mainToolbar.backButton.setOnClickListener{
ma.onBackPressed()
}
val listIcons: ArrayList<ImageView> = ArrayList() val listIcons: ArrayList<ImageView> = ArrayList()
val iconAdd = ImageView(context) val iconAdd = ImageView(context)
@ -139,7 +140,7 @@ class InitPreSacadorFragment (
binding.splashProgressTwo.visibility = View.GONE binding.splashProgressTwo.visibility = View.GONE
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage,true,false) ma.messageWithSound(getString(R.string.errorCollectionNew)+ it.errorMessage,true,false)
} else { } else {
//if (goBack) //if (goBack)
@ -172,11 +173,11 @@ class InitPreSacadorFragment (
} }
} }
if (isNew) { if (isNew) {
collectionsList.add(CollectionVO(collectionFk = collection, created = "Nuevo")) collectionsList.add(CollectionVO(collectionFk = collection, created = getString(R.string.newCreated)))
adapter?.notifyDataSetChanged() adapter?.notifyDataSetChanged()
} else { } else {
customDialog.setTitle("Atención") customDialog.setTitle(getString(R.string.info))
.setDescription("La colección " + collection + " sigue pendiente de preparar") .setDescription(getString(R.string.collectionPending) + collection)
.setOkButton(getString(R.string.accept)) { .setOkButton(getString(R.string.accept)) {
customDialog.dismiss() customDialog.dismiss()
}.show() }.show()

View File

@ -356,12 +356,12 @@ class PreSacadorFragment :
when (typeCollectionMissing){ when (typeCollectionMissing){
"TRUE"->{ "TRUE"->{
message = "Se ha enviado desde previa a Basura " + totalQuantity + " del articulo " + sales[positionCollectionMissing].itemFk + " ticket " + ticket message = "Se ha enviado desde previa a Basura " + totalQuantity + getString(R.string.fromItem) + sales[positionCollectionMissing].itemFk + " ticket " + ticket
} }
"FALSE"->{ "FALSE"->{
message= "Se ha enviado desde previa a Faltas la cantidad de " + totalQuantity + " del articulo " + sales[positionCollectionMissing].itemFk + " ticket " + ticket message= "Se ha enviado desde previa a Faltas la cantidad de " + totalQuantity + getString(R.string.fromItem) + sales[positionCollectionMissing].itemFk + " ticket " + ticket
} }
@ -383,8 +383,7 @@ class PreSacadorFragment :
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = getData(TOKEN), token = getData(TOKEN),
workerId = workerId, workerId = workerId,
message = message, message = message
"sendChekingPresence"
) )
} }
//CREATE LIST //CREATE LIST
@ -500,7 +499,7 @@ class PreSacadorFragment :
binding.mainToolbar.toolbarTitle.text = ticket binding.mainToolbar.toolbarTitle.text = ticket
binding.mainToolbar.toolbarSubtitle.text = "" + totalMark + "/" + sales.size binding.mainToolbar.toolbarSubtitle.text = "" + totalMark + "/" + sales.size
if (totalMark == sales.size) { if (totalMark == sales.size) {
"Ticket completo".toast(this.context, Toast.LENGTH_SHORT) getString(R.string.ticketCompleted).toast(this.context, Toast.LENGTH_SHORT)
} }
} }
@ -546,7 +545,7 @@ class PreSacadorFragment :
if (mperror != null) { if (mperror != null) {
mperror!!.start() mperror!!.start()
} }
("Elemento escaneado no encontrado: " + txtscan).toast(requireContext()) ("getString(R.string.itemScanetNotFound)" + txtscan).toast(requireContext())
} }
} }
@ -579,7 +578,7 @@ class PreSacadorFragment :
if (mperror != null) { if (mperror != null) {
mperror!!.start() mperror!!.start()
} }
("Elemento escaneado no encontrado: " + txtscan).toast(requireContext()) ("getString(R.string.itemScanetNotFound)" + txtscan).toast(requireContext())
} }
} }
@ -719,7 +718,7 @@ class PreSacadorFragment :
scanRequest() scanRequest()
hideKeyboards() hideKeyboards()
customDialogList.dismiss() customDialogList.dismiss()
}.setHintValue("Cantidad que coges:").setValue(total).setHintValueTwo(getString(R.string.scanItem)) }.setHintValue("getString(R.string.quantitySelect))").setValue(total).setHintValueTwo(getString(R.string.scanItem))
.setValueTwo("").show() .setValueTwo("").show()
@ -1230,12 +1229,11 @@ class PreSacadorFragment :
val ticket = val ticket =
"[" + sales[position].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].id + "/summary)" "[" + sales[position].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].id + "/summary)"
val message = val message =
"Se ha enviado a Faltas la cantidad de " + totalQuantity + " del articulo " + sales[position].itemFk + " ticket " + ticket "Se ha enviado a Faltas la cantidad de " + totalQuantity + getString(R.string.fromItem) + sales[position].itemFk + " ticket " + ticket
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = getData(TOKEN), token = getData(TOKEN),
workerId = sales[position].salesPersonFk, workerId = sales[position].salesPersonFk,
message = message, message = message
"sendChekingPresence"
) )
} }
@ -1272,12 +1270,11 @@ class PreSacadorFragment :
val ticket = val ticket =
"[" + sales[position].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].id + "/summary)" "[" + sales[position].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[position].id + "/summary)"
val message = val message =
"Se ha enviado a Basura " + totalQuantity + " del articulo " + sales[position].itemFk + " ticket " + ticket "Se ha enviado a Basura " + totalQuantity + getString(R.string.fromItem) + sales[position].itemFk + " ticket " + ticket
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = getData(TOKEN), token = getData(TOKEN),
workerId = sales[position].salesPersonFk, workerId = sales[position].salesPersonFk,
message = message, message = message
"sendChekingPresence"
) )
} }
@ -1305,8 +1302,7 @@ class PreSacadorFragment :
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = getData(TOKEN), token = getData(TOKEN),
workerId = sales[position].salesPersonFk, workerId = sales[position].salesPersonFk,
message = message, message = message
"sendChekingPresence"
) )
try { try {
@ -1339,8 +1335,7 @@ class PreSacadorFragment :
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = getData(TOKEN), token = getData(TOKEN),
workerId = sales[position].salesPersonFk, workerId = sales[position].salesPersonFk,
message = message, message = message
"sendChekingPresence"
) )
Log.d("VERDNATURA","el trabajador es "+sales[position].salesPersonFk) Log.d("VERDNATURA","el trabajador es "+sales[position].salesPersonFk)

View File

@ -26,6 +26,8 @@ import retrofit2.Callback
import retrofit2.Response import retrofit2.Response
class PreSacadorViewModel(context: Context) : BaseViewModel() { class PreSacadorViewModel(context: Context) : BaseViewModel() {
private val contextApp=context
private val getPreSacadorUseCase: GetPreSacadorUseCase = GetPreSacadorUseCase(context) private val getPreSacadorUseCase: GetPreSacadorUseCase = GetPreSacadorUseCase(context)
private val getSacadorControladorUserCase: GetSacadorControladorUserCase = private val getSacadorControladorUserCase: GetSacadorControladorUserCase =
GetSacadorControladorUserCase(context) GetSacadorControladorUserCase(context)
@ -538,7 +540,6 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() {
token: String, token: String,
workerId: String, workerId: String,
message: String, message: String,
calledFunction: String
) { ) {
try { try {
getLoginUserCase.sendChekingPresence(token, workerId.toInt(), message) getLoginUserCase.sendChekingPresence(token, workerId.toInt(), message)
@ -547,7 +548,7 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() {
if (!response.isSuccessful || response.message() == "false") { if (!response.isSuccessful || response.message() == "false") {
_responseSalixMessage.value = ResponseItemVO( _responseSalixMessage.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = "Error al enviar mensaje rocket." + getMessageFromAllResponse( errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message() nameofFunction(this), response.message()
) )
) )
@ -559,7 +560,7 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() {
override fun onFailure(call: Call<Boolean>, t: Throwable) { override fun onFailure(call: Call<Boolean>, t: Throwable) {
_responseSalixMessage.value = ResponseItemVO( _responseSalixMessage.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = "Error al enviar mensaje rocket." + getMessageFromAllResponse( errorMessage = getMessageFromAllResponse(
nameofFunction(this), t.message!! nameofFunction(this), t.message!!
) )
) )
@ -594,7 +595,7 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() {
) { ) {
if (response.body() != null) { if (response.body() != null) {
_collectionList.value = _collectionList.value =
response.body()?.let { CollectionListVO(it.toDateFormat()) } response.body()?.let { CollectionListVO(it.toDateFormat(contextApp)) }
} else { } else {
val listError: ArrayList<CollectionVO> = ArrayList() val listError: ArrayList<CollectionVO> = ArrayList()
listError.add( listError.add(
@ -643,7 +644,7 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() {
if (!response.isSuccessful) { if (!response.isSuccessful) {
_responseNew.value = ResponseItemVO( _responseNew.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = "Error en la llamada al añadir colección." + getMessageFromAllResponse( errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message() nameofFunction(this), response.message()
) )
) )
@ -691,7 +692,6 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() {
.enqueue(object : .enqueue(object :
Callback<List<PreSacadorItemVO>> { Callback<List<PreSacadorItemVO>> {
override fun onFailure(call: Call<List<PreSacadorItemVO>>, t: Throwable) { override fun onFailure(call: Call<List<PreSacadorItemVO>>, t: Throwable) {
//Timber.tag("VERDNATURA::").d("ha fallado")
_salesList.value = listOf() _salesList.value = listOf()
} }
@ -702,7 +702,7 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() {
if (response.body() != null) { if (response.body() != null) {
_salesList.value = response.body()?.let { it } _salesList.value = response.body()?.let { it }
} else { } else {
d("VERDNATURA::", "ES NULO")
_salesList.value = listOf() _salesList.value = listOf()
} }
} }
@ -744,7 +744,7 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() {
if (!response.isSuccessful) { if (!response.isSuccessful) {
_responseSaleGroupAdd.value = ResponseItemVO( _responseSaleGroupAdd.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = "Error al añadir ticket a la colección." + getMessageFromAllResponse( errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message() nameofFunction(this), response.message()
) )
) )
@ -792,7 +792,7 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() {
if (!response.isSuccessful) { if (!response.isSuccessful) {
_responseSaleAddPrevOK.value = ResponseItemVO( _responseSaleAddPrevOK.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = "Error al cambiar el estado a la colección de previa." + getMessageFromAllResponse( errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message() nameofFunction(this), response.message()
) )
) )
@ -843,7 +843,7 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() {
if (!response.isSuccessful) { if (!response.isSuccessful) {
_responseSaleupdateIsChecked.value = ResponseItemVO( _responseSaleupdateIsChecked.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = "Error al cambiar el estado a la colección de previa." + getMessageFromAllResponse( errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message() nameofFunction(this), response.message()
) )
) )

View File

@ -2,12 +2,11 @@ package es.verdnatura.presentation.view.feature.qr
import android.content.Context import android.content.Context
import android.util.Log
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import es.verdnatura.R
import es.verdnatura.domain.GetQrReaderUserCase import es.verdnatura.domain.GetQrReaderUserCase
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.ResponseItemVO import es.verdnatura.presentation.common.ResponseItemVO
@ -16,6 +15,7 @@ import retrofit2.Callback
import retrofit2.Response import retrofit2.Response
class QrFragmentViewModel(context: Context) : BaseViewModel() { class QrFragmentViewModel(context: Context) : BaseViewModel() {
private val contextApp =context
private val GetQrReaderUserCase: GetQrReaderUserCase = private val GetQrReaderUserCase: GetQrReaderUserCase =
GetQrReaderUserCase(context) GetQrReaderUserCase(context)
@ -46,9 +46,9 @@ class QrFragmentViewModel(context: Context) : BaseViewModel() {
_qrresponse.value = ResponseItemVO( _qrresponse.value = ResponseItemVO(
response = "", response = "",
isError = true, isError = true,
errorMessage ="Usuario sin permisos para realizar la acción" errorMessage =contextApp.getString(
R.string.userNotPermission
) ))
} else if (response.body() != null) { } else if (response.body() != null) {
_qrresponse.value = ResponseItemVO( _qrresponse.value = ResponseItemVO(

View File

@ -4,7 +4,6 @@ import android.content.Context
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
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.widget.ImageView import android.widget.ImageView
import androidx.fragment.app.setFragmentResultListener import androidx.fragment.app.setFragmentResultListener
@ -56,7 +55,6 @@ class SacadorFragment :
setToolBar() setToolBar()
setEvents() setEvents()
//Log.d("VERDNATURA::","getCollections es "+ getCollections)
if (getCollections) { if (getCollections) {
viewModel.collection_new_smart( viewModel.collection_new_smart(
getData(USER), getData(USER),
@ -65,22 +63,20 @@ class SacadorFragment :
getData(WAGON), getData(WAGON),
getData(TAGSTYPE) getData(TAGSTYPE)
) )
//getCollections = false
} else { } else {
var working_in_test=false //sergio: Ok en app var working_in_test = false //sergio: Ok en app
if (!working_in_test) { if (!working_in_test) {
viewModel.collectionGetSalix(token = getData(TOKEN)) viewModel.collectionGetSalix(token = getData(TOKEN))
}else{ } else {
viewModel.collectionGet( getData(USER), viewModel.collectionGet(
getData(PASSWORD)) getData(USER),
} getData(PASSWORD)
)
}
} }
super.init() super.init()
} }
@ -91,13 +87,10 @@ class SacadorFragment :
val result = bundle.getString("tagMode") val result = bundle.getString("tagMode")
//Timber.d("VERDNATURA::").d("el result es " + result)
resultTagMode = result resultTagMode = result
if (result.equals("complete") && getData(TAGSTYPE).equals("SmartTags")) { if (result.equals(getString(R.string.complete)) && getData(TAGSTYPE).equals(getString(R.string.smarttags))) {
getCollections = true getCollections = true
//Timber.d("VERDNATURA::").d("el getCollections es " + getCollections)
} else { } else {
getCollections = false getCollections = false
} }
@ -116,6 +109,9 @@ class SacadorFragment :
ma.hideBottomNavigation(View.VISIBLE) ma.hideBottomNavigation(View.VISIBLE)
binding.mainToolbar.backButton.setOnClickListener{
requireActivity().onBackPressed()
}
val listIcons: ArrayList<ImageView> = ArrayList() val listIcons: ArrayList<ImageView> = ArrayList()
val iconAdd = ImageView(context) val iconAdd = ImageView(context)
@ -141,9 +137,13 @@ class SacadorFragment :
iconAdd.drawable -> { iconAdd.drawable -> {
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
checkTagsMode() // checkTagsMode()
/* viewModel.collection_new_wagon(getData(USER), viewModel.collectionNew(
getData(PASSWORD),getData(SECTORFK),getData(WAGON),getData(TAGSTYPE),"collection_new_wagon")*/ getData(USER),
getData(PASSWORD),
getData(SECTORFK),
getData(WAGON)
)
} }
iconVehicleIn.drawable -> ma.onVehicleSelected(SacadorFragment.TAG) iconVehicleIn.drawable -> ma.onVehicleSelected(SacadorFragment.TAG)
} }
@ -168,31 +168,30 @@ class SacadorFragment :
private fun checkTagsMode() { private fun checkTagsMode() {
//sergio:codigo smarttags
if (getData(TAGSTYPE).equals("Stickers")) { if (getData(TAGSTYPE).equals(getString(R.string.stickers))) {
viewModel.collectionNew( viewModel.collectionNew(
getData(USER), getData(USER),
getData(PASSWORD), getData(PASSWORD),
getData(SECTORFK), getData(SECTORFK),
getData(WAGON) getData(WAGON)
) )
} else if (getCollections) { } else if (getCollections) {
//Log.d("VERDNATURA::","getCollections sobrevive")
viewModel.collection_new_smart(
getData(USER),
getData(PASSWORD),
getData(SECTORFK),
getData(WAGON),
getData(TAGSTYPE)
)
} else { viewModel.collection_new_smart(
requireActivity().addFragment( getData(USER),
AssociateSmartTagsFragment.newInstance(AssociateSmartTagsFragment.TAG), getData(PASSWORD),
R.id.main_frame_layout, getData(SECTORFK),
AssociateSmartTagsFragment.TAG getData(WAGON),
) getData(TAGSTYPE)
// } )
} else {
requireActivity().addFragment(
AssociateSmartTagsFragment.newInstance(AssociateSmartTagsFragment.TAG),
R.id.main_frame_layout,
AssociateSmartTagsFragment.TAG
)
} }
@ -246,18 +245,17 @@ class SacadorFragment :
responseCollectionSmart.observe(viewLifecycleOwner, Observer { responseCollectionSmart.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
getCollections=false getCollections = false
if (!goBack) { if (!goBack) {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, true, false) ma.messageWithSound(it.errorMessage, true, false)
// viewModel.smartTagInsertTicket(it.response) } else {
} else {
//ma.messageWithSound(it.errorMessage, false, false)
viewModel.smartTagInsertTicket(it.response)
goBack = false viewModel.smartTagInsertTicket(it.response)
}
goBack = false
}
} }
}) })
@ -267,10 +265,10 @@ class SacadorFragment :
if (!goBack) { if (!goBack) {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, true, false) ma.messageWithSound(it.errorMessage, true, false)
getCollections=true getCollections = true
} else { } else {
ma.messageWithSound(it.errorMessage, false, false) ma.messageWithSound(getString(R.string.ticketInsert), false, false)
getCollections=false getCollections = false
viewModel.collectionGetSalix(getData(TOKEN)) viewModel.collectionGetSalix(getData(TOKEN))
} }
goBack = false goBack = false
@ -302,7 +300,12 @@ class SacadorFragment :
} }
} }
if (isNew) { if (isNew) {
collectionsList.add(CollectionVO(collectionFk = collection, created = getString(R.string.newCreated))) collectionsList.add(
CollectionVO(
collectionFk = collection,
created = getString(R.string.newCreated)
)
)
adapter?.notifyDataSetChanged() adapter?.notifyDataSetChanged()

View File

@ -24,8 +24,9 @@ import retrofit2.Response
class SacadorViewModel(context: Context) : BaseViewModel() { class SacadorViewModel(context: Context) : BaseViewModel() {
val emptyMessage = "No tienes colecciones pendientes. Presiona sobre el + para crear colección" //val emptyMessage = "No tienes colecciones pendientes. Presiona sobre el + para crear colección"
private val contextApp=context
private val getSacadorControladorUserCase: GetSacadorControladorUserCase = GetSacadorControladorUserCase( private val getSacadorControladorUserCase: GetSacadorControladorUserCase = GetSacadorControladorUserCase(
context context
) )
@ -85,7 +86,7 @@ class SacadorViewModel(context: Context) : BaseViewModel() {
response: Response<CollectionVO> response: Response<CollectionVO>
) { ) {
if (response.body() != null) { if (response.body() != null) {
_collectionTicketList.value = response.body()?.let { it.map() } _collectionTicketList.value = response.body()?.let { it.map(contextApp) }
} else { } else {
_collectionTicketList.value = CollectionVO( _collectionTicketList.value = CollectionVO(
isError = true, isError = true,
@ -205,7 +206,7 @@ class SacadorViewModel(context: Context) : BaseViewModel() {
) { ) {
if (response.body() != null) { if (response.body() != null) {
_collectionList.value = _collectionList.value =
response.body()?.let { CollectionListVO(it.toDateFormat()) } response.body()?.let { CollectionListVO(it.toDateFormat(contextApp)) }
} else { } else {
val listError: ArrayList<CollectionVO> = ArrayList() val listError: ArrayList<CollectionVO> = ArrayList()
listError.add( listError.add(
@ -238,7 +239,7 @@ class SacadorViewModel(context: Context) : BaseViewModel() {
) { ) {
if (response.body() != null) { if (response.body() != null) {
_collectionList.value = _collectionList.value =
response.body()?.let { CollectionListVO(it.toDateFormat()) } response.body()?.let { CollectionListVO(it.toDateFormat(contextApp)) }
} else { } else {
val listError: ArrayList<CollectionVO> = ArrayList() val listError: ArrayList<CollectionVO> = ArrayList()
listError.add( listError.add(
@ -271,7 +272,7 @@ class SacadorViewModel(context: Context) : BaseViewModel() {
if (response.isSuccessful){ if (response.isSuccessful){
responseSmart = SmartTagRegister( responseSmart = SmartTagRegister(
message="Ticket insertado OK.", message="",
isError = false, isError = false,
errorMessage = "" errorMessage = ""
) )

View File

@ -1,17 +1,19 @@
package es.verdnatura.presentation.view.feature.sacador.mapper package es.verdnatura.presentation.view.feature.sacador.mapper
import android.content.Context
import es.verdnatura.R
import es.verdnatura.presentation.common.convertToDateString import es.verdnatura.presentation.common.convertToDateString
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.*
import kotlin.collections.ArrayList import kotlin.collections.ArrayList
fun List<CollectionVO>.toDateFormat(): ArrayList<CollectionVO> { fun List<CollectionVO>.toDateFormat(context:Context): ArrayList<CollectionVO> {
val collections : ArrayList<CollectionVO> = ArrayList() val collections : ArrayList<CollectionVO> = ArrayList()
this.forEach { this.forEach {
collections.add(CollectionVO( collections.add(CollectionVO(
collectionFk = it.collectionFk, collectionFk = it.collectionFk,
created = getCalendarFromDate(it.created).convertToDateString() created = getCalendarFromDate(it.created,context).convertToDateString()
)) ))
} }
@ -19,8 +21,8 @@ fun List<CollectionVO>.toDateFormat(): ArrayList<CollectionVO> {
} }
private fun getCalendarFromDate(date:String): Calendar { private fun getCalendarFromDate(date:String,context:Context): Calendar {
val sdf = SimpleDateFormat("yyyy-MM-dd") val sdf = SimpleDateFormat(context.getString(R.string.dateFormat))
val cal = Calendar.getInstance() val cal = Calendar.getInstance()
cal.setTime(sdf.parse(date)) cal.setTime(sdf.parse(date))
return cal return cal

View File

@ -34,10 +34,11 @@ class ShowTicketFragment(var menuOrigin: String) :
override fun init() { override fun init() {
binding.splashProgress.visibility = View.GONE // binding.splashProgress.visibility = View.GONE
binding.mainToolbar.toolbarTitle.text = getString(R.string.verticket) binding.mainToolbar.toolbarTitle.text = getString(R.string.verticket)
binding.splashProgress.visibility = View.GONE
if (menuOrigin == "Main") { if (menuOrigin == getString(R.string.main)) {
hideBackButton(binding.mainToolbar) hideBackButton(binding.mainToolbar)
} }

View File

@ -15,7 +15,7 @@ import retrofit2.Callback
import retrofit2.Response import retrofit2.Response
class ShowTicketViewModel(context: Context) : BaseViewModel() { class ShowTicketViewModel(context: Context) : BaseViewModel() {
private val contextApp=context
private val _collectionTicketList by lazy { MutableLiveData<CollectionVO>() } private val _collectionTicketList by lazy { MutableLiveData<CollectionVO>() }
private val getPreControladorUserCase: GetPreControladorUserCase = GetPreControladorUserCase(context) private val getPreControladorUserCase: GetPreControladorUserCase = GetPreControladorUserCase(context)
@ -37,7 +37,7 @@ class ShowTicketViewModel(context: Context) : BaseViewModel() {
response: Response<CollectionVO> response: Response<CollectionVO>
) { ) {
if (response.body() != null){ if (response.body() != null){
_collectionTicketList.value = response.body()?.let { it.map() } _collectionTicketList.value = response.body()?.let { it.map(contextApp) }
}else{ }else{
_collectionTicketList.value = CollectionVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())) _collectionTicketList.value = CollectionVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()))
} }

View File

@ -81,8 +81,6 @@ class RegisterSmartTagsFragment(
private fun setToolBar() { private fun setToolBar() {
// Log.d("VERDNATURA::","Title"+entryPoint)
binding.mainToolbar.toolbarTitle.text = entryPoint binding.mainToolbar.toolbarTitle.text = entryPoint
binding.splashProgress.visibility = GONE binding.splashProgress.visibility = GONE
@ -241,7 +239,7 @@ class RegisterSmartTagsFragment(
var message = "" var message = ""
when (TagScaned) { when (TagScaned) {
1 -> message = "Carro:" 1 -> message = getString(R.string.scannedWagon)
2 -> message = getString(R.string.highLabel) 2 -> message = getString(R.string.highLabel)
3 -> message = getString(R.string.midLabel) 3 -> message = getString(R.string.midLabel)
4 -> message = getString(R.string.lowLabel) 4 -> message = getString(R.string.lowLabel)

View File

@ -243,7 +243,7 @@ class AssociateSmartTagsFragment(
if (listSmartTags.size > 0) { if (listSmartTags.size > 0) {
// setFragmentResult("requestkey", bundleOf("tagMode" to "SmartTag")) // setFragmentResult("requestkey", bundleOf("tagMode" to "SmartTag"))
customDialogList.dismiss() customDialogList.dismiss()
val result = "complete" val result = getString(R.string.complete)
setFragmentResult("requestKey", bundleOf("tagMode" to result)) setFragmentResult("requestKey", bundleOf("tagMode" to result))
ma.openFragmentPickers(true) ma.openFragmentPickers(true)
/*listSmartTags.forEach { /*listSmartTags.forEach {

View File

@ -1,22 +1,15 @@
package es.verdnatura.presentation.view.feature.smarttag.sacador.fragment package es.verdnatura.presentation.view.feature.smarttag.sacador.fragment
import android.content.Context import android.content.Context
import android.os.Message
import android.util.Log
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import com.google.gson.JsonObject
import es.verdnatura.domain.GetSmarttagsUserCase import es.verdnatura.domain.GetSmarttagsUserCase
import es.verdnatura.domain.GetVehicleControlTimeUserCase
import es.verdnatura.domain.NodeJsService
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.ResponseItemVO import es.verdnatura.presentation.common.ResponseItemVO
import es.verdnatura.presentation.view.feature.login.model.errorMessage
import es.verdnatura.presentation.view.feature.smarttag.sacador.model.SmartTagRegister import es.verdnatura.presentation.view.feature.smarttag.sacador.model.SmartTagRegister
import org.json.JSONObject import org.json.JSONObject
import retrofit2.Call import retrofit2.Call
import retrofit2.Callback import retrofit2.Callback
import retrofit2.Response import retrofit2.Response
@ -51,96 +44,115 @@ class SmartTagsViewModel(context: Context) : BaseViewModel() {
get() = _registerSmarttagNode get() = _registerSmarttagNode
fun workerShelving_add(usuario:String,password:String,shelvingFK:String){ fun workerShelving_add(usuario: String, password: String, shelvingFK: String) {
GetSmarttagsUserCase.workerShelving_add(usuario,password,shelvingFK).enqueue(object : Callback<Void>{ GetSmarttagsUserCase.workerShelving_add(usuario, password, shelvingFK)
override fun onFailure(call: Call<Void>, t: Throwable) { .enqueue(object : Callback<Void> {
override fun onFailure(call: Call<Void>, t: Throwable) {
_responseadd.value = messageError(t.message!!, nameofFunction(this)) _responseadd.value = ResponseItemVO(
} isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
override fun onResponse(call: Call<Void>, response: Response<Void>) { )
if (!response.isSuccessful){
_responseadd.value = messageError(response.message(),nameofFunction(this))
}else{
_responseadd.value = ResponseItemVO(isError = false,response = response.message()!!)
} }
} override fun onResponse(call: Call<Void>, response: Response<Void>) {
if (!response.isSuccessful) {
_responseadd.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
)
)
} else {
_responseadd.value = ResponseItemVO(
isError = false,
errorMessage = response.message()
)
}
}
})
})
} }
fun messageError(message: String,call: String ): ResponseItemVO? { /* fun messageError(message: String, call: String): ResponseItemVO? {
return ResponseItemVO( return ResponseItemVO(
isError = true, isError = true,
errorMessage = "Error al llamar a " + call + " . Descripción del error:" + message errorMessage = "Error al llamar a " + call + " . Descripción del error:" + message
) )
} }*/
fun workerShelving_delete(usuario:String,password:String,vBarcode:String){ fun workerShelving_delete(usuario: String, password: String, vBarcode: String) {
GetSmarttagsUserCase.workerShelving_delete(usuario,password,vBarcode).enqueue(object : Callback<Void>{ GetSmarttagsUserCase.workerShelving_delete(usuario, password, vBarcode)
override fun onFailure(call: Call<Void>, t: Throwable) { .enqueue(object : Callback<Void> {
//_responseremove.value = ResponseItemVO(isError = true,errorMessage = "Error al llamar a workerShelving_remove") override fun onFailure(call: Call<Void>, t: Throwable) {
_responseremove.value = messageError(t.message!!,nameofFunction(this)) //_responseremove.value = ResponseItemVO(isError = true,errorMessage = "Error al llamar a workerShelving_remove")
} _responseremove.value = ResponseItemVO(
isError = true,
override fun onResponse(call: Call<Void>, response: Response<Void>) { errorMessage = getMessageFromAllResponse(
nameofFunction(this),
if (!response.isSuccessful){ t.message!!
_responseremove.value = messageError(response.message(),nameofFunction(this)) ))
}else{
_responseremove.value = ResponseItemVO(isError = false,response = response.message()!!)
} }
override fun onResponse(call: Call<Void>, response: Response<Void>) {
} if (!response.isSuccessful) {
_responseremove.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
)
)
} else {
_responseremove.value =
ResponseItemVO(isError = false, response = response.message()!!)
}
})
}
})
} }
fun smartTagRegister(smarttag: String, wagon: String, shelving: String) fun smartTagRegister(smarttag: String, wagon: String, shelving: String) {
{
GetSmarttagsUserCase.smartTagRegister(smarttag, wagon, shelving) GetSmarttagsUserCase.smartTagRegister(smarttag, wagon, shelving)
.enqueue(object : Callback<SmartTagRegister> .enqueue(object : Callback<SmartTagRegister> {
{
override fun onResponse( override fun onResponse(
call: Call<SmartTagRegister>, call: Call<SmartTagRegister>,
response: Response<SmartTagRegister> response: Response<SmartTagRegister>
) ) {
{
val responseSmart: SmartTagRegister val responseSmart: SmartTagRegister
if (response.isSuccessful){ if (response.isSuccessful) {
responseSmart = SmartTagRegister( responseSmart = SmartTagRegister(
message="Registrada smartTag.", message = response.message(),
isError = false, isError = false,
errorMessage = "" errorMessage = ""
) )
}else{ } else {
// sergio: buscar JSON obtindre el "message" Smarttag // sergio: buscar JSON obtindre el "message" Smarttag
var text = JSONObject(response.errorBody()!!.string()).get("error") var text = JSONObject(response.errorBody()!!.string()).get("error")
var message =JSONObject(text.toString()).get("message") var message = JSONObject(text.toString()).get("message")
responseSmart = SmartTagRegister( responseSmart = SmartTagRegister(
isError = true, isError = true,
errorMessage = message.toString() errorMessage = message.toString()
) )
//Log.d("VERDNATURA::","" +message)
}
}
_registerSmarttagNode.value = responseSmart _registerSmarttagNode.value = responseSmart
} }
override fun onFailure(call: Call<SmartTagRegister>, t: Throwable) override fun onFailure(call: Call<SmartTagRegister>, t: Throwable) {
{
val responseSmart = val responseSmart =
SmartTagRegister(isError = true, errorMessage = t.message!!) SmartTagRegister(isError = true, errorMessage = t.message!!)

View File

@ -43,7 +43,7 @@ class UbicadorAdapter (
fun bind(item: ItemUbicadorVO) { fun bind(item: ItemUbicadorVO) {
binding.apply { binding.apply {
this.item = item this.item = item
multiText.text = item.stickers+"x"+item.packing multiText.text = "${item.stickers}x${item.packing}"
imgItem.loadUrl("https://verdnatura.es/vn-image-data/catalog/200x200/"+item.item) imgItem.loadUrl("https://verdnatura.es/vn-image-data/catalog/200x200/"+item.item)
imgItem.setOnClickListener { imgItem.setOnClickListener {
onPasillerosItemClickListener.onPasillerosItemClickListener(PasillerosItemVO(title = res.getString( onPasillerosItemClickListener.onPasillerosItemClickListener(PasillerosItemVO(title = res.getString(

View File

@ -23,33 +23,36 @@ import es.verdnatura.presentation.view.feature.workermistake.model.MistakeWorker
import es.verdnatura.presentation.view.feature.workermistake.model.WorkerFromMistake import es.verdnatura.presentation.view.feature.workermistake.model.WorkerFromMistake
import ir.mirrajabi.searchdialog.SimpleSearchDialogCompat import ir.mirrajabi.searchdialog.SimpleSearchDialogCompat
class WorkermistakeFragment( var entryPoint: String = "" class WorkermistakeFragment(
var entryPoint: String = ""
) : BaseFragment<FragmentWorkermistakeBinding, InventaryViewModel>( ) : BaseFragment<FragmentWorkermistakeBinding, InventaryViewModel>(
InventaryViewModel::class) { InventaryViewModel::class
) {
private var adapterworker:WorkermistakeAdapter? = null private var adapterworker: WorkermistakeAdapter? = null
private lateinit var customDialogInput: CustomDialogInput private lateinit var customDialogInput: CustomDialogInput
private var listWorker:MutableList<WorkerFromMistake> = ArrayList() private var listWorker: MutableList<WorkerFromMistake> = ArrayList()
private var listWorkerAuxiliary:MutableList<WorkerFromMistake> = ArrayList() private var listWorkerAuxiliary: MutableList<WorkerFromMistake> = ArrayList()
private lateinit var customDialog: CustomDialog private lateinit var customDialog: CustomDialog
private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null
private var layoutManager : LinearLayoutManager? = null private var layoutManager: LinearLayoutManager? = null
// private var firstVisiblePosition = 0
// private var firstVisiblePosition = 0
private lateinit var customDialogList: CustomDialogList private lateinit var customDialogList: CustomDialogList
private var listMistakes: ArrayList<BarcodeVO> = ArrayList() private var listMistakes: ArrayList<BarcodeVO> = ArrayList()
private var listMistakesAdapter: BarcodeAdapter? = null private var listMistakesAdapter: BarcodeAdapter? = null
private var workerMistakeName: WorkerFromMistake? = null private var workerMistakeName: WorkerFromMistake? = null
private val departments=ArrayList<SearchDepartmentModel>() private val departments = ArrayList<SearchDepartmentModel>()
private lateinit var departmentId:String private lateinit var departmentId: String
companion object { companion object {
fun newInstance(entryPoint:String) = WorkermistakeFragment(entryPoint) fun newInstance(entryPoint: String) = WorkermistakeFragment(entryPoint)
} }
override fun getLayoutId(): Int = R.layout.fragment_workermistake override fun getLayoutId(): Int = R.layout.fragment_workermistake
@ -62,11 +65,14 @@ class WorkermistakeFragment( var entryPoint: String = ""
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
var working_in_test=false //sergio:No posar a true fins que Salix puje versió 8.3 var working_in_test = false //sergio:No posar a true fins que Salix puje versió 8.3
if (!working_in_test){ if (!working_in_test) {
viewModel.department_getHasMistake(usuario = getData(USER),password = getData(PASSWORD)) viewModel.department_getHasMistake(
}else{ usuario = getData(USER),
password = getData(PASSWORD)
)
} else {
viewModel.department_getHasMistakeSalix(getData(TOKEN)) viewModel.department_getHasMistakeSalix(getData(TOKEN))
} }
@ -76,26 +82,38 @@ class WorkermistakeFragment( var entryPoint: String = ""
override fun init() { override fun init() {
binding.filterDepartment.setText(getData(DEPARTMENTMISTAKE)) binding.filterDepartment.setText(getData(DEPARTMENTMISTAKE))
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
departmentId=getData(DEPARTMENTMISTAKEID) departmentId = getData(DEPARTMENTMISTAKEID)
customDialogList = CustomDialogList(requireContext()) customDialogList = CustomDialogList(requireContext())
if (!departmentId.isEmpty()){ if (!departmentId.isEmpty()) {
viewModel.worker_getFromHasMistake(getData(USER),getData(PASSWORD),getData(DEPARTMENTMISTAKEID)) viewModel.worker_getFromHasMistake(
getData(USER),
getData(PASSWORD),
getData(DEPARTMENTMISTAKEID)
)
} }
binding.filterDepartment.setOnClickListener{ binding.filterDepartment.setOnClickListener {
SimpleSearchDialogCompat(context,getString(R.string.departamentos),getString(R.string.escribirparteNombre),null,departments, SimpleSearchDialogCompat(context,
getString(R.string.departamentos),
getString(R.string.escribirparteNombre),
null,
departments,
{ baseSearchDialogCompat, nombre, position -> { baseSearchDialogCompat, nombre, position ->
binding.filterDepartment.setText((nombre.title)) binding.filterDepartment.setText((nombre.title))
saveData(DEPARTMENTMISTAKE,nombre.getDepartmentName()) saveData(DEPARTMENTMISTAKE, nombre.getDepartmentName())
saveData(DEPARTMENTMISTAKEID,nombre.getDepartmentId()) saveData(DEPARTMENTMISTAKEID, nombre.getDepartmentId())
viewModel.worker_getFromHasMistake(getData(USER),getData(PASSWORD),nombre.getDepartmentId()) viewModel.worker_getFromHasMistake(
getData(USER),
getData(PASSWORD),
nombre.getDepartmentId()
)
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
binding.filterItemFk.isEnabled = true binding.filterItemFk.isEnabled = true
baseSearchDialogCompat.dismiss() baseSearchDialogCompat.dismiss()
@ -112,47 +130,55 @@ class WorkermistakeFragment( var entryPoint: String = ""
super.init() super.init()
} }
private fun setToolBar(){ private fun setToolBar() {
binding.mainToolbar.toolbarTitle.text=entryPoint binding.mainToolbar.toolbarTitle.text = entryPoint
} }
private fun setEvents(){ private fun setEvents() {
binding.mainToolbar.backButton.setOnClickListener { binding.mainToolbar.backButton.setOnClickListener {
requireActivity().onBackPressed() requireActivity().onBackPressed()
} }
if (binding.filterDepartment.text.isNullOrEmpty()){binding.filterItemFk.isEnabled = false} if (binding.filterDepartment.text.isNullOrEmpty()) {
binding.filterItemFk.addTextChangedListener{ filter()} binding.filterItemFk.isEnabled = false
}
binding.filterItemFk.addTextChangedListener { filter() }
} }
private fun filter() { private fun filter() {
if (!listWorker.isNullOrEmpty()) if (!listWorker.isNullOrEmpty()) {
{listWorker.clear() listWorker.clear()
listWorker.addAll(listWorkerAuxiliary.filter{it.firstName.uppercase().contains(binding.filterItemFk.text.toString().uppercase()) || it.lastName.uppercase().contains(binding.filterItemFk.text.toString().uppercase())} as MutableList<WorkerFromMistake>) listWorker.addAll(listWorkerAuxiliary.filter {
adapterworker!!.notifyDataSetChanged()} it.firstName.uppercase().contains(
binding.filterItemFk.text.toString().uppercase()
) || it.lastName.uppercase()
.contains(binding.filterItemFk.text.toString().uppercase())
} as MutableList<WorkerFromMistake>)
adapterworker!!.notifyDataSetChanged()
}
} }
/* override fun onPause() { /* override fun onPause() {
super.onPause() super.onPause()
firstVisiblePosition = layoutManager?.findFirstVisibleItemPosition() ?: 0 firstVisiblePosition = layoutManager?.findFirstVisibleItemPosition() ?: 0
}*/ }*/
/* override fun onResume() { /* override fun onResume() {
super.onResume() super.onResume()
if (binding.workermistakeRecyclerview.layoutManager != null){ if (binding.workermistakeRecyclerview.layoutManager != null){
if (firstVisiblePosition <= listInvetory.size){ if (firstVisiblePosition <= listInvetory.size){
binding.workermistakeRecyclerview.layoutManager!!.scrollToPosition(firstVisiblePosition) binding.workermistakeRecyclerview.layoutManager!!.scrollToPosition(firstVisiblePosition)
} }
} }
}*/ }*/
override fun observeViewModel() { override fun observeViewModel() {
with(viewModel){ with(viewModel) {
mistakeDepartmentList.observe(viewLifecycleOwner, { mistakeDepartmentList.observe(viewLifecycleOwner, {
@ -161,25 +187,31 @@ class WorkermistakeFragment( var entryPoint: String = ""
}) })
workerFromMistakeList.observe(viewLifecycleOwner, { workerFromMistakeList.observe(viewLifecycleOwner, {
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
createWorkerList(it.list) createWorkerList(it.list)
adapterworker= WorkermistakeAdapter(listWorker,object:onMistakeWorkerClickListener{ adapterworker =
WorkermistakeAdapter(listWorker, object : onMistakeWorkerClickListener {
override fun onMistakeWorkerClickListener(item: WorkerFromMistake) { override fun onMistakeWorkerClickListener(item: WorkerFromMistake) {
viewModel.workerMistakeType_get(usuario = getData(USER), password = getData(PASSWORD)) viewModel.workerMistakeType_get(
workerMistakeName=WorkerFromMistake(item.id,item.firstName,item.lastName,true,"") usuario = getData(USER),
password = getData(PASSWORD)
)
workerMistakeName =
WorkerFromMistake(item.id, item.firstName, item.lastName, true, "")
} }
}) })
binding.workermistakeRecyclerview.adapter = adapterworker binding.workermistakeRecyclerview.adapter = adapterworker
layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
binding.workermistakeRecyclerview.layoutManager = layoutManager binding.workermistakeRecyclerview.layoutManager = layoutManager
}) })
mistakeWorkerList.observe(viewLifecycleOwner,{ mistakeWorkerList.observe(viewLifecycleOwner, {
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
showMistakeList(it.list) showMistakeList(it.list)
//goBack = false //goBack = false
@ -188,13 +220,25 @@ class WorkermistakeFragment( var entryPoint: String = ""
responseAddMistake.observe(viewLifecycleOwner, { responseAddMistake.observe(viewLifecycleOwner, {
ma.messageWithSound(if (it.isError){it.errorMessage}else{getString(R.string.errorCauseRegistered)},it.isError,true, isToasted = true)
ma.messageWithSound(
if (it.isError) {
if (it.codeError == 403) {
getString(R.string.userNotPermission)
} else {
it.errorMessage
}
} else {
getString(R.string.errorCauseRegistered)
}, it.isError, true, isToasted = true
)
}) })
response.observe(viewLifecycleOwner, { response.observe(viewLifecycleOwner, {
if (it.isError){ if (it.isError) {
ma.messageWithSound(it.errorMessage,true,false) ma.messageWithSound(it.errorMessage, true, false)
} }
}) })
@ -210,10 +254,14 @@ class WorkermistakeFragment( var entryPoint: String = ""
} }
customDialogList.setTitle(getString(R.string.errorCause)+ workerMistakeName!!.firstName).setKoButton(getString( customDialogList.setTitle(getString(R.string.errorCause) + workerMistakeName!!.firstName)
R.string.cancel)) { .setKoButton(
customDialogList.dismiss() getString(
}.hideDialog().show() R.string.cancel
)
) {
customDialogList.dismiss()
}.hideDialog().show()
listMistakesAdapter = listMistakesAdapter =
@ -221,12 +269,13 @@ class WorkermistakeFragment( var entryPoint: String = ""
override fun onBarcodeRowClickListener(item: BarcodeVO) { override fun onBarcodeRowClickListener(item: BarcodeVO) {
list.forEach { list.forEach {
if (it.description == item.code) { if (it.description == item.code) {
viewModel.workerMistake_Add(usuario = getData(USER), viewModel.workerMistake_Add(
usuario = getData(USER),
password = getData(PASSWORD), password = getData(PASSWORD),
vUserFk = workerMistakeName!!.id, vUserFk = workerMistakeName!!.id,
vTypeFk = it.code vTypeFk = it.code
) )
// getString(R.string.errorRegistered).toast(requireContext()) // getString(R.string.errorRegistered).toast(requireContext())
customDialogList.dismiss() customDialogList.dismiss()
} }
} }
@ -242,24 +291,28 @@ class WorkermistakeFragment( var entryPoint: String = ""
} }
private fun createDepartmentList(list: List<DepartmentMistake>){ private fun createDepartmentList(list: List<DepartmentMistake>) {
departments.clear() departments.clear()
list.forEach { department -> list.forEach { department ->
if (!department.isError){ if (!department.isError) {
try { try {
departments.add(SearchDepartmentModel(department.name,department.id)) departments.add(SearchDepartmentModel(department.name, department.id))
}catch (e:Exception){} } catch (e: Exception) {
}
} }
}} }
private fun createWorkerList(list: List<WorkerFromMistake>){ }
private fun createWorkerList(list: List<WorkerFromMistake>) {
listWorker.clear() listWorker.clear()
list.forEach { worker -> list.forEach { worker ->
if (!worker.isError){ if (!worker.isError) {
try { try {
listWorker.add(worker) listWorker.add(worker)
}catch (e:Exception){} } catch (e: Exception) {
}
} }
} }

View File

@ -45,9 +45,9 @@
<string name="Close">Cerrar</string> <string name="Close">Cerrar</string>
<string name="Noexistessectores">No existes sectores.</string> <string name="Noexistessectores">No existes sectores.</string>
<string name="Seleccionaunsector">Selecciona un sector</string> <string name="Seleccionaunsector">Selecciona un sector</string>
<string name="Pasilleros">Pasilleros</string> <string name="titleCorridors">Pasilleros</string>
<string name="Controladores">Controladores</string> <string name="titleControllers">Controladores</string>
<string name="Paletizadores">Paletizadores</string> <string name="titlePalletizers">Paletizadores</string>
<string name="Ajustes">Ajustes</string> <string name="Ajustes">Ajustes</string>
<string name="titleItemConsult">Consultar artículo</string> <string name="titleItemConsult">Consultar artículo</string>
<string name="BuscarItem">Buscar Item</string> <string name="BuscarItem">Buscar Item</string>
@ -124,7 +124,7 @@
<string name="deviceName">Nombre del dispositivo:</string> <string name="deviceName">Nombre del dispositivo:</string>
<string name="assigned_user">Dispositivo asignado a:</string> <string name="assigned_user">Dispositivo asignado a:</string>
<string name="ScanPlateOrSmarttag">Escanea matrícula o smarttag</string> <string name="ScanPlateOrSmarttag">Escanea matrícula o smarttag</string>
<string name="ExpeditionState">Consultar estado expedición</string> <string name="titleExpeditionState">Consultar estado expedición</string>
<string name="BuffersManegement">Gestión de buffers</string> <string name="BuffersManegement">Gestión de buffers</string>
<string name="PalletMake">Paletizar</string> <string name="PalletMake">Paletizar</string>
<string name="expedition">Expedición :</string> <string name="expedition">Expedición :</string>
@ -134,7 +134,7 @@
<string name="minQuantity">Cantidad mín.</string> <string name="minQuantity">Cantidad mín.</string>
<string name="producer">Productor</string> <string name="producer">Productor</string>
<string name="controlticket">Controlar ticket</string> <string name="controlticket">Controlar ticket</string>
<string name="ExpeditionScan">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="wagon">Carro</string>
<string name="Referencia">Referencia</string> <string name="Referencia">Referencia</string>
@ -200,7 +200,7 @@
<string name="errorCause">Causa de error para :</string> <string name="errorCause">Causa de error para :</string>
<string name="scanShelving">Escanea una matrícula</string> <string name="scanShelving">Escanea una matrícula</string>
<string name="parkingShelving">Aparcar carro</string> <string name="parkingShelving">Aparcar carro</string>
<string name="parking">Aparcar</string> <string name="parking">Parking</string>
<string name="addItemShelving">Añade item al carro</string> <string name="addItemShelving">Añade item al carro</string>
<string name="save">Guardar</string> <string name="save">Guardar</string>
<string name="allowChangeShelving">Permite cambiar la matrícula a un carro</string> <string name="allowChangeShelving">Permite cambiar la matrícula a un carro</string>
@ -229,7 +229,7 @@
<string name="scanLabelExpedition">Escanea etiqueta de la expedición.</string> <string name="scanLabelExpedition">Escanea etiqueta de la expedición.</string>
<string name="buffer">Buffer:</string> <string name="buffer">Buffer:</string>
<string name="packingSave">Packing guardado</string> <string name="packingSave">Packing guardado</string>
<string name="previousCollected">"\"Calidad\" "</string> <string name="previousCollected">Previa recogida</string>
<string name="disponibility">Disponibilidad</string> <string name="disponibility">Disponibilidad</string>
<string name="unmarkLine">Desmarcar línea</string> <string name="unmarkLine">Desmarcar línea</string>
<string name="goUnmark">Vas a desmarcar la línea: </string> <string name="goUnmark">Vas a desmarcar la línea: </string>
@ -342,7 +342,7 @@
<string name="titleFaults">Faltas</string> <string name="titleFaults">Faltas</string>
<string name="titleShelvingParking">Shelving Parking</string> <string name="titleShelvingParking">Shelving Parking</string>
<string name="titleAuto">Automatic</string> <string name="titleAuto">Automatic</string>
<string name="titleQuality">Origen</string> <string name="titleQuality">Calidad</string>
<string name="titlePickers">Sacadores</string> <string name="titlePickers">Sacadores</string>
<string name="titleWebViewer">Visor web</string> <string name="titleWebViewer">Visor web</string>
<string name="titleBufferEmpty">Vaciado buffer</string> <string name="titleBufferEmpty">Vaciado buffer</string>
@ -365,7 +365,7 @@
<string name="answer">La respuesta es: </string> <string name="answer">La respuesta es: </string>
<string name="previousOK">Previa OK</string> <string name="previousOK">Previa OK</string>
<string name="scanTicketsForAdd">Colección sin tickets. Escanea tickets para añadirlos</string> <string name="scanTicketsForAdd">Colección sin tickets. Escanea tickets para añadirlos</string>
<string name="pallet">"Pallet "</string> <string name="pallet">Pallet </string>
<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>
@ -373,4 +373,72 @@
<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>
<string name="timeFormat">HH:mm</string>
<string name="dateCompleteFormat">yyyy-mm-dd HH:mm</string>
<string name="sector">Sector</string>
<string name="wagoons">Carros</string>
<string name="printerWithout">Sin impresora</string>
<string name="printerLabel">Impresora etiquetas</string>
<string name="labelType">Tipo etiqueta</string>
<string name="vehicleControl">Control de vehículos</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="ok">Ok</string>
<string name="ticket">"Ticket: "</string>
<string name="expedit">"Expedition: "</string>
<string name="dayFormat">dd/MM/yyyy</string>
<string name="regExp">[a-zA-Z ]+</string>
<string name="ticketInsert">Ticket insertado OK</string>
<string name="errorCollectionNew">Error en la llamada al añadir colección.</string>
<string name="errorTicketAdd">Error al añadir ticket a la colección.</string>
<string name="errorChangeState">Error al cambiar el estado a la colección de previa.</string>
<string name="complete">complete</string>
<string name="titlePickerDescrip">Obtiene colecciones para sacar en previa</string>
<string name="titlePreControlDescrip">Sirve para revisar un ticket de previa</string>
<string name="titleShowTicketDescrip">Muestra un ticket sin la posibilidad de modicarlo</string>
<string name="titleItemConsultDescrip">Busca información de un ítem</string>
<string name="titleParkingDescrip">Permite aparcar tickets o carros</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="titleInventoryDescrip">Visualiza que falta o está desubicado</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="titleLogShelvingDescrip">Permite conocer los movimientos en un carro</string>
<string name="titleHistVehicleDescrip">Visualiza quien y cuando ha llevado un vehículo</string>
<string name="titleDayDescrip">Permite saber la fecha de venta de los items de un carro</string>
<string name="titleReplacDescrip">Indica que falta reponer</string>
<string name="titleFaultsDescrip">Visualiza las faltas en almacén</string>
<string name="titleShelParkDescrip">Muestra parking de estanterías</string>
<string name="titleQualityDescrip">Permite conocer la calidad de algunos productos por comprador</string>
<string name="titlePalletDescrip">Permite escanear pallet para incorporarlo al sistema</string>
<string name="titleExpeditionDescrip">Permite conocer el estado de una expedición</string>
<string name="titleExpScanDescrip">Permite escanear expediciones que no han pasado por el sorter</string>
<string name="titleBufferMangDescrip">Se accede al menú de operaciones con los buffers del sorter</string>
<string name="titleQrDescrip">Permite leer información en un qr</string>
<string name="titleBufferEmptyDescrip">Pone en modo vaciado un buffer</string>
<string name="titleBufferFillDescrip">Pone en modo llenado un buffer</string>
<string name="titleBufferAccDescrip">Pone en modo acumulación 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="titleBufferLoadDescrip">Pone en modo cargar un buffer</string>
<string name="titleCorridorsDescrip">Accede menú de los pasilleros:presacar, ver ticket, ubicador...</string>
<string name="titlePickersDescrip">Accede a sacar pedidos</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="titleClaimsDescrip">Accede al menú 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="main">Principal</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="modifiedQuantityPrevious">"Se ha modificado desde previa la cantidad de "</string>
<string name="fromItem">" del articulo "</string>
<string name="ticketSpaces">" ticket "</string>
<string name="ticketCompleted">Ticket completo</string>
<string name="toNewQuantity">" a nueva cantidad: "</string>
<string name="getPreviousCollection">Obtener colección previa</string>
<string name="saleParked">Sale/s aparcada/s</string>
<string name="modifiedOriginalQuantityPrevious">"Se ha modificado desde previa la cantidad de "</string>
<string name="url">url</string>
<string name="title">title</string>
</resources> </resources>

View File

@ -26,7 +26,7 @@
<string name="Borrardatosdeacceso">Clear access data</string> <string name="Borrardatosdeacceso">Clear access data</string>
<string name="Bienvenido">Welcome</string> <string name="Bienvenido">Welcome</string>
<string name="Recordarusuarioycontraseña">Remember username and password</string> <string name="Recordarusuarioycontraseña">Remember username and password</string>
<string name="titleFaults">Fouls</string> <string name="titleFaults">Foults</string>
<string name="Versión">Version</string> <string name="Versión">Version</string>
<string name="Usuario">User</string> <string name="Usuario">User</string>
<string name="Escaneaetiqueta">Scan label</string> <string name="Escaneaetiqueta">Scan label</string>
@ -47,9 +47,9 @@
<string name="Noprinters">There are no printers.</string> <string name="Noprinters">There are no printers.</string>
<string name="Seleccionaunsector">Select a sector</string> <string name="Seleccionaunsector">Select a sector</string>
<string name="Selecccionaimpresoara">Select a printer</string> <string name="Selecccionaimpresoara">Select a printer</string>
<string name="Pasilleros">Corridors</string> <string name="titleCorridors">Corridors</string>
<string name="Controladores">Controller</string> <string name="titleControllers">Controllers</string>
<string name="Paletizadores">Palletizers</string> <string name="titlePalletizers">Palletizers</string>
<string name="Ajustes">Setting</string> <string name="Ajustes">Setting</string>
<string name="BuscarItem">Search item</string> <string name="BuscarItem">Search item</string>
<string name="titleInventory">Inventory</string> <string name="titleInventory">Inventory</string>
@ -88,7 +88,7 @@
<string name="packingType">Packing type</string> <string name="packingType">Packing type</string>
<string name="sinubicar">Downstairs</string> <string name="sinubicar">Downstairs</string>
<string name="Seleccionauncarro">Select a wagon</string> <string name="Seleccionauncarro">Select a wagon</string>
<string name="itemShelvingRadar">Shelving Radar</string> <string name="itemShelvingRadar">Inventory Radar</string>
<string name="buscarcomprador">Search buyer</string> <string name="buscarcomprador">Search buyer</string>
<string name="escribirparteNombre">Write here</string> <string name="escribirparteNombre">Write here</string>
<string name="compradores">Buyers</string> <string name="compradores">Buyers</string>
@ -101,6 +101,7 @@
<string name="mensajeseleccionencajado">Select packing type zone :</string> <string name="mensajeseleccionencajado">Select packing type zone :</string>
<string name="itemdiary">Item diary</string> <string name="itemdiary">Item diary</string>
<string name="getcollection">Get collection</string> <string name="getcollection">Get collection</string>
<string name="getPreviousCollection">Get previous collection</string>
<string name="getticketpre">Get previous ticket</string> <string name="getticketpre">Get previous ticket</string>
<string name="locator">Locator</string> <string name="locator">Locator</string>
<string name="quality">Quality</string> <string name="quality">Quality</string>
@ -125,7 +126,7 @@
<string name="deviceName">Device name :</string> <string name="deviceName">Device name :</string>
<string name="assigned_user">User assigned to device name</string> <string name="assigned_user">User assigned to device name</string>
<string name="ScanPlateOrSmarttag">Scan plate or smartag</string> <string name="ScanPlateOrSmarttag">Scan plate or smartag</string>
<string name="ExpeditionState">Expedition state</string> <string name="titleExpeditionState">Expedition state</string>
<string name="BuffersManegement">Buffer Management</string> <string name="BuffersManegement">Buffer Management</string>
<string name="PalletMake">Pallet make</string> <string name="PalletMake">Pallet make</string>
<string name="scanPallet">Scan pallet</string> <string name="scanPallet">Scan pallet</string>
@ -141,7 +142,7 @@
<string name="minQuantity">Min quantity</string> <string name="minQuantity">Min quantity</string>
<string name="producer">Producer</string> <string name="producer">Producer</string>
<string name="controlticket">Control ticket</string> <string name="controlticket">Control ticket</string>
<string name="ExpeditionScan">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="wagon">Wagon</string>
<string name="Referencia">Reference</string> <string name="Referencia">Reference</string>
@ -176,202 +177,269 @@
<string name="androidid">Android_id</string> <string name="androidid">Android_id</string>
<string name="baseurl">base_url</string> <string name="baseurl">base_url</string>
<string name="smarttagAssociate">Associate SmartTag Punch</string> <string name="smarttagAssociate">Associate SmartTag Punch</string>
<string name="insertedLabel">Carro/etiqueta insertado</string> <string name="insertedLabel">Wagon/label added</string>
<string name="labelNovalid">Etiqueta o carro no válido</string> <string name="labelNovalid">Etiqueta o carro no válido</string>
<string name="close">Cerrar</string> <string name="close">Close</string>
<string name="deletedLabel">Carro/etiqueta borrada</string> <string name="deletedLabel">Wagon/label deleted</string>
<string name="end">Finalizar</string> <string name="end">Finish</string>
<string name="undone">Deshacer</string> <string name="undone">Undo</string>
<string name="labels">Etiquetas: </string> <string name="labels">Labels:</string>
<string name="nameApp">warehouse</string> <string name="nameApp">warehouse</string>
<string name="scanSmarttagOrShelving">Escanea matrícula del carro/s</string> <string name="scanSmarttagOrShelving">Scan wagoon plate</string>
<string name="scanHighLabel">Escanea etiqueta superior</string> <string name="scanHighLabel">Scan high label</string>
<string name="scanMedLabel">Escanea etiqueta del medio</string> <string name="scanMedLabel">Scan mid label</string>
<string name="scanLowLabel">Escanea etiqueta inferior</string> <string name="scanLowLabel">Scan low label</string>
<string name="scannedWagon">Carro escaneado</string> <string name="scannedWagon">Wagoon:</string>
<string name="scanned">Escaneado:</string> <string name="scanned">Scanned:</string>
<string name="speedProblems">Problemas con la velocidad de internet. No se puede usar la voz</string> <string name="speedProblems">Problems with Internet Speed</string>
<string name="allowParking">Permite aparcar ticket/carro</string> <string name="allowParking">Allows you to park a car</string>
<string name="allowTakeoffVehicle">Permite dejar el vehículo</string> <string name="allowTakeoffVehicle">Allows you to take off a vehícle</string>
<string name="newCollection">Genera colección para sacar</string> <string name="newCollection">Get collection</string>
<string name="showFilter">"Ver filtro"</string> <string name="showFilter">Show filter</string>
<string name="showFaults">Ver movimientos de Faltas</string> <string name="showFaults">Show faults movements</string>
<string name="showTrash">Ver movimientos de Basura</string> <string name="showTrash">Show trash movements</string>
<string name="filterFlower">Filtra por tipo de flor</string> <string name="filterFlower">Flower filter</string>
<string name="noprinter">Sin impresora</string> <string name="noprinter">Without printer</string>
<string name="dateFormat">yyyy-MM-dd</string> <string name="dateFormat">yyyy-MM-dd</string>
<string name="cancel">Cancelar</string> <string name="cancel">Cancel</string>
<string name="errorCause">Causa de error para :</string> <string name="errorCause">Cause of error for :</string>
<string name="scanShelving">Escanea una matrícula</string> <string name="scanShelving">Scan plate</string>
<string name="parkingShelving">Aparcar carro</string> <string name="parkingShelving">Park wagoon</string>
<string name="parking">Aparcar</string> <string name="parking">Parking</string>
<string name="addItemShelving">Añade item al carro</string> <string name="addItemShelving">Add item to wagoon</string>
<string name="save">Guardar</string> <string name="save">Save</string>
<string name="allowChangeShelving">Permite cambiar la matrícula a un carro</string> <string name="allowChangeShelving">Allow you to change a wagoon plate</string>
<string name="deleteAllitems">Borra todos los items del carro</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">Cambia la prioridad de los items del carro. Cuanto más alta antes cogerán los sacadores.</string>
<string name="allowAutomaticAddItem">Permite añadir items al carro de manera continuada. No uno a uno</string> <string name="allowAutomaticAddItem">Permite añadir items al carro de manera continuada. No uno a uno</string>
<string name="newItem">Nuevo Item</string> <string name="newItem">New item</string>
<string name="editItem">Editar item </string> <string name="editItem">Edit item</string>
<string name="fillFields">Rellena campos obligatorios</string> <string name="fillFields">Fill required fields</string>
<string name="mandatoryPacking">Packing obligatorio</string> <string name="mandatoryPacking">Packing required</string>
<string name="selectAction">Selecciona una acción</string> <string name="selectAction">Select an action</string>
<string name="delete">Eliminar</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">Solo puedes visualizar cuando has cogido tu mismo el vehículo a no ser que tengas permisos para ello.</string>
<string name="info">Información</string> <string name="info">Information</string>
<string name="accept">Aceptar</string> <string name="accept">Accept</string>
<string name="selectPrinter">Tiene que seleccionar impresora.</string> <string name="selectPrinter">You have to select a printer</string>
<string name="newTruck">Nuevo Camión</string> <string name="newTruck">New truck</string>
<string name="psScan">PScan: </string> <string name="psScan">PScan: </string>
<string name="savedShelves">Baldas guardadas</string> <string name="savedShelves">Shelvings saved</string>
<string name="operation">Operación </string> <string name="operation">Operation</string>
<string name="closeOdrder">¿Estás seguro de cerrar el pedido?</string> <string name="closeOdrder">Are you sure to close the order ?</string>
<string name="confirm">Confirmar</string> <string name="confirm">Confirm</string>
<string name="scanItem">Escanea un item</string> <string name="scanItem">Scan item</string>
<string name="itemNotFound">No hemos podido encontrar el articulo. Revisa el sector.</string> <string name="itemNotFound">Item not found. Review sector</string>
<string name="errorOperation">Error al realizar la operación</string> <string name="errorOperation">Error to perform action</string>
<string name="scanLabelExpedition">Escanea etiqueta de la expedición.</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 guardado</string>
<string name="previousCollected">Previa recogida</string> <string name="previousCollected">Previous collected</string>
<string name="disponibility">availability</string> <string name="disponibility">Availability</string>
<string name="unmarkLine">Desmarcar linea</string> <string name="unmarkLine">Unmark line</string>
<string name="goUnmark">Vas a desmarcar la linea: </string> <string name="goUnmark">"You are going to unmark the line: "</string>
<string name="sure">¿Estás seguro?</string> <string name="sure">are you sure?</string>
<string name="unmark">Desmarcar</string> <string name="unmark">Unmark</string>
<string name="sectorALGEMESI">ALGEMESI V</string> <string name="sectorALGEMESI">ALGEMESI V</string>
<string name="take">Coger</string> <string name="take">Take</string>
<string name="errorRegistered">Causa del error registrado</string> <string name="errorRegistered">Cause of error registered</string>
<string name="printerFault">Falta seleccionar impresora</string> <string name="printerFault">Select printer</string>
<string name="observations">Observaciones</string> <string name="observations">Observations</string>
<string name="scanShelvingHistorical">Escanea matrícula para ver histórico</string> <string name="scanShelvingHistorical">"Scan plate for looking historical "</string>
<string name="scanPlate">Escanea matrícula del vehículo</string> <string name="scanPlate">Scan vehicle plate</string>
<string name="scanPlateTakeoff">Escanea matrícula para dejar vehículo</string> <string name="scanPlateTakeoff">"Scan plate to take off "</string>
<string name="returnScan">Vuelva a escanear</string> <string name="returnScan">Rescan</string>
<string name="doVehiclePlate">¿Qué desea hacer con el vehículo de matrícula</string> <string name="doVehiclePlate">"What do you want to do with the plate vehicle "</string>
<string name="priorityChanged">Prioridad modificada</string> <string name="priorityChanged">Priority modified</string>
<string name="itemDeleteConfirm">Confirmas eliminar el artículo: </string> <string name="itemDeleteConfirm">"Confirm for delete item: "</string>
<string name="wagonIncorrect">Carro incorrecto</string> <string name="wagonIncorrect">Incorrect wagoon</string>
<string name="transfer">Transferir</string> <string name="transfer">Transfer</string>
<string name="shelvingNew">Nueva matrícula</string> <string name="shelvingNew">New plate</string>
<string name="selectDestiny">Introduce el destino para item: </string> <string name="selectDestiny">"Introduce item destiny: "</string>
<string name="empty">Vaciar carro</string> <string name="empty">Empty wagoon</string>
<string name="operationNoReturn">Esta operación no se puede rectificar.</string> <string name="operationNoReturn">This operation cannot be rectified.</string>
<string name="label"> L: </string> <string name="label"> L: </string>
<string name="pUppercase"> P: </string> <string name="pUppercase"> P: </string>
<string name="itemSearch">Consultar artículo</string> <string name="itemSearch">Consult item</string>
<string name="quantityReal">Cantidad real(</string> <string name="quantityReal">Real quantity (</string>
<string name="pull">Tirar</string> <string name="pull">Throw</string>
<string name="titleItemSearch">Buscar item</string> <string name="titleItemSearch">Search item</string>
<string name="titleHistorical">Histórico</string> <string name="titleHistorical">Historical</string>
<string name="titleSimilarItems">Artículos similares</string> <string name="titleSimilarItems">Similar items</string>
<string name="currentVAlue">"Valor actual: "</string> <string name="currentVAlue">"Current value: "</string>
<string name="titleSearchSimilarItems">Buscar artículos similares</string> <string name="titleSearchSimilarItems">Search similar items</string>
<string name="deleteStock">Indica la causa de eliminar stock:</string> <string name="deleteStock">Indicate the reason for removing stock:</string>
<string name="quantityToRegister">Indica la cantidad a dar de alta</string> <string name="quantityToRegister">Indicate the amount to register</string>
<string name="quantityToUnregister">"Indica la cantidad a dar de baja "</string> <string name="quantityToUnregister">Indicate the amount to unregister</string>
<string name="fault">Falta</string> <string name="fault">Fault</string>
<string name="trash">Basura</string> <string name="trash">Trah</string>
<string name="errorNotNumber">El elemento introducido no es un número</string> <string name="errorNotNumber">Element introduced is not a number</string>
<string name="buyer">Buyer</string> <string name="buyer">Buyer</string>
<string name="accessSalix">Accede a Salix para ver más información</string> <string name="accessSalix">Access Salix to see more information</string>
<string name="item">"Ítem : "</string> <string name="item">"Ítem : "</string>
<string name="changeShelving">Cambiar matrícula</string> <string name="changeShelving">Change plate</string>
<string name="registerOneWagoon">Carro escaneado completamente.¿Registrar otro carro?</string> <string name="registerOneWagoon">Wagoon scaned¿Do you want register another?</string>
<string name="exit">Salir</string> <string name="exit">Exit</string>
<string name="scanUpToDown">Escanea matrícula del carro y etiquetas smartTags de arriba a abajo.</string> <string name="scanUpToDown">Scans wagoon plate and smartTags from top to bottom.</string>
<string name="visible">Visible:</string> <string name="visible">Visible:</string>
<string name="visibleTotal"> Total visible: </string> <string name="visibleTotal"> Total visible: </string>
<string name="printerUpdated">Impresora actualizada</string> <string name="printerUpdated">Printer registered</string>
<string name="sectorUpdated">sector actualizado</string> <string name="sectorUpdated">sector registered</string>
<string name="logAppName">warehouse</string> <string name="logAppName">warehouse</string>
<string name="base_urlSalix">base_urlSalix</string> <string name="base_urlSalix">base_urlSalix</string>
<string name="serverSalix">Apuntando a servidor Salix (</string> <string name="serverSalix">Ponting to server Salix (</string>
<string name="qualityFragment">itemShelving_BuyerTask</string> <string name="qualityFragment">itemShelving_BuyerTask</string>
<string name="dataCompllete">Datos completos</string> <string name="dataCompllete">Complete data</string>
<string name="claimLabel">Reclamación:</string> <string name="claimLabel">Claim:</string>
<string name="shelving">Matrícula:</string> <string name="shelving">Plate:</string>
<string name="insertClaimCode">Inserta el código de reclamación.</string> <string name="insertClaimCode">Insert claim code.</string>
<string name="scanBuffer">Escanea buffer</string> <string name="scanBuffer">Scan buffer</string>
<string name="barcodes">Barcodes</string> <string name="barcodes">Barcodes</string>
<string name="collectionNoTickets">La colección no tiene tickets</string> <string name="collectionNoTickets">Collection has no ticket</string>
<string name="reviewCAllhistorical">Revisar llamada del registro de vehículos</string> <string name="reviewCAllhistorical">Check vehicle registration call</string>
<string name="takeVehicle">Coger vehículo</string> <string name="takeVehicle">Pick up vehicle</string>
<string name="noVehicle">Sin vehículo</string> <string name="noVehicle">Without vehicle</string>
<string name="wagoonNoSaleToday">No hay nada vendido para el carro escaneado. </string> <string name="wagoonNoSaleToday">There is nothing sold for the scanned cart.</string>
<string name="parkingOk">Parking OK</string> <string name="parkingOk">Parking OK</string>
<string name="showParking">Escanea el parking</string> <string name="showParking">Scan Parking</string>
<string name="lineNotExist">La línea de compra de la etiqueta escaneada no existe.</string> <string name="lineNotExist">The purchase line of the scanned label does not exist.</string>
<string name="pendingReview">Pendiente de revisar : </string> <string name="pendingReview">"Pending review : "</string>
<string name="review">Revisar</string> <string name="review">Review</string>
<string name="splitSent">Se ha enviado a Split el articulo </string> <string name="splitSent">"The article has been sent to Split "</string>
<string name="fromTicket">"del ticket "</string> <string name="fromTicket">" from ticket "</string>
<string name="itemAdded">Se ha añadido el articulo </string> <string name="itemAdded">"Item added "</string>
<string name="unityTicket"> unidad/es al ticket </string> <string name="unityTicket">" unity to ticket "</string>
<string name="with">" con "</string> <string name="with">" with "</string>
<string name="quantityHigh">La cantidad supera a la disponible</string> <string name="quantityHigh">Quantity exceeds available</string>
<string name="quantityError">cantidad introducida erronea</string> <string name="quantityError">" wrong amount entered"</string>
<string name="scanItemValidate">Escanea item para validar</string> <string name="scanItemValidate">" Scan item to validate"</string>
<string name="quantitySelect">Cantidad que coges:</string> <string name="quantitySelect">Amount you take:</string>
<string name="errorMarkLine">Error al marcar la linea</string> <string name="errorMarkLine">Error when marking the line</string>
<string name="printError">Error al imprimir</string> <string name="printError">Error printing</string>
<string name="shlevesNumber">Número de baldas del ticket</string> <string name="shlevesNumber">" Number of ticket shelves"</string>
<string name="shlevesNumberTicket">Indica el número de baldas que ocupa el ticket</string> <string name="shlevesNumberTicket">Indicates the number of shelves that the ticket occupies</string>
<string name="packetNumberShelves">Número de paquetes en balda</string> <string name="packetNumberShelves">Number of packages on shelf</string>
<string name="packetIndicate">Indica el número de paquetes que caben en una balda</string> <string name="packetIndicate">Indicates the number of packages that fit on a shelf</string>
<string name="test">Comprobar</string> <string name="test">Check</string>
<string name="expeditionsError">No ha escaneado expediciones</string> <string name="expeditionsError">You have not scanned expeditions</string>
<string name="expeditionNoSorter">Escanea expediciones que no han pasado por el Sorter</string> <string name="expeditionNoSorter">Scan expeditions that have not passed through the Sorter</string>
<string name="added">Añadida</string> <string name="added">Added</string>
<string name="registerAdded">Registro añadido</string> <string name="registerAdded">Added log</string>
<string name="keepPlate">" guardada con matrícula "</string> <string name="keepPlate">" saved with registration plate "</string>
<string name="splitOk">Split OK</string> <string name="splitOk">Split OK</string>
<string name="user">Usuario:</string> <string name="user">User:</string>
<string name="warning">Aviso</string> <string name="warning">Warning</string>
<string name="rocketKO">Error al enviar mensaje rocket.</string> <string name="rocketKO">Error sending rocket message.</string>
<string name="historical">HISTÓRICO</string> <string name="historical">HISTÓRICO</string>
<string name="titleSmarttagPickerAssociate">Asociar Sacador SmartTags</string> <string name="titleSmarttagPickerAssociate">Associate Punch SmartTags</string>
<string name="titleSmarttagsRegister">Registrar SmartTags</string> <string name="titleSmarttagsRegister">Register SmartTags</string>
<string name="titlePalletizar">Paletizar</string> <string name="titlePalletizar">Palletize</string>
<string name="titleScanExpedition">Escanear expedición</string> <string name="titleScanExpedition">Scan expedition</string>
<string name="titleBufferManegement">Gestión de buffers</string> <string name="titleBufferManegement">Buffer management</string>
<string name="titleClaims">Reclamaciones</string> <string name="titleClaims">Claims</string>
<string name="titleUserControlVehicle">Control de usuario de vehículo</string> <string name="titleUserControlVehicle">Vehicle User Control</string>
<string name="titlePrePicker">Pre Sacador</string> <string name="titlePrePicker">Pre puncher</string>
<string name="titleDayOfSale">Día de venta</string> <string name="titleDayOfSale">Day of sale</string>
<string name="titleShowTicket">Ver Ticket</string> <string name="titleShowTicket">Show ticket</string>
<string name="titleHistoricalVehicle">Historial del vehículo</string> <string name="titleHistoricalVehicle">vehicle history</string>
<string name="titleReplacement">Reposición</string> <string name="titleReplacement">Replacement</string>
<string name="titleItemConsult">Consultar artículo</string> <string name="titleItemConsult">Consultar artículo</string>
<string name="titleUbicator">Ubicator</string> <string name="titleUbicator">Ubicator</string>
<string name="titleAuto">Automatic</string> <string name="titleAuto">Automatic</string>
<string name="titleQuality">Quality</string> <string name="titleQuality">Quality</string>
<string name="titleWebViewer">Visor web</string> <string name="titleWebViewer">Web viewer</string>
<string name="titlePreControl">Pre Control</string> <string name="titlePreControl">Pre Control</string>
<string name="titleShelvingHistorical">Histórico Shelving</string> <string name="titleShelvingHistorical">Shelving historical</string>
<string name="titleLogShelving">Log Shelving</string> <string name="titleLogShelving">Log Shelving</string>
<string name="titlePickers">Sacadores</string> <string name="titlePickers">Pickers</string>
<string name="itemScanetNotFound">Elemento escaneado no encontrado: </string> <string name="itemScanetNotFound">"Scanned element not found: "</string>
<string name="NotOrderReplacement">No existen pedidos para reponer</string> <string name="NotOrderReplacement">There are no requests to replace</string>
<string name="orderCompleted">Pedido completado</string> <string name="orderCompleted">Completed order</string>
<string name="shelvingSure">Asegúrate de escanear una matrícula.</string> <string name="shelvingSure">Make sure to scan a plate.</string>
<string name="highLabel">Etiqueta superior:</string> <string name="highLabel">High label:</string>
<string name="midLabel">Etiqueta del medio:</string> <string name="midLabel">Mid label:</string>
<string name="lowLabel">Etiqueta inferior:</string> <string name="lowLabel">Low label:</string>
<string name="newCreated">Nuevo</string> <string name="newCreated">New</string>
<string name="collectionPending">La siguiente colección sigue pendiente de preparar: </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">La respuesta es: </string> <string name="answer">"The answer is: "</string>
<string name="previousOK">Previa OK</string> <string name="previousOK">Previous OK</string>
<string name="scanTicketsForAdd">Colección sin tickets. Escanea tickets para añadirlos</string> <string name="scanTicketsForAdd">Colección no tickets. Scan tickets for adding</string>
<string name="pallet">"Pallet "</string> <string name="pallet">Pallet </string>
<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">Are you sure to log out?</string>
<string name="errorCauseRegistered">Causa del error registada</string> <string name="errorCauseRegistered">Error cause logged</string>
<string name="itemPoints">"Artículo: "</string> <string name="itemPoints">"Item: "</string>
<string name="originalQuantity">"Cantidad original: "</string> <string name="originalQuantity">"Original amount: "</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">" The call cannot be made. The user does not have the extension configured. Request it from IT."</string>
<string name="titleHistoricalHide">Historico Vehículo</string> <string name="titleHistoricalHide">Vehicle historical</string>
<string name="timeFormat">HH:mm</string>
<string name="dateCompleteFormat">yyyy-mm-dd HH:mm</string>
<string name="sector">Sector</string>
<string name="wagoons">Wagoons</string>
<string name="printerWithout">Without printer</string>
<string name="printerLabel">Label printers</string>
<string name="labelType">Label type</string>
<string name="vehicleControl">Vehicle control</string>
<string name="userNotPermission">User without permissions to perform the action</string>
<string name="messageUserError">Check your username and password. If you cannot access, contact Informatica</string>
<string name="ok">OK</string>
<string name="ticket">"Ticket: "</string>
<string name="expedit">Expedition: </string>
<string name="dayFormat">dd/MM/yyyy</string>
<string name="regExp">[a-zA-Z ]+</string>
<string name="ticketInsert">Inserted ticket OK</string>
<string name="errorCollectionNew">Error in the call when adding collection.</string>
<string name="errorTicketAdd">Error adding ticket to collection.</string>
<string name="errorChangeState">Failed to change state to previous collection.</string>
<string name="complete">complete</string>
<string name="titlePickerDescrip">" Get preview collections"</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="titleItemConsultDescrip">" Find information on an item"</string>
<string name="titleParkingDescrip">Allows parking tickets or cars</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="titleInventoryDescrip">Visualize that it is missing or misplaced</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="titleLogShelvingDescrip">Allows to know the movements in a wagoon</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="titleReplacDescrip">Indicates that it needs to be replenished</string>
<string name="titleFaultsDescrip">View fault stock in warehouse</string>
<string name="titleShelParkDescrip">Shelves Parking</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="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="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="titleBufferEmptyDescrip">Puts a buffer in flush mode</string>
<string name="titleBufferFillDescrip">Puts a buffer in full mode</string>
<string name="titleBufferAccDescrip">" Put a buffer in accumulation mode"</string>
<string name="titleBufferOffDescrip">Puts a buffer in disabled mode</string>
<string name="titleBufferStrapDescrip">" Puts a buffer in strapping mode"</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="titlePickersDescrip">Access to order</string>
<string name="titleControlDescrip">Access the ticket review</string>
<string name="titlePalletizDescrip">Access the palletizers menu: palletize, buffer…</string>
<string name="titleClaimsDescrip">Access the claims menu</string>
<string name="titleClaimDescrip">Claims Location</string>
<string name="collectionErrorBuilding">Error building collection. Error description:</string>
<string name="main">Main</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="modifiedQuantityPrevious">"Changed from previous amount of "</string>
<string name="modifiedOriginalQuantityPrevious">"Changed from previous amount of "</string>
<string name="fromItem">" from item "</string>
<string name="ticketSpaces"> ticket </string>
<string name="ticketCompleted">Complete ticket</string>
<string name="toNewQuantity">" to new quantity: "</string>
<string name="saleParked">Sale/s park/ed</string>
<string name="url">url</string>
<string name="title">title</string>
</resources> </resources>