Version 9.4Beta Cmr, Control ubicación, volver atrás de Controlador, botón llamadas, volver pantalla anterior parking,

This commit is contained in:
Sergio De la torre 2022-11-02 11:37:55 +01:00
parent d371048d3b
commit e4750fc92a
73 changed files with 4026 additions and 529 deletions

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="WizardSettings">
<option name="children">
<map>
<entry key="imageWizard">
<value>
<PersistentState />
</value>
</entry>
<entry key="vectorWizard">
<value>
<PersistentState>
<option name="children">
<map>
<entry key="vectorAssetStep">
<value>
<PersistentState>
<option name="values">
<map>
<entry key="assetSourceType" value="FILE" />
<entry key="outputName" value="ic_item" />
<entry key="sourceFile" value="Z:\DISEÑO-APP\GENERAL\icomoon\SVG\item.svg" />
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</component>
</project>

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<targetSelectedWithDropDown>
<Target>
<type value="QUICK_BOOT_TARGET" />
<deviceKey>
<Key>
<type value="VIRTUAL_DEVICE_PATH" />
<value value="C:\Users\sergiodt\.android\avd\Pixel_3a_API_30_x86.avd" />
</Key>
</deviceKey>
</Target>
</targetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2022-10-18T14:11:38.332474100Z" />
</component>
</project>

View File

@ -44,6 +44,7 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/car.xml" value="0.30052083333333335" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/car_control.xml" value="0.22407407407407406" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/car_info.xml" value="0.2916666666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/check.xml" value="0.1305" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/circleshape.xml" value="0.11979166666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/component_progress.xml" value="0.11979166666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/crane.xml" value="0.23802083333333332" />
@ -103,6 +104,7 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_mode_edit_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_more_vert_black_24dp.xml" value="0.26" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_move_to_inbox_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_packaging.xml" value="0.258" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_packing_mistake.xml" value="0.1315" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_pallet_scan_expedition.xml" value="0.1005" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_pallet_ui.xml" value="0.212" />
@ -196,6 +198,11 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_itemshelvingdayofsale.xml" value="0.3333333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_itemshelvinglog.xml" value="0.28169014084507044" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_login.xml" value="0.22" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_packaging.xml" value="0.1956140350877193" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_packaging_count.xml" value="0.23229166666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_packaging_obs.xml" value="0.1" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_packaging_summary.xml" value="0.2" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_packaging_supplier.xml" value="0.2515625" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_paletizador_menu.xml" value="0.13829787234042554" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_parking.xml" value="0.16666666666666666" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_pasillero.xml" value="0.21" />
@ -217,7 +224,7 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/ic_packing_mistake.xml" value="0.1" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_ajustes_row.xml" value="0.16666666666666666" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row.xml" value="0.3333333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row_fragment.xml" value="0.4466666666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row_fragment.xml" value="0.3275862068965517" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row_presacador.xml" value="0.4" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row_reubication_fragment.xml" value="0.36614583333333334" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_barcode_row.xml" value="0.15579710144927536" />
@ -232,10 +239,13 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_expeditiontruck_row.xml" value="0.1793478260869565" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_faltas_row.xml" value="0.1793478260869565" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_general_row.xml" value="0.13360507246376813" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_general_row_image.xml" value="0.2131578947368421" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_historico_row.xml" value="0.15353260869565216" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_historicovehiculo_row.xml" value="0.18795289855072464" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_image_row.xml" value="0.1" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_inventary_row.xml" value="0.15163934426229508" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_itemshelvingdayofsale_row.xml" value="0.18206521739130435" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_itemsupplier_row.xml" value="0.1" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_location_all_row.xml" value="0.12259371833839919" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_location_row.xml" value="0.16875" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_main_menu.xml" value="0.3333333333333333" />

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$/../.." />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

43
.idea/navEditor.xml Normal file
View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="navEditor-manualLayoutAlgorithm2">
<option name="myPositions">
<map>
<entry key="nav_graph.xml">
<value>
<LayoutPositions>
<option name="myPositions">
<map>
<entry key="ajustesFragment">
<value>
<LayoutPositions>
<option name="myPosition">
<Point>
<option name="x" value="-226" />
<option name="y" value="103" />
</Point>
</option>
</LayoutPositions>
</value>
</entry>
<entry key="showTicketFragment">
<value>
<LayoutPositions>
<option name="myPosition">
<Point>
<option name="x" value="-512" />
<option name="y" value="86" />
</Point>
</option>
</LayoutPositions>
</value>
</entry>
</map>
</option>
</LayoutPositions>
</value>
</entry>
</map>
</option>
</component>
</project>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

982
.idea/workspace.xml Normal file
View File

