feat reservas #refs 6861
This commit is contained in:
parent
83635cfa2e
commit
59fe13f151
|
@ -53,6 +53,8 @@ object ConstAndValues {
|
||||||
const val ENTRYNUMBERIMAGES = "ENTRYNUMBERIMAGES"
|
const val ENTRYNUMBERIMAGES = "ENTRYNUMBERIMAGES"
|
||||||
const val ENTRYTYPE = "ENTRYTYPE"
|
const val ENTRYTYPE = "ENTRYTYPE"
|
||||||
const val BASEURLSALIX = "base_urlSalix"
|
const val BASEURLSALIX = "base_urlSalix"
|
||||||
|
const val BASEURLLILIUM = "base_urlLilium"
|
||||||
|
const val BASE_URL_LILIUM = "https://lilium.verdnatura.es"
|
||||||
const val BASE_URL_SALIX = "https://salix.verdnatura.es"
|
const val BASE_URL_SALIX = "https://salix.verdnatura.es"
|
||||||
const val ENTRY = "ENTRY"
|
const val ENTRY = "ENTRY"
|
||||||
const val RENEWINTERVAL = "renewInterval"
|
const val RENEWINTERVAL = "renewInterval"
|
||||||
|
|
|
@ -95,6 +95,18 @@ class SaleAdapterNew(
|
||||||
itemParkingCode.setOnClickListener {
|
itemParkingCode.setOnClickListener {
|
||||||
onPackingClick.onPackingClick(sale)
|
onPackingClick.onPackingClick(sale)
|
||||||
}
|
}
|
||||||
|
itemCode.setOnClickListener {
|
||||||
|
onPackingClick.onPackingClick(sale)
|
||||||
|
}
|
||||||
|
|
||||||
|
itemArticleLongInfo.setOnClickListener {
|
||||||
|
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
||||||
|
PasillerosItemVO(
|
||||||
|
title = binding.root.context.getString(R.string.titleItemConsult)
|
||||||
|
), sale.itemFk.toString()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
itemArticleItemFkNew.setOnClickListener {
|
itemArticleItemFkNew.setOnClickListener {
|
||||||
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
||||||
PasillerosItemVO(
|
PasillerosItemVO(
|
||||||
|
|
|
@ -369,10 +369,9 @@ class CollectionFragmentPickerNew(
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
responseCollectionAddItem.observe(viewLifecycleOwner) {
|
loadResponseAddItem.observe(viewLifecycleOwner) { event ->
|
||||||
if (!goBack) {
|
event.getContentIfNotHandled().notNull {
|
||||||
updateScreen()
|
updateScreen()
|
||||||
goBack = false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1002,7 +1001,8 @@ class CollectionFragmentPickerNew(
|
||||||
viewModel.collectionAddWithReservation(
|
viewModel.collectionAddWithReservation(
|
||||||
customDialogList.getValue().toInt(),
|
customDialogList.getValue().toInt(),
|
||||||
customDialogList.getValueTwo().toInt(),
|
customDialogList.getValueTwo().toInt(),
|
||||||
ticketSelected
|
ticketSelected,
|
||||||
|
saleGroupFk = null
|
||||||
)
|
)
|
||||||
|
|
||||||
customDialogList.dismiss()
|
customDialogList.dismiss()
|
||||||
|
|
|
@ -226,7 +226,6 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
mpok!!.start()
|
mpok!!.start()
|
||||||
return true
|
return true
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (ex: Exception) {
|
} catch (ex: Exception) {
|
||||||
|
@ -252,6 +251,7 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
private fun setEvents() {
|
private fun setEvents() {
|
||||||
|
|
||||||
binding.mainToolbar.backButton.setOnClickListener {
|
binding.mainToolbar.backButton.setOnClickListener {
|
||||||
|
println("reserva fuera")
|
||||||
ma.onMyBackPressed()
|
ma.onMyBackPressed()
|
||||||
}
|
}
|
||||||
//ESCANER =========
|
//ESCANER =========
|
||||||
|
@ -321,25 +321,6 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
|
|
||||||
with(viewModel) {
|
with(viewModel) {
|
||||||
|
|
||||||
/* collectionTicketList.observe(viewLifecycleOwner, Observer {
|
|
||||||
if (!it.isError) {
|
|
||||||
if (it.tickets.isNotEmpty()) {
|
|
||||||
//collection = it
|
|
||||||
createCollectionList()
|
|
||||||
workerFkFromTicket = it.tickets.get(0).sales.get(0).workerFk
|
|
||||||
|
|
||||||
} else {
|
|
||||||
binding.mainToolbar.toolbarSubtitle.text = "0/0"
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
customDialog.setTitle(getString(R.string.error)).setDescription(it.errorMessage)
|
|
||||||
.setOkButton(getString(R.string.accept)) {
|
|
||||||
customDialog.dismiss()
|
|
||||||
if (activity != null) ma.onMyBackPressed()
|
|
||||||
}.show()
|
|
||||||
}
|
|
||||||
|
|
||||||
})*/
|
|
||||||
loadCollectionTicketSalix.observe(viewLifecycleOwner) { event ->
|
loadCollectionTicketSalix.observe(viewLifecycleOwner) { event ->
|
||||||
event.getContentIfNotHandled().notNull {
|
event.getContentIfNotHandled().notNull {
|
||||||
if (!it.isError) {
|
if (!it.isError) {
|
||||||
|
@ -368,31 +349,6 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* collectionTicketSalix.observe(viewLifecycleOwner, Observer {
|
|
||||||
|
|
||||||
if (!it.isError) {
|
|
||||||
|
|
||||||
if (it.tickets.isNotEmpty()) {
|
|
||||||
collection = it
|
|
||||||
createCollectionList()
|
|
||||||
workerFkFromTicket = if (it.tickets[0].sales.isNotEmpty()) {
|
|
||||||
it.tickets[0].sales[0].workerFk.toString()
|
|
||||||
} else {
|
|
||||||
""
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
binding.mainToolbar.toolbarSubtitle.text = "0/0"
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
customDialog.setTitle(getString(R.string.error)).setDescription(it.errorMessage)
|
|
||||||
.setOkButton(getString(R.string.accept)) {
|
|
||||||
customDialog.dismiss()
|
|
||||||
if (activity != null) ma.onMyBackPressed()
|
|
||||||
}.show()
|
|
||||||
}
|
|
||||||
|
|
||||||
})*/
|
|
||||||
responseExistsItemShelvingSale.observe(viewLifecycleOwner) {
|
responseExistsItemShelvingSale.observe(viewLifecycleOwner) {
|
||||||
if (!goBack) {
|
if (!goBack) {
|
||||||
if (it.exists) {
|
if (it.exists) {
|
||||||
|
@ -416,11 +372,9 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
loadResponseAddItem.observe(viewLifecycleOwner) { event ->
|
||||||
responseCollectionAddItem.observe(viewLifecycleOwner) {
|
event.getContentIfNotHandled().notNull {
|
||||||
if (!goBack) {
|
|
||||||
updateScreen()
|
updateScreen()
|
||||||
goBack = false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -446,19 +400,21 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
|
|
||||||
responseConfirmReservedItemShelvingSale.observe(viewLifecycleOwner) {
|
responseConfirmReservedItemShelvingSale.observe(viewLifecycleOwner) {
|
||||||
|
|
||||||
|
|
||||||
if (it.isError) {
|
if (it.isError) {
|
||||||
ma.messageWithSound(
|
ma.messageWithSound(
|
||||||
it.errorMessage, isError = true, true
|
it.errorMessage, isError = true, true
|
||||||
)
|
)
|
||||||
|
setTotalLines()
|
||||||
}
|
}
|
||||||
if (!it.isError) {
|
if (!it.isError) {
|
||||||
myGroupList[positionConfirm].isPicked = 1
|
myGroupList[positionConfirm].isPicked = 1
|
||||||
saleAdapter!!.notifyDataSetChanged()
|
saleAdapter!!.notifyItemChanged(positionConfirm)
|
||||||
lm!!.scrollToPositionWithOffset(storedBackPosition+1, 0)
|
lm!!.scrollToPositionWithOffset(storedBackPosition + 1, 0)
|
||||||
/* viewModel.collectionTicketGetSalix(
|
|
||||||
collection.collectionFk, print = false
|
setTotalLines()
|
||||||
)*/
|
/*viewModel.collectionTicketGetSalix(
|
||||||
|
collection.collectionFk, print = false
|
||||||
|
)*/
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -498,7 +454,7 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
lm!!.scrollToPositionWithOffset(positionMarkPrevia, 0)
|
lm!!.scrollToPositionWithOffset(positionMarkPrevia, 0)
|
||||||
|
|
||||||
ma.messageWithSound(
|
ma.messageWithSound(
|
||||||
"Previa recogida", it.isError, !it.isError
|
getString(R.string.previousCollected), it.isError, !it.isError
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -540,7 +496,6 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private fun createCollectionList() {
|
private fun createCollectionList() {
|
||||||
state = 0
|
state = 0
|
||||||
binding.mainToolbar.toolbarTitle.text = collection.collectionFk.toString()
|
binding.mainToolbar.toolbarTitle.text = collection.collectionFk.toString()
|
||||||
|
@ -554,7 +509,7 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
val myPickingTo = mobileApplication.dataStoreApp.readDataStoreKey<Int>("PICKING_TO")
|
val myPickingTo = mobileApplication.dataStoreApp.readDataStoreKey<Int>("PICKING_TO")
|
||||||
collection.tickets.forEach { ticket ->
|
collection.tickets.forEach { ticket ->
|
||||||
|
|
||||||
if (!observations.isNullOrEmpty()) observations =
|
if (observations.isNotEmpty()) observations =
|
||||||
observations + " " + ticket.observations
|
observations + " " + ticket.observations
|
||||||
ticket.sales.forEach { sale ->
|
ticket.sales.forEach { sale ->
|
||||||
|
|
||||||
|
@ -573,7 +528,7 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
|
|
||||||
//quitar comentarios FALTA AGRUPAR LAS PREVIAS
|
//quitar comentarios FALTA AGRUPAR LAS PREVIAS
|
||||||
myGroupList =
|
myGroupList =
|
||||||
groupSaleGroup(salesList).sortedWith(compareBy<Sale> { it.pickingOrder }.thenBy { it.itemFk })
|
salesList.sortedWith(compareBy<Sale> { it.pickingOrder }.thenBy { it.itemFk })
|
||||||
// sales //sales porque no se ggrupan las previas hay que cambiar los estados.
|
// sales //sales porque no se ggrupan las previas hay que cambiar los estados.
|
||||||
|
|
||||||
saleAdapter = SaleAdapterNew(
|
saleAdapter = SaleAdapterNew(
|
||||||
|
@ -598,49 +553,50 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
object : OnSaleClickSaleListener {
|
object : OnSaleClickSaleListener {
|
||||||
override fun onSaleClick(mysale: Sale) {
|
override fun onSaleClick(sale: Sale) {
|
||||||
|
|
||||||
var position = myGroupList.indexOfFirst { it.itemShelvingSaleFk == mysale.itemShelvingSaleFk }
|
val position =
|
||||||
if (position>-1){
|
myGroupList.indexOfFirst { it.itemShelvingSaleFk == sale.itemShelvingSaleFk }
|
||||||
if (mysale.isPicked ==1){
|
if (position > -1) {
|
||||||
|
if (sale.isPicked == 1) {
|
||||||
unMarkLine(position, myGroupList[position])
|
unMarkLine(position, myGroupList[position])
|
||||||
}else{
|
} else {
|
||||||
showScanner(position, mysale)
|
showScanner(position, sale)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* myGroupList.forEachIndexed { index, sale ->
|
/* myGroupList.forEachIndexed { index, sale ->
|
||||||
//sales.forEachIndexed { index, sale ->
|
//sales.forEachIndexed { index, sale ->
|
||||||
// println("Sacador la sale es ${sale.saleFk}")
|
// println("Sacador la sale es ${sale.saleFk}")
|
||||||
// println("Sacador la sale picked es ${sale.isPicked}")
|
// println("Sacador la sale picked es ${sale.isPicked}")
|
||||||
// println("Sacador la sale group es ${sale.saleGroupFk}")
|
// println("Sacador la sale group es ${sale.saleGroupFk}")
|
||||||
// println("Sacador la sale reserved es ${sale.reservedQuantity}")
|
// println("Sacador la sale reserved es ${sale.reservedQuantity}")
|
||||||
if (sale.itemShelvingSaleFk == 0) {
|
if (sale.itemShelvingSaleFk == 0) {
|
||||||
println("Sacador Que hacemos en este caso ?? ")
|
println("Sacador Que hacemos en este caso ?? ")
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|
||||||
if (sale.itemShelvingSaleFk == mysale.itemShelvingSaleFk) {
|
if (sale.itemShelvingSaleFk == mysale.itemShelvingSaleFk) {
|
||||||
println("Sacador **** itemShelvingSale es ${sale.itemShelvingSaleFk}")
|
println("Sacador **** itemShelvingSale es ${sale.itemShelvingSaleFk}")
|
||||||
println("Sacador **** isPicked es ${sale.isPicked}")
|
println("Sacador **** isPicked es ${sale.isPicked}")
|
||||||
println("Sacador **** saleGroup es ${sale.saleGroupFk}")
|
println("Sacador **** saleGroup es ${sale.saleGroupFk}")
|
||||||
//println("Sacador la sale es ${sale.saleFk}")
|
//println("Sacador la sale es ${sale.saleFk}")
|
||||||
//println("Sacador la sale picked es ${sale.isPicked}")
|
//println("Sacador la sale picked es ${sale.isPicked}")
|
||||||
//println("Sacador la sale group es ${sale.saleGroupFk}")
|
//println("Sacador la sale group es ${sale.saleGroupFk}")
|
||||||
//println("Sacador la sale reserved es ${sale.reservedQuantity}")
|
//println("Sacador la sale reserved es ${sale.reservedQuantity}")
|
||||||
//println("Sacador la sale dentro es ${sale.saleFk}")
|
//println("Sacador la sale dentro es ${sale.saleFk}")
|
||||||
if (sale.isPicked != 1 && sale.saleGroupFk == null) {
|
if (sale.isPicked != 1 && sale.saleGroupFk == null) {
|
||||||
println("Sacador **** showScanner")
|
println("Sacador **** showScanner")
|
||||||
showScanner(index, sale)
|
showScanner(index, sale)
|
||||||
} else {
|
} else {
|
||||||
println("Sacador **** desmarcar")
|
println("Sacador **** desmarcar")
|
||||||
unMarkLine(index, myGroupList[index])
|
unMarkLine(index, myGroupList[index])
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -864,7 +820,7 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
ma.messageWithSound(e.message.toString(), isError =true, true)
|
ma.messageWithSound(e.message.toString(), isError = true, true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1021,7 +977,7 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
|
|
||||||
customDialogList.getEditText().setOnEditorActionListener { v, actionId, event ->
|
customDialogList.getEditText().setOnEditorActionListener { v, actionId, event ->
|
||||||
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
|
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
|
||||||
if (!customDialogList.getValue().isNullOrEmpty()) {
|
if (customDialogList.getValue().isNotEmpty()) {
|
||||||
try {
|
try {
|
||||||
customDialogList.setValue(
|
customDialogList.setValue(
|
||||||
itemScanValue(
|
itemScanValue(
|
||||||
|
@ -1070,18 +1026,23 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
|
|
||||||
private fun customDialogAddItem() {
|
private fun customDialogAddItem() {
|
||||||
|
|
||||||
if (!customDialogList.getValueTwo().isNullOrEmpty()) {
|
if (customDialogList.getValueTwo().isNotEmpty()) {
|
||||||
if (ticketSelected == 0) {
|
if (ticketSelected == 0) {
|
||||||
getString(R.string.Seleccionaunticketdelaista).toast(requireContext())
|
getString(R.string.Seleccionaunticketdelaista).toast(requireContext())
|
||||||
} else if (customDialogList.getValue().isNullOrEmpty() || customDialogList.getValueTwo()
|
} else if (customDialogList.getValue().isEmpty() || customDialogList.getValueTwo()
|
||||||
.isNullOrEmpty()
|
.isEmpty()
|
||||||
) {
|
) {
|
||||||
getString(R.string.Todosloscampossonobligatorios).toast(requireContext())
|
getString(R.string.Todosloscampossonobligatorios).toast(requireContext())
|
||||||
} else {
|
} else {
|
||||||
|
val saleGroupSelected =
|
||||||
|
collection.tickets.find { it.ticketFk == ticketSelected }?.sales?.get(0)?.saleGroupFk
|
||||||
|
?: 0
|
||||||
|
|
||||||
viewModel.collectionAddWithReservation(
|
viewModel.collectionAddWithReservation(
|
||||||
customDialogList.getValue().toInt(),
|
customDialogList.getValue().toInt(),
|
||||||
customDialogList.getValueTwo().toInt(),
|
customDialogList.getValueTwo().toInt(),
|
||||||
ticketSelected
|
ticketSelected,
|
||||||
|
saleGroupFk = saleGroupSelected
|
||||||
)
|
)
|
||||||
|
|
||||||
customDialogList.dismiss()
|
customDialogList.dismiss()
|
||||||
|
@ -1095,7 +1056,7 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun toastDisponibility(item: ItemVO) {
|
private fun toastDisponibility(item: ItemVO) {
|
||||||
if (item.available.isNullOrEmpty()) {
|
if (item.available.isEmpty()) {
|
||||||
item.available = "0"
|
item.available = "0"
|
||||||
}
|
}
|
||||||
customDialog.setTitle(getString(R.string.itemPoints) + item.id)
|
customDialog.setTitle(getString(R.string.itemPoints) + item.id)
|
||||||
|
@ -1202,64 +1163,6 @@ class CollectionFragmentPickerPreviousNew(
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun groupSaleGroup(salesList: ArrayList<Sale>): MutableList<Sale> {/* var myMap = salesList.groupBy { it.saleGroupFk }
|
|
||||||
var myList: MutableList<Sale> = mutableListOf()
|
|
||||||
|
|
||||||
for ((key, value) in myMap.entries) {
|
|
||||||
if (key == null) { // si no tiene saleGroup se añaden las líneas
|
|
||||||
for (s in value) {
|
|
||||||
myList.add(s)
|
|
||||||
}
|
|
||||||
} else { // si tiene saleGroup se crea el padre con el tamaño e indicando que es padre, como ejemplo se toma el primer elemento
|
|
||||||
|
|
||||||
*//*crea padre*//*
|
|
||||||
if (value.size > 1) {
|
|
||||||
var mySale = //= value[0]
|
|
||||||
Sale(
|
|
||||||
level = value[0].level,
|
|
||||||
isPicked = value[0].isPicked,
|
|
||||||
parkingCode = "Líneas : ${value.size}",
|
|
||||||
pickingOrder = value[0].pickingOrder,
|
|
||||||
workerFk = value[0].workerFk,
|
|
||||||
originalQuantity = value[0].originalQuantity,
|
|
||||||
saleQuantity = 0,
|
|
||||||
saleFk = value[0].saleFk,
|
|
||||||
saleGroupFk = value[0].saleGroupFk,
|
|
||||||
semaphore = value[0].semaphore,
|
|
||||||
ticketFk = value[0].ticketFk,
|
|
||||||
itemFk = value[0].saleGroupFk!!,
|
|
||||||
isAdded = value[0].isAdded,
|
|
||||||
hasMistake = value[0].hasMistake,
|
|
||||||
origin = value[0].origin,
|
|
||||||
size = value[0].size,
|
|
||||||
itemShelvingSaleFk = value[0].itemShelvingSaleFk,
|
|
||||||
longName = value[0].parkingCode ?: ""
|
|
||||||
)
|
|
||||||
|
|
||||||
//prime elemento//hay que hacer una copia si no queda la referencia
|
|
||||||
mySale.totalSales = value.size //total líneas
|
|
||||||
mySale.isParent = true
|
|
||||||
value as MutableList<Sale>
|
|
||||||
mySale.sonSales =
|
|
||||||
value.sortedWith(compareBy { it.isPicked }) as MutableList<Sale>*//*mySale.line1 = "Previa :${mySale.saleGroupFk}"
|
|
||||||
mySale.line2 = "Líneas: ${value.size}"
|
|
||||||
mySale.line3 = value[0].code*//*
|
|
||||||
// mySale.placements = listOf(PlacementVO(shelving = value[0].code!!))
|
|
||||||
|
|
||||||
myList.add(mySale)
|
|
||||||
} else {
|
|
||||||
for (s in value) {
|
|
||||||
myList.add(s)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}*/
|
|
||||||
|
|
||||||
return salesList
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -194,6 +194,8 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
|
|
||||||
val loadResponseDel: LiveData<Event<ResponseItemVO>> = _responseDel.map { Event(it) }
|
val loadResponseDel: LiveData<Event<ResponseItemVO>> = _responseDel.map { Event(it) }
|
||||||
|
|
||||||
|
val loadResponseAddItem: LiveData<Event<ResponseItemVO>> = _responseCollectionAddItem.map { Event(it) }
|
||||||
|
|
||||||
val loadResponseSaleTrackingMark: LiveData<Event<ResponseItemVO>> =
|
val loadResponseSaleTrackingMark: LiveData<Event<ResponseItemVO>> =
|
||||||
_responseSaleTracking_mark.map { Event(it) }
|
_responseSaleTracking_mark.map { Event(it) }
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,8 @@ class SectorCollectionReserveFragment(
|
||||||
private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null
|
private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null
|
||||||
private var listSalesGroup: ArrayList<BarcodeVO> = ArrayList()
|
private var listSalesGroup: ArrayList<BarcodeVO> = ArrayList()
|
||||||
private var listSaleGroupAdapter: BarcodeAdapter? = null
|
private var listSaleGroupAdapter: BarcodeAdapter? = null
|
||||||
|
private var onBack = false
|
||||||
|
private var isReserved = false
|
||||||
|
|
||||||
val listIcons: ArrayList<ImageView> = ArrayList()
|
val listIcons: ArrayList<ImageView> = ArrayList()
|
||||||
|
|
||||||
|
@ -50,6 +52,11 @@ class SectorCollectionReserveFragment(
|
||||||
if (context is OnCollectionTicketSelectedListener) onCollectionSelectedListener = context
|
if (context is OnCollectionTicketSelectedListener) onCollectionSelectedListener = context
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onPause() {
|
||||||
|
onBack = true
|
||||||
|
super.onPause()
|
||||||
|
}
|
||||||
|
|
||||||
override fun init() {
|
override fun init() {
|
||||||
|
|
||||||
customDialogList = CustomDialogList(requireContext())
|
customDialogList = CustomDialogList(requireContext())
|
||||||
|
@ -57,15 +64,28 @@ class SectorCollectionReserveFragment(
|
||||||
binding.mainToolbar.toolbarTitle.text = title
|
binding.mainToolbar.toolbarTitle.text = title
|
||||||
setEvents()
|
setEvents()
|
||||||
setToolBar()
|
setToolBar()
|
||||||
checkParkingsToPicker()
|
|
||||||
println("reserve collec $collectionFk")
|
println("reserve collec $collectionFk")
|
||||||
super.init()
|
super.init()
|
||||||
|
if (!onBack) {
|
||||||
|
checkParkingsToPicker()
|
||||||
|
} else {
|
||||||
|
if (onBack) {
|
||||||
|
requireActivity().supportFragmentManager.popBackStack()
|
||||||
|
} else {
|
||||||
|
ma.onPasillerosItemClickListener(
|
||||||
|
PasillerosItemVO(title = "titlePrePickerTest"),
|
||||||
|
entryPoint = collectionFk.toString()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkParkingsToPicker() {
|
private fun checkParkingsToPicker() {
|
||||||
//Habrá que ver si tiene tickets ya asociados
|
//Habrá que ver si tiene tickets ya asociados
|
||||||
binding.mainToolbar.toolbarTitle.text = collectionFk.toString()
|
binding.mainToolbar.toolbarTitle.text = collectionFk.toString()
|
||||||
showDialogLinkTickets()
|
viewModel.hasSalesReserved(collectionFk)
|
||||||
|
//showDialogLinkTickets()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,8 +101,8 @@ class SectorCollectionReserveFragment(
|
||||||
iconParkingFrom.tooltipText = getString(R.string.editParking)
|
iconParkingFrom.tooltipText = getString(R.string.editParking)
|
||||||
iconReset.tooltipText = getString(R.string.resetParking)
|
iconReset.tooltipText = getString(R.string.resetParking)
|
||||||
|
|
||||||
listIcons.add(iconReset)
|
//listIcons.add(iconReset)
|
||||||
listIcons.add(iconParkingFrom)
|
// listIcons.add(iconParkingFrom)
|
||||||
|
|
||||||
binding.mainToolbar.toolbarIcons.adapter =
|
binding.mainToolbar.toolbarIcons.adapter =
|
||||||
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
|
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
|
||||||
|
@ -108,7 +128,9 @@ class SectorCollectionReserveFragment(
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showDialogLinkTickets() {
|
private fun showDialogLinkTickets() {
|
||||||
|
customDialogList.setOnDismissListener {
|
||||||
|
if (!isReserved) ma.onMyBackPressed()
|
||||||
|
}
|
||||||
customDialogList.setTitle(
|
customDialogList.setTitle(
|
||||||
getString(R.string.tickets)
|
getString(R.string.tickets)
|
||||||
)
|
)
|
||||||
|
@ -132,7 +154,9 @@ class SectorCollectionReserveFragment(
|
||||||
ma.hideKeyboard(customDialogList.getEditText())
|
ma.hideKeyboard(customDialogList.getEditText())
|
||||||
listSalesGroup = ArrayList()
|
listSalesGroup = ArrayList()
|
||||||
customDialogList.dismiss()
|
customDialogList.dismiss()
|
||||||
ma.onMyBackPressed()
|
|
||||||
|
// gotoPicker()
|
||||||
|
/*ma.onMyBackPressed()*/
|
||||||
}.setValue("").show()
|
}.setValue("").show()
|
||||||
|
|
||||||
customDialogList.getEditText().requestFocus()
|
customDialogList.getEditText().requestFocus()
|
||||||
|
@ -146,8 +170,7 @@ class SectorCollectionReserveFragment(
|
||||||
if (listSalesGroup.firstOrNull { it.code == customDialogList.getValue() } == null) {
|
if (listSalesGroup.firstOrNull { it.code == customDialogList.getValue() } == null) {
|
||||||
listSalesGroup.add(0, BarcodeVO(code = customDialogList.getValue()))
|
listSalesGroup.add(0, BarcodeVO(code = customDialogList.getValue()))
|
||||||
viewModel.sectorCollectionSaleGroupAdd(
|
viewModel.sectorCollectionSaleGroupAdd(
|
||||||
customDialogList.getValue().toInt(),
|
customDialogList.getValue().toInt(), collectionFk
|
||||||
collectionFk
|
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
throw Exception(getString(R.string.ticketScanned))
|
throw Exception(getString(R.string.ticketScanned))
|
||||||
|
@ -189,8 +212,8 @@ class SectorCollectionReserveFragment(
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
private fun setEvents() {
|
private fun setEvents() {
|
||||||
|
|
||||||
binding.scanInput.visibility = View.VISIBLE
|
//binding.scanInput.visibility = View.VISIBLE
|
||||||
binding.scanInput.setHint(getString(R.string.scanCollection))
|
//binding.scanInput.setHint(getString(R.string.scanCollection))
|
||||||
binding.mainToolbar.backButton.setOnClickListener {
|
binding.mainToolbar.backButton.setOnClickListener {
|
||||||
ma.onMyBackPressed()
|
ma.onMyBackPressed()
|
||||||
}
|
}
|
||||||
|
@ -234,7 +257,6 @@ class SectorCollectionReserveFragment(
|
||||||
loadResponseSaleGropAdd.observe(viewLifecycleOwner) { event ->
|
loadResponseSaleGropAdd.observe(viewLifecycleOwner) { event ->
|
||||||
event.getContentIfNotHandled().notNull {
|
event.getContentIfNotHandled().notNull {
|
||||||
|
|
||||||
|
|
||||||
if (it.isError) {
|
if (it.isError) {
|
||||||
listSalesGroup.removeAt(0)
|
listSalesGroup.removeAt(0)
|
||||||
ma.messageWithSound(
|
ma.messageWithSound(
|
||||||
|
@ -246,40 +268,37 @@ class SectorCollectionReserveFragment(
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ma.messageWithSound(
|
ma.messageWithSound(
|
||||||
message = "",
|
message = "", isError = false, isPlayed = true, isToasted = false
|
||||||
isError = false,
|
|
||||||
isPlayed = true,
|
|
||||||
isToasted = false
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
loadResponseHasSaleReserved.observe(viewLifecycleOwner) { event ->
|
||||||
|
event.getContentIfNotHandled().notNull {
|
||||||
|
|
||||||
|
if (it == "1") {
|
||||||
|
isReserved = true
|
||||||
|
gotoPicker()
|
||||||
|
} else {
|
||||||
|
showDialogLinkTickets()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
loadResponseReserveSectorCollection.observe(viewLifecycleOwner) { event ->
|
loadResponseReserveSectorCollection.observe(viewLifecycleOwner) { event ->
|
||||||
event.getContentIfNotHandled().notNull {
|
event.getContentIfNotHandled().notNull {
|
||||||
|
|
||||||
|
|
||||||
if (it.isError) {
|
if (it.isError) {
|
||||||
ma.messageWithSound(
|
ma.messageWithSound(
|
||||||
it.errorMessage,
|
it.errorMessage, isError = true, true, isToasted = true
|
||||||
isError = true,
|
|
||||||
true,
|
|
||||||
isToasted = true
|
|
||||||
)
|
)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ma.messageWithSound(
|
ma.messageWithSound(
|
||||||
message = "",
|
message = "", isError = false, isPlayed = true, isToasted = false
|
||||||
isError = false,
|
|
||||||
isPlayed = true,
|
|
||||||
isToasted = false
|
|
||||||
)
|
)
|
||||||
customDialogList.dismiss()
|
//navigateToCollectionList(collectionFk = collectionFk)
|
||||||
ma.onPasillerosItemClickListener(
|
gotoPicker()
|
||||||
PasillerosItemVO(title = "PREITEMPICKERTEST"),
|
|
||||||
entryPoint = collectionFk.toString()
|
|
||||||
)
|
|
||||||
|
|
||||||
//anar a SacadorFragmentNew
|
//anar a SacadorFragmentNew
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -289,4 +308,14 @@ class SectorCollectionReserveFragment(
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun gotoPicker() {
|
||||||
|
if (::customDialogList.isInitialized) customDialogList.dismiss()
|
||||||
|
|
||||||
|
ma.onPasillerosItemClickListener(
|
||||||
|
PasillerosItemVO(title = "PREITEMPICKERTEST"), entryPoint = collectionFk.toString()
|
||||||
|
)
|
||||||
|
onBack = true
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -2,12 +2,10 @@ package es.verdnatura.presentation.view.feature.sacador.fragment
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
import android.os.Build
|
|
||||||
import android.text.InputType
|
import android.text.InputType
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.inputmethod.EditorInfo
|
import android.view.inputmethod.EditorInfo
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import androidx.lifecycle.Observer
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import es.verdnatura.R
|
import es.verdnatura.R
|
||||||
import es.verdnatura.databinding.FragmentSacadorBinding
|
import es.verdnatura.databinding.FragmentSacadorBinding
|
||||||
|
@ -70,7 +68,7 @@ class SacadorFragmentNew(
|
||||||
}
|
}
|
||||||
|
|
||||||
"PREITEMPICKERTEST" -> {
|
"PREITEMPICKERTEST" -> {
|
||||||
viewModel.sectorCollectionGet()
|
viewModel.sectorCollectionPartial()
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> {
|
else -> {
|
||||||
|
@ -100,13 +98,10 @@ class SacadorFragmentNew(
|
||||||
val iconPrint = ImageView(context)
|
val iconPrint = ImageView(context)
|
||||||
iconPrint.setImageResource(R.drawable.ic_print_black_24dp)
|
iconPrint.setImageResource(R.drawable.ic_print_black_24dp)
|
||||||
|
|
||||||
|
iconAdd.tooltipText = getTooltip(R.drawable.ic_add_black_24dp)
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
iconVehicleIn.tooltipText = getTooltip(R.drawable.car)
|
||||||
iconAdd.tooltipText = getTooltip(R.drawable.ic_add_black_24dp)
|
iconAdd.tooltipText = getTooltip(R.drawable.ic_add_black_24dp)
|
||||||
iconVehicleIn.tooltipText = getTooltip(R.drawable.car)
|
iconPrint.tooltipText = getTooltip(R.drawable.ic_print_black_24dp)
|
||||||
iconAdd.tooltipText = getTooltip(R.drawable.ic_add_black_24dp)
|
|
||||||
iconPrint.tooltipText = getTooltip(R.drawable.ic_print_black_24dp)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (type == "PREPARED") {
|
if (type == "PREPARED") {
|
||||||
listIcons.add(iconVehicleIn)
|
listIcons.add(iconVehicleIn)
|
||||||
|
@ -164,7 +159,7 @@ class SacadorFragmentNew(
|
||||||
ma.hideKeyboard(customDialogInput.getEditText())
|
ma.hideKeyboard(customDialogInput.getEditText())
|
||||||
|
|
||||||
customDialogInput.getEditText().setOnEditorActionListener { _, actionId, _ ->
|
customDialogInput.getEditText().setOnEditorActionListener { _, actionId, _ ->
|
||||||
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5 || actionId == 6) {
|
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
|
||||||
|
|
||||||
print()
|
print()
|
||||||
|
|
||||||
|
@ -210,34 +205,34 @@ class SacadorFragmentNew(
|
||||||
|
|
||||||
with(viewModel) {
|
with(viewModel) {
|
||||||
|
|
||||||
collectionListLocal.observe(viewLifecycleOwner, Observer {
|
collectionListLocal.observe(viewLifecycleOwner) {
|
||||||
//if (!goBack2)
|
//if (!goBack2)
|
||||||
|
|
||||||
createCollectionList(it.list)
|
createCollectionList(it.list)
|
||||||
|
|
||||||
goBack2 = false
|
goBack2 = false
|
||||||
})
|
}
|
||||||
|
|
||||||
collectionList.observe(viewLifecycleOwner, Observer { it ->
|
collectionList.observe(viewLifecycleOwner) { it ->
|
||||||
//if (!goBack2)
|
//if (!goBack2)
|
||||||
var myCollectionsList = mutableListOf<CollectionTicket>()
|
val myCollectionsList = mutableListOf<CollectionTicket>()
|
||||||
it.list.forEach {
|
it.list.forEach {
|
||||||
myCollectionsList.add(CollectionTicket(it.collectionFk))
|
myCollectionsList.add(CollectionTicket(it.collectionFk))
|
||||||
}
|
}
|
||||||
createCollectionList(myCollectionsList)
|
createCollectionList(myCollectionsList)
|
||||||
goBack2 = false
|
goBack2 = false
|
||||||
})
|
}
|
||||||
|
|
||||||
response.observe(viewLifecycleOwner, Observer {
|
response.observe(viewLifecycleOwner) {
|
||||||
|
|
||||||
if (it.isError) {
|
if (it.isError) {
|
||||||
ma.messageWithSound(it.errorMessage, true, false)
|
ma.messageWithSound(it.errorMessage, isError = true, isPlayed = false)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (!it.response.isNullOrBlank()) {
|
if (it.response.isNotBlank()) {
|
||||||
addCollectionToList(it.response.toInt())
|
addCollectionToList(it.response.toInt())
|
||||||
|
|
||||||
}else{
|
} else {
|
||||||
when (type) {
|
when (type) {
|
||||||
"PREPARED" -> {
|
"PREPARED" -> {
|
||||||
viewModel.collectionGetSalixLocal()
|
viewModel.collectionGetSalixLocal()
|
||||||
|
@ -249,7 +244,8 @@ class SacadorFragmentNew(
|
||||||
|
|
||||||
"PREITEMPICKERTEST" -> {
|
"PREITEMPICKERTEST" -> {
|
||||||
println("SacadorFragmentNew sectorCollectionGET")
|
println("SacadorFragmentNew sectorCollectionGET")
|
||||||
viewModel.sectorCollectionGet()
|
// viewModel.sectorCollectionGet()
|
||||||
|
viewModel.sectorCollectionPartial()
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> {
|
else -> {
|
||||||
|
@ -260,7 +256,7 @@ class SacadorFragmentNew(
|
||||||
}
|
}
|
||||||
goBack = false
|
goBack = false
|
||||||
//callBack(type)
|
//callBack(type)
|
||||||
})
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -293,8 +289,6 @@ class SacadorFragmentNew(
|
||||||
created = getString(R.string.newCreated)
|
created = getString(R.string.newCreated)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
adapter?.notifyDataSetChanged()
|
|
||||||
} else {
|
} else {
|
||||||
customDialog.setTitle(getString(R.string.info))
|
customDialog.setTitle(getString(R.string.info))
|
||||||
.setDescription(getString(R.string.collectionPending) + collection)
|
.setDescription(getString(R.string.collectionPending) + collection)
|
||||||
|
|
|
@ -279,6 +279,48 @@ class SacadorViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun sectorCollectionPartial() {
|
||||||
|
salix.sectorCollectionGetPartial().enqueue(object :
|
||||||
|
SalixCallback<List<CollectionVO>>(context) {
|
||||||
|
override fun onSuccess(response: Response<List<CollectionVO>>) {
|
||||||
|
|
||||||
|
if (response.body() != null) {
|
||||||
|
_collectionList.value =
|
||||||
|
response.body()?.let { CollectionListVO(it.toDateFormat(context)) }
|
||||||
|
} else {
|
||||||
|
val listError: ArrayList<CollectionVO> = ArrayList()
|
||||||
|
listError.add(
|
||||||
|
CollectionVO(
|
||||||
|
0,
|
||||||
|
isError = true,
|
||||||
|
errorMessage = getMessageFromAllResponse(
|
||||||
|
nameofFunction(this),
|
||||||
|
response.message()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
_collectionList.value = CollectionListVO(listError)
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onError(t: Throwable) {
|
||||||
|
val listError: ArrayList<CollectionVO> = ArrayList()
|
||||||
|
listError.add(
|
||||||
|
CollectionVO(
|
||||||
|
0,
|
||||||
|
isError = true,
|
||||||
|
errorMessage = getMessageFromAllResponse(
|
||||||
|
nameofFunction(this),
|
||||||
|
t.message!!
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
_collectionList.value = CollectionListVO(listError)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
fun collectionGetSalix() {
|
fun collectionGetSalix() {
|
||||||
salix.getCollectionSalix().enqueue(object :
|
salix.getCollectionSalix().enqueue(object :
|
||||||
SalixCallback<List<CollectionVO>>(context) {
|
SalixCallback<List<CollectionVO>>(context) {
|
||||||
|
|
Loading…
Reference in New Issue