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> <InsightsFilterSettings>
<option name="connection"> <option name="connection">
<ConnectionSetting> <ConnectionSetting>
<option name="appId" value="es.verdnatura" /> <option name="appId" value="es.verdnatura.sfusion" />
<option name="mobileSdkAppId" value="1:975691769093:android:83eff0dadf5ca9d3e3c36c" /> <option name="mobileSdkAppId" value="1:975691769093:android:83eff0dadf5ca9d3e3c36c" />
<option name="projectId" value="picking-2b9a0" /> <option name="projectId" value="picking-2b9a0" />
<option name="projectNumber" value="975691769093" /> <option name="projectNumber" value="975691769093" />

View File

@ -4,10 +4,10 @@
<selectionStates> <selectionStates>
<SelectionState runConfigName="app"> <SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" /> <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"> <Target type="DEFAULT_BOOT">
<handle> <handle>
<DeviceId pluginId="LocalEmulator" identifier="path=C:\Users\sergiodt\.android\avd\Pixel_7a_API_30.avd" /> <DeviceId pluginId="PhysicalDevice" identifier="serial=21114523025303" />
</handle> </handle>
</Target> </Target>
</DropdownSelection> </DropdownSelection>

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="DesignSurface"> <component name="DesignSurface">
<option name="filePathToZoomLevelMap"> <option name="filePathToZoomLevelMap">
@ -275,6 +276,51 @@
</option> </option>
</component> </component>
<component name="ExternalStorageConfigurationManager" enabled="true" /> <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"> <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" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>

View File

