version 23.18.3Beta solucionado fallo ubicador. Añadido bbdd
This commit is contained in:
parent
0bf19d0da0
commit
1583304c80
|
@ -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">{
|
||||
"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"
|
||||
<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"
|
||||
},
|
||||
"keyToStringList": {
|
||||
"ExportApk.BuildVariants": [
|
||||
"betaRelease"
|
||||
"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>
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
],
|
||||
|
|
|
@ -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'])
|
||||
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
@ -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()
|
||||
}
|
||||
}
|
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -112,6 +112,7 @@ class DeliveryViewModel(val context: Context) : BaseViewModel(context) {
|
|||
})
|
||||
}
|
||||
|
||||
|
||||
fun get_routesFromExpedition(
|
||||
expedition: Int
|
||||
) {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue