feat issues refs #7636

This commit is contained in:
Sergio De la torre 2024-07-24 13:32:32 +02:00
parent cdc5ebcd57
commit 1410eec595
40 changed files with 325 additions and 318 deletions

View File

@ -28,7 +28,7 @@
<InsightsFilterSettings>
<option name="connection">
<ConnectionSetting>
<option name="appId" value="es.verdnatura" />
<option name="appId" value="es.verdnatura.sfusion" />
<option name="mobileSdkAppId" value="1:975691769093:android:83eff0dadf5ca9d3e3c36c" />
<option name="projectId" value="picking-2b9a0" />
<option name="projectNumber" value="975691769093" />

View File

@ -4,10 +4,10 @@
<selectionStates>
<SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2024-07-03T06:41:37.187789300Z">
<DropdownSelection timestamp="2024-07-24T04:57:28.186915600Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="LocalEmulator" identifier="path=C:\Users\sergiodt\.android\avd\Pixel_7a_API_30.avd" />
<DeviceId pluginId="PhysicalDevice" identifier="serial=21114523025303" />
</handle>
</Target>
</DropdownSelection>

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DesignSurface">
<option name="filePathToZoomLevelMap">
@ -275,6 +276,51 @@
</option>
</component>
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="NullableNotNullManager">
<option name="myDefaultNullable" value="androidx.annotation.Nullable" />
<option name="myDefaultNotNull" value="androidx.annotation.NonNull" />
<option name="myNullables">
<value>
<list size="15">
<item index="0" class="java.lang.String" itemvalue="com.android.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="org.jspecify.nullness.Nullable" />
<item index="2" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
<item index="3" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
<item index="4" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
<item index="6" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.Nullable" />
<item index="7" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
<item index="8" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
<item index="9" class="java.lang.String" itemvalue="jakarta.annotation.Nullable" />
<item index="10" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
<item index="11" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="12" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
<item index="13" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
<item index="14" class="java.lang.String" itemvalue="android.annotation.Nullable" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
<list size="14">
<item index="0" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
<item index="1" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
<item index="2" class="java.lang.String" itemvalue="jakarta.annotation.Nonnull" />
<item index="3" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
<item index="4" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
<item index="5" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
<item index="6" class="java.lang.String" itemvalue="org.jspecify.nullness.NonNull" />
<item index="7" class="java.lang.String" itemvalue="com.android.annotations.NonNull" />
<item index="8" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
<item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
<item index="10" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="11" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="12" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" />
<item index="13" class="java.lang.String" itemvalue="android.annotation.NonNull" />
</list>
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>

View File

@ -3,6 +3,7 @@
<component name="AnalysisUIOptions">
<option name="SPLITTER_PROPORTION" value="0.39301553" />
<option name="GROUP_BY_SEVERITY" value="true" />
<option name="ANALYZE_INJECTED_CODE" value="false" />
<option name="CUSTOM_SCOPE_NAME" value="All Places" />
<option name="SHOW_STRUCTURE" value="true" />
</component>
@ -139,6 +140,11 @@
<theme>@style/AppTheme</theme>
</config>
</layout>
<layout url="file://$PROJECT_DIR$/app/src/main/res/layout/fragment_historico.xml">
<config>
<theme>@style/AppTheme</theme>
</config>
</layout>
<layout url="file://$PROJECT_DIR$/app/src/main/res/layout/fragment_info_delivery.xml">
<config>
<theme>@style/AppTheme</theme>
@ -225,6 +231,11 @@
<theme>@style/AppTheme</theme>
</config>
</layout>
<layout url="file://$PROJECT_DIR$/app/src/main/res/layout/item_historico_row.xml">
<config>
<theme>@style/AppTheme</theme>
</config>
</layout>
<layout url="file://$PROJECT_DIR$/app/src/main/res/layout/item_image_row.xml">
<config>
<theme>@style/AppTheme</theme>
@ -322,16 +333,54 @@
</select>
</component>
<component name="ChangeListManager">
<list default="true" id="fa688d1c-dbee-4864-9e33-4d84ef9afca8" name="Default Changelist" comment="feat issues refs #7636">
<list default="true" id="fa688d1c-dbee-4864-9e33-4d84ef9afca8" name="Default Changelist" comment="feat itemGetBalance refs #6769">
<change beforePath="$PROJECT_DIR$/.idea/appInsightsSettings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/appInsightsSettings.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/deploymentTargetSelector.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/deploymentTargetSelector.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" 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/presentation/view/feature/articulo/fragment/ItemCardFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/general/release/baselineProfiles/0/app-general-release.dm" beforeDir="false" afterPath="$PROJECT_DIR$/app/general/release/baselineProfiles/0/app-general-release.dm" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/general/release/baselineProfiles/1/app-general-release.dm" beforeDir="false" afterPath="$PROJECT_DIR$/app/general/release/baselineProfiles/1/app-general-release.dm" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/proguard-rules.pro" beforeDir="false" afterPath="$PROJECT_DIR$/app/proguard-rules.pro" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/di/viewModelModule.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/di/viewModelModule.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/SalixCallback.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/SalixCallback.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/presentation/base/BaseActivity.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/base/BaseActivity.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/testing/testPrint.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/testing/testPrint.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ajustes/fragment/AjustesFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ajustes/fragment/AjustesFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ajustes/fragment/AjustesViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ajustes/fragment/AjustesViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/buffer/fragment/BufferFragmentViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/buffer/fragment/BufferFragmentViewModel.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/adapter/SaleAdapterNew.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/adapter/SaleAdapterNew.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/CollectionFragmentPreCheckerNew.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPreCheckerNew.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/controlvehiculo/fragment/ControlVehiculoViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/controlvehiculo/fragment/ControlVehiculoViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/activity/SignedActivity.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/activity/SignedActivity.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/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/historicoarticulo/adapter/HistoricoAdapter.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/historicoarticulo/adapter/HistoricoAdapter.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/historicoarticulo/fragment/HistoricoArticuloFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/historicoarticulo/fragment/HistoricoArticuloFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/fragment/shelvingLogViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/fragment/shelvingLogViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryViewModel.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/login/fragment/LoginViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/login/fragment/LoginViewModel.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/packaging/fragment/ObservFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/ObservFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/PackagingViewModel/SupplierViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/PackagingViewModel/SupplierViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/ExpeditionStateViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/ExpeditionStateViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/photos/fragment/PhotosFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/photos/fragment/PhotosFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/photos/fragment/PhotosViewModel.kt" beforeDir="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/SectorCollectionReserveFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/SectorCollectionReserveFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorFragmentNew.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorFragmentNew.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/sacador/fragment/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/ticket/fragment/TicketViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ticket/fragment/TicketViewModel.kt" 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-fr/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values-fr/strings.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/values-pt/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values-pt/strings.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>
<list id="7b98f93d-6980-4bf1-8e61-c7afd10e56f2" name="Change_category" comment="Change_category" />
<option name="SHOW_DIALOG" value="false" />
@ -346,7 +395,7 @@
<component name="CodeInsightWorkspaceSettings">
<option name="optimizeImportsOnTheFly" value="true" />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[23208524700332]" />
<component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[21114523025303]" />
<component name="ExportToHTMLSettings">
<option name="OPEN_IN_BROWSER" value="true" />
<option name="OUTPUT_DIRECTORY" value="C:\Program Files\Android\Android Studio\inspections" />
@ -475,7 +524,7 @@
</component>
<component name="ProblemsViewState">
<option name="proportion" value="0.50190353" />
<option name="selectedTabId" value="ProjectErrors" />
<option name="selectedTabId" value="CurrentFile" />
<option name="sortByName" value="true" />
</component>
<component name="ProjectColorInfo">{
@ -495,7 +544,7 @@
"keyToString": {
"Android App.app.executor": "Run",
"ApkExportedModule": "Gestor_Almacén.app",
"DEBUGGABLE_DEVICE": "zebra_technologies-tc27-23208524700332",
"DEBUGGABLE_DEVICE": "zebra_technologies-tc21-21114523025303",
"DEBUGGABLE_PROCESS": "es.verdnatura.sfusion",
"DEBUGGER_ID": "Auto",
"ExportApk.ApkPathForGestor_Almacén.app": "C:\\Users\\sergiodt\\AndroidStudioProjects\\vn-warehouseManager\\app",
@ -533,7 +582,7 @@
},
"keyToStringList": {
"ExportApk.BuildVariants": [
"generalRelease"
"betaRelease"
],
"com.android.tools.idea.sqlite.queryhistory": [
"select * from expedition where routeFk=182933;",
@ -1083,7 +1132,7 @@
<option name="project" value="LOCAL" />
<updated>1709725795643</updated>
</task>
<option name="localTasksCounter" value="330" />
<option name="localTasksCounter" value="335" />
<servers />
</component>
<component name="Vcs.Log.History.Properties">
@ -1184,9 +1233,6 @@
</component>
<component name="VcsManagerConfiguration">
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
<MESSAGE value="refs #7278 feat:newUI SummaryFragment" />
<MESSAGE value="refs #3520 feat:refactorSilex→Salix" />
<MESSAGE value="Change_category" />
<MESSAGE value="refs #6530 feat:refactorOnBackPressed" />
<MESSAGE value="feat changeCategory #refs 4979" />
<MESSAGE value="feat refactor Ubicador #refs 6413" />
@ -1205,13 +1251,48 @@
<MESSAGE value="feat boxPickingCheck refs #7751" />
<MESSAGE value="feat barCode in ItemShelvingLog refs #7739" />
<MESSAGE value="feat Rename refs #7763" />
<MESSAGE value="feat getAddress #refs 7622" />
<MESSAGE value="feat reservas #refs 6861" />
<MESSAGE value="feat claimObservation refs #7541" />
<MESSAGE value="feat issues refs #7636" />
<option name="LAST_COMMIT_MESSAGE" value="feat issues refs #7636" />
<MESSAGE value="feat getAddress #refs 7622" />
<MESSAGE value="feat claimObservation refs #7541" />
<MESSAGE value="feat reservas refs #6861" />
<MESSAGE value="version 24.30" />
<MESSAGE value="feat itemGetBalance refs #6769" />
<option name="LAST_COMMIT_MESSAGE" value="feat itemGetBalance refs #6769" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="kotlin-function">
<url>file://$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/SalixCallback.kt</url>
<line>72</line>
<properties class="es.verdnatura.domain.SalixCallback" method="errorSalixMessage">
<option name="WATCH_EXIT" value="false" />
</properties>
<option name="timeStamp" value="11" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/SalixCallback.kt</url>
<line>82</line>
<option name="timeStamp" value="12" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/SalixCallback.kt</url>
<line>81</line>
<option name="timeStamp" value="13" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/SalixCallback.kt</url>
<line>83</line>
<option name="timeStamp" value="14" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/main/activity/MainActivity.kt</url>
<line>594</line>
<option name="timeStamp" value="15" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
<pin-to-top-manager>
<pinned-members>
<PinnedItemInfo parentTag="java.net.SocketException" memberName="detailMessage" />

View File

@ -13,14 +13,16 @@ android {
applicationId "es.verdnatura"
minSdkVersion 26
targetSdkVersion 33 // se deja con target si no Play Protect la bloquea
versionCode 316
versionName = "24.30"
versionCode 319
versionName = "24.30Beta"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
/*debuggable false
shrinkResources true
minifyEnabled true*/
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}

View File

@ -19,3 +19,6 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
# Optimize options
#-keep class es.verdnatura.** { *; }

View File

@ -30,7 +30,6 @@ import es.verdnatura.presentation.view.feature.paletizador.fragment.ExpeditionTr
import es.verdnatura.presentation.view.feature.paletizador.fragment.PalletScanViewModel
import es.verdnatura.presentation.view.feature.parking.fragment.ParkingViewModel
import es.verdnatura.presentation.view.feature.pasillero.fragment.PasilleroViewModel
import es.verdnatura.presentation.view.feature.photos.fragment.PhotosViewModel
import es.verdnatura.presentation.view.feature.presacador.fragment.PreSacadorViewModel
import es.verdnatura.presentation.view.feature.qr.QrFragmentViewModel
import es.verdnatura.presentation.view.feature.roadmap.fragment.RoadMapListViewModel
@ -194,9 +193,7 @@ val viewModelModule = module {
viewModel {
PackingHollandViewModel(androidContext())
}
viewModel {
PhotosViewModel(androidContext())
}
viewModel {
TicketViewModel(androidContext())
}

View File

@ -1,12 +1,10 @@
package es.verdnatura.presentation.base
import android.Manifest
import android.content.Context
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.LayoutRes
import androidx.databinding.DataBindingUtil
import androidx.databinding.ViewDataBinding
@ -18,8 +16,6 @@ import es.verdnatura.databinding.ToolbarFragmentBinding
import es.verdnatura.db.DeliveryDatabase
import es.verdnatura.presentation.view.feature.main.activity.MainActivity
import org.koin.androidx.viewmodel.ext.android.viewModel
import timber.log.Timber
import timber.log.Timber.d
import kotlin.reflect.KClass
abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(
@ -51,8 +47,6 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(
initDataBinding()
getBundleArguments()
observeViewModel()
//sergio: para llamadas con SIP
//requestCallPhonePermissionNew()
init()
}
@ -145,53 +139,6 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(
}
private fun requestCallPhonePermission() {
val permissionLauncher = registerForActivityResult(
ActivityResultContracts.RequestPermission()
)
{ isGranted ->
if (isGranted) {
Timber.i("permisos ok")
} else {
Timber.i("Denegados permisos")
}
}
permissionLauncher.launch(Manifest.permission.CALL_PHONE)
}
private fun requestRecordAudioPermissionNew() {
val permissionLauncher = registerForActivityResult(
ActivityResultContracts.RequestPermission()
)
{ isGranted ->
if (isGranted) {
Timber.i("permisos ok")
} else {
Timber.i("Denegados permisos")
}
}
permissionLauncher.launch(Manifest.permission.RECORD_AUDIO)
}
private fun requestCallPhonePermissionNew() {
val permissionLauncher = registerForActivityResult(
ActivityResultContracts.RequestPermission()
)
{ isGranted ->
if (isGranted) {
d("permisos ok")
} else {
d("Denegados permisos")
}
}
permissionLauncher.launch(Manifest.permission.CALL_PHONE)
}
fun hideBackButton(tool: ToolbarFragmentBinding) {
tool.backButton.visibility = View.INVISIBLE
}

View File

@ -8,6 +8,7 @@ import android.graphics.Canvas
import android.graphics.Color
import android.graphics.pdf.PdfRenderer
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.Parcel
import android.os.ParcelFileDescriptor
@ -49,8 +50,7 @@ class TestPrint(
setEvents()
val i = Intent()
i.setClassName(
"verdnatura.es.repartoverdnatura",
"verdnatura.es.repartoverdnatura.MainActivity"
"verdnatura.es.repartoverdnatura", "verdnatura.es.repartoverdnatura.MainActivity"
)
i.putExtra(TOKEN, mobileApplication.dataStoreApp.readDataStoreKey<String>(TOKEN))
startActivity(i)
@ -120,8 +120,7 @@ class TestPrint(
@Throws(IOException::class)
fun getFileFromAssets(context: Context, fileName: String): File =
File(context.cacheDir, fileName)
.also {
File(context.cacheDir, fileName).also {
if (!it.exists()) {
it.outputStream().use { cache ->
context.assets.open(fileName).use { inputStream ->
@ -160,8 +159,7 @@ class TestPrint(
suspend fun renderSinglePage(filePath: String, width: Int) = withContext(Dispatchers.IO) {
PdfRenderer(
ParcelFileDescriptor.open(
File(filePath),
ParcelFileDescriptor.MODE_READ_ONLY
File(filePath), ParcelFileDescriptor.MODE_READ_ONLY
)
).use { renderer ->
renderer.openPage(0).renderAndClose(width)
@ -230,13 +228,11 @@ class TestPrint(
}
val intent = Intent()
intent.component = ComponentName(
"com.zebra.printconnect",
"com.zebra.printconnect.print.PassthroughService"
"com.zebra.printconnect", "com.zebra.printconnect.print.PassthroughService"
)
intent.putExtra(
"com.zebra.printconnect.PrintService.PASSTHROUGH_DATA",
passthroughDataBytes
"com.zebra.printconnect.PrintService.PASSTHROUGH_DATA", passthroughDataBytes
)
intent.putExtra(
"com.zebra.printconnect.PrintService.RESULT_RECEIVER",
@ -309,13 +305,11 @@ class TestPrint(
}
val intent = Intent()
intent.component = ComponentName(
"com.zebra.printconnect",
"com.zebra.printconnect.print.TemplatePrintWithContentService"
"com.zebra.printconnect", "com.zebra.printconnect.print.TemplatePrintWithContentService"
)
intent.putExtra(
"com.zebra.printconnect.PrintService.TEMPLATE_DATA",
templateBytes
"com.zebra.printconnect.PrintService.TEMPLATE_DATA", templateBytes
)
intent.putExtra("com.zebra.printconnect.PrintService.VARIABLE_DATA", variableData)
intent.putExtra(
@ -353,13 +347,11 @@ class TestPrint(
variableData.put("%UPC_CODE%", "12345678")
val intent = Intent()
intent.component = ComponentName(
"com.zebra.printconnect",
"com.zebra.printconnect.print.TemplatePrintService"
"com.zebra.printconnect", "com.zebra.printconnect.print.TemplatePrintService"
)
intent.putExtra(
"com.zebra.printconnect.PrintService.TEMPLATE_FILE_NAME",
"PriceTagTemplate.zpl"
"com.zebra.printconnect.PrintService.TEMPLATE_FILE_NAME", "PriceTagTemplate.zpl"
)
intent.putExtra("com.zebra.printconnect.PrintService.VARIABLE_DATA", variableData)
intent.putExtra(
@ -389,8 +381,7 @@ class TestPrint(
private fun printStatus() {
val intent = Intent()
intent.component = ComponentName(
"com.zebra.printconnect",
"com.zebra.printconnect.print.GetPrinterStatusService"
"com.zebra.printconnect", "com.zebra.printconnect.print.GetPrinterStatusService"
)
intent.putExtra(
"com.zebra.printconnect.PrintService.RESULT_RECEIVER",
@ -401,8 +392,16 @@ class TestPrint(
if (resultCode == 0) {
// Result code 0 indicates success
val printerStatusMap =
resultData!!.getSerializable("PrinterStatusMap") as HashMap<*, *>?
val printerStatusMap: java.util.HashMap<out Any, out Any>? =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
resultData!!.getSerializable(
"PrinterStatusMap", HashMap::class.java
)
} else {
@Suppress("DEPRECATED")
resultData!!.getSerializable("PrinterStatusMap") as? HashMap<String, String>
}
Toast.makeText(context, printerStatusMap.toString(), Toast.LENGTH_LONG)
.show()
} else {
@ -423,8 +422,7 @@ class TestPrint(
private fun printDisconnect() {
val intent = Intent()
intent.component = ComponentName(
"com.zebra.printconnect",
"com.zebra.printconnect.print.UnselectPrinterService"
"com.zebra.printconnect", "com.zebra.printconnect.print.UnselectPrinterService"
)
intent.putExtra(
@ -438,7 +436,19 @@ class TestPrint(
// Result code 0 indicates success
val printerStatusMap =
resultData!!.getSerializable("PrinterStatusMap") as HashMap<*, *>?
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
resultData!!.getSerializable(
"PrinterStatusMap", HashMap::class.java
)
} else {
@Suppress("DEPRECATED")
resultData!!.getSerializable("PrinterStatusMap") as? HashMap<String, String>
}
Toast.makeText(context, printerStatusMap.toString(), Toast.LENGTH_LONG)
.show()
} else {
@ -475,13 +485,11 @@ class TestPrint(
} else {
customDialog.setTitle(getString(R.string.info))
.setDescription(
customDialog.setTitle(getString(R.string.info)).setDescription(
getString(R.string.operation) + itemscaned + "." + getString(
R.string.answer
) + it.response
)
.setOkButton(getString(R.string.accept)) {
).setOkButton(getString(R.string.accept)) {
customDialog.dismiss()
binding.mainToolbar.backButton.performClick()
}.show()

View File

@ -223,7 +223,7 @@ class AjustesFragment :
loginViewModel = LoginViewModel(requireActivity().applicationContext)
loginViewModel.operator_getDataSalix(mobileApplication.userId!!)
loginViewModel.operatorGetData(mobileApplication.userId!!)
loginViewModel.workerOperator.observe(this@AjustesFragment) { iti ->
if (!iti.isError) {
runBlocking { mobileApplication.dataStoreApp.saveDataOperator(iti) }
@ -232,7 +232,7 @@ class AjustesFragment :
}
}
setSettings(false)
setSettings()
}
private fun showMenuByDefault() {
pasilleroViewModel = PasilleroViewModel(mobileApplication)
@ -247,7 +247,7 @@ class AjustesFragment :
showDialogForAll((arrayList).toTypedArray(), getString(R.string.menuByDefault))
}
private fun setSettings(actionIsAllowed: Boolean = false) {
private fun setSettings() {
runBlocking {

View File

@ -147,7 +147,7 @@ class AjustesViewModel(val context: Context) : BaseViewModel(context) {
}
fun getItemPackingTypeSalix() {
salix.get_ItemPackingType().enqueue(object :
salix.getItemPackingType().enqueue(object :
SalixCallback<List<ItemPackingType>>(context) {
override fun onSuccess(response: Response<List<ItemPackingType>>) {
@ -189,7 +189,7 @@ class AjustesViewModel(val context: Context) : BaseViewModel(context) {
}
fun workerUpdateOperatorSalix(entity: String, workerFk: Int, sectorFk: Int?, labelerFk: Int?) {
salix.update_operator(id = workerFk, Operator(sectorFk, labelerFk))
salix.updateOperator(id = workerFk, Operator(sectorFk, labelerFk))
.enqueue(object : SalixCallback<Unit>(context) {
override fun onSuccess(response: Response<Unit>) {
@ -205,7 +205,7 @@ class AjustesViewModel(val context: Context) : BaseViewModel(context) {
fun operatorUpdate(workerId: Int, update: HashMap<String, String>) {
salix.update_operator(id = workerId, params = update)
salix.updateOperator(id = workerId, params = update)
.enqueue(object : SalixCallback<Unit>(context) {
})
}

View File

@ -20,7 +20,7 @@ class BufferFragmentViewModel(val context: Context) : BaseViewModel(context) {
get() = _bufferLoadResponse
fun bufferSetTypeByName(vBufferFk: Number, vType: String) {
salix.buffer_setTypeByName(params = listOf(vBufferFk, vType).formatWithQuotes())
salix.bufferSetTypeByName(params = listOf(vBufferFk, vType).formatWithQuotes())
.enqueue(object : SalixCallback<List<JsonObject>>(context) {
override fun onSuccess(response: Response<List<JsonObject>>) {

View File

@ -376,7 +376,7 @@ class SaleAdapter(
ivArrow.setOnClickListener {
if (isExpanded!!) {
if (isExpanded) {
ivArrow.setImageResource(R.drawable.ic_arrow_up)
itemArticlePlacements.visibility = View.GONE
} else {

View File

@ -144,7 +144,7 @@ class SaleAdapterNew(
if (sale.originalQuantity != sale.saleQuantity && sale.originalQuantity != null && !sale.isParent) {
layoutError.visibility = View.VISIBLE
txtError.text =
binding.root.context.getString(R.string.originalQuantity) + sale.originalQuantity!!
binding.root.context.getString(R.string.originalQuantity) + sale.originalQuantity
} else {
layoutError.visibility = View.GONE
@ -233,7 +233,7 @@ class SaleAdapterNew(
ivArrow.setOnClickListener {
if (isExpanded!!) {
if (isExpanded) {
ivArrow.setImageResource(R.drawable.ic_arrow_up)
itemArticlePlacements.visibility = View.GONE
} else {

View File

@ -1688,7 +1688,7 @@ class CollectionFragment(
} catch (e: Exception) {
}
try {
customDialogList.getEditTextTwo().setRawInputType(InputType.TYPE_CLASS_NUMBER)
customDialogList.getEditTextTwo().setRawInputType(TYPE_CLASS_NUMBER)
customDialogList.getEditTextTwo().setOnEditorActionListener { v, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
@ -1905,8 +1905,8 @@ class CollectionFragment(
ticketSelected = listPlacementSupply[0].code!!.toInt()
}
customDialogList.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
customDialogList.getEditTextTwo().inputType = InputType.TYPE_CLASS_NUMBER
customDialogList.getEditText().setRawInputType(InputType.TYPE_CLASS_NUMBER)
customDialogList.getEditTextTwo().inputType = TYPE_CLASS_NUMBER
customDialogList.getEditText().setRawInputType(TYPE_CLASS_NUMBER)
customDialogList.setTitle(getString(R.string.Agregarartículoparaticket) + " " + ticketSelected)
.setOkButton(getString(R.string.Agregar)) {

View File

@ -10,6 +10,7 @@ import android.os.Build
import android.os.Bundle
import android.os.Parcelable
import android.text.InputType
import android.util.Log
import android.view.KeyEvent
import android.view.View
import android.view.WindowManager
@ -1383,7 +1384,13 @@ class CollectionFragmentPicker(
if (type == SACADOR) {
canChangeState = true
try {
saleTracking_mark(position, newType)
}catch (ex:Exception){
//error ""
Log.e("Crashlytics",ex.message.toString())
}
//nuevo
var mySale = sales[position].saleFk
for (indice in myGroupList.indices) {

View File

@ -403,7 +403,7 @@ class CollectionFragmentPreChecker(
if (at.saleGroupFk != saleGroup) {
viewModel.setParking(
ticketFk = at.saleGroupFk.toInt(),
parking = myQr.more!!
parking = myQr.more
)
saleGroup = at.saleGroupFk
}
@ -1486,7 +1486,7 @@ class CollectionFragmentPreChecker(
isChecked = if (type == SACADOR) sales[position].isPrepared else if (type == CONTROLADOR) sales[position].isControlled else if (type == "PRECHECKER") sales[position].isPreControlled else "1",
originalQuantity = sales[position].pickedQuantity!!,
code = if (type == CONTROLADOR) "CHECKED" else if (type == "PRECHECKER") "PREVIOUS_CONTROL" else type,//type.toString(),
buyFk = originalItemScan!!,
buyFk = originalItemScan,
isScanned = isScanned
)
@ -1502,7 +1502,7 @@ class CollectionFragmentPreChecker(
isChecked = if (type == SACADOR) sales[position].isPrepared else if (type == CONTROLADOR) sales[position].isControlled else if (type == "PRECHECKER") sales[position].isPreControlled else "1",
originalQuantity = sales[position].pickedQuantity!!,
code = if (type == CONTROLADOR) "CHECKED" else if (type == "PRECHECKER") "PREVIOUS_CONTROL" else type,//type.toString(),
buyFk = originalItemScan!!,
buyFk = originalItemScan,
itemShelvingFk = itemShelvingTracking_mark,
quantity = customDialogList.getValue().toInt(),
isScanned = isScanned
@ -1674,7 +1674,7 @@ class CollectionFragmentPreChecker(
} catch (e: Exception) {
}
try {
customDialogList.getEditTextTwo().setRawInputType(InputType.TYPE_CLASS_NUMBER)
customDialogList.getEditTextTwo().setRawInputType(TYPE_CLASS_NUMBER)
customDialogList.getEditTextTwo().setOnEditorActionListener { v, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
@ -1902,8 +1902,8 @@ class CollectionFragmentPreChecker(
ticketSelected = listPlacementSupply[0].code!!.toInt()
}
customDialogList.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
customDialogList.getEditTextTwo().inputType = InputType.TYPE_CLASS_NUMBER
customDialogList.getEditText().setRawInputType(InputType.TYPE_CLASS_NUMBER)
customDialogList.getEditTextTwo().inputType = TYPE_CLASS_NUMBER
customDialogList.getEditText().setRawInputType(TYPE_CLASS_NUMBER)
customDialogList.setTitle(getString(R.string.Agregarartículoparaticket) + " " + ticketSelected)
.setOkButton(getString(R.string.Agregar)) {

View File

@ -1053,7 +1053,7 @@ class CollectionFragmentPreCheckerNew(
ticketSelected,
saleGroupFk = saleGroupSelected,
sectorFk = mobileApplication.dataStoreApp.readDataStoreKey<Int>(
ConstAndValues.SECTORFK
SECTORFK
)
)
}

View File

@ -213,7 +213,7 @@ class ControlVehiculoViewModel(val context: Context) : BaseViewModel(context) {
fun sipGetExtensionSalix(
workerId: Int
) {
salix.sip_getExtension(
salix.sipGetExtension(
workerId
).enqueue(object : SalixCallback<Any>(context) {

View File

@ -86,7 +86,8 @@ class HistoricoAdapter(
binding: ItemHistoricoRowBinding,
) {
when (stateName!!.lowercase()) {
when (stateName?.lowercase()) {
"preparado", "en preparación", "autoimpreso", "impreso" -> {
binding.clientName.setBackgroundColor(
ContextCompat.getColor(

View File

@ -218,10 +218,10 @@ class HistoricoArticuloFragment(
title = getString(R.string.titleWebViewer),
), entryPoint = Gson().toJson(
mutableMapOf(
"entryPoint" to item.entityId,
"entryPoint" to item.originId,
"web" to "${
mobileApplication.dataStoreApp.getServerSalix()
}/#!/ticket/${item.entityId}/summary"
}/#!/ticket/${item.originId}/summary"
)
)
)

View File

@ -23,7 +23,7 @@ class ShelvingLogViewModel(val context: Context) : BaseViewModel(context) {
val loadResponseParking: LiveData<Event<Int?>> =_responseParkingId.map { Event(it) }
fun shelvings(vShelvingFK: String) {
salix.Shelvings("""{"where": {"code": "$vShelvingFK"}}""").enqueue(object :
salix.shelvingsGet("""{"where": {"code": "$vShelvingFK"}}""").enqueue(object :
SalixCallback<List<ShelvingLogSalix>>(context) {
override fun onSuccess(response: Response<List<ShelvingLogSalix>>) {
_itemShelvingLogSalixList.value = response.body()?.let {

View File

@ -144,7 +144,7 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
}
fun departmentGetHasMistake() {
salix.department_getHasMistake()
salix.departmentGetHasMistake()
.enqueue(object : SalixCallback<List<DepartmentMistake>>(context) {
override fun onSuccess(response: Response<List<DepartmentMistake>>) {
_mistakeDepartmentList.value =

View File

@ -5,6 +5,7 @@ import android.content.Intent
import android.media.MediaPlayer
import android.os.Build
import android.util.AttributeSet
import android.util.Log.e
import android.view.Menu
import android.view.View
import android.widget.Toast
@ -483,7 +484,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
}
fun delete_Fragments() {
fm.getFragments().forEach {
fm.fragments.forEach {
val fragment: Fragment? = supportFragmentManager.findFragmentByTag(it.tag.toString())
if (fragment != null) supportFragmentManager.beginTransaction().remove(fragment)
.commit()
@ -586,7 +587,12 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
}
getString(R.string.titleUserControlVehicle) -> {
try {
addFragmentOnTop(ControlVehiculoUsuarioFragment.newInstance(entryPoint.toInt()))
}catch (ex:Exception){
e("Crashlytics",ex.message.toString())
}
}
/* getString(R.string.titlePrePicker) -> {
@ -1153,10 +1159,10 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
myTimeUserInteraction = System.currentTimeMillis() / 1000 / 3600
val loginViewModel = LoginViewModel(application as MobileApplication)
try {
loginViewModel.deviceLog_addSalix(
loginViewModel.deviceLogAddSalix(
app = getString(R.string.logAppName),
versionApp = (application as MobileApplication).versionName,
android_id = (application as MobileApplication).androidId,
androidId = (application as MobileApplication).androidId,
serialnumber = (application as MobileApplication).serialNumber ?: "",
userFk = (application as MobileApplication).userId!!)
}catch (ex:Exception){

View File

@ -237,7 +237,7 @@ class ObservFragment(
private fun uploadImages(listImages: MutableList<Image>) {
for (item in listImages) {
val drawable = getDrawableFromImageUri(requireContext(), (item as Image).uri)
val drawable = getDrawableFromImageUri(requireContext(), item.uri)
val bitmap = drawable!!.toBitmap()
viewModel.entry_uploadPhotoSalix(

View File

@ -66,17 +66,13 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
val loadEntryAdd: LiveData<Event<EntrySalix>> = _entryAdd.map { Event(it) }
fun getSuppliers() {
salix.getSuppliers()
.enqueue(object :
SalixCallback<List<Supplier>>(context) {
salix.getSuppliers().enqueue(object : SalixCallback<List<Supplier>>(context) {
override fun onError(t: Throwable) {
val listError: ArrayList<Supplier> = ArrayList()
listError.add(
Supplier(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), t.message!!
)
)
)
@ -90,10 +86,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
val listError: ArrayList<Supplier> = ArrayList()
listError.add(
Supplier(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message()
)
)
)
@ -105,17 +99,12 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
})
}
//http://localhost:3000/api/Entries/1/uploadFile?warehouseId=1&companyId=442&dmsTypeId=21&reference=1&description="Example description"&hasFile=false (tiene que ser de tipo Multipart y llevar adjunto un fichero)
fun uploadFile(entry: EntrySalix) {
salix.add_entry(entry)
.enqueue(object :
SalixCallback<EntrySalix>(context) {
salix.addEntry(entry).enqueue(object : SalixCallback<EntrySalix>(context) {
override fun onError(t: Throwable) {
_entry.value = EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), t.message!!
)
)
}
@ -125,10 +114,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
_entry.value = response.body()
} else {
_entry.value = EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message()
)
)
}
@ -145,8 +132,7 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
val today = dateFormat.format(calendar.time)
salix.getEntriesFromSupplier("""{"where": {"supplierFk": "$supplier","created":{"gte":"$today"},"typeFk":"packaging","order":"created ASC"},"include": [ { "relation": "travel", "scope": { "fields": ["landed"]}}]}""")
.enqueue(object :
SalixCallback<List<EntrySalix>>(context) {
.enqueue(object : SalixCallback<List<EntrySalix>>(context) {
override fun onSuccess(response: Response<List<EntrySalix>>) {
if (response.body() != null) {
@ -155,10 +141,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
val listError: ArrayList<EntrySalix> = ArrayList()
listError.add(
EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message()
)
)
)
@ -203,15 +187,11 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
}
fun entry_addSalix(entry: EntrySalix) {
salix.add_entry(entry)
.enqueue(object :
SalixCallback<EntrySalix>(context) {
salix.addEntry(entry).enqueue(object : SalixCallback<EntrySalix>(context) {
override fun onError(t: Throwable) {
_entry.value = EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), t.message!!
)
)
}
@ -221,10 +201,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
_entry.value = response.body()
} else {
_entry.value = EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message()
)
)
}
@ -234,9 +212,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
}
fun entryUpdateObserv(entryId: Int, observation: String) {
salix.entry_updateObserv(entryId, ObervationEntry(observation))
.enqueue(object :
SalixCallback<EntrySalix>(context) {
salix.entryUpdateObserv(entryId, ObervationEntry(observation))
.enqueue(object : SalixCallback<EntrySalix>(context) {
override fun onSuccess(response: Response<EntrySalix>) {
_entryUpdate.value = true
@ -270,22 +247,15 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
file = MultipartBody.Part.createFormData(
"file", file.name, fileRequestBody
)
)
.enqueue(object : SalixCallback<Any>(context) {
).enqueue(object : SalixCallback<Any>(context) {
override fun onError(t: Throwable) {
_uploadEntryImage.value = EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), t.message!!
)
)
}
override fun onSuccess(response: Response<Any>) {
super.onSuccess(response)
}
})
}
@ -295,10 +265,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
.enqueue(object : SalixCallback<EntrySalix>(context) {
override fun onError(t: Throwable) {
_entryAdd.value = EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), t.message!!
)
)
}
@ -308,10 +276,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
_entryAdd.value = response.body()
} else {
_entryAdd.value = EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message()
)
)
}
@ -325,10 +291,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
.enqueue(object : SalixCallback<Void>(context) {
override fun onError(t: Throwable) {
_response.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), t.message!!
)
)
}
@ -336,10 +300,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
override fun onSuccess(response: Response<Void>) {
_response.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message()
)
)
@ -352,10 +314,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
.enqueue(object : SalixCallback<EntrySalix>(context) {
override fun onError(t: Throwable) {
_entryAdd.value = EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), t.message!!
)
)
}
@ -365,10 +325,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
_entryAdd.value = response.body()
} else {
_entryAdd.value = EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), response.message()
)
)
}
@ -384,10 +342,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
val listError: ArrayList<ItemSupplier> = ArrayList()
listError.add(
ItemSupplier(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
isError = true, errorMessage = getMessageFromAllResponse(
nameofFunction(this), t.message!!
)
)
)
@ -396,8 +352,7 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
override fun onSuccess(response: Response<List<ItemSupplier>>) {
if (response.body() != null) {
_itemSupplierList.value =
response.body()?.let { itemSupplierList(it) }
_itemSupplierList.value = response.body()?.let { itemSupplierList(it) }
} else {
val listError: ArrayList<ItemSupplier> = ArrayList()
listError.add(ItemSupplier(null, null))
@ -405,8 +360,6 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
}
}
})
}
}

View File

@ -21,7 +21,7 @@ class ExpeditionStateViewModel(val context: Context) : BaseViewModel(context) {
get() = _itemExpedition
fun expeditionGetStateJSON(expeditionFk: Long) {
salix.expedition_getState(params = arrayListOf(expeditionFk))
salix.expeditionGetState(params = arrayListOf(expeditionFk))
.enqueue(object : SalixCallback<ArrayList<JsonObject>>(context) {
override fun onSuccess(response: Response<ArrayList<JsonObject>>) {
_itemExpedition.value = ItemExpedetionState(

View File

@ -3,6 +3,7 @@ import android.app.Activity.RESULT_OK
import android.content.Context
import android.content.Intent
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.Drawable
import android.net.Uri
@ -51,12 +52,16 @@ class PhotosFragment(
binding.itemcardImage.setImageURI(imageUri)
} else {
// Image captured from camera
val bitmap = result.data?.extras?.get("data") as Bitmap
val byteArray = result.data?.extras?.getByteArray("data")
if (byteArray != null) {
val bitmap = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.size)
val uri = saveBitmapAsTempFile(requireContext(), bitmap).toUri()
binding.itemcardImage.setImageURI(uri)
}
}
}
}
override fun getLayoutId(): Int = R.layout.fragment_photos

View File

@ -1,66 +0,0 @@
package es.verdnatura.presentation.view.feature.photos.fragment
import android.content.Context
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import es.verdnatura.domain.SalixCallback
import es.verdnatura.presentation.base.BaseViewModel
import es.verdnatura.presentation.base.getMessageFromAllResponse
import es.verdnatura.presentation.base.nameofFunction
import es.verdnatura.presentation.common.ResponseItemVO
import okhttp3.MediaType
import okhttp3.MultipartBody
import okhttp3.RequestBody
import retrofit2.Response
import java.io.File
import java.util.Date
class PhotosViewModel(val context: Context) : BaseViewModel(context) {
private val _responseinsert by lazy { MutableLiveData<ResponseItemVO>() }
val responseinsert: LiveData<ResponseItemVO>
get() = _responseinsert
fun uploadPhoto(
// val img = dataURItoBlob(cropper.getCroppedCanvas().toDataURL("image/png"))
urlImage:String,
itemFK:Int = 11 ,
itemId:String = "11" ,
date: Date = Date(),
timestamp: Long = date.time,
fileName: String = "${itemFK}_$timestamp",
file: File = File("$urlImage"),
fileRequestBody: RequestBody = RequestBody.create(MediaType.parse("image/jpeg"), file),
filePart: MultipartBody.Part = MultipartBody.Part.createFormData("file", file.name, fileRequestBody),
fileNameRequestBody: RequestBody = RequestBody.create(MediaType.parse("text/plain"), fileName),
) {
salix.uploadImage("catalog",itemFK,filePart)
.enqueue(object : SalixCallback<Any>(context) {
override fun onError(t: Throwable) {
_responseinsert.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
)
}
override fun onSuccess(response: Response<Any>) {
_responseinsert.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
)
)
}
})
}
}

View File

@ -693,7 +693,7 @@ class EndSacadorFragment(
storedPosition = position
var quantityGet = 0
try {
quantityGet = (sales[position].saldo!! - sales[position].picked!!)
quantityGet = (sales[position].saldo - sales[position].picked)
} catch (e: Exception) {
}
viewModel.itemPlacementSupplyAiming(
@ -871,7 +871,7 @@ class EndSacadorFragment(
//2- MODIFICAR EL PICKED DEL SALE
try {
sales[storedPosition].picked =
sales[storedPosition].picked!! + customDialogList.getValue().toInt()
sales[storedPosition].picked + customDialogList.getValue().toInt()
} catch (e: Exception) {
}

View File

@ -53,11 +53,6 @@ class SectorCollectionReserveFragment(
if (context is OnCollectionTicketSelectedListener) onCollectionSelectedListener = context
}
override fun onPause() {
// onBack = true
super.onPause()
}
override fun onResume() {
onBack = true
super.onResume()

View File

@ -164,7 +164,7 @@ class SacadorViewModel(val context: Context) : BaseViewModel(context) {
}
fun itemShelvingSale_addByCollection(collection: Int) {
salix.itemShelvingSale_addByCollection(collection).enqueue(
salix.itemShelvingSaleAddByCollection(collection).enqueue(
object :
SalixCallback<Any>(context) {
override fun onError(t: Throwable) {

View File

@ -3,6 +3,7 @@ package es.verdnatura.presentation.view.feature.sacador.fragment.showticket
import android.content.Context
import android.os.Bundle
import android.text.InputType.TYPE_CLASS_NUMBER
import android.util.Log.e
import android.view.View
import android.view.inputmethod.EditorInfo
import androidx.recyclerview.widget.LinearLayoutManager
@ -55,7 +56,12 @@ class ShowTicketFragment() :
}
setEvents()
//Tarea 6531
try {
viewModel.myLastTickets(mobileApplication.userId!!)
}catch (ex:Exception){
e("Crashlytics",ex.message.toString())
}
super.init()
}

View File

@ -11,7 +11,7 @@ class TicketViewModel(val context: Context) : BaseViewModel(context) {
ticketFk: Int, workerFk: Int
) {
salix.ticket_advancePackaging(PackingSiteSalix(ticketFk, workerFk))
salix.ticketAdvancePackaging(PackingSiteSalix(ticketFk, workerFk))
.enqueue(object : SalixCallback<Unit>(context) {})
}

View File

@ -839,5 +839,9 @@
<string name="notesClaim">Notas de reclamaciones</string>
<string name="titlePreControlTest">Pre Control TEST</string>
<string name="errorImage">No se ha podido mostrar la imagen</string>
<string name="messageTwoFactor">Por favor, introduce el código enviado a tu email en los próximos 5 minutos</string>
<string name="messageTwoFactorTitle">Verificación doble factor</string>
<string name="validate">Validar</string>
<string name="showClaimObservation">Muestra las observaciones de reclamaciones</string>
</resources>

View File

@ -839,5 +839,9 @@
<string name="notesClaim">Notas de reclamaciones</string>
<string name="titlePreControlTest">Pre Control TEST</string>
<string name="errorImage">No se ha podido mostrar la imagen</string>
<string name="messageTwoFactor">Por favor, introduce el código enviado a tu email en los próximos 5 minutos</string>
<string name="messageTwoFactorTitle">Verificación doble factor</string>
<string name="validate">Validar</string>
<string name="showClaimObservation">Muestra las observaciones de reclamaciones</string>
</resources>

View File

@ -839,5 +839,9 @@
<string name="notesClaim">Notas de reclamaciones</string>
<string name="titlePreControlTest">Pre Control TEST</string>
<string name="errorImage">No se ha podido mostrar la imagen</string>
<string name="messageTwoFactor">Por favor, introduce el código enviado a tu email en los próximos 5 minutos</string>
<string name="messageTwoFactorTitle">Verificación doble factor</string>
<string name="validate">Validar</string>
<string name="showClaimObservation">Muestra las observaciones de reclamaciones</string>
</resources>

View File

@ -841,5 +841,9 @@
<string name="notesClaim">Notas de reclamaciones</string>
<string name="titlePreControlTest">Pre Control TEST</string>
<string name="errorImage">No se ha podido mostrar la imagen</string>
<string name="messageTwoFactor">Por favor, introduce el código enviado a tu email en los próximos 5 minutos</string>
<string name="messageTwoFactorTitle">Verificación doble factor</string>
<string name="validate">Validar</string>
<string name="showClaimObservation">Muestra las observaciones de reclamaciones</string>
</resources>