@ -3,6 +3,7 @@
<component name="AnalysisUIOptions"> <component name="AnalysisUIOptions">
<option name="SPLITTER_PROPORTION" value="0.39301553" /> <option name="SPLITTER_PROPORTION" value="0.39301553" />
<option name="GROUP_BY_SEVERITY" value="true" /> <option name="GROUP_BY_SEVERITY" value="true" />
<option name="ANALYZE_INJECTED_CODE" value="false" />
<option name="CUSTOM_SCOPE_NAME" value="All Places" /> <option name="CUSTOM_SCOPE_NAME" value="All Places" />
<option name="SHOW_STRUCTURE" value="true" /> <option name="SHOW_STRUCTURE" value="true" />
</component> </component>
@ -139,6 +140,11 @@
<theme>@style/AppTheme</theme> <theme>@style/AppTheme</theme>
</config> </config>
</layout> </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"> <layout url="file://$PROJECT_DIR$/app/src/main/res/layout/fragment_info_delivery.xml">
<config> <config>
<theme>@style/AppTheme</theme> <theme>@style/AppTheme</theme>
@ -225,6 +231,11 @@
<theme>@style/AppTheme</theme> <theme>@style/AppTheme</theme>
</config> </config>
</layout> </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"> <layout url="file://$PROJECT_DIR$/app/src/main/res/layout/item_image_row.xml">
<config> <config>
<theme>@style/AppTheme</theme> <theme>@style/AppTheme</theme>
@ -322,16 +333,54 @@
</select> </select>
</component> </component>
<component name="ChangeListManager"> <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/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/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/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/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/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/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/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/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/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/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>
<list id="7b98f93d-6980-4bf1-8e61-c7afd10e56f2" name="Change_category" comment="Change_category" /> <list id="7b98f93d-6980-4bf1-8e61-c7afd10e56f2" name="Change_category" comment="Change_category" />
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
@ -346,7 +395,7 @@
<component name="CodeInsightWorkspaceSettings"> <component name="CodeInsightWorkspaceSettings">
<option name="optimizeImportsOnTheFly" value="true" /> <option name="optimizeImportsOnTheFly" value="true" />
</component> </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"> <component name="ExportToHTMLSettings">
<option name="OPEN_IN_BROWSER" value="true" /> <option name="OPEN_IN_BROWSER" value="true" />
<option name="OUTPUT_DIRECTORY" value="C:\Program Files\Android\Android Studio\inspections" /> <option name="OUTPUT_DIRECTORY" value="C:\Program Files\Android\Android Studio\inspections" />
@ -475,7 +524,7 @@
</component> </component>
<component name="ProblemsViewState"> <component name="ProblemsViewState">
<option name="proportion" value="0.50190353" /> <option name="proportion" value="0.50190353" />
<option name="selectedTabId" value="ProjectErrors" /> <option name="selectedTabId" value="CurrentFile" />
<option name="sortByName" value="true" /> <option name="sortByName" value="true" />
</component> </component>
<component name="ProjectColorInfo">{ <component name="ProjectColorInfo">{
@ -495,7 +544,7 @@
"keyToString": { "keyToString": {
"Android App.app.executor": "Run", "Android App.app.executor": "Run",
"ApkExportedModule": "Gestor_Almacén.app", "ApkExportedModule": "Gestor_Almacén.app",
"DEBUGGABLE_DEVICE": "zebra_technologies-tc27-23208524700332", "DEBUGGABLE_DEVICE": "zebra_technologies-tc21-21114523025303",
"DEBUGGABLE_PROCESS": "es.verdnatura.sfusion", "DEBUGGABLE_PROCESS": "es.verdnatura.sfusion",
"DEBUGGER_ID": "Auto", "DEBUGGER_ID": "Auto",
"ExportApk.ApkPathForGestor_Almacén.app": "C:\\Users\\sergiodt\\AndroidStudioProjects\\vn-warehouseManager\\app", "ExportApk.ApkPathForGestor_Almacén.app": "C:\\Users\\sergiodt\\AndroidStudioProjects\\vn-warehouseManager\\app",
@ -533,7 +582,7 @@
}, },
"keyToStringList": { "keyToStringList": {
"ExportApk.BuildVariants": [ "ExportApk.BuildVariants": [
"generalRelease" "betaRelease"
], ],
"com.android.tools.idea.sqlite.queryhistory": [ "com.android.tools.idea.sqlite.queryhistory": [
"select * from expedition where routeFk=182933;", "select * from expedition where routeFk=182933;",
@ -1083,7 +1132,7 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1709725795643</updated> <updated>1709725795643</updated>
</task> </task>
<option name="localTasksCounter" value="330" /> <option name="localTasksCounter" value="335" />
<servers /> <servers />
</component> </component>
<component name="Vcs.Log.History.Properties"> <component name="Vcs.Log.History.Properties">
@ -1184,9 +1233,6 @@
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" /> <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="refs #6530 feat:refactorOnBackPressed" />
<MESSAGE value="feat changeCategory #refs 4979" /> <MESSAGE value="feat changeCategory #refs 4979" />
<MESSAGE value="feat refactor Ubicador #refs 6413" /> <MESSAGE value="feat refactor Ubicador #refs 6413" />
@ -1205,13 +1251,48 @@
<MESSAGE value="feat boxPickingCheck refs #7751" /> <MESSAGE value="feat boxPickingCheck refs #7751" />
<MESSAGE value="feat barCode in ItemShelvingLog refs #7739" /> <MESSAGE value="feat barCode in ItemShelvingLog refs #7739" />
<MESSAGE value="feat Rename refs #7763" /> <MESSAGE value="feat Rename refs #7763" />
<MESSAGE value="feat getAddress #refs 7622" />
<MESSAGE value="feat reservas #refs 6861" /> <MESSAGE value="feat reservas #refs 6861" />
<MESSAGE value="feat claimObservation refs #7541" />
<MESSAGE value="feat issues refs #7636" /> <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>
<component name="XDebuggerManager"> <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> <pin-to-top-manager>
<pinned-members> <pinned-members>
<PinnedItemInfo parentTag="java.net.SocketException" memberName="detailMessage" /> <PinnedItemInfo parentTag="java.net.SocketException" memberName="detailMessage" />

View File

@ -13,14 +13,16 @@ android {
applicationId "es.verdnatura" applicationId "es.verdnatura"
minSdkVersion 26 minSdkVersion 26
targetSdkVersion 33 // se deja con target si no Play Protect la bloquea targetSdkVersion 33 // se deja con target si no Play Protect la bloquea
versionCode 316 versionCode 319
versionName = "24.30" versionName = "24.30Beta"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
buildTypes { buildTypes {
release { release {
minifyEnabled false /*debuggable false
shrinkResources true
minifyEnabled true*/
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 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 # If you keep the line number information, uncomment this to
# hide the original source file name. # hide the original source file name.
#-renamesourcefileattribute SourceFile #-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.paletizador.fragment.PalletScanViewModel
import es.verdnatura.presentation.view.feature.parking.fragment.ParkingViewModel import es.verdnatura.presentation.view.feature.parking.fragment.ParkingViewModel
import es.verdnatura.presentation.view.feature.pasillero.fragment.PasilleroViewModel 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.presacador.fragment.PreSacadorViewModel
import es.verdnatura.presentation.view.feature.qr.QrFragmentViewModel import es.verdnatura.presentation.view.feature.qr.QrFragmentViewModel
import es.verdnatura.presentation.view.feature.roadmap.fragment.RoadMapListViewModel import es.verdnatura.presentation.view.feature.roadmap.fragment.RoadMapListViewModel
@ -194,9 +193,7 @@ val viewModelModule = module {
viewModel { viewModel {
PackingHollandViewModel(androidContext()) PackingHollandViewModel(androidContext())
} }
viewModel {
PhotosViewModel(androidContext())
}
viewModel { viewModel {
TicketViewModel(androidContext()) TicketViewModel(androidContext())
} }

View File

@ -1,12 +1,10 @@
package es.verdnatura.presentation.base package es.verdnatura.presentation.base
import android.Manifest
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.LayoutRes import androidx.annotation.LayoutRes
import androidx.databinding.DataBindingUtil import androidx.databinding.DataBindingUtil
import androidx.databinding.ViewDataBinding import androidx.databinding.ViewDataBinding
@ -18,8 +16,6 @@ import es.verdnatura.databinding.ToolbarFragmentBinding
import es.verdnatura.db.DeliveryDatabase import es.verdnatura.db.DeliveryDatabase
import es.verdnatura.presentation.view.feature.main.activity.MainActivity import es.verdnatura.presentation.view.feature.main.activity.MainActivity
import org.koin.androidx.viewmodel.ext.android.viewModel import org.koin.androidx.viewmodel.ext.android.viewModel
import timber.log.Timber
import timber.log.Timber.d
import kotlin.reflect.KClass import kotlin.reflect.KClass
abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>( abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(
@ -51,8 +47,6 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(
initDataBinding() initDataBinding()
getBundleArguments() getBundleArguments()
observeViewModel() observeViewModel()
//sergio: para llamadas con SIP
//requestCallPhonePermissionNew()
init() 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) { fun hideBackButton(tool: ToolbarFragmentBinding) {
tool.backButton.visibility = View.INVISIBLE tool.backButton.visibility = View.INVISIBLE
} }

View File

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

View File

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

View File

@ -147,7 +147,7 @@ class AjustesViewModel(val context: Context) : BaseViewModel(context) {
} }
fun getItemPackingTypeSalix() { fun getItemPackingTypeSalix() {
salix.get_ItemPackingType().enqueue(object : salix.getItemPackingType().enqueue(object :
SalixCallback<List<ItemPackingType>>(context) { SalixCallback<List<ItemPackingType>>(context) {
override fun onSuccess(response: Response<List<ItemPackingType>>) { 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?) { 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) { .enqueue(object : SalixCallback<Unit>(context) {
override fun onSuccess(response: Response<Unit>) { 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>) { 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) { .enqueue(object : SalixCallback<Unit>(context) {
}) })
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -218,10 +218,10 @@ class HistoricoArticuloFragment(
title = getString(R.string.titleWebViewer), title = getString(R.string.titleWebViewer),
), entryPoint = Gson().toJson( ), entryPoint = Gson().toJson(
mutableMapOf( mutableMapOf(
"entryPoint" to item.entityId, "entryPoint" to item.originId,
"web" to "${ "web" to "${
mobileApplication.dataStoreApp.getServerSalix() 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) } val loadResponseParking: LiveData<Event<Int?>> =_responseParkingId.map { Event(it) }
fun shelvings(vShelvingFK: String) { fun shelvings(vShelvingFK: String) {
salix.Shelvings("""{"where": {"code": "$vShelvingFK"}}""").enqueue(object : salix.shelvingsGet("""{"where": {"code": "$vShelvingFK"}}""").enqueue(object :
SalixCallback<List<ShelvingLogSalix>>(context) { SalixCallback<List<ShelvingLogSalix>>(context) {
override fun onSuccess(response: Response<List<ShelvingLogSalix>>) { override fun onSuccess(response: Response<List<ShelvingLogSalix>>) {
_itemShelvingLogSalixList.value = response.body()?.let { _itemShelvingLogSalixList.value = response.body()?.let {

View File

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

View File

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

View File

@ -237,7 +237,7 @@ class ObservFragment(
private fun uploadImages(listImages: MutableList<Image>) { private fun uploadImages(listImages: MutableList<Image>) {
for (item in listImages) { for (item in listImages) {
val drawable = getDrawableFromImageUri(requireContext(), (item as Image).uri) val drawable = getDrawableFromImageUri(requireContext(), item.uri)
val bitmap = drawable!!.toBitmap() val bitmap = drawable!!.toBitmap()
viewModel.entry_uploadPhotoSalix( 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) } val loadEntryAdd: LiveData<Event<EntrySalix>> = _entryAdd.map { Event(it) }
fun getSuppliers() { fun getSuppliers() {
salix.getSuppliers() salix.getSuppliers().enqueue(object : SalixCallback<List<Supplier>>(context) {
.enqueue(object :
SalixCallback<List<Supplier>>(context) {
override fun onError(t: Throwable) { override fun onError(t: Throwable) {
val listError: ArrayList<Supplier> = ArrayList() val listError: ArrayList<Supplier> = ArrayList()
listError.add( listError.add(
Supplier( Supplier(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), t.message!!
nameofFunction(this),
t.message!!
) )
) )
) )
@ -90,10 +86,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
val listError: ArrayList<Supplier> = ArrayList() val listError: ArrayList<Supplier> = ArrayList()
listError.add( listError.add(
Supplier( Supplier(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), response.message()
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) { fun uploadFile(entry: EntrySalix) {
salix.add_entry(entry) salix.addEntry(entry).enqueue(object : SalixCallback<EntrySalix>(context) {
.enqueue(object :
SalixCallback<EntrySalix>(context) {
override fun onError(t: Throwable) { override fun onError(t: Throwable) {
_entry.value = EntrySalix( _entry.value = EntrySalix(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), t.message!!
nameofFunction(this),
t.message!!
) )
) )
} }
@ -125,10 +114,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
_entry.value = response.body() _entry.value = response.body()
} else { } else {
_entry.value = EntrySalix( _entry.value = EntrySalix(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), response.message()
nameofFunction(this),
response.message()
) )
) )
} }
@ -145,8 +132,7 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
val today = dateFormat.format(calendar.time) 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"]}}]}""") salix.getEntriesFromSupplier("""{"where": {"supplierFk": "$supplier","created":{"gte":"$today"},"typeFk":"packaging","order":"created ASC"},"include": [ { "relation": "travel", "scope": { "fields": ["landed"]}}]}""")
.enqueue(object : .enqueue(object : SalixCallback<List<EntrySalix>>(context) {
SalixCallback<List<EntrySalix>>(context) {
override fun onSuccess(response: Response<List<EntrySalix>>) { override fun onSuccess(response: Response<List<EntrySalix>>) {
if (response.body() != null) { if (response.body() != null) {
@ -155,10 +141,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
val listError: ArrayList<EntrySalix> = ArrayList() val listError: ArrayList<EntrySalix> = ArrayList()
listError.add( listError.add(
EntrySalix( EntrySalix(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), response.message()
nameofFunction(this),
response.message()
) )
) )
) )
@ -203,15 +187,11 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
} }
fun entry_addSalix(entry: EntrySalix) { fun entry_addSalix(entry: EntrySalix) {
salix.add_entry(entry) salix.addEntry(entry).enqueue(object : SalixCallback<EntrySalix>(context) {
.enqueue(object :
SalixCallback<EntrySalix>(context) {
override fun onError(t: Throwable) { override fun onError(t: Throwable) {
_entry.value = EntrySalix( _entry.value = EntrySalix(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), t.message!!
nameofFunction(this),
t.message!!
) )
) )
} }
@ -221,10 +201,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
_entry.value = response.body() _entry.value = response.body()
} else { } else {
_entry.value = EntrySalix( _entry.value = EntrySalix(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), response.message()
nameofFunction(this),
response.message()
) )
) )
} }
@ -234,9 +212,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
} }
fun entryUpdateObserv(entryId: Int, observation: String) { fun entryUpdateObserv(entryId: Int, observation: String) {
salix.entry_updateObserv(entryId, ObervationEntry(observation)) salix.entryUpdateObserv(entryId, ObervationEntry(observation))
.enqueue(object : .enqueue(object : SalixCallback<EntrySalix>(context) {
SalixCallback<EntrySalix>(context) {
override fun onSuccess(response: Response<EntrySalix>) { override fun onSuccess(response: Response<EntrySalix>) {
_entryUpdate.value = true _entryUpdate.value = true
@ -270,22 +247,15 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
file = MultipartBody.Part.createFormData( file = MultipartBody.Part.createFormData(
"file", file.name, fileRequestBody "file", file.name, fileRequestBody
) )
) ).enqueue(object : SalixCallback<Any>(context) {
.enqueue(object : SalixCallback<Any>(context) {
override fun onError(t: Throwable) { override fun onError(t: Throwable) {
_uploadEntryImage.value = EntrySalix( _uploadEntryImage.value = EntrySalix(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), t.message!!
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) { .enqueue(object : SalixCallback<EntrySalix>(context) {
override fun onError(t: Throwable) { override fun onError(t: Throwable) {
_entryAdd.value = EntrySalix( _entryAdd.value = EntrySalix(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), t.message!!
nameofFunction(this),
t.message!!
) )
) )
} }
@ -308,10 +276,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
_entryAdd.value = response.body() _entryAdd.value = response.body()
} else { } else {
_entryAdd.value = EntrySalix( _entryAdd.value = EntrySalix(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), response.message()
nameofFunction(this),
response.message()
) )
) )
} }
@ -325,10 +291,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
.enqueue(object : SalixCallback<Void>(context) { .enqueue(object : SalixCallback<Void>(context) {
override fun onError(t: Throwable) { override fun onError(t: Throwable) {
_response.value = ResponseItemVO( _response.value = ResponseItemVO(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), t.message!!
nameofFunction(this),
t.message!!
) )
) )
} }
@ -336,10 +300,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
override fun onSuccess(response: Response<Void>) { override fun onSuccess(response: Response<Void>) {
_response.value = ResponseItemVO( _response.value = ResponseItemVO(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), response.message()
nameofFunction(this),
response.message()
) )
) )
@ -352,10 +314,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
.enqueue(object : SalixCallback<EntrySalix>(context) { .enqueue(object : SalixCallback<EntrySalix>(context) {
override fun onError(t: Throwable) { override fun onError(t: Throwable) {
_entryAdd.value = EntrySalix( _entryAdd.value = EntrySalix(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), t.message!!
nameofFunction(this),
t.message!!
) )
) )
} }
@ -365,10 +325,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
_entryAdd.value = response.body() _entryAdd.value = response.body()
} else { } else {
_entryAdd.value = EntrySalix( _entryAdd.value = EntrySalix(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), response.message()
nameofFunction(this),
response.message()
) )
) )
} }
@ -384,10 +342,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
val listError: ArrayList<ItemSupplier> = ArrayList() val listError: ArrayList<ItemSupplier> = ArrayList()
listError.add( listError.add(
ItemSupplier( ItemSupplier(
isError = true, isError = true, errorMessage = getMessageFromAllResponse(
errorMessage = getMessageFromAllResponse( nameofFunction(this), t.message!!
nameofFunction(this),
t.message!!
) )
) )
) )
@ -396,8 +352,7 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) {
override fun onSuccess(response: Response<List<ItemSupplier>>) { override fun onSuccess(response: Response<List<ItemSupplier>>) {
if (response.body() != null) { if (response.body() != null) {
_itemSupplierList.value = _itemSupplierList.value = response.body()?.let { itemSupplierList(it) }
response.body()?.let { itemSupplierList(it) }
} else { } else {
val listError: ArrayList<ItemSupplier> = ArrayList() val listError: ArrayList<ItemSupplier> = ArrayList()
listError.add(ItemSupplier(null, null)) 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 get() = _itemExpedition
fun expeditionGetStateJSON(expeditionFk: Long) { fun expeditionGetStateJSON(expeditionFk: Long) {
salix.expedition_getState(params = arrayListOf(expeditionFk)) salix.expeditionGetState(params = arrayListOf(expeditionFk))
.enqueue(object : SalixCallback<ArrayList<JsonObject>>(context) { .enqueue(object : SalixCallback<ArrayList<JsonObject>>(context) {
override fun onSuccess(response: Response<ArrayList<JsonObject>>) { override fun onSuccess(response: Response<ArrayList<JsonObject>>) {
_itemExpedition.value = ItemExpedetionState( _itemExpedition.value = ItemExpedetionState(

View File

@ -3,6 +3,7 @@ import android.app.Activity.RESULT_OK
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.net.Uri import android.net.Uri
@ -51,12 +52,16 @@ class PhotosFragment(
binding.itemcardImage.setImageURI(imageUri) binding.itemcardImage.setImageURI(imageUri)
} else { } else {
// Image captured from camera // 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() val uri = saveBitmapAsTempFile(requireContext(), bitmap).toUri()
binding.itemcardImage.setImageURI(uri) binding.itemcardImage.setImageURI(uri)
} }
} }
} }
}
override fun getLayoutId(): Int = R.layout.fragment_photos 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 storedPosition = position
var quantityGet = 0 var quantityGet = 0
try { try {
quantityGet = (sales[position].saldo!! - sales[position].picked!!) quantityGet = (sales[position].saldo - sales[position].picked)
} catch (e: Exception) { } catch (e: Exception) {
} }
viewModel.itemPlacementSupplyAiming( viewModel.itemPlacementSupplyAiming(
@ -871,7 +871,7 @@ class EndSacadorFragment(
//2- MODIFICAR EL PICKED DEL SALE //2- MODIFICAR EL PICKED DEL SALE
try { try {
sales[storedPosition].picked = sales[storedPosition].picked =
sales[storedPosition].picked!! + customDialogList.getValue().toInt() sales[storedPosition].picked + customDialogList.getValue().toInt()
} catch (e: Exception) { } catch (e: Exception) {
} }

View File

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

View File

@ -164,7 +164,7 @@ class SacadorViewModel(val context: Context) : BaseViewModel(context) {
} }
fun itemShelvingSale_addByCollection(collection: Int) { fun itemShelvingSale_addByCollection(collection: Int) {
salix.itemShelvingSale_addByCollection(collection).enqueue( salix.itemShelvingSaleAddByCollection(collection).enqueue(
object : object :
SalixCallback<Any>(context) { SalixCallback<Any>(context) {
override fun onError(t: Throwable) { 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.content.Context
import android.os.Bundle import android.os.Bundle
import android.text.InputType.TYPE_CLASS_NUMBER import android.text.InputType.TYPE_CLASS_NUMBER
import android.util.Log.e
import android.view.View import android.view.View
import android.view.inputmethod.EditorInfo import android.view.inputmethod.EditorInfo
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
@ -55,7 +56,12 @@ class ShowTicketFragment() :
} }
setEvents() setEvents()
//Tarea 6531 //Tarea 6531
try {
viewModel.myLastTickets(mobileApplication.userId!!) viewModel.myLastTickets(mobileApplication.userId!!)
}catch (ex:Exception){
e("Crashlytics",ex.message.toString())
}
super.init() super.init()
} }

View File

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

View File

@ -839,5 +839,9 @@
<string name="notesClaim">Notas de reclamaciones</string> <string name="notesClaim">Notas de reclamaciones</string>
<string name="titlePreControlTest">Pre Control TEST</string> <string name="titlePreControlTest">Pre Control TEST</string>
<string name="errorImage">No se ha podido mostrar la imagen</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> </resources>

View File

@ -839,5 +839,9 @@
<string name="notesClaim">Notas de reclamaciones</string> <string name="notesClaim">Notas de reclamaciones</string>
<string name="titlePreControlTest">Pre Control TEST</string> <string name="titlePreControlTest">Pre Control TEST</string>
<string name="errorImage">No se ha podido mostrar la imagen</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> </resources>

View File

@ -839,5 +839,9 @@
<string name="notesClaim">Notas de reclamaciones</string> <string name="notesClaim">Notas de reclamaciones</string>
<string name="titlePreControlTest">Pre Control TEST</string> <string name="titlePreControlTest">Pre Control TEST</string>
<string name="errorImage">No se ha podido mostrar la imagen</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> </resources>

View File

@ -841,5 +841,9 @@
<string name="notesClaim">Notas de reclamaciones</string> <string name="notesClaim">Notas de reclamaciones</string>
<string name="titlePreControlTest">Pre Control TEST</string> <string name="titlePreControlTest">Pre Control TEST</string>
<string name="errorImage">No se ha podido mostrar la imagen</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> </resources>