diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/adapters/ExpeditionLoadUnloadAdapter.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/adapters/ExpeditionLoadUnloadAdapter.kt index 27e564c5..7481bac6 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/adapters/ExpeditionLoadUnloadAdapter.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/adapters/ExpeditionLoadUnloadAdapter.kt @@ -1,19 +1,18 @@ package es.verdnatura.presentation.view.feature.delivery.adapters -import android.graphics.Color import android.view.LayoutInflater import android.view.ViewGroup -import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat.getColor import androidx.recyclerview.widget.RecyclerView import es.verdnatura.R import es.verdnatura.databinding.ItemExpeditionLoadunloadRowBinding +import es.verdnatura.presentation.common.OnItemCardRowClickListener import es.verdnatura.presentation.view.feature.delivery.model.ExpeditionInfoLoadUnload -import java.security.AccessController.getContext class ExpeditionLoadUnloadAdapter( - private val items: List + private val items: List, + ) : RecyclerView.Adapter() { @@ -31,6 +30,7 @@ class ExpeditionLoadUnloadAdapter( override fun onBindViewHolder(holder: ItemHolder, position: Int) { holder.bind(items[position]) + } inner class ItemHolder( @@ -59,6 +59,8 @@ class ExpeditionLoadUnloadAdapter( } } + + this.item = item } } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/fragments/LoadUnloadFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/fragments/LoadUnloadFragment.kt index 6cdbbb82..5a40396b 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/fragments/LoadUnloadFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/fragments/LoadUnloadFragment.kt @@ -11,7 +11,6 @@ import android.widget.ImageView import android.widget.Toast import androidx.activity.OnBackPressedCallback import androidx.annotation.RequiresApi -import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import androidx.room.Room @@ -25,16 +24,18 @@ import es.verdnatura.presentation.common.OnOptionsSelectedListener import es.verdnatura.presentation.common.ToolBarAdapterTooltip import es.verdnatura.presentation.view.feature.delivery.adapters.ExpeditionLoadUnloadAdapter import es.verdnatura.presentation.view.feature.delivery.model.ExpeditionInfoLoadUnload -import es.verdnatura.presentation.view.feature.delivery.viewmodels.DatabaseViewModel import es.verdnatura.presentation.view.feature.delivery.viewmodels.DeliveryViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +import org.json.JSONObject class LoadUnloadFragment( var title: String = "", - var state: String = "" + var state: String = "", + var entryPoint: String + ) : BaseFragment( DeliveryViewModel::class ) { @@ -44,10 +45,12 @@ class LoadUnloadFragment( private lateinit var myList: MutableList private var counterCalls = 0 private var counterResponse = 0 - + private var route = 0 + private var addressFk = 0 companion object { - fun newInstance(title: String, state: String) = LoadUnloadFragment(title, state) + fun newInstance(title: String, state: String, entryPoint: String) = + LoadUnloadFragment(title, state, entryPoint) } override fun getLayoutId(): Int = R.layout.fragment_expedition_loadunload_delivery @@ -55,11 +58,13 @@ class LoadUnloadFragment( @RequiresApi(Build.VERSION_CODES.O) override fun init() { + route = JSONObject(entryPoint).get("route").toString().toInt() + addressFk = JSONObject(entryPoint).get("address").toString().toInt() setEvents() setToolBar() binding.scanInput.requestFocus() - viewModel.getExpeditionFromRoute(159390) + viewModel.getExpeditionFromRoute(route) super.init() database() } @@ -78,12 +83,12 @@ class LoadUnloadFragment( // val myViewModel = ViewModelProvider(this).get(DatabaseViewModel::class.java) lifecycleScope.launch { - val expedicionInsert = withContext(Dispatchers.IO) { + withContext(Dispatchers.IO) { val expedicion = Expedicion(12345, "Mi expedición", System.currentTimeMillis()) db.expedicionDao().insert(expedicion) var expediciones = db.expedicionDao().getAll() - for (e in expediciones){ - println("la exp es "+e.nombre) + for (e in expediciones) { + println("la exp es " + e.nombre) } } } @@ -194,14 +199,14 @@ class LoadUnloadFragment( private fun setEvents() { binding.mainToolbar.backButton.setOnClickListener { - /* requireActivity().onBackPressed() */ - val callback = object : OnBackPressedCallback(true /* enabled by default */) { + requireActivity().onBackPressed() + /*val callback = object : OnBackPressedCallback(true /* enabled by default */) { override fun handleOnBackPressed() { println("volviendo antras") } } - requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, callback) + requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, callback)*/ } binding.scanInput.setOnEditorActionListener { _, actionId, _ -> @@ -289,7 +294,7 @@ class LoadUnloadFragment( if (!it.isError) { counterResponse = counterResponse + 1 if (counterResponse == counterCalls) { - viewModel.getExpeditionFromRoute(159390) + viewModel.getExpeditionFromRoute(route) counterResponse = 0 counterCalls = 0 } @@ -321,12 +326,15 @@ class LoadUnloadFragment( private fun createList(list: List) { myList = list as MutableList - adapter = ExpeditionLoadUnloadAdapter(list) + if (addressFk!=0){ + myList= list.filter{it.addressFk==addressFk} as MutableList + } + adapter = ExpeditionLoadUnloadAdapter(myList) binding.expeditionloadunloadRecyclerview.adapter = adapter binding.expeditionloadunloadRecyclerview.layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) binding.mainToolbar.toolbarSubtitle.text = - getString(R.string.summaryCount, list.filter { it.code == state }.size, list.size) + getString(R.string.summaryCount, myList.filter { it.code == state }.size, myList.size) setListPosition(list) } @@ -340,8 +348,8 @@ class LoadUnloadFragment( } private fun updateCount(list: MutableList, state: String) { - val countMarked = list.filter { it.code == state }.size - getString(R.string.summaryCount, countMarked, list.size) + val countMarked = list.filter { it.code == state }.size/list.filter { it.code == state }.size + binding.mainToolbar.toolbarSubtitle.text = getString(R.string.summaryCount, countMarked, list.size) if (countMarked == list.size) { setExpeditionsState(list, state) } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/model/InfoCompany.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/model/InfoCompany.kt index 43470da0..b145f967 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/model/InfoCompany.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/model/InfoCompany.kt @@ -1,7 +1,5 @@ package es.verdnatura.presentation.view.feature.delivery.model -import androidx.room.Entity -import androidx.room.PrimaryKey import java.text.SimpleDateFormat class FreeLanceDeliveryInfoList( @@ -52,20 +50,35 @@ class Expedition( var id: Int ) + class ExpeditionList( var list: List = listOf() ) class ExpeditionInfoLoadUnload( - var id:Int, - var ticketFk:Int, - var routeFk:Int, - var addressFk:Int, - var itemPackingTypeConcat:String, - var city:String, - var street:String, - var code:String?, - var nickname:String, - var postalCode:Int + var id: Int, + var ticketFk: Int, + var routeFk: Int, + var addressFk: Int, + var itemPackingTypeConcat: String, + var city: String, + var street: String, + var code: String?, + var nickname: String, + var postalCode: Int +) + +class ExpeditionSummaryList( + var list: List = listOf() +) + +class ExpeditionInfoSummary( + var routeFk: Int, + var addressFk: Int, + var itemPackingType: String?, + var total: Int , + var delivery: Int= 0 , + var lost: Int = 0 , + var delivered: Int = 0 ) diff --git a/app/src/main/res/layout/fragment_expedition_loadunload_delivery.xml b/app/src/main/res/layout/fragment_expedition_loadunload_delivery.xml index 8a439da6..326cc76e 100644 --- a/app/src/main/res/layout/fragment_expedition_loadunload_delivery.xml +++ b/app/src/main/res/layout/fragment_expedition_loadunload_delivery.xml @@ -38,31 +38,31 @@ + android:gravity="start" /> + android:gravity="start"/> + android:gravity="end"/> diff --git a/app/src/main/res/layout/fragment_expedition_log_delivery.xml b/app/src/main/res/layout/fragment_expedition_log_delivery.xml index 6e45676c..53662e37 100644 --- a/app/src/main/res/layout/fragment_expedition_log_delivery.xml +++ b/app/src/main/res/layout/fragment_expedition_log_delivery.xml @@ -46,7 +46,7 @@ android:id="@+id/route" android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="Ruta" + android:text="@string/Ruta" android:textSize="@dimen/body1" android:textColor="@color/verdnatura_white" android:paddingLeft="@dimen/layout_margin_min" @@ -57,7 +57,7 @@ android:id="@+id/agency" android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="Zona" + android:text="@string/zone" android:textSize="@dimen/body2" android:textColor="@color/verdnatura_white" android:layout_weight="1.25" @@ -68,7 +68,7 @@ android:id="@+id/date" android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="fecha" + android:text="@string/Fecha" android:textSize="@dimen/body2" android:textColor="@color/verdnatura_white" android:layout_weight="1.25" @@ -87,7 +87,7 @@ - '