refs #4678 Carga/descarga
This commit is contained in:
parent
6c9e85c574
commit
a76692dff6
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
||||
)
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue