refs #4678 Carga/descarga

This commit is contained in:
Sergio De la torre 2023-05-25 09:18:48 +02:00
parent 6c9e85c574
commit a76692dff6
6 changed files with 70 additions and 47 deletions

View File

@ -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<ExpeditionInfoLoadUnload>
private val items: List<ExpeditionInfoLoadUnload>,
) : RecyclerView.Adapter<ExpeditionLoadUnloadAdapter.ItemHolder>() {
@ -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
}
}

View File

@ -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<FragmentExpeditionLoadunloadDeliveryBinding, DeliveryViewModel>(
DeliveryViewModel::class
) {
@ -44,10 +45,12 @@ class LoadUnloadFragment(
private lateinit var myList: MutableList<ExpeditionInfoLoadUnload>
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<ExpeditionInfoLoadUnload>) {
myList = list as MutableList<ExpeditionInfoLoadUnload>
adapter = ExpeditionLoadUnloadAdapter(list)
if (addressFk!=0){
myList= list.filter{it.addressFk==addressFk} as MutableList<ExpeditionInfoLoadUnload>
}
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<ExpeditionInfoLoadUnload>, 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)
}

View File

@ -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<ExpeditionInfoLoadUnload> = 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<ExpeditionInfoSummary> = 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
)

View File

@ -38,31 +38,31 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Expedición"
android:text="@string/expedition"
android:textSize="@dimen/body1"
android:textColor="@color/verdnatura_white"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingStart="@dimen/layout_margin_min"
android:layout_weight="1"
android:gravity="left" />
android:gravity="start" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Embalaje"
android:text="@string/titlePackagingCount"
android:textSize="@dimen/body1"
android:textColor="@color/verdnatura_white"
android:layout_weight="1"
android:gravity="left"/>
android:gravity="start"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Consignatario"
android:text="@string/consignatario"
android:textSize="@dimen/body1"
android:textColor="@color/verdnatura_white"
android:layout_weight="1"
android:gravity="right"/>
android:gravity="end"/>
</LinearLayout>

View File

@ -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 @@
<TextView
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:paddingLeft="@dimen/layout_margin_min"
@ -97,7 +97,7 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Trabajador"
android:text="@string/Worker"
android:textSize="@dimen/body2"
android:textColor="@color/verdnatura_white"
android:layout_weight="1.25"
@ -107,7 +107,7 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Estado"
android:text="@string/state"
android:textSize="@dimen/body2"
android:textColor="@color/verdnatura_white"
android:layout_weight="1.25"

View File

@ -23,7 +23,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/main_toolbar"/>
' <include
<include
android:id="@+id/main_toolbar"
layout="@layout/toolbar_fragment"
app:layout_constraintEnd_toEndOf="parent"