Merge branch 'dev' into testBeta
This commit is contained in:
commit
83d1361085
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<bytecodeTargetLevel target="17" />
|
||||
<bytecodeTargetLevel target="21" />
|
||||
</component>
|
||||
</project>
|
|
@ -4,7 +4,7 @@
|
|||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="testRunner" value="GRADLE" />
|
||||
<option name="testRunner" value="CHOOSE_PER_TEST" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="gradleHome" value="$PROJECT_DIR$/../../../../gradle/gradle-7.5" />
|
||||
<option name="gradleJvm" value="jbr-17" />
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="KotlinJpsPluginSettings">
|
||||
<option name="version" value="2.0.10" />
|
||||
<option name="version" value="2.0.20" />
|
||||
</component>
|
||||
</project>
|
|
@ -280,7 +280,7 @@
|
|||
<option name="myDefaultNotNull" value="androidx.annotation.NonNull" />
|
||||
<option name="myNullables">
|
||||
<value>
|
||||
<list size="15">
|
||||
<list size="16">
|
||||
<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" />
|
||||
|
@ -296,12 +296,13 @@
|
|||
<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" />
|
||||
<item index="15" class="java.lang.String" itemvalue="org.jspecify.annotations.Nullable" />
|
||||
</list>
|
||||
</value>
|
||||
</option>
|
||||
<option name="myNotNulls">
|
||||
<value>
|
||||
<list size="14">
|
||||
<list size="15">
|
||||
<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" />
|
||||
|
@ -316,11 +317,12 @@
|
|||
<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" />
|
||||
<item index="14" class="java.lang.String" itemvalue="org.jspecify.annotations.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_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
|
|
|
@ -60,6 +60,11 @@
|
|||
<theme>@style/AppTheme</theme>
|
||||
</config>
|
||||
</layout>
|
||||
<layout url="file://$PROJECT_DIR$/app/src/main/res/layout/activity_restaurant_view.xml">
|
||||
<config>
|
||||
<theme>@style/AppTheme</theme>
|
||||
</config>
|
||||
</layout>
|
||||
<layout url="file://$PROJECT_DIR$/app/src/main/res/layout/activity_sign.xml">
|
||||
<config>
|
||||
<theme>@style/AppTheme</theme>
|
||||
|
@ -406,6 +411,16 @@
|
|||
<theme>@style/AppTheme</theme>
|
||||
</config>
|
||||
</layout>
|
||||
<layout url="file://$PROJECT_DIR$/app/src/main/res/layout/item_ubication_row_6869.xml">
|
||||
<config>
|
||||
<theme>@style/AppTheme</theme>
|
||||
</config>
|
||||
</layout>
|
||||
<layout url="file://$PROJECT_DIR$/app/src/main/res/layout/item_ubication_row_new.xml">
|
||||
<config>
|
||||
<theme>@style/AppTheme</theme>
|
||||
</config>
|
||||
</layout>
|
||||
<layout url="file://$PROJECT_DIR$/app/src/main/res/layout/item_workermistake_row.xml">
|
||||
<config>
|
||||
<theme>@style/AppTheme</theme>
|
||||
|
@ -478,40 +493,12 @@
|
|||
</select>
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="fa688d1c-dbee-4864-9e33-4d84ef9afca8" name="Default Changelist" comment="feat: refs #8022 kotlin versionCatalog">
|
||||
<change afterPath="$PROJECT_DIR$/app/general/release/baselineProfiles/0/app-general-release.dm" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/src/main/res/layout/component_searchable_dialog_alert.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/appInsightsSettings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/appInsightsSettings.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/kotlinc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/kotlinc.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/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/MobileApplication.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/MobileApplication.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/common/GeneralAdapter.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/common/GeneralAdapter.kt" 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/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/CollectionFragmentPickerNew.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPickerNew.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPreChecker.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPreChecker.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionViewModel.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/controlador/fragment/ControladorFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/controlador/fragment/ControladorFragment.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/fragments/LogExpeditionFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/fragments/LogExpeditionFragment.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/fragments/RoutesFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/fragments/RoutesFragment.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/model/InfoCompany.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/delivery/model/InfoCompany.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryParkingFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryParkingFragment.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/login/model/LoginItemVO.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/login/model/LoginItemVO.kt" afterDir="false" />
|
||||
<list default="true" id="fa688d1c-dbee-4864-9e33-4d84ef9afca8" name="Default Changelist" comment="feat: refs#6845 userInterface">
|
||||
<change afterPath="$PROJECT_DIR$/CHANGELOG.md" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/changeLog.sh" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/build.gradle.kts" beforeDir="false" afterPath="$PROJECT_DIR$/app/build.gradle.kts" 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/paletizador/adapter/ExpeditionPalletAdapter.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/adapter/ExpeditionPalletAdapter.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/ExpeditionDeleteFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/ExpeditionDeleteFragment.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/ExpeditionPreparedStateFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/ExpeditionPreparedStateFragment.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/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/ubicador/fragment/AutomaticAddItemFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/fragment/AutomaticAddItemFragment.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/fragment/UbicadorViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/fragment/UbicadorViewModel.kt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/model/ItemUbicadorVO.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/model/ItemUbicadorVO.kt" afterDir="false" />
|
||||
</list>
|
||||
<list id="7b98f93d-6980-4bf1-8e61-c7afd10e56f2" name="Change_category" comment="Change_category" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
|
@ -526,7 +513,7 @@
|
|||
<component name="CodeInsightWorkspaceSettings">
|
||||
<option name="optimizeImportsOnTheFly" value="true" />
|
||||
</component>
|
||||
<component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[21114523025303]" />
|
||||
<component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[DeviceId(pluginId=LocalEmulator, isTemplate=false, identifier=path=C:\Users\sergiodt\.android\avd\Pixel_7a_API_30.avd)]" />
|
||||
<component name="ExportToHTMLSettings">
|
||||
<option name="OPEN_IN_BROWSER" value="true" />
|
||||
<option name="OUTPUT_DIRECTORY" value="C:\Program Files\Android\Android Studio\inspections" />
|
||||
|
@ -616,7 +603,7 @@
|
|||
</option>
|
||||
<option name="RECENT_BRANCH_BY_REPOSITORY">
|
||||
<map>
|
||||
<entry key="$PROJECT_DIR$" value="dev_collectionFragmentChecker" />
|
||||
<entry key="$PROJECT_DIR$" value="dev_6078" />
|
||||
</map>
|
||||
</option>
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
|
@ -706,12 +693,12 @@
|
|||
"cidr.known.project.marker": "true",
|
||||
"com.developerphil.adbidea.selecteddevices": "G65TY9DQN7X4BIE6",
|
||||
"com.google.services.firebase.aqiPopupShown": "true",
|
||||
"git-widget-placeholder": "dev__6078",
|
||||
"git-widget-placeholder": "dev",
|
||||
"ignore.virus.scanning.warn.message": "true",
|
||||
"kotlin-language-version-configured": "true",
|
||||
"last_directory_selection": "C:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable",
|
||||
"last_opened_file_path": "C:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app",
|
||||
"project.structure.last.edited": "Project",
|
||||
"last_opened_file_path": "C:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout",
|
||||
"project.structure.last.edited": "Modules",
|
||||
"project.structure.proportion": "0.17",
|
||||
"project.structure.side.proportion": "0.2",
|
||||
"rearrange.code.on.save": "true",
|
||||
|
@ -728,9 +715,6 @@
|
|||
"select * from expeditionPending;",
|
||||
"select * from expedition where id = 7753995;\n\n",
|
||||
"\nselect * from expedition where id = 7753995;"
|
||||
],
|
||||
"kotlin-gradle-user-dirs": [
|
||||
"C:\\Users\\sergiodt\\.gradle"
|
||||
]
|
||||
}
|
||||
}</component>
|
||||
|
@ -741,8 +725,8 @@
|
|||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app" />
|
||||
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\res\layout" />
|
||||
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app" />
|
||||
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\res\drawable" />
|
||||
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\java\es\verdnatura\domain" />
|
||||
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\res\xml" />
|
||||
|
@ -762,11 +746,11 @@
|
|||
<recent name="es.verdnatura.presentation.view.feature.historicoshelving.fragment" />
|
||||
</key>
|
||||
<key name="CopyKotlinDeclarationDialog.RECENTS_KEY">
|
||||
<recent name="es.verdnatura.presentation.view.feature.ubicador.adapter" />
|
||||
<recent name="es.verdnatura.presentation.view.feature.ubicador.fragment" />
|
||||
<recent name="es.verdnatura.presentation.view.feature.delivery.adapters" />
|
||||
<recent name="es.verdnatura.presentation.view.feature.delivery.fragments" />
|
||||
<recent name="es.verdnatura.domain.userCases" />
|
||||
<recent name="es.verdnatura.presentation.view.feature.paletizador.fragment" />
|
||||
<recent name="es.verdnatura.presentation.view.feature.parking.fragment" />
|
||||
</key>
|
||||
<key name="CopyClassDialog.RECENTS_KEY">
|
||||
<recent name="es.verdnatura.presentation.view.feature.delivery.activity" />
|
||||
|
@ -798,9 +782,10 @@
|
|||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
|
||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||
<option name="MODE" value="default_activity" />
|
||||
<option name="RESTORE_ENABLED" value="false" />
|
||||
<option name="RESTORE_FILE" value="" />
|
||||
<option name="CLEAR_LOGCAT" value="false" />
|
||||
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
|
||||
<option name="INSPECTION_WITHOUT_ACTIVITY_RESTART" value="false" />
|
||||
<option name="TARGET_SELECTION_MODE" value="DEVICE_AND_SNAPSHOT_COMBO_BOX" />
|
||||
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
|
||||
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
|
||||
|
@ -909,6 +894,9 @@
|
|||
</configuration>
|
||||
<recent_temporary>
|
||||
<list>
|
||||
<item itemvalue="Gradle.vn-warehouseManager [clean]" />
|
||||
<item itemvalue="Gradle.vn-warehouseManager" />
|
||||
<item itemvalue="Gradle.vn-warehouseManager [clean]" />
|
||||
<item itemvalue="Gradle.vn-warehouseManager" />
|
||||
<item itemvalue="Gradle.vn-warehouseManager [clean]" />
|
||||
</list>
|
||||
|
@ -1277,7 +1265,7 @@
|
|||
<option name="project" value="LOCAL" />
|
||||
<updated>1709725795643</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="363" />
|
||||
<option name="localTasksCounter" value="373" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="Vcs.Log.History.Properties">
|
||||
|
@ -1355,7 +1343,6 @@
|
|||
<entry key="MAIN">
|
||||
<value>
|
||||
<State>
|
||||
<option name="BEK_SORT_TYPE" value="1" />
|
||||
<option name="COLUMN_ID_WIDTH">
|
||||
<map>
|
||||
<entry key="Table.Default.Author.ColumnIdWidth" value="115" />
|
||||
|
@ -1371,8 +1358,21 @@
|
|||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="text">
|
||||
<value>
|
||||
<list>
|
||||
<option value="itemShelving" />
|
||||
</list>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
<option name="GRAPH_OPTIONS">
|
||||
<list>
|
||||
<option value="Base" />
|
||||
<option value="Standard" />
|
||||
</list>
|
||||
</option>
|
||||
</State>
|
||||
</value>
|
||||
</entry>
|
||||
|
@ -1405,8 +1405,6 @@
|
|||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
|
||||
<MESSAGE value="feat reservas #refs 6861" />
|
||||
<MESSAGE value="feat issues refs #7636" />
|
||||
<MESSAGE value="feat getAddress #refs 7622" />
|
||||
<MESSAGE value="feat claimObservation refs #7541" />
|
||||
<MESSAGE value="feat reservas refs #6861" />
|
||||
|
@ -1415,9 +1413,7 @@
|
|||
<MESSAGE value="feat: boxPickingPrepared refs #7855" />
|
||||
<MESSAGE value="feat: refactorResponse PasillerosItem refs #7827" />
|
||||
<MESSAGE value="version 24.40" />
|
||||
<MESSAGE value="feat: refs #7922 scanOrder" />
|
||||
<MESSAGE value="feat: refs #8020 controlVehiculos" />
|
||||
<MESSAGE value="feat: refs #5443 collectionFragmentChecker" />
|
||||
<MESSAGE value="feat: refs #6861 reservas" />
|
||||
<MESSAGE value="feat: refs #8175 crashlyticsAndUpdate" />
|
||||
<MESSAGE value="feat: refs #7266 printItem" />
|
||||
|
@ -1428,9 +1424,13 @@
|
|||
<MESSAGE value="feat: refs #8176 refactorSearchDialog" />
|
||||
<MESSAGE value="feat: refs #8182 zoneClickable" />
|
||||
<MESSAGE value="feat: refs#8213 reservas" />
|
||||
<MESSAGE value="feat: refs#6845 userInterface" />
|
||||
<MESSAGE value="feat: refs #8022 kotlin versionCatalog" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="feat: refs #8022 kotlin versionCatalog" />
|
||||
<MESSAGE value="feat: refs #8085 restaurantActivity" />
|
||||
<MESSAGE value="feat: refs #5443 collectionFragmentChecker" />
|
||||
<MESSAGE value="feat: refs #7922 scanOrder" />
|
||||
<MESSAGE value="feat: refs #7920 itemShelvingGet" />
|
||||
<MESSAGE value="feat: refs#6845 userInterface" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="feat: refs#6845 userInterface" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
# Version XX.XX - XXXX-XX-XX
|
||||
|
||||
### Added 🆕
|
||||
|
||||
- feat: refs #5443 collectionFragmentChecker by:Sergio De la torre
|
||||
- feat: refs#6845 userInterface by:Sergio De la torre
|
||||
- feat: refs #6845 userIterface by:Sergio De la torre
|
||||
- feat: refs #6861 reservas by:Sergio De la torre
|
||||
- feat: refs #6869 itemShelvings (warehouse/dev_6078, warehouse/dev, dev_6078) by:Sergio De la
|
||||
torre
|
||||
- feat: refs #7266 printItem by:Sergio De la torre
|
||||
- feat: refs #7922 scanOrder by:Sergio De la torre
|
||||
- feat: refs #8020 controlVehiculos by:Sergio De la torre
|
||||
- feat: refs #8022 kotlin versionCatalog by:Sergio De la torre
|
||||
- feat: refs #8082 ticketPickup by:Sergio De la torre
|
||||
- feat: refs #8099 addSalarySupplement by:Sergio De la torre
|
||||
- feat: refs #8150 moveExpedition by:Sergio De la torre
|
||||
- feat: refs #8150 moveExpeditions by:Sergio De la torre
|
||||
- feat: refs #8175 crashlyticsAndUpdate by:Sergio De la torre
|
||||
- feat: refs #8175 refactorCode by:Sergio De la torre
|
||||
- feat: refs #8176 refactorSearchDialog by:Sergio De la torre
|
||||
- feat: refs #8182 zoneClickable by:Sergio De la torre
|
||||
- feat: refs#8213 reservas by:Sergio De la torre
|
||||
|
||||
### Changed 📦
|
||||
|
||||
- feat: refs #8175 refactorCode by:Sergio De la torre
|
||||
- feat: refs #8176 refactorSearchDialog by:Sergio De la torre
|
||||
|
||||
### Fixed 🛠️
|
||||
|
|
@ -15,8 +15,8 @@ android {
|
|||
applicationId = "es.verdnatura"
|
||||
minSdk = 26
|
||||
targetSdk = 33 // se deja con target si no Play Protect la bloquea
|
||||
versionCode = 358
|
||||
versionName = "24.46"
|
||||
versionCode = 374
|
||||
versionName = "24.51"
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
|
@ -30,6 +30,10 @@ android {
|
|||
getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
|
||||
)
|
||||
}
|
||||
getByName("debug") {
|
||||
isMinifyEnabled = false
|
||||
|
||||
}
|
||||
}
|
||||
//package de la app general = "package_name": "es.verdnatura"
|
||||
//package de la app beta = "package_name": "es.verdnatura.sfusion"
|
||||
|
@ -75,8 +79,8 @@ android {
|
|||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
/* composeOptions {
|
||||
kotlinCompilerExtensionVersion = "1.5.15"
|
||||
|
|
Binary file not shown.
|
@ -114,7 +114,7 @@ interface RoutesDao {
|
|||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
suspend fun insertLoaded(routeLoaded: RouteLoaded)
|
||||
|
||||
@Query("DELETE FROM routes WHERE created != :today")
|
||||
@Query("DELETE FROM routes WHERE dated != :today")
|
||||
suspend fun deleteLoaded(today: String)
|
||||
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ object ConstAndValues {
|
|||
const val USER = "user"
|
||||
const val PASSWORD = "password"
|
||||
const val TOKEN = "token"
|
||||
const val TOKENMULTIMEDIA = "tokenMultimedia"
|
||||
const val TTL = "ttl"
|
||||
const val TOKENCREATED = "tokenCreated"
|
||||
const val SECTORDESCRIP = "sectordescrip"
|
||||
|
@ -44,6 +45,7 @@ object ConstAndValues {
|
|||
const val ENTRYOBSERVATIONORIGINAL = "ENTRYOBSERVATIONORIGINAL"
|
||||
const val ITEMPACKING = "itemPackingType"
|
||||
const val ITEMPACKINGFK = "itemPackingTypeFk"
|
||||
const val ITEMPACKINGTYPEFILTER = "itemPackingTypeFilter"
|
||||
const val BUYER = "buyernickname"
|
||||
const val BUYERID = "buyerid"
|
||||
const val WAGON = "wagon"
|
||||
|
|
|
@ -17,6 +17,7 @@ import es.verdnatura.presentation.view.feature.articulo.model.ItemDetails
|
|||
import es.verdnatura.presentation.view.feature.articulo.model.ItemPackingType
|
||||
import es.verdnatura.presentation.view.feature.articulo.model.ItemProposal
|
||||
import es.verdnatura.presentation.view.feature.buscaritem.model.ItemLocationVO
|
||||
import es.verdnatura.presentation.view.feature.calidad.model.Buyer
|
||||
import es.verdnatura.presentation.view.feature.calidad.model.BuyerVO
|
||||
import es.verdnatura.presentation.view.feature.claim.fragment.reubication.model.Reubication
|
||||
import es.verdnatura.presentation.view.feature.collection.SalixSaleQuantity
|
||||
|
@ -44,6 +45,7 @@ import es.verdnatura.presentation.view.feature.login.model.AccessConfigSalix
|
|||
import es.verdnatura.presentation.view.feature.login.model.DataUserSalix
|
||||
import es.verdnatura.presentation.view.feature.login.model.LoginDevice
|
||||
import es.verdnatura.presentation.view.feature.login.model.LoginSalixVO
|
||||
import es.verdnatura.presentation.view.feature.login.model.MultimediaTokenResponse
|
||||
import es.verdnatura.presentation.view.feature.login.model.NameWorker
|
||||
import es.verdnatura.presentation.view.feature.login.model.OperatorAdd
|
||||
import es.verdnatura.presentation.view.feature.login.model.OperatorSalix
|
||||
|
@ -74,6 +76,7 @@ import es.verdnatura.presentation.view.feature.sacador.model.TicketStateSalix
|
|||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemBuy
|
||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemShelvingNewer
|
||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicador
|
||||
import es.verdnatura.presentation.view.feature.ubicador.model.ShelvingItem
|
||||
import es.verdnatura.presentation.view.feature.workermistake.model.DepartmentMistake
|
||||
import es.verdnatura.presentation.view.feature.workermistake.model.ExpeditionMistakeSalix
|
||||
import es.verdnatura.presentation.view.feature.workermistake.model.MistakeType
|
||||
|
@ -144,8 +147,8 @@ interface SalixService {
|
|||
@Query("filter") filter: String
|
||||
): Call<List<AddressLoses>>
|
||||
|
||||
@POST("Applications/buy_getUltimate/execute-func")
|
||||
fun buyUltimate(
|
||||
@POST("Applications/buy_getLastWithoutInventory/execute-func")
|
||||
fun buyGetLastWithoutInventory(
|
||||
@Query("params") params: Any, @Query("schema") schema: String = "vn"
|
||||
): Call<Long>
|
||||
|
||||
|
@ -154,6 +157,11 @@ interface SalixService {
|
|||
@Query("filter") filter: String
|
||||
): Call<List<BuyerVO>>
|
||||
|
||||
@GET("itemTypes")
|
||||
fun getBuyersByItemPackingType(
|
||||
@Query("filter") filter: String
|
||||
): Call<List<Buyer>>
|
||||
|
||||
@GET("Tickets/myLastModified")
|
||||
fun myLastModified(
|
||||
@Query("filter") filter: String
|
||||
|
@ -527,6 +535,20 @@ interface SalixService {
|
|||
@Query("shelvingFk") shelvingFkIn: Any, @Query("parking") parking: Any? = null
|
||||
): Call<List<ItemShelvingNewer>>
|
||||
|
||||
@GET("ItemShelvings/getListItemNewer")
|
||||
fun getListItemNewerNew(
|
||||
@Query("shelvingFk") shelvingFkIn: Any,
|
||||
@Query("parking") parking: Any? = null,
|
||||
@Query("itemFk") itemFk: Any? = null
|
||||
): Call<List<ItemShelvingNewer>>
|
||||
|
||||
@GET("ItemShelvings/getItemsByReviewOrder")
|
||||
fun getItemsByReviewOrder(
|
||||
@Query("shelving") shelvingFkIn: Any,
|
||||
@Query("parking") parking: Any? = null,
|
||||
@Query("itemFk") itemFk: Any? = null
|
||||
): Call<List<ItemShelvingNewer>>
|
||||
|
||||
@POST("Applications/sectorCollectionSaleGroup_add/execute-proc")
|
||||
fun sectorCollectionSaleGroupAdd(
|
||||
@Query("params") params: Any? = null, @Query("schema") schema: String = "vn"
|
||||
|
@ -706,10 +728,20 @@ interface SalixService {
|
|||
@Query("params") params: Any,
|
||||
): Call<List<ItemUbicador>>
|
||||
|
||||
@GET("Shelvings")
|
||||
fun itemShelvingGet(
|
||||
@GET("Shelvings/findOne")
|
||||
fun shelvingGet(
|
||||
@Query("filter") filter: Any,
|
||||
): Call<List<ItemUbicador>>
|
||||
): Call<ShelvingItem>
|
||||
|
||||
@GET("ImageConfigs/findOne")
|
||||
fun getImageConfig(
|
||||
@Query("filter") filter: String = """{"fields":["url"]}"""
|
||||
): Call<JsonObject>
|
||||
|
||||
@GET("Shelvings/findOne")
|
||||
fun shelvingGetFromCode(
|
||||
@Query("filter") filter: Any,
|
||||
): Call<ItemUbicador>
|
||||
|
||||
@POST("Applications/expedition_scan/execute-proc")
|
||||
fun expeditionScan(
|
||||
|
@ -992,6 +1024,10 @@ interface SalixService {
|
|||
fun getAccessTokenConfigs(
|
||||
): Call<List<AccessConfigSalix>>
|
||||
|
||||
@GET("VnUsers/ShareToken")
|
||||
fun getMultimediaToken(
|
||||
): Call<MultimediaTokenResponse>
|
||||
|
||||
@POST("vnusers/renewToken")
|
||||
fun renewToken(
|
||||
): Call<RenewToken>
|
||||
|
@ -1087,6 +1123,11 @@ interface SalixService {
|
|||
@Query("filter") filter: String
|
||||
): Call<Any>
|
||||
|
||||
@GET("States/findOne")
|
||||
fun getStateId(
|
||||
@Query("filter") filter: String
|
||||
): Call<JsonObject>
|
||||
|
||||
@POST("WorkerMistakes")
|
||||
fun workerMistakesAdd(
|
||||
@Body workerMistake: WorkerMistakeSalix
|
||||
|
|
|
@ -15,6 +15,6 @@ class GetItemPrintItemUseCase(private val salixService: SalixService) {
|
|||
}
|
||||
|
||||
fun executeBuyUltimate(params: Any): Call<Long> {
|
||||
return salixService.buyUltimate(params)
|
||||
return salixService.buyGetLastWithoutInventory(params)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,13 +5,12 @@ import android.content.Context
|
|||
import android.text.InputType
|
||||
import android.view.View
|
||||
import es.verdnatura.R
|
||||
import es.verdnatura.domain.toast
|
||||
import es.verdnatura.presentation.view.component.CustomDialogList
|
||||
|
||||
class PrinterDialogManager(private val context: Context) {
|
||||
fun showPrintDialog(
|
||||
item: Long,
|
||||
itemName: String,
|
||||
onPrintClick: (Long, String, Int?, Int) -> Unit
|
||||
item: Long, itemName: String, onPrintClick: (Long, String, Int?, Int) -> Unit
|
||||
) {
|
||||
val customDialogList = CustomDialogList(context)
|
||||
customDialogList.getEditText().setRawInputType(InputType.TYPE_CLASS_NUMBER)
|
||||
|
@ -20,17 +19,15 @@ class PrinterDialogManager(private val context: Context) {
|
|||
customDialogList.setTitle(context.getString(R.string.itemName, item, itemName))
|
||||
.setOkButton(context.getString(R.string.printQr)) {
|
||||
handlePrintClick(item, customDialogList, onPrintClick, "qr")
|
||||
}
|
||||
.setOkTwoButton(context.getString(R.string.printBarcode)) {
|
||||
handlePrintClick(item, customDialogList, onPrintClick, "barcode")
|
||||
|
||||
}
|
||||
.setKoButton(context.getString(R.string.cancel)) {
|
||||
customDialogList.dismiss()
|
||||
}
|
||||
.setHintValueThree(context.getString(R.string.labelNumber))
|
||||
.setHintValue(context.getString(R.string.optionalPacking))
|
||||
.setTextThree(View.VISIBLE)
|
||||
}.setOkTwoButton(context.getString(R.string.printBarcode)) {
|
||||
handlePrintClick(item, customDialogList, onPrintClick, "barcode")
|
||||
customDialogList.dismiss()
|
||||
|
||||
}.setKoButton(context.getString(R.string.cancel)) {
|
||||
customDialogList.dismiss()
|
||||
}.setHintValueThree(context.getString(R.string.labelNumber))
|
||||
.setHintValue(context.getString(R.string.optionalPacking)).setTextThree(View.VISIBLE)
|
||||
.show()
|
||||
customDialogList.getFocusThree()
|
||||
}
|
||||
|
@ -41,6 +38,7 @@ class PrinterDialogManager(private val context: Context) {
|
|||
onPrintClick: (Long, String, Int?, Int) -> Unit,
|
||||
labelType: String
|
||||
) {
|
||||
try {
|
||||
onPrintClick(
|
||||
item,
|
||||
labelType,
|
||||
|
@ -51,6 +49,10 @@ class PrinterDialogManager(private val context: Context) {
|
|||
) 1 else customDialogList.getValueOptional().toInt()
|
||||
)
|
||||
customDialogList.dismiss()
|
||||
} catch (ex: Exception) {
|
||||
context.getString(R.string.errorInput).toast(context)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
|
|||
import es.verdnatura.presentation.view.feature.sacador.model.Sale
|
||||
import es.verdnatura.presentation.view.feature.sacador.model.SaleVO
|
||||
import es.verdnatura.presentation.view.feature.smarttag.model.SmartTag
|
||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemShelving
|
||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicador
|
||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorVO
|
||||
import es.verdnatura.presentation.view.feature.workermistake.model.WorkerFromMistake
|
||||
|
@ -167,6 +168,10 @@ interface OnVisibleClickListenerNew {
|
|||
fun onVisibleClickListener(item: ItemUbicador)
|
||||
}
|
||||
|
||||
interface OnVisibleClickListener6869 {
|
||||
fun onVisibleClickListener(item: ItemShelving)
|
||||
}
|
||||
|
||||
interface OnVisibleInventoryClickListener {
|
||||
fun onVisibleInventoryClickListener(item: ItemInventoryParking)
|
||||
}
|
||||
|
@ -179,6 +184,10 @@ interface OnMoreClickListenerNew {
|
|||
fun onMoreClickListener(item: ItemUbicador)
|
||||
}
|
||||
|
||||
interface OnMoreClickListener6869 {
|
||||
fun onMoreClickListener(item: ItemShelving)
|
||||
}
|
||||
|
||||
interface OnTruckClickListener {
|
||||
fun onTruckClickListener(item: ItemExpeditionTruckVO, entryPoint: String)
|
||||
}
|
||||
|
|
|
@ -121,7 +121,8 @@ class AjustesFragment :
|
|||
|
||||
binding.searchableRecyclerView.setAdapter(adapter, listNames)
|
||||
binding.searchableRecyclerView.visibility = View.VISIBLE
|
||||
binding.searchableRecyclerView.setSearchHintWithoutFocus(getString(R.string.sectorSearch))
|
||||
binding.searchableRecyclerView.setSearchHint(getString(R.string.sectorSearch))
|
||||
ma.hideKeyboard(binding.searchableRecyclerView)
|
||||
}
|
||||
|
||||
private fun setToolBar() {
|
||||
|
|
|
@ -3,6 +3,7 @@ package es.verdnatura.presentation.view.feature.articulo.fragment
|
|||
import android.content.Intent
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.text.InputType
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.View.GONE
|
||||
import android.view.inputmethod.EditorInfo
|
||||
|
@ -12,6 +13,7 @@ import com.google.gson.Gson
|
|||
import es.verdnatura.R
|
||||
import es.verdnatura.databinding.FragmentItemCardBinding
|
||||
import es.verdnatura.domain.ConstAndValues.PRINTERFK
|
||||
import es.verdnatura.domain.ConstAndValues.TOKENMULTIMEDIA
|
||||
import es.verdnatura.domain.ConstAndValues.WAREHOUSEFK
|
||||
import es.verdnatura.domain.notNull
|
||||
import es.verdnatura.domain.toast
|
||||
|
@ -37,6 +39,7 @@ import es.verdnatura.presentation.view.feature.articulo.model.ItemCardRowVO
|
|||
import es.verdnatura.presentation.view.feature.articulo.model.ItemCardVO
|
||||
import es.verdnatura.presentation.view.feature.articulo.model.ItemPackingType
|
||||
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
|
||||
import org.json.JSONObject
|
||||
|
||||
class ItemCardFragment(
|
||||
var itemFk: String = ""
|
||||
|
@ -56,7 +59,7 @@ class ItemCardFragment(
|
|||
private var quantityToDiscard = 0
|
||||
private var itemInfoG: ItemCardVO? = null
|
||||
private var positionToReturnY = 0
|
||||
private var originalScan: String? = null
|
||||
private var originalScan: Long? = null
|
||||
private var buyToPrint: Long? = null
|
||||
|
||||
companion object {
|
||||
|
@ -108,12 +111,12 @@ class ItemCardFragment(
|
|||
iconHistory.tooltipText = getTooltip(R.drawable.ic_history_black_24dp)
|
||||
iconSalix.tooltipText = getTooltip(R.drawable.ic_logo_salix)
|
||||
// Tarea 7266
|
||||
// iconPrint.tooltipText = getTooltip(R.drawable.ic_print_black_24dp)
|
||||
iconPrint.tooltipText = getTooltip(R.drawable.ic_print_black_24dp)
|
||||
|
||||
listIcons.add(iconSalix)
|
||||
listIcons.add(iconReload)
|
||||
listIcons.add(iconHistory)
|
||||
// listIcons.add(iconPrint)
|
||||
listIcons.add(iconPrint)
|
||||
|
||||
binding.mainToolbar.toolbarIcons.adapter =
|
||||
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
|
||||
|
@ -128,7 +131,7 @@ class ItemCardFragment(
|
|||
|
||||
val printerDialogManager = PrinterDialogManager(requireContext())
|
||||
printerDialogManager.showPrintDialog(
|
||||
itemInfoG!!.id.toLong(),
|
||||
buyToPrint ?: itemInfoG!!.id.toLong(),
|
||||
itemInfoG?.longName ?: ""
|
||||
) { id, labelType, copies, packing ->
|
||||
printItem(id, labelType, copies, packing)
|
||||
|
@ -183,7 +186,6 @@ class ItemCardFragment(
|
|||
private fun printItem(id: Long, labelType: String, packing: Int?, copies: Int?) {
|
||||
|
||||
try {
|
||||
|
||||
viewModel.printItem(
|
||||
reportName = "LabelBuy",
|
||||
printerFk = mobileApplication.dataStoreApp.readDataStoreKey<Int>(
|
||||
|
@ -191,7 +193,12 @@ class ItemCardFragment(
|
|||
),
|
||||
userFk = mobileApplication.userId!!,
|
||||
priority = "normal",
|
||||
params = """{'copies':$copies,'id':$id,'labelType':'$labelType','packing':$packing}"""
|
||||
params = JSONObject().apply {
|
||||
put("copies", copies)
|
||||
put("id", id)
|
||||
put("labelType", labelType)
|
||||
put("packing", packing)
|
||||
}.toString().replace("\"", "\\\"")
|
||||
)
|
||||
} catch (ex: Exception) {
|
||||
ma.messageWithSound(message = ex.message.toString(), isError = true, isPlayed = true)
|
||||
|
@ -200,8 +207,39 @@ class ItemCardFragment(
|
|||
hideKeyboard()
|
||||
}
|
||||
|
||||
private fun setEvents() {
|
||||
private fun openWebViewer(param: String) {
|
||||
|
||||
//variableWeb = if (itemScan is Number) "var-itemFk=$param" else "var-shelvingCode=$param"
|
||||
ma.onPasillerosItemClickListener(
|
||||
PasillerosItemVO(
|
||||
title = R.string.titleWebViewer,
|
||||
),
|
||||
|
||||
Gson().toJson(
|
||||
mutableMapOf(
|
||||
"entryPoint" to param,
|
||||
"web" to "https://grafana.verdnatura.es/d/ce4b8ymvex4owa?var-itemFk=$param&var-vnToken=${
|
||||
mobileApplication.dataStoreApp.readDataStoreKey<String>(
|
||||
TOKENMULTIMEDIA
|
||||
)
|
||||
}"
|
||||
)
|
||||
), param = ""
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
private fun setEvents() {
|
||||
binding.editItemFk.setOnTouchListener { v, event ->
|
||||
if (event.action == MotionEvent.ACTION_UP) {
|
||||
val drawableRight = binding.editItemFk.compoundDrawables[2]
|
||||
if (drawableRight != null && event.x >= v.width - drawableRight.bounds.width()) {
|
||||
openWebViewer(itemInfoG?.id?.toString() ?: "")
|
||||
return@setOnTouchListener true
|
||||
}
|
||||
}
|
||||
false
|
||||
}
|
||||
binding.editItemFk.requestFocus()
|
||||
binding.editItemFk.setOnEditorActionListener { _, actionId, _ ->
|
||||
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
|
||||
|
@ -209,9 +247,9 @@ class ItemCardFragment(
|
|||
try {
|
||||
originalScan = itemScanValue(
|
||||
binding.editItemFk.text.toString(), arrayOf("buy"), "more"
|
||||
).toString()
|
||||
).toString().toLong()
|
||||
getItemCard(
|
||||
originalScan!!
|
||||
originalScan!!.toString()
|
||||
)
|
||||
} catch (ex: Exception) {
|
||||
ma.messageWithSound(ex.message.toString(), isError = true, isPlayed = true)
|
||||
|
@ -259,19 +297,17 @@ class ItemCardFragment(
|
|||
binding.itemcardLayout.visibility = View.VISIBLE
|
||||
setItemCard(it)
|
||||
binding.mainToolbar.toolbarIcons.visibility = View.VISIBLE
|
||||
/* Tarea 7266
|
||||
// Tarea 7266
|
||||
if (originalScan == null || it.id == originalScan!!.toInt()) {
|
||||
viewModel.buyUltimate(
|
||||
viewModel.buyGetLastWithoutInventory(
|
||||
itemFk = it.id,
|
||||
warehouseFk = mobileApplication.dataStoreApp.readDataStoreKey(
|
||||
WAREHOUSEFK
|
||||
),
|
||||
dated = LocalDate.now()
|
||||
.format(DateTimeFormatter.ofPattern("yyyy-dd-MM"))
|
||||
)
|
||||
)
|
||||
} else {
|
||||
buyToPrint = originalScan!!.toLong()
|
||||
}*/
|
||||
}
|
||||
} else {
|
||||
binding.itemcardLayout.visibility = GONE
|
||||
binding.mainToolbar.toolbarTitle.text = getString(R.string.itemCard)
|
||||
|
|
|
@ -239,10 +239,15 @@ class ItemCardViewModel(var context: Context) : BaseViewModel(context) {
|
|||
})
|
||||
}
|
||||
|
||||
fun buyUltimate(
|
||||
itemFk: Int, warehouseFk: Int, dated: String
|
||||
fun buyGetLastWithoutInventory(
|
||||
itemFk: Int, warehouseFk: Int,
|
||||
) {
|
||||
salix.buyUltimate(params = arrayListOf(itemFk, warehouseFk, dated).formatWithQuotes())
|
||||
salix.buyGetLastWithoutInventory(
|
||||
params = arrayListOf(
|
||||
itemFk,
|
||||
warehouseFk
|
||||
).formatWithQuotes()
|
||||
)
|
||||
.enqueue(object : SalixCallback<Long>(context) {
|
||||
override fun onSuccess(response: Response<Long>) {
|
||||
_buyUltimateResponse.value = response.body()
|
||||
|
|
|
@ -27,3 +27,21 @@ class ItemBuyerVO(
|
|||
class ItemBuyerListVO(
|
||||
var list: List<ItemBuyerVO> = listOf()
|
||||
)
|
||||
|
||||
data class BuyerList(
|
||||
var list: List<Buyer> = listOf()
|
||||
)
|
||||
|
||||
data class Buyer(
|
||||
val itemPackingTypeFk: String,
|
||||
val worker: Worker
|
||||
)
|
||||
|
||||
data class Worker(
|
||||
val user: User
|
||||
)
|
||||
|
||||
data class User(
|
||||
val id: Int,
|
||||
val nickname: String
|
||||
)
|
|
@ -311,9 +311,22 @@ class SaleAdapterNew(
|
|||
if (sale.isPicked == 1) {
|
||||
if (type == PREPARED) {
|
||||
contentLayout.setBackgroundColor(
|
||||
|
||||
if (sale.saleGroupFk == null) {
|
||||
getColor(
|
||||
context!!, R.color.verdnatura_orange_salix
|
||||
)
|
||||
} else {
|
||||
if (sale.stateCode != null && sale.stateCode == "PREPARED") {
|
||||
getColor(
|
||||
context!!, R.color.verdnatura_orange_salix
|
||||
)
|
||||
} else {
|
||||
getColor(
|
||||
context!!, R.color.verdnatura_dark_sky_blue
|
||||
)
|
||||
}
|
||||
}
|
||||
)
|
||||
} else {
|
||||
contentLayout.setBackgroundColor(
|
||||
|
|
|
@ -53,6 +53,10 @@ class CollectionCheckerViewModel(val context: Context) : BaseViewModel(context)
|
|||
val responseTicketState: LiveData<TicketState> = _responseTicketState
|
||||
val loadTicketState: LiveData<Event<TicketState>> = _responseTicketState.map { Event(it) }
|
||||
|
||||
private val _responseTicketSetState by lazy { MutableLiveData<TicketState>() }
|
||||
val responseTicketSetState: LiveData<TicketState> = _responseTicketSetState
|
||||
val loadTicketSetState: LiveData<Event<TicketState>> = _responseTicketSetState.map { Event(it) }
|
||||
|
||||
private val _responseTicketIsPickup by lazy { MutableLiveData<Boolean>() }
|
||||
val responseTicketIsPickup: LiveData<Boolean> = _responseTicketIsPickup
|
||||
val loadTicketIsPickup: LiveData<Event<Boolean>> = _responseTicketIsPickup.map { Event(it) }
|
||||
|
@ -70,9 +74,9 @@ class CollectionCheckerViewModel(val context: Context) : BaseViewModel(context)
|
|||
val responseNew: LiveData<Boolean> = _responseNew
|
||||
val loadAddNew: LiveData<Event<Boolean>> = _responseNew.map { Event(it) }
|
||||
|
||||
private val _responseIncQuantity by lazy { MutableLiveData<Boolean>() }
|
||||
val responseIncQuantity: LiveData<Boolean> = _responseIncQuantity
|
||||
val loadIncQuantity: LiveData<Event<Boolean>> = _responseIncQuantity.map { Event(it) }
|
||||
private val _responseIncQuantity by lazy { MutableLiveData<Number>() }
|
||||
val responseIncQuantity: LiveData<Number> = _responseIncQuantity
|
||||
val loadIncQuantity: LiveData<Event<Number>> = _responseIncQuantity.map { Event(it) }
|
||||
|
||||
private val _responseParking by lazy { MutableLiveData<Boolean>() }
|
||||
val responseParking: LiveData<Boolean> = _responseParking
|
||||
|
@ -217,7 +221,7 @@ class CollectionCheckerViewModel(val context: Context) : BaseViewModel(context)
|
|||
salix.ticketStateTodaySetState(arrayListOf(ticketFk, state).formatWithQuotes())
|
||||
.enqueue(object : SalixCallback<Unit>(context) {
|
||||
override fun onSuccess(response: Response<Unit>) {
|
||||
_responseTicketState.value = TicketState()
|
||||
_responseTicketSetState.value = TicketState(code = state, ticketFk = ticketFk)
|
||||
super.onSuccess(response)
|
||||
}
|
||||
})
|
||||
|
@ -232,7 +236,7 @@ class CollectionCheckerViewModel(val context: Context) : BaseViewModel(context)
|
|||
|
||||
override fun onSuccess(response: Response<Any>) {
|
||||
super.onSuccess(response)
|
||||
_responseIncQuantity.value = true
|
||||
_responseIncQuantity.value = saleFk
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -107,6 +107,7 @@ class CollectionFragmentChecker(
|
|||
override fun onResume() {
|
||||
super.onResume()
|
||||
scanRequest()
|
||||
viewModel.setPausedState(false)
|
||||
}
|
||||
|
||||
override fun init() {
|
||||
|
@ -172,8 +173,7 @@ class CollectionFragmentChecker(
|
|||
binding.mainToolbar.toolbarIcons.adapter =
|
||||
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
|
||||
override fun onOptionsItemSelected(item: Drawable) {
|
||||
if (collection.tickets.isNotEmpty())
|
||||
when (item) {
|
||||
if (collection.tickets.isNotEmpty()) when (item) {
|
||||
iconViewCollection.drawable -> getCollection()
|
||||
iconPrint.drawable -> print()
|
||||
iconAdd.drawable -> addItem()
|
||||
|
@ -237,8 +237,6 @@ class CollectionFragmentChecker(
|
|||
}
|
||||
|
||||
private fun takeActionPrevia(customDialogList: CustomDialogList) {
|
||||
println("previaaaa ${customDialogList.getValue()}")
|
||||
|
||||
ma.hideKeyboard(customDialogList.getEditText())
|
||||
try {
|
||||
val saleGroupScanned = itemScanValue(
|
||||
|
@ -383,11 +381,9 @@ class CollectionFragmentChecker(
|
|||
customDialogWarning.setTitle(getString(R.string.ticketPickup))
|
||||
customDialogWarning.setDescription(
|
||||
getString(
|
||||
R.string.ticketPickupDescr,
|
||||
binding.mainToolbar.toolbarTitle.text
|
||||
R.string.ticketPickupDescr, binding.mainToolbar.toolbarTitle.text
|
||||
)
|
||||
)
|
||||
.setOkButton(getString(R.string.aware)) {
|
||||
).setOkButton(getString(R.string.aware)) {
|
||||
customDialogWarning.dismiss()
|
||||
}
|
||||
customDialogWarning.show()
|
||||
|
@ -399,13 +395,20 @@ class CollectionFragmentChecker(
|
|||
event.getContentIfNotHandled().notNull {
|
||||
context.showToastCenterWithBackground(
|
||||
getString(
|
||||
R.string.parkingIn,
|
||||
ticketScanTxt
|
||||
R.string.parkingIn, ticketScanTxt
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
loadTicketSetState.observe(viewLifecycleOwner) { event ->
|
||||
event.getContentIfNotHandled().notNull {
|
||||
"${it.ticketFk}: ${if (it.code == "CHECKED") "Revisado" else "Revisando"}".toast(
|
||||
requireContext()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
loadPrint.observe(viewLifecycleOwner) { event ->
|
||||
event.getContentIfNotHandled().notNull {
|
||||
(getString(R.string.Imprimiendo) + mobileApplication.dataStoreApp.readDataStoreKey<String>(
|
||||
|
@ -469,7 +472,7 @@ class CollectionFragmentChecker(
|
|||
|
||||
loadIncQuantity.observe(viewLifecycleOwner) { event ->
|
||||
event.getContentIfNotHandled().notNull {
|
||||
incresaseSuccesful()
|
||||
incresaseSuccesful(it)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -566,17 +569,25 @@ class CollectionFragmentChecker(
|
|||
compareBy({ it.isControlled }, { it.picked })
|
||||
)*/
|
||||
|
||||
saleAdapter = SaleAdapter(
|
||||
myGroupList as MutableList,
|
||||
saleAdapter = SaleAdapter(myGroupList as MutableList,
|
||||
pasillerosItemClickListener!!,
|
||||
object : OnQuantityClickListener {
|
||||
override fun onQuantityClick(sale: SaleVO) {
|
||||
|
||||
myGroupList.forEachIndexed { index, saleVO ->
|
||||
|
||||
if (saleVO.isParent) {
|
||||
saleVO.sonSales.forEachIndexed { indexSon, saleV0 ->
|
||||
if (saleV0.saleFk == sale.saleFk) {
|
||||
showQuantityDialogBySale(saleV0.saleFk)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (saleVO.saleFk == sale.saleFk) {
|
||||
showQuantityDialog(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
@ -638,8 +649,7 @@ class CollectionFragmentChecker(
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
lm = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
|
||||
binding.fragmentSacadorCollections.adapter = saleAdapter
|
||||
|
@ -827,7 +837,8 @@ class CollectionFragmentChecker(
|
|||
/* lm!!.scrollToPositionWithOffset(myPosition, 0)
|
||||
} else {*/
|
||||
lm!!.scrollToPositionWithOffset(
|
||||
if (myGroupList[myPosition].isControlled == "1") myPosition + 1 else myPosition,
|
||||
//Se modifica posicion revisor
|
||||
if (myGroupList[myPosition].isControlled == "1") myPosition else myPosition,
|
||||
0
|
||||
)
|
||||
//}
|
||||
|
@ -992,24 +1003,64 @@ class CollectionFragmentChecker(
|
|||
if (totalMark == sales.size) {
|
||||
getString(R.string.completCollection).toast(this.context, Toast.LENGTH_SHORT)
|
||||
// saleAdapter!!.notifyDataSetChanged()
|
||||
|
||||
if (canChangeState) changeTicketState()
|
||||
} else {
|
||||
if (allTicketsChecked) {
|
||||
|
||||
sales.forEach {
|
||||
/* sales.forEach {
|
||||
if (it.isControlled == "0") {
|
||||
viewModel.ticketStateTodaySetState(
|
||||
ticketFk = it.ticketFk.toInt(), state = "ON_CHECKING"
|
||||
)
|
||||
}
|
||||
}*/
|
||||
|
||||
val processedTickets = mutableSetOf<Int>()
|
||||
sales.forEach { sale ->
|
||||
val ticketFk = sale.ticketFk.toInt()
|
||||
if (sale.isControlled == "0" && ticketFk !in processedTickets) {
|
||||
viewModel.ticketStateTodaySetState(
|
||||
ticketFk = ticketFk, state = "ON_CHECKING"
|
||||
)
|
||||
processedTickets.add(ticketFk)
|
||||
}
|
||||
}
|
||||
allTicketsChecked = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun showQuantityDialogBySale(saleFk: Int) {
|
||||
|
||||
try {
|
||||
|
||||
customDialogThreeButtons.setDescription(getString(R.string.itemSaleQuantity))
|
||||
.setValue("").setOkButtonAdd(getString(R.string.modify)) {
|
||||
try {
|
||||
increaseQuantityBySale(saleFk, customDialogThreeButtons.getValue().toInt())
|
||||
scanRequest()
|
||||
customDialogThreeButtons.dismiss()
|
||||
} catch (ex: Exception) {
|
||||
ma.messageWithSound(
|
||||
message = getString(R.string.errorInputQuantity),
|
||||
isPlayed = true,
|
||||
isError = true,
|
||||
isToasted = true
|
||||
)
|
||||
}
|
||||
|
||||
}.setKoButton(getString(R.string.cancel)) {
|
||||
scanRequest()
|
||||
customDialogThreeButtons.dismiss()
|
||||
}.show()
|
||||
customDialogThreeButtons.setFocusDialogValue()
|
||||
} catch (ex: Exception) {
|
||||
getString(R.string.errorInput).toast(requireContext())
|
||||
}
|
||||
}
|
||||
|
||||
private fun showQuantityDialog(position: Int) {
|
||||
|
||||
try {
|
||||
|
||||
customDialogThreeButtons.setDescription(getString(R.string.itemSaleQuantity))
|
||||
|
@ -1037,22 +1088,51 @@ class CollectionFragmentChecker(
|
|||
}
|
||||
}
|
||||
|
||||
private fun incresaseSuccesful() {
|
||||
try {
|
||||
sales[positionIncreaseQuantity].quantity = quantityIncrease
|
||||
private fun incresaseSuccesful(saleFk: Number) {
|
||||
|
||||
// updateScreen()
|
||||
try {
|
||||
// if (myGroupList[positionIncreaseQuantity].isParent) {
|
||||
//updateScreen()
|
||||
for ((parentIndex, listItem) in myGroupList.withIndex()) {
|
||||
|
||||
if (listItem.isParent) {
|
||||
for ((childIndex, listItemSon) in listItem.sonSales.withIndex()) {
|
||||
if (listItemSon.saleFk == saleFk) {
|
||||
myGroupList[parentIndex].sonSales[childIndex].quantity =
|
||||
quantityIncrease
|
||||
saleAdapter?.notifyDataSetChanged()
|
||||
break
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (myGroupList[parentIndex].saleFk == saleFk) myGroupList[parentIndex].quantity =
|
||||
quantityIncrease
|
||||
break
|
||||
}
|
||||
}/* } else {
|
||||
myGroupList[positionIncreaseQuantity].quantity = quantityIncrease
|
||||
saleAdapter?.notifyDataSetChanged()
|
||||
}*/
|
||||
} catch (e: Exception) {
|
||||
e.message!!.toast(requireContext())
|
||||
}
|
||||
saleAdapter?.notifyDataSetChanged()
|
||||
sales[positionIncreaseQuantity].originalQuantity = quantityIncrease
|
||||
|
||||
}
|
||||
|
||||
private fun increaseQuantity(position: Int, quantity: Int) {
|
||||
positionIncreaseQuantity = position
|
||||
quantityIncrease = quantity
|
||||
viewModel.collectionIncreaseQuantitySalix(
|
||||
saleFk = sales[position].saleFk, quantity = quantity.toString()
|
||||
saleFk = myGroupList[position].saleFk, quantity = quantity.toString()
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
private fun increaseQuantityBySale(saleFk: Int, quantity: Int) {
|
||||
quantityIncrease = quantity
|
||||
viewModel.collectionIncreaseQuantitySalix(
|
||||
saleFk, quantity = quantity.toString()
|
||||
)
|
||||
|
||||
}
|
||||
|
@ -1083,17 +1163,14 @@ class CollectionFragmentChecker(
|
|||
}
|
||||
if (isTicket) {
|
||||
val labelDialogHelper = LabelDialogHelper(requireContext())
|
||||
labelDialogHelper.showLabelDialog(
|
||||
onItemSelected = { labelCount ->
|
||||
labelDialogHelper.showLabelDialog(onItemSelected = { labelCount ->
|
||||
viewModel.collectionStickerPrint(
|
||||
collectionFk = collection.collectionFk,
|
||||
labelCount = labelCount
|
||||
collectionFk = collection.collectionFk, labelCount = labelCount
|
||||
)
|
||||
val printerName =
|
||||
mobileApplication.dataStoreApp.readDataStoreKey<String>(PRINTERNAME)
|
||||
(getString(R.string.Imprimiendo) + printerName).toast(requireContext())
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
} else {
|
||||
viewModel.collectionStickerPrint(
|
||||
|
@ -1162,7 +1239,7 @@ class CollectionFragmentChecker(
|
|||
originalQuantity = null,
|
||||
quantity = null,
|
||||
rgb = null,
|
||||
saleFk = value[0].saleFk,
|
||||
saleFk = 0,
|
||||
saleGroupFk = value[0].saleGroupFk,
|
||||
isPreControlled = value[0].isPreControlled,
|
||||
isPrepared = value[0].isPrepared,
|
||||
|
|
|
@ -297,7 +297,6 @@ class CollectionFragmentPicker(
|
|||
SACADOR -> {
|
||||
//jose antonio
|
||||
myPosition = myGroupList.indexOfFirst { it.saleGroupFk == saleGroupScanned }
|
||||
println("previa $saleGroupScanned posicion $myPosition")
|
||||
viewModel.saleTrackingAddPreparedSaleGroup(
|
||||
saleGroupScanned.toInt()
|
||||
)
|
||||
|
|
|
@ -7,8 +7,10 @@ import android.os.Bundle
|
|||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.text.InputType
|
||||
import android.util.Log.d
|
||||
import android.view.KeyEvent
|
||||
import android.view.View
|
||||
import android.view.View.VISIBLE
|
||||
import android.view.WindowManager
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
|
@ -71,6 +73,7 @@ import org.json.JSONObject
|
|||
3-VERIFICAR COLECCIÓN
|
||||
4-IMPRIMIR
|
||||
5-EL SACADOR PUEDE MARCAR PREVIA, EL PRESACADOR NO.
|
||||
6-EL PRE marca los estados del saleGroup con OK PREVIOUS (26) y el SACADOR con PREPARED (14)
|
||||
|
||||
variables:
|
||||
isVerifiedCollection
|
||||
|
@ -107,6 +110,7 @@ class CollectionFragmentPickerPreviousNew(
|
|||
private lateinit var myGroupList: List<Sale>
|
||||
private var quantityReserveToCheckItemScan = 0
|
||||
private var isVerifiedCollection = false
|
||||
private var stateCodeId: Number? = null
|
||||
|
||||
companion object {
|
||||
fun newInstance(
|
||||
|
@ -133,19 +137,18 @@ class CollectionFragmentPickerPreviousNew(
|
|||
}
|
||||
|
||||
override fun init() {
|
||||
println("Sacando test")
|
||||
customDialogList = CustomDialogList(requireContext())
|
||||
customDialogInput = CustomDialogInput(requireContext())
|
||||
customDialog = CustomDialog(requireContext())
|
||||
customDialogThreeButtons = CustomDialogThreeButtons(requireContext())
|
||||
customDialogThreeButtonsQuantity = CustomDialogThreeButtons(requireContext())
|
||||
ma.hideBottomNavigation(View.GONE)
|
||||
println("type $type")
|
||||
setEvents()
|
||||
setToolBar()
|
||||
viewModel.collectionTicketGetSalix(
|
||||
collection.collectionFk, print = false
|
||||
)
|
||||
viewModel.getStateId(if (type == PREITEMPICKERTEST) "OK PREVIOUS" else "PREPARED")
|
||||
|
||||
super.init()
|
||||
}
|
||||
|
@ -334,7 +337,6 @@ class CollectionFragmentPickerPreviousNew(
|
|||
//lm!!.scrollToPositionWithOffset(storedBackPosition + 1, 0)
|
||||
setTotalLines()
|
||||
} else {
|
||||
println("updating")
|
||||
updateScreen()
|
||||
}
|
||||
}
|
||||
|
@ -350,6 +352,20 @@ class CollectionFragmentPickerPreviousNew(
|
|||
|
||||
}
|
||||
}
|
||||
loadResponseStateId.observe(viewLifecycleOwner) { event ->
|
||||
event.getContentIfNotHandled().notNull {
|
||||
stateCodeId = it
|
||||
}
|
||||
}
|
||||
loadResponseReserveAddPrevOK.observe(viewLifecycleOwner) { event ->
|
||||
event.getContentIfNotHandled().notNull {
|
||||
}
|
||||
}
|
||||
loadSetStateResponse.observe(viewLifecycleOwner) { event ->
|
||||
event.getContentIfNotHandled().notNull {
|
||||
// updateScreen()
|
||||
}
|
||||
}
|
||||
|
||||
loadResponseCode.observe(viewLifecycleOwner) { event ->
|
||||
event.getContentIfNotHandled().notNull {
|
||||
|
@ -493,8 +509,7 @@ class CollectionFragmentPickerPreviousNew(
|
|||
}
|
||||
|
||||
private fun showDeleteItemShelving(sale: Sale) {
|
||||
customDialog.setTitle(getString(R.string.deleteSale))
|
||||
.setDescription(
|
||||
customDialog.setTitle(getString(R.string.deleteSale)).setDescription(
|
||||
getString(R.string.deleteSaleDescrip) + getString(
|
||||
R.string.sure
|
||||
)
|
||||
|
@ -539,11 +554,24 @@ class CollectionFragmentPickerPreviousNew(
|
|||
//Se busca la matricula en las lineas
|
||||
for (indice in myGroupList.indices) {
|
||||
//como cuando es presacador no hay parent no entrará
|
||||
if (myGroupList[indice].isParent && myGroupList[indice].saleGroupFk == txtscan.toInt()) {
|
||||
try {
|
||||
if (myGroupList[indice].isParent && myGroupList[indice].saleGroupFk == txtscan.toInt() || (type == PREPARED && myGroupList[indice].saleGroupFk == txtscan.toInt())) {
|
||||
isFoundSale = true
|
||||
storedPosition = indice
|
||||
viewModel.itemShelvingSaleSetSaleGroup(txtscan.toInt())
|
||||
setStateSaleGroup(txtscan.toInt())
|
||||
myGroupList[indice].stateCode =
|
||||
if (myGroupList[indice].stateCode == "PREPARED") {
|
||||
"OK PREVIOUS"
|
||||
} else {
|
||||
"PREPARED"
|
||||
}
|
||||
saleAdapter!!.notifyDataSetChanged()
|
||||
break
|
||||
|
||||
}
|
||||
} catch (ex: Exception) {
|
||||
d("Verdnatura", "not find")
|
||||
}
|
||||
if (myGroupList[indice].isPicked != 1 && myGroupList[indice].code != null && myGroupList[indice].code!!.uppercase() == txtscan.uppercase()) {
|
||||
isFoundSale = true
|
||||
|
@ -562,6 +590,7 @@ class CollectionFragmentPickerPreviousNew(
|
|||
for (indice in sales.indices) {
|
||||
if (sales[indice].saleGroupFk != null && sales[indice].saleGroupFk == saleGroupScanned.toInt()) {
|
||||
viewModel.itemShelvingSaleSetSaleGroup(saleGroupScanned.toInt())
|
||||
setStateSaleGroup(saleGroupScanned.toInt())
|
||||
storedPosition = indice
|
||||
mpok!!.start()
|
||||
return true
|
||||
|
@ -808,15 +837,13 @@ class CollectionFragmentPickerPreviousNew(
|
|||
showQuestionUbicationEmpty(position, quantity)
|
||||
}.setOkButtonTwo(getString(R.string.no)) {
|
||||
scanRequest()
|
||||
customDialogThreeButtonsQuantity.dismiss()
|
||||
/* viewModel.itemShelvingSaleExists(
|
||||
customDialogThreeButtonsQuantity.dismiss()/* viewModel.itemShelvingSaleExists(
|
||||
myGroupList[position].itemShelvingSaleFk,
|
||||
myGroupList[position].itemShelvingFk,
|
||||
position,
|
||||
quantity
|
||||
)*/
|
||||
markLine(position, quantity, true)
|
||||
/* if (quantity == 0) {
|
||||
markLine(position, quantity, true)/* if (quantity == 0) {
|
||||
|
||||
/* viewModel.itemShelvingGet(
|
||||
myGroupList[position].itemShelvingFk,
|
||||
|
@ -925,8 +952,7 @@ class CollectionFragmentPickerPreviousNew(
|
|||
ticketSelected,
|
||||
saleGroupFk = if (type == PREPARED) null else collection.tickets.find { it.ticketFk == ticketSelected }?.sales?.get(
|
||||
0
|
||||
)?.saleGroupFk
|
||||
?: 0,
|
||||
)?.saleGroupFk ?: 0,
|
||||
sectorFk = if (type == PREPARED) null else mobileApplication.dataStoreApp.readDataStoreKey<Int>(
|
||||
SECTORFK
|
||||
)
|
||||
|
@ -952,6 +978,7 @@ class CollectionFragmentPickerPreviousNew(
|
|||
R.string.addItemQuantity, sale.itemFk
|
||||
)
|
||||
)
|
||||
customDialogThreeButtonsQuantity.setCustomDialogValue(VISIBLE)
|
||||
customDialogThreeButtonsQuantity.setOkButtonAdd(text = getString(R.string.add)) {
|
||||
ticketSelected = sale.ticketFk
|
||||
if (customDialogThreeButtonsQuantity.getValue().isNotEmpty()) {
|
||||
|
@ -961,8 +988,7 @@ class CollectionFragmentPickerPreviousNew(
|
|||
ticketSelected = sale.ticketFk,
|
||||
saleGroupFk = if (type == PREPARED) null else collection.tickets.find { it.ticketFk == ticketSelected }?.sales?.get(
|
||||
0
|
||||
)?.saleGroupFk
|
||||
?: 0,
|
||||
)?.saleGroupFk ?: 0,
|
||||
sectorFk = if (type == PREPARED) null else mobileApplication.dataStoreApp.readDataStoreKey<Int>(
|
||||
SECTORFK
|
||||
)
|
||||
|
@ -1003,8 +1029,6 @@ class CollectionFragmentPickerPreviousNew(
|
|||
}
|
||||
|
||||
private fun setTotalLines() {
|
||||
println("total Mark ${myGroupList.count { it.isPicked == 1 }}")
|
||||
println("total size ${myGroupList.size}")
|
||||
val totalMark = myGroupList.count { it.isPicked == 1 }
|
||||
binding.mainToolbar.toolbarTitle.text =
|
||||
if (collection.collectionFk != 0) collection.collectionFk.toString() else ""
|
||||
|
@ -1019,17 +1043,34 @@ class CollectionFragmentPickerPreviousNew(
|
|||
ticketFk = it.toInt(), state = "PREPARED"
|
||||
)
|
||||
}
|
||||
//setStateSaleGroup()
|
||||
}
|
||||
|
||||
PREITEMPICKERTEST -> {
|
||||
//viewModel.saleTrackingAddPrevOK(collection.collectionFk)
|
||||
viewModel.saleTrackingSectorCollectionAddPrevOK(collection.collectionFk)
|
||||
viewModel.saleTrackingAddPrevOK(collection.collectionFk)
|
||||
//viewModel.saleTrackingSectorCollectionAddPrevOK(collection.collectionFk)
|
||||
val distinctSaleGroups = mutableSetOf<Int>()
|
||||
myGroupList.forEach { sale ->
|
||||
sale.saleGroupFk?.let {
|
||||
distinctSaleGroups.add(it)
|
||||
} ?: run {
|
||||
println("No hay salegroup")
|
||||
}
|
||||
}
|
||||
if (distinctSaleGroups.isNotEmpty())
|
||||
distinctSaleGroups.forEach { saleGroup ->
|
||||
setStateSaleGroup(saleGroup)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setStateSaleGroup(saleGroup: Number) {
|
||||
viewModel.saleGroupUpdateState(saleGroup, stateCodeId!!)
|
||||
}
|
||||
|
||||
private fun showScanner(index: Int, sale: Sale) {
|
||||
customDialogInput.getEditText().inputType = InputType.TYPE_CLASS_TEXT
|
||||
customDialogInput.setTitle("" + sale.itemFk)
|
||||
|
@ -1157,8 +1198,7 @@ class CollectionFragmentPickerPreviousNew(
|
|||
).toString()
|
||||
)
|
||||
|
||||
val foundTicketInCollection =
|
||||
collection.tickets.find {
|
||||
val foundTicketInCollection = collection.tickets.find {
|
||||
it.ticketFk == customDialogList.getValue().toInt()
|
||||
}
|
||||
if (foundTicketInCollection != null) {
|
||||
|
@ -1217,17 +1257,14 @@ class CollectionFragmentPickerPreviousNew(
|
|||
}
|
||||
if (isTicket) {
|
||||
val labelDialogHelper = LabelDialogHelper(requireContext())
|
||||
labelDialogHelper.showLabelDialog(
|
||||
onItemSelected = { labelCount ->
|
||||
labelDialogHelper.showLabelDialog(onItemSelected = { labelCount ->
|
||||
viewModel.collectionStickerPrint(
|
||||
collectionFk = collection.collectionFk,
|
||||
labelCount = labelCount
|
||||
collectionFk = collection.collectionFk, labelCount = labelCount
|
||||
)
|
||||
(getString(R.string.Imprimiendo) + mobileApplication.dataStoreApp.readDataStoreKey<String>(
|
||||
PRINTERNAME
|
||||
)).toast(requireContext())
|
||||
}
|
||||
)
|
||||
})
|
||||
} else {
|
||||
viewModel.collectionStickerPrint(
|
||||
collectionFk = collection.collectionFk, null
|
||||
|
|
|
@ -161,7 +161,7 @@ class CollectionFragmentPreChecker(
|
|||
collection.collectionFk,
|
||||
mobileApplication.dataStoreApp.readDataStoreKey(SECTORFK),
|
||||
print = "0",
|
||||
type
|
||||
"PREVIOUS_CONTROL"
|
||||
)
|
||||
}
|
||||
super.onCreate(savedInstanceState)
|
||||
|
@ -383,7 +383,7 @@ class CollectionFragmentPreChecker(
|
|||
viewModel.getSales(
|
||||
binding.scanInput.text.toString().toInt(),
|
||||
print = "0",
|
||||
source = type
|
||||
source = "PREVIOUS_CONTROL"
|
||||
)
|
||||
|
||||
//findSale(binding.scanInput.text.toString())
|
||||
|
@ -419,7 +419,7 @@ class CollectionFragmentPreChecker(
|
|||
viewModel.getSales(
|
||||
binding.scanInput.toLong(),
|
||||
print = "0",
|
||||
source = type
|
||||
source = "PREVIOUS_CONTROL"
|
||||
)
|
||||
} catch (ex: Exception) {
|
||||
ma.messageWithSound(
|
||||
|
@ -1743,7 +1743,7 @@ class CollectionFragmentPreChecker(
|
|||
collection.collectionFk,
|
||||
mobileApplication.dataStoreApp.readDataStoreKey(SECTORFK),
|
||||
print = "0",
|
||||
type
|
||||
type = "PREVIOUS_CONTROL"
|
||||
)
|
||||
|
||||
} else {
|
||||
|
|
|
@ -188,6 +188,10 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) {
|
|||
get() = _responseIncQuantity
|
||||
val loadIncQuantity: LiveData<Event<ResponseItemVO>> = _responseIncQuantity.map { Event(it) }
|
||||
|
||||
private val _responseStateId by lazy { MutableLiveData<Number>() }
|
||||
val responseStateId: LiveData<Number> = _responseStateId
|
||||
val loadResponseStateId: LiveData<Event<Number>> = _responseStateId.map { Event(it) }
|
||||
|
||||
private val _mistakeList by lazy { MutableLiveData<MistakeTypeListVO>() }
|
||||
val mistakeList: LiveData<MistakeTypeListVO>
|
||||
get() = _mistakeList
|
||||
|
@ -211,6 +215,16 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) {
|
|||
val responseSaleAddPrevOK: LiveData<ResponseItemVO>
|
||||
get() = _responseSaleAddPrevOK
|
||||
|
||||
private val _responseSaleReserveAddPrevOK by lazy { MutableLiveData<Boolean>() }
|
||||
val responseSaleReserveAddPrevOK: LiveData<Boolean> = _responseSaleReserveAddPrevOK
|
||||
val loadResponseReserveAddPrevOK: LiveData<Event<Boolean>> =
|
||||
_responseSaleReserveAddPrevOK.map { Event(it) }
|
||||
|
||||
private val _setStateResponse by lazy { MutableLiveData<Boolean>() }
|
||||
val setStateResponse: LiveData<Boolean> = _setStateResponse
|
||||
val loadSetStateResponse: LiveData<Event<Boolean>> =
|
||||
_setStateResponse.map { Event(it) }
|
||||
|
||||
fun getSales(
|
||||
collectionFk: Number, print: String, source: String
|
||||
|
||||
|
@ -491,6 +505,35 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) {
|
|||
})
|
||||
}
|
||||
|
||||
fun getStateId(stateCode: String) {
|
||||
|
||||
salix.getStateId(
|
||||
filter = """{"where":{"code":"$stateCode"}, "fields":["id"]}""".trimMargin()
|
||||
).enqueue(object : SalixCallback<JsonObject>(context) {
|
||||
override fun onSuccess(response: Response<JsonObject>) {
|
||||
_responseStateId.value =
|
||||
response.body()?.get("id").toString().toInt()
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
fun setStateSaleGroup(
|
||||
saleGroups: List<Number>, stateCode: Int
|
||||
) {
|
||||
salix.collectionAddWithReservation(
|
||||
params = arrayListOf(
|
||||
saleGroups, stateCode
|
||||
)
|
||||
).enqueue(object : SalixCallback<Any>(context) {
|
||||
override fun onSuccess(response: Response<Any>) {
|
||||
// _responseCollectionAddItem.value = true
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
fun itemPlacementSupplyAiming(
|
||||
shelvingFk: String, quantity: Int, itemFk: Int
|
||||
) {
|
||||
|
@ -626,7 +669,7 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) {
|
|||
}
|
||||
|
||||
fun itemShelvingSaleSetSaleGroup(
|
||||
saleGroupFk: Int
|
||||
saleGroupFk: Int,
|
||||
) {
|
||||
salix.itemShelvingSaleSetSaleGroup(
|
||||
arrayListOf(
|
||||
|
@ -642,6 +685,7 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) {
|
|||
|
||||
override fun onSuccess(response: Response<Unit>) {
|
||||
_responseItemShelvingSaleGroup.value = ResponseItemVO(isError = false)
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -767,6 +811,16 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) {
|
|||
})
|
||||
}
|
||||
|
||||
fun saleGroupUpdateState(saleGroup: Number, codeState: Number) {
|
||||
salix.saleGroupUpdate(
|
||||
id = saleGroup, hashMapOf("stateFk" to codeState)
|
||||
).enqueue(object : SalixCallback<Any>(context) {
|
||||
override fun onSuccess(response: Response<Any>) {
|
||||
_setStateResponse.value = true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fun collectionIncreaseQuantitySalix(
|
||||
saleFk: Int, quantity: String
|
||||
) {
|
||||
|
@ -797,7 +851,9 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) {
|
|||
|
||||
salix.saleMistakeAdd(
|
||||
SaleMistakeSalix(
|
||||
userFk = (context as MobileApplication).userId!!, saleFk = saleFk, typeFk = typeFk
|
||||
userFk = (context as MobileApplication).userId!!,
|
||||
saleFk = saleFk,
|
||||
typeFk = typeFk
|
||||
)
|
||||
).enqueue(object : SalixCallback<Any>(context) {
|
||||
override fun onError(t: Throwable) {
|
||||
|
@ -988,22 +1044,11 @@ class CollectionViewModel(val context: Context) : BaseViewModel(context) {
|
|||
) {
|
||||
salix.saleTrackingSectorCollectionAddPrevOK(arrayListOf(sectorCollectionFk))
|
||||
.enqueue(object : SalixCallback<Any>(context) {
|
||||
override fun onError(t: Throwable) {
|
||||
_responseSaleAddPrevOK.value = ResponseItemVO(
|
||||
isError = true, errorMessage = getMessageFromAllResponse(
|
||||
nameofFunction(this), t.message!!
|
||||
)
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
override fun onSuccess(response: Response<Any>) {
|
||||
_responseSaleAddPrevOK.value = ResponseItemVO(
|
||||
isError = false, errorMessage = "" + getMessageFromAllResponse(
|
||||
nameofFunction(this), response.message()
|
||||
)
|
||||
)
|
||||
|
||||
_responseSaleReserveAddPrevOK.value = true
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -31,9 +31,14 @@ class RouteAdapter(
|
|||
|
||||
var prevCreated = ""
|
||||
for (route in list) {
|
||||
if (route.created.toString() != prevCreated) {
|
||||
//tarea 7146
|
||||
/* if (route.created.toString() != prevCreated) {
|
||||
route.header = true
|
||||
prevCreated = route.created.toString()
|
||||
}*/
|
||||
if (route.dated.toString() != prevCreated) {
|
||||
route.header = true
|
||||
prevCreated = route.dated.toString()
|
||||
}
|
||||
}
|
||||
return list
|
||||
|
@ -90,7 +95,9 @@ class RouteAdapter(
|
|||
|
||||
if (item.header) {
|
||||
headerRouteLayout.visibility = View.VISIBLE
|
||||
headerRoute.text = toDateString(item.created)
|
||||
//tarea7146
|
||||
headerRoute.text = toDateString(item.dated)
|
||||
// headerRoute.text = toDateString(item.created)
|
||||
} else {
|
||||
headerRouteLayout.visibility = View.GONE
|
||||
|
||||
|
|
|
@ -289,7 +289,8 @@ class RoutesFragment(
|
|||
viewModel.getDataFromExpedition(
|
||||
routeId = routeId.toLong(),
|
||||
expeditionId = expedition.code!!.toLong(),
|
||||
landed = routeItem!!.created.toString()
|
||||
// landed = routeItem!!.created.toString()
|
||||
landed = routeItem!!.dated.toString()
|
||||
)
|
||||
}
|
||||
customDialogList.dismiss()
|
||||
|
|
|
@ -340,16 +340,8 @@ class SummaryFragment(
|
|||
viewModel.getExpeditionFromRoute(routeSelected)
|
||||
|
||||
}
|
||||
println("address $addressFkSelected")
|
||||
println("address isScanning $isScanning")
|
||||
|
||||
if (addressFkSelected != item.addressFk && isScanning) {
|
||||
println("address isScanning $isScanning")
|
||||
println("address setSTATE $state")
|
||||
println("address address $addressFkSelected")
|
||||
|
||||
setExpeditionsState(myList, state, addressFkSelected)
|
||||
|
||||
}
|
||||
addressFkSelected = item.addressFk
|
||||
isScanning = false
|
||||
|
|
|
@ -429,15 +429,15 @@ class TicketsFragment : BaseFragment<FragmentTicketsBinding, DeliveryViewModel>(
|
|||
override fun onItemButtonCMRRowClickListener(
|
||||
item: Ticket
|
||||
) {
|
||||
|
||||
ma.onPasillerosItemClickListener(
|
||||
PasillerosItemVO(
|
||||
title = R.string.titleWebViewer,
|
||||
), entryPoint = Gson().toJson(
|
||||
mutableMapOf(
|
||||
"entryPoint" to route.id, "web" to "${
|
||||
"entryPoint" to route.id,
|
||||
"web" to "${
|
||||
mobileApplication.dataStoreApp.getServerSalix()
|
||||
}/api/Routes/${item.cmrFk}/cmr?access_token=${
|
||||
}/api/Cmrs/${item.cmrFk}/print?access_token=${
|
||||
mobileApplication.dataStoreApp.readDataStoreKey<String>(
|
||||
TOKEN
|
||||
)
|
||||
|
|
|
@ -168,7 +168,7 @@ class RouteInfo(
|
|||
@SerializedName(value = "driver", alternate = ["workerUserName"])
|
||||
var driver: String?,
|
||||
var hour: String?,
|
||||
@TypeConverters(MapTypeConverter::class) var created: Date,
|
||||
@TypeConverters(MapTypeConverter::class) var dated: Date,
|
||||
var m3: Double,
|
||||
@SerializedName(value = "numberPlate", alternate = ["vehiclePlateNumber"])
|
||||
var numberPlate: String?,
|
||||
|
@ -184,6 +184,6 @@ class RouteInfo(
|
|||
var agencyModeFk: Int
|
||||
) : Serializable {
|
||||
override fun toString(): String {
|
||||
return "$driver$id$name$numberPlate$m3$created$hour$"
|
||||
return "$driver$id$name$numberPlate$m3$$dated$hour$"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,8 +6,10 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||
import com.google.gson.Gson
|
||||
import es.verdnatura.R
|
||||
import es.verdnatura.databinding.FragmentShelvinglogBinding
|
||||
import es.verdnatura.domain.ConstAndValues.TOKENMULTIMEDIA
|
||||
import es.verdnatura.domain.notNull
|
||||
import es.verdnatura.presentation.base.BaseFragment
|
||||
import es.verdnatura.presentation.common.itemScanValue
|
||||
import es.verdnatura.presentation.view.component.CustomDialog
|
||||
import es.verdnatura.presentation.view.feature.historicoshelvinglog.adapter.ShelvingLogAdapter
|
||||
import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.LogType
|
||||
|
@ -23,6 +25,7 @@ class ShelvingLogFragment(
|
|||
) {
|
||||
private var adapter: ShelvingLogAdapter? = null
|
||||
private var itemScan = ""
|
||||
private var isitemFkScanned = false
|
||||
|
||||
companion object {
|
||||
fun newInstance(entryPoint: String, logType: LogType) =
|
||||
|
@ -43,16 +46,32 @@ class ShelvingLogFragment(
|
|||
|
||||
}
|
||||
|
||||
private fun setToolBar(title:String) {
|
||||
private fun setToolBar(title: String) {
|
||||
|
||||
if (logType == LogType.SHELVING) {
|
||||
when (logType) {
|
||||
LogType.SHELVING -> {
|
||||
binding.mainToolbar.toolbarTitle.text = title
|
||||
}
|
||||
|
||||
LogType.PREVIOUS -> {
|
||||
binding.mainToolbar.toolbarTitle.text = title
|
||||
binding.scanInput.setHint(getString(R.string.scanParkingTxt))
|
||||
}
|
||||
|
||||
LogType.ITEMSHELVING -> {
|
||||
binding.mainToolbar.toolbarTitle.text = title
|
||||
binding.scanInput.setHint("Escanea carro o item")
|
||||
}
|
||||
}
|
||||
|
||||
/* if (logType == LogType.SHELVING) {
|
||||
binding.mainToolbar.toolbarTitle.text = title
|
||||
|
||||
} else {
|
||||
binding.mainToolbar.toolbarTitle.text = title
|
||||
binding.scanInput.setHint(getString(R.string.scanParkingTxt))
|
||||
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
|
@ -62,6 +81,11 @@ class ShelvingLogFragment(
|
|||
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
|
||||
if (binding.scanInput.text.toString().isNotEmpty()) {
|
||||
|
||||
binding.scanInput.setText(
|
||||
itemScanValue(
|
||||
binding.scanInput.text.toString(), arrayOf("buy"), "id"
|
||||
).toString()
|
||||
)
|
||||
when (logType) {
|
||||
LogType.SHELVING -> {
|
||||
viewModel.shelvings((binding.scanInput.text.toString()))
|
||||
|
@ -69,6 +93,9 @@ class ShelvingLogFragment(
|
|||
}
|
||||
|
||||
LogType.PREVIOUS -> viewModel.getParkingId((binding.scanInput.text.toString()))
|
||||
LogType.ITEMSHELVING -> {
|
||||
viewModel.shelvings((binding.scanInput.text.toString()))
|
||||
}
|
||||
}
|
||||
itemScan = binding.scanInput.text.toString()
|
||||
}
|
||||
|
@ -95,11 +122,11 @@ class ShelvingLogFragment(
|
|||
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
|
||||
setToolBar(getString(R.string.shelvingLog) + ":" + itemScan)
|
||||
if (it.list.isEmpty()) {
|
||||
customDialog.setTitle(getString(R.string.noResults))
|
||||
.setDescription(getString(R.string.noDataLabelScanned))
|
||||
.setOkButton(getString(R.string.close)) {
|
||||
customDialog.dismiss()
|
||||
}.show()
|
||||
if (logType == LogType.SHELVING) {
|
||||
showMessage()
|
||||
} else {
|
||||
viewModel.getIdFromCodeSalix(itemScan)
|
||||
}
|
||||
} else {
|
||||
openWebViewer(it.list[0].id!!, "shelving")
|
||||
}
|
||||
|
@ -113,21 +140,62 @@ class ShelvingLogFragment(
|
|||
|
||||
}
|
||||
}
|
||||
loadResponseCode.observe(viewLifecycleOwner) { event ->
|
||||
event.getContentIfNotHandled().notNull {
|
||||
setToolBar(getString(R.string.item) + itemScan)
|
||||
if (it == -1) showMessage() else {
|
||||
isitemFkScanned = true
|
||||
openWebViewer(it, "")
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
isitemFkScanned = false
|
||||
super.onPause()
|
||||
}
|
||||
|
||||
private fun showMessage() {
|
||||
customDialog.setTitle(getString(R.string.noResults))
|
||||
.setDescription(getString(R.string.noDataLabelScanned))
|
||||
.setOkButton(getString(R.string.close)) {
|
||||
customDialog.dismiss()
|
||||
}.show()
|
||||
}
|
||||
|
||||
private fun openWebViewer(param: Int, web: String) {
|
||||
|
||||
//variableWeb = if (itemScan is Number) "var-itemFk=$param" else "var-shelvingCode=$param"
|
||||
ma.onPasillerosItemClickListener(
|
||||
PasillerosItemVO(
|
||||
title = R.string.titleWebViewer,
|
||||
),
|
||||
|
||||
entryPoint = Gson().toJson(
|
||||
entryPoint = if (logType == LogType.ITEMSHELVING) {
|
||||
Gson().toJson(
|
||||
mutableMapOf(
|
||||
"entryPoint" to param,
|
||||
"web" to "https://grafana.verdnatura.es/d/ce4b8ymvex4owa?${
|
||||
if (isitemFkScanned) "var-itemFk=$param&var-vnToken=${
|
||||
mobileApplication.dataStoreApp.readDataStoreKey<String>(
|
||||
TOKENMULTIMEDIA
|
||||
)
|
||||
}"
|
||||
else "var-shelvingCode=$itemScan"
|
||||
}"
|
||||
)
|
||||
)
|
||||
} else {
|
||||
Gson().toJson(
|
||||
mutableMapOf(
|
||||
"entryPoint" to param,
|
||||
"web" to "${mobileApplication.dataStoreApp.getServerLilium()}/#/$web/$param/log"
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
)
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import androidx.lifecycle.MutableLiveData
|
|||
import androidx.lifecycle.map
|
||||
import com.google.gson.JsonObject
|
||||
import es.verdnatura.domain.SalixCallback
|
||||
import es.verdnatura.domain.userCases.GetItemFromBarcodeUseCase
|
||||
import es.verdnatura.presentation.base.BaseViewModel
|
||||
import es.verdnatura.presentation.common.Event
|
||||
import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.ShelvingLogSalix
|
||||
|
@ -13,14 +14,18 @@ import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.Shelvi
|
|||
import retrofit2.Response
|
||||
|
||||
class ShelvingLogViewModel(val context: Context) : BaseViewModel(context) {
|
||||
|
||||
private val getItemFromBarcodeUseCase = GetItemFromBarcodeUseCase(salix)
|
||||
private val _itemShelvingLogSalixList by lazy { MutableLiveData<ShelvingLogSalixList>() }
|
||||
val loadShelvingLogSalixList: LiveData<Event<ShelvingLogSalixList>> =
|
||||
_itemShelvingLogSalixList.map { Event(it) }
|
||||
|
||||
private val _responseParkingId by lazy { MutableLiveData<Int?>() }
|
||||
val responseParkingId: LiveData<Int?> = _responseParkingId
|
||||
val loadResponseParking: LiveData<Event<Int?>> =_responseParkingId.map { Event(it) }
|
||||
val loadResponseParking: LiveData<Event<Int?>> = _responseParkingId.map { Event(it) }
|
||||
|
||||
private val _responseCode by lazy { MutableLiveData<Int?>() }
|
||||
val responseCode: LiveData<Int?> = _responseCode
|
||||
val loadResponseCode: LiveData<Event<Int?>> = _responseCode.map { Event(it) }
|
||||
|
||||
fun shelvings(vShelvingFK: String) {
|
||||
salix.shelvingsGet("""{"where": {"code": "$vShelvingFK"}}""").enqueue(object :
|
||||
|
@ -41,13 +46,26 @@ class ShelvingLogViewModel(val context: Context) : BaseViewModel(context) {
|
|||
.enqueue(object :
|
||||
SalixCallback<List<JsonObject>>(context) {
|
||||
override fun onSuccess(response: Response<List<JsonObject>>) {
|
||||
_responseParkingId.value = response.body()?.firstOrNull()?.entrySet()?.firstOrNull()?.value?.toString()?.toIntOrNull()
|
||||
_responseParkingId.value =
|
||||
response.body()?.firstOrNull()?.entrySet()?.firstOrNull()?.value?.toString()
|
||||
?.toIntOrNull()
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
fun getIdFromCodeSalix(code: String) {
|
||||
getItemFromBarcodeUseCase.execute(code)
|
||||
.enqueue(object : SalixCallback<Int?>(context) {
|
||||
|
||||
override fun onSuccess(response: Response<Int?>) {
|
||||
_responseCode.value = response.body() ?: -1
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -40,8 +40,10 @@ data class DeviceLogSalix(
|
|||
val versionApp: String,
|
||||
val serialNumber: String?
|
||||
)
|
||||
|
||||
enum class LogType {
|
||||
SHELVING,
|
||||
PREVIOUS,
|
||||
ITEMSHELVING
|
||||
|
||||
}
|
||||
|
|
|
@ -126,21 +126,19 @@ class InventoryParkingAdapter(
|
|||
itemShelving.setOnClickListener {
|
||||
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
||||
PasillerosItemVO(
|
||||
title = R.string.titleUbicator)
|
||||
, item.shelvingFk
|
||||
title = R.string.titleUbicator
|
||||
), item.shelvingFk
|
||||
)
|
||||
}
|
||||
itemfkText.setOnClickListener {
|
||||
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
||||
PasillerosItemVO(
|
||||
title = R.string.itemSearch)
|
||||
, item.itemFk.toString()
|
||||
title = R.string.itemSearch
|
||||
), item.itemFk.toString()
|
||||
)
|
||||
}
|
||||
|
||||
if (item.isChecked != null) {
|
||||
println("item ${item.itemFk} checked ${item.isChecked} ")
|
||||
|
||||
when (item.isChecked!!.toInt()) {
|
||||
|
||||
in 1..Int.MAX_VALUE -> itemRowLayout.setBackgroundColor(
|
||||
|
|
|
@ -11,6 +11,7 @@ import es.verdnatura.R
|
|||
import es.verdnatura.databinding.FragmentInventaryBinding
|
||||
import es.verdnatura.domain.ConstAndValues.BUYER
|
||||
import es.verdnatura.domain.ConstAndValues.BUYERID
|
||||
import es.verdnatura.domain.ConstAndValues.ITEMPACKINGTYPEFILTER
|
||||
import es.verdnatura.domain.ConstAndValues.WAREHOUSEFK
|
||||
import es.verdnatura.domain.toast
|
||||
import es.verdnatura.presentation.base.BaseFragment
|
||||
|
@ -22,6 +23,7 @@ import es.verdnatura.presentation.view.commom.NameWithId
|
|||
import es.verdnatura.presentation.view.commom.SearchableAdapter
|
||||
import es.verdnatura.presentation.view.component.CustomDialogInput
|
||||
import es.verdnatura.presentation.view.component.CustomDialogTwoButtons
|
||||
import es.verdnatura.presentation.view.feature.calidad.model.Buyer
|
||||
import es.verdnatura.presentation.view.feature.inventario.adapter.InventoryAdapter
|
||||
import es.verdnatura.presentation.view.feature.inventario.model.ItemInventaryVO
|
||||
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
|
||||
|
@ -41,6 +43,8 @@ class InventaryFragment :
|
|||
private var firstVisiblePosition = 0
|
||||
private lateinit var itemClicked: ItemInventaryVO
|
||||
private var buyerId: Number = -1
|
||||
private var filterItemType: String? = null
|
||||
private var myListBuyers = listOf<Buyer>()
|
||||
|
||||
companion object {
|
||||
fun newInstance() = InventaryFragment()
|
||||
|
@ -55,8 +59,12 @@ class InventaryFragment :
|
|||
|
||||
override fun init() {
|
||||
|
||||
viewModel.itemShelvingBuyerGet()
|
||||
// viewModel.itemShelvingBuyerGet()
|
||||
viewModel.itemShelvingBuyerGetByItemPacking()
|
||||
binding.filterBuyer.text = mobileApplication.dataStoreApp.readDataStoreKey<String>((BUYER))
|
||||
filterItemType =
|
||||
mobileApplication.dataStoreApp.readDataStoreKey<String>((ITEMPACKINGTYPEFILTER))
|
||||
binding.filterItemType.setText(filterItemType!!.firstOrNull()?.toString() ?: "").toString()
|
||||
buyerId = mobileApplication.dataStoreApp.readDataStoreKey<Int>((BUYERID))
|
||||
if (buyerId != -1) {
|
||||
viewModel.getInventory(
|
||||
|
@ -64,8 +72,26 @@ class InventaryFragment :
|
|||
)
|
||||
}
|
||||
binding.filterBuyer.setOnClickListener {
|
||||
val distinctPackingTypes = myListBuyers
|
||||
|
||||
.filter { filterItemType == getString(R.string.allText) || filterItemType == "" || it.itemPackingTypeFk == filterItemType }
|
||||
.map {
|
||||
NameWithId(
|
||||
it.worker.user.id, it.worker.user.nickname
|
||||
)
|
||||
}
|
||||
.distinct()
|
||||
.sortedBy { it.name }
|
||||
setSearchable(distinctPackingTypes as MutableList<NameWithId>)
|
||||
binding.searchableRecyclerView.visibility = View.VISIBLE
|
||||
binding.searchableRecyclerView.setSearchHint(getString(R.string.BuyerSearch))
|
||||
ma.hideKeyboard(binding.searchableRecyclerView)
|
||||
}
|
||||
|
||||
binding.filterItemType.setOnClickListener {
|
||||
|
||||
binding.searchableRecyclerViewItemType.visibility = View.VISIBLE
|
||||
binding.searchableRecyclerViewItemType.setSearchHint(getString(R.string.selectItemType))
|
||||
}
|
||||
|
||||
customDialogInput = CustomDialogInput(requireContext())
|
||||
|
@ -106,6 +132,29 @@ class InventaryFragment :
|
|||
|
||||
}
|
||||
|
||||
private fun setSearchableItemPacking(listNames: MutableList<NameWithId>) {
|
||||
val adapter =
|
||||
SearchableAdapter(
|
||||
listElements = listNames,
|
||||
context = requireContext()
|
||||
) { elementSelected ->
|
||||
|
||||
lifecycleScope.launch {
|
||||
mobileApplication.dataStoreApp.editDataStoreKey(
|
||||
ITEMPACKINGTYPEFILTER, elementSelected.name
|
||||
)
|
||||
|
||||
}
|
||||
binding.filterItemType.text = elementSelected.name.firstOrNull()?.toString() ?: ""
|
||||
filterItemType = elementSelected.name
|
||||
binding.searchableRecyclerViewItemType.visibility = View.GONE
|
||||
|
||||
}
|
||||
|
||||
binding.searchableRecyclerViewItemType.setAdapter(adapter, listNames)
|
||||
|
||||
}
|
||||
|
||||
private fun setToolBar() {
|
||||
ma.hideBottomNavigation(View.GONE)
|
||||
val listIcons: ArrayList<ImageView> = ArrayList()
|
||||
|
@ -184,6 +233,21 @@ class InventaryFragment :
|
|||
|
||||
override fun observeViewModel() {
|
||||
with(viewModel) {
|
||||
|
||||
buyersByItemPackingList.observe(viewLifecycleOwner) { list ->
|
||||
myListBuyers = list.list
|
||||
val distinctPackingTypes =
|
||||
list?.list?.map {
|
||||
NameWithId(
|
||||
1, it.itemPackingTypeFk ?: getString(R.string.allText)
|
||||
)
|
||||
}
|
||||
?.distinct()
|
||||
?: emptyList()
|
||||
|
||||
setSearchableItemPacking(distinctPackingTypes as MutableList<NameWithId>)
|
||||
}
|
||||
|
||||
buyersList.observe(viewLifecycleOwner) { item ->
|
||||
setSearchable(item.list.map {
|
||||
NameWithId(
|
||||
|
@ -193,6 +257,7 @@ class InventaryFragment :
|
|||
} as MutableList<NameWithId>)
|
||||
}
|
||||
|
||||
|
||||
inventaryList.observe(viewLifecycleOwner) { it ->
|
||||
listInventory = ArrayList()
|
||||
listInventoryAux = ArrayList()
|
||||
|
@ -202,6 +267,8 @@ class InventaryFragment :
|
|||
listInventoryAux.add(it)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
adapter = InventoryAdapter(listInventory, object : OnInvetoryNichoClickListener {
|
||||
override fun onInvetoryNichoClickListener(item: ItemInventaryVO) {
|
||||
customDialog.setTitle(item.itemFk.toString() + "\n" + item.longName)
|
||||
|
|
|
@ -11,6 +11,8 @@ import es.verdnatura.domain.userCases.GetItemFromBarcodeUseCase
|
|||
import es.verdnatura.presentation.base.BaseViewModel
|
||||
import es.verdnatura.presentation.common.Event
|
||||
import es.verdnatura.presentation.common.ItemDiscardSalixShortage
|
||||
import es.verdnatura.presentation.view.feature.calidad.model.Buyer
|
||||
import es.verdnatura.presentation.view.feature.calidad.model.BuyerList
|
||||
import es.verdnatura.presentation.view.feature.calidad.model.BuyerListVO
|
||||
import es.verdnatura.presentation.view.feature.calidad.model.BuyerVO
|
||||
import es.verdnatura.presentation.view.feature.inventario.model.InventaryListVO
|
||||
|
@ -46,6 +48,10 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
|||
val buyersList: LiveData<BuyerListVO>
|
||||
get() = _buyersList
|
||||
|
||||
private val _buyersByItemPackingList by lazy { MutableLiveData<BuyerList>() }
|
||||
val buyersByItemPackingList: LiveData<BuyerList>
|
||||
get() = _buyersByItemPackingList
|
||||
|
||||
private val _mistakeDepartmentList by lazy { MutableLiveData<DepartmentMistakeList>() }
|
||||
val mistakeDepartmentList: LiveData<DepartmentMistakeList>
|
||||
get() = _mistakeDepartmentList
|
||||
|
@ -80,6 +86,20 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
|||
})
|
||||
}
|
||||
|
||||
fun itemShelvingBuyerGetByItemPacking() {
|
||||
salix.getBuyersByItemPackingType(
|
||||
"""{"fields":["itemPackingTypeFk","id","workerFk"],
|
||||
|"include":{"relation":"worker","scope":{"fields":["id"],
|
||||
|"include":{"relation":"user","scope":{"fields":["nickname"]}}}}}""".trimMargin()
|
||||
)
|
||||
.enqueue(object : SalixCallback<List<Buyer>>(context) {
|
||||
override fun onSuccess(response: Response<List<Buyer>>) {
|
||||
_buyersByItemPackingList.value = response.body()?.let { BuyerList(it) }
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
val loadInventaryList: LiveData<Event<InventaryListVO>> = _inventaryList.map { Event(it) }
|
||||
|
||||
fun getInventory(buyerFk: Number, warehouseFk: Int) {
|
||||
|
|
|
@ -22,6 +22,7 @@ import es.verdnatura.domain.ConstAndValues.RENEWINTERVAL
|
|||
import es.verdnatura.domain.ConstAndValues.RENEWPERIOD
|
||||
import es.verdnatura.domain.ConstAndValues.TOKEN
|
||||
import es.verdnatura.domain.ConstAndValues.TOKENCREATED
|
||||
import es.verdnatura.domain.ConstAndValues.TOKENMULTIMEDIA
|
||||
import es.verdnatura.domain.ConstAndValues.TTL
|
||||
import es.verdnatura.domain.ConstAndValues.USER
|
||||
import es.verdnatura.domain.ConstAndValues.WORKFORMSELECTED
|
||||
|
@ -484,6 +485,15 @@ class LoginFragment() :
|
|||
|
||||
}
|
||||
}
|
||||
multimediaTokenResponse.observe(viewLifecycleOwner) {
|
||||
runBlocking {
|
||||
mobileApplication.dataStoreApp.editDataStoreKey(
|
||||
TOKENMULTIMEDIA,
|
||||
it.multimediaToken.id
|
||||
)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
loginSalixItem.observe(viewLifecycleOwner) {
|
||||
|
@ -514,6 +524,7 @@ class LoginFragment() :
|
|||
app.userPassword = binding.edittextPassword.text.toString()
|
||||
|
||||
viewModel.getAccessTokenConfigs()
|
||||
viewModel.getMultimedaToken()
|
||||
}
|
||||
}
|
||||
loadAccessConfigSalixList.observe(viewLifecycleOwner) { event ->
|
||||
|
|
|
@ -23,6 +23,7 @@ import es.verdnatura.presentation.view.feature.login.model.AccessConfigSalixList
|
|||
import es.verdnatura.presentation.view.feature.login.model.DataUserSalix
|
||||
import es.verdnatura.presentation.view.feature.login.model.LoginDevice
|
||||
import es.verdnatura.presentation.view.feature.login.model.LoginSalixVO
|
||||
import es.verdnatura.presentation.view.feature.login.model.MultimediaTokenResponse
|
||||
import es.verdnatura.presentation.view.feature.login.model.OperatorAdd
|
||||
import es.verdnatura.presentation.view.feature.login.model.OperatorSalix
|
||||
import es.verdnatura.presentation.view.feature.login.model.RenewToken
|
||||
|
@ -58,13 +59,16 @@ class LoginViewModel(val context: Context) : BaseViewModel(context) {
|
|||
get() = _workerOperator
|
||||
|
||||
private val _accessConfigSalixList by lazy { MutableLiveData<AccessConfigSalixList>() }
|
||||
|
||||
private val _renewTokenResponse by lazy { MutableLiveData<RenewToken>() }
|
||||
val renewTokenResponse: LiveData<RenewToken>
|
||||
get() = _renewTokenResponse
|
||||
val loadAccessConfigSalixList: LiveData<Event<AccessConfigSalixList>> =
|
||||
_accessConfigSalixList.map { Event(it) }
|
||||
|
||||
private val _multimediaTokenResponse by lazy { MutableLiveData<MultimediaTokenResponse>() }
|
||||
val multimediaTokenResponse: LiveData<MultimediaTokenResponse>
|
||||
get() = _multimediaTokenResponse
|
||||
|
||||
fun loginSalix(user: String, password: String) {
|
||||
salix.login(LoginSalixVO(user, password))
|
||||
.enqueue(object : SalixCallback<LoginSalixVO>(context) {
|
||||
|
@ -285,6 +289,21 @@ class LoginViewModel(val context: Context) : BaseViewModel(context) {
|
|||
})
|
||||
}
|
||||
|
||||
fun getMultimedaToken(
|
||||
) {
|
||||
|
||||
salix.getMultimediaToken()
|
||||
.enqueue(object : SalixCallback<MultimediaTokenResponse>(context) {
|
||||
|
||||
override fun onSuccess(response: Response<MultimediaTokenResponse>) {
|
||||
_multimediaTokenResponse.value = response.body()?.let {
|
||||
it
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
fun renewToken(
|
||||
) {
|
||||
salix.renewToken().enqueue(object : SalixCallback<RenewToken>(context) {
|
||||
|
|
|
@ -116,3 +116,11 @@ class LoginDevice(
|
|||
data class NameWorker(
|
||||
val firstName: String, val lastName: String
|
||||
)
|
||||
|
||||
data class MultimediaTokenResponse(
|
||||
val multimediaToken: MultimediaToken
|
||||
)
|
||||
|
||||
data class MultimediaToken(
|
||||
val id: String,
|
||||
)
|
|
@ -135,7 +135,7 @@ import es.verdnatura.presentation.view.feature.sacador.model.CollectionTicket
|
|||
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
|
||||
import es.verdnatura.presentation.view.feature.ticket.fragment.TicketAdvanceFragment
|
||||
import es.verdnatura.presentation.view.feature.ubicador.fragment.AutomaticAddItemFragment
|
||||
import es.verdnatura.presentation.view.feature.ubicador.fragment.UbicadorFragmentNew
|
||||
import es.verdnatura.presentation.view.feature.ubicador.fragment.UbicadorFragment6869
|
||||
import es.verdnatura.presentation.view.feature.workermistake.fragment.PackingMistakeFragment
|
||||
import es.verdnatura.presentation.view.feature.workermistake.fragment.WorkermistakeFragment
|
||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||
|
@ -543,9 +543,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
|
|||
getString(R.string.titleChecker) -> {
|
||||
|
||||
// Ya no se utiliza : addFragmentOnTop(ControladorFragment.newInstance())
|
||||
|
||||
// if (mobileApplication.userId == 19591) {
|
||||
println("Revisando nueva")
|
||||
|
||||
addFragmentOnTop(
|
||||
CollectionFragmentChecker.newInstance(
|
||||
CollectionVO(collectionFk = 0),
|
||||
|
@ -674,8 +673,13 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
|
|||
}
|
||||
|
||||
getString(R.string.titleUbicator) -> {
|
||||
addFragmentOnTop(UbicadorFragmentNew.newInstance(entryPoint))
|
||||
//addFragmentOnTop(UbicadorFragmentNew.newInstance(entryPoint))
|
||||
addFragmentOnTop(UbicadorFragment6869.newInstance(entryPoint))
|
||||
}
|
||||
//Tarea 6869
|
||||
/* getString(R.string.ubicatorNew) -> {
|
||||
addFragmentOnTop(UbicadorFragment6869.newInstance(entryPoint))
|
||||
}*/
|
||||
|
||||
//Tarea 7855
|
||||
getString(R.string.scanPreparedExpedition) -> {
|
||||
|
@ -755,7 +759,10 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
|
|||
|
||||
getString(R.string.titleShelvingHistorical) -> {
|
||||
addFragmentOnTop(ItemShelvingLogFragment.newInstance(itemTitle))
|
||||
|
||||
}
|
||||
//Tarea 7920
|
||||
getString(R.string.titleShelvingHistNew) -> {
|
||||
addFragmentOnTop(ShelvingLogFragment.newInstance(itemTitle, LogType.ITEMSHELVING))
|
||||
}
|
||||
|
||||
getString(R.string.titleLogShelving) -> {
|
||||
|
@ -823,7 +830,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
|
|||
}
|
||||
|
||||
getString(R.string.selfConsumption) -> {
|
||||
addFragmentOnTop(UbicadorFragmentNew.newInstance(entryPoint, true))
|
||||
// addFragmentOnTop(UbicadorFragmentNew.newInstance(entryPoint, true))
|
||||
addFragmentOnTop(UbicadorFragment6869.newInstance(entryPoint, true))
|
||||
}
|
||||
|
||||
getString(R.string.titlePackingHolland) -> {
|
||||
|
@ -1052,7 +1060,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
|
|||
) {
|
||||
when (type) {
|
||||
PREITEMPICKERTEST -> {
|
||||
println("test presacador")
|
||||
//addFragmentOnTop(EndSacadorFragment.newInstance(collection, type))
|
||||
addFragmentOnTop(
|
||||
SectorCollectionReserveFragment.newInstance(
|
||||
|
|
|
@ -44,7 +44,6 @@ class ExpeditionPalletDetailFragment(
|
|||
override fun getLayoutId(): Int = R.layout.fragment_expedition_pallet_detail
|
||||
|
||||
override fun init() {
|
||||
println("ExpeditionPalletDetail")
|
||||
customDialog = CustomDialog(requireContext())
|
||||
binding.expeditionPalletDetailPallet.text =
|
||||
buildString {
|
||||
|
|
|
@ -59,7 +59,6 @@ class ExpeditionPalletFragment(
|
|||
override fun getLayoutId(): Int = R.layout.fragment_expedition_pallet
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
println("ExpeditionPalletFragment")
|
||||
mperror = MediaPlayer.create((activity as MainActivity), R.raw.error)
|
||||
mpok = MediaPlayer.create((activity as MainActivity), R.raw.ok)
|
||||
super.onCreate(savedInstanceState)
|
||||
|
@ -214,8 +213,6 @@ class ExpeditionPalletFragment(
|
|||
if (mperror != null) mperror!!.start()
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
customDialogList.setValue("")
|
||||
ma.hideKeyboard(customDialogList.getEditText())
|
||||
|
|
|
@ -71,7 +71,6 @@ class ExpeditionScanFragment(
|
|||
}
|
||||
|
||||
override fun init() {
|
||||
println("ExpeditionScanFragment")
|
||||
customDialog = CustomDialog(requireContext())
|
||||
customDialogList = CustomDialogList(requireContext())
|
||||
customDialogTwoButtons = CustomDialogTwoButtons(requireContext())
|
||||
|
@ -80,7 +79,11 @@ class ExpeditionScanFragment(
|
|||
)
|
||||
ma.hideBottomNavigation(View.GONE)
|
||||
binding.mainToolbar.toolbarTitle.text =
|
||||
getString(R.string.expeditionInfo, itemExpeditionTruckVO?.eta.orEmpty(), itemExpeditionTruckVO?.description.orEmpty())
|
||||
getString(
|
||||
R.string.expeditionInfo,
|
||||
itemExpeditionTruckVO?.eta.orEmpty(),
|
||||
itemExpeditionTruckVO?.description.orEmpty()
|
||||
)
|
||||
setToolBar()
|
||||
setEvents()
|
||||
viewModel.expeditionScanList(
|
||||
|
@ -121,7 +124,6 @@ class ExpeditionScanFragment(
|
|||
LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
|
||||
}
|
||||
|
||||
|
||||
override fun observeViewModel() {
|
||||
with(viewModel) {
|
||||
loadExpeditionScanList.observe(viewLifecycleOwner) { event ->
|
||||
|
|
|
@ -73,6 +73,15 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
|
|||
|
||||
)
|
||||
)
|
||||
/* if (userId == 19591)
|
||||
_pasillerositem.add(
|
||||
PasillerosItemVO(
|
||||
R.drawable.ic_dashboard_black_24dp,
|
||||
R.string.ubicatorNew,
|
||||
R.string.titleUbicatorDescrip
|
||||
|
||||
)
|
||||
)*/
|
||||
|
||||
//tarea 7855
|
||||
_pasillerositem.add(
|
||||
|
@ -514,24 +523,33 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
|
|||
)
|
||||
)
|
||||
//tarea 8099
|
||||
/* _pasillerositem.add(
|
||||
_pasillerositem.add(
|
||||
PasillerosItemVO(
|
||||
R.drawable.ic_salary_supplement,
|
||||
R.string.salarySupplementTitle,
|
||||
R.string.salarySupplementTitle
|
||||
)
|
||||
)*/
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
fun inititializeDefaultHistorical() {
|
||||
_pasillerositem.add(
|
||||
PasillerosItemVO(
|
||||
R.drawable.revision_icon,
|
||||
R.string.titleShelvingHistNew,
|
||||
R.string.titleShelvingHistNew
|
||||
)
|
||||
)
|
||||
|
||||
/* _pasillerositem.add(
|
||||
PasillerosItemVO(
|
||||
R.drawable.revision_icon,
|
||||
R.string.titleShelvingHistorical,
|
||||
R.string.titleShelvingHistDescrip
|
||||
)
|
||||
)
|
||||
)*/
|
||||
|
||||
_pasillerositem.add(
|
||||
PasillerosItemVO(
|
||||
R.drawable.ic_history_orange,
|
||||
|
|
|
@ -70,7 +70,7 @@ class PreControladorFragment :
|
|||
"id"
|
||||
).toString().toInt(),
|
||||
print = false,
|
||||
source = type
|
||||
source = if (type == "PRECHECKER") "PREVIOUS_CONTROL" else type
|
||||
)
|
||||
} catch (ex: Exception) {
|
||||
getString(R.string.errorInput)
|
||||
|
|
|
@ -60,19 +60,12 @@ class SectorCollectionReserveFragment(
|
|||
}
|
||||
|
||||
override fun init() {
|
||||
println("hasToAdd $hasToAdd")
|
||||
|
||||
customDialogList = CustomDialogList(requireContext())
|
||||
ma.hideBottomNavigation(View.GONE)
|
||||
binding.mainToolbar.toolbarTitle.text = title
|
||||
setEvents()
|
||||
setToolBar()
|
||||
|
||||
println("reserve collec $collectionFk")
|
||||
println("reserve collec onBack$onBack")
|
||||
|
||||
if (!onBack) {
|
||||
println("check parkings $collectionFk")
|
||||
checkParkingsToPicker()
|
||||
} else {
|
||||
if (onBack) {
|
||||
|
|
|
@ -2,14 +2,12 @@ package es.verdnatura.presentation.view.feature.restaurant
|
|||
|
||||
import android.view.View
|
||||
import android.widget.Button
|
||||
import com.google.gson.Gson
|
||||
import com.google.zxing.BarcodeFormat
|
||||
import com.journeyapps.barcodescanner.BarcodeEncoder
|
||||
import es.verdnatura.R
|
||||
import es.verdnatura.databinding.ActivityRestaurantViewBinding
|
||||
import es.verdnatura.domain.toast
|
||||
import es.verdnatura.presentation.base.BaseActivity
|
||||
import es.verdnatura.presentation.view.feature.restaurant.model.UserMenu
|
||||
|
||||
class RestaurantActivity : BaseActivity<ActivityRestaurantViewBinding>() {
|
||||
|
||||
|
@ -33,16 +31,27 @@ class RestaurantActivity : BaseActivity<ActivityRestaurantViewBinding>() {
|
|||
binding.imageQr.visibility = View.VISIBLE
|
||||
binding.txtOption.visibility = View.VISIBLE
|
||||
binding.txtOption.text = (view as Button).text.toString()
|
||||
val userMenu = UserMenu(
|
||||
/* val userMenu = UserMenu(
|
||||
user = mobileApplication.userId!!,
|
||||
menu_id = view.tag.toString().toInt(),
|
||||
menu = view.text.toString(),
|
||||
name = mobileApplication.userName!!
|
||||
)
|
||||
)*/
|
||||
|
||||
val userMenuJson = StringBuilder()
|
||||
.append("{")
|
||||
.append("\"user\":").append(mobileApplication.userId).append(",") // Sin comillas
|
||||
.append("\"menu_id\":").append(view.tag.toString().toInt()).append(",") // Sin comillas
|
||||
.append("\"menu\":\"").append(view.text).append("\",") // Con comillas porque es texto
|
||||
.append("\"name\":\"").append(mobileApplication.userName)
|
||||
.append("\"") // Con comillas porque es texto
|
||||
.append("}")
|
||||
.toString()
|
||||
|
||||
try {
|
||||
val barcodeEncoder = BarcodeEncoder()
|
||||
val bitmap = barcodeEncoder.encodeBitmap(
|
||||
Gson().toJson(userMenu),
|
||||
userMenuJson,
|
||||
BarcodeFormat.QR_CODE,
|
||||
400,
|
||||
400
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package es.verdnatura.presentation.view.feature.restaurant.model
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
data class UserMenu(
|
||||
val user: Int,
|
||||
val menu_id: Int,
|
||||
val menu: String,
|
||||
val name: String
|
||||
@SerializedName("user") val user: Int,
|
||||
@SerializedName("menu_id") val menu_id: Int,
|
||||
@SerializedName("menu") val menu: String,
|
||||
@SerializedName("name") val name: String
|
||||
)
|
|
@ -138,15 +138,6 @@ class StopMapListFragment(
|
|||
with(viewModel) {
|
||||
loadStopMapTruckList.observe(viewLifecycleOwner) { event ->
|
||||
event.getContentIfNotHandled().notNull {
|
||||
for (item in it.list) {
|
||||
println("llista")
|
||||
println("llista $item")
|
||||
println("llista addressFk ${item.addressFk}")
|
||||
println("llista id" + item.id)
|
||||
println("llista address" + item.address)
|
||||
println("llista client id" + item.address?.address?.client)
|
||||
println("llista mobile " + item.address?.address?.mobile)
|
||||
}
|
||||
showRoadMapList(it)
|
||||
}
|
||||
}
|
||||
|
@ -189,8 +180,6 @@ class StopMapListFragment(
|
|||
}
|
||||
|
||||
TruckAction.GOTOMAPS -> {
|
||||
println("locationMaps")
|
||||
|
||||
val uri =
|
||||
"geo:0,0?q=" + item.address?.address?.nickname + " " + item.address?.address?.street + " " + item.address?.address?.city + " " + item.address?.address?.postalCode
|
||||
val locationIntent = Intent(Intent.ACTION_VIEW, Uri.parse(uri))
|
||||
|
|
|
@ -264,7 +264,6 @@ class SacadorFragmentNew(
|
|||
}
|
||||
|
||||
"PREITEMPICKERTEST" -> {
|
||||
println("SacadorFragmentNew sectorCollectionGET")
|
||||
// viewModel.sectorCollectionGet()
|
||||
viewModel.sectorCollectionPartial()
|
||||
}
|
||||
|
|
|
@ -68,7 +68,8 @@ data class Sale(
|
|||
var isPicked: Int = 0,
|
||||
var accumulatedQuantity: Int = 0,
|
||||
var totalItemShelving: Int = 0,
|
||||
var currentItemShelving: Int = 0
|
||||
var currentItemShelving: Int = 0,
|
||||
var stateCode: String? = ""
|
||||
|
||||
)
|
||||
|
||||
|
@ -112,8 +113,10 @@ class TicketSalix(
|
|||
var agencyName: String = "",
|
||||
var salesPersonFk: String = "",
|
||||
var sales: List<SaleVO> = listOf(),
|
||||
@SerializedName(value = "observations", alternate = ["observaciones"])
|
||||
var observations: String = "",
|
||||
@SerializedName(
|
||||
value = "observations",
|
||||
alternate = ["observaciones"]
|
||||
) var observations: String = "",
|
||||
|
||||
)
|
||||
|
||||
|
@ -177,8 +180,10 @@ class TicketVO(
|
|||
var agencyName: String = "",
|
||||
var salesPersonFk: String = "",
|
||||
var sales: List<SaleVO> = listOf(),
|
||||
@SerializedName(value = "observations", alternate = ["observaciones"])
|
||||
var observations: String = "",
|
||||
@SerializedName(
|
||||
value = "observations",
|
||||
alternate = ["observaciones"]
|
||||
) var observations: String = "",
|
||||
var isAdvanced: Int? = 0,
|
||||
var parkingCode: String? = ""
|
||||
|
||||
|
@ -279,8 +284,7 @@ class PlacementSupplyListVO(
|
|||
)
|
||||
|
||||
class MistakeTypeVO(
|
||||
var id: Int,
|
||||
var description: String
|
||||
var id: Int, var description: String
|
||||
)
|
||||
|
||||
class MistakeTypeListVO(
|
||||
|
@ -292,16 +296,11 @@ class TicketStateList(
|
|||
)
|
||||
|
||||
data class TicketStateSalix(
|
||||
val ticketFk: Int,
|
||||
val alertLevel: Int,
|
||||
val code: String,
|
||||
val stateFk: Int,
|
||||
val userFk: Int
|
||||
val ticketFk: Int, val alertLevel: Int, val code: String, val stateFk: Int, val userFk: Int
|
||||
) {
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
var created: String = ""
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
get() {
|
||||
@RequiresApi(Build.VERSION_CODES.O) get() {
|
||||
return field.isoToString()
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,131 @@
|
|||
package es.verdnatura.presentation.view.feature.ubicador.adapter
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import es.verdnatura.R
|
||||
import es.verdnatura.databinding.ItemUbicationRow6869Binding
|
||||
import es.verdnatura.presentation.common.OnMoreClickListener6869
|
||||
import es.verdnatura.presentation.common.OnPasillerosItemClickListener
|
||||
import es.verdnatura.presentation.common.OnVisibleClickListener6869
|
||||
import es.verdnatura.presentation.common.loadUrl
|
||||
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
|
||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemShelving
|
||||
|
||||
class UbicadorAdapter6869(
|
||||
private val items: List<ItemShelving>,
|
||||
private val onPasillerosItemClickListener: OnPasillerosItemClickListener,
|
||||
private val onVisibleClickListener: OnVisibleClickListener6869,
|
||||
private val onMoreClickListener: OnMoreClickListener6869,
|
||||
private val urlImage: String? = null
|
||||
) : RecyclerView.Adapter<UbicadorAdapter6869.ItemHolder>() {
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemHolder {
|
||||
return ItemHolder(
|
||||
ItemUbicationRow6869Binding.inflate(LayoutInflater.from(parent.context), parent, false)
|
||||
)
|
||||
}
|
||||
|
||||
override fun getItemCount() = items.size
|
||||
|
||||
override fun onBindViewHolder(holder: ItemHolder, position: Int) {
|
||||
holder.bind(items[position])
|
||||
}
|
||||
|
||||
inner class ItemHolder(
|
||||
val binding: ItemUbicationRow6869Binding
|
||||
) : RecyclerView.ViewHolder(binding.root) {
|
||||
private val res = binding.root.context.resources
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
fun bind(item: ItemShelving) {
|
||||
binding.apply {
|
||||
this.item = item
|
||||
multiText.text = "${item.stickers}x${item.packing}"
|
||||
|
||||
if (urlImage != null) imgItem.loadUrl("http:$urlImage/catalog/200x200/${item.item.id}")
|
||||
imgItem.setOnClickListener {
|
||||
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
||||
PasillerosItemVO(
|
||||
title =
|
||||
R.string.itemSearch
|
||||
|
||||
), item.item.id.toString()
|
||||
)
|
||||
}
|
||||
|
||||
layerVisible.setOnClickListener {
|
||||
onVisibleClickListener.onVisibleClickListener(item)
|
||||
}
|
||||
|
||||
if (item.visible == 0) {
|
||||
visibleText.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
visibleText.context,
|
||||
R.color.verdnatura_brown_grey
|
||||
)
|
||||
)
|
||||
|
||||
} else {
|
||||
visibleText.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
visibleText.context,
|
||||
R.color.verdnatura_pumpkin_orange
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
moreImg.setOnClickListener {
|
||||
onMoreClickListener.onMoreClickListener(item)
|
||||
}
|
||||
namelayout.setOnClickListener {
|
||||
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
||||
PasillerosItemVO(
|
||||
title = R.string.itemSearch
|
||||
), item.item.id.toString()
|
||||
)
|
||||
}
|
||||
|
||||
if (item.isChecked != null) {
|
||||
|
||||
when (item.isChecked) {
|
||||
0 -> itemRowLayout.setBackgroundColor(
|
||||
ContextCompat.getColor(
|
||||
visibleText.context,
|
||||
R.color.verdnatura_red_salix
|
||||
)
|
||||
)
|
||||
|
||||
in 1..Int.MAX_VALUE ->
|
||||
if (item.visible == 0) {
|
||||
itemRowLayout.setBackgroundColor(
|
||||
ContextCompat.getColor(
|
||||
visibleText.context,
|
||||
R.color.verdnatura_dark_sky_blue
|
||||
)
|
||||
)
|
||||
} else {
|
||||
itemRowLayout.setBackgroundColor(
|
||||
ContextCompat.getColor(
|
||||
visibleText.context,
|
||||
R.color.verdnatura_dark_green_verdnatura
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
itemRowLayout.setBackgroundColor(
|
||||
ContextCompat.getColor(
|
||||
visibleText.context,
|
||||
R.color.verdnatura_black_5
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -28,6 +28,7 @@ import es.verdnatura.presentation.common.OnMoreClickListenerNew
|
|||
import es.verdnatura.presentation.common.OnOptionsSelectedListener
|
||||
import es.verdnatura.presentation.common.OnPasillerosItemClickListener
|
||||
import es.verdnatura.presentation.common.OnVisibleClickListenerNew
|
||||
import es.verdnatura.presentation.common.PrinterDialogManager
|
||||
import es.verdnatura.presentation.common.ToolBarAdapterTooltip
|
||||
import es.verdnatura.presentation.common.hideKeyboard
|
||||
import es.verdnatura.presentation.common.itemScanValue
|
||||
|
@ -41,6 +42,9 @@ import es.verdnatura.presentation.view.feature.articulo.model.BarcodeVO
|
|||
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
|
||||
import es.verdnatura.presentation.view.feature.ubicador.adapter.UbicadorAdapterNew
|
||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicador
|
||||
import org.json.JSONObject
|
||||
import java.time.LocalDate
|
||||
import java.time.format.DateTimeFormatter
|
||||
import kotlin.math.ceil
|
||||
|
||||
@Suppress("UNUSED_ANONYMOUS_PARAMETER")
|
||||
|
@ -120,7 +124,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
if (shelvingFk.isNotEmpty()) {
|
||||
isShelvinLogfromMainScreen = false
|
||||
setIconsActions(true)
|
||||
setIcons()
|
||||
//setIcons()
|
||||
binding.mainToolbar.toolbarTitle.text = shelvingFk
|
||||
viewModel.itemShelvingListNew(shelvingFk)
|
||||
binding.mainToolbar.switchButton.visibility = VISIBLE
|
||||
|
@ -128,7 +132,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
isShelvinLogfromMainScreen = true
|
||||
setIconsActions(false)
|
||||
//Tarea 7805
|
||||
setIcons(true)
|
||||
// setIcons(true)
|
||||
}
|
||||
super.init()
|
||||
}
|
||||
|
@ -140,7 +144,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
} else {
|
||||
GONE
|
||||
}
|
||||
|
||||
setIcons(!showIcons)
|
||||
}
|
||||
|
||||
private fun setDialogs() {
|
||||
|
@ -217,14 +221,15 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
binding.mainToolbar.toolbarIcons.adapter =
|
||||
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
|
||||
override fun onOptionsItemSelected(item: Drawable) {
|
||||
listItems.clear()
|
||||
|
||||
when (item) {
|
||||
iconAdd.drawable -> showAddItemNew(
|
||||
iconAdd.drawable -> {
|
||||
showAddItemNew(
|
||||
isEditItem = false, null
|
||||
)
|
||||
}
|
||||
|
||||
iconAddMultiple.drawable -> {
|
||||
|
||||
ma.onPasillerosItemClickListener(
|
||||
PasillerosItemVO(
|
||||
title = R.string.addItemMultipleShelving,
|
||||
|
@ -233,7 +238,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
}
|
||||
|
||||
iconReload.drawable -> {
|
||||
|
||||
listItems.clear()
|
||||
if (shelvingFk.isNotBlank()) {
|
||||
binding.editPrioridad.setText("")
|
||||
viewModel.itemShelvingListNew(
|
||||
|
@ -252,7 +257,8 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
customDialogReset.setTitle(getString(R.string.checkItemShelvingDescrip))
|
||||
.setDescription(getString(R.string.checkItemShelving))
|
||||
.setOkButton(getString(R.string.ok)) {
|
||||
viewModel.itemShelvingDeleteChecked(shelvingFk)
|
||||
if (listItems.isNotEmpty())
|
||||
viewModel.itemShelvingDeleteChecked(listItems[0].shelvingFk!!)
|
||||
customDialogReset.dismiss()
|
||||
}.setKoButton(getString(R.string.cancel)) {
|
||||
customDialogReset.dismiss()
|
||||
|
@ -287,7 +293,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
|
||||
if (binding.editMatricula.text.toString().isNotEmpty()) {
|
||||
setIconsActions(true)
|
||||
setIcons()
|
||||
//setIcons()
|
||||
if (!modeCheckUbication || (modeCheckUbication && (binding.editMatricula.text.toString()
|
||||
.isShelving()) && !binding.editMatricula.text!![0].isDigit())
|
||||
) {
|
||||
|
@ -426,10 +432,13 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
customDialogDelete.setTitle(getString(R.string.empty))
|
||||
.setDescription(getString(R.string.operationNoReturn))
|
||||
.setOkButton(getString(R.string.empty)) {
|
||||
|
||||
if (listItems.isNotEmpty()) {
|
||||
viewModel.clearShelvingList(
|
||||
shelvingFk
|
||||
//Tarea 7920
|
||||
listItems[0].shelvingFk?.toString() ?: shelvingFk
|
||||
)
|
||||
}
|
||||
|
||||
listItems.forEach {
|
||||
it.stickers = 0
|
||||
it.visible = 0
|
||||
|
@ -460,16 +469,24 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
parking = customDialogInput.getValue()
|
||||
//tarea 6964
|
||||
viewModel.hasItemOlder(
|
||||
shelvingFk, customDialogInput.getValue(),
|
||||
shelvingFk, customDialogInput.getValue(), itemFk = null, action = null
|
||||
)
|
||||
|
||||
customDialogInput.dismiss()
|
||||
}
|
||||
|
||||
private fun customDialogActionChange() {
|
||||
|
||||
//Tarea 7920
|
||||
if (listItems.isNotEmpty() && listItems[0].shelvingFk == null) {
|
||||
viewModel.shelvingChangeSalix(
|
||||
shelvingFk, customDialogInput.getValue()
|
||||
)
|
||||
} else {
|
||||
viewModel.getShelvingFkFromCode(
|
||||
listItems[0].shelvingFk!!, customDialogInput.getValue()
|
||||
)
|
||||
}
|
||||
shelvingFk = customDialogInput.getValue()
|
||||
|
||||
customDialogInput.dismiss()
|
||||
|
@ -585,6 +602,10 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
}
|
||||
responseLogAdd.observe(viewLifecycleOwner) {
|
||||
isShelvinLogfromMainScreen = false
|
||||
if (it == false) {
|
||||
setIconsActions(false)
|
||||
//setIcons()
|
||||
}
|
||||
}
|
||||
loadResponseCode.observe(viewLifecycleOwner) { event ->
|
||||
event.getContentIfNotHandled().notNull {
|
||||
|
@ -665,9 +686,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
loadBuyUltimateResponse.observe(viewLifecycleOwner) { event ->
|
||||
event.getContentIfNotHandled().notNull {
|
||||
ma.messageWithSound(
|
||||
getString(R.string.errorPrintBuy),
|
||||
isError = true,
|
||||
isPlayed = true
|
||||
getString(R.string.errorPrintBuy), isError = true, isPlayed = true
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -780,8 +799,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
.setPackingValue(itemUbicador.packing.toString())
|
||||
.setVisibleValue(itemUbicador.visible.toString())
|
||||
//.setEtiquetaValue((itemUbicador.visible / (itemUbicador.packing ?: 0)).toString())
|
||||
.setEtiquetaValue(itemUbicador.stickers.toString())
|
||||
.setUnits(
|
||||
.setEtiquetaValue(itemUbicador.stickers.toString()).setUnits(
|
||||
if (itemUbicador.stickers != 0) {
|
||||
(itemUbicador.visible % itemUbicador.stickers).toString()
|
||||
} else {
|
||||
|
@ -1072,7 +1090,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
customDialogConfirm.show()
|
||||
}
|
||||
//Tarea 7266
|
||||
/* .setOkButtonThree(getString(R.string.print)) {
|
||||
.setOkButtonThree(getString(R.string.print)) {
|
||||
val printerDialogManager = PrinterDialogManager(requireContext())
|
||||
printerDialogManager.showPrintDialog(
|
||||
item.item,
|
||||
|
@ -1108,7 +1126,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
}
|
||||
}
|
||||
customDialogInput.getEditText().requestFocus()
|
||||
}*/
|
||||
}
|
||||
//Tarea 7763
|
||||
/*
|
||||
.setOkButtonThree(getString(R.string.rename)) {
|
||||
|
@ -1150,7 +1168,12 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
),
|
||||
userFk = mobileApplication.userId!!,
|
||||
priority = "normal",
|
||||
params = """{'copies':$copies,'id':$id,'labelType':'$labelType','packing':$packing}"""
|
||||
params = JSONObject().apply {
|
||||
put("copies", copies)
|
||||
put("id", id)
|
||||
put("labelType", labelType)
|
||||
put("packing", packing)
|
||||
}.toString().replace("\"", "\\\"")
|
||||
)
|
||||
} catch (ex: Exception) {
|
||||
ma.messageWithSound(message = ex.message.toString(), isError = true, isPlayed = true)
|
||||
|
@ -1186,8 +1209,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
|||
}
|
||||
|
||||
private fun customDialogTransferAction(item: ItemUbicador) {
|
||||
if (customDialogInput.getValue().isNotEmpty()) {
|
||||
/*tearea 6964*//*
|
||||
if (customDialogInput.getValue().isNotEmpty()) {/*tearea 6964*//*
|
||||
viewModel.hasItemOlder(
|
||||
shelvingFkIn = shelvingFk,
|
||||
shelvingFkOut = customDialogInput.getValue(),
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package es.verdnatura.presentation.view.feature.ubicador.fragment
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log.d
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.map
|
||||
|
@ -11,6 +12,7 @@ import es.verdnatura.domain.formatWithQuotes
|
|||
import es.verdnatura.domain.userCases.GetItemFromBarcodeUseCase
|
||||
import es.verdnatura.domain.userCases.GetItemPrintItemUseCase
|
||||
import es.verdnatura.presentation.base.BaseViewModel
|
||||
import es.verdnatura.presentation.common.Action
|
||||
import es.verdnatura.presentation.common.Event
|
||||
import es.verdnatura.presentation.common.ItemShelvingSalix
|
||||
import es.verdnatura.presentation.common.ResponseHasOlder
|
||||
|
@ -21,7 +23,9 @@ import es.verdnatura.presentation.view.feature.ubicador.model.ItemShelvingNewer
|
|||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemShelvingNewerList
|
||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicador
|
||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorListNew
|
||||
import es.verdnatura.presentation.view.feature.ubicador.model.ShelvingItem
|
||||
import es.verdnatura.presentation.view.feature.workermistake.model.MakeMultiSalix
|
||||
import org.json.JSONObject
|
||||
import retrofit2.Call
|
||||
import retrofit2.Response
|
||||
|
||||
|
@ -43,6 +47,14 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
|||
val loadShelvingListNew: LiveData<Event<ItemUbicadorListNew>> =
|
||||
_shelvingListNew.map { Event(it) }
|
||||
|
||||
private val _shelvingGet by lazy { MutableLiveData<ShelvingItem>() }
|
||||
val loadShelvingGet: LiveData<Event<ShelvingItem>> =
|
||||
_shelvingGet.map { Event(it) }
|
||||
|
||||
private val _imageConfig by lazy { MutableLiveData<String>() }
|
||||
val loadImageConfig: LiveData<Event<String>> =
|
||||
_imageConfig.map { Event(it) }
|
||||
|
||||
private val _shelvingListItemNewer by lazy { MutableLiveData<ItemShelvingNewerList>() }
|
||||
val loadShelvingListItemNewer: LiveData<Event<ItemShelvingNewerList>> =
|
||||
_shelvingListItemNewer.map { Event(it) }
|
||||
|
@ -69,6 +81,10 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
|||
val buyUltimateResponse: LiveData<Boolean> = _buyUltimateResponse
|
||||
val loadBuyUltimateResponse: LiveData<Event<Boolean>> = _buyUltimateResponse.map { Event(it) }
|
||||
|
||||
private val _getParkingResponse by lazy { MutableLiveData<Boolean>() }
|
||||
val getParkingResponse: LiveData<Boolean> = _getParkingResponse
|
||||
val loadGetParkingResponse: LiveData<Event<Boolean>> = _getParkingResponse.map { Event(it) }
|
||||
|
||||
fun itemShelvingListNew(
|
||||
shelvingFk: String
|
||||
) {
|
||||
|
@ -85,59 +101,40 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
|||
|
||||
//Tarea 6869
|
||||
fun itemShelvingGet(
|
||||
shelvingFk: String
|
||||
shelvingCode: String
|
||||
) {
|
||||
salix.itemShelvingGet(
|
||||
salix.shelvingGet(
|
||||
filter = """{
|
||||
"fields":[
|
||||
"priority",
|
||||
"parkingFk",
|
||||
"code"
|
||||
],
|
||||
"fields":
|
||||
["priority","parkingFk","code","id"],
|
||||
"include":[
|
||||
{
|
||||
"relation":"parking",
|
||||
"scope":{
|
||||
"fields":[
|
||||
"code"
|
||||
]
|
||||
{"relation":"parking",
|
||||
"scope":{"fields":["code"]}},
|
||||
{"relation":"itemShelving",
|
||||
"scope":{"fields":["id","itemFk","visible","packing","grouping","isChecked","available","buyFk","shelvingFk"],
|
||||
"include":
|
||||
{"relation":"item",
|
||||
"scope":{"fields":["name","longName","size"]}}}}],
|
||||
"where":{"code":"$shelvingCode"}}""".trim()
|
||||
).enqueue(
|
||||
object : SalixCallback<ShelvingItem>(context) {
|
||||
override fun onSuccess(response: Response<ShelvingItem>) {
|
||||
_shelvingGet.value = response.body()
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"relation":"itemShelving",
|
||||
"scope":{
|
||||
"fields":[
|
||||
"id",
|
||||
"itemFk",
|
||||
"visible",
|
||||
"packing",
|
||||
"grouping",
|
||||
"isChecked",
|
||||
"available",
|
||||
"buyFk"
|
||||
],
|
||||
"include":{
|
||||
"relation":"item",
|
||||
"scope":{
|
||||
"fields":[
|
||||
"name",
|
||||
"longName",
|
||||
"size"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"where":{
|
||||
"code":"$shelvingFk"
|
||||
}
|
||||
}""".trim()
|
||||
)
|
||||
.enqueue(
|
||||
object : SalixCallback<List<ItemUbicador>>(context) {
|
||||
override fun onSuccess(response: Response<List<ItemUbicador>>) {
|
||||
_shelvingListNew.value = response.body()?.let { ItemUbicadorListNew(it) }
|
||||
}
|
||||
|
||||
fun getImageConfig(
|
||||
) {
|
||||
salix.getImageConfig(
|
||||
).enqueue(
|
||||
object : SalixCallback<JsonObject>(context) {
|
||||
override fun onSuccess(response: Response<JsonObject>) {
|
||||
|
||||
_imageConfig.value =
|
||||
response.body()!!.entrySet().first().value.asString
|
||||
}
|
||||
|
||||
},
|
||||
|
@ -252,23 +249,36 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
|||
|
||||
fun hasItemOlder(
|
||||
shelvingFk: String,
|
||||
parking: String,
|
||||
parking: String?,
|
||||
itemFk: Int?,
|
||||
action: Action?,
|
||||
itemShelvingFk: Number? = null
|
||||
|
||||
) {
|
||||
salix.getListItemNewer(shelvingFk, parking)
|
||||
salix.getListItemNewerNew(shelvingFk, parking, itemFk)
|
||||
//salix.getListItemNewer(shelvingFk, parking)
|
||||
.enqueue(object : SalixCallback<List<ItemShelvingNewer>>(context) {
|
||||
|
||||
override fun onSuccess(response: Response<List<ItemShelvingNewer>>) {
|
||||
|
||||
if (response.body()!!.isEmpty()) {
|
||||
setParking(shelvingFk, parking)
|
||||
when (action) {
|
||||
Action.PARKINEAR -> setParking(shelvingFk, parking!!)
|
||||
Action.TRANSFERIR -> {
|
||||
itemShelvingTransfer(itemShelvingFk!!, shelvingFk)
|
||||
}
|
||||
|
||||
null -> setParking(shelvingFk, parking!!)
|
||||
}
|
||||
} else {
|
||||
_shelvingListItemNewer.value =
|
||||
response.body()?.let {
|
||||
ItemShelvingNewerList(
|
||||
it,
|
||||
originalParking = parking,
|
||||
originalShelvingFk = shelvingFk
|
||||
originalShelvingFk = shelvingFk,
|
||||
originalParking = parking!!,
|
||||
originalItem = itemFk,
|
||||
originalAction = action
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -278,6 +288,98 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
|||
})
|
||||
}
|
||||
|
||||
fun getItemsByReviewOrder(
|
||||
shelving: String,
|
||||
parking: String?,
|
||||
itemFk: Number?,
|
||||
action: Action?,
|
||||
itemShelvingFk: Number? = null,
|
||||
shelvingFkFrom: String? = null
|
||||
|
||||
) {
|
||||
salix.getItemsByReviewOrder(
|
||||
if (action == Action.TRANSFERIR) shelvingFkFrom!! else shelving,
|
||||
parking,
|
||||
itemFk
|
||||
)
|
||||
.enqueue(object : SalixCallback<List<ItemShelvingNewer>>(context) {
|
||||
|
||||
override fun onSuccess(response: Response<List<ItemShelvingNewer>>) {
|
||||
if (response.body()!!.isEmpty()) {
|
||||
when (action) {
|
||||
Action.PARKINEAR -> setParking(shelving, parking!!)
|
||||
Action.TRANSFERIR -> {
|
||||
|
||||
itemShelvingTransfer(itemShelvingFk!!, shelving!!)
|
||||
}
|
||||
|
||||
null -> d("", "No action")
|
||||
}
|
||||
} else {
|
||||
_shelvingListItemNewer.value =
|
||||
response.body()?.let {
|
||||
ItemShelvingNewerList(
|
||||
it,
|
||||
originalShelvingFk = shelving,
|
||||
originalParking = parking!!,
|
||||
originalItem = itemFk,
|
||||
originalAction = action,
|
||||
itemShelvingFk = itemShelvingFk
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
fun getParkingToTransfer(
|
||||
shelvingFkTo: String,
|
||||
itemShelvingFk: Number,
|
||||
itemFk: Number,
|
||||
shelvingFkFrom: String? = null
|
||||
|
||||
) {
|
||||
salix.shelvingGet(
|
||||
filter = """{
|
||||
"fields": ["priority", "parkingFk", "code", "id"],
|
||||
"include": [
|
||||
{
|
||||
"relation": "parking",
|
||||
"scope": {
|
||||
"fields": ["code"]
|
||||
}
|
||||
}
|
||||
],
|
||||
"where": {
|
||||
"code": "$shelvingFkTo"
|
||||
}
|
||||
}"""
|
||||
).enqueue(object : SalixCallback<ShelvingItem>(context) {
|
||||
override fun onSuccess(response: Response<ShelvingItem>) {
|
||||
val itemShelving = response.body()
|
||||
if (itemShelving?.parking == null) {
|
||||
itemShelvingTransfer(itemShelvingFk, shelvingFkTo)
|
||||
} else {
|
||||
getItemsByReviewOrder(
|
||||
shelving = shelvingFkTo,
|
||||
itemFk = itemFk,
|
||||
parking = itemShelving.parking.code,
|
||||
action = Action.TRANSFERIR,
|
||||
itemShelvingFk = itemShelvingFk,
|
||||
shelvingFkFrom = shelvingFkFrom!!
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onError(t: Throwable) {
|
||||
_getParkingResponse.value = false
|
||||
super.onError(t)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fun itemShelvingMerge(
|
||||
vShelf: Int, shelvingFk: String
|
||||
|
||||
|
@ -296,7 +398,7 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
|||
}
|
||||
|
||||
fun itemShelvingDeleteChecked(
|
||||
vShelvingFk: String
|
||||
vShelvingFk: Number
|
||||
|
||||
) {
|
||||
salix.itemShelvingsUpdate(
|
||||
|
@ -340,7 +442,12 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
|||
.enqueue(object : SalixCallback<Any>(context) {
|
||||
|
||||
override fun onSuccess(response: Response<Any>) {
|
||||
_responseLogAdd.value = response.message()
|
||||
_responseLogAdd.value = true
|
||||
}
|
||||
|
||||
override fun onError(t: Throwable) {
|
||||
_responseLogAdd.value = false
|
||||
super.onError(t)
|
||||
}
|
||||
|
||||
})
|
||||
|
@ -399,7 +506,24 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
|||
shelvingFkIn: String, shelvingFkOut: String
|
||||
|
||||
) {
|
||||
salix.itemShelvingsUpdate(
|
||||
where = JsonObject().apply {
|
||||
addProperty("shelvingFk", shelvingFkIn)
|
||||
},
|
||||
hashMapOf("shelvingFk" to shelvingFkOut)
|
||||
).enqueue(object : SalixCallback<Any>(context) {
|
||||
|
||||
override fun onSuccess(response: Response<Any>) {
|
||||
_responseUbicator.value = true
|
||||
super.onSuccess(response)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//tarea 7920
|
||||
fun shelvingChangeSalixNew(
|
||||
shelvingFkIn: Number, shelvingFkOut: Number
|
||||
) {
|
||||
salix.itemShelvingsUpdate(
|
||||
where = JsonObject().apply { addProperty("shelvingFk", shelvingFkIn) },
|
||||
hashMapOf("shelvingFk" to shelvingFkOut)
|
||||
|
@ -412,11 +536,32 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
|||
})
|
||||
}
|
||||
|
||||
fun itemShelvingTransfer(
|
||||
itemFk: Int, shelvingFk: String
|
||||
fun getShelvingFkFromCode(
|
||||
shelvingFkIn: Number, codeOut: String
|
||||
|
||||
) {
|
||||
salix.itemShelvingTransfer(arrayListOf(itemFk, shelvingFk).formatWithQuotes())
|
||||
|
||||
salix.shelvingGetFromCode(
|
||||
filter = """{"where":{"code":"$codeOut"}}"""
|
||||
).enqueue(object : SalixCallback<ItemUbicador>(context) {
|
||||
|
||||
override fun onSuccess(response: Response<ItemUbicador>) {
|
||||
val myItemCode = response.body().let { it as ItemUbicador }
|
||||
|
||||
shelvingChangeSalixNew(
|
||||
shelvingFkIn = shelvingFkIn,
|
||||
myItemCode.id.toLong()
|
||||
)
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fun itemShelvingTransfer(
|
||||
itemShelvingFk: Number, shelvingFk: String
|
||||
|
||||
) {
|
||||
salix.itemShelvingTransfer(arrayListOf(itemShelvingFk, shelvingFk).formatWithQuotes())
|
||||
.enqueue(object : SalixCallback<Any>(context) {
|
||||
override fun onSuccess(response: Response<Any>) {
|
||||
_responseUbicator.value = true
|
||||
|
@ -436,7 +581,7 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
|||
})
|
||||
}
|
||||
|
||||
fun itemShelvingSelfConsumption(shelvingFk: String, itemFk: Int, quantity: Int) {
|
||||
fun itemShelvingSelfConsumption(shelvingFk: String, itemFk: Number, quantity: Int) {
|
||||
salix.itemShelvingSelfConsumption(
|
||||
arrayListOf(
|
||||
shelvingFk, itemFk, quantity
|
||||
|
@ -508,7 +653,12 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
|||
if (response.body() == null) _buyUltimateResponse.value = false
|
||||
else {
|
||||
val params =
|
||||
"""{'copies':$copies,'id':${response.body()},'labelType':'$labelType','packing':$packing}"""
|
||||
JSONObject().apply {
|
||||
put("copies", copies)
|
||||
put("id", response.body())
|
||||
put("labelType", labelType)
|
||||
put("packing", packing)
|
||||
}.toString().replace("\"", "\\\"")
|
||||
printItem(
|
||||
reportName = reportName,
|
||||
printerFk = printerFk,
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package es.verdnatura.presentation.view.feature.ubicador.model
|
||||
|
||||
import es.verdnatura.presentation.common.Action
|
||||
|
||||
class ItemUbicadorVO(
|
||||
var item: Int,
|
||||
var description: String = "",
|
||||
|
@ -17,7 +19,8 @@ class ItemUbicadorVO(
|
|||
var checked: Boolean = false,
|
||||
var isNew: Boolean = false,
|
||||
var isChecked: Int? = null,
|
||||
var url: String = ""
|
||||
var url: String = "",
|
||||
var shelvingFk: Long? = null
|
||||
)
|
||||
|
||||
class ItemUbicador(
|
||||
|
@ -33,7 +36,7 @@ class ItemUbicador(
|
|||
var available: Int? = null,
|
||||
var code: String? = "",
|
||||
var created: String? = null,
|
||||
var shelvingFk: String? = null,
|
||||
var shelvingFk: Long? = null,
|
||||
var id: Int = 0,
|
||||
var priority: Int = 0,
|
||||
var isError: Boolean = false,
|
||||
|
@ -43,8 +46,9 @@ class ItemUbicador(
|
|||
var isChecked: Int? = null,
|
||||
var url: String = "",
|
||||
var units: Int = 0,
|
||||
var buyFk: Long? = null
|
||||
)
|
||||
var buyFk: Long? = null,
|
||||
|
||||
)
|
||||
|
||||
class ItemEscanerVO(
|
||||
var item: Long
|
||||
|
@ -59,14 +63,22 @@ class ItemUbicadorListNew(
|
|||
)
|
||||
|
||||
class ItemShelvingNewerList(
|
||||
var list: List<ItemShelvingNewer> = listOf(),
|
||||
var originalParking: String,
|
||||
var originalShelvingFk: String
|
||||
val list: List<ItemShelvingNewer> = listOf(),
|
||||
val originalParking: String,
|
||||
val originalShelvingFk: String,
|
||||
val originalItem: Number? = null,
|
||||
val originalAction: Action?,
|
||||
val itemShelvingFk: Number? = null
|
||||
)
|
||||
|
||||
data class ItemShelvingNewer(
|
||||
var itemFk: Int,
|
||||
var shelvingFk: String,
|
||||
val itemFk: Int,
|
||||
val shelvingFk: String,
|
||||
val created: String,
|
||||
val parkingCode: String,
|
||||
val itemCreated: String? = null,
|
||||
val code: String? = null,
|
||||
val parkingFk: String? = null
|
||||
)
|
||||
|
||||
data class ItemBuy(
|
||||
|
@ -76,3 +88,40 @@ data class ItemBuy(
|
|||
val packing: Int,
|
||||
val packagingFk: String?
|
||||
)
|
||||
|
||||
data class ShelvingItem(
|
||||
val id: Int,
|
||||
val code: String,
|
||||
val priority: Int,
|
||||
val parkingFk: Int? = null,//para findOne directo a Shelving
|
||||
val parking: Parking?,
|
||||
val itemShelving: MutableList<ItemShelving>?
|
||||
)
|
||||
|
||||
data class Parking(
|
||||
val id: Int,
|
||||
val code: String
|
||||
)
|
||||
|
||||
data class ItemShelving(
|
||||
val id: Int,
|
||||
val shelvingFk: Int,
|
||||
val itemFk: Int,
|
||||
val grouping: Int?,
|
||||
var isChecked: Int?,
|
||||
val packing: Int,
|
||||
var visible: Int,
|
||||
var available: Int?,
|
||||
val buyFk: Long?,
|
||||
val item: Item,
|
||||
var description: String? = null,
|
||||
var stickers: Int? = null,
|
||||
var url: String? = null
|
||||
)
|
||||
|
||||
data class Item(
|
||||
val id: Long,
|
||||
val name: String?,
|
||||
val size: Int?,
|
||||
val longName: String?
|
||||
)
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -76,11 +76,13 @@
|
|||
android:onClick="generateQr"
|
||||
android:tag="2"
|
||||
android:text="@string/halfLunch"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/scan_input" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -109,11 +111,33 @@
|
|||
android:onClick="generateQr"
|
||||
android:tag="4"
|
||||
android:text="@string/halfMenu"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/scan_input" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonMerienda"
|
||||
style="@style/DefaultButton.DynamicButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/layout_margin_min"
|
||||
android:onClick="generateQr"
|
||||
android:tag="5"
|
||||
android:text="@string/snack"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/scan_input" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="8dp">
|
||||
android:padding="0dp">
|
||||
|
||||
<androidx.appcompat.widget.SearchView
|
||||
android:id="@+id/search_view"
|
||||
|
@ -18,6 +18,6 @@
|
|||
android:id="@+id/recycler_viewer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="8dp"
|
||||
android:paddingVertical="48dp"
|
||||
android:visibility="visible" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -43,11 +43,29 @@
|
|||
android:textColorHint="#78909C"
|
||||
tools:ignore="TextContrastCheck" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/filter_itemType"
|
||||
style="@style/InputLineTextSearch"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_weight="2.5"
|
||||
android:backgroundTint="@android:color/white"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false"
|
||||
android:hint="@string/packingType"
|
||||
android:inputType="text"
|
||||
android:lines="1"
|
||||
android:maxLines="1"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/verdnatura_white"
|
||||
android:textColorHint="#78909C"
|
||||
app:drawableEndCompat="@drawable/ic_arrow_drop_down_black_24dp"
|
||||
tools:ignore="TextContrastCheck" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/filter_buyer"
|
||||
style="@style/InputLineTextSearch"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="2"
|
||||
android:backgroundTint="@android:color/white"
|
||||
android:focusable="false"
|
||||
android:hint="@string/buscarcomprador"
|
||||
|
@ -124,6 +142,17 @@
|
|||
app:layout_constraintTop_toBottomOf="@id/main_toolbar"
|
||||
app:layout_constraintVertical_bias="0" />
|
||||
|
||||
<es.verdnatura.presentation.view.commom.SearchableRecyclerView
|
||||
android:id="@+id/searchableRecyclerViewItemType"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/main_toolbar"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/main_toolbar"
|
||||
app:layout_constraintVertical_bias="0" />
|
||||
|
||||
<include
|
||||
android:id="@+id/main_toolbar"
|
||||
layout="@layout/toolbar_fragment"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
@ -20,20 +20,20 @@
|
|||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical" >
|
||||
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/edit_itemFk"
|
||||
style="@style/ScanLineTextSearch"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_gravity="center"
|
||||
android:drawableEnd="@drawable/ic_grafana"
|
||||
android:gravity="center"
|
||||
android:hint="@string/Escaneaetiqueta"
|
||||
android:inputType="text"
|
||||
android:textColor="@color/verdnatura_white"
|
||||
android:textColorHint="@color/verdnatura_white"
|
||||
|
||||
/>
|
||||
|
||||
android:textColorHint="@color/verdnatura_white" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
|
@ -46,34 +46,38 @@
|
|||
android:id="@+id/itemcard_image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/itemcard_image"
|
||||
android:scaleType="centerCrop"
|
||||
android:contentDescription="@string/selectImage"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/loadphoto" />
|
||||
<!-- TAGS ======================================================================================================= -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:padding="@dimen/layout_margin_min"
|
||||
android:layout_marginBottom="@dimen/layout_margin_min"
|
||||
android:baselineAligned="false"
|
||||
android:layout_marginBottom="@dimen/layout_margin_min">
|
||||
android:orientation="horizontal"
|
||||
android:padding="@dimen/layout_margin_min">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_weight="1.25">
|
||||
android:layout_weight="1.25"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/layout_margin_min"
|
||||
android:text="@string/Tamaño"
|
||||
android:textColor="@color/verdnatura_brown_grey"
|
||||
android:textSize="@dimen/body2"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginEnd="@dimen/layout_margin_min"/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemcard_tag1"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -83,18 +87,21 @@
|
|||
android:textSize="@dimen/body2"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/layout_margin_min"
|
||||
android:text="@string/Longitud"
|
||||
android:textColor="@color/verdnatura_brown_grey"
|
||||
android:textSize="@dimen/body2"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginEnd="@dimen/layout_margin_min"/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemcard_tag2"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -110,20 +117,23 @@
|
|||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_weight="1.1">
|
||||
android:layout_weight="1.1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/layout_margin_min"
|
||||
android:text="@string/Color"
|
||||
android:textColor="@color/verdnatura_brown_grey"
|
||||
android:textSize="@dimen/body2"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginEnd="@dimen/layout_margin_min"/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemcard_tag3"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -133,18 +143,21 @@
|
|||
android:textSize="@dimen/body2"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/layout_margin_min"
|
||||
android:text="@string/Origen"
|
||||
android:textColor="@color/verdnatura_brown_grey"
|
||||
android:textSize="@dimen/body2"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginEnd="@dimen/layout_margin_min"/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemcard_tag4"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -152,7 +165,7 @@
|
|||
android:text=""
|
||||
android:textColor="@color/verdnatura_white"
|
||||
android:textSize="@dimen/body2"
|
||||
android:textStyle="bold"/>
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
@ -161,14 +174,16 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/layout_margin_min"
|
||||
android:text="@string/buyer"
|
||||
android:textColor="@color/verdnatura_brown_grey"
|
||||
android:textSize="@dimen/body2"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginEnd="@dimen/layout_margin_min"/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemcard_buyer"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -208,4 +223,4 @@
|
|||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</layout>
|
||||
</layout>
|
|
@ -108,7 +108,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:text="Orden:"
|
||||
android:text="@string/register"
|
||||
android:textColor="@color/verdnatura_white"
|
||||
android:textSize="@dimen/delivery_body_2" />
|
||||
|
||||
|
|
|
@ -0,0 +1,137 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<data>
|
||||
|
||||
<variable
|
||||
name="item"
|
||||
type="es.verdnatura.presentation.view.feature.ubicador.model.ItemShelving" />
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/itemLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/item_row_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/verdnatura_black_5"
|
||||
android:baselineAligned="false"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="@dimen/pasilleros_margin_main_menu"
|
||||
android:paddingTop="@dimen/pasilleros_margin_main_menu"
|
||||
android:paddingEnd="@dimen/pasilleros_margin_main_menu"
|
||||
android:paddingBottom="@dimen/pasilleros_margin_main_menu">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="@dimen/layout_margin_min"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="@dimen/item_image_width"
|
||||
android:layout_height="@dimen/item_image_width"
|
||||
android:layout_marginEnd="@dimen/layout_margin_1"
|
||||
app:cardCornerRadius="100dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/img_item"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:contentDescription="@string/item" />
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/namelayout"
|
||||
style="@style/LayoutClickable"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemfk_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:text="@{String.valueOf(item.item.id)}"
|
||||
android:textColor="@color/verdnatura_white"
|
||||
android:textSize="@dimen/h8"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/longname_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:text="@{item.description}"
|
||||
android:textColor="@color/verdnatura_white"
|
||||
android:textSize="@dimen/h8" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layer_visible"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="2"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/multi_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/verdnatura_white"
|
||||
android:textSize="@dimen/body2"
|
||||
android:textStyle="bold"
|
||||
tools:text="6 x 15" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/visible_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:text="@{String.valueOf(item.visible)}"
|
||||
android:textColor="@color/verdnatura_pumpkin_orange"
|
||||
android:textSize="@dimen/h6"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="@dimen/item_image_width_min"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/more_img"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:contentDescription="@string/options"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_more_vert_black_24dp" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/verdnatura_black_9" />
|
||||
</LinearLayout>
|
||||
</layout>
|
|
@ -212,7 +212,7 @@
|
|||
<string name="changePriority">Cambia la prioridad de los items del carro. Cuanto más alta antes cogerán los sacadores.</string>
|
||||
<string name="allowAutomaticAddItem">Permite añadir items al carro de manera continuada. No uno a uno</string>
|
||||
<string name="newItem">Nuevo Item</string>
|
||||
<string name="editItem">Editar item </string>
|
||||
<string name="editItem">Editar item:</string>
|
||||
<string name="fillFields">Rellena campos obligatorios</string>
|
||||
<string name="mandatoryPacking">Packing obligatorio</string>
|
||||
<string name="selectAction">Selecciona una acción</string>
|
||||
|
@ -358,7 +358,7 @@
|
|||
<string name="titleQrReader">Lector Qr</string>
|
||||
<string name="titleBufferOff">Desactivado buffer</string>
|
||||
<string name="titlePreControl">Pre Control</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro Viejo</string>
|
||||
<string name="titleLogShelving">Histórico del carro</string>
|
||||
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
||||
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
||||
|
@ -736,6 +736,7 @@
|
|||
<string name="imageToSend">Imágenes adjuntas:</string>
|
||||
<string name="addWorkForm">Añadir…</string>
|
||||
<string name="itemOlderInfo">¿Estás seguro que quieres %1$s? Tienes material más nuevo en la cámara.</string>
|
||||
<string name="itemsOlderInfo">¿Estás seguro de %1$s? Tienes ubicado material más viejo detrás de donde vas a %1$s.</string>
|
||||
<string name="quantityReviewed">Cantidad revisada a sumar/restar del total</string>
|
||||
<string name="deleteEntryReviewed">Vas a modificar la cantidad a 0</string>
|
||||
<string name="quantityToReview">Cantidad a revisar</string>
|
||||
|
@ -755,7 +756,7 @@
|
|||
<string name="editParking">Permite modificar los parkings seleccionados</string>
|
||||
<string name="resetParking">Resetea los parkings seleccionados</string>
|
||||
<string name="itemDiarySelected">Histórico : %1$s</string>
|
||||
<string name="titlePrePickerTest">Pre Sacador TEST</string>
|
||||
<string name="titlePrePickerTest">Pre Sacador</string>
|
||||
<string name="ticketWithoutWorker">Ticket sin trabajador asignado</string>
|
||||
<string name="reviewData">Revisa datos insertados</string>
|
||||
<string name="ticketNotes">Notas del ticket</string>
|
||||
|
@ -779,7 +780,7 @@
|
|||
<string name="titleLogExpedition">%1$s %2$s</string>
|
||||
<string name="itemAddress">%1$s-%2$s</string>
|
||||
<string name="itemDataText">%1$d: %2$s</string>
|
||||
<string name="itemsTotal">Iítem: %1$s %2$s %3$d</string>
|
||||
<string name="itemsTotal">Ítem: %1$s %2$s %3$d</string>
|
||||
<string name="itemCardTitle">%1$s-%2$s</string>
|
||||
<string name="itemCardTag">%1$s %2$s</string>
|
||||
<string name="doubleText">%1$s:%2$s</string>
|
||||
|
@ -826,7 +827,7 @@
|
|||
<string name="selectHour">Seleccionar Hora</string>
|
||||
<string name="dateTime">%1$s %2$d:%3$d</string>
|
||||
<string name="lastChecking">VER ÚLTIMA REVISIÓN %1$s→%2$s</string>
|
||||
<string name="listItems">\nLista de ítems:\n</string>
|
||||
<string name="listItems">\nLista de artículos:\n</string>
|
||||
<string name="errorParking">No se ha encontrado parking</string>
|
||||
<string name="scanParkingTxt">Escanea parking</string>
|
||||
<string name="reviewBoxPicking">Revisar sacado por cajas</string>
|
||||
|
@ -909,6 +910,14 @@
|
|||
<string name="sectorSearch">Escribe sector</string>
|
||||
<string name="supplierSearch">Escribe proveedor</string>
|
||||
<string name="entrySearch">Escribe entrada</string>
|
||||
<string name="snack">Merienda</string>
|
||||
<string name="register">Registro:</string>
|
||||
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||
<string name="ubicatorNew">Ubicador</string>
|
||||
<string name="selectItemType">Seleccionar tipo de ítem</string>
|
||||
<string name="allText">Todos</string>
|
||||
<string name="ubicationItemNewer">\nTienes ubicado material más nuevo detrás de donde vas a PARKINEAR \n %1$s</string>
|
||||
<string name="ubicationItemOlder">\nTienes ubicado material más viejo delante de donde vas a PARKINEAR \n %1$s</string>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -358,7 +358,7 @@
|
|||
<string name="titleQrReader">Lector Qr</string>
|
||||
<string name="titleBufferOff">Desactivado buffer</string>
|
||||
<string name="titlePreControl">Pre Control</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro Viejo</string>
|
||||
<string name="titleLogShelving">Histórico del carro</string>
|
||||
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
||||
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
||||
|
@ -736,6 +736,7 @@
|
|||
<string name="imageToSend">Imágenes adjuntas:</string>
|
||||
<string name="addWorkForm">Añadir…</string>
|
||||
<string name="itemOlderInfo">¿Estás seguro que quieres %1$s? Tienes material más nuevo en la cámara.</string>
|
||||
<string name="itemsOlderInfo">¿Estás seguro de %1$s? Tienes ubicado material más viejo detrás de donde vas a %1$s.</string>
|
||||
<string name="quantityReviewed">Cantidad revisada a sumar/restar del total</string>
|
||||
<string name="deleteEntryReviewed">Borrar entrada</string>
|
||||
<string name="quantityToReview">Cantidad a revisar</string>
|
||||
|
@ -755,7 +756,7 @@
|
|||
<string name="editParking">Permite modificar los parkings seleccionados</string>
|
||||
<string name="resetParking">Resetea los parkings seleccionados</string>
|
||||
<string name="itemDiarySelected">Histórico : %1$s</string>
|
||||
<string name="titlePrePickerTest">Pre Sacador TEST</string>
|
||||
<string name="titlePrePickerTest">Pre Sacador</string>
|
||||
<string name="ticketWithoutWorker">Ticket sin trabajador asignado</string>
|
||||
<string name="reviewData">Revisa datos insertados</string>
|
||||
<string name="ticketNotes">Notas del ticket</string>
|
||||
|
@ -826,7 +827,7 @@
|
|||
<string name="selectHour">Seleccionar Hora</string>
|
||||
<string name="dateTime">%1$s %2$d:%3$d</string>
|
||||
<string name="lastChecking">VER ÚLTIMA REVISIÓN %1$s→%2$s</string>
|
||||
<string name="listItems">\nLista de ítems:\n</string>
|
||||
<string name="listItems">\nLista de artículos:\n</string>
|
||||
<string name="errorParking">No se ha encontrado parking</string>
|
||||
<string name="scanParkingTxt">Escanea parking</string>
|
||||
<string name="reviewBoxPicking">Revisar sacado por cajas</string>
|
||||
|
@ -909,5 +910,13 @@
|
|||
<string name="sectorSearch">Escribe sector</string>
|
||||
<string name="supplierSearch">Escribe proveedor</string>
|
||||
<string name="entrySearch">Escribe entrada</string>
|
||||
<string name="snack">Merienda</string>
|
||||
<string name="register">Registro:</string>
|
||||
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||
<string name="ubicatorNew">Ubicador</string>
|
||||
<string name="selectItemType">Seleccionar tipo de ítem</string>
|
||||
<string name="allText">Todos</string>
|
||||
<string name="ubicationItemNewer">\nTienes ubicado material más nuevo detrás de donde vas a PARKINEAR \n %1$s</string>
|
||||
<string name="ubicationItemOlder">\nTienes ubicado material más viejo delante de donde vas a PARKINEAR \n %1$s</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -358,7 +358,7 @@
|
|||
<string name="titleQrReader">Lector Qr</string>
|
||||
<string name="titleBufferOff">Desactivado buffer</string>
|
||||
<string name="titlePreControl">Pre Control</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro Viejo</string>
|
||||
<string name="titleLogShelving">Histórico del carro</string>
|
||||
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
||||
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
||||
|
@ -736,6 +736,7 @@
|
|||
<string name="imageToSend">Imágenes adjuntas:</string>
|
||||
<string name="addWorkForm">Añadir...</string>
|
||||
<string name="itemOlderInfo">¿Estás seguro que quieres %1$s? Tienes material más nuevo en la cámara.</string>
|
||||
<string name="itemsOlderInfo">¿Estás seguro de %1$s? Tienes ubicado material más viejo detrás de donde vas a %1$s.</string>
|
||||
<string name="quantityReviewed">Cantidad revisada a sumar/restar del total</string>
|
||||
<string name="deleteEntryReviewed">Borrar entrada</string>
|
||||
<string name="quantityToReview">Cantidad a revisar</string>
|
||||
|
@ -755,7 +756,7 @@
|
|||
<string name="editParking">Permite modificar los parkings seleccionados</string>
|
||||
<string name="resetParking">Resetea los parkings seleccionados</string>
|
||||
<string name="itemDiarySelected">Histórico : %1$s</string>
|
||||
<string name="titlePrePickerTest">Pre Sacador TEST</string>
|
||||
<string name="titlePrePickerTest">Pre Sacador</string>
|
||||
<string name="ticketWithoutWorker">Ticket sin trabajador asignado</string>
|
||||
<string name="reviewData">Revisa datos insertados</string>
|
||||
<string name="ticketNotes">Notas del ticket</string>
|
||||
|
@ -826,7 +827,7 @@
|
|||
<string name="selectHour">Seleccionar Hora</string>
|
||||
<string name="dateTime">%1$s %2$d:%3$d</string>
|
||||
<string name="lastChecking">VER ÚLTIMA REVISIÓN %1$s→%2$s</string>
|
||||
<string name="listItems">\nLista de ítems:\n</string>
|
||||
<string name="listItems">\nLista de artículos:\n</string>
|
||||
<string name="errorParking">No se ha encontrado parking</string>
|
||||
<string name="scanParkingTxt">Escanea parking</string>
|
||||
<string name="reviewBoxPicking">Revisar sacado por cajas</string>
|
||||
|
@ -909,5 +910,13 @@
|
|||
<string name="sectorSearch">Escribe sector</string>
|
||||
<string name="supplierSearch">Escribe proveedor</string>
|
||||
<string name="entrySearch">Escribe entrada</string>
|
||||
<string name="snack">Merienda</string>
|
||||
<string name="register">Registro:</string>
|
||||
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||
<string name="ubicatorNew">Ubicador</string>
|
||||
<string name="selectItemType">Seleccionar tipo de ítem</string>
|
||||
<string name="allText">Todos</string>
|
||||
<string name="ubicationItemNewer">\nTienes ubicado material más nuevo detrás de donde vas a PARKINEAR \n %1$s</string>
|
||||
<string name="ubicationItemOlder">\nTienes ubicado material más viejo delante de donde vas a PARKINEAR \n %1$s</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -737,6 +737,7 @@
|
|||
<string name="imageToSend">Imágenes adjuntas:</string>
|
||||
<string name="addWorkForm">Añadir…</string>
|
||||
<string name="itemOlderInfo">¿Estás seguro que quieres %1$s? Tienes material más nuevo en la cámara.</string>
|
||||
<string name="itemsOlderInfo">¿Estás seguro de %1$s? Tienes ubicado material más viejo detrás de donde vas a %1$s.</string>
|
||||
<string name="quantityReviewed">Cantidad revisada a sumar/restar del total</string>
|
||||
<string name="deleteEntryReviewed">Borrar entrada</string>
|
||||
<string name="quantityToReview">Cantidad a revisar</string>
|
||||
|
@ -756,7 +757,7 @@
|
|||
<string name="editParking">Permite modificar los parkings seleccionados</string>
|
||||
<string name="resetParking">Resetea los parkings seleccionados</string>
|
||||
<string name="itemDiarySelected">Histórico : %1$s</string>
|
||||
<string name="titlePrePickerTest">Pre Sacador TEST</string>
|
||||
<string name="titlePrePickerTest">Pre Sacador</string>
|
||||
<string name="ticketWithoutWorker">Ticket sin trabajador asignado</string>
|
||||
<string name="reviewData">Revisa datos insertados</string>
|
||||
<string name="ticketNotes">Notas del ticket</string>
|
||||
|
@ -828,7 +829,7 @@
|
|||
<string name="selectHour">Seleccionar Hora</string>
|
||||
<string name="dateTime">%1$s %2$d:%3$d</string>
|
||||
<string name="lastChecking">VER ÚLTIMA REVISIÓN %1$s→%2$s</string>
|
||||
<string name="listItems">\nLista de ítems:\n</string>
|
||||
<string name="listItems">\nLista de artículos:\n</string>
|
||||
<string name="errorParking">No se ha encontrado parking</string>
|
||||
<string name="scanParkingTxt">Escanea parking</string>
|
||||
<string name="reviewBoxPicking">Revisar sacado por cajas</string>
|
||||
|
@ -912,5 +913,13 @@
|
|||
<string name="sectorSearch">Escribe sector</string>
|
||||
<string name="supplierSearch">Escribe proveedor</string>
|
||||
<string name="entrySearch">Escribe entrada</string>
|
||||
<string name="snack">Merienda</string>
|
||||
<string name="register">Registro:</string>
|
||||
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||
<string name="ubicatorNew">Ubicador</string>
|
||||
<string name="selectItemType">Seleccionar tipo de ítem</string>
|
||||
<string name="allText">Todos</string>
|
||||
<string name="ubicationItemNewer">\nTienes ubicado material más nuevo detrás de donde vas a PARKINEAR \n %1$s</string>
|
||||
<string name="ubicationItemOlder">\nTienes ubicado material más viejo delante de donde vas a PARKINEAR \n %1$s</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
features_types=(chore feat style)
|
||||
changes_types=(refactor perf)
|
||||
fix_types=(fix revert)
|
||||
file="CHANGELOG.md"
|
||||
file_tmp="temp_log.txt"
|
||||
file_current_tmp="temp_current_log.txt"
|
||||
|
||||
setType(){
|
||||
echo "### $1" >> $file_tmp
|
||||
arr=("$@")
|
||||
echo "" > $file_current_tmp
|
||||
for i in "${arr[@]}"
|
||||
do
|
||||
git log --grep="$i" --oneline --no-merges --format="- %s %d by:%an" master..testBeta https://redmine.verdnatura.es/issues/5443>> $file_current_tmp
|
||||
done
|
||||
# remove duplicates
|
||||
sort -o $file_current_tmp -u $file_current_tmp
|
||||
cat $file_current_tmp >> $file_tmp
|
||||
echo "" >> $file_tmp
|
||||
# remove tmp current file
|
||||
[ -e $file_current_tmp ] && rm $file_current_tmp
|
||||
}
|
||||
|
||||
echo "# Version XX.XX - XXXX-XX-XX" >> $file_tmp
|
||||
echo "" >> $file_tmp
|
||||
|
||||
setType "Added 🆕" "${features_types[@]}"
|
||||
setType "Changed 📦" "${changes_types[@]}"
|
||||
setType "Fixed 🛠️" "${fix_types[@]}"
|
||||
|
||||
cat $file >> $file_tmp
|
||||
mv $file_tmp $file
|
||||
|
||||
|
|
@ -29,8 +29,8 @@ swiperefreshlayout = "1.1.0"
|
|||
zxingAndroidEmbedded = "4.3.0"
|
||||
googleDevtoolsKsp = "2.0.20-1.0.25"
|
||||
#cambiar ide para subir version
|
||||
androidGradlePlugin = "8.3.2"
|
||||
kotlin = "2.0.10"
|
||||
androidGradlePlugin = "8.7.2"
|
||||
kotlin = "2.0.20"
|
||||
googleServices = "4.4.2"
|
||||
firebaseCrashlytics = "3.0.2"
|
||||
|
||||
|
|
Loading…
Reference in New Issue