version 23.18.3Beta solucionado fallo ubicador. Añadido bbdd

This commit is contained in:
Sergio De la torre 2023-05-12 12:38:59 +02:00
parent 0bf19d0da0
commit 1583304c80
13 changed files with 265 additions and 85 deletions

View File

@ -83,46 +83,19 @@
</select>
</component>
<component name="ChangeListManager">
<list default="true" id="fa688d1c-dbee-4864-9e33-4d84ef9afca8" name="Default Changelist" comment="version 23.18.2Beta - Solucionado doble pitido, fusionada pantalla sacador, filtro a ubicador, quitado baldas.">
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/adapters/ExpeditionLoadUnloadAdapter.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/fragments/LoadUnloadFragment.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/drawable/ic_confirm.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_expedition_loadunload_delivery.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/layout/item_expedition_loadunload_row.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/raw/errorrepeat.mp3" afterDir="false" />
<list default="true" id="fa688d1c-dbee-4864-9e33-4d84ef9afca8" name="Default Changelist" comment="version 23.18.3Beta solucionado fallo ubicador. Añadido bbdd">
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/db/database.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/viewmodels/DatabaseViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/beta/release/output-metadata.json" beforeDir="false" afterPath="$PROJECT_DIR$/app/beta/release/output-metadata.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/app/build.gradle" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/RestClient.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/RestClient.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/SalixService.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/SalixService.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/SalixServiceMessages.kt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/VerdnaturaService.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/VerdnaturaService.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/base/BaseFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/base/BaseFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/category/ChangeCategoryFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/category/ChangeCategoryFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/adapter/SaleAdapter.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/adapter/SaleAdapter.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPicker.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPicker.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPreChecker.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPreChecker.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/fragments/LoadUnloadFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/fragments/LoadUnloadFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/model/InfoCompany.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/model/InfoCompany.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/viewmodels/DeliveryViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/viewmodels/DeliveryViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/login/fragment/LoginFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/login/fragment/LoginFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/main/activity/MainActivity.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/main/activity/MainActivity.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/EndSacadorFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/EndSacadorFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/showticket/ShowTicketFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/showticket/ShowTicketFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/showticket/ShowTicketViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/showticket/ShowTicketViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/fragment/AutomaticAddItemFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/fragment/AutomaticAddItemFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/fragment/AutomaticAddItemViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/fragment/AutomaticAddItemViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/fragment/UbicadorFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/fragment/UbicadorFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/model/ItemUbicadorVO.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/model/ItemUbicadorVO.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/layout/item_escaner_row.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/item_escaner_row.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/navigation/nav_graph.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/navigation/nav_graph.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/layout/fragment_expedition_loadunload_delivery.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_expedition_loadunload_delivery.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/values-es/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values-es/strings.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/values/dimens.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/dimens.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
@ -134,7 +107,7 @@
<component name="CodeInsightWorkspaceSettings">
<option name="optimizeImportsOnTheFly" value="true" />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[21114523025303]" />
<component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[C:\Users\sergiodt\.android\avd\Pixel_2_API_24.avd]" />
<component name="ExportToHTMLSettings">
<option name="OPEN_IN_BROWSER" value="true" />
<option name="OUTPUT_DIRECTORY" value="C:\Program Files\Android\Android Studio\inspections" />
@ -268,33 +241,38 @@
<option name="showLibraryContents" value="true" />
<option name="showMembers" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;ApkExportedModule&quot;: &quot;Gestor_Almacén.app&quot;,
&quot;ExportApk.ApkPathForGestor_Almacén.app&quot;: &quot;C:\\Users\\sergiodt\\AndroidStudioProjects\\vn-warehouseManager\\app&quot;,
&quot;PROJECT_TRUSTED_KEY&quot;: &quot;true&quot;,
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.cidr.known.project.marker&quot;: &quot;true&quot;,
&quot;SHARE_PROJECT_CONFIGURATION_FILES&quot;: &quot;true&quot;,
&quot;ScreenRecorder.SavePath&quot;: &quot;C:\\Users\\sergiodt\\device-2023-03-17-114045.mp4&quot;,
&quot;android-custom-viewC:/Users/sergiodt/.gradle/caches/modules-2/files-2.1/androidx.recyclerview/recyclerview/1.2.1/f0f93e67af3f7417bdd560d5142f6dec4fe629c3/recyclerview-1.2.1-sources.jar!/androidx/recyclerview/widget/RecyclerView.java_SELECTED&quot;: &quot;RecyclerView&quot;,
&quot;cidr.known.project.marker&quot;: &quot;true&quot;,
&quot;com.developerphil.adbidea.selecteddevices&quot;: &quot;21114523025303&quot;,
&quot;com.google.services.firebase.aqiPopupShown&quot;: &quot;true&quot;,
&quot;last_opened_file_path&quot;: &quot;C:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout&quot;,
&quot;project.structure.last.edited&quot;: &quot;Modules&quot;,
&quot;project.structure.proportion&quot;: &quot;0.17&quot;,
&quot;project.structure.side.proportion&quot;: &quot;0.2&quot;,
&quot;run.code.analysis.last.selected.profile&quot;: &quot;pProject Default&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;reference.settingsdialog.project.gradle&quot;
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"ApkExportedModule": "Gestor_Almacén.app",
"ExportApk.ApkPathForGestor_Almacén.app": "C:\\Users\\sergiodt\\AndroidStudioProjects\\vn-warehouseManager\\app",
"PROJECT_TRUSTED_KEY": "true",
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.cidr.known.project.marker": "true",
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
"ScreenRecorder.SavePath": "C:\\Users\\sergiodt\\device-2023-03-17-114045.mp4",
"android-custom-viewC:/Users/sergiodt/.gradle/caches/modules-2/files-2.1/androidx.recyclerview/recyclerview/1.2.1/f0f93e67af3f7417bdd560d5142f6dec4fe629c3/recyclerview-1.2.1-sources.jar!/androidx/recyclerview/widget/RecyclerView.java_SELECTED": "RecyclerView",
"cidr.known.project.marker": "true",
"com.developerphil.adbidea.selecteddevices": "21114523025303",
"com.google.services.firebase.aqiPopupShown": "true",
"last_opened_file_path": "C:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout",
"project.structure.last.edited": "Modules",
"project.structure.proportion": "0.17",
"project.structure.side.proportion": "0.2",
"run.code.analysis.last.selected.profile": "pProject Default",
"settings.editor.selected.configurable": "reference.settingsdialog.project.gradle"
},
&quot;keyToStringList&quot;: {
&quot;ExportApk.BuildVariants&quot;: [
&quot;betaRelease&quot;
"keyToStringList": {
"ExportApk.BuildVariants": [
"generalRelease"
],
"com.android.tools.idea.sqlite.queryhistory": [
"select * from expediciones;",
"select * from expediciones",
"select * from expedicion"
]
}
}</component>
}]]></component>
<component name="PsdUISettings">
<option name="MODULE_TAB" value="Default Config" />
<option name="LAST_EDITED_SIGNING_CONFIG" value="debug" />
@ -881,7 +859,6 @@
</component>
<component name="VcsManagerConfiguration">
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
<MESSAGE value="Quitar procedimiento refs #4661" />
<MESSAGE value="Reclycler extra y agrupacion previa" />
<MESSAGE value="refs #5117 Autoconsumo" />
<MESSAGE value="refs #4683 Autoconsumo" />
@ -906,7 +883,8 @@
<MESSAGE value="refs #5430" />
<MESSAGE value="refs #5442" />
<MESSAGE value="version 23.18.2Beta - Solucionado doble pitido, fusionada pantalla sacador, filtro a ubicador, quitado baldas." />
<option name="LAST_COMMIT_MESSAGE" value="version 23.18.2Beta - Solucionado doble pitido, fusionada pantalla sacador, filtro a ubicador, quitado baldas." />
<MESSAGE value="version 23.18.3Beta solucionado fallo ubicador. Añadido bbdd" />
<option name="LAST_COMMIT_MESSAGE" value="version 23.18.3Beta solucionado fallo ubicador. Añadido bbdd" />
</component>
<component name="XDebuggerManager">
<pin-to-top-manager>