@ -0,0 +1,982 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AnalysisUIOptions">
<option name="SPLITTER_PROPORTION" value="0.5641026" />
<option name="GROUP_BY_SEVERITY" value="true" />
<option name="SCOPE_TYPE" value="8" />
<option name="CUSTOM_SCOPE_NAME" value="All Places" />
<option name="SHOW_STRUCTURE" value="true" />
</component>
<component name="AndroidConfiguredLogFilters">
<filters>
<filter>
<option name="logLevel" value="debug" />
<option name="logMessageIsRegex" value="false" />
<option name="logMessagePattern" value="" />
<option name="logTagIsRegex" value="false" />
<option name="logTagPattern" value="verdnatura::" />
<option name="name" value="VERDNATURA::" />
<option name="packageNameIsRegex" value="false" />
<option name="packageNamePattern" value="es.verdnatura" />
</filter>
<filter>
<option name="logLevel" value="verbose" />
<option name="logMessagePattern" value="" />
<option name="logTagPattern" value="" />
<option name="name" value="verdnatura" />
<option name="packageNamePattern" value="" />
</filter>
</filters>
</component>
<component name="AndroidGradleBuildConfiguration">
<option name="COMMAND_LINE_OPTIONS" value="--warning-mode all --stacktrace" />
</component>
<component name="AndroidLayouts">
<shared>
<config>
<device id="pixel_4" />
<device id="pixel_5" />
<device id="_device_class_phone" />
<locale>es</locale>
<option name="nonWearDeviceLastStateName" value="Portrait" />
<target>android-28</target>
</config>
</shared>
</component>
<component name="AndroidLogFilters">
<option name="TOOL_WINDOW_LOG_LEVEL" value="debug" />
<option name="TOOL_WINDOW_CONFIGURED_FILTER" value="VERDNATURA::" />
<option name="TOOL_WINDOW_REGEXP_FILTER" value="false" />
</component>
<component name="AutoImportSettings">
<option name="autoReloadType" value="NONE" />
</component>
<component name="BranchesTreeState">
<expand>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:appverdnatura" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:origin" type="e8cecc67:BranchNodeDescriptor" />
</path>
</expand>
<select>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:appverdnatura" type="e8cecc67:BranchNodeDescriptor" />
<item name="BRANCH:appverdnatura/test" type="e8cecc67:BranchNodeDescriptor" />
</path>
</select>
</component>
<component name="ChangeListManager">
<list default="true" id="fa688d1c-dbee-4864-9e33-4d84ef9afca8" name="Default Changelist" comment="Version 9.4Beta Cmr, Control ubicación, volver atrás de Controlador, botón llamadas, volver pantalla anterior parking,">
<change afterPath="$PROJECT_DIR$/.idea/assetWizardSettings.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/modules/app/Gestor_Almacén.app.iml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/modules/vn-warehouseManager.iml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/navEditor.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/vn-warehouseManager.iml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/release/vn-pickingBeta.apk" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/GetPackagingUserCase.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/adapter/ItemSupplierAdapter.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/adapter/ListImageAdapter.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/ObservFragment.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/PackagingCountFragment.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/PackagingSummaryFragment.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/PackagingViewModel/SupplierViewModel.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/SupplierFragment.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/model/EntrySalix.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/model/Supplier.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/drawable/.idea/drawable.iml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/drawable/check.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/drawable/ic_packaging.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_packaging.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_packaging_count.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_packaging_obs.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_packaging_summary.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/layout/item_general_row_image.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/layout/item_image_row.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/layout/item_itemsupplier_row.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/local.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/deploymentTargetDropDown.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/app/build.gradle" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/release/output-metadata.json" beforeDir="false" afterPath="$PROJECT_DIR$/app/release/output-metadata.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/release/vn-picking.apk" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/di/viewModelModule.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/di/viewModelModule.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/GetLoginUserCase.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/GetLoginUserCase.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/GetPaletizadoresUserCase.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/GetPaletizadoresUserCase.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/GetSacadorControladorUserCase.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/GetSacadorControladorUserCase.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/GetUbicadorUserCase.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/GetUbicadorUserCase.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/SalixService.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/SalixService.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/VerdnaturaService.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/VerdnaturaService.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/itemShelvingLogUSerCase.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/domain/itemShelvingLogUSerCase.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/UICallbacks.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/common/UICallbacks.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/common/itemScanned.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/common/itemScanned.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/component/CustomDialogInputTwoValues.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/component/CustomDialogInputTwoValues.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/adapter/SaleAdapter.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/adapter/SaleAdapter.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/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/controlvehiculo/fragment/ControlVehiculoUsuarioFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/controlvehiculo/fragment/ControlVehiculoUsuarioFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelving/adapter/ItemShelvingLogAdapter.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelving/adapter/ItemShelvingLogAdapter.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelving/fragment/ItemShelvingLogFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelving/fragment/ItemShelvingLogFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/SearchBuyerModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/SearchBuyerModel.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/fragment/CmrExpeditionPalletFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/CmrExpeditionPalletFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/CmrExpeditionPalletViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/CmrExpeditionPalletViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/PalletScanFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/paletizador/fragment/PalletScanFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/parking/fragment/ParkingFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/parking/fragment/ParkingFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/EndSacadorFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/EndSacadorFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/adapter/UbicadorAdapter.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/adapter/UbicadorAdapter.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/fragment/UbicadorFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/fragment/UbicadorFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/ubicador/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$/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/workermistake/fragment/WorkermistakeFragment.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/workermistake/fragment/WorkermistakeFragment.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/layout/component_custom_edit_dialog_two_values.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/component_custom_edit_dialog_two_values.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/layout/fragment_workermistake.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_workermistake.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/layout/item_ubication_row.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/item_ubication_row.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/layout/toolbar_fragment.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/toolbar_fragment.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/values-es/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values-es/strings.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/values/colors.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/colors.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/values/dimens.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/dimens.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/values/styles.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/styles.xml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ChangesViewManager" show_ignored="true" />
<component name="CodeInsightWorkspaceSettings">
<option name="optimizeImportsOnTheFly" value="true" />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[21114523025303]" />
<component name="ExportToHTMLSettings">
<option name="OPEN_IN_BROWSER" value="true" />
<option name="OUTPUT_DIRECTORY" value="C:\Program Files\Android\Android Studio\inspections" />
</component>
<component name="ExternalProjectsData">
<projectState path="$PROJECT_DIR$">
<ProjectState />
</projectState>
</component>
<component name="ExternalProjectsManager">
<system id="GRADLE">
<state>
<projects_view>
<tree_state>
<expand />
<select />
</tree_state>
</projects_view>
</state>
</system>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="navigationResourceFile" />
<option value="resourceFile" />
<option value="layoutResourceFile" />
<option value="Class" />
<option value="Kotlin Class" />
</list>
</option>
</component>
<component name="GenerateSignedApkSettings">
<option name="KEY_STORE_PATH" value="C:\Users\sergiodt\proyectos\androidkeys_quique\keystore.jks" />
<option name="KEY_ALIAS" value="keystore" />
<option name="REMEMBER_PASSWORDS" value="true" />
<option name="BUILD_TARGET_KEY" value="apk" />
</component>
<component name="Git.Merge.Settings">
<option name="BRANCH" value="master" />
</component>
<component name="Git.Settings">
<excluded-from-favorite>
<branch-storage>
<map>
<entry type="REMOTE">
<value>
<list>
<branch-info repo="$PROJECT_DIR$" source="origin/master" />
</list>
</value>
</entry>
</map>
</branch-storage>
</excluded-from-favorite>
<favorite-branches>
<branch-storage>
<map>
<entry type="REMOTE">
<value>
<list>
<branch-info repo="$PROJECT_DIR$" source="appverdnatura/test" />
</list>
</value>
</entry>
</map>
</branch-storage>
</favorite-branches>
<option name="PREVIOUS_COMMIT_AUTHORS">
<list>
<option value="sergiodt@verdnatura.es" />
<option value="Sergio dt" />
</list>
</option>
<option name="PUSH_TAGS">
<GitPushTagMode>
<option name="argument" value="--tags" />
<option name="title" value="All" />
</GitPushTagMode>
</option>
<option name="RECENT_BRANCH_BY_REPOSITORY">
<map>
<entry key="$PROJECT_DIR$" value="Tarea3420-quantity_y_originalQuantity" />
</map>
</option>
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
<option name="RESET_MODE" value="MIXED" />
</component>
<component name="GitSEFilterConfiguration">
<file-type-list>
<filtered-out-file-type name="LOCAL_BRANCH" />
<filtered-out-file-type name="REMOTE_BRANCH" />
<filtered-out-file-type name="TAG" />
<filtered-out-file-type name="COMMIT_BY_MESSAGE" />
</file-type-list>
</component>
<component name="HighlightingSettingsPerFile">
<setting file="file://$PROJECT_DIR$/app/src/main/res/values-es/strings.xml" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/app/src/main/res/layout/toolbar_fragment.xml" root0="FORCE_HIGHLIGHTING" />
</component>
<component name="ProblemsViewState">
<option name="proportion" value="0.50190353" />
<option name="sortByName" value="true" />
</component>
<component name="ProjectId" id="1rNnmCWH3aNvnQwcp2vPrEIlvP2" />
<component name="ProjectLevelVcsManager">
<ConfirmationsSetting value="2" id="Add" />
</component>
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
<option name="showMembers" value="true" />
</component>
<component name="PropertiesComponent">
<property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
<property name="ApkExportedModule" value="Gestor_Almacén.app" />
<property name="BundleExportedModule" value="Gestor_Almacén.app" />
<property name="ChangesTree.GroupingKeys" value="module" />
<property name="DEBUGGABLE_DEVICE" value="wiko-w_p611_eea-HUHESK79F6NFBAPF" />
<property name="DEBUGGABLE_PROCESS" value="es.verdnatura" />
<property name="DEBUGGER_ID" value="Auto" />
<property name="DeviceAndSnapshotComboBoxAction.selectedDevice" value="SerialNumber@20211523021031" />
<property name="DeviceAndSnapshotComboBoxAction.selectionTime" value="2021-08-12T14:29:19.760785500Z" />
<property name="ExportApk.ApkPath" value="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app" />
<property name="ExportApk.BuildVariants" value="release" />
<property name="ExportApk.SignV1" value="true" />
<property name="ExportApk.SignV2" value="true" />
<property name="I18N_FIX_LAST_USED_CONTEXT" value="Gestor_Almacén.app.main" />
<property name="ResourceManagerPrefKey.ResourceType" value="DRAWABLE" />
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="RunOnceActivity.cidr.known.project.marker" value="true" />
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="SHOW_ALL_PROCESSES" value="false" />
<property name="ScreenRecorderTask.SavePath" value="C:\Users\sergiodt\device-2021-11-25-073850.mp4" />
<property name="TODO_SCOPE" value="All Places" />
<property name="android-custom-viewC:/Users/sergiodt/.gradle/caches/modules-2/files-2.1/androidx.appcompat/appcompat/1.1.0/9865019bbd2d95e41dede3d8ebf964aa93f97766/appcompat-1.1.0-sources.jar!/androidx/appcompat/widget/AppCompatImageView.java_SELECTED" value="AppCompatImageView" />
<property name="android-custom-viewC:/Users/sergiodt/.gradle/caches/modules-2/files-2.1/androidx.recyclerview/recyclerview/1.0.0/2151d26c3b241f0a887f2dadb9ab091649fcf020/recyclerview-1.0.0-sources.jar!/androidx/recyclerview/widget/RecyclerView.java_RecyclerView_DIMENSIONS" value="1080&#10;1920" />
<property name="android-custom-viewC:/Users/sergiodt/.gradle/caches/modules-2/files-2.1/androidx.recyclerview/recyclerview/1.0.0/2151d26c3b241f0a887f2dadb9ab091649fcf020/recyclerview-1.0.0-sources.jar!/androidx/recyclerview/widget/RecyclerView.java_SELECTED" value="RecyclerView" />
<property name="android-custom-viewC:/Users/sergiodt/.gradle/caches/modules-2/files-2.1/androidx.recyclerview/recyclerview/1.2.1/f0f93e67af3f7417bdd560d5142f6dec4fe629c3/recyclerview-1.2.1-sources.jar!/androidx/recyclerview/widget/RecyclerView.java_SELECTED" value="RecyclerView" />
<property name="android-custom-viewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-29/android/view/View.java_SELECTED" value="View" />
<property name="android-custom-viewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-29/android/widget/EditText.java_SELECTED" value="EditText" />
<property name="android-custom-viewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-29/android/widget/ImageView.java_SELECTED" value="ImageView" />
<property name="android-custom-viewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-29/android/widget/TextView.java_SELECTED" value="TextView" />
<property name="android-custom-viewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-29/android/widget/TextView.java_TextView_DIMENSIONS" value="1080&#10;1920" />
<property name="android-custom-viewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-30/android/view/View.java_SELECTED" value="View" />
<property name="android-custom-viewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-30/android/widget/ImageView.java_SELECTED" value="ImageView" />
<property name="android-custom-viewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-30/android/widget/TextView.java_SELECTED" value="TextView" />
<property name="android.recentlyUsedThemes" value="Base.Theme.AppCompat" />
<property name="cidr.known.project.marker" value="true" />
<property name="com.developerphil.adbidea.selecteddevices" value="19192521400686" />
<property name="last_directory_selection" value="$PROJECT_DIR$/app/src/main/res/drawable" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/app/src/main/res/drawable" />
<property name="multi-representation-previewC:/Users/sergiodt/.gradle/caches/modules-2/files-2.1/androidx.recyclerview/recyclerview/1.0.0/2151d26c3b241f0a887f2dadb9ab091649fcf020/recyclerview-1.0.0-sources.jar!/androidx/recyclerview/widget/RecyclerView.java_selected" value="Custom views" />
<property name="multi-representation-previewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-29/android/view/View.java_selected" value="Custom views" />
<property name="multi-representation-previewC:/Users/sergiodt/AppData/Local/Android/Sdk/sources/android-29/android/widget/TextView.java_selected" value="Custom views" />
<property name="project.structure.last.edited" value="Dependencies" />
<property name="project.structure.proportion" value="0.17" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="recommended.upgrade.last.time.stamp" value="1641190974236" />
<property name="run.code.analysis.last.selected.profile" value="pProject Default" />
<property name="settings.editor.selected.configurable" value="reference.settingsdialog.project.gradle" />
</component>
<component name="PsdUISettings">
<option name="MODULE_TAB" value="Default Config" />
<option name="LAST_EDITED_SIGNING_CONFIG" value="debug" />
<option name="LAST_EDITED_BUILD_TYPE" value="release" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<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\layout" />
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\res\drawable-v24" />
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\res\raw" />
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\java\es\verdnatura\presentation\view\feature" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\res\drawable-v24" />
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\res\raw" />
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\res\assets" />
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\res\font" />
<recent name="C:\Users\sergiodt\AndroidStudioProjects\vn-warehouseManager\app\src\main\res\drawable" />
</key>
<key name="MoveKotlinTopLevelDeclarationsDialog.RECENTS_KEY">
<recent name="es.verdnatura.presentation.view.feature.packaging.fragment.SupplierViewModel" />
<recent name="es.verdnatura.presentation.view.feature.workermistake.fragment" />
<recent name="es.verdnatura.presentation.view.feature.historicoshelving.fragment" />
<recent name="es.verdnatura.presentation.view.feature.buffer.fragment" />
<recent name="es.verdnatura.presentation.view.feature.smarttag.register" />
</key>
<key name="CopyKotlinDeclarationDialog.RECENTS_KEY">
<recent name="es.verdnatura.domain" />
<recent name="es.verdnatura.presentation.view.feature.packaging.fragment" />
<recent name="es.verdnatura.presentation.view.component" />
<recent name="es.verdnatura.presentation.view.feature.inventario.adapter" />
</key>
</component>
<component name="RunManager" selected="Android App.app">
<configuration default="true" type="AndroidJUnit" factoryName="Android JUnit">
<option name="TEST_OBJECT" value="class" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<method v="2">
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="app" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="Gestor_Almacén.app" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
<option name="INSPECTION_WITHOUT_ACTIVITY_RESTART" value="false" />
<option name="TARGET_SELECTION_MODE" value="DEVICE_AND_SNAPSHOT_COMBO_BOX" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />
<Auto>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Hybrid>
<Java />
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="STARTUP_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
</Profilers>
<option name="DEEP_LINK" value="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
<method v="2">
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="vn-warehouseManager" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list />
</option>
<option name="vmOptions" value="" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="Gradle.vn-warehouseManager" />
<item itemvalue="Gradle.vn-warehouseManager" />
<item itemvalue="Gradle.vn-warehouseManager" />
<item itemvalue="Gradle.vn-warehouseManager" />
<item itemvalue="Gradle.vn-warehouseManager" />
</list>
</recent_temporary>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="SvnConfiguration">
<configuration>C:\Users\sergiodt\AppData\Roaming\Subversion</configuration>
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="fa688d1c-dbee-4864-9e33-4d84ef9afca8" name="Default Changelist" comment="" />
<created>1618825571576</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1618825571576</updated>
</task>
<task id="LOCAL-00043" summary="Modifico control vehiculo para que no vuelva a pedir escanear cuando se vuelve atrás, modificado historico de vehiculos ahora informa en el caso que esté vacía la lista y añadido fallo de trabajador. En test. No subida">
<created>1644472909011</created>
<option name="number" value="00043" />
<option name="presentableId" value="LOCAL-00043" />
<option name="project" value="LOCAL" />
<updated>1644472909011</updated>
</task>
<task id="LOCAL-00044" summary="Añadida funcionalidad de recuperar/guardar sector. Refactor Login. Cambiado icono que cerraba app en móviles viejos. Se añade campo prioridad. Pantalla de allo trabajador.">
<created>1644911413401</created>
<option name="number" value="00044" />
<option name="presentableId" value="LOCAL-00044" />
<option name="project" value="LOCAL" />
<updated>1644911413401</updated>
</task>
<task id="LOCAL-00045" summary="Añadido funcionalidad nueva de PreSacador y solucionado tema de la referencia en ItemCard. Cambiado forma de coger vehículo y arreglado volver atrás en controaldor">
<created>1646409278855</created>
<option name="number" value="00045" />
<option name="presentableId" value="LOCAL-00045" />
<option name="project" value="LOCAL" />
<updated>1646409278855</updated>
</task>
<task id="LOCAL-00046" summary="Version 7.9, seleccionar impresora y movimiento recyclerViewer para el sacador. Llamadas smarttags al servidor ok">
<created>1648617906228</created>
<option name="number" value="00046" />
<option name="presentableId" value="LOCAL-00046" />
<option name="project" value="LOCAL" />
<updated>1648617906228</updated>
</task>
<task id="LOCAL-00047" summary="Version 8, impresora obligatoria, controlador se desplaza al pulsar, Ubicar Reclamación y líneas controlador = orden saca el sacador">
<created>1649233788632</created>
<option name="number" value="00047" />
<option name="presentableId" value="LOCAL-00047" />
<option name="project" value="LOCAL" />
<updated>1649233788632</updated>
</task>
<task id="LOCAL-00048" summary="Version 8, impresora obligatoria, controlador se desplaza al pulsar, Ubicar Reclamación y líneas controlador = orden saca el sacador">
<created>1649234340659</created>
<option name="number" value="00048" />
<option name="presentableId" value="LOCAL-00048" />
<option name="project" value="LOCAL" />
<updated>1649234340659</updated>
</task>
<task id="LOCAL-00049" summary="Version 8, impresora obligatoria, controlador se desplaza al pulsar, Ubicar Reclamación y líneas controlador = orden saca el sacador">
<created>1649235060928</created>
<option name="number" value="00049" />
<option name="presentableId" value="LOCAL-00049" />
<option name="project" value="LOCAL" />
<updated>1649235060928</updated>
</task>
<task id="LOCAL-00050" summary="Version 8.2 obligatorio sector para imprimir, Desmarcar sacador ok. Cambiado texto DiadeVenta.Añadido icono Parking previa. Actualiza datos en Previa. Nuevo diseño INVISIBLE">
<created>1651646872970</created>
<option name="number" value="00050" />
<option name="presentableId" value="LOCAL-00050" />
<option name="project" value="LOCAL" />
<updated>1651646872971</updated>
</task>
<task id="LOCAL-00051" summary="Version 8.2 obligatorio sector para imprimir, Desmarcar sacador ok. Cambiado texto DiadeVenta.Añadido icono Parking previa. Actualiza datos en Previa. Nuevo diseño INVISIBLE">
<created>1651647030034</created>
<option name="number" value="00051" />
<option name="presentableId" value="LOCAL-00051" />
<option name="project" value="LOCAL" />
<updated>1651647030035</updated>
</task>
<task id="LOCAL-00052" summary="Version 8.2 Subida de ficheros que no estaban versionados">
<created>1651647188750</created>
<option name="number" value="00052" />
<option name="presentableId" value="LOCAL-00052" />
<option name="project" value="LOCAL" />
<updated>1651647188751</updated>
</task>
<task id="LOCAL-00053" summary="Version 8.2 Subida de ficheros que no estaban versionados">
<created>1651647225421</created>
<option name="number" value="00053" />
<option name="presentableId" value="LOCAL-00053" />
<option name="project" value="LOCAL" />
<updated>1651647225421</updated>
</task>
<task id="LOCAL-00054" summary="Revert &quot;Version 8.2 Subida de ficheros que no estaban versionados&quot;&#10;&#10;This reverts commit 3c0f949e">
<created>1651647601790</created>
<option name="number" value="00054" />
<option name="presentableId" value="LOCAL-00054" />
<option name="project" value="LOCAL" />
<updated>1651647601790</updated>
</task>
<task id="LOCAL-00055" summary="Revert &quot;Revert &quot;Version 8.2 Subida de ficheros que no estaban versionados&quot;&quot;&#10;&#10;This reverts commit 9b8d092d">
<created>1651648056868</created>
<option name="number" value="00055" />
<option name="presentableId" value="LOCAL-00055" />
<option name="project" value="LOCAL" />
<updated>1651648056868</updated>
</task>
<task id="LOCAL-00056" summary="Version 8.2 Subida de ficheros que no estaban versionados">
<created>1651648467597</created>
<option name="number" value="00056" />
<option name="presentableId" value="LOCAL-00056" />
<option name="project" value="LOCAL" />
<updated>1651648467597</updated>
</task>
<task id="LOCAL-00057" summary="Version 8.3 Diseño grafico, llamadas a Salix y return &quot;Finish&quot;">
<created>1652788345754</created>
<option name="number" value="00057" />
<option name="presentableId" value="LOCAL-00057" />
<option name="project" value="LOCAL" />
<updated>1652788345755</updated>
</task>
<task id="LOCAL-00058" summary="Version 8.4Beta, return &quot;finish&quot; y apptesters">
<created>1653400494828</created>
<option name="number" value="00058" />
<option name="presentableId" value="LOCAL-00058" />
<option name="project" value="LOCAL" />
<updated>1653400494829</updated>
</task>
<task id="LOCAL-00059" summary="Version 8.4.1Beta, return &quot;finish&quot;, strings y quitado test rocket">
<created>1653577349342</created>
<option name="number" value="00059" />
<option name="presentableId" value="LOCAL-00059" />
<option name="project" value="LOCAL" />
<updated>1653577349343</updated>
</task>
<task id="LOCAL-00060" summary="Version 8.4.1Beta, strings y return finish">
<created>1653644047502</created>
<option name="number" value="00060" />
<option name="presentableId" value="LOCAL-00060" />
<option name="project" value="LOCAL" />
<updated>1653644047502</updated>
</task>
<task id="LOCAL-00061" summary="Version 8.4.1Beta,Tarea #3958">
<created>1653663791334</created>
<option name="number" value="00061" />
<option name="presentableId" value="LOCAL-00061" />
<option name="project" value="LOCAL" />
<updated>1653663791335</updated>
</task>
<task id="LOCAL-00062" summary="Version 8.4.1Beta=8.4 Master,sin envio rockets de sacador/controlador y quitar strings.">
<created>1654145430078</created>
<option name="number" value="00062" />
<option name="presentableId" value="LOCAL-00062" />
<option name="project" value="LOCAL" />
<updated>1654145430079</updated>
</task>
<task id="LOCAL-00063" summary="Version 8.5Beta, strings, body =null y muestra coger vehículo">
<created>1654670479261</created>
<option name="number" value="00063" />
<option name="presentableId" value="LOCAL-00063" />
<option name="project" value="LOCAL" />
<updated>1654670479262</updated>
</task>
<task id="LOCAL-00064" summary="Version 8.5.1Beta, strings, muestra previa y comentar smarttads">
<created>1654772518409</created>
<option name="number" value="00064" />
<option name="presentableId" value="LOCAL-00064" />
<option name="project" value="LOCAL" />
<updated>1654772518410</updated>
</task>
<task id="LOCAL-00065" summary="Version 8.5.1Beta acceso a control vehiculo ok">
<created>1654781827179</created>
<option name="number" value="00065" />
<option name="presentableId" value="LOCAL-00065" />
<option name="project" value="LOCAL" />
<updated>1654781827179</updated>
</task>
<task id="LOCAL-00066" summary="Version 8.5.2Beta, quitado color del item, quitado back de revisor y control de previa solo sus líneas">
<created>1655369652090</created>
<option name="number" value="00066" />
<option name="presentableId" value="LOCAL-00066" />
<option name="project" value="LOCAL" />
<updated>1655369652090</updated>
</task>
<task id="LOCAL-00067" summary="Version 8.6.1Beta, añadido ticketColor más grande, quitados colores items y permutado quantity por cel2. Quitados warnings">
<created>1655960861634</created>
<option name="number" value="00067" />
<option name="presentableId" value="LOCAL-00067" />
<option name="project" value="LOCAL" />
<updated>1655960861634</updated>
</task>
<task id="LOCAL-00068" summary="Version 8.6.1Beta tareas #3601 refactor ivnentario.Tarea #3959(warnings deprecated,typedate,neverused)">
<created>1656322885999</created>
<option name="number" value="00068" />
<option name="presentableId" value="LOCAL-00068" />
<option name="project" value="LOCAL" />
<updated>1656322886000</updated>
</task>
<task id="LOCAL-00069" summary="Version 8.7 Reubicación, sector = SACADOR V, controlador no puede hacer parking si no están revisados todos los tickets,">
<created>1656930096719</created>
<option name="number" value="00069" />
<option name="presentableId" value="LOCAL-00069" />
<option name="project" value="LOCAL" />
<updated>1656930096719</updated>
</task>
<task id="LOCAL-00070" summary="Version 8.8Beta precio coste artículo, modificar tallos, mensajes error para items sin buyFk y ticket eliminado o viejo">
<created>1659005042067</created>
<option name="number" value="00070" />
<option name="presentableId" value="LOCAL-00070" />
<option name="project" value="LOCAL" />
<updated>1659005042068</updated>
</task>
<task id="LOCAL-00071" summary="Version 9Beta, dos opciones a Paletizadores y carros de operator">
<created>1662699501924</created>
<option name="number" value="00071" />
<option name="presentableId" value="LOCAL-00071" />
<option name="project" value="LOCAL" />
<updated>1662699501924</updated>
</task>
<task id="LOCAL-00072" summary="Version 9Beta-Tarea3420">
<created>1662982877783</created>
<option name="number" value="00072" />
<option name="presentableId" value="LOCAL-00072" />
<option name="project" value="LOCAL" />
<updated>1662982877783</updated>
</task>
<task id="LOCAL-00073" summary="Version 9Beta-Borrados comentarios">
<created>1663050116723</created>
<option name="number" value="00073" />
<option name="presentableId" value="LOCAL-00073" />
<option name="project" value="LOCAL" />
<updated>1663050116723</updated>
</task>
<task id="LOCAL-00074" summary="Version 9.1Beta- Rgb,trasaccion marcar lineas, new collection,shelvingLog, y ajustes">
<created>1663770280710</created>
<option name="number" value="00074" />
<option name="presentableId" value="LOCAL-00074" />
<option name="project" value="LOCAL" />
<updated>1663770280712</updated>
</task>
<task id="LOCAL-00075" summary="Version 9.1Beta- Rgb,trasaccion marcar lineas, new collection,shelvingLog, y ajustes">
<created>1663770314650</created>
<option name="number" value="00075" />
<option name="presentableId" value="LOCAL-00075" />
<option name="project" value="LOCAL" />
<updated>1663770314650</updated>
</task>
<task id="LOCAL-00076" summary="Version 9.1Beta- Filtro inventario">
<created>1663835246994</created>
<option name="number" value="00076" />
<option name="presentableId" value="LOCAL-00076" />
<option name="project" value="LOCAL" />
<updated>1663835246994</updated>
</task>
<task id="LOCAL-00077" summary="Version 9.1Beta- Modificar original y originalQuantity">
<created>1663849445751</created>
<option name="number" value="00077" />
<option name="presentableId" value="LOCAL-00077" />
<option name="project" value="LOCAL" />
<updated>1663849445751</updated>
</task>
<task id="LOCAL-00078" summary="Version 9.1Beta-CMR quitado, rgb quitado">
<created>1663850881923</created>
<option name="number" value="00078" />
<option name="presentableId" value="LOCAL-00078" />
<option name="project" value="LOCAL" />
<updated>1663850881923</updated>
</task>
<task id="LOCAL-00079" summary="Version 9.1Beta-Compilada versión y formateado Ajustes">
<created>1663930085261</created>
<option name="number" value="00079" />
<option name="presentableId" value="LOCAL-00079" />
<option name="project" value="LOCAL" />
<updated>1663930085262</updated>
</task>
<task id="LOCAL-00080" summary="Version 9.1Beta-Quantity_y_originalQuantity_view_to_Integer.toString">
<created>1663943604196</created>
<option name="number" value="00080" />
<option name="presentableId" value="LOCAL-00080" />
<option name="project" value="LOCAL" />
<updated>1663943604196</updated>
</task>
<task id="LOCAL-00081" summary="Version 9.2Beta-Controlador sin animacion y vuelve al sitio">
<created>1664276655283</created>
<option name="number" value="00081" />
<option name="presentableId" value="LOCAL-00081" />
<option name="project" value="LOCAL" />
<updated>1664276655284</updated>
</task>
<task id="LOCAL-00082" summary="Version 9 Arreglado vuelta atrás controlador">
<created>1664430359823</created>
<option name="number" value="00082" />
<option name="presentableId" value="LOCAL-00082" />
<option name="project" value="LOCAL" />
<updated>1664430359824</updated>
</task>
<task id="LOCAL-00083" summary="Version 9.2.1 Refactor Inicio">
<created>1664790614473</created>
<option name="number" value="00083" />
<option name="presentableId" value="LOCAL-00083" />
<option name="project" value="LOCAL" />
<updated>1664790614473</updated>
</task>
<task id="LOCAL-00084" summary="Version 9.2.1 Refactor Inicio, pintar a través del rgb, modificado diseño,se añade shelvingLog y muestra colección a través de ticket">
<created>1665032465280</created>
<option name="number" value="00084" />
<option name="presentableId" value="LOCAL-00084" />
<option name="project" value="LOCAL" />
<updated>1665032465281</updated>
</task>
<task id="LOCAL-00085" summary="Version 9.2.1 Modificado fragment">
<created>1665037437997</created>
<option name="number" value="00085" />
<option name="presentableId" value="LOCAL-00085" />
<option name="project" value="LOCAL" />
<updated>1665037437997</updated>
</task>
<task id="LOCAL-00086" summary="Version 9.2.1 Modificado fragment a fragment_general">
<created>1665038575752</created>
<option name="number" value="00086" />
<option name="presentableId" value="LOCAL-00086" />
<option name="project" value="LOCAL" />
<updated>1665038575752</updated>
</task>
<task id="LOCAL-00087" summary="Version 9.2.1 añadido error encajado y modificado marcaje">
<created>1665118245168</created>
<option name="number" value="00087" />
<option name="presentableId" value="LOCAL-00087" />
<option name="project" value="LOCAL" />
<updated>1665118245169</updated>
</task>
<task id="LOCAL-00088" summary="Version 9.2.1 en producción">
<created>1665123288355</created>
<option name="number" value="00088" />
<option name="presentableId" value="LOCAL-00088" />
<option name="project" value="LOCAL" />
<updated>1665123288355</updated>
</task>
<task id="LOCAL-00089" summary="Version 9.2.1 en producción. Borrada Voz y Ajustes impresora">
<created>1665470010499</created>
<option name="number" value="00089" />
<option name="presentableId" value="LOCAL-00089" />
<option name="project" value="LOCAL" />
<updated>1665470010500</updated>
</task>
<task id="LOCAL-00090" summary="Version 9.2.1 en producción. Borrada Voz y Ajustes impresora">
<created>1665470036509</created>
<option name="number" value="00090" />
<option name="presentableId" value="LOCAL-00090" />
<option name="project" value="LOCAL" />
<updated>1665470036509</updated>
</task>
<task id="LOCAL-00091" summary="Version 9.2 Error encajado y en ver Ticket aparece ver la colección">
<created>1666276993765</created>
<option name="number" value="00091" />
<option name="presentableId" value="LOCAL-00091" />
<option name="project" value="LOCAL" />
<updated>1666276993765</updated>
</task>
<option name="localTasksCounter" value="92" />
<servers />
</component>
<component name="Vcs.Log.History.Properties">
<option name="COLUMN_ID_ORDER">
<list>
<option value="Default.Root" />
<option value="Default.Author" />
<option value="Default.Date" />
<option value="Default.Subject" />
</list>
</option>
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="1">
<value>
<State>
<option name="FILTERS">
<map>
<entry key="branch">
<value>
<list>
<option value="test" />
</list>
</value>
</entry>
</map>
</option>
</State>
</value>
</entry>
<entry key="MAIN">
<value>
<State>
<option name="BEK_SORT_TYPE" value="1" />
<option name="FILTERS">
<map>
<entry key="branch">
<value>
<list>
<option value="testWith3420" />
</list>
</value>
</entry>
</map>
</option>
<option name="COLUMN_ID_WIDTH">
<map>
<entry key="Table.Default.Author.ColumnIdWidth" value="18" />
<entry key="Table.Default.Date.ColumnIdWidth" value="18" />
</map>
</option>
</State>
</value>
</entry>
<entry key="a7a6ac7c-1e79-4c0b-bbb7-6f3f2203baeb">
<value>
<State>
<option name="FILTERS">
<map>
<entry key="range">
<value>
<list>
<option value="master..test" />
</list>
</value>
</entry>
<entry key="roots">
<value>
<list>
<option value="$PROJECT_DIR$" />
</list>
</value>
</entry>
</map>
</option>
</State>
</value>
</entry>
</map>
</option>
<option name="RECENT_FILTERS">
<map>
<entry key="Branch">
<value>
<list>
<RecentGroup>
<option name="FILTER_VALUES">
<option value="appverdnatura/master" />
</option>
</RecentGroup>
</list>
</value>
</entry>
</map>
</option>
<option name="oldMeFiltersMigrated" value="true" />
</component>
<component name="VcsManagerConfiguration">
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
<MESSAGE value="Version 8.6.1Beta, añadido ticketColor más grande, quitados colores items y permutado quantity por cel2. Quitados warnings" />
<MESSAGE value="Version 8.6.1Beta tareas #3601 refactor ivnentario.Tarea #3959(warnings deprecated,typedate,neverused)" />
<MESSAGE value="Version 8.7 Reubicación, sector = SACADOR V, controlador no puede hacer parking si no están revisados todos los tickets," />
<MESSAGE value="Version 8.8Beta precio coste artículo, modificar tallos, mensajes error para items sin buyFk y ticket eliminado o viejo" />
<MESSAGE value="Version 9Beta, dos opciones a Paletizadores y carros de operator" />
<MESSAGE value="Version 9Beta-Tarea3420" />
<MESSAGE value="Version 9Beta-Borrados comentarios" />
<MESSAGE value="Version 9.1Beta- rgb,trasaccion marcar lineas, new collection y ajustes" />
<MESSAGE value="Version 9.1Beta- Rgb,trasaccion marcar lineas, new collection,shelvingLog, y ajustes" />
<MESSAGE value="Version 9.1Beta- Filtro inventario" />
<MESSAGE value="Version 9.1Beta- Modificar original y originalQuantity" />
<MESSAGE value="Version 9.1Beta-CMR quitado, rgb quitado" />
<MESSAGE value="Version 9.1Beta-Compilada versión y formateado Ajustes" />
<MESSAGE value="Version 9.1Beta-Quantity_y_originalQuantity_view_to_Integer.toString" />
<MESSAGE value="Version 9.2Beta-Controlador sin animacion y vuelve al sitio" />
<MESSAGE value="Version 9 Arreglado vuelta atrás controlador" />
<MESSAGE value="Version 9.2.1 Refactor Inicio" />
<MESSAGE value="Version 9.2.1 Refactor Inicio, pintar a través del rgb, modificado diseño,se añade shelvingLog y muestra colección a través de ticket" />
<MESSAGE value="Version 9.2.1 Modificado fragment" />
<MESSAGE value="Version 9.2.1 Modificado fragment a fragment_general" />
<MESSAGE value="Version 9.2.1 añadido error encajado y modificado marcaje" />
<MESSAGE value="Version 9.2.1 en producción" />
<MESSAGE value="Version 9.2.1 en producción. Borrada Voz y Ajustes impresora" />
<MESSAGE value="Version 9.2 Error encajado y en ver Ticket aparece ver la colección" />
<MESSAGE value="Version 9.4Beta Cmr, Control ubicación, volver atrás de Controlador, botón llamadas, volver pantalla anterior parking," />
<option name="LAST_COMMIT_MESSAGE" value="Version 9.4Beta Cmr, Control ubicación, volver atrás de Controlador, botón llamadas, volver pantalla anterior parking," />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" suspend="THREAD" type="kotlin-line">
<url>file://$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/articulo/fragment/ItemCardViewModel.kt</url>
<line>61</line>
<option name="timeStamp" value="3" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="kotlin-line">
<url>file://$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/controlvehiculo/fragment/ControlVehiculoViewModel.kt</url>
<line>202</line>
<option name="timeStamp" value="5" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="kotlin-line">
<url>file://$PROJECT_DIR$/app/src/main/java/es/verdnatura/presentation/view/feature/controlvehiculo/fragment/ControlVehiculoViewModel.kt</url>
<line>195</line>
<option name="timeStamp" value="6" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
<pin-to-top-manager>
<pinned-members>
<PinnedItemInfo parentTag="java.net.SocketException" memberName="detailMessage" />
<PinnedItemInfo parentTag="retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall" memberName="delegate" />
<PinnedItemInfo parentTag="retrofit2.Response" memberName="errorBody" />
<PinnedItemInfo parentTag="es.verdnatura.presentation.view.feature.sacador.fragment.SacadorViewModel" memberName="_registerSmarttagInsert$delegate" />
</pinned-members>
</pin-to-top-manager>
<watches-manager>
<configuration name="app">
<watch expression="((SocketTimeoutException)((SocketTimeoutException)t).cause).cause" custom="java.net.SocketTimeoutException" />
<watch expression="this" />
</configuration>
</watches-manager>
</component>
</project>

