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