View File

@ -11,8 +11,8 @@
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 183,
"versionName": "23.18.2Beta",
"versionCode": 186,
"versionName": "23.18.3Beta",
"outputFile": "app-beta-release.apk"
}
],

View File

@ -13,8 +13,8 @@ android {
applicationId "es.verdnatura"
minSdkVersion 24 //21
targetSdkVersion 33
versionCode 184
versionName = "23.18.2Beta"
versionCode 186
versionName = "23.18.3Beta"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@ -58,6 +58,8 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.firebase:firebase-crashlytics-ktx:18.2.9'
implementation 'com.google.firebase:firebase-analytics-ktx:20.1.2'
kapt "androidx.room:room-compiler:2.4.0"
implementation 'androidx.room:room-ktx:2.4.2'
debugImplementation fileTree(dir: 'libs/debug', include: ['*.jar'])
releaseImplementation fileTree(dir: 'libs/release', include: ['*.jar'])

View File

@ -0,0 +1,52 @@
package es.verdnatura.db
import android.content.Context
import androidx.room.*
// Clase que representa la base de datos
@Database(entities = [Expedicion::class], version = 1)
abstract class ExpedicionDatabase : RoomDatabase() {
abstract fun expedicionDao(): ExpedicionDao
companion object {
@Volatile
private var INSTANCE: ExpedicionDatabase? = null
fun getInstance(context: Context): ExpedicionDatabase {
return INSTANCE ?: synchronized(this) {
val instance = Room.databaseBuilder(
context.applicationContext,
ExpedicionDatabase::class.java,
"expedicion_database"
)
.fallbackToDestructiveMigration()
.build()
INSTANCE = instance
instance
}
}
}
}
// Clase que representa la entidad Expedicion
@Entity(tableName = "expediciones")
data class Expedicion(
@PrimaryKey val id: Int,
val nombre: String,
val fecha: Long
)
// Interfaz que define los métodos de acceso a datos para Expedicion
@Dao
interface ExpedicionDao {
@Query("SELECT * FROM expediciones")
suspend fun getAll(): List<Expedicion>
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun insert(expedicion: Expedicion)
@Delete
fun delete(expedicion: Expedicion)
}

View File

@ -9,17 +9,27 @@ import android.view.View
import android.view.inputmethod.EditorInfo
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
import es.verdnatura.R
import es.verdnatura.databinding.FragmentExpeditionLoadunloadDeliveryBinding
import es.verdnatura.db.Expedicion
import es.verdnatura.db.ExpedicionDatabase
import es.verdnatura.domain.toast
import es.verdnatura.presentation.base.BaseFragment
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
class LoadUnloadFragment(
@ -32,6 +42,8 @@ class LoadUnloadFragment(
private var adapter: ExpeditionLoadUnloadAdapter? = null
private var originalItem: Int = 0
private lateinit var myList: MutableList<ExpeditionInfoLoadUnload>
private var counterCalls = 0
private var counterResponse = 0
companion object {
@ -43,11 +55,48 @@ class LoadUnloadFragment(
@RequiresApi(Build.VERSION_CODES.O)
override fun init() {
setEvents()
setToolBar()
binding.scanInput.requestFocus()
viewModel.getExpeditionFromRoute(159390)
super.init()
database()
}
private fun database() {
val db = Room.databaseBuilder(
requireContext().applicationContext,
ExpedicionDatabase::class.java, "expediciones.db"
).build()
// Para insertar una expedición en la base de datos, puedes hacer lo siguiente:
/* val expedicion = Expedicion(12345, "Mi expedición", System.currentTimeMillis())
db.expedicionDao().insert(expedicion)*/
// val myViewModel = ViewModelProvider(this).get(DatabaseViewModel::class.java)
lifecycleScope.launch {
val expedicionInsert = 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)
}
}
}
// Para obtener todas las expediciones de la base de datos, puedes hacer lo siguiente:
/* db.expedicionDao().getAll().observe(viewLifecycleOwner) { expediciones ->
// actualizar la vista con las expediciones
}
val expediciones = db.expedicionDao().getAll()
for (e in expediciones) {
println("El nombre de la exp es " + e.nombre)
}*/
}
@RequiresApi(Build.VERSION_CODES.O)
@ -56,6 +105,13 @@ class LoadUnloadFragment(
binding.mainToolbar.toolbarTitle.visibility = View.VISIBLE
binding.mainToolbar.toolbarSubtitle.visibility = View.VISIBLE
binding.mainToolbar.toolbarIcons.visibility = View.VISIBLE
binding.mainToolbar.switchButton.visibility = if (state != "DELIVERED") {
View.VISIBLE
} else {
View.GONE
}
binding.mainToolbar.toolbarTitle.text = title
val listIcons: ArrayList<ImageView> = ArrayList()
val iconConfirm = ImageView(context)
iconConfirm.setImageResource(R.drawable.ic_confirm)
@ -89,7 +145,9 @@ class LoadUnloadFragment(
if (list.filter { it.code == state }.size == list.size) {
binding.splashProgress.visibility = View.VISIBLE
viewModel.expeditionState_add(list.filter { it.code == state }, state)
counterCalls = 1
} else {
val alertDialog = android.app.AlertDialog.Builder(requireContext()).create()
alertDialog.setTitle("Información")
@ -97,13 +155,14 @@ class LoadUnloadFragment(
alertDialog.setButton(
android.app.AlertDialog.BUTTON_NEUTRAL, "GUARDAR"
) { dialog, which ->
counterCalls = 2
viewModel.expeditionState_add(list.filter { it.code == state }, state)
viewModel.expeditionState_add(list.filter { it.code != state }, "LOST")
}
alertDialog.setButton(
android.app.AlertDialog.BUTTON_POSITIVE, "ORDENAR"
) { dialog, which ->
adapter = ExpeditionLoadUnloadAdapter(list.sortedByDescending{it.code})
adapter!!.notifyDataSetChanged()
createList(list.sortedByDescending { it.code })
}
alertDialog.show()
}
@ -135,7 +194,14 @@ class LoadUnloadFragment(
private fun setEvents() {
binding.mainToolbar.backButton.setOnClickListener {
requireActivity().onBackPressed()
/* requireActivity().onBackPressed() */
val callback = object : OnBackPressedCallback(true /* enabled by default */) {
override fun handleOnBackPressed() {
println("volviendo antras")
}
}
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, callback)
}
binding.scanInput.setOnEditorActionListener { _, actionId, _ ->
@ -144,12 +210,25 @@ class LoadUnloadFragment(
try {
//viewModel.expeditionLoadUnload_get(binding.scanInput.toInt())
markExpedition(binding.scanInput.text.toString().toInt(), state)
markExpedition(
binding.scanInput.text.toString().toInt(),
if (!binding.mainToolbar.switchButton.isChecked) {
state
} else {
"FOUND"
},
)
binding.mainToolbar.toolbarTitle.text =
getString(R.string.expedition) + binding.scanInput.text
if (!binding.mainToolbar.switchButton.isChecked) {
getString(R.string.loading)
} else {
getString(R.string.unloading)
}
} catch (ex: Exception) {
"Error al escanear expedición".toast(context, Toast.LENGTH_SHORT)
getString(R.string.errorExpedition).toast(context, Toast.LENGTH_SHORT)
}
binding.scanInput.setText("")
}
@ -166,7 +245,7 @@ class LoadUnloadFragment(
var found = false
if (myList.filter { it.id == expedNumber }.filter { it.code == state }.isNotEmpty()) {
ma.messageWithSound("Expedición ya marcada", null, true)
ma.messageWithSound(getString(R.string.expeditionMarked), null, true)
} else {
for (exped in myList) {
if (exped.id == expedNumber) {
@ -193,8 +272,6 @@ class LoadUnloadFragment(
expeditionInfoLoadUnloadList.observe(viewLifecycleOwner) {
binding.splashProgress.visibility = View.GONE
createList(it.list)
//setSwitchButon()
// viewModel.get_routesFromExpedition(originalItem)
}
routeInfoList.observe(viewLifecycleOwner) {
binding.splashProgress.visibility = View.GONE
@ -203,7 +280,6 @@ class LoadUnloadFragment(
binding.mainToolbar.switchButton.visibility = View.VISIBLE
} else {
binding.scanInput.setText("")
// binding.routeLayout.visibility = View.GONE
binding.mainToolbar.toolbarIcons.visibility = View.GONE
binding.mainToolbar.switchButton.visibility = View.GONE
}
@ -211,7 +287,12 @@ class LoadUnloadFragment(
responseStateAdd.observe(viewLifecycleOwner) {
binding.splashProgress.visibility = View.GONE
if (!it.isError) {
viewModel.getExpeditionFromRoute(159390)
counterResponse = counterResponse + 1
if (counterResponse == counterCalls) {
viewModel.getExpeditionFromRoute(159390)
counterResponse = 0
counterCalls = 0
}
}
}
@ -229,9 +310,10 @@ class LoadUnloadFragment(
binding.splashProgress.visibility = View.VISIBLE
if (isChecked) {
// viewModel.expeditionState_add(arrayListOf(Expedition(originalItem)), "FOUND")
binding.mainToolbar.toolbarTitle.text =
getString(R.string.loading)
} else {
// viewModel.expeditionState_add(arrayListOf(Expedition(originalItem)), "LOST")
getString(R.string.unloading)
}
}
@ -244,12 +326,25 @@ class LoadUnloadFragment(
binding.expeditionloadunloadRecyclerview.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
binding.mainToolbar.toolbarSubtitle.text =
"${list.filter { it.code == state }.size}/${list.size}"
getString(R.string.summaryCount, list.filter { it.code == state }.size, list.size)
setListPosition(list)
}
private fun setListPosition(list: MutableList<ExpeditionInfoLoadUnload>) {
for (i in list.indices) {
if (list[i].code != state) {
binding.expeditionloadunloadRecyclerview.scrollToPosition(i)
break
}
}
}
private fun updateCount(list: MutableList<ExpeditionInfoLoadUnload>, state: String) {
var countMarked = list.filter { it.code == state }.size
binding.mainToolbar.toolbarSubtitle.text = "${countMarked}/${list.size}"
val countMarked = list.filter { it.code == state }.size
getString(R.string.summaryCount, countMarked, list.size)
if (countMarked == list.size) {
setExpeditionsState(list, state)
}
adapter!!.notifyDataSetChanged()
}
}

View File

@ -1,5 +1,7 @@
package es.verdnatura.presentation.view.feature.delivery.model
import androidx.room.Entity
import androidx.room.PrimaryKey
import java.text.SimpleDateFormat
class FreeLanceDeliveryInfoList(
@ -46,12 +48,14 @@ class RouteDelivery(
)
class Expedition(
class
Expedition(
var id: Int
)
class ExpeditionList(
var list: List<ExpeditionInfoLoadUnload> = listOf()
)
class ExpeditionInfoLoadUnload(
var id:Int,
var ticketFk:Int,

View File

@ -0,0 +1,36 @@
package es.verdnatura.presentation.view.feature.delivery.viewmodels
import android.content.Context
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import es.verdnatura.db.Expedicion
import es.verdnatura.db.ExpedicionDatabase
import es.verdnatura.presentation.base.BaseViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
class DatabaseViewModel(val context: Context) : BaseViewModel(context) {
private val db = ExpedicionDatabase.getInstance(context)
val expediciones = MutableLiveData<List<Expedicion>>()
fun cargarExpediciones() {
viewModelScope.launch {
val expedicionesList = withContext(Dispatchers.IO) {
db.expedicionDao().getAll()
}
expediciones.postValue(expedicionesList)
}
}
}

View File

@ -112,6 +112,7 @@ class DeliveryViewModel(val context: Context) : BaseViewModel(context) {
})
}
fun get_routesFromExpedition(
expedition: Int
) {

View File

@ -489,8 +489,8 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
)
)
/*Tarea 4678
_pasillerositem.add(
//Tarea 4678
/* _pasillerositem.add(
PasillerosItemVO(
6,
R.drawable.ic_delivery_truck,

View File

@ -460,10 +460,10 @@ class UbicadorFragment(
it.list.forEach { item ->
try {
contEtiquetas += item.stickers.toInt()
parking = item.code.uppercase()
} catch (e: Exception) {
}
parking = item.code.uppercase()
listItems.add(item)

View File

@ -11,8 +11,10 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.TextInputEditText

View File

@ -565,5 +565,10 @@
<string name="titleUnLoadTruckInfo">Descargar furgoneta</string>
<string name="confirmDescription">Cofirma la carga/descarga de la furgoneta</string>
<string name="itemChangePrice">Introduce el nuevo precio. Por defecto se propone el 50% del precio original.Item:</string>
<string name="loading">Cargando</string>
<string name="unloading">Descargando</string>
<string name="expeditionMarked">Expedición ya marcada</string>
<string name="errorExpedition">Error al escanear expedición</string>
<string name="summaryCount">%d/%d</string>
</resources>

View File

@ -564,5 +564,10 @@
<string name="itemChangePrice">"Introduce price for the item : "</string>
<string name="managerWagon">The number of wagons can now only be changed by managers</string>
<string name="confirmDescription">Cofirm load/unload of the van</string>
<string name="loading">Loading</string>
<string name="unloading">Unloading</string>
<string name="expeditionMarked">Expedition marked</string>
<string name="errorExpedition">Error marking expedition</string>
<string name="summaryCount" translatable="false">%d/%d</string>
</resources>