View File

@ -11,8 +11,8 @@
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 138,
"versionName": "9.2",
"versionCode": 140,
"versionName": "9.4Beta",
"outputFile": "app-release.apk"
}
],

Binary file not shown.

View File

@ -1,5 +1,4 @@
package es.verdnatura.di
import es.verdnatura.presentation.view.feature.ajustes.fragment.AjustesViewModel
import es.verdnatura.presentation.view.feature.articulo.fragment.ItemCardViewModel
import es.verdnatura.presentation.view.feature.buffer.fragment.BufferFragmentViewModel
@ -18,6 +17,7 @@ import es.verdnatura.presentation.view.feature.historicoshelvinglog.fragment.she
import es.verdnatura.presentation.view.feature.historicovehiculo.fragment.HistoricoVehiculoViewModel
import es.verdnatura.presentation.view.feature.inventario.fragment.InventaryViewModel
import es.verdnatura.presentation.view.feature.login.fragment.LoginViewModel
import es.verdnatura.presentation.view.feature.packaging.fragment.PackagingViewModel.PackagingViewModel
import es.verdnatura.presentation.view.feature.paletizador.fragment.*
import es.verdnatura.presentation.view.feature.parking.fragment.ParkingViewModel
import es.verdnatura.presentation.view.feature.pasillero.fragment.PasilleroViewModel
@ -200,5 +200,7 @@ val viewModelModule = module {
viewModel {
PalletScanViewModel(androidContext())
}
viewModel {
PackagingViewModel(androidContext())
}
}

View File

