diff --git a/.idea/misc.xml b/.idea/misc.xml index 686069a9..c79f8105 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -11,6 +11,7 @@ + @@ -44,6 +45,7 @@ + @@ -60,6 +62,7 @@ + @@ -118,8 +121,10 @@ + + @@ -140,12 +145,13 @@ - + - + - + + @@ -154,7 +160,7 @@ - + @@ -168,14 +174,14 @@ - + - + - + @@ -190,7 +196,7 @@ - + @@ -212,9 +218,9 @@ - + - + @@ -230,7 +236,7 @@ - + diff --git a/app/build.gradle b/app/build.gradle index 8de11e84..b8d262fb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,11 +14,14 @@ android { applicationId "es.verdnatura" minSdkVersion 21 targetSdkVersion 30 - versionCode 112 - versionName "8.2" //versionCode 112 : desmarcar, previa update quantity dels carros, afegir P, etc.., impressores + versionCode 116 + versionName "8.3" //versionCode 116: versionCode 116: cambios finales en return, diseño grafico... + //versionName "8.2" //versionCode 115: icons + //versionName "8.2" //versionCode 114 : TEST DISSENY GRAFIC SOLUCIONAT COLORS + //versionName "8.2" //versionCode 113 : TEST DISSENY GAFIC + //versionName "8.2" //versionCode 112 : desmarcar, previa update quantity dels carros, afegir P, etc.., impressores //versionName "8.1" //versionCode 111 de proves . Instal.lat a Ismael y Juan - //versionName "8.1" //VERSION CODE 110, SOLO A V SE LE DESPLAZA LAS LINEAS EN PANTALLA CONTROLADOR - //versionName "8" //VERSION CODE 109, obligado seleccionar impresora, controlador sube el recyclerViewer, controlador ordenado por picked, mensaje error a collectioNew + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index e94d469f..6c8aaf10 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -11,8 +11,8 @@ "type": "SINGLE", "filters": [], "attributes": [], - "versionCode": 112, - "versionName": "8.2", + "versionCode": 116, + "versionName": "8.3", "outputFile": "app-release.apk" } ], diff --git a/app/release/vn-picking_all.apk b/app/release/vn-picking.apk similarity index 54% rename from app/release/vn-picking_all.apk rename to app/release/vn-picking.apk index 43381ddb..fffefead 100644 Binary files a/app/release/vn-picking_all.apk and b/app/release/vn-picking.apk differ diff --git a/app/src/main/java/es/verdnatura/domain/ApiNodeJsUtils.kt b/app/src/main/java/es/verdnatura/domain/ApiNodeJsUtils.kt index 08c67656..ffb8e55e 100644 --- a/app/src/main/java/es/verdnatura/domain/ApiNodeJsUtils.kt +++ b/app/src/main/java/es/verdnatura/domain/ApiNodeJsUtils.kt @@ -7,7 +7,6 @@ class ApiNodeJsUtils { companion object { //const val BASE_URL:String = "http://192.168.1.108:8000/" const val BASE_URL:String = "https://smart-tag.verdnatura.es" - //const val BASE_URL:String = "http://192.168.1.154:7777" fun getApiService():NodeJsService{ val nodeJsRetrofit = Retrofit.Builder().baseUrl(BASE_URL).addConverterFactory( GsonConverterFactory.create()).build() diff --git a/app/src/main/java/es/verdnatura/domain/ApiUtils.kt b/app/src/main/java/es/verdnatura/domain/ApiUtils.kt index 7584f6d0..ee99a520 100644 --- a/app/src/main/java/es/verdnatura/domain/ApiUtils.kt +++ b/app/src/main/java/es/verdnatura/domain/ApiUtils.kt @@ -12,9 +12,9 @@ import java.util.concurrent.TimeUnit class ApiUtils { companion object { //const val BASE_URL:String = "http://192.168.1.54:8009/" - const val BASE_URL:String = "https://10.1.3.102/" + //const val BASE_URL:String = "https://10.1.3.102/" - //const val BASE_URL: String = "https://app.verdnatura.es/" + const val BASE_URL: String = "https://app.verdnatura.es/" fun getApiService(context: Context): VerdnaturaService { diff --git a/app/src/main/java/es/verdnatura/domain/GetItemCardUserCase.kt b/app/src/main/java/es/verdnatura/domain/GetItemCardUserCase.kt index c3eba5fe..9363b9b5 100644 --- a/app/src/main/java/es/verdnatura/domain/GetItemCardUserCase.kt +++ b/app/src/main/java/es/verdnatura/domain/GetItemCardUserCase.kt @@ -150,7 +150,7 @@ class GetItemCardUserCase(context: Context) : RestClient(context) { itemFk: String, value: String, warehouseFk: String - ): Call { + ): Call { val params: ArrayList = ArrayList() params.add(itemFk) params.add(value) @@ -171,7 +171,7 @@ class GetItemCardUserCase(context: Context) : RestClient(context) { itemFk: String, value: String, warehouseFk: String - ): Call { + ): Call { val params: ArrayList = ArrayList() params.add(itemFk) params.add(value) diff --git a/app/src/main/java/es/verdnatura/domain/GetLoginUserCase.kt b/app/src/main/java/es/verdnatura/domain/GetLoginUserCase.kt index 8b947216..a18826c3 100644 --- a/app/src/main/java/es/verdnatura/domain/GetLoginUserCase.kt +++ b/app/src/main/java/es/verdnatura/domain/GetLoginUserCase.kt @@ -80,7 +80,6 @@ class GetLoginUserCase(context: Context) : RestClient(context) fun sendChekingPresence(token:String,workerId:Int,message:String) : Call{ var working_in_test=false // Enviar a grupo test Android o a los usuarios - if (!working_in_test) { return salixClient!!.sendChekingPresence( diff --git a/app/src/main/java/es/verdnatura/domain/GetSacadorControladorUserCase.kt b/app/src/main/java/es/verdnatura/domain/GetSacadorControladorUserCase.kt index 21dd2ef7..0417e0f6 100644 --- a/app/src/main/java/es/verdnatura/domain/GetSacadorControladorUserCase.kt +++ b/app/src/main/java/es/verdnatura/domain/GetSacadorControladorUserCase.kt @@ -2,6 +2,8 @@ package es.verdnatura.domain import android.content.Context import com.google.gson.JsonObject +import es.verdnatura.presentation.view.feature.collection.SalesModified +import es.verdnatura.presentation.view.feature.collection.SalesModifiedList import es.verdnatura.presentation.view.feature.collection.SalixSaleQuantity import es.verdnatura.presentation.view.feature.login.model.workerId import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO @@ -242,7 +244,7 @@ class GetSacadorControladorUserCase(context: Context) : RestClient(context) { password: String, collectionFk: String, sectorFk: String - ): Call { + ): Call { val params: ArrayList = ArrayList() params.add(collectionFk) params.add(sectorFk) @@ -436,6 +438,23 @@ class GetSacadorControladorUserCase(context: Context) : RestClient(context) { params ) } + fun get_salesModifiedFromTicket( + usuario: String, + password: String, + ticketFk: String + ): Call> { + val params: ArrayList = ArrayList() + params.add(ticketFk) + return restClient!!.get_salesModifiedFromTicket( + "json", + "1", + usuario, + password, + "application/json", + params + ) + } + fun getIdFromCode(usuario: String, password: String, code: String): Call { val params: ArrayList = ArrayList() diff --git a/app/src/main/java/es/verdnatura/domain/VerdnaturaService.kt b/app/src/main/java/es/verdnatura/domain/VerdnaturaService.kt index a346cd55..b3feb20d 100644 --- a/app/src/main/java/es/verdnatura/domain/VerdnaturaService.kt +++ b/app/src/main/java/es/verdnatura/domain/VerdnaturaService.kt @@ -10,6 +10,8 @@ import es.verdnatura.presentation.view.feature.buscaritem.model.ItemLocationVO //import es.verdnatura.presentation.view.feature.buscaritemall.model.ItemLocationAll import es.verdnatura.presentation.view.feature.calidad.model.BuyerVO import es.verdnatura.presentation.view.feature.calidad.model.ItemBuyerVO +import es.verdnatura.presentation.view.feature.collection.SalesModified +import es.verdnatura.presentation.view.feature.collection.SalesModifiedList import es.verdnatura.presentation.view.feature.diadeventa.model.ItemShelvingSaleDate import es.verdnatura.presentation.view.feature.faltas.model.ItemFaltasVO import es.verdnatura.presentation.view.feature.historicoarticulo.model.ItemHistoricoVO @@ -411,7 +413,7 @@ interface VerdnaturaService { @Header("Content-Type") content_type: String, @Body params: List ): - Call + Call @POST("almacennew/ticketCollection_setUsedShelves")//REVISADA fun ticketCollection_setUsedShelves( @@ -525,6 +527,18 @@ interface VerdnaturaService { ): Call + + @POST("almacennew/get_salesModifiedFromTicket")//REVISADA + fun get_salesModifiedFromTicket( + @Header("aplicacion") aplicacion: String, + @Header("version") version: String, + @Header("user") user: String, + @Header("pass") pass: String, + @Header("Content-Type") content_type: String, + @Body params: List + ): + Call> + @POST("almacennew/barcodeToItem")//REVISADA fun getIdFromCode( @Header("aplicacion") aplicacion: String, @@ -701,7 +715,7 @@ interface VerdnaturaService { @Header("Content-Type") content_type: String, @Body params: List ): - Call + Call @POST("almacennew/buy_updatePacking")//REVISADA fun updatePacking( @@ -712,7 +726,7 @@ interface VerdnaturaService { @Header("Content-Type") content_type: String, @Body params: List ): - Call + Call @POST("almacennew/update_ItemPackingType")//REVISADA fun updatePackingType( diff --git a/app/src/main/java/es/verdnatura/presentation/base/BaseFragment.kt b/app/src/main/java/es/verdnatura/presentation/base/BaseFragment.kt index 9038f0ce..2b44ad15 100644 --- a/app/src/main/java/es/verdnatura/presentation/base/BaseFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/base/BaseFragment.kt @@ -18,6 +18,7 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.ImageView import androidx.activity.result.contract.ActivityResultContracts import androidx.annotation.LayoutRes import androidx.databinding.DataBindingUtil @@ -27,6 +28,7 @@ import androidx.preference.PreferenceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import es.verdnatura.R +import es.verdnatura.databinding.ToolbarFragmentBinding import es.verdnatura.domain.ConstAndValues import es.verdnatura.domain.ConstAndValues.SECTORFKDEFAULT import es.verdnatura.domain.toast @@ -229,7 +231,7 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?) //collection R.drawable.ic_print_black_24dp->"Imprime ticket" R.drawable.ic_playlist_add_black_24dp->"Añade ítem" - R.drawable.face_man_outline->"Visualiza la foto del sacador" + R.drawable.ic_worker->"Visualiza la foto del sacador" R.drawable.phone_call->"Realiza llamada al sacador" R.drawable.car->"Permite coger vehículo" R.drawable.car_off->"Permite dejar el vehículo" @@ -495,6 +497,10 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?) permissionLauncher.launch(Manifest.permission.CALL_PHONE) } + + fun hideBackButton(tool: ToolbarFragmentBinding) { + tool.backButton.visibility=View.INVISIBLE + } fun cancelSpeech() { if (mSpeechRecognizer != null) { mSpeechRecognizer!!.destroy() diff --git a/app/src/main/java/es/verdnatura/presentation/base/BaseViewModel.kt b/app/src/main/java/es/verdnatura/presentation/base/BaseViewModel.kt index d0363b15..23f7b927 100644 --- a/app/src/main/java/es/verdnatura/presentation/base/BaseViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/base/BaseViewModel.kt @@ -11,7 +11,11 @@ abstract class BaseViewModel : ViewModel(), LifecycleObserver fun nameofFunction(function: Any): String { // return Thread.currentThread().stackTrace[1].methodName - return function.javaClass.enclosingMethod!!.name + try { + return function.javaClass.enclosingMethod!!.name + } catch (e: Exception){ + return "ActivityMain" + } } fun getMessageFromAllResponse(callFunction: String, ResponseMessage: String): String diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/ajustes/fragment/AjustesFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/ajustes/fragment/AjustesFragment.kt index a18607d7..b2f0ec55 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/ajustes/fragment/AjustesFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/ajustes/fragment/AjustesFragment.kt @@ -7,12 +7,10 @@ import android.content.Context.CLIPBOARD_SERVICE import android.content.SharedPreferences import android.os.Bundle import android.view.View -import androidx.appcompat.app.ActionBar import androidx.appcompat.widget.TooltipCompat.setTooltipText import androidx.recyclerview.widget.LinearLayoutManager import es.verdnatura.R import es.verdnatura.databinding.FragmentAjustesBinding -import es.verdnatura.databinding.ToolbarFragmentBinding import es.verdnatura.domain.notNull import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.common.OnAjustesItemClickListener @@ -21,7 +19,6 @@ import es.verdnatura.presentation.view.feature.ajustes.adapter.AjustesAdapter import es.verdnatura.presentation.view.feature.ajustes.model.AjustesItemVO import es.verdnatura.presentation.view.feature.ajustes.model.Printers import es.verdnatura.presentation.view.feature.ajustes.model.SectorItemVO -import es.verdnatura.presentation.view.feature.main.activity.MainActivity import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO import timber.log.Timber.d @@ -69,7 +66,7 @@ class AjustesFragment : //ma.hideBottomNavigationFragment(View.VISIBLE) binding.mainToolbar.toolbarTitle.text="Configuración" - binding.mainToolbar.backButton.visibility=View.INVISIBLE + hideBackButton(binding.mainToolbar) binding.userText.setText(getData(USER)) diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardFragment.kt index 814a8777..cd87c954 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardFragment.kt @@ -89,6 +89,9 @@ class ItemCardFragment( private fun setToolBar() { + binding.mainToolbar.toolbarIcons.visibility=View.VISIBLE + + val listIcons: ArrayList = ArrayList() val iconReload = ImageView(context) iconReload.setImageResource(R.drawable.ic_autorenew_black_24dp) @@ -180,7 +183,7 @@ class ItemCardFragment( binding.splashProgress.visibility = View.VISIBLE - var working_in_test=false //sergio:No descomentar 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){ viewModel.getItemPackingTypeSalix(getData(TOKEN)) @@ -514,14 +517,14 @@ class ItemCardFragment( // "itemStockUpdate" -> prepareItemStockUpdate(item,value) "itemStockUpdateAdd" -> prepareItemStockUpdate2(item, value) "itemStockUpdateRemove" -> prepareItemStockUpdate2(item, value) - "itemPlacementSave" -> viewModel.itemPlacementSave( + /* "itemPlacementSave" -> viewModel.itemPlacementSave( itemFk = itemFk, warehouseFk = warehouseFk, user = user, password = password, value = value, "itemPlacementSave" - ) + )*/ "updateGrouping" -> viewModel.updateGrouping( itemFk = itemFk, user = user, @@ -776,14 +779,14 @@ class ItemCardFragment( private fun updateItemPackingType(itemPackingType: String) { binding.splashProgress.visibility = View.VISIBLE - var working_in_test=true //sergio: en proves app - if (working_in_test){ + /* var working_in_test=true //sergio: en proves app + if (working_in_test){*/ viewModel.updatePackingTypeSalix( getData(TOKEN), this.itemFk, itemPackingType, "item_updatePackingType" - )}else{ + )/*}else{ viewModel.updatePackingType( this.itemFk, user, @@ -791,7 +794,7 @@ class ItemCardFragment( itemPackingType, "item_updatePackingType" ) - } + }*/ } } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardViewModel.kt index 01d73100..cc22f319 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardViewModel.kt @@ -187,16 +187,16 @@ class ItemCardViewModel(context: Context) : BaseViewModel() { } fun updateGrouping(itemFk:String,user:String,password:String,value:String,warehouseFk: String,callFunction:String){ - getItemCardUserCase.updateGrouping(user,password,itemFk,value,warehouseFk).enqueue(object : Callback{ - override fun onFailure(call: Call, t: Throwable) { + getItemCardUserCase.updateGrouping(user,password,itemFk,value,warehouseFk).enqueue(object : Callback{ + override fun onFailure(call: Call, t: Throwable) { _response.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)) } - override fun onResponse(call: Call, response: Response) { - if (response.body() == null){ + override fun onResponse(call: Call, response: Response) { + if (!response.isSuccessful()){ _response.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())) }else{ - _response.value = ResponseItemVO(isError = false,response = response.body()!!) + _response.value = ResponseItemVO(isError = false,response = "Actualizado grouping") } } @@ -205,16 +205,16 @@ class ItemCardViewModel(context: Context) : BaseViewModel() { } fun updatePacking(itemFk:String,user:String,password:String,value:String,warehouseFk: String,callFunction:String){ - getItemCardUserCase.updatePacking(user,password,itemFk,value,warehouseFk).enqueue(object : Callback{ - override fun onFailure(call: Call, t: Throwable) { + getItemCardUserCase.updatePacking(user,password,itemFk,value,warehouseFk).enqueue(object : Callback{ + override fun onFailure(call: Call, t: Throwable) { _response.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)) } - override fun onResponse(call: Call, response: Response) { - if (response.body() == null){ + override fun onResponse(call: Call, response: Response) { + if (!response.isSuccessful){ _response.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())) }else{ - _response.value = ResponseItemVO(isError = false,response = response.body()!!) + _response.value = ResponseItemVO(isError = false,response = "Actualizado packing") } } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/buscaritem/fragment/BuscarItemFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/buscaritem/fragment/BuscarItemFragment.kt index ab836d37..0c5eb2bf 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/buscaritem/fragment/BuscarItemFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/buscaritem/fragment/BuscarItemFragment.kt @@ -11,41 +11,41 @@ import es.verdnatura.databinding.FragmentBuscarItemBinding import es.verdnatura.domain.notNull import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.common.OnPasillerosItemClickListener -import es.verdnatura.presentation.view.component.CustomDialog import es.verdnatura.presentation.view.feature.buscaritem.adapter.LocationAdapter -import es.verdnatura.presentation.view.feature.main.activity.MainActivity class BuscarItemFragment( - var itemFk:String = "" -) : BaseFragment(BuscarItemViewModel::class) { + var itemFk: String = "" +) : BaseFragment(BuscarItemViewModel::class) { - private var adapter : LocationAdapter? = null + private var adapter: LocationAdapter? = null private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null companion object { - fun newInstance(entryPoint:String) = BuscarItemFragment(entryPoint) + fun newInstance(entryPoint: String) = BuscarItemFragment(entryPoint) } override fun onAttach(context: Context) { if (context is OnPasillerosItemClickListener) pasillerosItemClickListener = context super.onAttach(context) } + override fun getLayoutId(): Int = R.layout.fragment_buscar_item override fun init() { ma.hideBottomNavigation(GONE) binding.mainToolbar.toolbarTitle.text = getString(R.string.getubicaition) + setEvents() - if (!itemFk.isNullOrEmpty()){ + if (!itemFk.isNullOrEmpty()) { getLocations(itemFk) } super.init() } - private fun setEvents(){ + private fun setEvents() { binding.editItemFk.requestFocus() binding.editItemFk.setOnEditorActionListener { v, actionId, event -> if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) { @@ -65,28 +65,30 @@ class BuscarItemFragment( } - private fun getLocations(itemFk:String){ + private fun getLocations(itemFk: String) { this.itemFk = itemFk binding.splashProgress.visibility = View.VISIBLE - viewModel.getLocations(getData(USER),getData(PASSWORD),itemFk,"getItemUbication") + viewModel.getLocations(getData(USER), getData(PASSWORD), itemFk, "getItemUbication") } override fun observeViewModel() { - with(viewModel){ + with(viewModel) { loadLocationList.observe(viewLifecycleOwner, Observer { event -> event.getContentIfNotHandled().notNull { binding.splashProgress.visibility = GONE - adapter = LocationAdapter(it.list,pasillerosItemClickListener!!) + adapter = LocationAdapter(it.list, pasillerosItemClickListener!!) binding.locationRecyclerview.adapter = adapter - binding.locationRecyclerview.layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) + binding.locationRecyclerview.layoutManager = + LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) var totalVisible = 0 it.list.forEach { if (!it.visible.isNullOrEmpty()) totalVisible += it.visible.toInt() } - binding.mainToolbar.toolbarTitle.text = "Item: "+itemFk+ " Total visible: "+totalVisible + binding.mainToolbar.toolbarTitle.text = + "Item: " + itemFk + " Total visible: " + totalVisible } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/CollectionVO.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/CollectionVO.kt index 6d309f74..dc1b3f0e 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/CollectionVO.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/CollectionVO.kt @@ -1,5 +1,7 @@ package es.verdnatura.presentation.view.feature.collection +import es.verdnatura.presentation.view.feature.sacador.model.PlacementSupplyVO + class ItemVO( var id : String = "", var longName : String = "", @@ -12,3 +14,17 @@ class SalixSaleQuantity( var saleId : Int =0, var quantity: Int = 0 ) + +class SalesModified( + var ticketFk:Int=0, + var itemFk:String="", + var concept:String="", + var originalQuantity:Int=0, + var newQuantity:Int=0, + var isError: Boolean=false, + var errorMessage: String="" + +) +class SalesModifiedList( + var list: List = listOf() +) \ No newline at end of file diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/adapter/SaleAdapter.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/adapter/SaleAdapter.kt index 63722bb2..899d1d30 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/adapter/SaleAdapter.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/adapter/SaleAdapter.kt @@ -14,7 +14,6 @@ import androidx.core.content.ContextCompat.getColor import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import es.verdnatura.R -import es.verdnatura.databinding.ItemArticleRowBinding import es.verdnatura.databinding.ItemArticleRowFragmentBinding import es.verdnatura.domain.toast import es.verdnatura.presentation.common.* @@ -35,9 +34,12 @@ class SaleAdapter( override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AjustesItemHolder { this.context = parent.context return AjustesItemHolder( - ItemArticleRowBinding.inflate(LayoutInflater.from(parent.context), parent, false) - //working_in_design - //ItemArticleRowFragmentBinding.inflate(LayoutInflater.from(parent.context), parent, false) + + ItemArticleRowFragmentBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false + ) ) } @@ -49,9 +51,7 @@ class SaleAdapter( } inner class AjustesItemHolder( - //working_in_design - // val binding: ItemArticleRowFragmentBinding - val binding: ItemArticleRowBinding + val binding: ItemArticleRowFragmentBinding ) : RecyclerView.ViewHolder(binding.root) { fun bind(sale: SaleVO) { binding.apply { @@ -125,11 +125,8 @@ class SaleAdapter( } - paintTicketcolor(sale.level, itemTicketColor) - - //working_in_design : modificar llamada cuando no estemos en - //paintTicketcolor(sale.color, itemColor) - + paintTicketcolor(sale.level, itemTicketColor) + paintTicketcolor(sale.color, itemColor) if (!sale.isNew && sale.originalQuantity == sale.quantity) { @@ -260,14 +257,16 @@ class SaleAdapter( } } - private fun paintTicketcolorOld(color:String,itemView:View){ + private fun paintTicketcolorOld(color: String, itemView: View) { when (color.uppercase()) { "ROJO" -> itemView.setBackgroundColor(Color.RED) "AMARILLO" -> itemView.setBackgroundColor(Color.YELLOW) "VERDE" -> itemView.setBackgroundColor(Color.GREEN) "AZUL" -> itemView.setBackgroundColor(Color.BLUE) - "BLANCO" ->{itemView.setBackgroundColor(Color.WHITE) - itemView.setBackgroundResource((R.drawable.border))} + "BLANCO" -> { + itemView.setBackgroundColor(Color.WHITE) + itemView.setBackgroundResource((R.drawable.border)) + } "NEGRO" -> { itemView.setBackgroundColor(Color.BLACK) } @@ -305,7 +304,8 @@ class SaleAdapter( private fun paintTicketcolor(color: String, itemView: View) { - when (color.uppercase()) { + + when (color.uppercase().trim()) { "ROJO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { itemView.background.colorFilter = BlendModeColorFilter(Color.RED, BlendMode.SRC_ATOP) @@ -352,7 +352,9 @@ class SaleAdapter( } "VIOLETA" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { itemView.background.colorFilter = - BlendModeColorFilter(Color.parseColor("0xFF4c2882"), BlendMode.SRC_ATOP) + BlendModeColorFilter(0xFF4c2882.toInt(), BlendMode.SRC_ATOP) + // BlendModeColorFilter(Color.YELLOW, BlendMode.SRC_ATOP) + Log.d("VERDNATURA::", "EL COLOR ES " + color) } else { itemView.background.setColorFilter(0xFF4c2882.toInt(), PorterDuff.Mode.SRC_ATOP) } @@ -365,40 +367,47 @@ class SaleAdapter( } "ORANGE" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { itemView.background.colorFilter = - BlendModeColorFilter(getColor( + BlendModeColorFilter( + getColor( + context!!, + android.R.color.holo_orange_light + ), BlendMode.SRC_ATOP + ) + } else { + itemView.background.setColorFilter( + getColor( context!!, android.R.color.holo_orange_light - ), BlendMode.SRC_ATOP) - } else { - itemView.background.setColorFilter(getColor( - context!!, - android.R.color.holo_orange_light - ), PorterDuff.Mode.SRC_ATOP) + ), PorterDuff.Mode.SRC_ATOP + ) } "MORADO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { itemView.background.colorFilter = - BlendModeColorFilter(getColor( + BlendModeColorFilter( + getColor( + context!!, + android.R.color.holo_purple + ), BlendMode.SRC_ATOP + ) + } else { + itemView.background.setColorFilter( + getColor( context!!, android.R.color.holo_purple - ), BlendMode.SRC_ATOP) - } else { - itemView.background.setColorFilter(getColor( - context!!, - android.R.color.holo_purple - ), PorterDuff.Mode.SRC_ATOP) - } + ), PorterDuff.Mode.SRC_ATOP + ) + } "CELESTE" -> itemView.setBackgroundColor(0xFF5b85F5.toInt()) - "ROSA" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { itemView.background.colorFilter = BlendModeColorFilter(0xFFfc0fc0.toInt(), BlendMode.SRC_ATOP) } else { itemView.background.setColorFilter( - 0xFFfc0fc0.toInt(), + 0xFFfc0fc0.toInt(), PorterDuff.Mode.SRC_ATOP ) } @@ -412,7 +421,7 @@ class SaleAdapter( PorterDuff.Mode.SRC_ATOP ) } - "MARRON" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + "MARRON" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { itemView.background.colorFilter = BlendModeColorFilter(0xFF663300.toInt(), BlendMode.SRC_ATOP) } else { @@ -421,7 +430,7 @@ class SaleAdapter( PorterDuff.Mode.SRC_ATOP ) } - "PERLA" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + "PERLA" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { itemView.background.colorFilter = BlendModeColorFilter(0xFFcdcecf.toInt(), BlendMode.SRC_ATOP) } else { @@ -459,8 +468,9 @@ class SaleAdapter( } else -> { - itemView.visibility=View.INVISIBLE - + // itemView.setBackgroundColor(Color.TRANSPARENT) + //itemView.setBackgroundResource(R.drawable.background_item_color) + // itemView.visibility=View.INVISIBLE } } // itemTicketColor.setBackgroundResource((R.drawable.rectangle)) diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt index 771cbf7e..8e637b74 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt @@ -15,7 +15,6 @@ import android.view.View.* import android.view.inputmethod.EditorInfo import android.view.inputmethod.InputMethodManager import android.widget.ImageView -import android.widget.RelativeLayout.TRUE import android.widget.Toast import androidx.lifecycle.Observer import androidx.recyclerview.widget.LinearLayoutManager @@ -36,6 +35,7 @@ import es.verdnatura.presentation.view.component.CustomDialogThreeButtons import es.verdnatura.presentation.view.feature.articulo.adapter.BarcodeAdapter import es.verdnatura.presentation.view.feature.articulo.model.BarcodeVO import es.verdnatura.presentation.view.feature.collection.ItemVO +import es.verdnatura.presentation.view.feature.collection.SalesModified import es.verdnatura.presentation.view.feature.collection.adapter.SaleAdapter import es.verdnatura.presentation.view.feature.main.activity.MainActivity import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO @@ -127,6 +127,7 @@ class CollectionFragment( } if (collection.tickets.isEmpty()) { + viewModel.collectionTicketGet( getData(USER), getData(PASSWORD), @@ -137,7 +138,8 @@ class CollectionFragment( ) } - + //sergio:falta subir + // get_salesModifiedFromTicket() super.onCreate(savedInstanceState) } @@ -176,7 +178,10 @@ class CollectionFragment( } private fun setToolBar() { - binding.mainToolbar.toolbarSubtitle.visibility = View.VISIBLE + binding.mainToolbar.toolbarSubtitle.visibility = VISIBLE + binding.mainToolbar.toolbarIcons.visibility=VISIBLE + binding.mainToolbar.backButton.visibility=VISIBLE + if (!collection.collectionFk.isNullOrEmpty()) { binding.mainToolbar.toolbarTitle.text = collection.collectionFk } @@ -187,8 +192,8 @@ class CollectionFragment( iconPrint.setImageResource(R.drawable.ic_print_black_24dp) val iconAdd = ImageView(context) iconAdd.setImageResource(R.drawable.ic_playlist_add_black_24dp) - val iconFace = ImageView(context) - iconFace.setImageResource(R.drawable.face_man_outline) + val iconWorker = ImageView(context) + iconWorker.setImageResource(R.drawable.ic_worker) val iconPhone = ImageView(context) iconPhone.setImageResource(R.drawable.phone_call) val iconParking = ImageView(context) @@ -198,7 +203,7 @@ class CollectionFragment( iconPrint.tooltipText = getTooltip(R.drawable.ic_print_black_24dp) iconAdd.tooltipText = getTooltip(R.drawable.ic_playlist_add_black_24dp) - iconFace.tooltipText = getTooltip(R.drawable.face_man_outline) + iconWorker.tooltipText = getTooltip(R.drawable.ic_worker) iconPhone.tooltipText = getTooltip(R.drawable.phone_call) iconParking.tooltipText = getTooltip(R.drawable.ic_local_parking_black_24dp) } @@ -209,7 +214,7 @@ class CollectionFragment( } - listIcons.add(iconFace) + listIcons.add(iconWorker) listIcons.add(iconPrint) listIcons.add(iconAdd) if (type.equals(PRECHECKER)) { @@ -225,7 +230,7 @@ class CollectionFragment( when (item) { iconPrint.drawable -> print() iconAdd.drawable -> addItem() - iconFace.drawable -> showUser() + iconWorker.drawable -> showUser() iconPhone.drawable -> getExtensionFromUser() iconParking.drawable->pasillerosItemClickListener?.onPasillerosItemClickListener( PasillerosItemVO( @@ -245,16 +250,16 @@ class CollectionFragment( binding.splashProgress.visibility = VISIBLE - var working_in_test = true // sergio: en proves app + /* var working_in_test = true // sergio: en proves app - if (working_in_test) { + if (working_in_test) {*/ viewModel.sip_getExtensionSalix(getData(TOKEN), workerFkFromTicket, "sip_getExtension") - } else { + /* } else { viewModel.sip_getExtension( getData(USER), getData(PASSWORD), workerFkFromTicket, "sip_getExtension" ) - } + }*/ } @@ -382,6 +387,38 @@ class CollectionFragment( } }) + responsePrint.observe(viewLifecycleOwner, Observer { + binding.splashProgress.visibility = GONE + + if (!goBack) { + + if (it.isError){ + ma.messageWithSound( + it.errorMessage, + it.isError, true + ) + } + } + + }) + + salesModifiedList.observe(viewLifecycleOwner, Observer { + binding.splashProgress.visibility = GONE + + if (!goBack) { + if (it.list.get(0).isError){ + ma.messageWithSound((it.list.get(0).errorMessage),true,true,"Error",true) + + }else{ + + sendRocketWithSalesModified(it.list) + + } + + } + goBack=false + }) + responseItem_updatePackingShelve.observe(viewLifecycleOwner, Observer { binding.splashProgress.visibility = GONE ma.messageWithSound( @@ -693,6 +730,26 @@ class CollectionFragment( } + private fun sendRocketWithSalesModified(list: List) { + + + var message="" + + for (sales in list){ + message=message+"Se ha modificado la cantidad original del artículo ${sales.itemFk} de ${sales.originalQuantity} a ${sales.newQuantity} del ticket ${sales.ticketFk}" + message=message+"\r\n" + + } + Log.d("VERDNATURA::","Persona a enviar "+collection.tickets.get(0).salesPersonFk) + Log.d("VERDNATURA::","El message a enviar "+message) + viewModel.sendChekingPresence( + token = getData(TOKEN), + workerId = collection.tickets.get(0).salesPersonFk, + message = message, "sendChekingPresence" + ) + + } + private fun callPicker(extensionNumber: String) { @@ -766,12 +823,19 @@ class CollectionFragment( salesList.add(saleVO) if (tickets.firstOrNull { it == saleVO.ticketFk }.isNullOrEmpty()) tickets.add(saleVO.ticketFk) + //Refactor #4030// } else if (type == CONTROLADOR || type == PRECHECKER) { - //sergio el type CHECKED =CONTROLADOR salesList.add(saleVO) if (tickets.firstOrNull { it == saleVO.ticketFk }.isNullOrEmpty()) tickets.add(saleVO.ticketFk) - } + }//Refactor #4030// + /*else if (type==PRECHECKER){ + if (saleVO.saleGroupFk!=""){ + salesList.add(saleVO) + if (tickets.firstOrNull { it == saleVO.ticketFk }.isNullOrEmpty()) + tickets.add(saleVO.ticketFk) + } + }*/ } observations = observations + " " + ticket.observations @@ -815,7 +879,7 @@ class CollectionFragment( if (type == CONTROLADOR || type == PRECHECKER) {// sergio:cuidado , esta es de lo último para marcar colores markLine(index, type) - //////Log.i("VERDNATURA:","marcamos linea") + /// Log.i("VERDNATURA:","marcamos linea") } else if (type == SACADOR) { if (sale.isPrepared == "0" || sale.isPrepared.isNullOrEmpty()) { @@ -1118,7 +1182,8 @@ class CollectionFragment( if (sales[position].isPrepared == "1") { sales[position].pickedQuantity = sales[position].quantity } - } else if (type == CONTROLADOR) + + } else if (type == CONTROLADOR ) sales[position].isControlled = if (sales[position].isControlled == "1") "0" else "1" if (type == PRECHECKER) { @@ -1300,19 +1365,19 @@ class CollectionFragment( if (binding.splashProgress != null) binding.splashProgress.visibility = View.VISIBLE - var working_in_test = true // sergio: en proves app - if (working_in_test) { + /* var working_in_test = true // sergio: en proves app + if (working_in_test) {*/ viewModel.getIdFromCodeSalix( token = getData(USER), code = customDialogList.getValueTwo(), ) - } else { + /* } else { viewModel.getIdFromCode( usuario = getData(USER), password = getData(PASSWORD), code = customDialogList.getValueTwo(), "barcodeToItem" ) - } + }*/ customDialogList.dismiss() } @@ -1380,20 +1445,20 @@ class CollectionFragment( itemShelvingFkStored = itemShelvingFk binding.splashProgress.visibility = View.VISIBLE - var working_in_test = true //sergio: en proves app - if (working_in_test) { + /* var working_in_test = true //sergio: en proves app + if (working_in_test) {*/ viewModel.getIdFromCodeSalix( getData(TOKEN), code = customDialogList.getValueTwo() ) - +/* } else { viewModel.getIdFromCode( getData(USER), getData(PASSWORD), code = customDialogList.getValueTwo(), "barcodeToItem" ) - } + }*/ customDialogList.dismiss() scanRequest() } @@ -1768,9 +1833,13 @@ class CollectionFragment( if (it.isControlled == "1" || it.isControlled == "2") totalMark += 1 - } + }/*//Refactor #4030 + else if(type==PRECHECKER){//Refactor #4030 + if (it.isPreControlled == "1"){totalMark += 1} + + }*/ } - //toolbar_title.text = "" + totalMark + "/" + sales.size + if (binding.mainToolbar.toolbarTitle != null) binding.mainToolbar.toolbarTitle.text = if (collection.collectionFk != null) collection.collectionFk else "" if (binding.mainToolbar.toolbarSubtitle != null && totalMark != null && sales != null) binding.mainToolbar.toolbarSubtitle.text = @@ -1782,10 +1851,22 @@ class CollectionFragment( ticketCollection_setUsedShelves() goBack = false - //showBottomNavigation(View.VISIBLE) - //sergio: se quita porque se realiza desde triggers - changeTicketState() + //get_salesModifiedFromTicket() + + } + } + + private fun get_salesModifiedFromTicket(){ + + if (type == CONTROLADOR) { + + viewModel.get_salesModifiedFromTicket( + usuario = getData(USER), + password = getData(PASSWORD), + ticketFk = collection.collectionFk + ) + } } @@ -2279,23 +2360,23 @@ class CollectionFragment( positionIncreaseQuantity = position quantityIncrease = quantity - var working_in_test = true // sergio: en proves app + /* var working_in_test = true // sergio: en proves app if (!working_in_test) { - viewModel.collectionIncreaseQuantity( - getData(USER), - getData(PASSWORD), - saleFk = sales[position].saleFk, - quantity = quantity, "collection_increaseQuantity" - ) + viewModel.collectionIncreaseQuantity( + getData(USER), + getData(PASSWORD), + saleFk = sales[position].saleFk, + quantity = quantity, "collection_increaseQuantity" + ) - } else { + } else {*/ viewModel.collectionIncreaseQuantitySalix( getData(TOKEN), saleFk = sales[position].saleFk, quantity = quantity, "collection_increaseQuantity" ) - } + /* }*/ } @@ -2322,8 +2403,19 @@ class CollectionFragment( callFunction = "ticket_setState" ) } +////Refactor #4030 + }/*else if (type==PRECHECKER){ + tickets.forEach { + viewModel.ticket_setState( + usuario = getData(USER), + password = getData(PASSWORD), + ticketFk = it, + state = "PREVIOUS_CONTROLLED", + callFunction = "ticket_setState" + ) } + }*/ } /* private fun changeInitTicketState() { diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt index 4c10bc7a..dcec13f8 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt @@ -11,6 +11,8 @@ import es.verdnatura.domain.GetUbicadorUserCase import es.verdnatura.presentation.base.* import es.verdnatura.presentation.common.ResponseItemVO import es.verdnatura.presentation.view.feature.collection.ItemVO +import es.verdnatura.presentation.view.feature.collection.SalesModified +import es.verdnatura.presentation.view.feature.collection.SalesModifiedList import es.verdnatura.presentation.view.feature.collection.mapper.map import es.verdnatura.presentation.view.feature.sacador.model.* import org.json.JSONObject @@ -36,10 +38,20 @@ class CollectionViewModel(context: Context) : BaseViewModel() val placementSuppleyList: LiveData get() = _placementSuppleyList + private val _salesModifiedList by lazy { MutableLiveData() } + val salesModifiedList: LiveData + get() = _salesModifiedList + + private val _response by lazy { MutableLiveData() } val response: LiveData get() = _response + private val _responsePrint by lazy { MutableLiveData() } + val responsePrint: LiveData + get() = _responsePrint + + private val _responseDel by lazy { MutableLiveData() } val responseDel: LiveData get() = _responseDel @@ -292,24 +304,24 @@ class CollectionViewModel(context: Context) : BaseViewModel() password, collectionFk, sectorFk - ).enqueue(object : Callback + ).enqueue(object : Callback { - override fun onFailure(call: Call, t: Throwable) + override fun onFailure(call: Call, t: Throwable) { - _response.value = ResponseItemVO(isError = true, errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)) + _responsePrint.value = ResponseItemVO(isError = true, errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)) } - override fun onResponse(call: Call, response: Response) + override fun onResponse(call: Call, response: Response) { - if (response.body() == null) + if (!response.isSuccessful) { - _response.value = ResponseItemVO( + _responsePrint.value = ResponseItemVO( isError = true, errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()) ) } else { - _response.value = ResponseItemVO(isError = false, response = response.body()!!) + _responsePrint.value = ResponseItemVO(isError = false, response = response.message()) } } }) @@ -422,35 +434,6 @@ class CollectionViewModel(context: Context) : BaseViewModel() }) } - /* fun itemGetAvailable(usuario: String, password: String, itemFk: String, warehouseFk: String,callFunction:String) - { - getSacadorControladorUserCase.itemGetAvailable(usuario, password, itemFk, warehouseFk) - .enqueue(object : Callback - { - override fun onFailure(call: Call, t: Throwable) - { - _item.value = ItemVO( - isError = true, - errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!) - ) - } - - override fun onResponse(call: Call, response: Response) - { - if (response.body() == null) - { - _item.value = ItemVO( - isError = true, - errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()) - ) - } else - { - _item.value = response.body() - } - } - }) - }*/ - fun collectionAddItem( usuario: String, password: String, @@ -715,6 +698,65 @@ class CollectionViewModel(context: Context) : BaseViewModel() }) } + fun get_salesModifiedFromTicket( + usuario: String, + password: String, + ticketFk: String, + ) + { + getSacadorControladorUserCase.get_salesModifiedFromTicket(usuario, password, ticketFk) + .enqueue(object : Callback> + { + + override fun onResponse(call: Call>, response: Response>) + { + + if (response.body() != null) + { + _salesModifiedList.value = response.body()?.let { SalesModifiedList(it) } + } else + { + val listError: ArrayList = ArrayList() + listError.add( + SalesModified( + isError = true, + errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()) + ) + ) + _salesModifiedList.value = SalesModifiedList(listError) + } + + + /* if (!response.isSuccessful) + { + _response.value = ResponseItemVO( + isError = true, + errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()) + ) + } else + { + _response.value = + ResponseItemVO(isError = false, response = "Obtenidos registros") + }*/ + } + + override fun onFailure(call: Call>, t: Throwable) { + + val listError: ArrayList = ArrayList() + listError.add( + SalesModified( + isError = true, + errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!) + ) + ) + _salesModifiedList.value = SalesModifiedList(listError) + + } + }) + } + + + fun getIdFromCode(usuario: String, password: String, code: String,callFunction:String) { getSacadorControladorUserCase.getIdFromCode(usuario, password, code) diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/login/fragment/LoginFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/login/fragment/LoginFragment.kt index 6e1decac..a7a581c4 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/login/fragment/LoginFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/login/fragment/LoginFragment.kt @@ -130,7 +130,9 @@ class LoginFragment : BaseFragment(LoginVi ) { val openURL = Intent(Intent.ACTION_VIEW) openURL.data = - Uri.parse("https://app.verdnatura.es/bin/vn-picking.apk") + // sergio REdmine Tarea #3730 + Uri.parse("https://app.verdnatura.es/bin/vn-picking.apk") + // Uri.parse(it.url) startActivity(openURL) } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/login/fragment/LoginViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/login/fragment/LoginViewModel.kt index b4340f6f..9cb6c365 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/login/fragment/LoginViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/login/fragment/LoginViewModel.kt @@ -290,6 +290,7 @@ class LoginViewModel(context: Context) : BaseViewModel() it.appname, it.version, it.IsVersionCritical, + //it.url, isError = false, errorMessage = "" ) diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/login/model/LoginItemVO.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/login/model/LoginItemVO.kt index 87fb336b..84dfc43f 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/login/model/LoginItemVO.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/login/model/LoginItemVO.kt @@ -8,6 +8,8 @@ package es.verdnatura.presentation.view.feature.login.model var errorMessage: String = "" )*/ +private val s = "" + class LoginSalixVO( val user: String = "", val password: String = "", @@ -35,6 +37,7 @@ class versionApp( val appname: String = "", val version: String = "", var IsVersionCritical: Int = 0, + // var url: String="", var isError: Boolean = false, var errorMessage: String = "" ) diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/main/activity/MainActivity.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/main/activity/MainActivity.kt index 940facc8..6a805e71 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/main/activity/MainActivity.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/main/activity/MainActivity.kt @@ -1,16 +1,16 @@ package es.verdnatura.presentation.view.feature.main.activity -//import kotlinx.android.synthetic.main.activity_main.* + import android.content.SharedPreferences import android.media.MediaPlayer import android.util.Log.d import android.view.Menu import android.widget.Toast import androidx.core.content.ContextCompat +import androidx.databinding.ktx.BuildConfig import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import com.google.android.material.bottomnavigation.LabelVisibilityMode.LABEL_VISIBILITY_UNLABELED -import es.verdnatura.BuildConfig import es.verdnatura.R import es.verdnatura.databinding.ActivityMainBinding import es.verdnatura.domain.ConstAndValues.MAINACTIVITY @@ -88,22 +88,14 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL customDialog = CustomDialogMainActivity(this) - // working_in_design = para nuevo diseño app - SetisWorkingInDesign(false) - - - if (isWorkingInDesign()) { - setBottomMenuFragment() - } else { - setBottomMenu() - } + // working_in_design = para nuevo diseño y test de app + //SetisWorkingInDesign(true) + setBottomMenuFragment() if (haveSector() && havePrinter()) addFragment( - /* working_in_design nuevo diseño*/ - // PasilleroFragment.newInstance("Verdnatura_design",true), - PasilleroFragment.newInstance("Verdnatura", false), + PasilleroFragment.newInstance("Main",true), R.id.main_frame_layout, PasilleroFragment.TAG, false @@ -156,185 +148,6 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL } - private fun setBottomMenu() { - val bottomMenu = binding.mainBottomNavigation - bottomMenu.itemIconTintList = null - GlobalScope.launch(Dispatchers.Main) { - val bottomMenuItems: ArrayList = ArrayList() - - bottomMenuItems.add( - ItemMenuVO( - 0, - title = getString(R.string.Pasilleros), - defaultImage = ContextCompat.getDrawable( - applicationContext, R.drawable.ic_device_hub_black_24dp - ), - selectedImage = ContextCompat.getDrawable( - applicationContext, R.drawable.ic_device_hub_black_24dp_selected - ) - ) - ) - - bottomMenuItems.add( - ItemMenuVO( - 1, - title = getString(R.string.Sacadores), - defaultImage = ContextCompat.getDrawable( - applicationContext, R.drawable.ic_local_florist_black_24dp - ), - selectedImage = ContextCompat.getDrawable( - applicationContext, R.drawable.ic_local_florist_black_24dp_selected - ) - ) - ) - - bottomMenuItems.add( - ItemMenuVO( - 2, - title = getString(R.string.Controladores), - defaultImage = ContextCompat.getDrawable( - applicationContext, R.drawable.ic_verified_user_black_24dp - ), - selectedImage = ContextCompat.getDrawable( - applicationContext, R.drawable.ic_verified_user_black_24dp_selected - ) - ) - ) - - bottomMenuItems.add( - ItemMenuVO( - 3, - title = getString(R.string.Paletizadores), - defaultImage = ContextCompat.getDrawable( - applicationContext, R.drawable.pallet_shipping_black - ), - selectedImage = ContextCompat.getDrawable( - applicationContext, R.drawable.pallet_shipping_selected - ) - ) - ) - - - bottomMenuItems.add( - ItemMenuVO( - 4, - title = getString(R.string.Ajustes), - defaultImage = ContextCompat.getDrawable( - applicationContext, R.drawable.ic_build_black_24dp - ), - selectedImage = ContextCompat.getDrawable( - applicationContext, R.drawable.ic_build_black_24dp_selected - ) - ) - ) - - // Add al items to menu view - bottomMenuItems.forEach { - bottomMenu.menu.add(Menu.NONE, it.id, Menu.NONE, it.title).icon = it.defaultImage - } - - - if (haveSector()) { - // Select first item by default - firstItem = bottomMenuItems.first() - bottomMenu.selectedItemId = firstItem!!.id - bottomMenu.menu.findItem(firstItem!!.id).icon = firstItem!!.selectedImage - lastBottomMenuItemSelected = firstItem - } else { - // Select last item by default - val lastItem = bottomMenuItems.last() - bottomMenu.selectedItemId = lastItem.id - bottomMenu.menu.findItem(lastItem.id).icon = lastItem.selectedImage - lastBottomMenuItemSelected = lastItem - } - - - bottomMenu.setOnNavigationItemSelectedListener { menuItem -> - // Get selected item from itemList and apply ui changes to menu view - val selectedItemMenu = bottomMenuItems.find { menuItem.itemId == it.id } - menuItem.icon = selectedItemMenu?.selectedImage - - // Get last selected item and disable it - bottomMenu.menu.findItem(lastBottomMenuItemSelected?.id!!).icon = - lastBottomMenuItemSelected?.defaultImage - lastBottomMenuItemSelected = selectedItemMenu - - - when (selectedItemMenu?.title) { - getString(R.string.Pasilleros) -> { - fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) - delete_Fragments() - addFragment( - PasilleroFragment.newInstance("Verdnatura", isInitMenu = false), - R.id.main_frame_layout, - PasilleroFragment.TAG, - false - ) - //true - } - getString(R.string.Sacadores) -> { - fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) - delete_Fragments() - // addFragment(SacadorFragment.newInstance(),R.id.main_frame_layout, SacadorFragment.TAG,false) - addFragment( - ControlVehiculoFragment.newInstance(MAINACTIVITY), - R.id.main_frame_layout, - MAINACTIVITY.TAG, - false - ) - //true - } - getString(R.string.Controladores) -> { - fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) - delete_Fragments() - addFragment( - ControladorFragment.newInstance(), - R.id.main_frame_layout, - ControladorFragment.TAG, - false - ) - /* addFragment( - CollectionFragment.newInstance(type = "CHECKER", collection = CollectionVO()), - R.id.main_frame_layout, - ControladorFragment.TAG, - false)*/ - // true - } - getString(R.string.Paletizadores) -> { - fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) - delete_Fragments() - //addFragment(ExpeditionTruckListFragment.newInstance(),R.id.main_frame_layout, ExpeditionTruckListFragment.TAG,false) - addFragment( - PasilleroFragment.newInstance("Paletizadores", isInitMenu = false), - R.id.main_frame_layout, - PasilleroFragment.TAG, - false - ) - - // true - } - getString(R.string.Ajustes) -> { - fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) - delete_Fragments() - addFragment( - AjustesFragment.newInstance(), - R.id.main_frame_layout, - AjustesFragment.TAG, - false - ) - } - - //else -> false - } - - true - } - bottomMenu.setOnNavigationItemReselectedListener { - - } - } - } - fun setBottomMenuFragment() { val bottomMenu = binding.mainBottomNavigation //iconos abajo sin texto @@ -436,29 +249,19 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) delete_Fragments() addFragment( - PasilleroFragment.newInstance("Verdnatura_design", true), + PasilleroFragment.newInstance("Main", true), R.id.main_frame_layout, PasilleroFragment.TAG, false ) } - getString(R.string.Sacadores) -> { - fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) - delete_Fragments() - addFragment( - ControlVehiculoFragment.newInstance(MAINACTIVITY), - R.id.main_frame_layout, - MAINACTIVITY.TAG, - false - ) - } getString(R.string.verticket) -> { - fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) - delete_Fragments() + fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) + delete_Fragments() addFragment( - ShowTicketFragment.newInstance(), + ShowTicketFragment.newInstance("main"), R.id.main_frame_layout, MAINACTIVITY.TAG, false @@ -469,7 +272,7 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) delete_Fragments() addFragment( - ParkingFragment.newInstance(), + ParkingFragment.newInstance("main"), R.id.main_frame_layout, MAINACTIVITY.TAG, false @@ -493,15 +296,16 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL true } - /* working_in_design: para cuando son seleccionados de nuevo */ + /* sergio: de esta manera no repinta el icono del menu seleccionado */ + bottomMenu.setOnNavigationItemReselectedListener { + + when (it.title){ - /*bottomMenu.setOnNavigationItemReselectedListener { - when (it.title){ getString(R.string.Pasilleros) -> { fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) delete_Fragments() addFragment( - PasilleroFragment.newInstance("Verdnatura_design",true), + PasilleroFragment.newInstance("Main",true), R.id.main_frame_layout, PasilleroFragment.TAG, false @@ -510,14 +314,13 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL } } - }*/ + } } } private fun delete_Fragments() { fm.getFragments().forEach { - ///Log.i("VERDNATURA:", "si esta ${it.tag.toString()}") var fragment: Fragment? = supportFragmentManager.findFragmentByTag(it.tag.toString()) if (fragment != null) supportFragmentManager .beginTransaction().remove(fragment) @@ -544,39 +347,22 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL } getString(R.string.Paletizadores) -> { - fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) - // delete_Fragments() - //addFragment(ExpeditionTruckListFragment.newInstance(),R.id.main_frame_layout, ExpeditionTruckListFragment.TAG,false) - addFragment( - PasilleroFragment.newInstance( - getString(R.string.Paletizadores), - isInitMenu = false - ), - R.id.main_frame_layout, - PasilleroFragment.TAG, - false - ) + + addFragmentOnTop(PasilleroFragment.newInstance(getString(R.string.Paletizadores), + isInitMenu = false)) + + } getString(R.string.Controladores) -> { - fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) - delete_Fragments() - addFragment( - ControladorFragment.newInstance(), - R.id.main_frame_layout, - ControladorFragment.TAG, - false - ) + addFragmentOnTop(ControladorFragment.newInstance()) + + } getString(R.string.Pasilleros) -> { - fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) - delete_Fragments() - addFragment( - PasilleroFragment.newInstance("Verdnatura", isInitMenu = false), - R.id.main_frame_layout, - PasilleroFragment.TAG, - false + addFragmentOnTop(PasilleroFragment.newInstance("Pasilleros", isInitMenu = false), ) + } getString(R.string.ExpeditionState) -> { @@ -595,6 +381,15 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL ) ) } + "Reclamaciones"->{ + addFragmentOnTop( + PasilleroFragment.newInstance( + "Reclamaciones", + isInitMenu = false + ) + ) + + } "Control de usuario de vehículo" -> { addFragmentOnTop(ControlVehiculoUsuarioFragment.newInstance(entryPoint)) @@ -609,7 +404,7 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL "Ver Ticket" -> { - addFragmentOnTop(ShowTicketFragment.newInstance()) + addFragmentOnTop(ShowTicketFragment.newInstance("main")) } "Historial del vehículo" -> { addFragmentOnTop(ControlVehiculoFragment.newInstance(HistoricoVehiculoFragment.TAG)) @@ -628,7 +423,7 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL } "Parking" -> { - addFragmentOnTop(ParkingFragment.newInstance()) + addFragmentOnTop(ParkingFragment.newInstance("")) } @@ -741,17 +536,18 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL fm.popBackStackImmediate() - } else { - customDialog.setTitle("Cerrar sesión") - .setDescription("¿Estás seguro de cerrar la sesión?").setOkButton("Salir") { - customDialog.dismiss() - finish() - - }.setKoButton("Cancelar") { - customDialog.dismiss() - }.show() } + else { + customDialog.setTitle("Cerrar sesión") + .setDescription("¿Estás seguro de cerrar la sesión?").setOkButton("Salir") { + customDialog.dismiss() + finish() + }.setKoButton("Cancelar") { + customDialog.dismiss() + }.show() + + } } override fun onTruckClickListener(item: ItemExpeditionTruckVO, entryPoint: String) { @@ -785,8 +581,7 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL when (type) { PREITEMPICKER -> { - // d("VERDNATURA::"," entrando en preitempicker") - // d("VERDNATURA::"," entrando en preitempicker, la colecc es "+collection.collectionFk) + addFragmentOnTop(EndSacadorFragment.newInstance(collection, type)) } "SHOWTICKET" -> { @@ -797,16 +592,7 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL addFragmentOnTop(CollectionFragment.newInstance(collection, type)) } } - /*if (type.equals(PREITEMPICKER)){ - d("VERDNATURA::"," entrando en preitempicker") - addFragmentOnTop(PreSacadorFragment.newInstance(collection,type)) - } - if (type.equals("SHOWTICKET")) { - addFragmentOnTop(CollectionShowTicketFragment.newInstance(collection, type)) - } else { - addFragmentOnTop(CollectionFragment.newInstance(collection, type)) - }*/ } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/ExpeditionTruckListFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/ExpeditionTruckListFragment.kt index 73f2a6cd..e61f0a7c 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/ExpeditionTruckListFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/ExpeditionTruckListFragment.kt @@ -47,7 +47,7 @@ class ExpeditionTruckListFragment : BaseFragment(ParkingViewModel::class) { +class ParkingFragment (var menuOrigin:String): BaseFragment(ParkingViewModel::class) { // private lateinit var customDialog: CustomDialog private var scanerList:ArrayList = ArrayList() @@ -28,18 +29,20 @@ class ParkingFragment : BaseFragment(Pa override fun getLayoutId(): Int = R.layout.fragment_parking companion object { - fun newInstance() = ParkingFragment() + fun newInstance(menuOrigin: String) = ParkingFragment(menuOrigin = menuOrigin) } override fun init() { setEvents() binding.mainToolbar.toolbarTitle.text = getString(R.string.Parking) + + if (menuOrigin =="main"){hideBackButton(binding.mainToolbar)} //sergio: después de las últimas actualizaciones se queda activo. Se cambia opción visibilidad. //viewModel.hideProgressLoading() binding.splashProgress.visibility=View.GONE setList() - //customDialog = CustomDialog(requireContext()) + super.init() } @@ -73,6 +76,7 @@ class ParkingFragment : BaseFragment(Pa customDialog.dismiss() }.show()*/ }else{ + ma.messageWithSound(message="Parking ok", isError = false,isPlayed = false, isToasted = true) numParking -= 1 if (numParking <= 0) { // binding.splashProgress.visibility = View.GONE diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/parkingSale/fragment/ParkingSaleFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/parkingSale/fragment/ParkingSaleFragment.kt index 7974a034..b836745d 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/parkingSale/fragment/ParkingSaleFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/parkingSale/fragment/ParkingSaleFragment.kt @@ -29,7 +29,7 @@ class ParkingSaleFragment : BaseFragment, response: Response) { ProgressLoading(GONE) - if (response.body() == null){ + if (!response.isSuccessful){ _response.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())) }else{ - if (response.body() == "Finish") - _response.value = ResponseItemVO(isError = false,response = response.body()!!) - else - _response.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())) + _response.value = ResponseItemVO(isError = false,response = "Parking ok") } } }) diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/adapter/PasillerosAdapter.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/adapter/PasillerosAdapter.kt index 7b5ee2f8..8e7fe5f7 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/adapter/PasillerosAdapter.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/adapter/PasillerosAdapter.kt @@ -42,24 +42,6 @@ class PasillerosAdapter ( PasillerosItemHolder(binding as ItemPasillerosMainMenuBinding) } - /* return if (!isMenuInit){ - PasillerosItemHolder( - //sergio working_in_design : modificar vista - - //ItemPasillerosMainMenuBinding.inflate(LayoutInflater.from(parent.context),parent,false) - ItemPasillerosMainMenuBinding.inflate(LayoutInflater.from(parent.context),parent,false) - - ) - }else{ - PasillerosItemHolder( - //sergio working_in_design : modificar vista - // ItemMainMenuBinding.inflate(LayoutInflater.from(parent.context),parent,false) - ItemMainMenuBinding.inflate(LayoutInflater.from(parent.context),parent,false) - ) - }*/ - - - } override fun getItemViewType(position: Int): Int { @@ -84,11 +66,7 @@ class PasillerosAdapter ( inner class PasillerosItemHolder( - //sergio working_in_design : modificar vista - //val binding: ItemMainMenuBinding val binding: ViewDataBinding - //val binding_: ItemPasillerosMainMenuBinding - ) : RecyclerView.ViewHolder(binding.root){ diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroFragment.kt index 5ecfb628..7f143a2c 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroFragment.kt @@ -3,12 +3,8 @@ package es.verdnatura.presentation.view.feature.pasillero.fragment import android.content.Context import android.os.Bundle import android.view.View -import android.widget.LinearLayout.VERTICAL -import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.LinearLayoutManager.HORIZONTAL -import androidx.recyclerview.widget.RecyclerView -import androidx.recyclerview.widget.RecyclerView.HORIZONTAL import es.verdnatura.R import es.verdnatura.databinding.FragmentPasilleroBinding import es.verdnatura.presentation.base.BaseFragment @@ -38,57 +34,28 @@ class PasilleroFragment( override fun init() { ma.hideBottomNavigation(View.VISIBLE) - - - if (!ma.isWorkingInDesign()) { - binding.mainToolbar.toolbarTitle.text = tagName - binding.mainToolbar.backButton.visibility = View.VISIBLE - - binding.mainToolbarDesign.toolbarTitle.visibility = View.GONE - binding.mainToolbarDesign.toolbarSubtitle.visibility = View.GONE - binding.mainToolbarDesign.backButton.visibility = View.GONE when (tagName) { - "Verdnatura" -> { - binding.mainToolbar.backButton.visibility = View.GONE - } - "Paletizadores" -> { - binding.mainToolbar.backButton.visibility = View.GONE - } - "Controlar ticket" -> { - binding.mainToolbar.backButton.visibility = View.GONE - } - "Verdnatura_design" -> { - binding.mainToolbar.backButton.visibility = View.GONE - - } - else-> binding.mainToolbar.backButton.visibility = View.VISIBLE - } - - } else { - when (tagName) { - "Verdnatura_design" -> { + "Main" -> { binding.mainToolbarDesign.imageViewMenu.visibility = View.VISIBLE binding.mainToolbarDesign.backButton.visibility = View.GONE - binding.mainToolbar.backButton.visibility = View.GONE + //binding.mainToolbar.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 } } - /* binding.mainToolbarDesign.toolbarTitle.visibility = View.VISIBLE - binding.mainToolbar.toolbarTitle.visibility = View.GONE - binding.mainToolbar.toolbarSubtitle.visibility = View.GONE - binding.mainToolbar.toolbarTitleSeparator.visibility = View.GONE*/ - - binding.mainToolbarDesign.backButton.visibility=View.INVISIBLE binding.mainToolbarDesign.backButton.setOnClickListener { requireActivity().onBackPressed() - } } @@ -101,10 +68,17 @@ class PasilleroFragment( when (tagName) { - "Verdnatura" -> {viewModel.inititializeDefaultData()} + "Pasilleros" -> { + viewModel.inititializeDefaultData() + } + /*"Verdnatura" -> { + viewModel.inititializeDefaultData() + }*/ "Paletizadores" -> viewModel.inititializeDefaultPallet() "Gestión de buffer" -> viewModel.inititializeDefaultBuffer() - "Verdnatura_design" -> viewModel.inititializeDefaultDataInit() + "Main" -> viewModel.inititializeDefaultDataInit() + //"Verdnatura_design" -> viewModel.inititializeDefaultDataInit() + "Reclamaciones" -> viewModel.inititializeDefaultClaim() } @@ -114,18 +88,28 @@ class PasilleroFragment( override fun observeViewModel() { with(viewModel) { - /* val mLayoutManager: RecyclerView.LayoutManager = GridLayoutManager( - activity, - requireActivity()!!.resources.getInteger(R.integer.number_of_grid_items) - )*/ + /* val mLayoutManager: RecyclerView.LayoutManager = GridLayoutManager( + activity, + requireActivity()!!.resources.getInteger(R.integer.number_of_grid_items) + )*/ binding.pasillerosItems.adapter = PasillerosAdapter(pasillerositem, pasillerosItemClickListener!!, isInitMenu) binding.pasillerosItems.layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) + + if (!isInitMenu) { + val dividerItemDecoration = DividerItemDecoration( + context, + LinearLayoutManager.VERTICAL + ) + dividerItemDecoration.setDrawable(requireContext().resources.getDrawable(R.drawable.list_divider_items)) + binding.pasillerosItems.addItemDecoration(dividerItemDecoration) + } } + super.observeViewModel() } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt index 2e875ea8..def75bf0 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt @@ -328,4 +328,17 @@ class PasilleroViewModel : BaseViewModel() { } + + fun inititializeDefaultClaim() { + + _pasillerositem.add( + PasillerosItemVO( + 30, + R.drawable.ic_claims, + "Ubicación de Reclamación", R.string.claim, "Ubicación de reclamaciones" + ) + ) + + + } } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/EndSacadorFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/EndSacadorFragment.kt index e855f611..ff36f4dc 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/EndSacadorFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/EndSacadorFragment.kt @@ -110,7 +110,7 @@ class EndSacadorFragment( setToolBar() setEvents() - // Log.d("VERDNATURA","La col "+collection.collectionFk+ " y el type "+type) + Log.d("VERDNATURA","La col "+collection.collectionFk+ " y el type "+type) searchSaleCollection() super.init() @@ -1162,6 +1162,9 @@ class EndSacadorFragment( binding.mainToolbar.toolbarIcons.adapter = ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener { override fun onOptionsItemSelected(item: Drawable) { + + + goBack=false /*if (item == iconEraser) { } else*/ @@ -1172,6 +1175,7 @@ class EndSacadorFragment( ), "" ) + } } @@ -1180,7 +1184,6 @@ class EndSacadorFragment( LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false) } - private fun scanRequest() { if (binding.scanInput != null) { binding.scanInput.requestFocus() diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt index 351c86bf..308c5f64 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt @@ -144,9 +144,9 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() password, collectionFk, sectorFk - ).enqueue(object : Callback + ).enqueue(object : Callback { - override fun onFailure(call: Call, t: Throwable) + override fun onFailure(call: Call, t: Throwable) { _response.value = ResponseItemVO( isError = true, @@ -154,7 +154,7 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() ) } - override fun onResponse(call: Call, response: Response) + override fun onResponse(call: Call, response: Response) { if (response.body() == null) { @@ -164,7 +164,7 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() ) } else { - _response.value = ResponseItemVO(isError = false, response = response.body()!!) + _response.value = ResponseItemVO(isError = false, response = response.message()!!) } } }) diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorFragment.kt index 7fa97f5f..8056693a 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorFragment.kt @@ -54,14 +54,15 @@ class SacadorFragment : setToolBar() setEvents() - var working_in_test=false //sergio: Ok en app - if (!working_in_test) { + /*var working_in_test=false //sergio: Ok en app + + if (!working_in_test) {*/ viewModel.collectionGetSalix(token = getData(TOKEN)) - }else{ + /* }else{ viewModel.collectionGet( getData(USER), getData(PASSWORD),"collection_get") - } + }*/ super.init() @@ -79,7 +80,7 @@ class SacadorFragment : resultTagMode=result Log.d("VERDNATURA::","el result es "+result) if (result.equals("complete") && getData(TAGSTYPE).equals("SmartTags")) { - viewModel.collection_new_wagon(getData(USER), + viewModel.collection_new_smarttag(getData(USER), getData(PASSWORD), getData(SECTORFK), getData(WAGON), getData(TAGSTYPE),"collection_new_wagon") } @@ -93,9 +94,8 @@ class SacadorFragment : private fun setToolBar() { - // requireActivity().main_bottom_navigation.visibility = View.VISIBLE ma.hideBottomNavigation(View.VISIBLE) - binding.mainToolbar.backButton.visibility = View.GONE + val listIcons: ArrayList = ArrayList() /*val iconAdd: Drawable = @@ -124,9 +124,9 @@ class SacadorFragment : iconAdd.drawable -> { binding.splashProgress.visibility = View.VISIBLE - // checkTagsMode() - viewModel.collection_new_wagon(getData(USER), - getData(PASSWORD),getData(SECTORFK),getData(WAGON),getData(TAGSTYPE),"collection_new_wagon") + checkTagsMode() + /* viewModel.collection_new_wagon(getData(USER), + getData(PASSWORD),getData(SECTORFK),getData(WAGON),getData(TAGSTYPE),"collection_new_wagon")*/ } iconVehicleIn.drawable-> ma.onVehicleSelected(SacadorFragment.TAG) } @@ -151,7 +151,6 @@ class SacadorFragment : private fun checkTagsMode() { - if (getData(TAGSTYPE).equals("Stickers")) { viewModel.collectionNew(getData(USER), getData(PASSWORD), getData(SECTORFK), getData(WAGON),"collection_new_wagon") @@ -160,6 +159,9 @@ class SacadorFragment : if (resultTagMode.equals("complete")) { viewModel.collection_new_wagon(getData(USER), getData(PASSWORD), getData(SECTORFK), getData(WAGON), getData(TAGSTYPE),"collection_new_wagon") + /* viewModel.collectionNew(getData(USER), + getData(PASSWORD), getData(SECTORFK), getData(WAGON),"collection_new_wagon") +*/ } else { requireActivity().addFragment( AssociateSmartTagsFragment.newInstance(AssociateSmartTagsFragment.TAG), @@ -208,20 +210,28 @@ class SacadorFragment : goBack = false //sergio:para asegurarnos que aparece en pantalla. - - var working_in_test=false //sergio: ok en app SACADOR - - if (!working_in_test) { + /* var working_in_test=false //sergio: ok en app SACADOR + if (!working_in_test) {*/ viewModel.collectionGetSalix(token=getData(TOKEN)) - }else{ + /*}else{ viewModel.collectionGet(getData(USER),getData(PASSWORD),"collection_get") } - - /*viewModel.collectionGetSalix(token=getData(TOKEN))*/ + */ }) + responseCollectionSmarttag.observe(viewLifecycleOwner, Observer { + + if (it.isError) { + ma.messageWithSound(it.errorMessage,true,false) + + } else { + ma.messageWithSound(it.errorMessage,false,false) + + goBack = false} + }) + registerSmarttagInsert.observe(viewLifecycleOwner, Observer { if (!goBack){ @@ -260,8 +270,8 @@ class SacadorFragment : } if (isNew) { collectionsList.add(CollectionVO(collectionFk = collection, created = "Nuevo")) - Log.d("VERDNATURA::","llamada nodejs insert") - viewModel.smartTagInsertTicket(collection) + //Log.d("VERDNATURA::","llamada nodejs insert") + //viewModel.smartTagInsertTicket(collection) adapter?.notifyDataSetChanged() } else { diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorViewModel.kt index 793b3367..4d32eddc 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorViewModel.kt @@ -45,6 +45,11 @@ class SacadorViewModel(context: Context) : BaseViewModel() { val response: LiveData get() = _response + private val _responseCollectionSmarttag by lazy { MutableLiveData() } + val responseCollectionSmarttag: LiveData + get() = _responseCollectionSmarttag + + private val _registerSmarttagInsert by lazy { MutableLiveData() } val registerSmarttagInsert: LiveData get() = _registerSmarttagInsert @@ -150,6 +155,35 @@ class SacadorViewModel(context: Context) : BaseViewModel() { }) } + fun collection_new_smarttag(usuario: String, password: String, sectorFk: String, wagons: String,tagtype:String,callFunction:String){ + getSacadorControladorUserCase.collectionNew(usuario, password, sectorFk, wagons,tagtype).enqueue( + object : + Callback { + override fun onFailure(call: Call, t: Throwable) { + _responseCollectionSmarttag.value = + ResponseItemVO(isError = true, errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)) + + + } + + override fun onResponse( + call: Call, + response: Response + ) { + if (response.body() != null) { + _responseCollectionSmarttag.value = + ResponseItemVO(isError = false, response = response.body()!!) + } else { + + _responseCollectionSmarttag.value = ResponseItemVO( + isError = true, + errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()) + ) + + } + } + }) + } fun collectionGet(usuario: String, password: String,callFunction:String){ //////Log.i("VERDNATURA:","collectionGet para coger tickets") diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/showticket/ShowTicketFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/showticket/ShowTicketFragment.kt index 9e5d27e1..89e2f795 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/showticket/ShowTicketFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/showticket/ShowTicketFragment.kt @@ -13,7 +13,7 @@ import es.verdnatura.presentation.common.OnCollectionSelectedListener import es.verdnatura.presentation.view.feature.precontrol.ShowTicketViewModel import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO -class ShowTicketFragment : BaseFragment( +class ShowTicketFragment(var menuOrigin: String) : BaseFragment( ShowTicketViewModel::class ) { @@ -22,8 +22,9 @@ class ShowTicketFragment : BaseFragment + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/background_item_color.xml b/app/src/main/res/drawable/background_item_color.xml index 90c9f3cc..72bd4e26 100644 --- a/app/src/main/res/drawable/background_item_color.xml +++ b/app/src/main/res/drawable/background_item_color.xml @@ -2,10 +2,7 @@ - - + diff --git a/app/src/main/res/drawable/background_round.xml b/app/src/main/res/drawable/background_round.xml index 6dde1593..cf1354b3 100644 --- a/app/src/main/res/drawable/background_round.xml +++ b/app/src/main/res/drawable/background_round.xml @@ -2,12 +2,12 @@ android:shape="rectangle"> + android:width="1dp" + android:color="@color/verdnatura_white" > - + + android:radius="5dp"/> - + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_chevron_left.xml b/app/src/main/res/drawable/ic_chevron_left.xml new file mode 100644 index 00000000..281e0b8a --- /dev/null +++ b/app/src/main/res/drawable/ic_chevron_left.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_worker.xml b/app/src/main/res/drawable/ic_worker.xml new file mode 100644 index 00000000..487ca055 --- /dev/null +++ b/app/src/main/res/drawable/ic_worker.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/list_divider_items.xml b/app/src/main/res/drawable/list_divider_items.xml new file mode 100644 index 00000000..a700fd8e --- /dev/null +++ b/app/src/main/res/drawable/list_divider_items.xml @@ -0,0 +1,5 @@ + + + + diff --git a/app/src/main/res/layout/activity_imageview.xml b/app/src/main/res/layout/activity_imageview.xml index fb4d68fa..76730f34 100644 --- a/app/src/main/res/layout/activity_imageview.xml +++ b/app/src/main/res/layout/activity_imageview.xml @@ -21,7 +21,7 @@ app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index aa399c81..bc8fc7ee 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -2,13 +2,7 @@ - + - + \ No newline at end of file diff --git a/app/src/main/res/layout/buyers_fragment.xml b/app/src/main/res/layout/buyers_fragment.xml index 40142a8c..23b5e187 100644 --- a/app/src/main/res/layout/buyers_fragment.xml +++ b/app/src/main/res/layout/buyers_fragment.xml @@ -23,7 +23,7 @@ diff --git a/app/src/main/res/layout/component_custom_edit_dialog.xml b/app/src/main/res/layout/component_custom_edit_dialog.xml index 564603f5..5721064f 100644 --- a/app/src/main/res/layout/component_custom_edit_dialog.xml +++ b/app/src/main/res/layout/component_custom_edit_dialog.xml @@ -34,35 +34,12 @@ android:layout_height="wrap_content" android:textAlignment="center" android:textColor="@color/verdnatura_white" + android:layout_marginBottom="@dimen/layout_margin_1" android:textSize="@dimen/body1" android:visibility="gone" tools:text="Este cambio no podrá deshacerse a no ser que vuelvas a vincular el dispositivo" tools:visibility="visible" /> - - - - - - - - -