This commit is contained in:
Enrique Blasco 2020-07-31 07:15:50 +02:00
parent 46bf5c9e76
commit 3c74a6f44e
4 changed files with 92 additions and 45 deletions

View File

@ -12,8 +12,8 @@ android {
applicationId "es.verdnatura" applicationId "es.verdnatura"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 29 targetSdkVersion 29
versionCode 23 versionCode 24
versionName "5.1.3" versionName "5.1.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }

View File

@ -8,7 +8,7 @@ import java.util.concurrent.TimeUnit
class ApiUtils { class ApiUtils {
companion object { companion object {
//const val BASE_URL:String = "http://192.168.1.106:8009/" // const val BASE_URL:String = "http://192.168.1.104:8009/"
const val BASE_URL:String = "https://app.verdnatura.es/" const val BASE_URL:String = "https://app.verdnatura.es/"
fun getApiService():VerdnaturaService{ fun getApiService():VerdnaturaService{
val retrofit = Retrofit.Builder() val retrofit = Retrofit.Builder()

View File

@ -8,5 +8,6 @@ object ConstAndValues {
const val ON_PREPARATION = "ON_PREPARATION" const val ON_PREPARATION = "ON_PREPARATION"
const val CHECKED = "CHECKED" const val CHECKED = "CHECKED"
const val PRESACADOR = "PRESACADOR" const val PRESACADOR = "PRESACADOR"
const val ON_CHECKING = "ON_CHECKING"
} }

View File

@ -17,6 +17,8 @@ import es.verdnatura.databinding.FragmentCollectionBinding
import es.verdnatura.domain.ConstAndValues.CHECKED import es.verdnatura.domain.ConstAndValues.CHECKED
import es.verdnatura.domain.ConstAndValues.CONTROLADOR import es.verdnatura.domain.ConstAndValues.CONTROLADOR
import es.verdnatura.domain.ConstAndValues.OK import es.verdnatura.domain.ConstAndValues.OK
import es.verdnatura.domain.ConstAndValues.ON_CHECKING
import es.verdnatura.domain.ConstAndValues.ON_PREPARATION
import es.verdnatura.domain.ConstAndValues.PREPARED import es.verdnatura.domain.ConstAndValues.PREPARED
import es.verdnatura.domain.ConstAndValues.SACADOR import es.verdnatura.domain.ConstAndValues.SACADOR
import es.verdnatura.domain.toast import es.verdnatura.domain.toast
@ -68,6 +70,7 @@ class CollectionFragment(
var mpok: MediaPlayer? = null var mpok: MediaPlayer? = null
private var itemShelvingFkStored : String = "" private var itemShelvingFkStored : String = ""
private var storedBackPosition : Int = 0 private var storedBackPosition : Int = 0
private var tickets:ArrayList<String> = ArrayList()
companion object { companion object {
@ -274,9 +277,12 @@ class CollectionFragment(
toolbar_title.text = collection.collectionFk toolbar_title.text = collection.collectionFk
splash_progress.visibility = View.GONE splash_progress.visibility = View.GONE
var salesList:ArrayList<SaleVO> = ArrayList() var salesList:ArrayList<SaleVO> = ArrayList()
tickets = ArrayList()
collection.tickets.forEach { ticket -> collection.tickets.forEach { ticket ->
ticket.sales.forEach { ticket.sales.forEach {saleVO ->
salesList.add(it) salesList.add(saleVO)
if (tickets.firstOrNull { it == saleVO.ticketFk}.isNullOrEmpty())
tickets.add(saleVO.ticketFk)
} }
} }
@ -321,6 +327,7 @@ class CollectionFragment(
setListPosition(storedBackPosition,true) setListPosition(storedBackPosition,true)
setScrollListener(lm!!) setScrollListener(lm!!)
changeInitTicketState()
} }
private fun setScrollListener(lm: LinearLayoutManager){ private fun setScrollListener(lm: LinearLayoutManager){
@ -373,7 +380,23 @@ class CollectionFragment(
} }
index += 1 index += 1
} }
if (!isOk) mperror!!.start() if (!isOk) {
if (txtscan.contains("-")){
tickets.forEach {
viewModel.parking(
usuario = user,
password = password,
ticketFk = it,
parking = txtscan
)
}
mpok!!.start()
"Ticket aparcado".toast(requireContext())
}else{
mperror!!.start()
}
}
}else if(type == CONTROLADOR){ }else if(type == CONTROLADOR){
for (saleVO in sales) { for (saleVO in sales) {
if(saleVO.isControlled == "0"){ if(saleVO.isControlled == "0"){
@ -400,12 +423,14 @@ class CollectionFragment(
//Lo escaneado no encontrado miramos si es parking o ticket //Lo escaneado no encontrado miramos si es parking o ticket
if (!isOk){ if (!isOk){
if (txtscan.contains("-")){ if (txtscan.contains("-")){
viewModel.parking( tickets.forEach {
usuario = user, viewModel.parking(
password = password, usuario = user,
ticketFk = collection.collectionFk, password = password,
parking = txtscan ticketFk = it,
) parking = txtscan
)
}
mpok!!.start() mpok!!.start()
"Ticket aparcado".toast(requireContext()) "Ticket aparcado".toast(requireContext())
}else{ }else{
@ -455,7 +480,23 @@ class CollectionFragment(
} }
} }
} }
if (!isOk) mperror!!.start() if (!isOk) {
if (txtscan.contains("-")){
tickets.forEach {
viewModel.parking(
usuario = user,
password = password,
ticketFk = it,
parking = txtscan
)
}
mpok!!.start()
"Ticket aparcado".toast(requireContext())
}else{
mperror!!.start()
}
}
} }
} }
@ -546,23 +587,6 @@ class CollectionFragment(
) )
} }
private fun showShelving(position:Int,shelvingPosition:Int,quantity:String){
storedShelvingPosition = shelvingPosition
storedPosition = position
splash_progress.visibility = View.VISIBLE
var quantityGet = "0"
try{
quantityGet = quantity
}catch (e:Exception){}
viewModel.itemPlacementSupplyAiming(
usuario = user,
password = password,
itemFk = sales[position].itemFk,
quantity = quantityGet,
shelvingFk = sales[position].placements[shelvingPosition].shelving
)
}
private fun printShelvingResult(placementSupplyListVO: PlacementSupplyListVO){ private fun printShelvingResult(placementSupplyListVO: PlacementSupplyListVO){
var shelving = "" var shelving = ""
var item = "" var item = ""
@ -907,8 +931,6 @@ class CollectionFragment(
if (totalMark == sales.size) { if (totalMark == sales.size) {
"Colección completa".toast(this.context,Toast.LENGTH_SHORT) "Colección completa".toast(this.context,Toast.LENGTH_SHORT)
changeTicketState() changeTicketState()
}else if(totalMark == 0){
setPreparedTicket()
} }
} }
@ -1062,26 +1084,50 @@ class CollectionFragment(
//ESTADOS //ESTADOS
private fun changeTicketState(){ private fun changeTicketState(){
if (type == CONTROLADOR){ if (type == CONTROLADOR){
viewModel.collectionUpdateState( tickets.forEach {
usuario = user, viewModel.collectionUpdateState(
password = password, usuario = user,
collectionFk = collection.collectionFk, password = password,
state = CHECKED collectionFk = it,
) state = CHECKED
)
}
}else if (type == SACADOR){
tickets.forEach {
viewModel.collectionUpdateState(
usuario = user,
password = password,
collectionFk = it,
state = PREPARED
)
}
} }
} }
private fun setPreparedTicket(){ private fun changeInitTicketState(){
if (type == CONTROLADOR){ if (type == CONTROLADOR){
viewModel.collectionUpdateState( tickets.forEach {
usuario = user, viewModel.collectionUpdateState(
password = password, usuario = user,
collectionFk = collection.collectionFk, password = password,
state = PREPARED collectionFk = it,
) state = ON_CHECKING
)
}
}else if (type == SACADOR){
tickets.forEach {
viewModel.collectionUpdateState(
usuario = user,
password = password,
collectionFk = it,
state = ON_PREPARATION
)
}
} }
} }
//OTROS //OTROS
private fun showScanner(index:Int, sale:SaleVO){ private fun showScanner(index:Int, sale:SaleVO){
customDialogInput.setTitle(""+sale.itemFk).setDescription("Escanea el carro para el item seleccionado").setOkButton("Aceptar"){ customDialogInput.setTitle(""+sale.itemFk).setDescription("Escanea el carro para el item seleccionado").setOkButton("Aceptar"){