@ -79,7 +79,7 @@ class GetLoginUserCase(context: Context) : RestClient(context)
fun sendChekingPresence(token:String,workerId:Int,message:String) : Call<Boolean>{
var working_in_test=true // Enviar a grupo test Android o a los usuarios
var working_in_test=false // Enviar a grupo test Android o a los usuarios
if (!working_in_test) {
return salixClient!!.sendChekingPresence(

View File

@ -0,0 +1,59 @@
package es.verdnatura.domain
import android.content.Context
import es.verdnatura.presentation.view.feature.calidad.model.BuyerVO
import es.verdnatura.presentation.view.feature.packaging.model.EntrySalix
import es.verdnatura.presentation.view.feature.packaging.model.ItemSupplier
import es.verdnatura.presentation.view.feature.packaging.model.Supplier
import retrofit2.Call
class GetPackagingUserCase(context: Context) : RestClient(context) {
fun getSuppliers(token: String): Call<List<Supplier>> {
return salixClient!!.getSuppliers(authorization = token)
}
fun Entries(token: String, entry:EntrySalix): Call<EntrySalix> {
return salixClient!!.Entries(authorization = token,entry=entry)
}
fun faultsReview_isChecked(
usuario: String,
password: String,
itemFk: String,
warehouseFk: String
): Call<Any> {
val params: ArrayList<String> = ArrayList()
params.add(itemFk)
params.add(warehouseFk)
return restClient!!.faultsReview_isChecked(
"json",
"1",
usuario,
password,
"application/json",
params = params
)
}
fun itemShelvingBuyerGet(usuario: String, password: String): Call<List<BuyerVO>> {
return restClient!!.itemShelvingBuyerGet("json", "1", usuario, password, "application/json")
}
fun supplier_getItems(
usuario: String,
password: String,
supplierFk: String
): Call<List<ItemSupplier>> {
val params: ArrayList<String> = ArrayList()
params.add(supplierFk)
return restClient!!.supplier_getItems(
"json",
"1",
usuario,
password,
"application/json",
params = params
)
}
}

View File

@ -45,10 +45,10 @@ class GetPaletizadoresUserCase(context: Context) : RestClient(context) {
fun cmrExpeditionPallet_add(
usuario: String,
password: String,
vExpeditionPallet: String,
vCmrId: String
vExpeditionPallet: String?,
vCmrId: String?
): Call<Void> {
val params: ArrayList<String> = ArrayList()
val params: ArrayList<String?> = ArrayList()
params.add(vExpeditionPallet)
params.add(vCmrId)

View File

@ -490,10 +490,9 @@ class GetSacadorControladorUserCase(context: Context) : RestClient(context) {
params
)
}
fun itemShelving_updateFromSale(usuario: String, password: String, saleFk: String,visible:String): Call<Unit> {
fun itemShelving_updateFromSale(usuario: String, password: String, saleFk: String): Call<Unit> {
val params: ArrayList<String> = ArrayList()
params.add(saleFk)
params.add(visible)
return restClient!!.itemShelving_updateFromSale(
"json",
"1",

View File

@ -30,17 +30,17 @@ class GetUbicadorUserCase(context: Context) : RestClient(context) {
shelving: String,
item: String,
quantity: String,
packing: String,
packing: String?,
warehouse: String,
grouping:String
grouping:String?
): Call<Any> {
val params: ArrayList<String> = ArrayList()
params.add(shelving)
params.add(item)
params.add(quantity)
params.add(packing)
if (packing!=null) params.add(packing)
params.add(warehouse)
params.add(grouping)
if (grouping!=null)params.add(grouping)
return restClient!!.itemShelvingMake(
"json",
"1",

View File

@ -1,36 +1,40 @@
package es.verdnatura.domain
import com.google.gson.Gson
import com.google.gson.JsonObject
import es.verdnatura.presentation.view.feature.packaging.model.Supplier
import es.verdnatura.presentation.common.itemBarCodeSalix
import es.verdnatura.presentation.common.itemPackingTypeSalix
import es.verdnatura.presentation.view.feature.ajustes.model.SectorItemVO
import es.verdnatura.presentation.view.feature.articulo.model.ItemPackingType
import es.verdnatura.presentation.view.feature.collection.SalixSaleQuantity
import es.verdnatura.presentation.view.feature.collection.listSaleSalix
import es.verdnatura.presentation.view.feature.collection.saleSalix
import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.ShelvingLogSalix
import es.verdnatura.presentation.view.feature.login.model.LoginSalixVO
import es.verdnatura.presentation.view.feature.login.model.SalixGrupo
import es.verdnatura.presentation.view.feature.login.model.SalixMessageVO
import es.verdnatura.presentation.view.feature.packaging.model.EntrySalix
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
import es.verdnatura.presentation.view.feature.workermistake.model.DepartmentMistake
import org.json.JSONObject
import retrofit2.Call
import retrofit2.http.*
import java.net.URLEncoder
interface SalixService {
@POST("Accounts/login")
fun login(@Header("Content-Type") content_type: String,
@Body params: LoginSalixVO):
fun login(
@Header("Content-Type") content_type: String,
@Body params: LoginSalixVO
):
Call<LoginSalixVO>
@POST("chats/sendCheckingPresence")
fun sendChekingPresence(
@Header("Content-Type") content_type: String,
@Header("Authorization") authorization: String,
@Body params: SalixMessageVO):
@Body params: SalixMessageVO
):
Call<Boolean>
@POST("chats/send")
@ -128,8 +132,6 @@ interface SalixService {
Call<List<ItemPackingType>>
@PUT("ItemBarCodes")//REVISADA
fun barcodes_edit(
@Header("Content-Type") content_type: String,
@ -147,6 +149,27 @@ interface SalixService {
):
Call<String>
@GET("Suppliers")//REVISADA
fun getSuppliers(
@Header("Content-Type") content_type: String="application/json",
@Header("Authorization") authorization: String,
//@Body params:JSONObject=JSONObject("""filter"={"fields":{"id":true,"name":true},"include":[{"relation":"contacts","scope":{"fields":["email"],"order":"id DESC","limit":1,"where":{"email":{"neq":null}}}}]}""")
/* @Query("filter") filter:String="{\"fields\":{\"id\":true,\"name\":true},\"include\":[{\"relation\":\"contacts\"," +
"\"scope\":{" +
"\"fields\":[\"email\"],\"order\":\"id DESC\",\"limit\":1," +
"\"where\":{ \"email\":{\"neq\":null } }}}]})"*/
):
Call<List<Supplier>>
@PUT("Entries")//REVISADA
fun Entries(
@Header("Content-Type") content_type: String="application/json",
@Header("Authorization") authorization: String,
@Body entry:EntrySalix
):
Call<EntrySalix>
@GET("Shelvings")
fun Shelvings(
@Header("Content-Type") content_type: String,
@ -157,6 +180,7 @@ interface SalixService {
Call<List<ShelvingLogSalix>>
}
interface SalixServiceSend {
@POST("chats/send")

View File

@ -21,6 +21,7 @@ import es.verdnatura.presentation.view.feature.historicovehiculo.model.ItemHisto
import es.verdnatura.presentation.view.feature.inventario.model.ItemInventaryVO
import es.verdnatura.presentation.view.feature.login.model.LoginDevice
import es.verdnatura.presentation.view.feature.login.model.versionApp
import es.verdnatura.presentation.view.feature.packaging.model.ItemSupplier
import es.verdnatura.presentation.view.feature.paletizador.model.*
import es.verdnatura.presentation.view.feature.presacador.model.PreSacadorItemVO
import es.verdnatura.presentation.view.feature.reubication.model.Reubication
@ -1287,7 +1288,7 @@ interface VerdnaturaService {
@Header("user") user: String,
@Header("pass") pass: String,
@Header("Content-Type") content_type: String,
@Body params: List<String>
@Body params: List<String?>
):
Call<Void>
@ -1590,6 +1591,16 @@ interface VerdnaturaService {
@Body params: List<String>
):
Call<Void>
//SUPPLIERS
@POST("almacennew/supplier_getItems")//REVISADA
fun supplier_getItems(
@Header("aplicacion") aplicacion: String,
@Header("version") version: String,
@Header("user") user: String,
@Header("pass") pass: String,
@Header("Content-Type") content_type: String,
@Body params: List<String>
):
Call<List<ItemSupplier>>
}

View File

@ -6,6 +6,7 @@ import es.verdnatura.presentation.view.feature.ajustes.model.SectorItemVO
import es.verdnatura.presentation.view.feature.historicoshelving.model.ItemShelvingLog
import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.ShelvingLog
import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.ShelvingLogSalix
import es.verdnatura.presentation.view.feature.packaging.model.EntrySalix
import retrofit2.Call
class itemShelvingLogUSerCase(context: Context) : RestClient(context) {
@ -45,6 +46,8 @@ class itemShelvingLogUSerCase(context: Context) : RestClient(context) {
)
}
fun Shelvings(
token: String,
vShelvingFilter: String,

View File

@ -255,6 +255,7 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
R.drawable.ic_logo_salix -> getString(R.string.accessSalix)
R.drawable.ic_eye_ui -> getString(R.string.icViewCollection)
R.drawable.ic_collection -> getString(R.string.icViewCollection)
R.drawable.ic_controller_ui -> getString(R.string.checkerUbication)
else -> {
""
}
@ -547,6 +548,11 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
ITEMPACKING -> prefs.getString(name, "").toString()
ITEMPACKINGFK -> prefs.getString(name, "").toString()
WORKFORMSELECTED -> prefs.getString(name, "Producción").toString()
"SUPPLIERNAME" -> prefs.getString(name, "").toString()
"SUPPLIERID" -> prefs.getString(name, "").toString()
"ENTRYTYPE" -> prefs.getString(name, "").toString()
"ENTRYNUMBERIMAGES" -> prefs.getString(name, "0").toString()
"ENTRYOBSERVATIONS" -> prefs.getString(name, "").toString()
"base_url" -> {
@ -655,20 +661,22 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
urlSalix = "https://test-salix.verdnatura.es/api/"
)
)
saveWorkForm(
/* saveWorkForm(
WorkForms(
"TestLocalhost",
"http://10.1.4.42:9000",
urlSalix = "https://test-salix.verdnatura.es/api/"
)
)
saveWorkForm(
WorkForms(
"TestHome",
"http://192.168.1.132:9000",
urlSalix = "https://test-salix.verdnatura.es/api/"
)
)
)*/
saveWorkForm(
WorkForms(

View File

@ -9,6 +9,7 @@ import es.verdnatura.presentation.view.feature.buscaritem.model.ItemLocationVO
import es.verdnatura.presentation.view.feature.faltas.model.ItemFaltasVO
import es.verdnatura.presentation.view.feature.inventario.model.ItemInventaryVO
import es.verdnatura.presentation.view.feature.login.model.WorkForms
import es.verdnatura.presentation.view.feature.packaging.model.ItemSupplier
import es.verdnatura.presentation.view.feature.paletizador.model.ItemExpeditionScanVO
import es.verdnatura.presentation.view.feature.paletizador.model.ItemExpeditionTruckVO
import es.verdnatura.presentation.view.feature.paletizador.model.ItemPalletVO
@ -61,6 +62,15 @@ interface OnSmartTagRowClickListener {
interface OnGeneralItemRowClickListener {
fun OnGeneralItemRowClickListener(item: GeneralItem)
}
interface OnImageTrashClickListener {
fun OnImageUpdateClickListener(item: Any)
}
interface OnImageUpdateClickListener {
fun OnImageUpdateClickListener(item: Any)
}
interface OnWorkFormsItemRowClickListener {
fun OnWorkFormsItemRowClickListener(item: WorkForms)
}

View File

@ -3,7 +3,6 @@ package es.verdnatura.presentation.common
import org.json.JSONObject
data class itemScanned(var scanned: JSONObject) {
// var schema: String = scanned!!.get("schema").toString()
var table: String = scanned!!.get("table").toString()
var id: String = scanned!!.get("id").toString()
var table: String? = scanned.get("table").toString()
var id: String? = scanned.get("id").toString()
}

View File

@ -57,6 +57,7 @@ class CustomDialogInputTwoValues(context: Context) : Dialog(context, R.style.Dia
return this
}
fun setValueTwo(value: String): CustomDialogInputTwoValues {
binding.customDialogValueTwo.setText(value)
@ -80,6 +81,7 @@ class CustomDialogInputTwoValues(context: Context) : Dialog(context, R.style.Dia
return this
}
fun setDescription(description: String): CustomDialogInputTwoValues {
binding.customDialogDescription.visibility = View.VISIBLE
@ -118,6 +120,10 @@ class CustomDialogInputTwoValues(context: Context) : Dialog(context, R.style.Dia
fun setInfoTex(text:String){
binding.textinputlayoutUsername.hint = text
}
fun setHint(visible:Boolean){
binding.textinputlayoutUsername.isHintEnabled = visible
binding.textinputlayoutTwo.isHintEnabled = visible
}
fun setInfoTextTwo(text:String){
binding.textinputlayoutTwo.hint = text

View File

@ -24,6 +24,7 @@ class SaleAdapter(
private val onSaleClickListener: OnSaleClickListener,
private val onMistakeClickListener: OnMistakeClickListener,
private val onPackingClick: onPackingClickListener,
) : RecyclerView.Adapter<SaleAdapter.AjustesItemHolder>() {
var context: Context? = null
var position: Int = 0

View File

@ -8,6 +8,7 @@ import android.media.MediaPlayer
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.Parcelable
import android.util.Log.d
import android.view.View
import android.view.View.GONE
@ -103,6 +104,7 @@ class CollectionFragment(
private var workerFkFromTicket = ""
private var itemShelvingTracking_mark: String = ""
private var recylerViewState: Parcelable? = null
companion object {
fun newInstance(collection: CollectionVO, type: String) =
@ -156,10 +158,6 @@ class CollectionFragment(
}
override fun onResume() {
if (type == CONTROLADOR && storedBackPosition != 0) {
setListPosition(storedBackPosition, true)
}
super.onResume()
scanRequest()
}
@ -171,7 +169,6 @@ class CollectionFragment(
customDialogThreeButtons = CustomDialogThreeButtons(requireContext())
ma.hideBottomNavigation(GONE)
binding.splashProgress.visibility = VISIBLE
setEvents()
setToolBar()
@ -179,7 +176,6 @@ class CollectionFragment(
createCollectionList()
}
super.init()
}
@ -188,6 +184,7 @@ class CollectionFragment(
goBack = true
goBack2 = true
goMistakeBack = true
}
private fun setToolBar() {
@ -199,12 +196,8 @@ class CollectionFragment(
binding.mainToolbar.toolbarTitle.text = collection.collectionFk
}
val listIcons: ArrayList<ImageView> = ArrayList()
/* val iconPrevia = ImageView(context)
iconPrevia.setImageResource(R.drawable.ic_local_parking_orange_24dp)*/
val iconPrint = ImageView(context)
iconPrint.setImageResource(R.drawable.ic_print_black_24dp)
@ -386,9 +379,6 @@ class CollectionFragment(
}
//ESCANER =========
hideKeyboards()
/* if (type.equals(CONTROLADOR)){
binding.scanInput.inputType= InputType.TYPE_CLASS_NUMBER
}*/
binding.scanInput.requestFocus()
binding.scanInput.setOnEditorActionListener { v, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {//ID=0 ACTION_NEXT ID=5 ACTION_UNESPECEFIED)
@ -889,15 +879,19 @@ class CollectionFragment(
if (!goBack) {
ma.messageWithSound(it.errorMessage, it.isError, true)
binding.splashProgress.visibility = VISIBLE
viewModel.collectionTicketGet(
getData(USER),
getData(PASSWORD),
collection.collectionFk,
getData(SECTORFK),
type
)
}
} else {
saleAdapter!!.notifyDataSetChanged()
goBack = false
}
})
@ -1042,6 +1036,7 @@ class CollectionFragment(
//CREATE LIST
private fun createCollectionList() {
state = 0
binding.mainToolbar.toolbarTitle.text = collection.collectionFk
@ -1074,9 +1069,9 @@ class CollectionFragment(
sales = salesList.sortedWith(compareBy({ it.saleOrder }))
for (s in sales) {
d("VERDNATURA::", "El id es " + s.saleFk + " tiene saleOrder" + s.saleOrder)
}
/* for (s in sales) {
// d("VERDNATURA::", "El id es " + s.saleFk + " tiene saleOrder" + s.saleOrder)
}*/
if (type == CONTROLADOR) {
@ -1157,20 +1152,37 @@ class CollectionFragment(
binding.fragmentSacadorCollections.adapter = saleAdapter
binding.fragmentSacadorCollections.layoutManager = lm
setTotalLines()
//Tarea #4628
if (type == CONTROLADOR) {
setListPosition(storedBackPosition, true)
setScrollListener(lm!!)
} else {
if (storedPosition != 0)
setListPosition(storedPosition, true)
else if (storedBackPosition != 0)
setListPosition(storedBackPosition, true)
setScrollListener(lm!!)
//sergio: se quita porque se realiza desde triggers
// changeInitTicketState()
}
//CAU ISMAELCT
if (type == SACADOR) {
for (indice in sales.indices){
//sales.forEachIndexed outer@{ pos, s ->
if (sales[indice].isPrepared == "0") {
// d("VERDNATURA::", "sale encontrada pos: " + sales[indice].saleFk + "-" + sales[indice].itemFk)
setListPosition(position = indice, isFromBack = true)
break
}
}
}
exit@
printObservations(observations)
}
private fun setScrollListener(lm: LinearLayoutManager) {
binding.fragmentSacadorCollections.clearOnScrollListeners()
binding.fragmentSacadorCollections.addOnScrollListener(object :
RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
@ -1477,6 +1489,9 @@ class CollectionFragment(
private fun setListPosition(position: Int, isFromBack: Boolean) {
storedPosition = position
//tarea #4628, se asigna storedBackPosition
storedBackPosition = position
if (type == SACADOR || (type == CONTROLADOR && (getData(SECTORDESCRIP).uppercase() == getString(
R.string.sectorALGEMESI
) || getData(SECTORDESCRIP).uppercase() == getString(
@ -1556,8 +1571,7 @@ class CollectionFragment(
viewModel.itemShelving_updateFromSale(
getData(USER),
getData(PASSWORD),
sales[position].saleFk,
sales[position].quantity.toString()
sales[position].saleFk
)
positionUnmarked = position

View File

@ -738,14 +738,13 @@ class CollectionViewModel(context: Context) : BaseViewModel() {
fun itemShelving_updateFromSale(
usuario: String,
password: String,
itemShelvingFk: String,
visible: String
itemShelvingFk: String
) {
getSacadorControladorUserCase.itemShelving_updateFromSale(
usuario,
password,
itemShelvingFk,
visible
itemShelvingFk
)
.enqueue(object : Callback<Unit> {
override fun onFailure(call: Call<Unit>, t: Throwable) {

View File

@ -4,6 +4,7 @@ import android.content.Intent
import android.graphics.drawable.Drawable
import android.net.Uri
import android.os.Build
import android.util.Log.d
import android.view.View.*
import android.widget.ImageView
import androidx.annotation.RequiresApi
@ -56,7 +57,7 @@ class ControlVehiculoUsuarioFragment(
iconPhone.setImageResource(R.drawable.phone_call)
iconPhone.tooltipText = getTooltip(R.drawable.phone_call)
// listIcons.add(iconPhone)
listIcons.add(iconPhone)
binding.mainToolbar.toolbarIcons.adapter =
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
override fun onOptionsItemSelected(item: Drawable) {
@ -110,14 +111,16 @@ class ControlVehiculoUsuarioFragment(
binding.userInformation.setOnClickListener({ binding.mainToolbar.backButton.performClick() })
viewModel.machine_getWorkerPlate(getData(USER), getData(PASSWORD))
}
binding.userImage.loadUrl(
"https://salix.verdnatura.es/api/Images/user/160x160/$userFk/download?access_token=${
getData("base_urlSalix")+"/Images/user/160x160/$userFk/download?access_token=${
getData(
TOKEN
)
}"
)
binding.nameVehiclecontrol.text = getData(USER)
binding.registeredVehiclecontrol.text = ""
binding.deviceName.text = ""

View File

@ -7,12 +7,15 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import es.verdnatura.R
import es.verdnatura.databinding.ItemShelvinglogRowBinding
import es.verdnatura.presentation.common.OnPasillerosItemClickListener
import es.verdnatura.presentation.view.feature.historicoshelving.model.ItemShelvingLog
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
import java.text.SimpleDateFormat
import java.util.*
class ItemShelvingLogAdapter (
private val items: List<ItemShelvingLog>
private val items: List<ItemShelvingLog>,
private val onPasillerosItemClickListener: OnPasillerosItemClickListener
): RecyclerView.Adapter<ItemShelvingLogAdapter.ItemHolder>() {
@ -26,6 +29,12 @@ class ItemShelvingLogAdapter (
override fun onBindViewHolder(holder: ItemHolder, position: Int) {
holder.bind(items[position])
holder.binding.root.setOnClickListener {
onPasillerosItemClickListener.onPasillerosItemClickListener(
PasillerosItemVO(title = holder.binding.root.context.getString(
R.string.titleUbicator)),items[position].code)
}
}
inner class ItemHolder(
@ -35,17 +44,7 @@ class ItemShelvingLogAdapter (
fun bind(item: ItemShelvingLog) {
binding.apply {
this.item = item
/* val sdf = SimpleDateFormat("yyyy-MM-dd")
val currentDate = sdf.format(Date())
if (currentDate == item.created){
saledate.setBackgroundColor(
ContextCompat.getColor(historicoDate.context,
R.color.verdnatura_pumpkin_orange))
}else{
saledate.setBackgroundColor(
ContextCompat.getColor(historicoDate.context,
R.color.verdnatura_black_5))
}*/
}
}
}

View File

@ -1,5 +1,6 @@
package es.verdnatura.presentation.view.feature.historicoshelving.fragment
import android.content.Context
import android.view.View
import android.view.inputmethod.EditorInfo
import androidx.lifecycle.Observer
@ -8,10 +9,9 @@ package es.verdnatura.presentation.view.feature.historicoshelving.fragment
import es.verdnatura.databinding.FragmentItemshelvinglogBinding
import es.verdnatura.domain.notNull
import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnPasillerosItemClickListener
import es.verdnatura.presentation.view.component.CustomDialog
import es.verdnatura.presentation.view.component.CustomDialogList
import es.verdnatura.presentation.view.feature.historicoshelving.adapter.ItemShelvingLogAdapter
import es.verdnatura.presentation.view.feature.main.activity.MainActivity
@Suppress("UNUSED_ANONYMOUS_PARAMETER")
@ -22,6 +22,7 @@ class itemShelvingLogFragment(
//private lateinit var customDialogList: CustomDialogList
private var adapter: ItemShelvingLogAdapter? = null
private var itemScan = ""
private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null
companion object {
fun newInstance(entryPoint: String) = itemShelvingLogFragment(entryPoint)
@ -42,10 +43,13 @@ class itemShelvingLogFragment(
}
override fun onAttach(context: Context) {
if (context is OnPasillerosItemClickListener) pasillerosItemClickListener = context
super.onAttach(context)
}
private fun setToolBar(title: String) {
binding.mainToolbar.toolbarTitle.text = title
}
private fun setEvents() {
@ -85,9 +89,13 @@ class itemShelvingLogFragment(
loadItemShelvingLogList.observe(viewLifecycleOwner, Observer { event ->
event.getContentIfNotHandled().notNull {
binding.splashProgress.visibility = View.GONE
adapter = ItemShelvingLogAdapter(it.list)
adapter = ItemShelvingLogAdapter(
it.list,
onPasillerosItemClickListener = pasillerosItemClickListener!!
)
binding.itemshelvinglogRecyclerview.adapter = adapter
binding.itemshelvinglogRecyclerview.layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
binding.itemshelvinglogRecyclerview.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
setToolBar(getString(R.string.itemShelvingLog) + ":" + itemScan)
if (it.list.isEmpty()) {
@ -115,5 +123,4 @@ class itemShelvingLogFragment(
}
}

View File

@ -273,7 +273,7 @@ class InventaryFragment :
private fun changeOfflineValue(item: ItemInventaryVO) {
listInvetory.removeAt(listInvetory.indexOf(item))
listInvetoryAux.removeAt(listInvetoryAux.indexOf(item))
listInvetory.filter { it.itemFk.contains("996") }
//listInvetory.filter { it.itemFk.contains("996") }
adapter?.notifyDataSetChanged()
//reload = true

View File

@ -5,7 +5,6 @@ import ir.mirrajabi.searchdialog.core.Searchable
class SearchBuyerModel(private var nickname: String?, private var buyerId: String?) : Searchable {
override fun getTitle(): String {
return nickname!!
@ -21,9 +20,8 @@ class SearchBuyerModel(private var nickname: String?, private var buyerId: Strin
}
class SearchDepartmentModel(private var name: String?, private var departmentId: String?) : Searchable {
class SearchDepartmentModel(private var name: String?, private var departmentId: String?) :
Searchable {
override fun getTitle(): String {
@ -39,3 +37,18 @@ class SearchDepartmentModel(private var name: String?, private var departmentId:
}
}
class SearchSupplierModel(private var name: String?, private var id: String?) : Searchable {
fun getId(): String {
return id!!
}
fun getName(): String {
return name!!
}
override fun getTitle(): String {
return name!!
}
}

View File

@ -43,6 +43,10 @@ import es.verdnatura.presentation.view.feature.historicoshelvinglog.fragment.she
import es.verdnatura.presentation.view.feature.historicovehiculo.fragment.HistoricoVehiculoFragment
import es.verdnatura.presentation.view.feature.inventario.fragment.InventaryFragment
import es.verdnatura.presentation.view.feature.main.model.ItemMenuVO
import es.verdnatura.presentation.view.feature.packaging.fragment.ObservFragment
import es.verdnatura.presentation.view.feature.packaging.fragment.PackagingCountFragment
import es.verdnatura.presentation.view.feature.packaging.fragment.PackagingSummaryFragment
import es.verdnatura.presentation.view.feature.packaging.fragment.SupplierFragment
import es.verdnatura.presentation.view.feature.paletizador.fragment.*
import es.verdnatura.presentation.view.feature.paletizador.model.ItemExpeditionTruckVO
import es.verdnatura.presentation.view.feature.paletizador.model.ItemPalletVO
@ -346,8 +350,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
}
getString(R.string.titleControllers) -> {
addFragmentOnTop(ControladorFragment.newInstance())
}
getString(R.string.titleCorridors) -> {
@ -519,10 +521,23 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
addFragmentOnTop(PalletScanFragment.newInstance(item.title, "receive"))
}
getString(R.string.titleScanPalletizar) -> {
addFragmentOnTop(PalletScanFragment.newInstance(item.title, "get"))
}
getString(R.string.titlePackaging) -> {
addFragmentOnTop(SupplierFragment.newInstance(item.title))
}
getString(R.string.titlePackagingCount) -> {
addFragmentOnTop(PackagingCountFragment.newInstance(item.title))
}
getString(R.string.titlePackagingObs) -> {
addFragmentOnTop(ObservFragment.newInstance(item.title))
}
getString(R.string.titlePackagingSummary) -> {
addFragmentOnTop(PackagingSummaryFragment.newInstance(item.title))
}
getString(R.string.testing) -> {
addFragmentOnTop(testPrint.newInstance(item.title))

View File

@ -0,0 +1,59 @@
package es.verdnatura.presentation.view.feature.packaging.adapter
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import es.verdnatura.R
import es.verdnatura.databinding.ItemItemsupplierRowBinding
import es.verdnatura.presentation.common.OnImageTrashClickListener
import es.verdnatura.presentation.common.OnImageUpdateClickListener
import es.verdnatura.presentation.view.feature.packaging.model.ItemSupplier
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
class ItemSupplierAdapter(
private val items: List<ItemSupplier>,
private val onImageUpdateClickListener: OnImageUpdateClickListener,
private val onImageTrashClickListener: OnImageTrashClickListener,
// private val OnGeneralItemRowClickListener: OnGeneralItemRowClickListener,
// private var showDelete: Boolean = false
) : RecyclerView.Adapter<ItemSupplierAdapter.ItemHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemHolder {
return ItemHolder(
ItemItemsupplierRowBinding.inflate(LayoutInflater.from(parent.context), parent, false)
)
}
override fun getItemCount() = items.size
override fun onBindViewHolder(holder: ItemHolder, position: Int) {
holder.bind(items[position])
holder.binding.root.setOnClickListener {
}
}
inner class ItemHolder(
val binding: ItemItemsupplierRowBinding
) : RecyclerView.ViewHolder(binding.root) {
fun bind(item: ItemSupplier) {
binding.apply {
this.item = item
itemImageUpdate.setOnClickListener {
onImageUpdateClickListener.OnImageUpdateClickListener(
item
)
itemImageTrash.setOnClickListener {
onImageTrashClickListener.OnImageUpdateClickListener(item)
}
}
}
}
}
}

View File

@ -0,0 +1,56 @@
package es.verdnatura.presentation.view.feature.packaging.adapter
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.esafirm.imagepicker.model.Image
import es.verdnatura.databinding.ItemImageRowBinding
import es.verdnatura.presentation.common.OnImageTrashClickListener
import es.verdnatura.presentation.common.OnImageUpdateClickListener
class ListImageAdapter(
private val items: List<Image>,
private val onImageUpdateClickListener: OnImageUpdateClickListener,
private val onImageTrashClickListener: OnImageTrashClickListener,
) : RecyclerView.Adapter<ListImageAdapter.ItemHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemHolder {
return ItemHolder(
ItemImageRowBinding.inflate(LayoutInflater.from(parent.context), parent, false)
)
}
override fun getItemCount() = items.size
inner class ItemHolder(
val binding: ItemImageRowBinding
) : RecyclerView.ViewHolder(binding.root) {
fun bind(item: Image) {
binding.apply {
this.item = item
itemImage.setImageURI(item.uri)
itemName.text = item.name
itemImageUpdate.setOnClickListener {
onImageUpdateClickListener.OnImageUpdateClickListener(
item
)
itemImageTrash.setOnClickListener {
onImageTrashClickListener.OnImageUpdateClickListener(item)
}
}
}
}
}
override fun onBindViewHolder(holder: ListImageAdapter.ItemHolder, position: Int) {
holder.bind(items[position])
}
}

View File

@ -0,0 +1,175 @@
package es.verdnatura.presentation.view.feature.packaging.fragment
import android.content.Context
import android.graphics.Color
import android.graphics.drawable.Drawable
import android.os.Build
import android.util.Log.d
import android.view.View
import android.widget.ImageView
import androidx.recyclerview.widget.LinearLayoutManager
import com.esafirm.imagepicker.features.ImagePickerConfig
import com.esafirm.imagepicker.features.registerImagePicker
import com.esafirm.imagepicker.model.Image
import es.verdnatura.R
import es.verdnatura.databinding.FragmentPackagingObsBinding
import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.*
import es.verdnatura.presentation.view.component.CustomDialog
import es.verdnatura.presentation.view.component.CustomDialogList
import es.verdnatura.presentation.view.feature.inventario.fragment.InventaryViewModel
import es.verdnatura.presentation.view.feature.packaging.adapter.ListImageAdapter
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
@Suppress("UNUSED_ANONYMOUS_PARAMETER")
class ObservFragment(
var entryPoint: String = ""
) : BaseFragment<FragmentPackagingObsBinding, InventaryViewModel>(
InventaryViewModel::class
) {
private var adapterListImage: ListImageAdapter? = null
private var listImages: MutableList<Image>? = null
private lateinit var customDialog: CustomDialog
private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null
private var layoutManager: LinearLayoutManager? = null
private lateinit var customDialogList: CustomDialogList
companion object {
fun newInstance(entryPoint: String) = ObservFragment(entryPoint)
}
override fun getLayoutId(): Int = R.layout.fragment_packaging_obs
override fun onAttach(context: Context) {
if (context is OnPasillerosItemClickListener) pasillerosItemClickListener = context
super.onAttach(context)
}
override fun init() {
customDialog = CustomDialog(requireContext())
ma.hideBottomNavigation(View.GONE)
binding.splashProgress.visibility = View.GONE
setToolBar()
setEvents()
super.init()
}
private fun setToolBar() {
binding.mainToolbar.toolbarTitle.text = getData("ENTRYTYPE") + ":" + getData("SUPPLIERNAME")
val listIcons: ArrayList<ImageView> = ArrayList()
val iconNext = ImageView(context)
iconNext.setImageResource(R.drawable.ic_chevron_right_black_24dp)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
iconNext.tooltipText = getString(R.string.nextEntrySummary)
}
listIcons.add(iconNext)
binding.mainToolbar.toolbarIcons.adapter =
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
override fun onOptionsItemSelected(item: Drawable) {
when (item) {
iconNext.drawable -> {
saveData(
"ENTRYNUMBERIMAGES",
if (listImages.isNullOrEmpty()) "0" else {
listImages!!.size.toString()
}
)
saveData("ENTRYOBSERVATIONS",binding.observations.text.toString())
ma.onPasillerosItemClickListener(
PasillerosItemVO(title = getString(R.string.titlePackagingSummary)),
getString(R.string.titlePackagingSummary)
)
}
}
}
})
binding.mainToolbar.toolbarIcons.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
}
private fun setEvents() {
val launcher = registerImagePicker {
for (image in it) {
d("VERDNATURA::", "el nombre es " + image.name)
d("VERDNATURA::", "el nombre es " + image.uri)
//binding.imageView30.setImageURI(image.uri)
}
listImages = it as MutableList<Image>
setAdapter(listImages!!)
}
binding.mainToolbar.backButton.setOnClickListener {
requireActivity().onBackPressed()
}
binding.openPickerImages.setOnClickListener {
val config = ImagePickerConfig {
doneButtonText = "HECHO" // done button text
language = "es" // Set image picker language
arrowColor = Color.WHITE // set toolbar arrow up color
theme = R.style.ToolPickerImage
/* mode = ImagePickerMode.SINGLE // default is multi image mode
language = "in" // Set image picker language
theme = R.style.ImagePickerTheme
// set whether pick action or camera action should return immediate result or not. Only works in single mode for image picker
returnMode = if (returnAfterCapture) ReturnMode.ALL else ReturnMode.NONE
isFolderMode = folderMode // set folder mode (false by default)
isIncludeVideo = includeVideo // include video (false by default)
isOnlyVideo = onlyVideo // include video (false by default)
arrowColor = Color.RED // set toolbar arrow up color
folderTitle = "Folder" // folder selection title
imageTitle = "Tap to select" // image selection title
doneButtonText = "DONE" // done button text
limit = 10 // max images can be selected (99 by default)
isShowCamera = true // show camera or not (true by default)
savePath = ImagePickerSavePath("Camera") // captured image directory name ("Camera" folder by default)
savePath = ImagePickerSavePath(Environment.getExternalStorageDirectory().path, isRelative = false) // can be a full path
excludedImages = images.toFiles() // don't show anything on this selected images
selectedImages = images // original selected images, used in multi mode*/
}
launcher.launch(config)
}
}
override fun observeViewModel() {
with(viewModel) {
}
}
fun setAdapter(list: MutableList<Image>) {
adapterListImage =
ListImageAdapter(list, object : OnImageUpdateClickListener {
override fun OnImageUpdateClickListener(item: Any) {
d("VERDNATURA::", "Seleccionado update" + (item as Image).name)
}
}, object : OnImageTrashClickListener {
override fun OnImageUpdateClickListener(item: Any) {
d("VERDNATURA::", "Seleccionado trash" + (item as Image).name)
list.remove(item)
adapterListImage!!.notifyDataSetChanged()
}
})
binding.listImagesRecycler.adapter = adapterListImage
layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
binding.listImagesRecycler.layoutManager = layoutManager
}
}

View File

@ -0,0 +1,149 @@
package es.verdnatura.presentation.view.feature.packaging.fragment
import android.graphics.drawable.Drawable
import android.os.Build
import android.os.Bundle
import android.util.Log.d
import android.view.View
import android.widget.ImageView
import androidx.recyclerview.widget.LinearLayoutManager
import es.verdnatura.R
import es.verdnatura.databinding.FragmentPackagingCountBinding
import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnImageTrashClickListener
import es.verdnatura.presentation.common.OnImageUpdateClickListener
import es.verdnatura.presentation.common.OnOptionsSelectedListener
import es.verdnatura.presentation.common.ToolBarAdapterTooltip
import es.verdnatura.presentation.view.component.CustomDialog
import es.verdnatura.presentation.view.component.CustomDialogInput
import es.verdnatura.presentation.view.feature.packaging.adapter.ItemSupplierAdapter
import es.verdnatura.presentation.view.feature.packaging.fragment.PackagingViewModel.PackagingViewModel
import es.verdnatura.presentation.view.feature.packaging.model.ItemSupplier
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
@Suppress("UNUSED_ANONYMOUS_PARAMETER")
class PackagingCountFragment(
var entryPoint: String = ""
) : BaseFragment<FragmentPackagingCountBinding, PackagingViewModel>(
PackagingViewModel::class
) {
private var adapteritemsupplier: ItemSupplierAdapter? = null
private lateinit var customDialogInput: CustomDialogInput
private var listItemSupplier: MutableList<ItemSupplier> = ArrayList()
private lateinit var customDialog: CustomDialog
private var layoutManager: LinearLayoutManager? = null
companion object {
fun newInstance(entryPoint: String) = PackagingCountFragment(entryPoint)
}
override fun getLayoutId(): Int = R.layout.fragment_packaging_count
override fun onCreate(savedInstanceState: Bundle?) {
viewModel.supplier_getItems(
usuario = getData(USER),
password = getData(PASSWORD),
getData("SUPPLIERID")
)
super.onCreate(savedInstanceState)
}
override fun init() {
binding.quantityPackaging.setOnClickListener {
ma.onPasillerosItemClickListener(
PasillerosItemVO(title = getString(R.string.titlePackagingObs)),
getString(R.string.titlePackagingObs)
)
}
binding.splashProgress.visibility = View.VISIBLE
customDialogInput = CustomDialogInput(requireContext())
customDialog = CustomDialog(requireContext())
ma.hideBottomNavigation(View.GONE)
setToolBar()
setEvents()
super.init()
}
private fun setToolBar() {
binding.mainToolbar.toolbarTitle.text = getData("ENTRYTYPE") + ":" + getData("SUPPLIERNAME")
val listIcons: ArrayList<ImageView> = ArrayList()
val iconNext = ImageView(context)
iconNext.setImageResource(R.drawable.ic_chevron_right_black_24dp)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
iconNext.tooltipText = getString(R.string.entryNextObsers)
}
listIcons.add(iconNext)
binding.mainToolbar.toolbarIcons.adapter =
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
override fun onOptionsItemSelected(item: Drawable) {
when (item) {
iconNext.drawable -> {
ma.onPasillerosItemClickListener(
PasillerosItemVO(title = getString(R.string.titlePackagingObs)),
getString(R.string.titlePackagingObs)
)
}
}
}
})
binding.mainToolbar.toolbarIcons.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
}
private fun setEvents() {
binding.mainToolbar.backButton.setOnClickListener {
requireActivity().onBackPressed()
}
}
override fun observeViewModel() {
with(viewModel) {
itemSupplierList.observe(viewLifecycleOwner) {
binding.splashProgress.visibility = View.GONE
adapteritemsupplier =
ItemSupplierAdapter(it.list, object : OnImageUpdateClickListener {
override fun OnImageUpdateClickListener(item: Any) {
d("VERDNATURA::", "Seleccionado update" + (item as ItemSupplier).name)
}
}, object : OnImageTrashClickListener {
override fun OnImageUpdateClickListener(item: Any) {
d("VERDNATURA::", "Seleccionado trash" + (item as ItemSupplier).name)
}
})
binding.itemsupplierRecyclerview.adapter = adapteritemsupplier
layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
binding.itemsupplierRecyclerview.layoutManager = layoutManager
}
}
}
}

View File

@ -0,0 +1,281 @@
package es.verdnatura.presentation.view.feature.packaging.fragment
import android.graphics.drawable.Drawable
import android.os.Build
import android.view.View
import android.widget.ImageView
import androidx.core.widget.addTextChangedListener
import androidx.recyclerview.widget.LinearLayoutManager
import es.verdnatura.R
import es.verdnatura.databinding.FragmentPackagingSummaryBinding
import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.*
import es.verdnatura.presentation.view.component.CustomDialog
import es.verdnatura.presentation.view.component.CustomDialogInput
import es.verdnatura.presentation.view.component.CustomDialogList
import es.verdnatura.presentation.view.feature.articulo.adapter.BarcodeAdapter
import es.verdnatura.presentation.view.feature.articulo.model.BarcodeVO
import es.verdnatura.presentation.view.feature.inventario.fragment.InventaryViewModel
import es.verdnatura.presentation.view.feature.inventario.fragment.SearchDepartmentModel
import es.verdnatura.presentation.view.feature.workermistake.adapter.WorkermistakeAdapter
import es.verdnatura.presentation.view.feature.workermistake.model.DepartmentMistake
import es.verdnatura.presentation.view.feature.workermistake.model.MistakeWorkerType
import es.verdnatura.presentation.view.feature.workermistake.model.WorkerFromMistake
import ir.mirrajabi.searchdialog.SimpleSearchDialogCompat
@Suppress("UNUSED_ANONYMOUS_PARAMETER")
class PackagingSummaryFragment(
var entryPoint: String = ""
) : BaseFragment<FragmentPackagingSummaryBinding, InventaryViewModel>(
InventaryViewModel::class
) {
private var adapterworker: WorkermistakeAdapter? = null
private lateinit var customDialogInput: CustomDialogInput
private var listWorker: MutableList<WorkerFromMistake> = ArrayList()
private var listWorkerAuxiliary: MutableList<WorkerFromMistake> = ArrayList()
private lateinit var customDialog: CustomDialog
private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null
private var layoutManager: LinearLayoutManager? = null
private lateinit var customDialogList: CustomDialogList
private var listMistakes: ArrayList<BarcodeVO> = ArrayList()
private var listMistakesAdapter: BarcodeAdapter? = null
private var workerMistakeName: WorkerFromMistake? = null
private val departments = ArrayList<SearchDepartmentModel>()
private lateinit var departmentId: String
companion object {
fun newInstance(entryPoint: String) = PackagingSummaryFragment(entryPoint)
}
override fun getLayoutId(): Int = R.layout.fragment_packaging_summary
override fun init() {
binding.splashProgress.visibility = View.VISIBLE
binding.totalImages.text = getData("ENTRYNUMBERIMAGES")
binding.observations.text=getData("ENTRYOBSERVATIONS")
departmentId = getData(DEPARTMENTMISTAKEID)
customDialogList = CustomDialogList(requireContext())
if (!departmentId.isEmpty()) {
viewModel.worker_getFromHasMistake(
getData(USER),
getData(PASSWORD),
getData(DEPARTMENTMISTAKEID)
)
}
customDialogInput = CustomDialogInput(requireContext())
customDialog = CustomDialog(requireContext())
ma.hideBottomNavigation(View.GONE)
binding.splashProgress.visibility = View.VISIBLE
setToolBar()
setEvents()
super.init()
}
private fun setToolBar() {
binding.mainToolbar.toolbarTitle.text = getData("ENTRYTYPE") + ":" + getData("SUPPLIERNAME")
val listIcons: ArrayList<ImageView> = ArrayList()
val iconConfirm = ImageView(context)
iconConfirm.setImageResource(R.drawable.check)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
iconConfirm.tooltipText = getString(R.string.confirmEntry)
}
listIcons.add(iconConfirm)
binding.mainToolbar.toolbarIcons.adapter =
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
override fun onOptionsItemSelected(item: Drawable) {
when (item) {
iconConfirm.drawable -> {
// TODO()
}
}
}
})
binding.mainToolbar.toolbarIcons.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
}
private fun setEvents() {
binding.mainToolbar.backButton.setOnClickListener {
requireActivity().onBackPressed()
}
}
override fun observeViewModel() {
with(viewModel) {
mistakeDepartmentList.observe(viewLifecycleOwner) {
binding.splashProgress.visibility = View.GONE
createDepartmentList(it.list)
}
workerFromMistakeList.observe(viewLifecycleOwner) {
binding.splashProgress.visibility = View.GONE
createWorkerList(it.list)
adapterworker =
WorkermistakeAdapter(listWorker, object : onMistakeWorkerClickListener {
override fun onMistakeWorkerClickListener(item: WorkerFromMistake) {
viewModel.workerMistakeType_get(
usuario = getData(USER),
password = getData(PASSWORD)
)
workerMistakeName =
WorkerFromMistake(
item.id,
item.firstName,
item.lastName,
true,
""
)
}
})
binding.workermistakeRecyclerview.adapter = adapterworker
layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
binding.workermistakeRecyclerview.layoutManager = layoutManager
}
mistakeWorkerList.observe(viewLifecycleOwner, {
binding.splashProgress.visibility = View.GONE
showMistakeList(it.list)
//goBack = false
})
responseAddMistake.observe(viewLifecycleOwner, {
ma.messageWithSound(
if (it.isError) {
if (it.codeError == 403) {
getString(R.string.userNotPermission)
} else {
it.errorMessage
}
} else {
getString(R.string.errorCauseRegistered)
}, it.isError, true, isToasted = true
)
})
response.observe(viewLifecycleOwner, {
if (it.isError) {
ma.messageWithSound(it.errorMessage, true, false)
}
})
}
}
private fun showMistakeList(list: List<MistakeWorkerType>) {
binding.splashProgress.visibility = View.GONE
listMistakes = ArrayList()
list.forEach {
listMistakes.add(BarcodeVO(code = it.description))
}
customDialogList.setTitle(getString(R.string.errorCause) + workerMistakeName!!.firstName)
.setKoButton(
getString(
R.string.cancel
)
) {
customDialogList.dismiss()
}.hideDialog().show()
listMistakesAdapter =
BarcodeAdapter(listMistakes, object : OnBarcodeRowClickListener {
override fun onBarcodeRowClickListener(item: BarcodeVO) {
list.forEach {
if (it.description == item.code) {
viewModel.workerMistake_Add(
usuario = getData(USER),
password = getData(PASSWORD),
vUserFk = workerMistakeName!!.id,
vTypeFk = it.code
)
// getString(R.string.errorRegistered).toast(requireContext())
customDialogList.dismiss()
}
}
}
}, showDelete = false)
customDialogList.getRecyclerView().adapter = listMistakesAdapter
customDialogList.getRecyclerView().layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
}
private fun createDepartmentList(list: List<DepartmentMistake>) {
departments.clear()
list.forEach { department ->
if (!department.isError) {
try {
departments.add(SearchDepartmentModel(department.name, department.id))
} catch (e: Exception) {
}
}
}
}
private fun createWorkerList(list: List<WorkerFromMistake>) {
listWorker.clear()
list.forEach { worker ->
if (!worker.isError) {
try {
listWorker.add(worker)
} catch (e: Exception) {
}
}
}
listWorker.add(WorkerFromMistake("0", "Añadir nuevo", "", false))
listWorkerAuxiliary.clear()
listWorkerAuxiliary.addAll(listWorker)
listWorkerAuxiliary.add(WorkerFromMistake("0", "Añadir nuevo", "", false))
}
}

View File

@ -0,0 +1,155 @@
package es.verdnatura.presentation.view.feature.packaging.fragment.PackagingViewModel
import android.content.Context
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import es.verdnatura.domain.GetInventaryUserCase
import es.verdnatura.domain.GetPackagingUserCase
import es.verdnatura.presentation.base.BaseViewModel
import es.verdnatura.presentation.base.getMessageFromAllResponse
import es.verdnatura.presentation.base.nameofFunction
import es.verdnatura.presentation.common.ResponseItemVO
import es.verdnatura.presentation.view.feature.inventario.model.InventaryListVO
import es.verdnatura.presentation.view.feature.packaging.model.*
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
class PackagingViewModel(context: Context) : BaseViewModel() {
private val getInventaryUserCase: GetInventaryUserCase = GetInventaryUserCase(context)
private val getPackagingUserCase: GetPackagingUserCase = GetPackagingUserCase(context)
private val _inventaryList by lazy { MutableLiveData<InventaryListVO>() }
val inventaryList: LiveData<InventaryListVO>
get() = _inventaryList
private val _itemSupplierList by lazy { MutableLiveData<itemSupplierList>() }
val itemSupplierList: LiveData<itemSupplierList>
get() = _itemSupplierList
private val _supplierList by lazy { MutableLiveData<SupplierList>() }
val supplierList: LiveData<SupplierList>
get() = _supplierList
private val _entry by lazy { MutableLiveData<EntrySalix>() }
val entry: LiveData<EntrySalix>
get() = _entry
private val _response by lazy { MutableLiveData<ResponseItemVO>() }
val response: LiveData<ResponseItemVO>
get() = _response
fun getSuppliers(token: String) {
getPackagingUserCase.getSuppliers(token)
.enqueue(object :
Callback<List<Supplier>> {
override fun onFailure(call: Call<List<Supplier>>, t: Throwable) {
val listError: ArrayList<Supplier> = ArrayList()
listError.add(
Supplier(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
)
)
)
_supplierList.value = SupplierList(listError)
}
override fun onResponse(
call: Call<List<Supplier>>,
response: Response<List<Supplier>>
) {
if (response.body() != null) {
_supplierList.value = response.body()?.let { SupplierList(it) }
} else {
val listError: ArrayList<Supplier> = ArrayList()
listError.add(
Supplier(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
)
)
)
_supplierList.value = SupplierList(listError)
}
}
})
}
fun supplier_getItems(usuario: String, password: String, supplierFk: String) {
getPackagingUserCase.supplier_getItems(usuario, password, supplierFk)
.enqueue(object : Callback<List<ItemSupplier>> {
override fun onFailure(call: Call<List<ItemSupplier>>, t: Throwable) {
val listError: ArrayList<ItemSupplier> = ArrayList()
listError.add(
ItemSupplier(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
)
)
)
_itemSupplierList.value = itemSupplierList(listError)
}
override fun onResponse(
call: Call<List<ItemSupplier>>,
response: Response<List<ItemSupplier>>
) {
if (response.body() != null) {
_itemSupplierList.value =
response.body()?.let { itemSupplierList(it) }
} else {
val listError: ArrayList<ItemSupplier> = ArrayList()
listError.add(ItemSupplier(null, null))
_itemSupplierList.value = itemSupplierList(listError)
}
}
})
}
fun entry_addSalix(token: String, entry: EntrySalix) {
getPackagingUserCase.Entries(token, entry = entry)
.enqueue(object :
Callback<EntrySalix> {
override fun onFailure(call: Call<EntrySalix>, t: Throwable) {
_entry.value = EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
t.message!!
)
)
}
override fun onResponse(
call: Call<EntrySalix>,
response: Response<EntrySalix>
) {
if (response.body() != null) {
_entry.value = response.body()
} else {
_entry.value = EntrySalix(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
)
)
}
}
})
}
}

View File

@ -0,0 +1,153 @@
package es.verdnatura.presentation.view.feature.packaging.fragment
import android.content.Context
import android.os.Bundle
import android.util.Log.d
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import es.verdnatura.R
import es.verdnatura.databinding.FragmentPackagingBinding
import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnPasillerosItemClickListener
import es.verdnatura.presentation.view.feature.inventario.fragment.SearchSupplierModel
import es.verdnatura.presentation.view.feature.packaging.fragment.PackagingViewModel.PackagingViewModel
import es.verdnatura.presentation.view.feature.packaging.model.EntrySalix
import es.verdnatura.presentation.view.feature.packaging.model.Supplier
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
import ir.mirrajabi.searchdialog.SimpleSearchDialogCompat
@Suppress("UNUSED_ANONYMOUS_PARAMETER")
class SupplierFragment(
var entryPoint: String = ""
) : BaseFragment<FragmentPackagingBinding, PackagingViewModel>(
PackagingViewModel::class
) {
private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null
private var layoutManager: LinearLayoutManager? = null
private var onBack = false
private val suppliers = ArrayList<SearchSupplierModel>()
companion object {
fun newInstance(entryPoint: String) = SupplierFragment(entryPoint)
}
override fun getLayoutId(): Int = R.layout.fragment_packaging
override fun onAttach(context: Context) {
if (context is OnPasillerosItemClickListener) pasillerosItemClickListener = context
super.onAttach(context)
}
override fun onCreate(savedInstanceState: Bundle?) {
viewModel.getSuppliers(
getData(TOKEN),
)
super.onCreate(savedInstanceState)
}
override fun onPause() {
onBack = true
super.onPause()
}
override fun init() {
binding.splashProgress.visibility = View.VISIBLE
binding.filterSupplier.setOnClickListener {
SimpleSearchDialogCompat(
context,
getString(R.string.suppliers),
getString(R.string.escribirparteNombre),
null,
suppliers
) { baseSearchDialogCompat, nombre, position ->
binding.filterSupplier.setText((nombre.getName()))
binding.radiobuttonTypePackaging.visibility = View.VISIBLE
saveData("SUPPLIERNAME", nombre.getName())
saveData("SUPPLIERID", nombre.getId())
baseSearchDialogCompat.dismiss()
}.show()
}
ma.hideBottomNavigation(View.GONE)
setToolBar()
setEvents()
var entrada = EntrySalix(supplierFk = "591", travelFk = "186025", companyFk = "442")
viewModel.entry_addSalix(getData(TOKEN), entrada)
super.init()
}
private fun setToolBar() {
binding.mainToolbar.toolbarTitle.text = entryPoint
}
private fun setEvents() {
binding.mainToolbar.backButton.setOnClickListener {
requireActivity().onBackPressed()
}
binding.radiobuttonTypePackaging.setOnCheckedChangeListener { buttonView, isChecked ->
when (isChecked) {
R.id.radioButtonRec -> {
saveData("ENTRYTYPE", "Rec")
}
R.id.radioButtonDev -> {
d("VERDNATURA::", "dev")
saveData("ENTRYTYPE", "Dev")
}
}
if (!onBack) {
ma.onPasillerosItemClickListener(
PasillerosItemVO(title = getString(R.string.titlePackagingCount)),
getString(R.string.titlePackagingCount)
)
}
onBack = false
}
}
override fun observeViewModel() {
with(viewModel) {
supplierList.observe(viewLifecycleOwner) {
binding.splashProgress.visibility = View.GONE
createSupplierList(it.list)
}
response.observe(viewLifecycleOwner) {
if (it.isError) {
ma.messageWithSound(it.errorMessage, true, false)
}
}
}
}
private fun createSupplierList(list: List<Supplier>) {
suppliers.clear()
list.forEach { supplier ->
if (!supplier.isError) {
try {
suppliers.add(SearchSupplierModel(supplier.name, supplier.id.toString()))
} catch (e: Exception) {
}
}
}
}
}

View File

@ -0,0 +1,10 @@
package es.verdnatura.presentation.view.feature.packaging.model
class EntrySalix(
var id: String? = null,
var supplierFk: String? = null,
var travelFk: String? = null,
var companyFk: String? = null,
var isError: Boolean? = null,
var errorMessage: String? = null
)

View File

@ -0,0 +1,31 @@
package es.verdnatura.presentation.view.feature.packaging.model
import com.esafirm.imagepicker.model.Image
data class Supplier(
var id: Int? = null,
var name: String? = null,
var isError: Boolean = false,
var errorMessage: String? = null
)
class SupplierList(
var list: List<Supplier> = listOf()
)
class itemSupplierList(
var list: List<ItemSupplier> = listOf()
)
data class ItemSupplier(
var id: Int? = null,
var name: String? = null,
var quantity: Int? = 0,
var subquantity: Int? = 0,
var isError: Boolean = false,
var errorMessage: String? = null
)

View File

@ -1,6 +1,5 @@
package es.verdnatura.presentation.view.feature.paletizador.fragment
import android.util.Log.d
import android.view.View
import android.view.inputmethod.EditorInfo
import es.verdnatura.R
@ -19,8 +18,8 @@ class CmrExpeditionPalletFragment(
override fun getLayoutId(): Int = R.layout.fragment_expeditionscan_sorter
private lateinit var customDialogList: CustomDialogInputTwoValues
private var itemScaned: String = ""
private lateinit var dataScanned: itemScanned
private lateinit var dataScannedTwo: itemScanned
private var dataScanned: itemScanned? = null
private var dataScannedTwo: itemScanned? = null
companion object {
fun newInstance(title: String) = CmrExpeditionPalletFragment(title)
@ -41,7 +40,7 @@ class CmrExpeditionPalletFragment(
binding.mainToolbar.toolbarTitle.text = title
}
private fun cmrExpeditionPallet_add(vExpeditionPallet: String, vCmrId: String) {
private fun cmrExpeditionPallet_add(vExpeditionPallet: String?, vCmrId: String?) {
customDialogList.dismiss()
binding.splashProgress.visibility = View.VISIBLE
@ -73,15 +72,19 @@ class CmrExpeditionPalletFragment(
ma.messageWithSound(
getString(R.string.cmrError) + it.errorMessage,
true,
true,
isError = true,
isPlayed = true,
isToasted = true
)
showExpeditionPalletScan()
} else {
binding.splashProgress.visibility = View.GONE
ma.messageWithSound(getString(R.string.operationSuccess), false, true)
ma.messageWithSound(
getString(R.string.operationSuccess),
isError = false,
isPlayed = true
)
showExpeditionPalletScan()
}
@ -92,215 +95,153 @@ class CmrExpeditionPalletFragment(
}
private fun showExpeditionPalletScan() {
customDialogList.setHint(true)
customDialogList.setValue("")
customDialogList.setValueTwo("")
customDialogList.setInfoTex("")
customDialogList.setInfoTextTwo("")
customDialogList.setInfoTex(getString(R.string.expeditionPalletOrCMR))
customDialogList.setTitle(getString(R.string.expeditionPalletCMR))
.setOkButton(getString(R.string.end)) {
customDialogList.setInfoTex("Código QR o PALLET")
customDialogList.setInfoTextTwo("Código QR o CMR")
customDialogList.setTitle("Escanea los valores : ")
customDialogList.setHint(false)
customDialogList.setOkButton(getString(R.string.end)) {
ma.hideKeyboard(customDialogList.getEditText())
customDialogList.dismiss()
binding.mainToolbar.backButton.performClick()
}.setValue("").show()
customDialogList.setFocusText()
ma.hideKeyboard(customDialogList.getEditText())
customDialogList.getEditText().setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5 || actionId == 6) {
// var action = true
if (customDialogList.getValue().isNotEmpty()) {
dataScanned = itemScan(customDialogList.getValue())
d("VERDNATURA::","tabla v1 es "+dataScanned.table)
when (itemScaned(customDialogList.getValue())) {
"cmr" -> {
customDialogList.setInfoTex(getString(R.string.cmr))
customDialogList.setInfoTextTwo(getString(R.string.pallet))
customDialogList.setValue(dataScanned.id)
}
"expeditionPallet" -> {
customDialogList.setInfoTex(getString(R.string.pallet))
customDialogList.setInfoTextTwo(getString(R.string.cmr))
//customDialogList.setInputTextVisibility(View.GONE)
customDialogList.setValue(dataScanned.id)
}
else ->
customDialogList.setValue("No ha escaneado ni pallet ni CMR")
if (dataScanned == null) {
// action = false
/*ma.messageWithSound(
getString(R.string.errorPalletCmrNotScanned),
isError = true,
isPlayed = true,
titleWithError = getString(R.string.warning),
isToasted = true
)
customDialogList.setValue("")*/
} else {
// action = false
customDialogList.setValue(dataScanned!!.id!!)
customDialogList.setHint(true)
if (dataScanned!!.table == "cmr") {
customDialogList.setInfoTextTwo(getString(R.string.scanLabelPallet))
} else {
customDialogList.setInfoTextTwo(getString(R.string.scanLabelCMR))
}
customDialogList.setHint(false)
}
customDialogList.setFocusTextTwo()
}
return@setOnEditorActionListener false
}
false
}
customDialogList.getEditTextTwo().setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5 || actionId == 6) {
if (customDialogList.getValue().isNotEmpty() && customDialogList.getValueTwo()
if (customDialogList.getValueTwo().isNotEmpty() && customDialogList.getValue()
.isNotEmpty()
) {
dataScannedTwo = itemScan(customDialogList.getValueTwo())
d("VERDNATURA::","tabla v1 es "+dataScanned.table)
d("VERDNATURA::","tabla v2 es "+itemScaned(customDialogList.getValueTwo()))
// customDialogList.setValueTwo(itemScanedValue(customDialogList.getValueTwo()))
when (itemScaned(customDialogList.getValueTwo())){
"cmr" -> {
if (dataScanned.table == "cmr"){
ma.messageWithSound(
"Escanea pallet",
true,
true,
isToasted = true
)
customDialogList.setValueTwo("")
}
if (dataScanned.table == "expeditionPallet"){
cmrExpeditionPallet_add(
dataScanned.id,
dataScannedTwo.id)
}
customDialogList.setValueTwo(dataScannedTwo.id)
}
"expeditionPallet"->{
/* d("VERDNATURA::","tabla v1 es "+dataScanned.table)
d("VERDNATURA::","tabla v2 es "+itemScaned(customDialogList.getValueTwo()))*/
if (dataScanned.table == "cmr"){
cmrExpeditionPallet_add(
dataScannedTwo.id,
dataScanned.id)
customDialogList.setValueTwo(dataScannedTwo.id)
}
if (dataScanned.table == "expeditionPallet"){
ma.messageWithSound(
"Escanea CMR",
true,
true,
isToasted = true
)
customDialogList.setValueTwo("")
}
}
}
// ma.hideKeyboard(customDialogList.getEditText())
/* dataScannedTwo = itemScan(customDialogList.getValueTwo())
d("VERDNATURA::","el valor es " + dataScannedTwo.id + "y tabla " + dataScannedTwo.table)
*/
/* when (itemScaned(customDialogList.getValueTwo())) {
"cmr" -> {
customDialogList.setValueTwo(dataScanned.id)
*//* if (dataScanned.table == "cmr") {
ma.messageWithSound(
getString(R.string.palletScanError),
true,
true,
isToasted = true
)
}*//*
}
*//* "expeditionPallet" -> {
if (dataScanned.table == "expeditionPallet") {
ma.messageWithSound(
getString(R.string.errorCmrNotScanned),
true,
true,
isToasted = true
)
}
if (dataScanned.table == "cmr") {
cmrExpeditionPallet_add(
itemScanedValue(customDialogList.getValueTwo()),
itemScanedValue(customDialogList.getValue()),
)
}
}*//*
else ->
customDialogList.setValueTwo("No ha escanado ni pallet ni CMR")
}*/
// customDialogList.setFocusTextTwo()
/* if (itemScaned(customDialogList.getValueTwo())) {
itemScaned = dataScanned.value
customDialogList.setValueTwo("")
if (dataScannedTwo == null) {
cmrExpeditionPallet_add(
customDialogList.getValue(),
itemScaned
)
} else {
customDialogList.setValueTwo("")
ma.messageWithSound(
getString(R.string.errorCmrNotScanned),
true,
true,
isToasted = true
customDialogList.getValueTwo()
)
/* var messageLabel = ""
when (dataScanned!!.table) {
"cmr" -> {
messageLabel = "CMR"
}
"expeditionPallet" -> {
messageLabel = "Pallet"
}
}
*/
ma.messageWithSound(
String.format(
getString(R.string.labelPalletOrCmrNotValid),
messageLabel
),
isError = true,
isPlayed = true,
titleWithError = getString(R.string.warning),
isToasted = true
)
customDialogList.setValueTwo("")*/
} else {
if (dataScanned != null) {
if (dataScanned!!.table == dataScannedTwo!!.table) {
ma.messageWithSound(
getString(R.string.errorSameType),
isError = true,
isPlayed = true,
titleWithError = "Aviso",
isToasted = true
)
customDialogList.setValueTwo("")
} else {
customDialogList.setValueTwo(dataScanned!!.id!!)
cmrExpeditionPallet_add(
if (dataScannedTwo!!.table == "cmr") {
dataScanned!!.id
} else {
dataScannedTwo!!.id
},
if (dataScannedTwo!!.table == "cmr") {
dataScannedTwo!!.id
} else {
dataScanned!!.id
}
)
}
} else {
cmrExpeditionPallet_add(
customDialogList.getValue(),
dataScannedTwo!!.id
)
}
}
}
}
return@setOnEditorActionListener true
}
false
}
}
private fun itemScanedValue(valueTwo: String): String {
}
private fun itemScan(value: String): itemScanned? {
return try {
return itemScanned(JSONObject(valueTwo)).id
val valueScanned = itemScanned(JSONObject(value))
if (valueScanned.table == "cmr" || valueScanned.table == "expeditionPallet") {
valueScanned
} else {
null
}
} catch (Ex: Exception) {
return valueTwo
return null
}
}
private fun itemScan(value: String): itemScanned {
return try {
itemScanned(JSONObject(value))
} catch (Ex: Exception) {
return itemScan("")
}
}
private fun itemScaned(valueTwo: String): String {
try {
return itemScanned(JSONObject(valueTwo)).table
} catch (Ex: Exception) {
d("VERDNATURA::", "EL VALUE ES " + Ex.message.toString())
return ""
}
}
}

View File

@ -23,7 +23,7 @@ import retrofit2.Response
get() = _responsescan
fun cmrExpeditionPallet_add(usuario: String, password: String, vExpeditionPallet: String,vCmrId:String) {
fun cmrExpeditionPallet_add(usuario: String, password: String, vExpeditionPallet: String?,vCmrId:String?) {
GetPaletizadoresUserCase.cmrExpeditionPallet_add(usuario, password, vExpeditionPallet, vCmrId)
.enqueue(object : Callback<Void> {
override fun onFailure(call: Call<Void>, t: Throwable) {

View File

@ -1,13 +1,16 @@
package es.verdnatura.presentation.view.feature.paletizador.fragment
import android.util.Log
import android.view.View
import android.view.inputmethod.EditorInfo
import androidx.core.view.isVisible
import es.verdnatura.R
import es.verdnatura.databinding.FragmentGeneralBlackBinding
import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.itemScanned
import es.verdnatura.presentation.view.component.CustomDialogInput
import es.verdnatura.presentation.view.feature.paletizador.model.ItemPalletVO
import org.json.JSONObject
class PalletScanFragment(
var title: String = "", var action: String
@ -59,10 +62,20 @@ class PalletScanFragment(
binding.splashProgress.visibility = View.VISIBLE
customDialogList.dismiss()
var valueScanned:String
try {
valueScanned = itemScanned(JSONObject(vPalletId)).id.toString()
Log.d("VERDNATURA::", "el valor es " + valueScanned)
}
catch(ex:Exception){
valueScanned=vPalletId
Log.d("VERDNATURA::", "ex " + ex.message)
}
itemScaned=valueScanned
viewModel.expeditionPallet_get(
getData(USER),
getData(PASSWORD),
vPalletId,
valueScanned,
)
}

View File

@ -80,6 +80,10 @@ class ParkingFragment (var menuOrigin:String): BaseFragment<FragmentParkingBindi
//viewModel.hideProgressLoading()
mpok?.start()
setList()
//Tarea #4711 Jordi parking canviat
requireActivity().onBackPressed()
}
}
})

View File

@ -312,7 +312,7 @@ class PasilleroViewModel(context: Context) : BaseViewModel() {
)
)
/* //Tarea #3986
//Tarea #3986
_pasillerositem.add(
PasillerosItemVO(
31,
@ -321,7 +321,7 @@ class PasilleroViewModel(context: Context) : BaseViewModel() {
R.string.titleCMRState,
contextApp.getString(R.string.titleCMRDescrip)
)
)*/
)
_pasillerositem.add(
PasillerosItemVO(
40,
@ -499,8 +499,18 @@ class PasilleroViewModel(context: Context) : BaseViewModel() {
)
val working_in_test=false
//#tarea4021
/* _pasillerositem.add(
PasillerosItemVO(
6,
R.drawable.ic_packaging,
contextApp.getString(R.string.titlePackaging),
R.string.titlePackaging,
contextApp.getString(R.string.titlePackagingDescrip)
)
)*/
val working_in_test=false
if (working_in_test){
_pasillerositem.add(
PasillerosItemVO(

View File

@ -840,8 +840,7 @@ class EndSacadorFragment(
viewModel.itemShelving_updateFromSale(
usuario = getData(USER),
password = getData(PASSWORD),
saleFk = sales[position].idMovimiento,
visible = sales[position].quantity.toString()
saleFk = sales[position].idMovimiento
)
positionUnmarked = position
//sergio: anterior previa

View File

@ -865,14 +865,12 @@ class PreSacadorViewModel(context: Context) : BaseViewModel() {
fun itemShelving_updateFromSale(
usuario: String,
password: String,
saleFk: String,
visible: String
saleFk: String
) {
getSacadorControladorUserCase.itemShelving_updateFromSale(
usuario,
password,
saleFk,
visible
saleFk
)
.enqueue(object : Callback<Unit> {
override fun onFailure(call: Call<Unit>, t: Throwable) {

View File

@ -1,7 +1,8 @@
package es.verdnatura.presentation.view.feature.ubicador.adapter
import android.annotation.SuppressLint
import android.provider.Settings.Global.getString
import android.graphics.Color.GREEN
import android.graphics.Color.RED
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.core.content.ContextCompat
@ -39,6 +40,7 @@ class UbicadorAdapter (
val binding: ItemUbicationRowBinding
) : RecyclerView.ViewHolder(binding.root) {
private val res = binding.root.context.resources
@SuppressLint("SetTextI18n")
fun bind(item: ItemUbicadorVO) {
binding.apply {
@ -46,8 +48,13 @@ class UbicadorAdapter (
multiText.text = "${item.stickers}x${item.packing}"
imgItem.loadUrl("https://verdnatura.es/vn-image-data/catalog/200x200/" + item.item)
imgItem.setOnClickListener {
onPasillerosItemClickListener.onPasillerosItemClickListener(PasillerosItemVO(title = res.getString(
R.string.itemSearch)),item.item)
onPasillerosItemClickListener.onPasillerosItemClickListener(
PasillerosItemVO(
title = res.getString(
R.string.itemSearch
)
), item.item
)
}
layerVisible.setOnClickListener {
@ -55,17 +62,45 @@ class UbicadorAdapter (
}
if (item.visible == "0") {
visibleText.setTextColor(ContextCompat.getColor(visibleText.context,R.color.verdnatura_brown_grey))
visibleText.setTextColor(
ContextCompat.getColor(
visibleText.context,
R.color.verdnatura_brown_grey
)
)
} else {
visibleText.setTextColor(ContextCompat.getColor(visibleText.context,R.color.verdnatura_pumpkin_orange))
visibleText.setTextColor(
ContextCompat.getColor(
visibleText.context,
R.color.verdnatura_pumpkin_orange
)
)
}
moreImg.setOnClickListener {
onMoreClickListener.onMoreClickListener(item)
}
namelayout.setOnClickListener {
onPasillerosItemClickListener.onPasillerosItemClickListener(PasillerosItemVO(title = res.getString(R.string.itemSearch)),item.item)
onPasillerosItemClickListener.onPasillerosItemClickListener(
PasillerosItemVO(
title = res.getString(R.string.itemSearch)
), item.item
)
}
if (item.checked) {
itemRowLayout.setBackgroundColor(
ContextCompat.getColor(
visibleText.context,
R.color.verdnatura_dark_green_verdnatura
)
)
}
if (item.isNew){
itemRowLayout.setBackgroundColor(
RED
)
}
}

View File

@ -6,11 +6,12 @@ import android.graphics.drawable.Drawable
import android.media.MediaPlayer
import android.os.Build
import android.os.Bundle
import android.util.Log.d
import android.view.View
import android.view.View.VISIBLE
import android.view.inputmethod.EditorInfo
import android.widget.ImageView
import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import es.verdnatura.R
@ -41,12 +42,14 @@ class UbicadorFragment(
private lateinit var customDialogUbicador: CustomDialogUbicador
private lateinit var customDialogTwoButtons: CustomDialogTwoButtons
private var listItems: ArrayList<ItemUbicadorVO> = ArrayList()
private var listLocalItems: ArrayList<ItemUbicadorVO> = ArrayList()
private lateinit var customDialog: CustomDialog
private var deep: Int = 1
private var parking: String = ""
private var etiquetas: String = "0"
private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null
private var isShelvinLogfromMainScreen = false
private var modeCheckUbication = false
var mperror: MediaPlayer? = null
var mpok: MediaPlayer? = null
@ -62,6 +65,7 @@ class UbicadorFragment(
super.onAttach(context)
}
@RequiresApi(Build.VERSION_CODES.O)
override fun init() {
customDialogInput = CustomDialogInput(requireContext())
@ -75,7 +79,7 @@ class UbicadorFragment(
setToolBar()
if (!shelvingFk.isNullOrEmpty()) {
isShelvinLogfromMainScreen = false
binding.splashProgress.visibility = View.VISIBLE
binding.splashProgress.visibility = VISIBLE
binding.mainToolbar.toolbarTitle.text = shelvingFk
viewModel.itemShelvingList(getData(USER), getData(PASSWORD), shelvingFk)
@ -92,6 +96,7 @@ class UbicadorFragment(
super.onCreate(savedInstanceState)
}
@RequiresApi(Build.VERSION_CODES.O)
private fun setToolBar() {
val listIcons: ArrayList<ImageView> = ArrayList()
@ -100,12 +105,34 @@ class UbicadorFragment(
val iconReload = ImageView(context)
iconReload.setImageResource(R.drawable.ic_autorenew_black_24dp)
binding.mainToolbar.switchButton.visibility = VISIBLE
binding.mainToolbar.switchButton.setOnCheckedChangeListener { buttonView, isChecked ->
modeCheckUbication = isChecked
binding.mainToolbar.switchButton.tooltipText = if (isChecked)
getString(R.string.activateModoChecking) else
getString(R.string.allowCheckingMode)
binding.textinputlayoutMatricula.hint =
if (isChecked) getString(R.string.scanItem) else {
getString(R.string.scanPlate)
}
if (!isChecked) {
listLocalItems.clear()
}
}
val iconChecker = ImageView(context)
iconChecker.setImageResource(R.drawable.ic_controller_ui)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
iconReload.tooltipText = getTooltip(R.drawable.ic_autorenew_black_24dp)
iconAdd.tooltipText = getString(R.string.addItemShelving)
}
listIcons.add(iconAdd)
listIcons.add(iconReload)
binding.mainToolbar.toolbarIcons.adapter =
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
override fun onOptionsItemSelected(item: Drawable) {
@ -113,7 +140,7 @@ class UbicadorFragment(
when (item) {
iconAdd.drawable -> showAddItem("", "", "", "", false, ItemUbicadorVO(), "")
iconReload.drawable -> {
binding.splashProgress.visibility = View.VISIBLE
binding.splashProgress.visibility = VISIBLE
viewModel.itemShelvingList(
getData(USER),
getData(PASSWORD),
@ -121,12 +148,7 @@ class UbicadorFragment(
)
}
}
/*if (item == iconAdd){
showAddItem("","","","",false,ItemUbicadorVO(),"")
}else if(item == iconReload){
binding.splashProgress.visibility = View.VISIBLE
viewModel.itemShelvingList(user,password,shelvingFk,"itemShelvingList")
}*/
}
})
@ -145,17 +167,28 @@ class UbicadorFragment(
binding.editMatricula.setOnEditorActionListener { v, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
if (!binding.editMatricula.text.toString().isNullOrEmpty()) {
binding.mainToolbar.toolbarTitle.text = binding.editMatricula.text.toString()
shelvingFk = binding.editMatricula.text.toString()
binding.splashProgress.visibility = View.VISIBLE
if (!modeCheckUbication) {
binding.mainToolbar.toolbarTitle.text =
binding.editMatricula.text.toString()
shelvingFk = binding.editMatricula.text.toString()
binding.splashProgress.visibility = VISIBLE
viewModel.itemShelvingList(
getData(USER),
getData(PASSWORD),
binding.editMatricula.text.toString()
)
}
} else {
binding.splashProgress.visibility = VISIBLE
viewModel.getIdFromCode(
usuario = getData(USER),
password = getData(PASSWORD),
code = binding.editMatricula.text.toString()
)
}
}
binding.editMatricula.setText("")
ma.hideKeyboard(binding.editMatricula)
return@setOnEditorActionListener true
@ -315,6 +348,43 @@ class UbicadorFragment(
}
private fun checkUbications(itemScanned: String) {
for (item in listItems) {
if (item.item == itemScanned) {
item.checked = true
ma.messageWithSound("", false, true, "", false)
}
}
if (listItems.filter { it.item == itemScanned }.isEmpty()) {
binding.splashProgress.visibility = View.GONE
listItems.add(
ItemUbicadorVO(
item = itemScanned,
visible = "0",
packing = "0",
grouping = "0",
isNew = true
)
)
listLocalItems = listItems.clone() as ArrayList<ItemUbicadorVO>
viewModel.itemShelvingMake(
getData(USER),
getData(PASSWORD),
shelving = shelvingFk,
item = itemScanned,
quantity = "0",
packing = null,
warehouse = getData(WAREHOUSEFK),
grouping = null
)
}
adapter!!.notifyDataSetChanged()
}
private fun setTooltips() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
binding.editImg.tooltipText = getTooltip(R.drawable.ic_mode_edit_black_24dp)
@ -333,6 +403,7 @@ class UbicadorFragment(
with(viewModel) {
loadShelvingList.observe(viewLifecycleOwner, Observer { event ->
event.getContentIfNotHandled().notNull {
deep = it.list.size
listItems = ArrayList()
var contEtiquetas = 0
@ -343,7 +414,10 @@ class UbicadorFragment(
}
parking = item.code.uppercase()
listItems.add(item)
}
etiquetas = contEtiquetas.toString()
binding.mainToolbar.toolbarTitle.text =
@ -354,13 +428,29 @@ class UbicadorFragment(
binding.editPrioridad.setText(it.list[0].priority)
binding.splashProgress.visibility = View.GONE
//sergio: para mostrar CustomDialogUbicator, ubicador con grouping
adapter = UbicadorAdapter(listItems,
for (item in listItems) {
for (localItem in listLocalItems) {
if (item.item == localItem.item) {
item.isNew = localItem.isNew
item.checked = localItem.checked
if (item.isNew && item.visible != "0") {
item.isNew = false
item.checked = true
}
binding.locationRecyclerview.postInvalidate()
}
}
}
adapter = UbicadorAdapter(
listItems,
onPasillerosItemClickListener = pasillerosItemClickListener!!,
onVisibleClickListener = object : OnVisibleClickListener {
override fun onVisibleClickListener(item: ItemUbicadorVO) {
// if (item.grouping.isNullOrEmpty()){item.grouping=""}
showAddItem(
item.item,
item.packing,
@ -406,7 +496,16 @@ class UbicadorFragment(
}
})
responseCode.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility = View.GONE
if (it.isError) {
ma.messageWithSound(it.errorMessage, true, true)
} else {
checkUbications(it.response)
}
})
responsepriority.observe(viewLifecycleOwner, Observer {
ma.messageWithSound(
@ -419,12 +518,14 @@ class UbicadorFragment(
responseMake.observe(viewLifecycleOwner, Observer {
if (!shelvingFk.isNullOrEmpty()) {
binding.splashProgress.visibility = View.VISIBLE
binding.mainToolbar.toolbarTitle.text = shelvingFk
binding.splashProgress.visibility = VISIBLE
viewModel.itemShelvingList(
getData(USER),
getData(PASSWORD), shelvingFk
)
}
})
}
@ -519,17 +620,15 @@ class UbicadorFragment(
if (updatePacking == null) {
if (!itemFk.isNullOrEmpty() && !visible.isNullOrEmpty()) {
binding.splashProgress.visibility = View.VISIBLE
binding.splashProgress.visibility = VISIBLE
viewModel.itemShelvingMake(
getData(USER),
getData(PASSWORD),
shelvingFk,
itemFk,
deep.toString(),
visible,
packing,
getData(WAREHOUSEFK),
"1",
groupingPack
)
/*changeOfflineValue(
@ -547,17 +646,15 @@ class UbicadorFragment(
} else if (!itemFk.isNullOrEmpty() && !etiquetas.isNullOrEmpty()) {
val visible_calc = (etiquetas.toInt() * packing.toInt()).toString()
binding.splashProgress.visibility = View.VISIBLE
binding.splashProgress.visibility = VISIBLE
viewModel.itemShelvingMake(
getData(USER),
getData(PASSWORD),
shelvingFk,
itemFk,
deep.toString(),
visible_calc,
packing,
getData(WAREHOUSEFK),
"1",
groupingPack
)
/*changeOfflineValue(
@ -582,7 +679,7 @@ class UbicadorFragment(
}
} else {
if (!itemFk.isNullOrEmpty() && !visible.isNullOrEmpty() && !updatePacking) {
binding.splashProgress.visibility = View.VISIBLE
binding.splashProgress.visibility = VISIBLE
viewModel.itemShelvingMakeEdit(
getData(USER),
getData(PASSWORD),
@ -615,7 +712,7 @@ class UbicadorFragment(
visible_calc = (etiquetas.toInt() * packing.toInt()).toString()
} catch (e: Exception) {
}
binding.splashProgress.visibility = View.VISIBLE
binding.splashProgress.visibility = VISIBLE
viewModel.itemShelvingMakeEdit(
getData(USER),
getData(PASSWORD),
@ -659,35 +756,6 @@ class UbicadorFragment(
}
}
/* private fun editItem(itemFk:String,etiquetas:String,packing:String,visible:String){
if (!packing.isNullOrEmpty()){
if (!itemFk.isNullOrEmpty() && !visible.isNullOrEmpty()){
viewModel.itemShelvingMake(user,password,shelvingFk,itemFk,deep.toString(),visible,packing,warehouseFk,"1","itemShelvingMake")
changeOfflineValue(ItemUbicadorVO(item = itemFk,visible = visible,packing = packing))
customDialogUbicador.setItemValue("").setPackingValue("").setEtiquetaValue("").setVisibleValue("")
customDialogUbicador.getEditItem().requestFocus()
ma.hideKeyboard(customDialogUbicador.getEditItem())
}else if(!itemFk.isNullOrEmpty() && !etiquetas.isNullOrEmpty()){
val visible_calc = (etiquetas.toInt() * packing.toInt()).toString()
viewModel.itemShelvingMake(user,password,shelvingFk,itemFk,deep.toString(),visible_calc,packing,warehouseFk,"1","itemShelvingMake")
changeOfflineValue(ItemUbicadorVO(item = itemFk,visible = visible_calc,packing = packing,stickers = etiquetas))
customDialogUbicador.setItemValue("").setPackingValue("").setEtiquetaValue("").setVisibleValue("")
customDialogUbicador.getEditItem().requestFocus()
ma.hideKeyboard(customDialogUbicador.getEditItem())
}else{
"Rellena campos obligatorios".toast((activity as MainActivity), Toast.LENGTH_LONG)
}
}else{
"Packing obligatorio".toast((activity as MainActivity), Toast.LENGTH_LONG)
}
}*/
/*private fun changeOfflineValue(item: ItemUbicadorVO) {
binding.splashProgress.visibility = View.VISIBLE
*//*listItems.add(item)
adapter?.notifyDataSetChanged()*//*
}*/
private fun showMoreOptions(item: ItemUbicadorVO) {
customDialogTwoButtons.setTitle(item.item).setDescription(getString(R.string.selectAction))
.setOkButton(getString(R.string.transfer)) {
@ -707,10 +775,8 @@ class UbicadorFragment(
} else {
getString(R.string.wagonIncorrect).toast(requireContext())
}
}.setKoButton(getString(R.string.cancel)) {
customDialogInput.dismiss()
}.show()

View File

@ -5,6 +5,7 @@ import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Transformations
import es.verdnatura.domain.GetSacadorControladorUserCase
import es.verdnatura.domain.GetUbicadorUserCase
import es.verdnatura.presentation.base.BaseViewModel
import es.verdnatura.presentation.base.getMessageFromAllResponse
@ -21,32 +22,28 @@ import retrofit2.Response
class UbicadorViewModel(context: Context) : BaseViewModel() {
private val getUbicadorUserCase: GetUbicadorUserCase = GetUbicadorUserCase(context)
private val getSacadorControladorUserCase: GetSacadorControladorUserCase = GetSacadorControladorUserCase(context)
private val _shelvingList by lazy { MutableLiveData<ItemUbicadorListVO>() }
private val _response by lazy { MutableLiveData<ResponseItemVO>() }
val response: LiveData<ResponseItemVO>
get() = _response
private val _responsepriority by lazy { MutableLiveData<ResponseItemVO>() }
val responsepriority: LiveData<ResponseItemVO>
get() = _responsepriority
private val _responseMake by lazy { MutableLiveData<ResponseItemVO>() }
val responseMake: LiveData<ResponseItemVO>
get() = _responseMake
val loadShelvingList = Transformations.map(_shelvingList) { Event(it) }
private val _reubicationList by lazy { MutableLiveData<ReubicationList>() }
val loadReubicationList = Transformations.map(_reubicationList) { Event(it) }
private val _responseCode by lazy { MutableLiveData<ResponseItemVO>() }
val responseCode: LiveData<ResponseItemVO>
get() = _responseCode
fun itemShelvingList(
usuario: String,
@ -136,12 +133,10 @@ class UbicadorViewModel(context: Context) : BaseViewModel() {
password: String,
shelving: String,
item: String,
deep: String,
quantity: String,
packing: String,
packing: String?,
warehouse: String,
level: String,
grouping: String
grouping: String?
) {
getUbicadorUserCase.itemShelvingMake(
usuario,
@ -500,4 +495,31 @@ class UbicadorViewModel(context: Context) : BaseViewModel() {
})
}
fun getIdFromCode(usuario: String, password: String, code: String) {
getSacadorControladorUserCase.getIdFromCode(usuario, password, code)
.enqueue(object : Callback<String> {
override fun onFailure(call: Call<String>, t: Throwable) {
_responseCode.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
)
}
override fun onResponse(call: Call<String>, response: Response<String>) {
if (response.body() == null) {
_responseCode.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(
nameofFunction(this),
response.message()
)
)
} else {
_responseCode.value =
ResponseItemVO(isError = false, response = response.body()!!)
}
}
})
}
}

View File

@ -13,7 +13,9 @@ class ItemUbicadorVO (
var id:String = "",
var priority:String = "",
var isError:Boolean = false,
var errorMessage:String = ""
var errorMessage:String = "",
var checked:Boolean = false,
var isNew:Boolean = false
)
class ItemEscanerVO(

View File

@ -32,10 +32,7 @@ class WorkermistakeFragment(
) {
private var adapterworker: WorkermistakeAdapter? = null
private lateinit var customDialogInput: CustomDialogInput
private var listWorker: MutableList<WorkerFromMistake> = ArrayList()
private var listWorkerAuxiliary: MutableList<WorkerFromMistake> = ArrayList()
private lateinit var customDialog: CustomDialog

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -0,0 +1,8 @@
<!-- drawable/check_outline.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path android:fillColor="#FFF" android:pathData="M19.78,2.2L24,6.42L8.44,22L0,13.55L4.22,9.33L8.44,13.55L19.78,2.2M19.78,5L8.44,16.36L4.22,12.19L2.81,13.55L8.44,19.17L21.19,6.42L19.78,5Z" />
</vector>

View File

@ -0,0 +1,8 @@
<!-- drawable/package_variant.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path android:fillColor="#FFF" android:pathData="M2,10.96C1.5,10.68 1.35,10.07 1.63,9.59L3.13,7C3.24,6.8 3.41,6.66 3.6,6.58L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.66,6.72 20.82,6.88 20.91,7.08L22.36,9.6C22.64,10.08 22.47,10.69 22,10.96L21,11.54V16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V10.96C2.7,11.13 2.32,11.14 2,10.96M12,4.15V4.15L12,10.85V10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V12.69L14,15.59C13.67,15.77 13.3,15.76 13,15.6V19.29L19,15.91M13.85,13.36L20.13,9.73L19.55,8.72L13.27,12.35L13.85,13.36Z" />
</vector>

View File

@ -54,7 +54,7 @@
android:layout_width="match_parent"
android:background="@drawable/background_round"
android:enabled="true"
android:hint="@string/quantity"
android:hint="@string/expeditionPalletOrCMR"
android:inputType="text"
android:lines="1"
android:maxLines="1"
@ -68,7 +68,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/layout_margin_min"
android:hint="@string/scanShelving"
android:hint="@string/expeditionPalletOrCMR"
android:textColorHint="@android:color/darker_gray"
android:visibility="visible">

View File

@ -0,0 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:paddingTop="@dimen/toolbar_height">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textinputlayout_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@android:color/darker_gray">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/filter_itemFk"
style="@style/InputLineTextSearch"
android:layout_width="match_parent"
android:layout_weight="1.5"
android:backgroundTint="@android:color/white"
android:hint="Nombre o apellido"
android:inputType="text"
android:lines="1"
android:maxLines="1"
android:visibility="gone"
android:textAlignment="center"
android:textColor="@color/verdnatura_white"
android:textColorHint="@android:color/darker_gray" />
<TextView
android:id="@+id/filter_supplier"
style="@style/InputLineTextSearch"
android:layout_width="match_parent"
android:layout_weight="1"
android:backgroundTint="@android:color/white"
android:drawableEnd="@drawable/ic_arrow_drop_down_black_24dp"
android:focusable="false"
android:hint="Proveedor"
android:inputType="text"
android:lines="1"
android:maxLines="1"
android:textAlignment="center"
android:textColor="@color/verdnatura_pumpkin_orange"
android:textColorHint="@android:color/darker_gray"
android:visibility="visible" />
</LinearLayout>
</com.google.android.material.textfield.TextInputLayout>
<RadioGroup
android:id="@+id/radiobuttonTypePackaging"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_marginTop="25dp"
android:gravity="center_horizontal"
>
<RadioButton
android:id="@+id/radioButtonRec"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:buttonTint="@color/verdnatura_white"
android:minHeight="48dp"
android:text="@string/reception"
android:textColor="@color/verdnatura_white" />
<RadioButton
android:id="@+id/radioButtonDev"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:buttonTint="@color/verdnatura_white"
android:minHeight="48dp"
android:text="@string/comeback"
android:textColor="@color/verdnatura_white" />
</RadioGroup>
</LinearLayout>
<include
android:id="@+id/main_toolbar"
layout="@layout/toolbar_fragment"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/splash_progress"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/verdnatura_black_8_alpha_6"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:gravity="center">
<com.airbnb.lottie.LottieAnimationView
android:layout_width="wrap_content"
android:layout_height="@dimen/verdnatura_logo_large_height"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/orange_loading"
app:lottie_speed="2" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -0,0 +1,152 @@
<?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">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="@dimen/toolbar_height"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textinputlayout_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@android:color/darker_gray">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/filter_itemFk"
style="@style/InputLineTextSearch"
android:layout_width="match_parent"
android:layout_weight="1.5"
android:backgroundTint="@android:color/white"
android:hint="Nombre o apellido"
android:inputType="text"
android:lines="1"
android:maxLines="1"
android:textAlignment="center"
android:textColor="@color/verdnatura_white"
android:textColorHint="@android:color/darker_gray"
android:visibility="gone" />
<TextView
android:id="@+id/filter_department"
style="@style/InputLineTextSearch"
android:layout_width="match_parent"
android:layout_weight="1"
android:backgroundTint="@android:color/white"
android:drawableEnd="@drawable/ic_arrow_drop_down_black_24dp"
android:focusable="false"
android:hint="Embalajes"
android:inputType="text"
android:lines="1"
android:maxLines="1"
android:textAlignment="center"
android:textColor="@color/verdnatura_pumpkin_orange"
android:textColorHint="@android:color/darker_gray"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:text="Descripción"
android:textAlignment="viewStart"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2" />
<TextView
android:id="@+id/quantityPackaging"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@string/Cantidad"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:text="Total"
android:textAlignment="textStart"
android:textColor="@color/verdnatura_white"
android:paddingStart="@dimen/layout_margin_3"
android:textSize="@dimen/body2" />
</LinearLayout>
</com.google.android.material.textfield.TextInputLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/itemsupplier_recyclerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:visibility="visible"
tools:listitem="@layout/item_itemsupplier_row" />
</LinearLayout>
<include
android:id="@+id/main_toolbar"
layout="@layout/toolbar_fragment"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/splash_progress"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/verdnatura_black_8_alpha_6"
android:gravity="center"
android:orientation="vertical"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.airbnb.lottie.LottieAnimationView
android:layout_width="wrap_content"
android:layout_height="@dimen/verdnatura_logo_large_height"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/orange_loading"
app:lottie_speed="2" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/verdnatura_black">
<TextView
android:id="@+id/textObs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Observaciones : "
android:textColor="#FFF"
android:textSize="18dp"
app:layout_constraintStart_toEndOf="@+id/main_toolbar"
app:layout_constraintTop_toBottomOf="@+id/main_toolbar" />
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/observations"
android:layout_width="match_parent"
android:layout_height="100dp"
android:gravity="center"
android:hint="Observaciones"
android:inputType="textCapSentences|textMultiLine"
android:textColor="@color/verdnatura_white"
android:textColorHint="@android:color/tertiary_text_light"
android:visibility="visible"
app:layout_constraintStart_toEndOf="@+id/textObs"
app:layout_constraintTop_toBottomOf="@+id/textObs" />
<TextView
android:id="@+id/textImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Imágenes : "
android:textColor="#FFF"
android:textSize="18dp"
app:layout_constraintStart_toEndOf="@+id/observations"
app:layout_constraintTop_toBottomOf="@+id/observations" />
<LinearLayout
android:id="@+id/textImages"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min"
app:layout_constraintStart_toEndOf="@+id/textImage"
app:layout_constraintTop_toBottomOf="@+id/textImage" >
<TextView
android:id="@+id/openPickerImages"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_weight="1"
android:gravity="center"
android:text="Añadir nueva..."
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/listImagesRecycler"
android:layout_width="match_parent"
android:layout_height="550dp"
android:visibility="visible"
app:layout_constraintStart_toEndOf="@+id/textImages"
app:layout_constraintTop_toBottomOf="@+id/textImages"
tools:listitem="@layout/item_image_row"
/>
<include
android:id="@+id/main_toolbar"
layout="@layout/toolbar_fragment"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/splash_progress"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/verdnatura_black_8_alpha_6"
android:gravity="center"
android:orientation="vertical"
android:visibility="visible"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<com.airbnb.lottie.LottieAnimationView
android:layout_width="wrap_content"
android:layout_height="@dimen/verdnatura_logo_large_height"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/orange_loading"
app:lottie_speed="2" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -0,0 +1,308 @@
<?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">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="@dimen/toolbar_height"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textinputlayout_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@android:color/darker_gray">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:orientation="horizontal"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.25"
android:gravity="center"
android:text="Descripción"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="Total"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:orientation="horizontal"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="CC ROJO"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="220"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2" />
<ImageButton
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/ic_delete_black_24dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:orientation="horizontal"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:orientation="horizontal"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="DC"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="30"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2" />
<ImageButton
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/ic_delete_black_24dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:orientation="horizontal"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min" />
<LinearLayout
android:id="@+id/layout_total_images"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:orientation="horizontal"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Imágenes adjuntas:"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold" />
<TextView
android:id="@+id/totalImages"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Observaciones:"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/layout_observations"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:orientation="horizontal"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min">
<TextView
android:id="@+id/observations"
android:layout_width="match_parent"
android:layout_height="100dp"
android:gravity="center"
android:hint="Observaciones"
android:inputType="textCapSentences|textMultiLine"
android:textColor="@color/verdnatura_white"
android:textColorHint="@android:color/tertiary_text_light"
android:visibility="visible"
app:layout_constraintStart_toEndOf="@+id/layout_total_images"
app:layout_constraintTop_toBottomOf="@+id/layout_total_images" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:orientation="horizontal"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min">
<TextView
android:id="@+id/sign"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="left"
android:text="Firma:"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:orientation="horizontal"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min">
<com.simplify.ink.InkView
android:id="@+id/ink"
android:layout_width="wrap_content"
android:layout_height="102dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@color/verdnatura_white"
app:inkFlags="interpolation|responsiveWeight"
app:layout_constraintBottom_toTopOf="@+id/textView36"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/sign"
app:layout_constraintTop_toBottomOf="@+id/sign"
app:layout_constraintVertical_bias="0.0" />
</LinearLayout>
</com.google.android.material.textfield.TextInputLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/workermistake_recyclerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:visibility="gone"
tools:listitem="@layout/item_general_row" />
</LinearLayout>
<include
android:id="@+id/main_toolbar"
layout="@layout/toolbar_fragment"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/splash_progress"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/verdnatura_black_8_alpha_6"
android:gravity="center"
android:orientation="vertical"
android:visibility="visible"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<com.airbnb.lottie.LottieAnimationView
android:layout_width="wrap_content"
android:layout_height="@dimen/verdnatura_logo_large_height"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/orange_loading"
app:lottie_speed="2" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<androidx.constraintlayout.widget.ConstraintLayout
@ -12,11 +12,11 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="@dimen/toolbar_height"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:paddingTop="@dimen/toolbar_height">
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textinputlayout_username"
@ -70,9 +70,9 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="@dimen/layout_margin_min"
android:layout_marginBottom="@dimen/layout_margin_1"
android:orientation="horizontal"
android:paddingLeft="@dimen/layout_margin_min"
android:paddingRight="@dimen/layout_margin_min">
@ -115,8 +115,9 @@
</LinearLayout>
'
' <include
<include
android:id="@+id/main_toolbar"
layout="@layout/toolbar_fragment"
app:layout_constraintEnd_toEndOf="parent"
@ -124,25 +125,23 @@
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/splash_progress"
android:visibility="visible"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/verdnatura_black_8_alpha_6"
android:gravity="center"
android:orientation="vertical"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:gravity="center">
app:layout_constraintTop_toTopOf="parent">
<com.airbnb.lottie.LottieAnimationView
android:layout_width="wrap_content"
android:layout_height="@dimen/verdnatura_logo_large_height"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/orange_loading"
@ -150,7 +149,5 @@
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<data>
<variable
name="item"
type="es.verdnatura.presentation.common.GeneralItem" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/item_row_layout"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/verdnatura_black_5"
android:padding="@dimen/packaging_margin_main_menu">
<ImageView
android:id="@+id/imageView2"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_weight="1"
tools:srcCompat="@tools:sample/avatars" />
<TextView
android:id="@+id/item_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:layout_marginRight="48dp"
android:gravity="center_vertical"
android:text="@{item.code}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/h7"
android:textStyle="bold"
android:visibility="visible"
tools:text="Nombre archivo"/>
<ImageView
android:layout_marginLeft="@dimen/default_layout_margin"
android:id="@+id/item_image_update"
android:layout_width="48dp"
android:layout_height="48dp"
android:gravity="center_vertical"
android:scaleType="centerCrop"
android:layout_gravity="center"
android:visibility="visible"
android:src="@drawable/ic_history_black_24dp" />
<ImageView
android:layout_marginLeft="@dimen/default_layout_margin"
android:id="@+id/item_image_trash"
android:layout_width="48dp"
android:gravity="center_vertical"
android:layout_height="48dp"
android:scaleType="centerCrop"
android:layout_gravity="center"
android:visibility="visible"
android:src="@drawable/ic_delete_black_24dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/verdnatura_black_9"/>
</LinearLayout>
</layout>

View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<data>
<variable
name="item"
type="com.esafirm.imagepicker.model.Image" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/item_row_layout"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/verdnatura_black_5"
>
<ImageView
android:id="@+id/item_image"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_weight="1"
tools:srcCompat="@tools:sample/avatars" />
<TextView
android:id="@+id/item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:layout_marginRight="48dp"
android:gravity="center_vertical"
android:text="@{item.name}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/h8"
android:visibility="visible"
tools:text="Nombre archivo"/>
<ImageView
android:layout_marginLeft="@dimen/default_layout_margin"
android:id="@+id/item_image_update"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:scaleType="centerCrop"
android:layout_gravity="center"
android:visibility="visible"
android:src="@drawable/ic_history_black_24dp" />
<ImageView
android:layout_marginLeft="@dimen/default_layout_margin"
android:id="@+id/item_image_trash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_weight="1"
android:scaleType="centerCrop"
android:layout_gravity="center"
android:visibility="visible"
android:src="@drawable/ic_delete_black_24dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/verdnatura_black_9"/>
</LinearLayout>
</layout>

View File

@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<data>
<variable
name="item"
type="es.verdnatura.presentation.view.feature.packaging.model.ItemSupplier" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/item_row_layout"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/verdnatura_black_5"
android:padding="5dp">
<TextView
android:id="@+id/item_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{Integer.toString(item.id)}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/h8"
android:gravity="center_vertical"
android:visibility="gone"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/pasilleros_margin_main_menu"
tools:text="1" />
<TextView
android:id="@+id/item_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:text="@{item.name}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/h8"
android:gravity="center_vertical"
android:visibility="visible"
android:layout_gravity="center"
tools:text="BB" />
<TextView
android:id="@+id/item_subquantity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.25"
android:text="@{Integer.toString(item.subquantity)}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/h8"
android:gravity="center_vertical"
android:visibility="visible"
android:layout_gravity="center"
tools:text="20" />
<TextView
android:id="@+id/item_quantity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/pasilleros_margin_main_menu"
android:layout_weight="1.25"
android:layout_gravity="center"
android:text="@{Integer.toString(item.quantity)}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/h8"
android:visibility="visible"
tools:text="150" />
<ImageView
android:layout_marginLeft="@dimen/default_layout_margin"
android:id="@+id/item_image_update"
android:layout_width="24dp"
android:gravity="center_vertical"
android:layout_height="24dp"
android:scaleType="centerCrop"
android:layout_gravity="center"
android:visibility="visible"
android:src="@drawable/ic_history_black_24dp" />
<ImageView
android:layout_marginLeft="@dimen/default_layout_margin"
android:id="@+id/item_image_trash"
android:layout_width="24dp"
android:gravity="center_vertical"
android:layout_height="24dp"
android:scaleType="centerCrop"
android:layout_gravity="center"
android:visibility="visible"
android:src="@drawable/ic_delete_black_24dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/verdnatura_black_9"/>
</LinearLayout>
</layout>

View File

@ -10,6 +10,7 @@
type="es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorVO" />
</data>
<LinearLayout
android:id="@+id/itemLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

View File

@ -82,13 +82,14 @@
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/h6"
android:visibility="invisible"
app:autoSizeTextType="uniform"
app:autoSizeMinTextSize="12sp"
app:autoSizeMaxTextSize="100sp"
tool:text="10/20"
tool:visibility="visible" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/toolbar_icons"
android:layout_width="wrap_content"
@ -96,6 +97,14 @@
android:layout_marginLeft="@dimen/layout_margin_min"
tool:listitem="@layout/item_toolbar_row"
tool:visibility="visible" />
<Switch
android:id="@+id/switchButton"
android:layout_width="50dp"
android:layout_height="match_parent"
android:text="Switch"
android:visibility="gone"
android:tooltipText="@string/allowCheckingMode"
tool:visibility="visible"/>
</LinearLayout>

View File

@ -193,6 +193,7 @@
<string name="speedProblems">Problemas con la velocidad de internet. No se puede usar la voz</string>
<string name="allowParking">Permite aparcar ticket/carro</string>
<string name="allowTakeoffVehicle">Permite dejar el vehículo</string>
<string name="newCollection">Genera colección para sacar</string>
<string name="showFilter">Ver filtro </string>
<string name="showFaults">Ver movimientos de Faltas</string>
@ -459,7 +460,7 @@
<string name="in_shelve">En balda:</string>
<string name="pendingReviewParking">No es posible aparcar el ticket porque hay un ticket pendiente:</string>
<string name="sectorALGEMESINEW">SACADOR V</string>
<string name="titleCMRState">Informar CMR</string>
<string name="titleCMRState">Asociar pallet a CMR</string>
<string name="titleCMRDescrip">Permite infomar de un CMR</string>
<string name="expeditionPalletScan">Escanea el Pallet</string>
<string name="cmrScan">Escanea CMR</string>
@ -494,5 +495,24 @@
<string name="printerRemoved">(Su impresora ha sido borrada)</string>
<string name="expeditionPalletCMR">Escanea Pallet y CMR</string>
<string name="expeditionPalletOrCMR">Escanea pallet o cmr</string>
<string name="labelPalletOrCmrNotValid">Etiqueta escaneada para %s no válida</string>
<string name="errorSameType">Escaneadas dos etiquetas del mismo tipo</string>
<string name="scanLabelCMR">Escanea CMR</string>
<string name="scanLabelPallet">Escanea PALLET</string>
<string name="errorPalletCmrNotScanned">No ha escaneado ni pallet ni Cmr</string>
<string name="titlePackaging">Entradas</string>
<string name="titlePackagingDescrip">Permite realizar la entrada de embalajes</string>
<string name="titlePackagingCount">Embalajes</string>
<string name="titlePackagingObs">Observaciones</string>
<string name="titlePackagingSummary">Resumen</string>
<string name="suppliers">Proveedores</string>
<string name="reception">Recepción</string>
<string name="comeback">Devolución</string>
<string name="checkerUbication">Permite modo revisión de la ubicación</string>
<string name="confirmEntry">Confirmar entrada</string>
<string name="entryNextObsers">Siguiente paso: observaciones e imágenes</string>
<string name="nextEntrySummary">Siguiente paso: resumen entrada</string>
<string name="activateModoChecking">Activado modo revisión</string>
<string name="allowCheckingMode">Permite activar modo revisión. Escane primero una matrícula</string>
</resources>

View File

@ -20,6 +20,7 @@
<color name="verdnatura_pumpkin_orange">#f7931e</color>
<color name="verdnatura_sunflower_yellow">#ffd400</color>
<color name="verdnatura_dark_sky_blue">#4ab4e6</color>
<color name="verdnatura_dark_green_verdnatura">#a3d131</color>
<color name="verdnatura_dark_mint">#50be87</color>
<color name="verdnatura_dark_mint_light">#80be87</color>
<color name="verdnatura_dark_mint_light_precontrolled">#b8daba</color>
@ -27,6 +28,7 @@
<color name="verdnatura_white">#ffffff</color>
<color name="verdnatura_black_8_alpha_6">#991A1A1A</color>
<color name="verdnatura_background_item_picker">#4d4d4d</color>
<color name="verdnatura_background_subtitle_settings">#1a1a1a</color>
<color name="verdnatura_background_items_menus">#333333</color>

View File

@ -77,6 +77,8 @@
<!--Pasilleros-->
<dimen name="pasilleros_margin_main_menu">15dp</dimen>
<dimen name="packaging_margin_main_menu">5dp</dimen>
<dimen name="itemcard_image_height">300dp</dimen>
<dimen name="itemcard_image_height_medium">200dp</dimen>

View File

@ -100,6 +100,8 @@
<string name="escribirparteNombre">Write here</string>
<string name="compradores">Buyers</string>
<string name="departamentos">Departments</string>
<string name="suppliers">Suppliers</string>
<string name="reception">Reception</string>
<string name="Grouping">Grouping</string>
<string name="Packing">Packing</string>
<string name="Barcode">Barcode</string>
@ -134,7 +136,7 @@
<string name="assigned_user">User assigned to device name</string>
<string name="ScanPlateOrSmarttag">Scan plate or smartag</string>
<string name="titleExpeditionState">Expedition state</string>
<string name="titleCMRState">Report CMR</string>
<string name="titleCMRState">Associate pallet to CMR</string>
<string name="BuffersManegement">Buffer Management</string>
<string name="PalletMake">Pallet make</string>
<string name="scanPallet">Scan pallet</string>
@ -150,6 +152,7 @@
<string name="minQuantity">Min quantity</string>
<string name="producer">Producer</string>
<string name="controlticket">Control ticket</string>
<string name="checkerUbication">Permit check ubications</string>
<string name="titleExpeditionScan">Scan expedition</string>
<string name="dayofSale">Day of sale</string>
<string name="wagoon">Wagoon</string>
@ -298,6 +301,7 @@
<string name="printerUpdated">Printer registered</string>
<string name="sectorUpdated">sector updated</string>
<string name="errorCmrNotScanned">CMR not scanned</string>
<string name="errorPalletCmrNotScanned">Not scanned neither pallet nor cmr</string>
<string name="itemUpdated">Item updated</string>
<string name="logAppName">warehouse</string>
<string name="base_urlSalix">base_urlSalix</string>
@ -363,6 +367,11 @@
<string name="titleScanExpedition">Scan expedition</string>
<string name="titleBufferManegement">Buffer management</string>
<string name="titleClaims">Claims</string>
<string name="titlePackaging">Suppliers</string>
<string name="titlePackagingCount">Packaging</string>
<string name="titlePackagingObs">Observations</string>
<string name="titlePackagingSummary">Summary</string>
<string name="confirmEntry">Confirm entry</string>
<string name="titleUserControlVehicle">Vehicle User Control</string>
<string name="titlePrePicker">Pre puncher</string>
<string name="titleDayOfSale">Day of sale</string>
@ -380,7 +389,6 @@
<string name="titleLogShelving">Log Shelving</string>
<string name="titlePickers">Pickers</string>
<string name="itemScanetNotFound">"Scanned element not found "</string>
<string name="NotOrderReplacement">There are no requests to replace</string>
<string name="orderCompleted">Completed order</string>
<string name="shelvingSure">Make sure to scan a plate.</string>
@ -460,6 +468,7 @@
<string name="titleControlDescrip">Access the ticket review</string>
<string name="titlePalletizDescrip">Access the palletizers menu: palletize, buffer…</string>
<string name="titleClaimsDescrip">Access the claims menu</string>
<string name="titlePackagingDescrip">Access the packaging menu</string>
<string name="titleClaimDescrip">Claims Location</string>
<string name="collectionErrorBuilding">Error building collection. Error description:</string>
<string name="main">Main</string>
@ -494,6 +503,15 @@
<string name="deleteWorkForm">Delete work form</string>
<string name="deleteWorkFormConfirmation">¿Do you remove definitely?</string>
<string name="noAssigned">Not assigned</string>
<string name="labelPalletOrCmrNotValid">Scanned label not valid for %s</string>
<string name="errorSameType">Scanned two labels of same type</string>
<string name="scanLabelPallet">Scan PALLET</string>
<string name="scanLabelCMR">Scan CMR</string>
<string name="comeback">Return</string>
<string name="entryNextObsers">Next step: observations and images</string>
<string name="nextEntrySummary">Next step: entry summary</string>
<string name="activateModoChecking">Activated checking mode</string>
<string name="allowCheckingMode">Allow checking mode. Scan firstly the plate and after activate the mode</string>
</resources>

View File

@ -40,6 +40,11 @@
<item name="android:background">@drawable/btn_blue</item>
<item name="android:textColor">@color/verdnatura_white</item>
</style>
<style name="ToolPickerImage" parent="AppTheme">
<item name="colorPrimary">@color/verdnatura_black</item>
<item name="colorPrimaryDark">@color/verdnatura_black</item>
<item name="android:textColor">@color/verdnatura_white</item>
</style>
<style name="DefaultButton.NormalButtonThree" parent="DefaultButton">
<item name="android:background">@drawable/btn_green</item>

8
local.properties Normal file
View File

@ -0,0 +1,8 @@
## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Mon Apr 19 11:46:38 CEST 2021
sdk.dir=C\:\\Users\\sergiodt\\AppData\\Local\\Android\\Sdk