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

This commit is contained in:
Sergio De la torre 2022-05-04 08:47:52 +02:00
parent f0ba03db3d
commit 1341e08efe
91 changed files with 3214 additions and 872 deletions

View File

@ -4,19 +4,29 @@
<option name="filePathToZoomLevelMap"> <option name="filePathToZoomLevelMap">
<map> <map>
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable-v24/background_gradient.xml" value="0.1" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable-v24/background_gradient.xml" value="0.1" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable-v24/background_round_corner.xml" value="0.2205" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable-v24/ic_history_orang.xml" value="0.22037037037037038" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable-v24/ic_history_orang.xml" value="0.22037037037037038" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable-v24/ic_history_orange_24dp.xml" value="0.16666666666666666" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable-v24/ic_history_orange_24dp.xml" value="0.16666666666666666" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.13541666666666666" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.13541666666666666" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable-v24/selector_bottombar_text.xml" value="0.13541666666666666" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable-v24/selector_bottombar_text.xml" value="0.13541666666666666" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/alpha_b_circle_outline.xml" value="0.2359375" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/alpha_b_circle_outline.xml" value="0.2359375" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/alpha_f_circle_outline.xml" value="0.1" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/alpha_f_circle_outline.xml" value="0.1" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/background_item_color.xml" value="0.1" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/background_oval_checked.xml" value="0.2359375" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/background_oval_checked.xml" value="0.2359375" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/background_oval_unchecked.xml" value="0.30052083333333335" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/background_oval_unchecked.xml" value="0.30052083333333335" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/background_round.xml" value="0.2555" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/background_round_corner.xml" value="0.2205" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/background_round_square.xml" value="0.2205" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/background_roundl.xml" value="0.232" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/barcode.xml" value="0.2359375" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/barcode.xml" value="0.2359375" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/barcode_scan.xml" value="0.1" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/barcode_scan.xml" value="0.1" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/border.xml" value="0.27447916666666666" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/border.xml" value="0.27447916666666666" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/border_parental.xml" value="0.11979166666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/border_parental.xml" value="0.11979166666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/btn_blue.xml" value="0.27447916666666666" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/btn_blue.xml" value="0.27447916666666666" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/btn_green.xml" value="0.2205" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/btn_ios_like.xml" value="0.2635" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/btn_orange.xml" value="0.2635" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/btn_white_transparent.xml" value="0.2635" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/buffer_accumulate.xml" value="0.18489583333333334" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/buffer_accumulate.xml" value="0.18489583333333334" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/buffer_accumulation.xml" value="0.19814814814814816" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/buffer_accumulation.xml" value="0.19814814814814816" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/buffer_desactivate.xml" value="0.1" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/buffer_desactivate.xml" value="0.1" />
@ -33,10 +43,12 @@
<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/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/component_progress.xml" value="0.11979166666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/crane.xml" value="0.23802083333333332" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/crane.xml" value="0.23802083333333332" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/custom_ripple.xml" value="0.2175" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/day_of_sale.xml" value="0.184375" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/day_of_sale.xml" value="0.184375" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/delete.xml" value="0.19166666666666668" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/delete.xml" value="0.19166666666666668" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/drawable_white_circle.xml" value="0.1775" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/drawable_white_circle.xml" value="0.1775" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/emoticon_error.xml" value="0.27447916666666666" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/emoticon_error.xml" value="0.27447916666666666" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/emoticon_error_fragment.xml" value="0.26" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/eraser.xml" value="0.26564102564102565" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/eraser.xml" value="0.26564102564102565" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/face_man_outline.xml" value="0.22708333333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/face_man_outline.xml" value="0.22708333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/filter_outline.xml" value="0.22239583333333332" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/filter_outline.xml" value="0.22239583333333332" />
@ -45,18 +57,30 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml" value="0.22708333333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml" value="0.22708333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_arrow_drop_down_black_24dp.xml" value="0.22708333333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_arrow_drop_down_black_24dp.xml" value="0.22708333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_autorenew_black_24dp.xml" value="0.1775" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_autorenew_black_24dp.xml" value="0.1775" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_barcode_ui_selected.xml" value="0.212" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_baseline_star_24.xml" value="0.1775" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_baseline_star_24.xml" value="0.1775" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_build_black_24dp.xml" value="0.22708333333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_build_black_24dp.xml" value="0.22708333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_chevron_right_black_24dp.xml" value="0.1775" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_chevron_right_black_24dp.xml" value="0.1775" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_claim_ui.xml" value="0.186" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_claims.xml" value="0.2425" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_claims.xml" value="0.2425" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_controller_ui.xml" value="0.212" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_controller_ui_selected.xml" value="0.212" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_corridor_ui.xml" value="0.186" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_dashboard_black_24dp.xml" value="0.1775" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_dashboard_black_24dp.xml" value="0.1775" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_delete_black_24dp.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_delete_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_delete_forever_black_24dp.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_delete_forever_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_device_hub_black_24dp.xml" value="0.22" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_device_hub_black_24dp.xml" value="0.22" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_device_hub_black_24dp_selected.xml" value="0.22" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_device_hub_black_24dp_selected.xml" value="0.22" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_eye_ui.xml" value="0.2015" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_eye_ui_selected.xml" value="0.212" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_flash_auto_black_24dp.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_flash_auto_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_history_black_24dp.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_history_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_history_orange.xml" value="0.22037037037037038" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_history_orange.xml" value="0.22037037037037038" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_icon_configuracion.xml" value="0.26" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_init.xml" value="0.186" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_init_selected.xml" value="0.26" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_init_ui.xml" value="0.212" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_init_ui_selected.xml" value="0.212" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_launcher_background.xml" value="0.24010416666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_launcher_background.xml" value="0.24010416666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_local_florist_black_24dp.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_local_florist_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_local_florist_black_24dp_selected.xml" value="0.21041666666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_local_florist_black_24dp_selected.xml" value="0.21041666666666667" />
@ -66,10 +90,20 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_local_shipping_black_24dp_selected.xml" value="0.11979166666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_local_shipping_black_24dp_selected.xml" value="0.11979166666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_loyalty_black_24dp.xml" value="0.21041666666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_loyalty_black_24dp.xml" value="0.21041666666666667" />
<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_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_move_to_inbox_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_pallet_ui.xml" value="0.212" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_parking_ui.xml" value="0.212" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_parking_ui_selected.xml" value="0.212" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_picker_ui.xml" value="0.186" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_playlist_add_black_24dp.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_playlist_add_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_print_black_24dp.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_print_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_qr_ui.xml" value="0.212" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_send_black_24dp.xml" value="0.134375" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_send_black_24dp.xml" value="0.134375" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_setting_ui.xml" value="0.26" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_setting_ui_selected.xml" value="0.26" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_settings.xml" value="0.26" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_settings_selected.xml" value="0.26" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_spa_black_24dp.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_spa_black_24dp.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_spa_black_launcher.xml" value="0.19479166666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_spa_black_launcher.xml" value="0.19479166666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_star_ko.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_star_ko.xml" value="0.15052083333333333" />
@ -83,6 +117,9 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_visibility_black_24dp.xml" value="0.2546875" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_visibility_black_24dp.xml" value="0.2546875" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_visibility_black_24dp_white.xml" value="0.2546875" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_visibility_black_24dp_white.xml" value="0.2546875" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_visibility_white_24dp.xml" value="0.2546875" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_visibility_white_24dp.xml" value="0.2546875" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/ic_vn_logo_negativo_app_warehouse.xml" value="0.18" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/init_icon.xml" value="0.2635" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/init_selected_icon.xml" value="0.2635" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/movie_plus_outline.xml" value="0.134375" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/movie_plus_outline.xml" value="0.134375" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/pallet_shipping.xml" value="0.1" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/pallet_shipping.xml" value="0.1" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/pallet_shipping_black.xml" value="0.1" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/pallet_shipping_black.xml" value="0.1" />
@ -94,15 +131,17 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/revision_icon.xml" value="0.1" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/revision_icon.xml" value="0.1" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/round_av_timer_24.xml" value="0.15052083333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/round_av_timer_24.xml" value="0.15052083333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/round_outline.xml" value="0.11979166666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/round_outline.xml" value="0.11979166666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/settings_icon.xml" value="0.2635" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/settings_icon_selected.xml" value="0.2635" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/walk.xml" value="0.10885416666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/walk.xml" value="0.10885416666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/worker.xml" value="0.12" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/worker.xml" value="0.12" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/worker_mistake.xml" value="0.15364583333333334" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/drawable/worker_mistake.xml" value="0.15364583333333334" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/activity_imageview.xml" value="0.134375" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/activity_imageview.xml" value="0.22" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/activity_login.xml" value="0.1" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/activity_login.xml" value="0.1" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/activity_main.xml" value="0.17916666666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/activity_main.xml" value="0.17916666666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/buyers_fragment.xml" value="0.18333333333333332" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/buyers_fragment.xml" value="0.18333333333333332" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/component_custom_dialog.xml" value="0.1490036231884058" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/component_custom_dialog.xml" value="0.1490036231884058" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/component_custom_edit_dialog.xml" value="0.10208333333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/component_custom_edit_dialog.xml" value="0.3333333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/component_custom_hour.xml" value="0.1793478260869565" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/component_custom_hour.xml" value="0.1793478260869565" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/component_custom_list_dialog.xml" value="0.3333333333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/component_custom_list_dialog.xml" value="0.3333333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/component_custom_three_dialog.xml" value="0.12817028985507245" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/component_custom_three_dialog.xml" value="0.12817028985507245" />
@ -114,7 +153,7 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_buffer_loadexpedition.xml" value="0.1398176291793313" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_buffer_loadexpedition.xml" value="0.1398176291793313" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_buscar_item.xml" value="0.21014492753623187" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_buscar_item.xml" value="0.21014492753623187" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_buscar_item_all.xml" value="0.3333333333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_buscar_item_all.xml" value="0.3333333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_collection.xml" value="0.23007246376811594" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_collection.xml" value="0.3333333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_controlador.xml" value="0.20153985507246377" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_controlador.xml" value="0.20153985507246377" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_expedition_pallet.xml" value="0.1793478260869565" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_expedition_pallet.xml" value="0.1793478260869565" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_expedition_pallet_detail.xml" value="0.15579710144927536" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_expedition_pallet_detail.xml" value="0.15579710144927536" />
@ -137,8 +176,8 @@
<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_login.xml" value="0.22" />
<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_paletizador_menu.xml" value="0.13829787234042554" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_parking.xml" value="0.5" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_parking.xml" value="0.5" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_pasillero.xml" value="0.13829787234042554" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_pasillero.xml" value="0.21" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_pre_sacador.xml" value="0.3333333333333333" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_pre_sacador.xml" value="0.16666666666666666" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_qr.xml" value="0.19882246376811594" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_qr.xml" value="0.19882246376811594" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_sacador.xml" value="0.12952898550724637" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_sacador.xml" value="0.12952898550724637" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_sacador_associatesmarttag.xml" value="0.22" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_sacador_associatesmarttag.xml" value="0.22" />
@ -152,7 +191,8 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_web.xml" value="0.2463768115942029" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_web.xml" value="0.2463768115942029" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_workermistake.xml" value="0.2265625" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/fragment_workermistake.xml" value="0.2265625" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_ajustes_row.xml" value="0.10009057971014493" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_ajustes_row.xml" value="0.10009057971014493" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row.xml" value="0.4466666666666667" /> <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.3333333333333333" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row_presacador.xml" value="0.4466666666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_article_row_presacador.xml" value="0.4466666666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_barcode_row.xml" value="0.15579710144927536" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_barcode_row.xml" value="0.15579710144927536" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_buyer_row.xml" value="0.1793478260869565" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_buyer_row.xml" value="0.1793478260869565" />
@ -172,7 +212,8 @@
<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_itemshelvingdayofsale_row.xml" value="0.18206521739130435" />
<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_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_location_row.xml" value="0.16875" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_pasilleros_main_menu.xml" value="0.13829787234042554" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_main_menu.xml" value="0.15070921985815602" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_pasilleros_main_menu.xml" value="0.33" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_placement_row.xml" value="0.1793478260869565" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_placement_row.xml" value="0.1793478260869565" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_proposal_row.xml" value="0.22604166666666667" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_proposal_row.xml" value="0.22604166666666667" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_reposicion.xml" value="0.1" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/item_reposicion.xml" value="0.1" />
@ -188,6 +229,8 @@
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/reposicion_fragment.xml" value="0.15353260869565216" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/reposicion_fragment.xml" value="0.15353260869565216" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/shelvinglog_row.xml" value="0.18385416666666668" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/shelvinglog_row.xml" value="0.18385416666666668" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/toolbar.xml" value="0.15353260869565216" /> <entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/toolbar.xml" value="0.15353260869565216" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/toolbarUI.xml" value="0.29846014492753625" />
<entry key="..\:/Users/sergiodt/AndroidStudioProjects/vn-warehouseManager/app/src/main/res/layout/toolbar_fragment.xml" value="0.18" />
</map> </map>
</option> </option>
</component> </component>

View File

@ -14,9 +14,11 @@ android {
applicationId "es.verdnatura" applicationId "es.verdnatura"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 30 targetSdkVersion 30
versionCode 109 //para pruebas sacadores versionCode 112
versionName "8" //VERSION CODE 109, obligado seleccionar impresora, controlador sube el recyclerViewer, controlador ordenado por picked, mensaje error a collectioNew versionName "8.2" //versionCode 112 : desmarcar, previa update quantity dels carros, afegir P, etc.., impressores
//versionName "8.1" //versionCode 111 de proves . Instal.lat a Ismael y Juan
//versionName "8.1" //VERSION CODE 110, SOLO A V SE LE DESPLAZA LAS LINEAS EN PANTALLA CONTROLADOR
//versionName "8" //VERSION CODE 109, obligado seleccionar impresora, controlador sube el recyclerViewer, controlador ordenado por picked, mensaje error a collectioNew
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }

View File

@ -11,8 +11,8 @@
"type": "SINGLE", "type": "SINGLE",
"filters": [], "filters": [],
"attributes": [], "attributes": [],
"versionCode": 109, "versionCode": 112,
"versionName": "8", "versionName": "8.2",
"outputFile": "app-release.apk" "outputFile": "app-release.apk"
} }
], ],

Binary file not shown.

View File

@ -6,7 +6,7 @@ import retrofit2.converter.gson.GsonConverterFactory
class ApiSalixUtils { class ApiSalixUtils {
companion object { companion object {
//const val BASE_URL:String = "http://192.168.1.155:9009/" //const val BASE_URL:String = "http://192.168.1.155:9009/"
//const val BASE_URL: String = "https://test-salix.verdnatura.es/api/" // const val BASE_URL: String = "https://test-salix.verdnatura.es/api/"
const val BASE_URL: String = "https://salix.verdnatura.es/api/" const val BASE_URL: String = "https://salix.verdnatura.es/api/"
fun getApiService(): SalixService { fun getApiService(): SalixService {
val salixRetrofit = Retrofit.Builder().baseUrl(BASE_URL).addConverterFactory( val salixRetrofit = Retrofit.Builder().baseUrl(BASE_URL).addConverterFactory(

View File

@ -12,8 +12,10 @@ import java.util.concurrent.TimeUnit
class ApiUtils { class ApiUtils {
companion object { companion object {
//const val BASE_URL:String = "http://192.168.1.54:8009/" //const val BASE_URL:String = "http://192.168.1.54:8009/"
const val BASE_URL: String = "https://app.verdnatura.es/" const val BASE_URL:String = "https://10.1.3.102/"
//const val BASE_URL:String = "https://test-app.verdnatura.es/"
//const val BASE_URL: String = "https://app.verdnatura.es/"
fun getApiService(context: Context): VerdnaturaService { fun getApiService(context: Context): VerdnaturaService {

View File

@ -1,11 +1,14 @@
package es.verdnatura.domain package es.verdnatura.domain
import android.content.Context import android.content.Context
import es.verdnatura.presentation.common.itemBarCodeSalix
import es.verdnatura.presentation.common.itemPackingTypeSalix
import es.verdnatura.presentation.view.feature.articulo.model.ItemCardVO import es.verdnatura.presentation.view.feature.articulo.model.ItemCardVO
import es.verdnatura.presentation.view.feature.articulo.model.ItemPackingType import es.verdnatura.presentation.view.feature.articulo.model.ItemPackingType
import es.verdnatura.presentation.view.feature.articulo.model.ItemProposal import es.verdnatura.presentation.view.feature.articulo.model.ItemProposal
import es.verdnatura.presentation.view.feature.historicoarticulo.model.ItemHistoricoVO import es.verdnatura.presentation.view.feature.historicoarticulo.model.ItemHistoricoVO
import retrofit2.Call import retrofit2.Call
import java.security.AuthProvider
class GetItemCardUserCase(context: Context) : RestClient(context) { class GetItemCardUserCase(context: Context) : RestClient(context) {
@ -64,6 +67,13 @@ class GetItemCardUserCase(context: Context) : RestClient(context) {
) )
} }
fun getItemPackingTypeSalix(token:String): Call<List<ItemPackingType>> {
return salixClient!!.get_ItemPackingType(
content_type = "application/json",
authorization = token
)
}
fun itemStockUpdate( fun itemStockUpdate(
usuario: String, usuario: String,
password: String, password: String,
@ -195,6 +205,20 @@ class GetItemCardUserCase(context: Context) : RestClient(context) {
) )
} }
fun updatePackingTypeSalix(
token:String,
itemFk: String,
ItemPackingType: String
): Call<Any> {
val params=itemPackingTypeSalix(ItemPackingType)
return salixClient!!.update_ItemPackingType(
content_type ="application/json",
authorization = token,
itemFk = itemFk,
params = params
)
}
fun itemSaveMin( fun itemSaveMin(
usuario: String, usuario: String,
password: String, password: String,
@ -255,6 +279,22 @@ class GetItemCardUserCase(context: Context) : RestClient(context) {
) )
} }
fun barcodes_editSalix(
token:String,
itemFk: String,
value: String,
): Call<Any> {
return salixClient!!.barcodes_edit(
content_type = "application/json",
authorization=token,
itemBarCodeSalix(itemFk,value)
)
}
fun itemDiary( fun itemDiary(
usuario: String, usuario: String,
password: String, password: String,

View File

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

View File

@ -1,9 +1,13 @@
package es.verdnatura.domain package es.verdnatura.domain
import android.content.Context import android.content.Context
import com.google.gson.JsonObject
import es.verdnatura.presentation.view.feature.collection.SalixSaleQuantity
import es.verdnatura.presentation.view.feature.login.model.workerId
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
import es.verdnatura.presentation.view.feature.sacador.model.MistakeTypeVO import es.verdnatura.presentation.view.feature.sacador.model.MistakeTypeVO
import es.verdnatura.presentation.view.feature.sacador.model.PlacementSupplyVO import es.verdnatura.presentation.view.feature.sacador.model.PlacementSupplyVO
import org.json.JSONObject
import retrofit2.Call import retrofit2.Call
class GetSacadorControladorUserCase(context: Context) : RestClient(context) { class GetSacadorControladorUserCase(context: Context) : RestClient(context) {
@ -42,6 +46,19 @@ class GetSacadorControladorUserCase(context: Context) : RestClient(context) {
) )
} }
fun sip_getExtensionSalix(
token:String,
WorkerId: String
): Call<Any> {
val params: ArrayList<String> = ArrayList()
params.add(WorkerId)
return salixClient!!.sip_getExtension(
content_type = "application/json",
authorization = token,
idWorker=WorkerId
)
}
fun sip_getExtension( fun sip_getExtension(
usuario: String, usuario: String,
password: String, password: String,
@ -58,6 +75,8 @@ class GetSacadorControladorUserCase(context: Context) : RestClient(context) {
params params
) )
} }
fun ticket_checkFullyControlled( fun ticket_checkFullyControlled(
usuario: String, usuario: String,
password: String, password: String,
@ -125,7 +144,7 @@ class GetSacadorControladorUserCase(context: Context) : RestClient(context) {
fun collectionGetSalix(token:String): Call<List<CollectionVO>> { fun collectionGetSalix(token:String): Call<List<CollectionVO>> {
// val params:ArrayList<String> = ArrayList() // val params:ArrayList<String> = ArrayList()
return salixClient!!.getCollectionSalix(content_type = "application/json",token) return salixClient!!.getCollectionSalix(content_type = "application/json", authorization = token)
} }
fun saleTrackingReplace( fun saleTrackingReplace(
@ -386,7 +405,19 @@ class GetSacadorControladorUserCase(context: Context) : RestClient(context) {
params params
) )
} }
fun itemShelving_updateFromSale(usuario: String, password: String, saleFk: String,visible:String): Call<Unit> {
val params: ArrayList<String> = ArrayList()
params.add(saleFk)
params.add(visible)
return restClient!!.itemShelving_updateFromSale(
"json",
"1",
usuario,
password,
"application/json",
params
)
}
fun ticket_setState( fun ticket_setState(
usuario: String, usuario: String,
password: String, password: String,
@ -419,6 +450,16 @@ class GetSacadorControladorUserCase(context: Context) : RestClient(context) {
) )
} }
fun getIdFromCodeSalix(token: String, barCodeValue: String): Call<String> {
return salixClient!!.barcodes_toitem(
"application/json",
authorization = token,
barCodeValue=barCodeValue
)
}
fun collectionIncreaseQuantity( fun collectionIncreaseQuantity(
usuario: String, usuario: String,
password: String, password: String,
@ -438,6 +479,24 @@ class GetSacadorControladorUserCase(context: Context) : RestClient(context) {
) )
} }
fun collectionIncreaseQuantitySalix(
token: String,
saleFk: String,
quantity: String
): Call<Any> {
return salixClient!!.collectionIncreaseQuantitySalix(
"json",
"1",
token,
"application/json",
SalixSaleQuantity(saleId = saleFk.toInt(), quantity = quantity.toInt())
)
}
fun saleMistakeAdd( fun saleMistakeAdd(
usuario: String, usuario: String,
password: String, password: String,

View File

@ -28,21 +28,17 @@ class GetUbicadorUserCase(context: Context) : RestClient(context) {
password: String, password: String,
shelving: String, shelving: String,
item: String, item: String,
deep: String,
quantity: String, quantity: String,
packing: String, packing: String,
warehouse: String, warehouse: String,
level: String,
grouping:String grouping:String
): Call<String> { ): Call<String> {
val params: ArrayList<String> = ArrayList() val params: ArrayList<String> = ArrayList()
params.add(shelving) params.add(shelving)
params.add(item) params.add(item)
params.add(deep)
params.add(quantity) params.add(quantity)
params.add(packing) params.add(packing)
params.add(warehouse) params.add(warehouse)
params.add(level)
params.add(grouping) params.add(grouping)
return restClient!!.itemShelvingMake( return restClient!!.itemShelvingMake(
"json", "json",
@ -93,16 +89,12 @@ class GetUbicadorUserCase(context: Context) : RestClient(context) {
password: String, password: String,
shelving: String, shelving: String,
items: List<String>, items: List<String>,
deep: String, warehouse: String
warehouse: String,
level: String
): Call<String> { ): Call<String> {
val params: ArrayList<Any> = ArrayList() val params: ArrayList<Any> = ArrayList()
params.add(shelving) params.add(shelving)
params.add(items) params.add(items)
params.add(deep)
params.add(warehouse) params.add(warehouse)
params.add(level)
return restClient!!.itemShelvingMake_multi( return restClient!!.itemShelvingMake_multi(
"json", "json",
"1", "1",

View File

@ -49,8 +49,8 @@ class GetWokerMistakeUSerCase(context: Context) : RestClient(context) {
fun department_getHasMistake(usuario: String, password: String): Call<List<DepartmentMistake>> { fun department_getHasMistake(usuario: String, password: String): Call<List<DepartmentMistake>> {
return restClient!!.department_getHasMistake("json", "1", usuario, password, "application/json") return restClient!!.department_getHasMistake("json", "1", usuario, password, "application/json")
} }
fun department_getHasMistakeSalix(usuario: String, password: String): Call<List<DepartmentMistake>> { fun department_getHasMistakeSalix(token:String): Call<List<DepartmentMistake>> {
return salixClient!!.department_getHasMistake("json", "1", usuario, password, "application/json") return salixClient!!.department_getHasMistake(content_type = "application/json", authorization = token)
} }

View File

@ -1,16 +1,20 @@
package es.verdnatura.domain package es.verdnatura.domain
import com.google.gson.JsonObject
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.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.login.model.LoginSalixVO 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.SalixGrupo
import es.verdnatura.presentation.view.feature.login.model.SalixMessageVO import es.verdnatura.presentation.view.feature.login.model.SalixMessageVO
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
import es.verdnatura.presentation.view.feature.workermistake.model.DepartmentMistake import es.verdnatura.presentation.view.feature.workermistake.model.DepartmentMistake
import org.json.JSONObject
import retrofit2.Call import retrofit2.Call
import retrofit2.http.Body import retrofit2.http.*
import retrofit2.http.GET import java.net.URLEncoder
import retrofit2.http.Header
import retrofit2.http.POST
interface SalixService { interface SalixService {
@ -57,20 +61,76 @@ interface SalixService {
): ):
Call<List<CollectionVO>> Call<List<CollectionVO>>
@POST("collections/setSaleQuantity")
fun collectionIncreaseQuantitySalix(
@Header("aplicacion") aplicacion: String,
@Header("version") version: String,
@Header("Authorization") authorization: String,
@Header("Content-Type") content_type: String,
@Body params: SalixSaleQuantity
):
Call<Any>
//https://test-salix.verdnatura.es/api/Departments?filter={"fields": {"id": true, "name": true},"where": {"name": "COMPRAS"}} //https://test-salix.verdnatura.es/api/Departments?filter={"fields": {"id": true, "name": true},"where": {"name": "COMPRAS"}}
// http://test-salix.verdnatura.es/api/Departments?filter={"fields": {"id": true, "name": true},"where": {"hasToMistake": "FALSE"}} // http://test-salix.verdnatura.es/api/Departments?filter={"fields": {"id": true, "name": true},"where": {"hasToMistake": "FALSE"}}
// @GET("api/Departments?filter{\"fields\": {\"id\": true, \"name\": true},\"where\": {\"hasToMistake\": \"FALSE\"}}") // @GET("api/Departments?filter={\"fields\": {\"id\": true, \"name\": true},\"where\": {\"hasToMistake\": \"FALSE\"}}")
@GET("api/Departments") @GET("Departments")
fun department_getHasMistake( fun department_getHasMistake(
@Header("aplicacion") aplicacion: String, @Header("Content-Type") content_type: String,
@Header("version") version: String, @Header("Authorization") authorization: String,
@Header("user") user: String, @Query("filter") filter:String = "{\"fields\": {\"id\": true, \"name\": true},\"where\": {\"name\": \"INFORMATICA\"}}"
@Header("pass") pass: String, // @Query("name") name:String ="COMPRAS"
@Header("Content-Type") content_type: String,
): ):
Call<List<DepartmentMistake>> Call<List<DepartmentMistake>>
@GET("Workers/{idWorker}/sip")
fun sip_getExtension(
@Header("Content-Type") content_type: String,
@Header("Authorization") authorization: String,
@Path("idWorker") idWorker:String
):
Call<Any>
@PATCH("Items/{itemFk}")
fun update_ItemPackingType(
@Header("Content-Type") content_type: String,
@Header("Authorization") authorization: String,
@Path("itemFk") itemFk:String,
@Body params: itemPackingTypeSalix
):
Call<Any>
//Fins que Salix 8.3 no puje no descomentar
@GET("ItemPackingTypes")
fun get_ItemPackingType(
@Header("Content-Type") content_type: String,
@Header("Authorization") authorization: String,
):
Call<List<ItemPackingType>>
@PUT("ItemBarCodes")//REVISADA
fun barcodes_edit(
@Header("Content-Type") content_type: String,
@Header("Authorization") authorization: String,
@Body params: itemBarCodeSalix
):
Call<Any>
@GET("ItemBarCodes/{barCodeValue}/toItem")//REVISADA
fun barcodes_toitem(
@Header("Content-Type") content_type: String,
@Header("Authorization") authorization: String,
@Path("barCodeValue") barCodeValue:String
):
Call<String>
} }

View File

@ -0,0 +1,18 @@
package es.verdnatura.domain
import es.verdnatura.presentation.view.feature.login.model.SalixMessageVO
import retrofit2.Call
import retrofit2.http.Body
import retrofit2.http.Header
import retrofit2.http.POST
interface SalixServiceMessages {
@POST("chats/sendCheckingPresence")
fun sendChekingPresence(
@Header("Content-Type") content_type: String,
@Header("Authorization") authorization: String,
@Body params: SalixMessageVO
):
Call<Boolean>
}

View File

@ -105,7 +105,7 @@ interface VerdnaturaService {
Call<versionApp> Call<versionApp>
//AJUSTES ========================================================================> //AJUSTES ========================================================================>
@POST("almacennew/sector_get")//REVISADA @POST("almacennew/sector_get")//SALIX
fun getSectors( fun getSectors(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -115,7 +115,7 @@ interface VerdnaturaService {
): ):
Call<List<SectorItemVO>> Call<List<SectorItemVO>>
@POST("almacennew/printer_get")//REVISADA @POST("almacennew/printer_get")//NO SALIX
fun printer_get( fun printer_get(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -125,7 +125,7 @@ interface VerdnaturaService {
): ):
Call<List<Printers>> Call<List<Printers>>
@POST("almacennew/worker_getPrinter")//REVISADA @POST("almacennew/worker_getPrinter")//NO SALIX
fun worker_getPrinter( fun worker_getPrinter(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@ -136,7 +136,7 @@ interface VerdnaturaService {
): ):
Call<List<Printers>> Call<List<Printers>>
@POST("almacennew/worker_updatePrinter")//REVISADA @POST("almacennew/worker_updatePrinter")//NO SALIX
fun worker_updatePrinter( fun worker_updatePrinter(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -147,7 +147,7 @@ interface VerdnaturaService {
): ):
Call<Unit> Call<Unit>
@POST("almacennew/worker_updateSector")//REVISADA @POST("almacennew/worker_updateSector")//NO SALIX
fun worker_updateSector( fun worker_updateSector(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -158,7 +158,7 @@ interface VerdnaturaService {
): ):
Call<Unit> Call<Unit>
@POST("almacennew/worker_getSector")//REVISADA @POST("almacennew/worker_getSector")//NO SALIX
fun worker_getSector( fun worker_getSector(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -170,7 +170,7 @@ interface VerdnaturaService {
//PRESACADORES ========================================================================> //PRESACADORES ========================================================================>
@POST("almacennew/ticketToPrePrepare")//REVISADA @POST("almacennew/ticketToPrePrepare")//NO SALIX
fun ticketToPrePrepare( fun ticketToPrePrepare(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -181,7 +181,7 @@ interface VerdnaturaService {
): ):
Call<List<PreSacadorItemVO>> Call<List<PreSacadorItemVO>>
@POST("almacennew/sectorCollection_getSale")//REVISADA @POST("almacennew/sectorCollection_getSale")//NO SALIX
fun sectorCollection_getSale( fun sectorCollection_getSale(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -192,7 +192,7 @@ interface VerdnaturaService {
): ):
Call<List<PreSacadorItemVO>> Call<List<PreSacadorItemVO>>
@POST("almacennew/itemPlacementSupplyGetOrder")//REVISADA @POST("almacennew/itemPlacementSupplyGetOrder")//NO SALIX
fun itemPlacementSupplyGetOrder( fun itemPlacementSupplyGetOrder(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -203,7 +203,7 @@ interface VerdnaturaService {
): ):
Call<List<PreSacadorItemVO>> Call<List<PreSacadorItemVO>>
@POST("almacennew/itemPlacementSupplyCloseOrder")//REVISADA @POST("almacennew/itemPlacementSupplyCloseOrder")//NO SALIX
fun itemPlacementSupplyCloseOrder( fun itemPlacementSupplyCloseOrder(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -215,7 +215,7 @@ interface VerdnaturaService {
Call<String> Call<String>
//SACADORES / CONTROLADORES ========================================================================> //SACADORES / CONTROLADORES ========================================================================>
@POST("almacennew/collectionGet") //REVISADA @POST("almacennew/collectionGet") //NO SALIX
fun collectionGet( fun collectionGet(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -226,7 +226,7 @@ interface VerdnaturaService {
Call<List<CollectionVO>> Call<List<CollectionVO>>
@POST("almacennew/sectorCollection_get") //REVISADA @POST("almacennew/sectorCollection_get") //NO SALIX
fun sectorCollection_get( fun sectorCollection_get(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -236,7 +236,7 @@ interface VerdnaturaService {
): ):
Call<List<CollectionVO>> Call<List<CollectionVO>>
@POST("almacennew/collectionNew")//REVISADA @POST("almacennew/collectionNew")//NO SALIX
fun collectionNew( fun collectionNew(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -247,7 +247,7 @@ interface VerdnaturaService {
): ):
Call<String> Call<String>
@POST("almacennew/sectorCollection_new")//REVISADA @POST("almacennew/sectorCollection_new")//NO SALIX
fun sectorCollection_new( fun sectorCollection_new(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -258,7 +258,7 @@ interface VerdnaturaService {
): ):
Call<Unit> Call<Unit>
@POST("almacennew/sectorCollectionSaleGroup_add")//REVISADA @POST("almacennew/sectorCollectionSaleGroup_add")//NO SALIX
fun sectorCollectionSaleGroup_add( fun sectorCollectionSaleGroup_add(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -269,7 +269,7 @@ interface VerdnaturaService {
): ):
Call<Unit> Call<Unit>
@POST("almacennew/saleTracking_addPrevOK")//REVISADA @POST("almacennew/saleTracking_addPrevOK")//NO SALIX
fun saleTracking_addPrevOK( fun saleTracking_addPrevOK(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -280,7 +280,7 @@ interface VerdnaturaService {
): ):
Call<Unit> Call<Unit>
@POST("almacennew/saleTracking_updateIsChecked")//REVISADA @POST("almacennew/saleTracking_updateIsChecked")//NO SALIX
fun saleTracking_updateIsChecked( fun saleTracking_updateIsChecked(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -302,7 +302,7 @@ interface VerdnaturaService {
): ):
Call<CollectionVO>*/ Call<CollectionVO>*/
@POST("almacennew/ticket_checkFullyControlled")//REVISADA @POST("almacennew/ticket_checkFullyControlled")//NO SALIX
fun ticket_checkFullyControlled( fun ticket_checkFullyControlled(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,
@Header("version") version: String, @Header("version") version: String,
@ -503,6 +503,17 @@ interface VerdnaturaService {
): ):
Call<String> Call<String>
@POST("almacennew/itemShelving_updateFromSale")//REVISADA
fun itemShelving_updateFromSale(
@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<Unit>
@POST("almacennew/ticket_setState")//REVISADA @POST("almacennew/ticket_setState")//REVISADA
fun ticket_setState( fun ticket_setState(
@Header("aplicacion") aplicacion: String, @Header("aplicacion") aplicacion: String,

View File

@ -88,6 +88,7 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
protected val FALTA = 6 protected val FALTA = 6
protected val ERROR = -1 protected val ERROR = -1
val allowedStrings = val allowedStrings =
Arrays.asList( Arrays.asList(
"cero", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "cero", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete",
@ -534,6 +535,15 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
else -> {""} else -> {""}
} }
}
fun removeSector(){
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val editor = prefs.edit()
editor.remove(SECTORFK).commit()
editor.remove(SECTORDESCRIP).commit()
editor.remove(WAREHOUSEFK).commit()
} }
fun setDefaults(key: String?, value: String?, context: Context?) { fun setDefaults(key: String?, value: String?, context: Context?) {

View File

@ -40,6 +40,6 @@ fun getMessageFromAllResponse(callFunction: String, ResponseMessage: String): St
} }
} }
//} //}
return "$messageFromError.$returnMessage" return "$messageFromError.\r$returnMessage"
} }

View File

@ -0,0 +1,10 @@
package es.verdnatura.presentation.common
class itemPackingTypeSalix(
var itemPackingTypeFk: String = ""
)
class itemBarCodeSalix(
var itemFk: String = "",
var code:String=""
)

View File

@ -1,22 +1,31 @@
package es.verdnatura.presentation.view.feature.ajustes.adapter package es.verdnatura.presentation.view.feature.ajustes.adapter
import android.content.Context
import android.content.res.Resources
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat.getColor
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import es.verdnatura.R
import es.verdnatura.databinding.ItemAjustesRowBinding import es.verdnatura.databinding.ItemAjustesRowBinding
import es.verdnatura.presentation.common.OnAjustesItemClickListener import es.verdnatura.presentation.common.OnAjustesItemClickListener
import es.verdnatura.presentation.view.feature.ajustes.model.AjustesItemVO import es.verdnatura.presentation.view.feature.ajustes.model.AjustesItemVO
import java.security.AccessController.getContext
class AjustesAdapter ( class AjustesAdapter (
private val items: List<AjustesItemVO>, private val items: List<AjustesItemVO>,
private val onAjustesItemClickListener: OnAjustesItemClickListener private val onAjustesItemClickListener: OnAjustesItemClickListener
): RecyclerView.Adapter<AjustesAdapter.AjustesItemHolder> () { ): RecyclerView.Adapter<AjustesAdapter.AjustesItemHolder> () {
var context: Context? = null
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AjustesItemHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AjustesItemHolder {
this.context = parent.context
return AjustesItemHolder( return AjustesItemHolder(
ItemAjustesRowBinding.inflate(LayoutInflater.from(parent.context),parent,false) ItemAjustesRowBinding.inflate(LayoutInflater.from(parent.context),parent,false)
) )
} }
override fun getItemCount() =items.size override fun getItemCount() =items.size
@ -29,12 +38,22 @@ class AjustesAdapter (
} }
class AjustesItemHolder( inner class AjustesItemHolder(
val binding: ItemAjustesRowBinding val binding: ItemAjustesRowBinding
) : RecyclerView.ViewHolder(binding.root){ ) : RecyclerView.ViewHolder(binding.root){
fun bind(item: AjustesItemVO) { fun bind(item: AjustesItemVO) {
binding.apply { binding.apply {
this.item = item
this.item = item
if (item.title=="Cerrar Sesión"){
binding.itemTitle.setTextColor(
ContextCompat.getColor(
context!!,
R.color.verdnatura_pumpkin_orange
)
)
}
} }
} }
} }

View File

@ -3,23 +3,19 @@ package es.verdnatura.presentation.view.feature.ajustes.fragment
import android.app.AlertDialog import android.app.AlertDialog
import android.content.ClipData import android.content.ClipData
import android.content.ClipboardManager import android.content.ClipboardManager
import android.content.Context
import android.content.Context.CLIPBOARD_SERVICE import android.content.Context.CLIPBOARD_SERVICE
import android.content.SharedPreferences import android.content.SharedPreferences
import android.os.Bundle import android.os.Bundle
import android.provider.Settings
import android.util.Log
import android.view.KeyEvent
import android.view.View import android.view.View
import androidx.appcompat.app.ActionBar
import androidx.appcompat.widget.TooltipCompat.setTooltipText import androidx.appcompat.widget.TooltipCompat.setTooltipText
import androidx.preference.PreferenceManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.FragmentAjustesBinding import es.verdnatura.databinding.FragmentAjustesBinding
import es.verdnatura.databinding.ToolbarFragmentBinding
import es.verdnatura.domain.notNull import es.verdnatura.domain.notNull
import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnAjustesItemClickListener import es.verdnatura.presentation.common.OnAjustesItemClickListener
import es.verdnatura.presentation.common.hideKeyboard
import es.verdnatura.presentation.view.component.CustomDialog import es.verdnatura.presentation.view.component.CustomDialog
import es.verdnatura.presentation.view.feature.ajustes.adapter.AjustesAdapter import es.verdnatura.presentation.view.feature.ajustes.adapter.AjustesAdapter
import es.verdnatura.presentation.view.feature.ajustes.model.AjustesItemVO import es.verdnatura.presentation.view.feature.ajustes.model.AjustesItemVO
@ -35,7 +31,6 @@ class AjustesFragment :
private lateinit var customDialog: CustomDialog private lateinit var customDialog: CustomDialog
private var sectorListVO: List<SectorItemVO> = listOf() private var sectorListVO: List<SectorItemVO> = listOf()
private var printersList: List<Printers> = listOf() private var printersList: List<Printers> = listOf()
private var vozList: List<String> = listOf()
private var prefs: SharedPreferences? = null private var prefs: SharedPreferences? = null
private var ajustesAdapter: AjustesAdapter? = null private var ajustesAdapter: AjustesAdapter? = null
@ -71,7 +66,12 @@ class AjustesFragment :
override fun init() { override fun init() {
ma.hideBottomNavigation(View.VISIBLE) //ma.hideBottomNavigationFragment(View.VISIBLE)
binding.mainToolbar.toolbarTitle.text="Configuración"
binding.mainToolbar.backButton.visibility=View.INVISIBLE
binding.userText.setText(getData(USER)) binding.userText.setText(getData(USER))
val versionName = requireActivity().packageManager.getPackageInfo( val versionName = requireActivity().packageManager.getPackageInfo(
requireActivity().packageName, requireActivity().packageName,
@ -288,7 +288,7 @@ class AjustesFragment :
dialog.show() dialog.show()
} }
private fun showDialogVoz(array: Array<String>) { /* private fun showDialogVoz(array: Array<String>) {
val builder = AlertDialog.Builder(this.context) val builder = AlertDialog.Builder(this.context)
@ -315,7 +315,7 @@ class AjustesFragment :
val dialog = builder.create() val dialog = builder.create()
dialog.show() dialog.show()
} }*/
private fun showDialogCarros(array: Array<String>) { private fun showDialogCarros(array: Array<String>) {
val builder = AlertDialog.Builder(this.context) val builder = AlertDialog.Builder(this.context)

View File

@ -178,8 +178,15 @@ class ItemCardFragment(
binding.splashProgressTwo.visibility = View.VISIBLE binding.splashProgressTwo.visibility = View.VISIBLE
viewModel.getItemCard(itemFk, warehouseFk, user, password, "item_card") viewModel.getItemCard(itemFk, warehouseFk, user, password, "item_card")
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
viewModel.getItemPackingType(getData(USER), getData(PASSWORD), "get_ItemPackingType")
var working_in_test=false //sergio:No descomentar fins que Salix puje versió 8.3
if (working_in_test){
viewModel.getItemPackingTypeSalix(getData(TOKEN))
}else {
viewModel.getItemPackingType(getData(USER), getData(PASSWORD), "get_ItemPackingType")
}
} }
override fun observeViewModel() { override fun observeViewModel() {
@ -719,14 +726,27 @@ class ItemCardFragment(
} else { } else {
listBarcodes.add(BarcodeVO(code)) listBarcodes.add(BarcodeVO(code))
} }
viewModel.barcodesEdit(
itemFk = itemInfoG!!.id, // var working_in_test=false //sergio:Revisar como borrar directamente en Salix o crear proc en back para borrar.
user = user,
password = password, if (delete=="0") {
value = code, viewModel.barcodesEditSalix(
delete = delete, token=getData(TOKEN),
"itemBarcode_update" itemFk = itemInfoG!!.id,
) barCodeValue = code,
)
}
else{
viewModel.barcodesEdit(
itemFk = itemInfoG!!.id,
user = user,
password = password,
value = code,
delete = delete,
"itemBarcode_update")
}
// viewModel.barcodesEdit(itemFk = itemFk, user = user, password = password, value = code, delete = delete,"itemBarcode_update") // viewModel.barcodesEdit(itemFk = itemFk, user = user, password = password, value = code, delete = delete,"itemBarcode_update")
barcodeAdapter!!.notifyDataSetChanged() barcodeAdapter!!.notifyDataSetChanged()
//changeOfflineValue(item,"", listBarcodes) //changeOfflineValue(item,"", listBarcodes)
@ -745,7 +765,9 @@ class ItemCardFragment(
.setItems( .setItems(
array array
) { _, position -> ) { _, position ->
updateItemPackingType(itemsPackingType[position].code.toString())
updateItemPackingType(itemsPackingType[position].code.toString())
} }
builder.create().show() builder.create().show()
@ -753,13 +775,23 @@ class ItemCardFragment(
private fun updateItemPackingType(itemPackingType: String) { private fun updateItemPackingType(itemPackingType: String) {
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
viewModel.updatePackingType(
var working_in_test=true //sergio: en proves app
if (working_in_test){
viewModel.updatePackingTypeSalix(
getData(TOKEN),
this.itemFk, this.itemFk,
user,
password,
itemPackingType, itemPackingType,
"item_updatePackingType" "item_updatePackingType"
) )}else{
viewModel.updatePackingType(
this.itemFk,
user,
password,
itemPackingType,
"item_updatePackingType"
)
}
} }
} }

View File

@ -109,7 +109,28 @@ class ItemCardViewModel(context: Context) : BaseViewModel() {
}) })
} }
fun getItemPackingTypeSalix(token:String) {
getItemCardUserCase.getItemPackingTypeSalix(token).enqueue(object :
Callback<List<ItemPackingType>>{
override fun onFailure(call: Call<List<ItemPackingType>>, t: Throwable) {
val listError:ArrayList<ItemPackingType> = ArrayList()
listError.add(ItemPackingType(isError = true,errorMessage =getMessageFromAllResponse(nameofFunction(this),t.message!!)))
_itemspackinglist.value = ItemPackingTypeList(listError)
}
override fun onResponse(call: Call<List<ItemPackingType>>, response: Response<List<ItemPackingType>>) {
if (response.body() != null){
_itemspackinglist.value = response.body()?.let { ItemPackingTypeList(it) }
}else{
val listError:ArrayList<ItemPackingType> = ArrayList()
listError.add(ItemPackingType(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())))
_itemspackinglist.value = ItemPackingTypeList(listError)
}
}
})
}
fun itemStockUpdate(itemFk:String,warehouseFk:String,user:String,password:String,newValue:String,isTrash:String,callFunction:String){ fun itemStockUpdate(itemFk:String,warehouseFk:String,user:String,password:String,newValue:String,isTrash:String,callFunction:String){
getItemCardUserCase.itemStockUpdate(user,password,itemFk,warehouseFk,newValue,isTrash).enqueue(object : Callback<String>{ getItemCardUserCase.itemStockUpdate(user,password,itemFk,warehouseFk,newValue,isTrash).enqueue(object : Callback<String>{
@ -221,7 +242,25 @@ class ItemCardViewModel(context: Context) : BaseViewModel() {
}) })
} }
fun updatePackingTypeSalix(token:String,itemFk:String,itemPackingType:String,callFunction:String){
getItemCardUserCase.updatePackingTypeSalix(token,itemFk,itemPackingType).enqueue(object : Callback<Any>{
override fun onFailure(call: Call<Any>, t: Throwable) {
_response.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!))
}
override fun onResponse(call: Call<Any>, response: Response<Any>) {
if (response.body() == null){
_response.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()))
}else{
//if (response.body()=="Finish"){
// //Log.i("VERDNATURA:","Fisnih encontrado")}
_response.value = ResponseItemVO(isError = false,response = response.body()!!.toString())
}
}
})
}
fun itemSaveMin(itemFk:String,user:String,password:String,value:String,callFunction:String){ fun itemSaveMin(itemFk:String,user:String,password:String,value:String,callFunction:String){
getItemCardUserCase.itemSaveMin(user,password,itemFk,value).enqueue(object : Callback<String>{ getItemCardUserCase.itemSaveMin(user,password,itemFk,value).enqueue(object : Callback<String>{
override fun onFailure(call: Call<String>, t: Throwable) { override fun onFailure(call: Call<String>, t: Throwable) {
@ -276,4 +315,24 @@ class ItemCardViewModel(context: Context) : BaseViewModel() {
}) })
} }
fun barcodesEditSalix(token:String,itemFk:String,barCodeValue:String){
getItemCardUserCase.barcodes_editSalix(token,itemFk,barCodeValue).enqueue(object : Callback<Any>{
override fun onFailure(call: Call<Any>, t: Throwable) {
_response.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!))
}
override fun onResponse(call: Call<Any>, response: Response<Any>) {
if (response.body() == null){
_response.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()))
}else{
_response.value = ResponseItemVO(isError = false,response = response.message()!!)
}
}
})
}
} }

View File

@ -7,4 +7,8 @@ class ItemVO(
var available : String = "", var available : String = "",
var isError: Boolean = false, var isError: Boolean = false,
var errorMessage: String = "" var errorMessage: String = ""
) )
class SalixSaleQuantity(
var saleId : Int =0,
var quantity: Int = 0
)

View File

@ -1,7 +1,12 @@
package es.verdnatura.presentation.view.feature.collection.adapter package es.verdnatura.presentation.view.feature.collection.adapter
import android.content.Context import android.content.Context
import android.graphics.BlendMode
import android.graphics.BlendModeColorFilter
import android.graphics.Color import android.graphics.Color
import android.graphics.PorterDuff
import android.os.Build
import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
@ -10,6 +15,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.ItemArticleRowBinding import es.verdnatura.databinding.ItemArticleRowBinding
import es.verdnatura.databinding.ItemArticleRowFragmentBinding
import es.verdnatura.domain.toast import es.verdnatura.domain.toast
import es.verdnatura.presentation.common.* import es.verdnatura.presentation.common.*
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
@ -30,6 +36,8 @@ class SaleAdapter(
this.context = parent.context this.context = parent.context
return AjustesItemHolder( return AjustesItemHolder(
ItemArticleRowBinding.inflate(LayoutInflater.from(parent.context), parent, false) ItemArticleRowBinding.inflate(LayoutInflater.from(parent.context), parent, false)
//working_in_design
//ItemArticleRowFragmentBinding.inflate(LayoutInflater.from(parent.context), parent, false)
) )
} }
@ -41,6 +49,8 @@ class SaleAdapter(
} }
inner class AjustesItemHolder( inner class AjustesItemHolder(
//working_in_design
// val binding: ItemArticleRowFragmentBinding
val binding: ItemArticleRowBinding val binding: ItemArticleRowBinding
) : RecyclerView.ViewHolder(binding.root) { ) : RecyclerView.ViewHolder(binding.root) {
fun bind(sale: SaleVO) { fun bind(sale: SaleVO) {
@ -117,6 +127,10 @@ class SaleAdapter(
paintTicketcolor(sale.level, itemTicketColor) paintTicketcolor(sale.level, itemTicketColor)
//working_in_design : modificar llamada cuando no estemos en
//paintTicketcolor(sale.color, itemColor)
if (!sale.isNew && sale.originalQuantity == sale.quantity) { if (!sale.isNew && sale.originalQuantity == sale.quantity) {
layoutError.visibility = View.GONE layoutError.visibility = View.GONE
@ -246,45 +260,206 @@ class SaleAdapter(
} }
} }
private fun paintTicketcolor(color: String, itemTicketColor: View) { private fun paintTicketcolorOld(color:String,itemView:View){
when (color.uppercase()) {
when (color) { "ROJO" -> itemView.setBackgroundColor(Color.RED)
"ROJO" -> itemTicketColor.setBackgroundColor(Color.RED) "AMARILLO" -> itemView.setBackgroundColor(Color.YELLOW)
"AMARILLO" -> itemTicketColor.setBackgroundColor(Color.YELLOW) "VERDE" -> itemView.setBackgroundColor(Color.GREEN)
"VERDE" -> itemTicketColor.setBackgroundColor(Color.GREEN) "AZUL" -> itemView.setBackgroundColor(Color.BLUE)
"AZUL" -> itemTicketColor.setBackgroundColor(Color.BLUE) "BLANCO" ->{itemView.setBackgroundColor(Color.WHITE)
"BLANCO" -> itemTicketColor.setBackgroundColor(Color.WHITE) itemView.setBackgroundResource((R.drawable.border))}
// "NEGRO"-> itemTicketColor.setBackgroundResource((R.drawable.rectangle))
"NEGRO" -> { "NEGRO" -> {
itemTicketColor.setBackgroundColor(Color.BLACK) itemView.setBackgroundColor(Color.BLACK)
itemTicketColor.setBackgroundResource((R.drawable.border))
} }
"VIOLETA" -> itemTicketColor.setBackgroundColor(0xFF4c2882.toInt()) "VIOLETA" -> itemView.setBackgroundColor(0xFF4c2882.toInt())
"GRIS" -> itemTicketColor.setBackgroundColor(Color.GRAY) "GRIS" -> itemView.setBackgroundColor(Color.GRAY)
"ORANGE" -> itemTicketColor.setBackgroundColor( "ORANGE" -> itemView.setBackgroundColor(
getColor( getColor(
context!!, context!!,
android.R.color.holo_orange_light android.R.color.holo_orange_light
) )
) )
"MORADO" -> itemTicketColor.setBackgroundColor( "MORADO" -> itemView.setBackgroundColor(
getColor( getColor(
context!!, context!!,
android.R.color.holo_purple android.R.color.holo_purple
) )
) )
"CELESTE" -> itemTicketColor.setBackgroundColor(0xFF5b85F5.toInt()) "CELESTE" -> itemView.setBackgroundColor(0xFF5b85F5.toInt())
"ROSA" -> itemTicketColor.setBackgroundColor(0xFFfc0fc0.toInt()) "ROSA" -> itemView.setBackgroundColor(0xFFfc0fc0.toInt())
"DORADO" -> itemTicketColor.setBackgroundColor(0xFFb8860b.toInt()) "DORADO" -> itemView.setBackgroundColor(0xFFb8860b.toInt())
"MARRON" -> itemTicketColor.setBackgroundColor(0xFF663300.toInt()) "MARRON" -> itemView.setBackgroundColor(0xFF663300.toInt())
"PERLA" -> itemTicketColor.setBackgroundColor(0xFFcdcecf.toInt()) "PERLA" -> itemView.setBackgroundColor(0xFFcdcecf.toInt())
"MARFIL" -> itemTicketColor.setBackgroundColor(0xFFf7eada.toInt()) "MARFIL" -> itemView.setBackgroundColor(0xFFf7eada.toInt())
"CIAN" -> itemTicketColor.setBackgroundColor(0xFF00ffff.toInt()) "CIAN" -> itemView.setBackgroundColor(0xFF00ffff.toInt())
"BEIGE" -> itemTicketColor.setBackgroundColor(0xFFf2e7bf.toInt()) "BEIGE" -> itemView.setBackgroundColor(0xFFf2e7bf.toInt())
"trasparente" -> itemView.setBackgroundColor(0xFFf2e7bf.toInt())
else -> { else -> {
itemView.setBackgroundColor(Color.TRANSPARENT)
itemView.setBackgroundResource(R.drawable.background_item_color)
}
}
}
private fun paintTicketcolor(color: String, itemView: View) {
when (color.uppercase()) {
"ROJO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.RED, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP)
}
// itemView.background.setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP)
"AMARILLO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.YELLOW, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.YELLOW, PorterDuff.Mode.SRC_ATOP)
}
"VERDE" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.GREEN, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.GREEN, PorterDuff.Mode.SRC_ATOP)
}
"AZUL" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.BLUE, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP)
}
"BLANCO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.WHITE, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP)
}
// "NEGRO"-> itemView.setBackgroundResource((R.drawable.rectangle))
"NEGRO" -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.BLACK, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.BLACK, PorterDuff.Mode.SRC_ATOP)
}
itemView.setBackgroundResource((R.drawable.border))
}
"VIOLETA" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.parseColor("0xFF4c2882"), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(0xFF4c2882.toInt(), PorterDuff.Mode.SRC_ATOP)
}
"GRIS" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(Color.GRAY, BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(Color.GRAY, PorterDuff.Mode.SRC_ATOP)
}
"ORANGE" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(getColor(
context!!,
android.R.color.holo_orange_light
), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(getColor(
context!!,
android.R.color.holo_orange_light
), PorterDuff.Mode.SRC_ATOP)
}
"MORADO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(getColor(
context!!,
android.R.color.holo_purple
), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(getColor(
context!!,
android.R.color.holo_purple
), PorterDuff.Mode.SRC_ATOP)
}
"CELESTE" -> itemView.setBackgroundColor(0xFF5b85F5.toInt())
"ROSA" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFFfc0fc0.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFFfc0fc0.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"DORADO" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFFb8860b.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFFb8860b.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"MARRON" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFF663300.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFF663300.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"PERLA" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFFcdcecf.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFFcdcecf.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"MARFIL" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFFf7eada.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFFf7eada.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"CIAN" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFF00ffff.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFF00ffff.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
"BEIGE" -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
itemView.background.colorFilter =
BlendModeColorFilter(0xFFf2e7bf.toInt(), BlendMode.SRC_ATOP)
} else {
itemView.background.setColorFilter(
0xFFf2e7bf.toInt(),
PorterDuff.Mode.SRC_ATOP
)
}
else -> {
itemView.visibility=View.INVISIBLE
} }
} }

View File

@ -1,8 +1,10 @@
package es.verdnatura.presentation.view.feature.collection.fragment package es.verdnatura.presentation.view.feature.collection.fragment
import android.content.Context import android.content.Context
import android.util.Log
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import com.google.gson.JsonObject
import es.verdnatura.domain.GetLoginUserCase import es.verdnatura.domain.GetLoginUserCase
import es.verdnatura.domain.GetSacadorControladorUserCase import es.verdnatura.domain.GetSacadorControladorUserCase
import es.verdnatura.domain.GetUbicadorUserCase import es.verdnatura.domain.GetUbicadorUserCase
@ -11,6 +13,7 @@ import es.verdnatura.presentation.common.ResponseItemVO
import es.verdnatura.presentation.view.feature.collection.ItemVO import es.verdnatura.presentation.view.feature.collection.ItemVO
import es.verdnatura.presentation.view.feature.collection.mapper.map import es.verdnatura.presentation.view.feature.collection.mapper.map
import es.verdnatura.presentation.view.feature.sacador.model.* import es.verdnatura.presentation.view.feature.sacador.model.*
import org.json.JSONObject
import retrofit2.Call import retrofit2.Call
import retrofit2.Callback import retrofit2.Callback
import retrofit2.Response import retrofit2.Response
@ -37,6 +40,14 @@ class CollectionViewModel(context: Context) : BaseViewModel()
val response: LiveData<ResponseItemVO> val response: LiveData<ResponseItemVO>
get() = _response get() = _response
private val _responseDel by lazy { MutableLiveData<ResponseItemVO>() }
val responseDel: LiveData<ResponseItemVO>
get() = _responseDel
private val _responseItemShelvingUpdate by lazy { MutableLiveData<ResponseItemVO>() }
val responseItemShelvingUpdate: LiveData<ResponseItemVO>
get() = _responseItemShelvingUpdate
private val _responseSaleMove by lazy { MutableLiveData<ResponseItemVO>() } private val _responseSaleMove by lazy { MutableLiveData<ResponseItemVO>() }
val responseSaleMove: LiveData<ResponseItemVO> val responseSaleMove: LiveData<ResponseItemVO>
get() = _responseSaleMove get() = _responseSaleMove
@ -585,7 +596,7 @@ class CollectionViewModel(context: Context) : BaseViewModel()
{ {
override fun onFailure(call: Call<String>, t: Throwable) override fun onFailure(call: Call<String>, t: Throwable)
{ {
_response.value = ResponseItemVO( _responseDel.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!) errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)
) )
@ -595,19 +606,49 @@ class CollectionViewModel(context: Context) : BaseViewModel()
{ {
if (response.body() == null) if (response.body() == null)
{ {
_response.value = ResponseItemVO( _responseDel.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()) errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())
) )
} else } else
{ {
_response.value = _responseDel.value =
ResponseItemVO(isError = false, response = response.body()!!) ResponseItemVO(isError = false, response = response.body()!!)
} }
} }
}) })
} }
fun itemShelving_updateFromSale(usuario: String, password: String, itemShelvingFk: String,visible:String,callFunction:String)
{
getSacadorControladorUserCase.itemShelving_updateFromSale(usuario, password, itemShelvingFk, visible)
.enqueue(object : Callback<Unit>
{
override fun onFailure(call: Call<Unit>, t: Throwable)
{
_responseItemShelvingUpdate.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)
)
}
override fun onResponse(call: Call<Unit>, response: Response<Unit>)
{
if (!response.isSuccessful )
{
_responseItemShelvingUpdate.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())
)
} else
{
_responseItemShelvingUpdate.value =
ResponseItemVO(isError = false, response = response.message()!!)
}
}
})
}
fun parking(usuario: String, password: String, ticketFk: String, parking: String,callFunction:String) fun parking(usuario: String, password: String, ticketFk: String, parking: String,callFunction:String)
{ {
getUbicadorUserCase.shelvingPark(usuario, password, ticketFk, parking) getUbicadorUserCase.shelvingPark(usuario, password, ticketFk, parking)
@ -704,6 +745,36 @@ class CollectionViewModel(context: Context) : BaseViewModel()
}) })
} }
fun getIdFromCodeSalix(token: String, code: String)
{
getSacadorControladorUserCase.getIdFromCodeSalix(token, 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()!!)
}
}
})
}
fun collectionIncreaseQuantity( fun collectionIncreaseQuantity(
usuario: String, usuario: String,
password: String, password: String,
@ -730,14 +801,6 @@ class CollectionViewModel(context: Context) : BaseViewModel()
override fun onResponse(call: Call<String>, response: Response<String>) override fun onResponse(call: Call<String>, response: Response<String>)
{ {
/* if (response.isSuccessful){
_responseIncQuantity.value =
ResponseItemVO(isError = false, response = response.body()!!)
}else{
_responseIncQuantity.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())
}*/
if (response.body() == null) if (response.body() == null)
{ {
_responseIncQuantity.value = ResponseItemVO( _responseIncQuantity.value = ResponseItemVO(
@ -753,6 +816,44 @@ class CollectionViewModel(context: Context) : BaseViewModel()
}) })
} }
fun collectionIncreaseQuantitySalix(
token: String,
saleFk: String,
quantity: String,callFunction:String
)
{
getSacadorControladorUserCase.collectionIncreaseQuantitySalix(
token,
saleFk,
quantity
).enqueue(object : Callback<Any>
{
override fun onFailure(call: Call<Any>, t: Throwable)
{
_responseIncQuantity.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)
)
}
override fun onResponse(call: Call<Any>, response: Response<Any>)
{
if (!response.isSuccessful)
{
_responseIncQuantity.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())
)
} else
{
_responseIncQuantity.value =
ResponseItemVO(isError = false, response = response.message().toString())
}
}
})
}
fun sendChekingPresence(token: String, workerId: String, message: String,calledFunction:String) fun sendChekingPresence(token: String, workerId: String, message: String,calledFunction:String)
{ {
try try
@ -763,11 +864,11 @@ class CollectionViewModel(context: Context) : BaseViewModel()
override fun onResponse(call: Call<Boolean>, response: Response<Boolean>) override fun onResponse(call: Call<Boolean>, response: Response<Boolean>)
{ {
if (!response.isSuccessful) if (!response.isSuccessful || response.message()=="false")
{ {
_responseSalixMessage.value = ResponseItemVO( _responseSalixMessage.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = "Error en la llamada $calledFunction al enviar mensaje rocket." + getMessageFromAllResponse( errorMessage = "Error al enviar mensaje rocket." + getMessageFromAllResponse(
nameofFunction(this),response.message() nameofFunction(this),response.message()
)) ))
//Log.i("Salix","Mensaje enviado a salix") //Log.i("Salix","Mensaje enviado a salix")
@ -777,11 +878,11 @@ class CollectionViewModel(context: Context) : BaseViewModel()
override fun onFailure(call: Call<Boolean>, t: Throwable) override fun onFailure(call: Call<Boolean>, t: Throwable)
{ {
/*_responseSalixMessage.value = ResponseItemVO( _responseSalixMessage.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = "Error en la llamada $calledFunction al enviar mensaje rocket." + getMessageFromAllResponse( errorMessage = "Error al enviar mensaje rocket." + getMessageFromAllResponse(
nameofFunction(this),t.message!!)) nameofFunction(this),t.message!!))
*/
//Log.i("Salix Error",""+t.message) //Log.i("Salix Error",""+t.message)
} }
}) })
@ -908,7 +1009,67 @@ class CollectionViewModel(context: Context) : BaseViewModel()
} }
}) })
} }
fun sip_getExtensionSalix(
token:String,
workerId: String,
callFunction:String
)
{
getSacadorControladorUserCase.sip_getExtensionSalix(
token,
workerId
).enqueue(object :
Callback<Any>
{
override fun onFailure(call: Call<Any>, t: Throwable)
{
_responseGetExtensionFromUserId.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)
)
}
override fun onResponse(
call: Call<Any>,
response: Response<Any?>
)
{
// No se ajusta ya que la response is Successful pero el valor retornado es un error y por lo tanto response.body nulo y tira error
/* if (response.isSuccessful ){
_responseGetExtensionFromUserId.value = ResponseItemVO(
isError = false,
response = JSONObject(response.body()!!.toString()).get("extension").toString(),
errorMessage = "")
}else{
_responseGetExtensionFromUserId.value = ResponseItemVO(
isError = true,
response = response.message()!!,
errorMessage = "No se puede realizar la llamada. El usuario no tiene la extensión configurada. Solicítelo a informática.")
}*/
if (response.body() != null)
{
_responseGetExtensionFromUserId.value = ResponseItemVO(
isError = false,
response = JSONObject(response.body()!!.toString()).get("extension").toString(),
errorMessage = ""
)
// Se prueba el call como JSONOBJECT pero no da resultado porque el sevidor puede devolver un null directamente y salta error MAlformed
// Se deja Any para obtener cualquier tipo de objeto y si no es nulo se parsea a Json
// Per al cas que el CAll siga Any enlloc de JsonObject:
//var answerError=(JSONObject(response.body().toString()).get("extension").toString())
//var messageFromError = answerError.get("extension").toString()
//Log.d("VERDNATURA::","Message ext"+messageFromError)
}else{
_responseGetExtensionFromUserId.value = ResponseItemVO(
isError = true,
response = response.message()!!,
errorMessage = "No se puede realizar la llamada. El usuario no tiene la extensión configurada. Solicítelo a informática.")
}
}
})
}
fun ticket_checkFullyControlled( fun ticket_checkFullyControlled(
usuario: String, usuario: String,
password: String, password: String,

View File

@ -106,7 +106,7 @@ class CollectionShowTicketFragment(
private fun print() { private fun print() {
if (ma.havePrinter()) { if (ma.havePrinter() && ma.haveSector()) {
viewModel.collectionStickerPrint( viewModel.collectionStickerPrint(
usuario = getData(USER), usuario = getData(USER),
password = getData(PASSWORD), password = getData(PASSWORD),

View File

@ -119,7 +119,7 @@ class DayOfSaleFragment(
if (it.list.isEmpty()){ if (it.list.isEmpty()){
customDialog.setTitle("Sin resultados") customDialog.setTitle("Sin resultados")
.setDescription("No se ha podido obtener datos de la etiqueta escaneada. ") .setDescription("No hay nada vendido para el carro escaneado. ")
.setOkButton("Cerrar") { .setOkButton("Cerrar") {
customDialog.dismiss() customDialog.dismiss()
}.show() }.show()

View File

@ -61,6 +61,11 @@ class HistoricoVehiculoFragment (
if (it.list.isEmpty()){ if (it.list.isEmpty()){
ma.messageWithSound("Solo puedes visualizar cuando has cogido tu mismo el vehículo a no ser que tengas permisos para ello.",true,true,"Información") ma.messageWithSound("Solo puedes visualizar cuando has cogido tu mismo el vehículo a no ser que tengas permisos para ello.",true,true,"Información")
}else{
if (it.list[0].isError){
ma.messageWithSound(it.list[0].errorMessage,true,true,"Información")
}
} }
} }

View File

@ -13,6 +13,7 @@ import es.verdnatura.presentation.view.feature.historicovehiculo.model.ItemHisto
import retrofit2.Call import retrofit2.Call
import retrofit2.Callback import retrofit2.Callback
import retrofit2.Response import retrofit2.Response
import timber.log.Timber.d
import timber.log.Timber.i import timber.log.Timber.i
class HistoricoVehiculoViewModel (context: Context) : BaseViewModel() { class HistoricoVehiculoViewModel (context: Context) : BaseViewModel() {
@ -32,6 +33,7 @@ class HistoricoVehiculoViewModel (context: Context) : BaseViewModel() {
val listError:ArrayList<ItemHistoricoVehiculo> = ArrayList() val listError:ArrayList<ItemHistoricoVehiculo> = ArrayList()
listError.add(ItemHistoricoVehiculo(isError = true,errorMessage =getMessageFromAllResponse(nameofFunction(this),t.message!!))) listError.add(ItemHistoricoVehiculo(isError = true,errorMessage =getMessageFromAllResponse(nameofFunction(this),t.message!!)))
_historicovehiculoList.value = ItemHistoricoVehiculoList(listError) _historicovehiculoList.value = ItemHistoricoVehiculoList(listError)
} }
override fun onResponse( override fun onResponse(
@ -39,13 +41,16 @@ class HistoricoVehiculoViewModel (context: Context) : BaseViewModel() {
response: Response<List<ItemHistoricoVehiculo>> response: Response<List<ItemHistoricoVehiculo>>
) { ) {
if (response.body() != null){ if (response.body() != null){
i("El response es "+response.body())
_historicovehiculoList.value = response.body()?.let { ItemHistoricoVehiculoList(it) } _historicovehiculoList.value = response.body()?.let { ItemHistoricoVehiculoList(it) }
}else{ }else{
val listError:ArrayList<ItemHistoricoVehiculo> = ArrayList() val listError:ArrayList<ItemHistoricoVehiculo> = ArrayList()
listError.add(ItemHistoricoVehiculo(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()))) listError.add(ItemHistoricoVehiculo(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())))
_historicovehiculoList.value = ItemHistoricoVehiculoList(listError) _historicovehiculoList.value = ItemHistoricoVehiculoList(listError)
} }
} }
}) })

View File

@ -194,14 +194,43 @@ class InventaryViewModel(context: Context) : BaseViewModel() {
}) })
} }
fun department_getHasMistakeSalix(token:String)
fun department_getHasMistake(usuario: String, password: String)
{ {
var working_in_test=false
//getWorkerMistakeUserCase.department_getHasMistakeSalix(usuario, password)
getWorkerMistakeUserCase.department_getHasMistake(usuario, password) getWorkerMistakeUserCase.department_getHasMistakeSalix(token)
.enqueue(object : Callback<List<DepartmentMistake>>
{
override fun onFailure(call: Call<List<DepartmentMistake>>, t: Throwable)
{
val listError: ArrayList<DepartmentMistake> = ArrayList()
listError.add(DepartmentMistake(isError = true,errorMessage =getMessageFromAllResponse(nameofFunction(this),t.message!!)))
_mistakeDepartmentList.value = departmentMistakeList(listError)
}
override fun onResponse(
call: Call<List<DepartmentMistake>>,
response: Response<List<DepartmentMistake>>
)
{
if (response.body() != null)
{
_mistakeDepartmentList.value = response.body()?.let { departmentMistakeList(it) }
} else
{
val listError: ArrayList<DepartmentMistake> = ArrayList()
listError.add(DepartmentMistake("0", ""))
_mistakeDepartmentList.value = departmentMistakeList(listError)
}
}
})
}
fun department_getHasMistake(usuario:String, password:String)
{
getWorkerMistakeUserCase.department_getHasMistake(usuario, password)
.enqueue(object : Callback<List<DepartmentMistake>> .enqueue(object : Callback<List<DepartmentMistake>>
{ {
override fun onFailure(call: Call<List<DepartmentMistake>>, t: Throwable) override fun onFailure(call: Call<List<DepartmentMistake>>, t: Throwable)
@ -314,11 +343,18 @@ class InventaryViewModel(context: Context) : BaseViewModel() {
{ {
if (!response.isSuccessful) if (!response.isSuccessful)
{ {
if (response.code()==403){
_responseAddMistake.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),"Usuario sin permisos para realizar la acción")
)
}else{
d("Error message:"+{response.errorBody()}+"-"+response.message()+"-"+response.raw()) d("Error message:"+{response.errorBody()}+"-"+response.message()+"-"+response.raw())
_responseAddMistake.value = ResponseItemVO( _responseAddMistake.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()) errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())
) )
}
} else } else
{ {

View File

@ -8,6 +8,7 @@ import android.content.pm.PackageInfo
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.net.Uri import android.net.Uri
import android.provider.Settings import android.provider.Settings
import android.util.Log
import android.view.KeyEvent import android.view.KeyEvent
import android.view.View import android.view.View
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
@ -86,8 +87,9 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
@SuppressLint("HardwareIds") @SuppressLint("HardwareIds")
private fun saveIdentifiers() { private fun saveIdentifiers() {
val AndroidId: String = Settings.Secure.getString(requireActivity().contentResolver, Settings.Secure.ANDROID_ID) val AndroidId: String =
saveData(ANDROID_ID,AndroidId) Settings.Secure.getString(requireActivity().contentResolver, Settings.Secure.ANDROID_ID)
saveData(ANDROID_ID, AndroidId)
} }
@ -260,31 +262,37 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
workergetSector.observe(viewLifecycleOwner) { workergetSector.observe(viewLifecycleOwner) {
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
if (it.id != 0) {
saveDataInt("sectorFk", it.id) if (it.isError) {
saveData("sectordescrip", it.description) removeSector()
it.warehouseFk?.let { it1 -> saveDataInt("warehouseFk", it1) } Log.d("VERDNATURA::","ERROR")
} else {
if (it.id != 0) {
saveDataInt("sectorFk", it.id)
saveData("sectordescrip", it.description)
it.warehouseFk?.let { it1 -> saveDataInt("warehouseFk", it1) }
}
} }
} }
loadWorkerPrintList.observe(viewLifecycleOwner, Observer{ event -> loadWorkerPrintList.observe(viewLifecycleOwner, Observer { event ->
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
event.getContentIfNotHandled().notNull { event.getContentIfNotHandled().notNull {
if (it.list.isEmpty()){ if (it.list.isEmpty()) {
"Tiene que seleccionar impresora.".toast(context) "Tiene que seleccionar impresora.".toast(context)
}else{ } else {
if (!it.list.get(0).isError){ if (!it.list.get(0).isError) {
saveDataInt(PRINTERFK, it.list.get(0).id!!) saveDataInt(PRINTERFK, it.list.get(0).id!!)
saveData(PRINTERNAME, it.list.get(0).name!!) saveData(PRINTERNAME, it.list.get(0).name!!)
}else{ } else {
it.list.get(0).errorMessage.toast(context) it.list.get(0).errorMessage.toast(context)
} }
} }
} }
}) })
@ -332,12 +340,12 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
editor.apply() editor.apply()
} }
/* private fun saveUserFkPref(loginitem: LoginItemVO) { /* private fun saveUserFkPref(loginitem: LoginItemVO) {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0) val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val editor = prefs.edit() val editor = prefs.edit()
editor.putString(USERFK, loginitem.id) editor.putString(USERFK, loginitem.id)
editor.apply() editor.apply()
}*/ }*/
private fun saveUserFkPref(workerId: String) { private fun saveUserFkPref(workerId: String) {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0) val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
@ -386,10 +394,10 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
editor.commit() editor.commit()
}*/ }*/
/* fun getDefaults(key: String?, context: Context?): String? { /* fun getDefaults(key: String?, context: Context?): String? {
val preferences = PreferenceManager.getDefaultSharedPreferences(context) val preferences = PreferenceManager.getDefaultSharedPreferences(context)
return preferences.getString(key, null) return preferences.getString(key, null)
}*/ }*/
// sergio:creada restart en BaseFragment para AjustesFragment... // sergio:creada restart en BaseFragment para AjustesFragment...

View File

@ -401,7 +401,6 @@ class LoginViewModel(context: Context) : BaseViewModel()
getLoginUserCase.worker_getSector(user,password).enqueue(object : Callback<SectorItemVO>{ getLoginUserCase.worker_getSector(user,password).enqueue(object : Callback<SectorItemVO>{
override fun onFailure(call: Call<SectorItemVO>, t: Throwable) { override fun onFailure(call: Call<SectorItemVO>, t: Throwable) {
Timber.d("El sector failure " + t.message!!)
_workergetSector.value = SectorItemVO(0,"",0,isError = true, errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)) _workergetSector.value = SectorItemVO(0,"",0,isError = true, errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!))
} }

View File

@ -9,6 +9,7 @@ import android.widget.Toast
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager
import com.google.android.material.bottomnavigation.LabelVisibilityMode.LABEL_VISIBILITY_UNLABELED
import es.verdnatura.BuildConfig import es.verdnatura.BuildConfig
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.ActivityMainBinding import es.verdnatura.databinding.ActivityMainBinding
@ -85,17 +86,24 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
mperror = MediaPlayer.create((this), R.raw.error) mperror = MediaPlayer.create((this), R.raw.error)
mpok = MediaPlayer.create((this), R.raw.ok) mpok = MediaPlayer.create((this), R.raw.ok)
customDialog = CustomDialogMainActivity(this) customDialog = CustomDialogMainActivity(this)
setBottomMenu()
// working_in_design = para nuevo diseño app
SetisWorkingInDesign(false)
if (isWorkingInDesign()) {
setBottomMenuFragment()
} else {
setBottomMenu()
}
if (haveSector() && havePrinter()) addFragment(
/* working_in_design nuevo diseño*/
if (haveSector() && havePrinter()) addFragment( // PasilleroFragment.newInstance("Verdnatura_design",true),
PasilleroFragment.newInstance("Verdnatura"), PasilleroFragment.newInstance("Verdnatura", false),
R.id.main_frame_layout, R.id.main_frame_layout,
PasilleroFragment.TAG, PasilleroFragment.TAG,
false false
@ -113,39 +121,34 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
} }
//navigationDrawer()
} }
private fun navigationDrawer(){
fun haveSector(): Boolean {
/* val drawerLayout = binding.drawerLayout
drawerLayout.open()
val toggle = ActionBarDrawerToggle(
this,
drawerLayout,
toolbar,
"abierto",
"cerrado"
)
drawerLayout.addDrawerListener(toggle)
toggle.syncState()*/
}
/* private fun navigateToFragment(){
val navHostFragment =
supportFragmentManager.findFragmentById(R.id.main_frame_layout) as NavHostFragment
val navController = navHostFragment.navController
navController.navigate(R.id.action_pasilleroFragment_to_ajustesFragment)
}
*/
private fun haveSector(): Boolean {
val prefs: SharedPreferences = getSharedPreferences("es.verdnatura.user.prefs", 0) val prefs: SharedPreferences = getSharedPreferences("es.verdnatura.user.prefs", 0)
val sectorFk = prefs.getInt("sectorFk", -1) val sectorFk = prefs.getInt("sectorFk", -1)
return sectorFk != -1 return sectorFk != -1
} }
fun isWorkingInDesign():Boolean{
val prefs: SharedPreferences = getSharedPreferences("es.verdnatura.user.prefs", 0)
val working= prefs.getInt("working_in_design", -1)
return working != -1
}
fun SetisWorkingInDesign(isWorkingIn: Boolean) {
val prefs: SharedPreferences = getSharedPreferences("es.verdnatura.user.prefs", 0)
val editor = prefs.edit()
if (isWorkingIn){
editor.putInt("working_in_design", 0)
editor.apply()
}else{
editor.putInt("working_in_design", -1)
editor.apply()
}
}
fun havePrinter(): Boolean { fun havePrinter(): Boolean {
val prefs: SharedPreferences = getSharedPreferences("es.verdnatura.user.prefs", 0) val prefs: SharedPreferences = getSharedPreferences("es.verdnatura.user.prefs", 0)
val printerFk = prefs.getInt("printerFk", -1) val printerFk = prefs.getInt("printerFk", -1)
@ -262,7 +265,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments() delete_Fragments()
addFragment( addFragment(
PasilleroFragment.newInstance("Verdnatura"), PasilleroFragment.newInstance("Verdnatura", isInitMenu = false),
R.id.main_frame_layout, R.id.main_frame_layout,
PasilleroFragment.TAG, PasilleroFragment.TAG,
false false
@ -290,11 +293,11 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
ControladorFragment.TAG, ControladorFragment.TAG,
false false
) )
/*addFragment( /* addFragment(
CollectionFragment.newInstance(type = "CHECKER", collection = CollectionVO()), CollectionFragment.newInstance(type = "CHECKER", collection = CollectionVO()),
R.id.main_frame_layout, R.id.main_frame_layout,
ControladorFragment.TAG, ControladorFragment.TAG,
false)*/ false)*/
// true // true
} }
getString(R.string.Paletizadores) -> { getString(R.string.Paletizadores) -> {
@ -302,7 +305,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
delete_Fragments() delete_Fragments()
//addFragment(ExpeditionTruckListFragment.newInstance(),R.id.main_frame_layout, ExpeditionTruckListFragment.TAG,false) //addFragment(ExpeditionTruckListFragment.newInstance(),R.id.main_frame_layout, ExpeditionTruckListFragment.TAG,false)
addFragment( addFragment(
PasilleroFragment.newInstance("Paletizadores"), PasilleroFragment.newInstance("Paletizadores", isInitMenu = false),
R.id.main_frame_layout, R.id.main_frame_layout,
PasilleroFragment.TAG, PasilleroFragment.TAG,
false false
@ -332,6 +335,186 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
} }
} }
fun setBottomMenuFragment() {
val bottomMenu = binding.mainBottomNavigation
//iconos abajo sin texto
bottomMenu.labelVisibilityMode = LABEL_VISIBILITY_UNLABELED
bottomMenu.itemIconTintList = null
GlobalScope.launch(Dispatchers.Main) {
val bottomMenuItems: ArrayList<ItemMenuVO> = ArrayList()
bottomMenuItems.add(
ItemMenuVO(
0,
title = getString(R.string.Pasilleros),
defaultImage = ContextCompat.getDrawable(
applicationContext, R.drawable.ic_init_ui
),
selectedImage = ContextCompat.getDrawable(
applicationContext, R.drawable.ic_init_ui_selected
)
)
)
bottomMenuItems.add(
ItemMenuVO(
1,
title = getString(R.string.verticket),
defaultImage = ContextCompat.getDrawable(
applicationContext, R.drawable.ic_eye_ui
),
selectedImage = ContextCompat.getDrawable(
applicationContext, R.drawable.ic_eye_ui_selected
)
)
)
bottomMenuItems.add(
ItemMenuVO(
2,
title = getString(R.string.Parking),
defaultImage = ContextCompat.getDrawable(
applicationContext, R.drawable.ic_parking_ui
),
selectedImage = ContextCompat.getDrawable(
applicationContext, R.drawable.ic_parking_ui_selected
)
)
)
bottomMenuItems.add(
ItemMenuVO(
3,
title = getString(R.string.Ajustes),
defaultImage = ContextCompat.getDrawable(
applicationContext, R.drawable.ic_setting_ui
),
selectedImage = ContextCompat.getDrawable(
applicationContext, R.drawable.ic_setting_ui_selected
)
)
)
// Add al items to menu view
bottomMenuItems.forEach {
bottomMenu.menu.add(Menu.NONE, it.id, Menu.NONE, it.title).icon = it.defaultImage
}
if (haveSector()) {
// Select first item by default
firstItem = bottomMenuItems.first()
bottomMenu.selectedItemId = firstItem!!.id
bottomMenu.menu.findItem(firstItem!!.id).icon = firstItem!!.selectedImage
lastBottomMenuItemSelected = firstItem
} else {
// Select last item by default
val lastItem = bottomMenuItems.last()
bottomMenu.selectedItemId = lastItem.id
bottomMenu.menu.findItem(lastItem.id).icon = lastItem.selectedImage
lastBottomMenuItemSelected = lastItem
}
bottomMenu.setOnNavigationItemSelectedListener { menuItem ->
// Get selected item from itemList and apply ui changes to menu view
val selectedItemMenu = bottomMenuItems.find { menuItem.itemId == it.id }
menuItem.icon = selectedItemMenu?.selectedImage
// Get last selected item and disable it
bottomMenu.menu.findItem(lastBottomMenuItemSelected?.id!!).icon =
lastBottomMenuItemSelected?.defaultImage
lastBottomMenuItemSelected = selectedItemMenu
when (selectedItemMenu?.title) {
getString(R.string.Pasilleros) -> {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments()
addFragment(
PasilleroFragment.newInstance("Verdnatura_design", true),
R.id.main_frame_layout,
PasilleroFragment.TAG,
false
)
}
getString(R.string.Sacadores) -> {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments()
addFragment(
ControlVehiculoFragment.newInstance(MAINACTIVITY),
R.id.main_frame_layout,
MAINACTIVITY.TAG,
false
)
}
getString(R.string.verticket) -> {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments()
addFragment(
ShowTicketFragment.newInstance(),
R.id.main_frame_layout,
MAINACTIVITY.TAG,
false
)
}
getString(R.string.Parking) -> {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments()
addFragment(
ParkingFragment.newInstance(),
R.id.main_frame_layout,
MAINACTIVITY.TAG,
false
)
}
getString(R.string.Ajustes) -> {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments()
addFragment(
AjustesFragment.newInstance(),
R.id.main_frame_layout,
AjustesFragment.TAG,
false
)
}
}
true
}
/* working_in_design: para cuando son seleccionados de nuevo */
/*bottomMenu.setOnNavigationItemReselectedListener {
when (it.title){
getString(R.string.Pasilleros) -> {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments()
addFragment(
PasilleroFragment.newInstance("Verdnatura_design",true),
R.id.main_frame_layout,
PasilleroFragment.TAG,
false
)
}
}
}*/
}
}
private fun delete_Fragments() { private fun delete_Fragments() {
fm.getFragments().forEach { fm.getFragments().forEach {
///Log.i("VERDNATURA:", "si esta ${it.tag.toString()}") ///Log.i("VERDNATURA:", "si esta ${it.tag.toString()}")
@ -344,6 +527,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
override fun onPasillerosItemClickListener(item: PasillerosItemVO, entryPoint: String) { override fun onPasillerosItemClickListener(item: PasillerosItemVO, entryPoint: String) {
when (item.title) { when (item.title) {
"Asociar Sacador SmartTags" -> { "Asociar Sacador SmartTags" -> {
@ -358,6 +542,43 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
"Paletizar" -> { "Paletizar" -> {
addFragmentOnTop(ExpeditionTruckListFragment.newInstance()) addFragmentOnTop(ExpeditionTruckListFragment.newInstance())
} }
getString(R.string.Paletizadores) -> {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
// delete_Fragments()
//addFragment(ExpeditionTruckListFragment.newInstance(),R.id.main_frame_layout, ExpeditionTruckListFragment.TAG,false)
addFragment(
PasilleroFragment.newInstance(
getString(R.string.Paletizadores),
isInitMenu = false
),
R.id.main_frame_layout,
PasilleroFragment.TAG,
false
)
}
getString(R.string.Controladores) -> {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments()
addFragment(
ControladorFragment.newInstance(),
R.id.main_frame_layout,
ControladorFragment.TAG,
false
)
}
getString(R.string.Pasilleros) -> {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
delete_Fragments()
addFragment(
PasilleroFragment.newInstance("Verdnatura", isInitMenu = false),
R.id.main_frame_layout,
PasilleroFragment.TAG,
false
)
}
getString(R.string.ExpeditionState) -> { getString(R.string.ExpeditionState) -> {
// addFragment(ExpeditionStateFragment.newInstance(entryPoint),R.id.main_frame_layout, ExpeditionTruckListFragment.TAG,false) // addFragment(ExpeditionStateFragment.newInstance(entryPoint),R.id.main_frame_layout, ExpeditionTruckListFragment.TAG,false)
addFragmentOnTop(ExpeditionStateFragment.newInstance(item.title)) addFragmentOnTop(ExpeditionStateFragment.newInstance(item.title))
@ -367,7 +588,12 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
} }
"Gestión de buffers" -> { "Gestión de buffers" -> {
addFragmentOnTop(PasilleroFragment.newInstance("Gestión de buffer")) addFragmentOnTop(
PasilleroFragment.newInstance(
"Gestión de buffer",
isInitMenu = false
)
)
} }
"Control de usuario de vehículo" -> { "Control de usuario de vehículo" -> {
@ -482,7 +708,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
addFragmentOnTop(WorkermistakeFragment.newInstance(item.title)) addFragmentOnTop(WorkermistakeFragment.newInstance(item.title))
} }
"Obtener colección previa"->{ "Obtener colección previa" -> {
addFragmentOnTop(InitPreSacadorFragment.newInstance(item.title)) addFragmentOnTop(InitPreSacadorFragment.newInstance(item.title))
} }
@ -548,26 +774,26 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
} }
/* fun onParkingSaleSelected(sales: SaleVO) { /* fun onParkingSaleSelected(sales: SaleVO) {
addFragmentOnTop(ParkingSaleFragment.newInstance(SaleVO = sales)) addFragmentOnTop(ParkingSaleFragment.newInstance(SaleVO = sales))
}*/ }*/
override fun onCollectionSelected(collection: CollectionVO, type: String) { override fun onCollectionSelected(collection: CollectionVO, type: String) {
// fm.popBackStack() // fm.popBackStack()
when (type){ when (type) {
PREITEMPICKER->{ PREITEMPICKER -> {
// d("VERDNATURA::"," entrando en preitempicker") // d("VERDNATURA::"," entrando en preitempicker")
// d("VERDNATURA::"," entrando en preitempicker, la colecc es "+collection.collectionFk) // d("VERDNATURA::"," entrando en preitempicker, la colecc es "+collection.collectionFk)
addFragmentOnTop(EndSacadorFragment.newInstance(collection,type)) addFragmentOnTop(EndSacadorFragment.newInstance(collection, type))
} }
"SHOWTICKET"->{ "SHOWTICKET" -> {
addFragmentOnTop(CollectionShowTicketFragment.newInstance(collection, type)) addFragmentOnTop(CollectionShowTicketFragment.newInstance(collection, type))
} }
else->{ else -> {
addFragmentOnTop(CollectionFragment.newInstance(collection, type)) addFragmentOnTop(CollectionFragment.newInstance(collection, type))
} }
} }
@ -593,7 +819,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
fun onVehicleSelected(tag: String) { fun onVehicleSelected(tag: String) {
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
// se pone a true en la pila para que cuando se vuelva atrás permanezca ya que se borran todos los fragmentos desde otras opciones // se pone a true en la pila para que cuando se vuelva atrás permanezca ya que se borran todos los fragmentos desde otras opciones
addFragment( addFragment(
ControlVehiculoFragment.newInstance(tag), ControlVehiculoFragment.newInstance(tag),
R.id.main_frame_layout, R.id.main_frame_layout,
@ -604,10 +830,12 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
// addFragmentOnTop(ControlVehiculoFragment.newInstance(tag)) // addFragmentOnTop(ControlVehiculoFragment.newInstance(tag))
} }
fun openFragmentPickers(delete:Boolean) { fun openFragmentPickers(delete: Boolean) {
//delete_Fragments() //delete_Fragments()
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
if (delete){delete_Fragments()} if (delete) {
delete_Fragments()
}
addFragment( addFragment(
SacadorFragment.newInstance(), SacadorFragment.newInstance(),
R.id.main_frame_layout, R.id.main_frame_layout,
@ -633,30 +861,39 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
binding.mainBottomNavigation.visibility = visible binding.mainBottomNavigation.visibility = visible
} }
fun messageWithSound(message: String, isError: Boolean,isPlayed:Boolean?,titleWithError:String="Error",isToasted:Boolean?=false) { fun hideBottomNavigationFragment(visible: Int) {
binding.mainBottomNavigationFragment.visibility = visible
}
fun messageWithSound(
message: String,
isError: Boolean,
isPlayed: Boolean?,
titleWithError: String = "Error",
isToasted: Boolean? = false
) {
if (!isError) { if (!isError) {
if (isPlayed == true)(mpok?.start()) if (isPlayed == true) (mpok?.start())
message.toast(this, Toast.LENGTH_SHORT) message.toast(this, Toast.LENGTH_SHORT)
} else { } else {
if (isPlayed == true)( mperror?.start()) if (isPlayed == true) (mperror?.start())
if (isToasted==true){ if (isToasted == true) {
message.toast(this, Toast.LENGTH_SHORT) message.toast(this, Toast.LENGTH_SHORT)
}else{ } else {
customDialog.setTitle(titleWithError).setDescription(message) customDialog.setTitle(titleWithError).setDescription(message)
.setOkButton("Aceptar") { .setOkButton("Aceptar") {
customDialog.dismiss() customDialog.dismiss()
}.show() }.show()
} }
} }
} }
} }

View File

@ -105,7 +105,7 @@ class ExpeditionPalletDetailFragment(
}else if(item == iconPrint){ }else if(item == iconPrint){
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
if (ma.havePrinter()) { if (ma.havePrinter() && ma.haveSector()) {
(getString(R.string.Imprimiendo) + getData(PRINTERNAME)).toast( (getString(R.string.Imprimiendo) + getData(PRINTERNAME)).toast(
requireContext() requireContext()
) )

View File

@ -2,9 +2,15 @@ package es.verdnatura.presentation.view.feature.pasillero.adapter
import android.content.Context import android.content.Context
import android.os.Build import android.os.Build
import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.databinding.DataBindingUtil
import androidx.databinding.ViewDataBinding
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import es.verdnatura.BR
import es.verdnatura.R
import es.verdnatura.databinding.ItemMainMenuBinding
import es.verdnatura.databinding.ItemPasillerosMainMenuBinding import es.verdnatura.databinding.ItemPasillerosMainMenuBinding
import es.verdnatura.presentation.common.OnPasillerosItemClickListener import es.verdnatura.presentation.common.OnPasillerosItemClickListener
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
@ -12,15 +18,58 @@ import timber.log.Timber.d
class PasillerosAdapter ( class PasillerosAdapter (
private val items: List<PasillerosItemVO>, private val items: List<PasillerosItemVO>,
private val onPasillerosItemClickListener: OnPasillerosItemClickListener private val onPasillerosItemClickListener: OnPasillerosItemClickListener,
private val isMenuInit:Boolean
): RecyclerView.Adapter<PasillerosAdapter.PasillerosItemHolder> () { ): RecyclerView.Adapter<PasillerosAdapter.PasillerosItemHolder> () {
var context : Context? = null var context : Context? = null
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PasillerosItemHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PasillerosItemHolder {
this.context = parent.context this.context = parent.context
return PasillerosItemHolder(
ItemPasillerosMainMenuBinding.inflate(LayoutInflater.from(parent.context),parent,false)
) val binding: ViewDataBinding = DataBindingUtil.inflate(
LayoutInflater.from(parent.context),
viewType,
parent,
false)
return if (isMenuInit){
PasillerosItemHolder(binding as ItemMainMenuBinding)
}else{
PasillerosItemHolder(binding as ItemPasillerosMainMenuBinding)
}
/* return if (!isMenuInit){
PasillerosItemHolder(
//sergio working_in_design : modificar vista
//ItemPasillerosMainMenuBinding.inflate(LayoutInflater.from(parent.context),parent,false)
ItemPasillerosMainMenuBinding.inflate(LayoutInflater.from(parent.context),parent,false)
)
}else{
PasillerosItemHolder(
//sergio working_in_design : modificar vista
// ItemMainMenuBinding.inflate(LayoutInflater.from(parent.context),parent,false)
ItemMainMenuBinding.inflate(LayoutInflater.from(parent.context),parent,false)
)
}*/
}
override fun getItemViewType(position: Int): Int {
if (isMenuInit) return R.layout.item_main_menu
else{
return R.layout.item_pasilleros_main_menu
}
// return super.getItemViewType(position)
} }
override fun getItemCount() =items.size override fun getItemCount() =items.size
@ -35,23 +84,64 @@ class PasillerosAdapter (
inner class PasillerosItemHolder( inner class PasillerosItemHolder(
val binding: ItemPasillerosMainMenuBinding //sergio working_in_design : modificar vista
//val binding: ItemMainMenuBinding
val binding: ViewDataBinding
//val binding_: ItemPasillerosMainMenuBinding
) : RecyclerView.ViewHolder(binding.root){ ) : RecyclerView.ViewHolder(binding.root){
fun bind(item: PasillerosItemVO) { fun bind(item: PasillerosItemVO) {
binding.apply {
binding.setVariable(BR.item,item)
binding.setVariable(BR.title, context?.getString(item.titleToShow))
if (isMenuInit)
{
try {
(binding as ItemMainMenuBinding).itemImage.setImageResource(item.iconResource)
}catch(exception:Exception){
d("Exception::"+exception.message)
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
(binding as ItemMainMenuBinding).itemImage.tooltipText=item.description
}
}
else{
try {
(binding as ItemPasillerosMainMenuBinding).itemImage.setImageResource(item.iconResource)
}catch(exception:Exception){
d("Exception::"+exception.message)
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
(binding as ItemPasillerosMainMenuBinding).itemImage.tooltipText=item.description
}
}
/* binding.apply {
this.item = item this.item = item
this.title = context?.getString(item.titleToShow) this.title = context?.getString(item.titleToShow)
try { try {
itemImage.setImageResource(item.iconResource) itemImage.setImageResource(item.iconResource)
}catch(exception:Exception){ }catch(exception:Exception){
d("Exception::"+exception.message) d("Exception::"+exception.message)
} }
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
itemImage.tooltipText=item.description itemImage.tooltipText=item.description
} }
} }*/
} }
} }
} }

View File

@ -3,7 +3,12 @@ package es.verdnatura.presentation.view.feature.pasillero.fragment
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.widget.LinearLayout.VERTICAL
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager.HORIZONTAL
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.HORIZONTAL
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.FragmentPasilleroBinding import es.verdnatura.databinding.FragmentPasilleroBinding
import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.base.BaseFragment
@ -12,13 +17,15 @@ import es.verdnatura.presentation.view.feature.pasillero.adapter.PasillerosAdapt
class PasilleroFragment( class PasilleroFragment(
var tagName: String = "" var tagName: String = "",
var isInitMenu: Boolean
) : BaseFragment<FragmentPasilleroBinding, PasilleroViewModel>(PasilleroViewModel::class) { ) : BaseFragment<FragmentPasilleroBinding, PasilleroViewModel>(PasilleroViewModel::class) {
private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null private var pasillerosItemClickListener: OnPasillerosItemClickListener? = null
companion object { companion object {
fun newInstance(tagName: String) = PasilleroFragment(tagName) fun newInstance(tagName: String, isInitMenu: Boolean) =
PasilleroFragment(tagName, isInitMenu = isInitMenu)
} }
override fun onAttach(context: Context) { override fun onAttach(context: Context) {
@ -29,36 +36,94 @@ class PasilleroFragment(
override fun getLayoutId(): Int = R.layout.fragment_pasillero override fun getLayoutId(): Int = R.layout.fragment_pasillero
override fun init() { override fun init() {
ma.hideBottomNavigation(View.VISIBLE) ma.hideBottomNavigation(View.VISIBLE)
binding.mainToolbar.toolbarTitle.text = tagName
binding.mainToolbar.backButton.visibility = View.GONE
if (!ma.isWorkingInDesign()) {
binding.mainToolbar.toolbarTitle.text = tagName
binding.mainToolbar.backButton.visibility = View.VISIBLE
binding.mainToolbarDesign.toolbarTitle.visibility = View.GONE
binding.mainToolbarDesign.toolbarSubtitle.visibility = View.GONE
binding.mainToolbarDesign.backButton.visibility = View.GONE
when (tagName) {
"Verdnatura" -> {
binding.mainToolbar.backButton.visibility = View.GONE
}
"Paletizadores" -> {
binding.mainToolbar.backButton.visibility = View.GONE
}
"Controlar ticket" -> {
binding.mainToolbar.backButton.visibility = View.GONE
}
"Verdnatura_design" -> {
binding.mainToolbar.backButton.visibility = View.GONE
}
else-> binding.mainToolbar.backButton.visibility = View.VISIBLE
}
} else {
when (tagName) {
"Verdnatura_design" -> {
binding.mainToolbarDesign.imageViewMenu.visibility = View.VISIBLE
binding.mainToolbarDesign.backButton.visibility = View.GONE
binding.mainToolbar.backButton.visibility = View.GONE
}
tagName -> {
binding.mainToolbarDesign.toolbarTitle.text = tagName
binding.mainToolbarDesign.imageViewMenu.visibility = View.GONE
}
}
/* binding.mainToolbarDesign.toolbarTitle.visibility = View.VISIBLE
binding.mainToolbar.toolbarTitle.visibility = View.GONE
binding.mainToolbar.toolbarSubtitle.visibility = View.GONE
binding.mainToolbar.toolbarTitleSeparator.visibility = View.GONE*/
binding.mainToolbarDesign.backButton.visibility=View.INVISIBLE
binding.mainToolbarDesign.backButton.setOnClickListener {
requireActivity().onBackPressed()
}
}
super.init() super.init()
} }
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
if (tagName.equals("Verdnatura")) {
viewModel.inititializeDefaultData()
}
if (tagName.equals("Paletizadores")) { when (tagName) {
viewModel.inititializeDefaultPallet() "Verdnatura" -> {viewModel.inititializeDefaultData()}
"Paletizadores" -> viewModel.inititializeDefaultPallet()
"Gestión de buffer" -> viewModel.inititializeDefaultBuffer()
"Verdnatura_design" -> viewModel.inititializeDefaultDataInit()
} }
if (tagName.equals("Gestión de buffer")) {
viewModel.inititializeDefaultBuffer()
}
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
} }
override fun observeViewModel() { override fun observeViewModel() {
with(viewModel) { with(viewModel) {
binding.pasillerosItems.adapter= PasillerosAdapter(pasillerositem, pasillerosItemClickListener!!) /* val mLayoutManager: RecyclerView.LayoutManager = GridLayoutManager(
activity,
requireActivity()!!.resources.getInteger(R.integer.number_of_grid_items)
)*/
binding.pasillerosItems.adapter =
PasillerosAdapter(pasillerositem, pasillerosItemClickListener!!, isInitMenu)
binding.pasillerosItems.layoutManager = binding.pasillerosItems.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
} }
super.observeViewModel() super.observeViewModel()

View File

@ -281,4 +281,51 @@ class PasilleroViewModel : BaseViewModel() {
) )
} }
fun inititializeDefaultDataInit(){
_pasillerositem.add(
PasillerosItemVO(
7,
R.drawable.ic_corridor_ui,
"Pasilleros", R.string.Pasilleros,"Accede menú de los pasilleros:presacar, ver ticket, ubicador..."
)
)
//precontrol
_pasillerositem.add(
PasillerosItemVO(7,
R.drawable.ic_picker_ui,
"Sacadores",R.string.Sacadores,"Accede a sacar pedidos"
)
)
//sergio para que aparezca el nuevo menu
_pasillerositem.add(
PasillerosItemVO(
10,
R.drawable.ic_controller_ui,
"Controladores", R.string.Controladores,"Accede a la revisión de los tickets"
)
)
_pasillerositem.add(
PasillerosItemVO(
0,
R.drawable.ic_pallet_ui,
"Paletizadores", R.string.Paletizadores,"Accede al menú de paletizadores: paletizar, buffer..."
)
)
_pasillerositem.add(
PasillerosItemVO(
6,
R.drawable.ic_claim_ui,
"Reclamaciones", R.string.claims,"Accede al menú de reclamaciones"
)
)
}
} }

View File

@ -1,5 +1,6 @@
package es.verdnatura.presentation.view.feature.presacador.fragment package es.verdnatura.presentation.view.feature.presacador.fragment
import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.media.MediaPlayer import android.media.MediaPlayer
@ -18,7 +19,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.FragmentPreSacadorBinding import es.verdnatura.databinding.FragmentPreSacadorBinding
import es.verdnatura.domain.ConstAndValues.PRESACADOR
import es.verdnatura.domain.toast import es.verdnatura.domain.toast
import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.* import es.verdnatura.presentation.common.*
@ -36,13 +36,14 @@ import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
import es.verdnatura.presentation.view.feature.sacador.model.PlacementSupplyListVO import es.verdnatura.presentation.view.feature.sacador.model.PlacementSupplyListVO
import es.verdnatura.presentation.view.feature.sacador.model.SaleVO import es.verdnatura.presentation.view.feature.sacador.model.SaleVO
class EndSacadorFragment ( class EndSacadorFragment(
var collection: CollectionVO = CollectionVO(), var collection: CollectionVO = CollectionVO(),
var type: String = "" var type: String = ""
): ) :
BaseFragment<FragmentPreSacadorBinding, PreSacadorViewModel>(PreSacadorViewModel::class) { BaseFragment<FragmentPreSacadorBinding, PreSacadorViewModel>(PreSacadorViewModel::class) {
var mperror: MediaPlayer? = null var mperror: MediaPlayer? = null
var mpok: MediaPlayer? = null var mpok: MediaPlayer? = null
//private var sales: ArrayList<PreSacadorItemVO> = ArrayList() //private var sales: ArrayList<PreSacadorItemVO> = ArrayList()
private lateinit var sales: MutableList<PreSacadorItemVO> private lateinit var sales: MutableList<PreSacadorItemVO>
private lateinit var customDialog: CustomDialog private lateinit var customDialog: CustomDialog
@ -64,10 +65,12 @@ class EndSacadorFragment (
private lateinit var customDialogThreeButtons: CustomDialogThreeButtons private lateinit var customDialogThreeButtons: CustomDialogThreeButtons
private var ticketFk = "" private var ticketFk = ""
private var originalScanned = "" private var originalScanned = ""
private var positionUnmarked = -1
fun changevariables(){ fun changevariables() {
TODO("Refactor llevar variables i deixar soles una com positionToChange i quantityToChange") TODO("Refactor llevar variables i deixar soles una com positionToChange i quantityToChange")
} }
private var typeCollectionMissing = "" private var typeCollectionMissing = ""
private var positionCollectionMissing = 0 private var positionCollectionMissing = 0
private var quantityCollectionMissing = "" private var quantityCollectionMissing = ""
@ -76,13 +79,12 @@ class EndSacadorFragment (
private var quantityCollectionSplit = "" private var quantityCollectionSplit = ""
private var positionCollectionSplit = 0 private var positionCollectionSplit = 0
// private val listIcons:ArrayList<ImageView> = ArrayList() // private val listIcons:ArrayList<ImageView> = ArrayList()
//sergio: se añada para leer el articulo leido que era el buyFk //sergio: se añada para leer el articulo leido que era el buyFk
private var originalItemScan: String = "" private var originalItemScan: String = ""
override fun onAttach(context: Context) { override fun onAttach(context: Context) {
if (context is OnPasillerosItemClickListener) pasillerosItemClickListener = context if (context is OnPasillerosItemClickListener) pasillerosItemClickListener = context
super.onAttach(context) super.onAttach(context)
@ -108,7 +110,7 @@ class EndSacadorFragment (
setToolBar() setToolBar()
setEvents() setEvents()
// Log.d("VERDNATURA","La col "+collection.collectionFk+ " y el type "+type) // Log.d("VERDNATURA","La col "+collection.collectionFk+ " y el type "+type)
searchSaleCollection() searchSaleCollection()
super.init() super.init()
@ -135,7 +137,8 @@ class EndSacadorFragment (
pasillerosItemClickListener?.onPasillerosItemClickListener( pasillerosItemClickListener?.onPasillerosItemClickListener(
PasillerosItemVO( PasillerosItemVO(
title = "Parking" title = "Parking"
), "") ), ""
)
// parkingTicket(binding.scanInput.text.toString()) // parkingTicket(binding.scanInput.text.toString())
} else { } else {
//if (binding.scanInput.text.length > 6){ //if (binding.scanInput.text.length > 6){
@ -169,6 +172,7 @@ class EndSacadorFragment (
} }
} }
@SuppressLint("LogNotTimber")
override fun observeViewModel() { override fun observeViewModel() {
with(viewModel) { with(viewModel) {
salesList.observe(viewLifecycleOwner, Observer { salesList.observe(viewLifecycleOwner, Observer {
@ -176,6 +180,29 @@ class EndSacadorFragment (
createSaleList(it) createSaleList(it)
}) })
responseItemShelvingUpdate.observe(viewLifecycleOwner, Observer {
if (!goBack) {
if (it.isError) {
ma.messageWithSound(it.errorMessage, it.isError, false)
} else {
saleTrackingReplace(positionUnmarked)
setTotalLines()
/* viewModel.saleTrackingDel(
getData(USER),
getData(PASSWORD),
saleFk = sales[positionUnmarked].saleFk,
"saleTracking_del"
)*/
goBack = false
}
}
})
placementSuppleyList.observe(viewLifecycleOwner, Observer { placementSuppleyList.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
if (!goBack) printShelvingResult(it) if (!goBack) printShelvingResult(it)
@ -183,38 +210,37 @@ class EndSacadorFragment (
}) })
responseSalixMessage.observe(viewLifecycleOwner, Observer { responseSalixMessage.observe(viewLifecycleOwner, Observer {
if (!goBack) if (!goBack) {
{ if (it.isError) {
if (it.isError) { ma.messageWithSound(it.errorMessage, true, false)
ma.messageWithSound(it.errorMessage,true,false) /* customDialog.setTitle("Error").setDescription(it.errorMessage)
/* customDialog.setTitle("Error").setDescription(it.errorMessage) .setOkButton("Aceptar") {
.setOkButton("Aceptar") { customDialog.dismiss()
customDialog.dismiss() }.show()*/
}.show()*/ }
}
} }
goBack=false goBack = false
}) })
responseIncQuantity.observe(viewLifecycleOwner, Observer { responseIncQuantity.observe(viewLifecycleOwner, Observer {
if (!goBack){ if (!goBack) {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, isError = true,true) ma.messageWithSound(it.errorMessage, isError = true, true)
} else { } else {
incresaseSuccesful() incresaseSuccesful()
setTotalLines() setTotalLines()
} }
} }
goBack=false goBack = false
}) })
responseParkingAdd.observe(viewLifecycleOwner, Observer { responseParkingAdd.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility = GONE binding.splashProgress.visibility = GONE
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage,true,false) ma.messageWithSound(it.errorMessage, true, false)
/* customDialog.setTitle("Error").setDescription(it.errorMessage) /* customDialog.setTitle("Error").setDescription(it.errorMessage)
.setOkButton("Aceptar") { .setOkButton("Aceptar") {
customDialog.dismiss() customDialog.dismiss()
@ -227,13 +253,11 @@ class EndSacadorFragment (
responseSaleTrackingUpdate.observe(viewLifecycleOwner, Observer { responseSaleTrackingUpdate.observe(viewLifecycleOwner, Observer {
ma.messageWithSound(it.errorMessage, isError = it.isError,true) ma.messageWithSound(it.errorMessage, isError = it.isError, true)
try { try {
sales.clear() sales.clear()
} } catch (e: Exception) {
catch(e:Exception)
{
} }
@ -241,23 +265,23 @@ class EndSacadorFragment (
}) })
responseSaleMove.observe(viewLifecycleOwner, Observer { responseSaleMove.observe(viewLifecycleOwner, Observer {
if (!goBack) { if (!goBack) {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, isError = true, true) ma.messageWithSound(it.errorMessage, isError = true, true)
} else { } else {
responseSaleMoveSuccesful() responseSaleMoveSuccesful()
setTotalLines() setTotalLines()
} }
goBack=false goBack = false
} }
}) })
responseMissingTrash.observe(viewLifecycleOwner, Observer { responseMissingTrash.observe(viewLifecycleOwner, Observer {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, isError = true,true) ma.messageWithSound(it.errorMessage, isError = true, true)
} else { } else {
missingTrashSuccesful() missingTrashSuccesful()
@ -266,48 +290,84 @@ class EndSacadorFragment (
}) })
responseSaleGroupAdd.observe(viewLifecycleOwner, Observer { responseSaleGroupAdd.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility=GONE binding.splashProgress.visibility = GONE
if (!goBack){ if (!goBack) {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, isError = true,true, isToasted = true) ma.messageWithSound(it.errorMessage, isError = true, true, isToasted = true)
} else { } else {
viewModel.sectorCollection_getSale(getData(USER),getData(PASSWORD),collection.collectionFk,getData(SECTORFK)) viewModel.sectorCollection_getSale(
}} getData(USER),
getData(PASSWORD),
collection.collectionFk,
getData(SECTORFK)
)
}
}
}) })
responseSaleAddPrevOK.observe(viewLifecycleOwner, Observer { responseSaleAddPrevOK.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility=GONE binding.splashProgress.visibility = GONE
if (!goBack){ if (!goBack) {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, isError = true,true) ma.messageWithSound(it.errorMessage, isError = true, true)
} else { } else {
ma.messageWithSound("Previa ok", isError = false,false) ma.messageWithSound("Previa ok", isError = false, false)
} }
} }
goBack=false goBack = false
}) })
response.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility = GONE
if (!goBack) {
if (it.isError) {
ma.messageWithSound(it.errorMessage, isError = true, true)
} else {
ma.messageWithSound("Previa ok", isError = false, false)
}
}
goBack = false
})
responseSaleupdateIsChecked.observe(viewLifecycleOwner, Observer { responseSaleupdateIsChecked.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility=GONE binding.splashProgress.visibility = GONE
if (!goBack){ if (!goBack) {
if (it.isError) { if (it.isError) {
ma.messageWithSound(it.errorMessage, isError = true,true) ma.messageWithSound(it.errorMessage, isError = true, true)
} else { } else {
// ma.messageWithSound("Checked update ok", isError = false,false) if (positionUnmarked != -1) {
}} searchSaleCollection()
goBack=false saleAdapter!!.notifyDataSetChanged()
positionUnmarked = -1
}
}
}
goBack = false
}) })
responseItemShelvingSaleSupplyAdd.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility = GONE
if (!goBack) {
if (it.isError) {
ma.messageWithSound(it.errorMessage, isError = true, true)
searchSaleCollection()
}
}
goBack = false
})
responseCode.observe(viewLifecycleOwner, Observer { responseCode.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
@ -343,7 +403,7 @@ class EndSacadorFragment (
private fun responseSaleMoveSuccesful() { private fun responseSaleMoveSuccesful() {
Log.d("VERDNATURA::","responseSaleMove succesful") Log.d("VERDNATURA::", "responseSaleMove succesful")
try { try {
sales[positionCollectionSplit].saldo = quantityCollectionSplit.toInt() sales[positionCollectionSplit].saldo = quantityCollectionSplit.toInt()
} catch (e: Exception) { } catch (e: Exception) {
@ -360,7 +420,7 @@ class EndSacadorFragment (
val ticket = val ticket =
"[" + sales[positionCollectionSplit].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[positionCollectionSplit].id + "/summary)" "[" + sales[positionCollectionSplit].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[positionCollectionSplit].id + "/summary)"
val message = val message =
"Se ha enviado a Split el articulo " + sales[positionCollectionSplit].itemFk +" del ticket " + ticket "Se ha enviado a Split el articulo " + sales[positionCollectionSplit].itemFk + " del ticket " + ticket
/* viewModel.sendChekingPresence( /* viewModel.sendChekingPresence(
@ -369,7 +429,7 @@ class EndSacadorFragment (
message = message, message = message,
"sendChekingPresence" "sendChekingPresence"
)*/ )*/
sendSalixMessageNew(message,sales[positionCollectionSplit].salesPersonFk) sendSalixMessageNew(message, sales[positionCollectionSplit].salesPersonFk)
} }
@ -386,13 +446,13 @@ class EndSacadorFragment (
saleAdapter?.notifyDataSetChanged() saleAdapter?.notifyDataSetChanged()
val ticket = val ticket =
"[" + sales[positionIncreaseQuantity].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[positionIncreaseQuantity].id + "/summary)" "[" + sales[positionIncreaseQuantity].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[positionIncreaseQuantity].id + "/summary)"
val message = val message =
"Se ha modificado desde previa la cantidad original " + sales[positionIncreaseQuantity].quantity + " del artículo " + sales[positionIncreaseQuantity].itemFk +" a nueva cantidad: " + quantityIncrease + " del ticket " + ticket "Se ha modificado desde previa la cantidad original " + sales[positionIncreaseQuantity].quantity + " del artículo " + sales[positionIncreaseQuantity].itemFk + " a nueva cantidad: " + quantityIncrease + " del ticket " + ticket
sendSalixMessageNew(message, sales[positionIncreaseQuantity].salesPersonFk) sendSalixMessageNew(message, sales[positionIncreaseQuantity].salesPersonFk)
searchSaleCollection() searchSaleCollection()
} }
@ -402,7 +462,8 @@ class EndSacadorFragment (
var totalQuantity: Int = 0 var totalQuantity: Int = 0
try { try {
totalQuantity = sales[positionCollectionMissing].saldo.toInt() - quantityCollectionMissing.toInt() totalQuantity =
sales[positionCollectionMissing].saldo.toInt() - quantityCollectionMissing.toInt()
} catch (e: Exception) { } catch (e: Exception) {
} }
@ -422,29 +483,30 @@ class EndSacadorFragment (
saleAdapter!!.notifyDataSetChanged() saleAdapter!!.notifyDataSetChanged()
var message = ""
var message=""
val ticket = val ticket =
"[" + sales[positionCollectionMissing].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[positionCollectionMissing].id + "/summary)" "[" + sales[positionCollectionMissing].id + "](https://salix.verdnatura.es/#!/ticket/" + sales[positionCollectionMissing].id + "/summary)"
when (typeCollectionMissing){ when (typeCollectionMissing) {
"TRUE"->{ "TRUE" -> {
message = "Se ha enviado desde previa a Basura " + totalQuantity + " del articulo " + sales[positionCollectionMissing].itemFk + " ticket " + ticket message =
} "Se ha enviado desde previa a Basura " + totalQuantity + " del articulo " + sales[positionCollectionMissing].itemFk + " ticket " + ticket
}
"FALSE"->{ "FALSE" -> {
message= "Se ha enviado desde previa a Faltas la cantidad de " + totalQuantity + " del articulo " + sales[positionCollectionMissing].itemFk + " ticket " + ticket message =
"Se ha enviado desde previa a Faltas la cantidad de " + totalQuantity + " del articulo " + sales[positionCollectionMissing].itemFk + " ticket " + ticket
} }
"reject" -> {
"reject"->{ var quantityOriginal = totalQuantity.toInt() + quantityCollectionMissing.toInt()
var quantityOriginal=totalQuantity.toInt()+quantityCollectionMissing.toInt() message =
message = "Se ha modificado desde previa la cantidad de " +quantityOriginal+ " del artículo " + sales[positionCollectionMissing].itemFk + " a nueva cantidad: " + quantityCollectionMissing+ " del ticket " + ticket "Se ha modificado desde previa la cantidad de " + quantityOriginal + " del artículo " + sales[positionCollectionMissing].itemFk + " a nueva cantidad: " + quantityCollectionMissing + " del ticket " + ticket
} }
} }
@ -452,58 +514,65 @@ class EndSacadorFragment (
sendSalixMessageNew(message, sales[positionCollectionMissing].salesPersonFk) sendSalixMessageNew(message, sales[positionCollectionMissing].salesPersonFk)
searchSaleCollection() searchSaleCollection()
} }
private fun sendSalixMessageNew(message: String, workerId: String) { private fun sendSalixMessageNew(message: String, workerId: String) {
if (!goBack) {
if (!goBack){ if (!workerId.isNullOrEmpty())
viewModel.sendChekingPresence(
if (!workerId.isNullOrEmpty()) token = getData(TOKEN),
viewModel.sendChekingPresence( workerId = workerId,
token = getData(TOKEN), message = message,
workerId = workerId, "sendChekingPresence"
message = message, )
"sendChekingPresence" }
)}
} }
//CREATE LIST //CREATE LIST
private fun searchSaleCollection(){ private fun searchSaleCollection() {
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
viewModel.sectorCollection_getSale(getData(USER),getData(PASSWORD),collection.collectionFk, vSectorFk = getData(SECTORFK)) viewModel.sectorCollection_getSale(
getData(USER),
getData(PASSWORD),
collection.collectionFk,
vSectorFk = getData(SECTORFK)
)
} }
private fun searchTicket(ticketFk: String) { private fun searchTicket(ticketFk: String) {
Log.i(TAG, "Escaneamos ticket en previa"+ticketFk) Log.i(TAG, "Escaneamos ticket en previa" + ticketFk)
ticket = ticketFk ticket = ticketFk
/* viewModel.ticketToPrePrepare(
/* viewModel.ticketToPrePrepare( usuario = getData(USER),
usuario = getData(USER), getData(PASSWORD),
getData(PASSWORD), ticketFk = ticketFk,
ticketFk = ticketFk, sectorFk = getData(SECTORFK)
sectorFk = getData(SECTORFK) )*/
)*/
if (!ticketFk.isNullOrEmpty()) if (!ticketFk.isNullOrEmpty())
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
viewModel.sectorCollectionSaleGroup_add(getData(USER),getData(PASSWORD),ticketFk, viewModel.sectorCollectionSaleGroup_add(
collection.collectionFk,"sectorCollectionSaleGroup_add") getData(USER), getData(PASSWORD), ticketFk,
collection.collectionFk, "sectorCollectionSaleGroup_add"
)
} }
private fun createSaleList(salesList: List<PreSacadorItemVO>) { private fun createSaleList(salesList: List<PreSacadorItemVO>) {
binding.splashProgress.visibility = GONE binding.splashProgress.visibility = GONE
if (salesList.isNullOrEmpty()) { if (salesList.isNullOrEmpty()) {
ma.messageWithSound("Colección sin tickets. Escanea tickets para añadirlos",false,false,"Pre Sacador") ma.messageWithSound(
"Colección sin tickets. Escanea tickets para añadirlos",
false,
false,
"Pre Sacador"
)
/* customDialog.setTitle("Pre Sacador")
.setDescription("No hemos podido obtener movimientos para el ticket escaneado")
.setKoButton("Cancelar") {
customDialog.dismiss()
}.show()*/
} else { } else {
binding.mainToolbar.toolbarTitle.text = ticket binding.mainToolbar.toolbarTitle.text = ticket
sales = ArrayList() sales = ArrayList()
@ -514,20 +583,20 @@ class EndSacadorFragment (
//sergio: se tiene que ordenar por el pickingOrder del primer carro (Pako) //sergio: se tiene que ordenar por el pickingOrder del primer carro (Pako)
for (s in sales){ for (s in sales) {
Log.d("VERDNATURA::","sales "+s.longName)
Log.d("VERDNATURA::","sales "+s.salesPersonFk) // Log.d("VERDNATURA::","sales comercial"+s.salesPersonFk)
//sergio: para que no de error si no hay carros. Ya está asignado a 0 el pickingorder si no hay item en el carro //sergio: para que no de error si no hay carros. Ya está asignado a 0 el pickingorder si no hay item en el carro
if (!s.carros.isNullOrEmpty()){ if (!s.carros.isNullOrEmpty()) {
s.pickingOrder=s.carros.get(0).pickingOrder s.pickingOrder = s.carros.get(0).pickingOrder
} }
} }
var sortedSales=sales.sortedBy{ it.pickingOrder } var sortedSales = sales.sortedBy { it.pickingOrder }
//sergio: Se ordena las sales por ellas mismas con With //sergio: Se ordena las sales por ellas mismas con With
sales.sortWith(compareBy({it.pickingOrder})) sales.sortWith(compareBy({ it.pickingOrder }))
lm = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) lm = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
@ -599,11 +668,13 @@ class EndSacadorFragment (
} }
private fun saleTracking_addPrevOK(){ private fun saleTracking_addPrevOK() {
binding.splashProgress.visibility=VISIBLE binding.splashProgress.visibility = VISIBLE
viewModel.saleTracking_addPrevOK(usuario = getData(USER), password = getData(PASSWORD), viewModel.saleTracking_addPrevOK(
vSectorCollectionFk = collection.collectionFk, callFunction = "saleTracking_addPrevOK") usuario = getData(USER), password = getData(PASSWORD),
vSectorCollectionFk = collection.collectionFk, callFunction = "saleTracking_addPrevOK"
)
} }
@ -699,39 +770,36 @@ class EndSacadorFragment (
private fun saleTrackingReplace(position: Int) { private fun saleTrackingReplace(position: Int) {
if (sales[position].picked == sales[position].quantity) {
if (sales[position].picked == sales[position].quantity) { viewModel.saleTracking_updateIsChecked(
usuario = getData(USER),
viewModel.saleTracking_updateIsChecked( password = getData(PASSWORD),
usuario = getData(USER), vSaleFk = sales[position].idMovimiento,
password = getData(PASSWORD), vIsChecked = if (sales[position].picked == sales[position].quantity) "1" else "0",
vSaleFk = sales[position].idMovimiento, callFunction = "saleTracking_updateIsChecked"
vIsChecked = if (sales[position].picked == sales[position].quantity) "1" else "0", )
callFunction = "saleTracking_updateIsChecked" }
) if (sales[position].picked == 0) {
} viewModel.saleTracking_updateIsChecked(
if (sales[position].picked==0){ usuario = getData(USER),
viewModel.saleTracking_updateIsChecked( password = getData(PASSWORD),
usuario = getData(USER), vSaleFk = sales[position].idMovimiento,
password = getData(PASSWORD), vIsChecked = if (sales[position].picked == sales[position].quantity) "1" else "0",
vSaleFk = sales[position].idMovimiento, callFunction = "saleTracking_updateIsChecked"
vIsChecked = if (sales[position].picked == sales[position].quantity) "1" else "0", )
callFunction = "saleTracking_updateIsChecked" }
)
}
/* viewModel.saleTrackingReplace(
usuario = getData(USER),
password = getData(PASSWORD),
saleFk = sales[position].idMovimiento,
vIsChecked = if (sales[position].picked == sales[position].quantity) "1" else "0",
vOriginalQuantity = sales[position].picked.toString(),
vStateFk = PRESACADOR,
vBuyFk = originalItemScan, callFunction = "saleTrackingReplace"
)*/
/* viewModel.saleTrackingReplace(
usuario = getData(USER),
password = getData(PASSWORD),
saleFk = sales[position].idMovimiento,
vIsChecked = if (sales[position].picked == sales[position].quantity) "1" else "0",
vOriginalQuantity = sales[position].picked.toString(),
vStateFk = PRESACADOR,
vBuyFk = originalItemScan, callFunction = "saleTrackingReplace"
)*/
} }
@ -745,14 +813,24 @@ class EndSacadorFragment (
sales[position].picked = 0 sales[position].picked = 0
saleAdapter!!.notifyDataSetChanged() saleAdapter!!.notifyDataSetChanged()
setListPosition(position) setListPosition(position)
/* viewModel.saleTrackingDel(
usuario =getData(USER), viewModel.itemShelving_updateFromSale(
usuario = getData(USER),
password = getData(PASSWORD), password = getData(PASSWORD),
saleFk = sales[position].idMovimiento, "saleTracking_del" saleFk = sales[position].idMovimiento,
)*/ visible = sales[position].quantity.toString(),
//sergio: previa nuevo "itemShelving_updateFromSale"
saleTrackingReplace(position) )
setTotalLines() positionUnmarked = position
//sergio: anterior previa
/* viewModel.saleTrackingDel(
usuario =getData(USER),
password = getData(PASSWORD),
saleFk = sales[position].idMovimiento, "saleTracking_del"
)*/
//sergio: previa se pone después itemshelving_update
//saleTrackingReplace(positionUnmarked)
//setTotalLines()
scanRequest() scanRequest()
customDialog.dismiss() customDialog.dismiss()
}.setKoButton("Cancelar") { }.setKoButton("Cancelar") {
@ -910,6 +988,15 @@ class EndSacadorFragment (
sales[storedPosition].carros[storedShelvingPosition].stockTotal = sales[storedPosition].carros[storedShelvingPosition].stockTotal =
(shelvingVisible.toInt() - customDialogList.getValue().toInt()).toString() (shelvingVisible.toInt() - customDialogList.getValue().toInt()).toString()
//sergio: se añade línea que actualiza la pantalla. Es posible que falle
// el itemShelvingSaleSupplyAdd que se actualiza pantalla si falla se actualizará todo
sales[storedPosition].carros[storedShelvingPosition].visible =
"(" + (shelvingVisible.toInt() - customDialogList.getValue()
.toInt()).toString() + ")"
viewModel.itemShelvingSaleSupplyAdd( viewModel.itemShelvingSaleSupplyAdd(
usuario = getData(USER), usuario = getData(USER),
password = getData(PASSWORD), password = getData(PASSWORD),
@ -1054,7 +1141,7 @@ class EndSacadorFragment (
private fun setToolBar() { private fun setToolBar() {
binding.mainToolbar.toolbarSubtitle.visibility = View.VISIBLE binding.mainToolbar.toolbarSubtitle.visibility = View.VISIBLE
val listIcons:ArrayList<ImageView> = ArrayList() val listIcons: ArrayList<ImageView> = ArrayList()
val iconParking = ImageView(context) val iconParking = ImageView(context)
iconParking.setImageResource(R.drawable.ic_local_parking_black_24dp) iconParking.setImageResource(R.drawable.ic_local_parking_black_24dp)
@ -1063,8 +1150,8 @@ class EndSacadorFragment (
iconEraser.setImageResource(R.drawable.previous_delete) iconEraser.setImageResource(R.drawable.previous_delete)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
iconParking.tooltipText=getTooltip(R.drawable.ic_local_parking_black_24dp) iconParking.tooltipText = getTooltip(R.drawable.ic_local_parking_black_24dp)
iconEraser.tooltipText=getTooltip(R.drawable.previous_delete) iconEraser.tooltipText = getTooltip(R.drawable.previous_delete)
} }
@ -1078,8 +1165,8 @@ class EndSacadorFragment (
/*if (item == iconEraser) { /*if (item == iconEraser) {
} else*/ } else*/
when (item){ when (item) {
iconParking.drawable-> pasillerosItemClickListener?.onPasillerosItemClickListener( iconParking.drawable -> pasillerosItemClickListener?.onPasillerosItemClickListener(
PasillerosItemVO( PasillerosItemVO(
title = "Parking" title = "Parking"
), "" ), ""
@ -1137,7 +1224,7 @@ class EndSacadorFragment (
companion object { companion object {
fun newInstance(collection: CollectionVO?, entrypoint: String) = EndSacadorFragment( fun newInstance(collection: CollectionVO?, entrypoint: String) = EndSacadorFragment(
collection!!,entrypoint collection!!, entrypoint
) )
} }
@ -1149,10 +1236,11 @@ class EndSacadorFragment (
super.onPause() super.onPause()
} }
override fun onResume(){ override fun onResume() {
goBack=false goBack = false
super.onResume() super.onResume()
} }
private fun showErrorMessage(text: String) { private fun showErrorMessage(text: String) {
customDialog.setTitle("Error al marcar la linea").setDescription(text) customDialog.setTitle("Error al marcar la linea").setDescription(text)
.setKoButton("Cerrar") { .setKoButton("Cerrar") {
@ -1213,9 +1301,9 @@ class EndSacadorFragment (
when (action) { when (action) {
getString(R.string.Agregar) -> increaseQuantity(position, value) getString(R.string.Agregar) -> increaseQuantity(position, value)
getString(R.string.BasuraRechazar) -> TrashMissingReject(position, value,"TRUE") getString(R.string.BasuraRechazar) -> TrashMissingReject(position, value, "TRUE")
getString(R.string.Faltas) -> TrashMissingReject(position, value,"FALSE") getString(R.string.Faltas) -> TrashMissingReject(position, value, "FALSE")
getString(R.string.Reject) -> TrashMissingReject(position, value,"reject") getString(R.string.Reject) -> TrashMissingReject(position, value, "reject")
getString(R.string.Split) -> split(position, value) getString(R.string.Split) -> split(position, value)
} }
@ -1224,6 +1312,7 @@ class EndSacadorFragment (
customDialogThreeButtons.dismiss() customDialogThreeButtons.dismiss()
} }
} }
private fun TrashMissingReject( private fun TrashMissingReject(
position: Int, position: Int,
quantity: String, quantity: String,
@ -1304,8 +1393,8 @@ class EndSacadorFragment (
private fun split(position: Int, quantity: String) { private fun split(position: Int, quantity: String) {
positionCollectionSplit=position positionCollectionSplit = position
quantityCollectionSplit=quantity quantityCollectionSplit = quantity
var totalQuantity: Int = 0 var totalQuantity: Int = 0
try { try {
@ -1314,12 +1403,12 @@ class EndSacadorFragment (
} }
viewModel.saleMove( viewModel.saleMove(
usuario = getData(USER), usuario = getData(USER),
password = getData(PASSWORD), password = getData(PASSWORD),
saleFk = sales[position].idMovimiento, saleFk = sales[position].idMovimiento,
quantity = totalQuantity.toString(), quantity = totalQuantity.toString(),
originalQuantity = sales[position].quantity.toString(), "saleMove" originalQuantity = sales[position].quantity.toString(), "saleMove"
) )
Log.d("VERDNATURA::","responseSaleMove enviando") Log.d("VERDNATURA::", "responseSaleMove enviando")
/* /*
try { try {
sales[position].saldo = quantity.toInt() sales[position].saldo = quantity.toInt()
@ -1447,16 +1536,16 @@ class EndSacadorFragment (
) )
//enviar mensaje a salix //enviar mensaje a salix
/* val ticket = /* val ticket =
"[" + ticketFk + "](https://salix.verdnatura.es/#!/ticket/" + ticketFk + "/summary)" "[" + ticketFk + "](https://salix.verdnatura.es/#!/ticket/" + ticketFk + "/summary)"
val message = val message =
"Se ha modificado la cantidad original desde previa" + sales[position].saldo + " del artículo " + sales[position].itemFk + " a nueva cantidad: " + quantity + " del ticket " + ticket "Se ha modificado la cantidad original desde previa" + sales[position].saldo + " del artículo " + sales[position].itemFk + " a nueva cantidad: " + quantity + " del ticket " + ticket
viewModel.sendChekingPresence( viewModel.sendChekingPresence(
token = getData(TOKEN), token = getData(TOKEN),
workerId = sales[position].salesPersonFk, workerId = sales[position].salesPersonFk,
message = message, message = message,
"sendChekingPresence" "sendChekingPresence"
)*/ )*/
try { try {
sales[position].saldo = quantity.toInt() sales[position].saldo = quantity.toInt()
@ -1493,7 +1582,7 @@ class EndSacadorFragment (
"sendChekingPresence" "sendChekingPresence"
) )
Log.d("VERDNATURA","el trabajador es "+sales[position].salesPersonFk) Log.d("VERDNATURA", "el trabajador es " + sales[position].salesPersonFk)
try { try {
sales[position].saldo = quantity.toInt() sales[position].saldo = quantity.toInt()
} catch (e: Exception) { } catch (e: Exception) {
@ -1505,6 +1594,7 @@ class EndSacadorFragment (
} }
private fun increaseQuantity(position: Int, quantity: String) { private fun increaseQuantity(position: Int, quantity: String) {
positionIncreaseQuantity = position positionIncreaseQuantity = position
quantityIncrease = quantity quantityIncrease = quantity

View File

@ -631,6 +631,7 @@ class PreSacadorFragment :
sales[position].picked = 0 sales[position].picked = 0
saleAdapter!!.notifyDataSetChanged() saleAdapter!!.notifyDataSetChanged()
setListPosition(position) setListPosition(position)
viewModel.saleTrackingDel( viewModel.saleTrackingDel(
usuario =getData(USER), usuario =getData(USER),
password = getData(PASSWORD), password = getData(PASSWORD),
@ -700,11 +701,14 @@ class PreSacadorFragment :
} else { } else {
itemShelvingFkStored = itemShelvingFk itemShelvingFkStored = itemShelvingFk
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
viewModel.getIdFromCode( viewModel.getIdFromCode(
usuario = getData(USER), usuario = getData(USER),
password = getData(PASSWORD), password = getData(PASSWORD),
code = customDialogList.getValueTwo(), "barcodeToItem" code = customDialogList.getValueTwo(), "barcodeToItem"
) )
customDialogList.dismiss() customDialogList.dismiss()
} }
scanRequest() scanRequest()

View File

@ -38,6 +38,9 @@ class PreSacadorViewModel(context: Context) : BaseViewModel()
val response: LiveData<ResponseItemVO> val response: LiveData<ResponseItemVO>
get() = _response get() = _response
private val _responseItemShelvingSaleSupplyAdd by lazy { MutableLiveData<ResponseItemVO>() }
val responseItemShelvingSaleSupplyAdd: LiveData<ResponseItemVO>
get() = _responseItemShelvingSaleSupplyAdd
private val _responseSaleTrackingUpdate by lazy { MutableLiveData<ResponseItemVO>() } private val _responseSaleTrackingUpdate by lazy { MutableLiveData<ResponseItemVO>() }
val responseSaleTrackingUpdate: LiveData<ResponseItemVO> val responseSaleTrackingUpdate: LiveData<ResponseItemVO>
@ -72,6 +75,10 @@ class PreSacadorViewModel(context: Context) : BaseViewModel()
val responseMissingTrash: LiveData<ResponseItemVO> val responseMissingTrash: LiveData<ResponseItemVO>
get() = _responseMissingTrash get() = _responseMissingTrash
private val _responseItemShelvingUpdate by lazy { MutableLiveData<ResponseItemVO>() }
val responseItemShelvingUpdate: LiveData<ResponseItemVO>
get() = _responseItemShelvingUpdate
//sergio: previa nuevo //sergio: previa nuevo
private val _collectionList by lazy { MutableLiveData<CollectionListVO>() } private val _collectionList by lazy { MutableLiveData<CollectionListVO>() }
@ -289,20 +296,20 @@ class PreSacadorViewModel(context: Context) : BaseViewModel()
{ {
override fun onFailure(call: Call<String>, t: Throwable) override fun onFailure(call: Call<String>, t: Throwable)
{ {
_response.value = ResponseItemVO(isError = true, errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)) _responseItemShelvingSaleSupplyAdd.value = ResponseItemVO(isError = true, errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!))
} }
override fun onResponse(call: Call<String>, response: Response<String>) override fun onResponse(call: Call<String>, response: Response<String>)
{ {
if (response.body() == null) if (response.body() == null)
{ {
_response.value = ResponseItemVO( _responseItemShelvingSaleSupplyAdd.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message()) errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())
) )
} else } else
{ {
_response.value = ResponseItemVO(isError = false, response = response.body()!!) _responseItemShelvingSaleSupplyAdd.value = ResponseItemVO(isError = false, response = response.body()!!)
} }
} }
}) })
@ -544,11 +551,11 @@ class PreSacadorViewModel(context: Context) : BaseViewModel()
{ {
override fun onResponse(call: Call<Boolean>, response: Response<Boolean>) override fun onResponse(call: Call<Boolean>, response: Response<Boolean>)
{ {
if (!response.isSuccessful) if (!response.isSuccessful ||response.message()=="false")
{ {
_responseSalixMessage.value = ResponseItemVO( _responseSalixMessage.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = "Error en la llamada $calledFunction al enviar mensaje rocket." + getMessageFromAllResponse( errorMessage = "Error al enviar mensaje rocket." + getMessageFromAllResponse(
nameofFunction(this),response.message() nameofFunction(this),response.message()
) )
) )
@ -559,10 +566,10 @@ class PreSacadorViewModel(context: Context) : BaseViewModel()
override fun onFailure(call: Call<Boolean>, t: Throwable) override fun onFailure(call: Call<Boolean>, t: Throwable)
{ {
/* _responseSalixMessage.value = ResponseItemVO( _responseSalixMessage.value = ResponseItemVO(
isError = true, isError = true,
errorMessage = "Error en la llamada $calledFunction al enviar mensaje rocket." + getMessageFromAllResponse( errorMessage = "Error al enviar mensaje rocket." + getMessageFromAllResponse(
nameofFunction(this),t.message!!))*/ nameofFunction(this),t.message!!))
} }
}) })
@ -797,4 +804,35 @@ class PreSacadorViewModel(context: Context) : BaseViewModel()
}) })
} }
fun itemShelving_updateFromSale(usuario: String, password: String, saleFk: String,visible:String,callFunction:String)
{
getSacadorControladorUserCase.itemShelving_updateFromSale(usuario, password, saleFk, visible)
.enqueue(object : Callback<Unit>
{
override fun onFailure(call: Call<Unit>, t: Throwable)
{
_responseItemShelvingUpdate.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)
)
}
override fun onResponse(call: Call<Unit>, response: Response<Unit>)
{
if (!response.isSuccessful )
{
_responseItemShelvingUpdate.value = ResponseItemVO(
isError = true,
errorMessage = getMessageFromAllResponse(nameofFunction(this),response.message())
)
} else
{
_responseItemShelvingUpdate.value =
ResponseItemVO(isError = false, response = response.message()!!)
}
}
})
}
} }

View File

@ -38,7 +38,7 @@ class QrFragmentViewModel(context: Context) : BaseViewModel() {
override fun onResponse(call: Call<String>, response: Response<String>) { override fun onResponse(call: Call<String>, response: Response<String>) {
if (response.raw().code() == 555) { if (response.raw().code() == 555 || response.raw().code()==403) {
//Log.i("VERDNATURA:","UserError ${response.raw().message().toString()}") //Log.i("VERDNATURA:","UserError ${response.raw().message().toString()}")
// var message = response.raw().message().toString() // var message = response.raw().message().toString()
@ -46,7 +46,7 @@ class QrFragmentViewModel(context: Context) : BaseViewModel() {
_qrresponse.value = ResponseItemVO( _qrresponse.value = ResponseItemVO(
response = "", response = "",
isError = true, isError = true,
errorMessage = "Ususario sin permisos" errorMessage = "Usuario sin permisos para realizar la acción"
) )

View File

@ -54,7 +54,7 @@ class SacadorFragment :
setToolBar() setToolBar()
setEvents() setEvents()
var working_in_test=false var working_in_test=false //sergio: Ok en app
if (!working_in_test) { if (!working_in_test) {
viewModel.collectionGetSalix(token = getData(TOKEN)) viewModel.collectionGetSalix(token = getData(TOKEN))
@ -68,6 +68,8 @@ class SacadorFragment :
} }
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
// Use the Kotlin extension in the fragment-ktx artifact // Use the Kotlin extension in the fragment-ktx artifact
@ -77,7 +79,7 @@ class SacadorFragment :
resultTagMode=result resultTagMode=result
Log.d("VERDNATURA::","el result es "+result) Log.d("VERDNATURA::","el result es "+result)
if (result.equals("complete") && getData(TAGSTYPE).equals("SmartTags")) { if (result.equals("complete") && getData(TAGSTYPE).equals("SmartTags")) {
viewModel.collectionNew(getData(USER), viewModel.collection_new_wagon(getData(USER),
getData(PASSWORD), getData(SECTORFK), getData(WAGON), getData(TAGSTYPE),"collection_new_wagon") getData(PASSWORD), getData(SECTORFK), getData(WAGON), getData(TAGSTYPE),"collection_new_wagon")
} }
@ -123,7 +125,7 @@ class SacadorFragment :
iconAdd.drawable -> { iconAdd.drawable -> {
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
// checkTagsMode() // checkTagsMode()
viewModel.collectionNew(getData(USER), viewModel.collection_new_wagon(getData(USER),
getData(PASSWORD),getData(SECTORFK),getData(WAGON),getData(TAGSTYPE),"collection_new_wagon") getData(PASSWORD),getData(SECTORFK),getData(WAGON),getData(TAGSTYPE),"collection_new_wagon")
} }
iconVehicleIn.drawable-> ma.onVehicleSelected(SacadorFragment.TAG) iconVehicleIn.drawable-> ma.onVehicleSelected(SacadorFragment.TAG)
@ -156,7 +158,7 @@ class SacadorFragment :
} else { } else {
Log.d("VERDNATURA::","ResultMode"+resultTagMode) Log.d("VERDNATURA::","ResultMode"+resultTagMode)
if (resultTagMode.equals("complete")) { if (resultTagMode.equals("complete")) {
viewModel.collectionNew(getData(USER), viewModel.collection_new_wagon(getData(USER),
getData(PASSWORD), getData(SECTORFK), getData(WAGON), getData(TAGSTYPE),"collection_new_wagon") getData(PASSWORD), getData(SECTORFK), getData(WAGON), getData(TAGSTYPE),"collection_new_wagon")
} else { } else {
requireActivity().addFragment( requireActivity().addFragment(
@ -207,7 +209,7 @@ class SacadorFragment :
//sergio:para asegurarnos que aparece en pantalla. //sergio:para asegurarnos que aparece en pantalla.
var working_in_test=false var working_in_test=false //sergio: ok en app SACADOR
if (!working_in_test) { if (!working_in_test) {
viewModel.collectionGetSalix(token=getData(TOKEN)) viewModel.collectionGetSalix(token=getData(TOKEN))

View File

@ -120,13 +120,13 @@ class SacadorViewModel(context: Context) : BaseViewModel() {
}) })
} }
fun collectionNew(usuario: String, password: String, sectorFk: String, wagons: String,tagtype:String,callFunction:String){ fun collection_new_wagon(usuario: String, password: String, sectorFk: String, wagons: String,tagtype:String,callFunction:String){
getSacadorControladorUserCase.collectionNew(usuario, password, sectorFk, wagons,tagtype).enqueue( getSacadorControladorUserCase.collectionNew(usuario, password, sectorFk, wagons,tagtype).enqueue(
object : object :
Callback<String> { Callback<String> {
override fun onFailure(call: Call<String>, t: Throwable) { override fun onFailure(call: Call<String>, t: Throwable) {
_response.value = _response.value =
ResponseItemVO(isError = true, errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)+".Es posible que tengas colecciones pendientes, falle bbdd o Internet") ResponseItemVO(isError = true, errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!))
} }

View File

@ -65,7 +65,7 @@ class SaleVO(
var saleGroupFk: String = "", var saleGroupFk: String = "",
var packingShelve:String="", var packingShelve:String="",
var picked:String="" var picked:String="",
) )

View File

@ -10,98 +10,100 @@ import es.verdnatura.databinding.FragmentControladorBinding
import es.verdnatura.domain.ConstAndValues import es.verdnatura.domain.ConstAndValues
import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnCollectionSelectedListener import es.verdnatura.presentation.common.OnCollectionSelectedListener
import es.verdnatura.presentation.view.feature.main.activity.MainActivity
import es.verdnatura.presentation.view.feature.precontrol.ShowTicketViewModel import es.verdnatura.presentation.view.feature.precontrol.ShowTicketViewModel
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
class ShowTicketFragment: BaseFragment<FragmentControladorBinding, ShowTicketViewModel>( class ShowTicketFragment : BaseFragment<FragmentControladorBinding, ShowTicketViewModel>(
ShowTicketViewModel::class) { ShowTicketViewModel::class
) {
private var goBack:Boolean = false private var goBack: Boolean = false
private var onCollectionSelectedListener : OnCollectionSelectedListener? = null private var onCollectionSelectedListener: OnCollectionSelectedListener? = null
override fun getLayoutId(): Int = R.layout.fragment_controlador override fun getLayoutId(): Int = R.layout.fragment_controlador
private var type = "" private var type = ""
companion object { companion object {
fun newInstance() = ShowTicketFragment() fun newInstance() = ShowTicketFragment()
}
override fun onAttach(context: Context) {
super.onAttach(context)
if (context is OnCollectionSelectedListener) onCollectionSelectedListener = context
}
override fun init() {
binding.splashProgress.visibility = View.GONE
binding.mainToolbar.toolbarTitle.text = getString(R.string.verticket)
binding.mainToolbar.backButton.visibility=View.VISIBLE
setEvents()
super.init()
}
override fun onPause() {
goBack = true
super.onPause()
}
override fun onCreate(savedInstanceState: Bundle?) {
type = ConstAndValues.VERTICKET
super.onCreate(savedInstanceState)
}
private fun setEvents() {
binding.mainToolbar.backButton.setOnClickListener {
requireActivity().onBackPressed()
} }
override fun onAttach(context: Context) { binding.scanInput.requestFocus()
super.onAttach(context) binding.scanInput.setOnEditorActionListener { v, actionId, event ->
if (context is OnCollectionSelectedListener) onCollectionSelectedListener = context if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
} goBack = false
if (!binding.scanInput.text.isNullOrEmpty()) {
binding.splashProgress.visibility = View.VISIBLE
override fun init() { viewModel.collectionTicketGet(
usuario = getData(USER),
binding.splashProgress.visibility = View.GONE password = getData(PASSWORD),
binding.mainToolbar.toolbarTitle.text = getString(R.string.verticket) sectorFk = getData(SECTORFK),
setEvents() collectionFk = binding.scanInput.text.toString(),
super.init() type = type,
} callFunction = "collection_getTickets"
)
override fun onPause() {
goBack = true
super.onPause()
}
override fun onCreate(savedInstanceState: Bundle?) {
type=ConstAndValues.VERTICKET
super.onCreate(savedInstanceState)
}
private fun setEvents(){
binding.mainToolbar.backButton.setOnClickListener {
requireActivity().onBackPressed()
}
binding.scanInput.requestFocus()
binding.scanInput.setOnEditorActionListener { v, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
goBack=false;
if (!binding.scanInput.text.isNullOrEmpty()) {
binding.splashProgress.visibility = View.VISIBLE
viewModel.collectionTicketGet(
usuario = getData(USER),
password = getData(PASSWORD),
sectorFk = getData(SECTORFK),
collectionFk = binding.scanInput.text.toString(),
type = type,
callFunction = "collection_getTickets"
)
}
binding.scanInput.setText("")
ma.hideKeyboard(binding.scanInput)
return@setOnEditorActionListener true
} }
false binding.scanInput.setText("")
ma.hideKeyboard(binding.scanInput)
return@setOnEditorActionListener true
} }
false
} }
}
override fun observeViewModel() { override fun observeViewModel() {
with(viewModel){ with(viewModel) {
collectionTicketList.observe(viewLifecycleOwner, Observer { collectionTicketList.observe(viewLifecycleOwner, Observer {
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
if (it.isError){ if (it.isError) {
ma.messageWithSound(it.errorMessage,true,false) ma.messageWithSound(it.errorMessage, true, false)
}else{ } else {
if (!goBack)navigateToCollectionList(it) if (!goBack) navigateToCollectionList(it)
goBack = false goBack = false
} }
}) })
}
} }
private fun navigateToCollectionList(collection: CollectionVO){
onCollectionSelectedListener?.onCollectionSelected(collection, ConstAndValues.VERTICKET)
}
} }
private fun navigateToCollectionList(collection: CollectionVO) {
onCollectionSelectedListener?.onCollectionSelected(collection, ConstAndValues.VERTICKET)
}
}

View File

@ -90,7 +90,7 @@ class AutomaticAddItemFragment(
} }
listItems = ArrayList() listItems = ArrayList()
binding.splashProgress.visibility = View.VISIBLE binding.splashProgress.visibility = View.VISIBLE
viewModel.itemShelvingMake_multi( getData(USER),getData(PASSWORD),shelvingFk,listString,deep.toString(),getData(WAREHOUSEFK),"1") viewModel.itemShelvingMake_multi( getData(USER),getData(PASSWORD),shelvingFk,listString,getData(WAREHOUSEFK))
} }
binding.mainToolbar.backButton.setOnClickListener { binding.mainToolbar.backButton.setOnClickListener {

View File

@ -19,8 +19,8 @@ class AutomaticAddItemViewModel (context: Context): BaseViewModel() {
get() = _response get() = _response
fun itemShelvingMake_multi(usuario:String,password:String,shelving:String,items:List<String>,deep:String,warehouse:String,level:String){ fun itemShelvingMake_multi(usuario:String,password:String,shelving:String,items:List<String>,warehouse:String){
getUbicadorUserCase.itemShelvingMake_multi(usuario,password,shelving,items,deep,warehouse,level).enqueue(object : getUbicadorUserCase.itemShelvingMake_multi(usuario,password,shelving,items,warehouse).enqueue(object :
Callback<String> { Callback<String> {
override fun onFailure(call: Call<String>, t: Throwable) { override fun onFailure(call: Call<String>, t: Throwable) {
_response.value = ResponseItemVO(isError = true,errorMessage ="Error al guardar items itemShelvingMake."+t.message!!) _response.value = ResponseItemVO(isError = true,errorMessage ="Error al guardar items itemShelvingMake."+t.message!!)

View File

@ -93,7 +93,7 @@ class UbicadorViewModel(context: Context) : BaseViewModel() {
fun itemShelvingMake(usuario:String,password:String,shelving:String,item:String,deep:String,quantity:String,packing:String,warehouse:String,level:String,callFunction:String,grouping: String){ fun itemShelvingMake(usuario:String,password:String,shelving:String,item:String,deep:String,quantity:String,packing:String,warehouse:String,level:String,callFunction:String,grouping: String){
getUbicadorUserCase.itemShelvingMake(usuario,password,shelving,item,deep,quantity,packing,warehouse,level,grouping).enqueue(object : Callback<String>{ getUbicadorUserCase.itemShelvingMake(usuario,password,shelving,item,quantity,packing,warehouse,grouping).enqueue(object : Callback<String>{
override fun onFailure(call: Call<String>, t: Throwable) { override fun onFailure(call: Call<String>, t: Throwable) {
_responseMake.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!)) _responseMake.value = ResponseItemVO(isError = true,errorMessage = getMessageFromAllResponse(nameofFunction(this),t.message!!))
} }

View File

@ -60,7 +60,16 @@ class WorkermistakeFragment( var entryPoint: String = ""
} }
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
viewModel.department_getHasMistake(usuario = getData(USER),password = getData(PASSWORD))
var working_in_test=false //sergio:No descomentar fins que Salix puje versió 8.3
if (!working_in_test){
viewModel.department_getHasMistake(usuario = getData(USER),password = getData(PASSWORD))
}else{
viewModel.department_getHasMistakeSalix(getData(TOKEN))
}
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
} }

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#FFF" >
</stroke>
<corners
android:radius="10dp"/>
<size
android:width="20dp"
android:height="20dp" />
</shape>

View File

@ -0,0 +1,18 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="2dp"
android:color="#FFF" >
</stroke>
<corners
android:radius="10dp"/>
<padding
android:top="5dp"
android:bottom="5dp"
android:left="5dp"
android:right="5dp"/>
</shape>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:dither="true"
android:shape="rectangle"
android:useLevel="false"
android:innerRadius="2dp"
android:visible="true">
<solid android:color="@color/verdnatura_brown_grey"/>
<corners android:radius="10dp" />
<size
android:width="40dp"
android:height="20dp" />
</shape>

View File

@ -0,0 +1,8 @@
<!-- drawable/emoticon_confused_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="#000" android:pathData="M20 12A8 8 0 1 0 12 20A8 8 0 0 0 20 12M22 12A10 10 0 1 1 12 2A10 10 0 0 1 22 12M15.5 8A1.5 1.5 0 1 1 14 9.5A1.54 1.54 0 0 1 15.5 8M10 9.5A1.5 1.5 0 1 1 8.5 8A1.54 1.54 0 0 1 10 9.5M17 15H13A4 4 0 0 0 9.53 17L7.8 16A6 6 0 0 1 13 13H17Z" />
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M8.3,12.5h4.2v25H8.3V12.5M14.6,12.5h2.1v25h-2.1V12.5M18.8,12.5H25v25h-6.2V12.5M27.1,12.5h2.1v25h-2.1V12.5M33.3,12.5h4.2v25h-4.2V12.5M39.6,12.5h2.1v25h-2.1V12.5M4.2,8.3v8.3H0V8.3C0,6 1.9,4.2 4.2,4.2h8.3v4.2H4.2M45.8,4.2C48.1,4.2 50,6 50,8.3v8.3h-4.2V8.3h-8.3V4.2H45.8M4.2,33.3v8.3h8.3v4.2H4.2C1.9,45.8 0,44 0,41.7v-8.3H4.2M45.8,41.7v-8.3H50v8.3c0,2.3 -1.9,4.2 -4.2,4.2h-8.3v-4.2H45.8z"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#F7931E" android:pathData="M8.3,12.5h4.2v25H8.3V12.5M14.6,12.5h2.1v25h-2.1V12.5M18.8,12.5H25v25h-6.2V12.5M27.1,12.5h2.1v25h-2.1V12.5M33.3,12.5h4.2v25h-4.2V12.5M39.6,12.5h2.1v25h-2.1V12.5M4.2,8.3v8.3H0V8.3C0,6 1.9,4.2 4.2,4.2h8.3v4.2H4.2M45.8,4.2C48.1,4.2 50,6 50,8.3v8.3h-4.2V8.3h-8.3V4.2H45.8M4.2,33.3v8.3h8.3v4.2H4.2C1.9,45.8 0,44 0,41.7v-8.3H4.2M45.8,41.7v-8.3H50v8.3c0,2.3 -1.9,4.2 -4.2,4.2h-8.3v-4.2H45.8z"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFF" android:pathData="M28.8,46.4c0.6,-4.1 4.2,-7.1 8.4,-7.1h0.4v-3.6h-0.4c-3.3,0 -6.4,1.4 -8.6,3.7V28.3c2.8,-0.4 5.4,-1.8 7.4,-3.9c2.5,-2.5 3.8,-5.8 3.8,-9.5v-1.8H38c-3.4,0 -6.6,1.4 -9.2,4c-0.1,0.1 -0.2,0.3 -0.3,0.4V8.8c0,-2.4 -0.8,-4.5 -2.4,-6.3c-1.7,-1.7 -3.8,-2.6 -6,-2.6c-4.1,0.2 -7.5,3.2 -8.3,7.3C7.5,8 4.4,11.9 4.4,16.5v10.3l5.7,-4.3l3.2,3.2l3.6,-3.2l5.6,4.4V16.5c0,-4.4 -3,-8.2 -6.9,-9.1c0.7,-2.1 2.6,-3.6 4.7,-3.6c1.3,0 2.5,0.6 3.5,1.6c0.9,0.9 1.4,2.2 1.4,3.7v32.2c-1.4,-1.1 -3.2,-1.7 -5.1,-1.7h-0.4v3.6h0.4c2.2,0 4.1,1.4 4.8,3.5H8.7V50h37v-3.6H28.8zM36.1,17c-0.4,1.7 -1.3,3.4 -2.5,4.9c-1.4,1.4 -3,2.3 -4.8,2.7c0.3,-1.7 1.2,-3.5 2.6,-4.9C32.8,18.3 34.4,17.4 36.1,17z"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFF" android:pathData="M20.5,36.4l-9.1,-9.1l3.2,-3.2l5.9,5.9l15,-15l3.2,3.2M25,0L4.5,9.1v13.6C4.5,35.3 13.3,47.1 25,50c11.7,-2.9 20.5,-14.7 20.5,-27.3V9.1L25,0z"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#F7931E" android:pathData="M20.5,36.4l-9.1,-9.1l3.2,-3.2l5.9,5.9l15,-15l3.2,3.2M25,0L4.5,9.1v13.6C4.5,35.3 13.3,47.1 25,50c11.7,-2.9 20.5,-14.7 20.5,-27.3V9.1L25,0z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFF" android:pathData="M43,50c2,0 4,0 6,0c0.8,0 1,-0.2 0.9,-1c0,-3.9 0,-7.9 0,-11.8c0,-0.9 -0.3,-1.1 -1.1,-1.1c-2.9,0 -5.8,0 -8.8,0c-0.8,0 -1.3,-0.2 -1.9,-0.8c-3,-3.1 -6.1,-6.2 -9.3,-9.2c-0.9,-0.8 -1.3,-1.7 -1.3,-3c0.1,-1.9 0.1,-3.9 0,-5.8c0,-0.8 0.2,-1.2 0.9,-1.5c3.4,-1.5 5.6,-5.5 4.4,-9.7c-0.8,-2.9 -3.5,-5.5 -6.6,-6c-3.2,-0.5 -6.7,1.1 -8.4,3.8c-2.5,3.9 -1.2,9.8 3.4,11.8c0.8,0.3 1,0.8 1,1.6c-0.1,2.2 -0.1,4.4 0,6.6c0,0.7 -0.2,1.2 -0.7,1.6c-3.3,3.3 -6.6,6.6 -9.9,9.9c-0.5,0.5 -1,0.7 -1.7,0.7c-3,0 -5.9,0 -8.9,0c-0.8,0 -1.2,0.1 -1.1,1.1c0.1,3.9 0,7.9 0,11.8c0,0.7 0.2,1 0.9,1c4,0 8,0 11.9,0c0.7,0 1,-0.2 1,-1c0,-2.2 0,-4.3 0,-6.5c0,-0.5 0,-0.9 0.4,-1.3c3.4,-3.5 6.7,-7 10.1,-10.6c0.6,-0.7 1,-0.5 1.5,0.1c3.3,3.5 6.5,7 9.9,10.4c0.4,0.4 0.4,0.8 0.4,1.3c0,2.2 0,4.4 0,6.6c0,0.7 0.2,1 0.9,1C39.1,49.9 41.1,50 43,50z"/>
<path android:fillColor="#FFF" android:pathData="M43,50c-2,0 -4,0 -6,0c-0.8,0 -1,-0.2 -0.9,-1c0,-2.2 0,-4.4 0,-6.6c0,-0.5 0,-0.9 -0.4,-1.3c-3.3,-3.4 -6.6,-6.9 -9.9,-10.4c-0.5,-0.6 -0.9,-0.7 -1.5,-0.1c-3.3,3.6 -6.7,7.1 -10.1,10.6c-0.4,0.4 -0.4,0.8 -0.4,1.3c0,2.2 0,4.3 0,6.5c0,0.8 -0.2,1 -1,1c-4,0 -8,0 -11.9,0C0.2,50 0,49.8 0,49c0,-3.9 0,-7.9 0,-11.8c0,-0.9 0.3,-1.1 1.1,-1.1c3,0 5.9,0 8.9,0c0.7,0 1.2,-0.2 1.7,-0.7c3.3,-3.3 6.6,-6.6 9.9,-9.9c0.5,-0.5 0.7,-0.9 0.7,-1.6c-0.1,-2.2 -0.1,-4.4 0,-6.6c0,-0.8 -0.2,-1.3 -1,-1.6c-4.6,-2 -5.8,-7.9 -3.4,-11.8c1.7,-2.7 5.2,-4.3 8.4,-3.8c3.1,0.5 5.8,3.1 6.6,6c1.2,4.2 -1,8.2 -4.4,9.7c-0.7,0.3 -0.9,0.8 -0.9,1.5c0.1,1.9 0.1,3.9 0,5.8c-0.1,1.3 0.4,2.1 1.3,3c3.1,3 6.2,6.1 9.3,9.2c0.6,0.6 1.1,0.8 1.9,0.8c2.9,0 5.8,0 8.8,0c0.8,0 1.1,0.1 1.1,1.1c-0.1,3.9 0,7.9 0,11.8c0,0.7 -0.2,1 -0.9,1C47,49.9 45,50 43,50z"/>
</vector>

View File

@ -0,0 +1,6 @@
<vector android:height="24dp"
android:viewportHeight="50"
android:viewportWidth="50"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFF" android:pathData="M25,18.2c-3.8,0 -6.8,3.1 -6.8,6.8s3.1,6.8 6.8,6.8s6.8,-3.1 6.8,-6.8S28.8,18.2 25,18.2M25,36.4c-6.3,0 -11.4,-5.1 -11.4,-11.4S18.7,13.6 25,13.6S36.4,18.7 36.4,25S31.3,36.4 25,36.4M25,8C13.6,8 3.9,15 0,25c3.9,10 13.6,17 25,17S46.1,35 50,25C46.1,15 36.4,8 25,8z"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#F7931E" android:pathData="M25,18.2c-3.8,0 -6.8,3.1 -6.8,6.8s3.1,6.8 6.8,6.8s6.8,-3.1 6.8,-6.8S28.8,18.2 25,18.2M25,36.4c-6.3,0 -11.4,-5.1 -11.4,-11.4S18.7,13.6 25,13.6S36.4,18.7 36.4,25S31.3,36.4 25,36.4M25,8C13.6,8 3.9,15 0,25c3.9,10 13.6,17 25,17S46.1,35 50,25C46.1,15 36.4,8 25,8z"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFF" android:pathData="M0,22.2h22.2V0H0M0,50h22.2V27.8H0M27.8,50H50V27.8H27.8M27.8,0v22.2H50V0"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#F7931E" android:pathData="M0,22.2h22.2V0H0M0,50h22.2V27.8H0M27.8,50H50V27.8H27.8M27.8,0v22.2H50V0"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFF" android:pathData="M5.7,1.7h38.5v27h-38.5z"/>
<path android:fillColor="#FFF" android:pathData="M44.3,34.2l0,3.4l-5.7,0l0,-3.2l-5.3,0l0,3.2l-5.7,0l0,-3.2l-5.3,0l0,3.2l-5.7,0l0,-3.2l-5.2,0l0,3.2l-5.7,0l0,-3.2l-5.3,0l0,3.2l0,0l0,5.3l0,0l0,5.9l5.3,0l0,-5.9l5.7,0l0,0l5.2,0l0,0l5.7,0l0,5.9l5.3,0l0,-5.9l5.7,0l0,0l5.3,0l0,0l5.7,0l0,5.7l5.3,0l0,-5.7l0,-5.3l0,-3.4z"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFF" android:pathData="M42.6,16.2C42.6,7.3 35.4,0 26.5,0H7.4v50h8.8V32.4h10.3C35.4,32.4 42.6,25.1 42.6,16.2zM16.2,8.8h10.9c4.1,0 7.4,3.3 7.4,7.4c0,4.1 -3.3,7.4 -7.4,7.4H16.2V8.8z"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#F7931E" android:pathData="M42.6,16.2C42.6,7.3 35.4,0 26.5,0H7.4v50h8.8V32.4h10.3C35.4,32.4 42.6,25.1 42.6,16.2zM16.2,8.8h10.9c4.1,0 7.4,3.3 7.4,7.4c0,4.1 -3.3,7.4 -7.4,7.4H16.2V8.8z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFF" android:pathData="M30.9,26.9c-0.2,3.9 -2.5,6.3 -5.8,6.3c-3.6,0 -5.8,-2.2 -6.1,-6.2c-1.1,0.4 -2.1,0.9 -3.3,0.9c-2.6,-0.1 -4.9,-1.5 -5.6,-3.8c-0.9,-2.8 -0.2,-5.3 2.1,-6.9c0.6,-0.4 0.7,-0.6 0,-1.1c-2,-1.5 -3,-3.5 -2.4,-5.9c0.8,-3.4 2.9,-4.5 5.4,-4.9C16.6,5 17.8,5.7 19,6.2C19.6,1.9 21.6,0 25.3,0c3.2,0 5.2,2.2 5.7,6.2c0.6,-0.2 1.2,-0.4 1.7,-0.6c2.8,-1 5.9,1 6.9,3.1c1.2,2.5 0.6,5.5 -1.7,7.3c-1,0.7 -0.8,0.9 0.1,1.5c1.7,1.1 2.6,4 2,5.9c-0.9,2.9 -2.8,4.5 -5.3,4.6C33.4,27.9 32.2,27.7 30.9,26.9zM25,10.7c-3.3,0 -5.8,2.6 -5.9,5.8c-0.1,3.4 2.5,6.1 5.9,6.1c3.4,0 5.8,-2.9 6,-5.8C31.1,13.9 28.5,10.6 25,10.7z"/>
<path android:fillColor="#FFF" android:pathData="M25.1,46.8c0.4,-1.3 0.7,-2.7 1.2,-4c2.6,-7.1 7.6,-11.6 14.9,-13.6c1.5,-0.4 3.1,-0.4 4.7,-0.6c0.5,-0.1 0.7,0.1 0.6,0.6c-0.3,4.6 -1.7,8.9 -4.6,12.6c-3.5,4.5 -8.1,7.2 -13.7,8.1c-6,0.9 -11.5,-0.6 -16.3,-4.3C7.3,42 4.8,37.2 3.8,31.7c-0.2,-0.9 -0.1,-1.7 -0.2,-2.6c0,-0.5 0.2,-0.5 0.6,-0.5c9,0.2 16.8,6.2 19.6,14.5C24.2,44.3 24.5,45.5 25.1,46.8z"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFF" android:pathData="M8.3,8.3h12.5v12.5H8.3V8.3M41.7,8.3v12.5H29.2V8.3H41.7M29.2,31.2h4.2v-4.2h-4.2v-4.2h4.2v4.2h4.2v-4.2h4.2v4.2h-4.2v4.2h4.2v6.2h-4.2v4.2h-4.2v-4.2h-6.2v4.2h-4.2v-8.3h6.2V31.2M33.3,31.2v6.2h4.2v-6.2H33.3M8.3,41.7V29.2h12.5v12.5H8.3M12.5,12.5v4.2h4.2v-4.2H12.5M33.3,12.5v4.2h4.2v-4.2H33.3M12.5,33.3v4.2h4.2v-4.2H12.5M8.3,22.9h4.2v4.2H8.3V22.9M18.8,22.9h8.3v8.3h-4.2v-4.2h-4.2V22.9M22.9,12.5h4.2v8.3h-4.2V12.5M4.2,4.2v8.3H0V4.2C0,1.9 1.9,0 4.2,0h8.3v4.2H4.2M45.8,0C48.1,0 50,1.9 50,4.2v8.3h-4.2V4.2h-8.3V0H45.8M4.2,37.5v8.3h8.3V50H4.2C1.9,50 0,48.1 0,45.8v-8.3H4.2M45.8,45.8v-8.3H50v8.3c0,2.3 -1.9,4.2 -4.2,4.2h-8.3v-4.2H45.8z"/>
</vector>

View File

@ -0,0 +1,6 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFF" android:pathData="M25,33.8c-4.8,0 -8.8,-3.9 -8.8,-8.8s3.9,-8.8 8.8,-8.8s8.7,3.9 8.7,8.8S29.8,33.8 25,33.8M43.6,27.4c0.1,-0.8 0.2,-1.6 0.2,-2.4s-0.1,-1.6 -0.2,-2.5l5.3,-4.1c0.5,-0.4 0.6,-1 0.3,-1.6l-5,-8.6c-0.3,-0.5 -1,-0.8 -1.5,-0.5l-6.2,2.5c-1.3,-1 -2.7,-1.8 -4.2,-2.4l-0.9,-6.6C31.2,0.5 30.6,0 30,0H20c-0.6,0 -1.1,0.5 -1.2,1.1l-0.9,6.6c-1.6,0.6 -2.9,1.5 -4.2,2.4L7.4,7.6c-0.5,-0.2 -1.2,0 -1.5,0.5l-5,8.6c-0.3,0.6 -0.2,1.2 0.3,1.6l5.3,4.1c-0.1,0.9 -0.2,1.7 -0.2,2.5s0.1,1.6 0.2,2.4l-5.3,4.1c-0.5,0.4 -0.6,1 -0.3,1.6l5,8.6c0.3,0.6 1,0.8 1.5,0.6l6.2,-2.5c1.3,1 2.6,1.8 4.2,2.5l0.9,6.6c0.1,0.6 0.6,1 1.2,1h10c0.6,0 1.1,-0.5 1.2,-1l0.9,-6.6c1.6,-0.7 2.9,-1.5 4.2,-2.5l6.2,2.5c0.6,0.2 1.2,0 1.5,-0.6l5,-8.6c0.3,-0.6 0.2,-1.2 -0.3,-1.6L43.6,27.4z"/>
</vector>

View File

@ -0,0 +1,6 @@
<vector android:height="24dp" android:viewportHeight="50"
android:viewportWidth="50"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#F7931E" android:pathData="M25,33.8c-4.8,0 -8.8,-3.9 -8.8,-8.8s3.9,-8.8 8.8,-8.8s8.7,3.9 8.7,8.8S29.8,33.8 25,33.8M43.6,27.4c0.1,-0.8 0.2,-1.6 0.2,-2.4s-0.1,-1.6 -0.2,-2.5l5.3,-4.1c0.5,-0.4 0.6,-1 0.3,-1.6l-5,-8.6c-0.3,-0.5 -1,-0.8 -1.5,-0.5l-6.2,2.5c-1.3,-1 -2.7,-1.8 -4.2,-2.4l-0.9,-6.6C31.2,0.5 30.6,0 30,0H20c-0.6,0 -1.1,0.5 -1.2,1.1l-0.9,6.6c-1.6,0.6 -2.9,1.5 -4.2,2.4L7.4,7.6c-0.5,-0.2 -1.2,0 -1.5,0.5l-5,8.6c-0.3,0.6 -0.2,1.2 0.3,1.6l5.3,4.1c-0.1,0.9 -0.2,1.7 -0.2,2.5s0.1,1.6 0.2,2.4l-5.3,4.1c-0.5,0.4 -0.6,1 -0.3,1.6l5,8.6c0.3,0.6 1,0.8 1.5,0.6l6.2,-2.5c1.3,1 2.6,1.8 4.2,2.5l0.9,6.6c0.1,0.6 0.6,1 1.2,1h10c0.6,0 1.1,-0.5 1.2,-1l0.9,-6.6c1.6,-0.7 2.9,-1.5 4.2,-2.5l6.2,2.5c0.6,0.2 1.2,0 1.5,-0.6l5,-8.6c0.3,-0.6 0.2,-1.2 -0.3,-1.6L43.6,27.4z"/>
</vector>

View File

@ -0,0 +1,49 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="1343.3dp"
android:height="428.9dp"
android:viewportWidth="1343.3"
android:viewportHeight="428.9">
<path
android:pathData="M190.3,284.2l-48.8,-142h38.6l20,73l1.6,6c2.4,8.7 4.3,16.1 5.6,22c0.7,-2.9 1.6,-6.3 2.6,-10.2c1,-3.9 2.5,-9.1 4.3,-15.4l20.9,-75.3h38.4l-49.2,142H190.3z"
android:fillColor="#FFFFFF"
android:fillType="evenOdd"/>
<path
android:pathData="M1184.8,284.2h-34.9c0.1,-1.7 0.2,-3.4 0.4,-5.2l0.7,-5.6c-6.2,4.8 -12.3,8.4 -18.4,10.7c-6.1,2.3 -12.4,3.5 -18.9,3.5c-10.1,0 -17.3,-2.8 -21.7,-8.3c-4.3,-5.6 -5.2,-13.1 -2.5,-22.5c2.4,-8.7 6.7,-15.7 12.8,-21.1c6.1,-5.4 14.1,-9.2 24.1,-11.4c5.5,-1.2 12.4,-2.4 20.7,-3.8c12.4,-1.9 19.1,-4.8 20.2,-8.5l0.7,-2.5c0.9,-3 0.4,-5.4 -1.5,-6.9c-1.8,-1.6 -5,-2.4 -9.5,-2.4c-4.9,0 -9.1,1 -12.5,3c-3.4,2 -6,5 -7.8,8.8h-31.6c5,-11.8 12.4,-20.7 22.1,-26.5c9.7,-5.8 22.1,-8.7 37.1,-8.7c9.3,0 16.9,1.1 22.6,3.4c5.8,2.2 9.8,5.7 12.1,10.2c1.6,3.3 2.3,7.2 2,11.7c-0.2,4.5 -1.8,11.8 -4.6,21.9l-11.1,39.7c-1.3,4.7 -1.9,8.5 -1.9,11.2c0.1,2.7 0.9,4.5 2.4,5.3L1184.8,284.2zM1160.9,234.9c-3.1,1.7 -8.2,3.2 -15.2,4.6c-3.4,0.6 -6,1.2 -7.8,1.6c-4.5,1.2 -7.8,2.6 -10,4.4c-2.2,1.8 -3.7,4.2 -4.6,7.2c-1,3.7 -0.7,6.7 1,9c1.7,2.3 4.4,3.4 8.2,3.4c5.9,0 11.1,-1.7 15.8,-5.1c4.7,-3.4 7.7,-7.8 9.3,-13.3L1160.9,234.9z"
android:fillColor="#97D700"
android:fillType="evenOdd"/>
<path
android:pathData="M1011.3,284.2l29.4,-104.9h33l-5.1,18.4c5.7,-7.2 11.7,-12.5 18.1,-15.8c6.4,-3.3 13.8,-5 22.3,-5.2l-9.5,34c-1.4,-0.2 -2.8,-0.3 -4.3,-0.4c-1.4,-0.1 -2.8,-0.1 -4.1,-0.1c-5.3,0 -9.8,0.8 -13.7,2.4c-3.9,1.6 -7.3,4 -10.3,7.3c-1.9,2.2 -3.7,5.3 -5.4,9.4c-1.7,4.1 -3.8,10.7 -6.4,19.8l-9.9,35.2H1011.3z"
android:fillColor="#97D700"
android:fillType="evenOdd"/>
<path
android:pathData="M1023.9,179.4l-29.4,104.9h-33.6l4,-14.5c-5.7,5.8 -11.6,10.1 -17.5,12.9c-5.9,2.7 -12.3,4.1 -19,4.1c-11.6,0 -19.5,-3 -23.6,-8.9c-4.2,-5.9 -4.6,-14.7 -1.4,-26.4l20.2,-72.1h34.4l-16.4,58.7c-2.4,8.6 -3,14.6 -1.8,17.8c1.2,3.2 4.5,4.9 9.9,4.9c6,0 10.9,-2 14.7,-5.9c3.8,-4 7,-10.4 9.5,-19.4l15.7,-56.1H1023.9z"
android:fillColor="#97D700"
android:fillType="evenOdd"/>
<path
android:pathData="M843.8,200.1l5.8,-20.7h14l8.3,-29.6h34.4l-8.3,29.6h17.6l-5.8,20.7h-17.6l-12.7,45.4c-1.9,6.9 -2.3,11.5 -1.2,13.8c1.2,2.2 4.2,3.4 9.2,3.4l2.6,-0.1l1.8,-0.1l-6.1,21.9c-3.8,0.7 -7.5,1.2 -11,1.6c-3.6,0.4 -6.9,0.6 -10.2,0.6c-11.9,0 -19.2,-2.9 -22,-8.7c-2.7,-5.8 -1.5,-18.2 3.8,-37.2l11.4,-40.6H843.8z"
android:fillColor="#97D700"
android:fillType="evenOdd"/>
<path
android:pathData="M820.3,284.2h-34.9c0.1,-1.7 0.2,-3.4 0.4,-5.2l0.7,-5.6c-6.2,4.8 -12.3,8.4 -18.4,10.7c-6.1,2.3 -12.4,3.5 -18.9,3.5c-10.1,0 -17.3,-2.8 -21.7,-8.3c-4.3,-5.6 -5.2,-13.1 -2.5,-22.5c2.4,-8.7 6.7,-15.7 12.8,-21.1c6.1,-5.4 14.1,-9.2 24.1,-11.4c5.5,-1.2 12.4,-2.4 20.7,-3.8c12.4,-1.9 19.1,-4.8 20.2,-8.5l0.7,-2.5c0.9,-3 0.4,-5.4 -1.5,-6.9c-1.8,-1.6 -5,-2.4 -9.5,-2.4c-4.9,0 -9.1,1 -12.5,3c-3.4,2 -6,5 -7.8,8.8h-31.6c5,-11.8 12.4,-20.7 22.1,-26.5c9.8,-5.8 22.1,-8.7 37.1,-8.7c9.3,0 16.9,1.1 22.6,3.4c5.8,2.2 9.8,5.7 12.1,10.2c1.6,3.3 2.3,7.2 2,11.7c-0.2,4.5 -1.8,11.8 -4.6,21.9l-11.1,39.7c-1.3,4.7 -1.9,8.5 -1.9,11.2c0.1,2.7 0.9,4.5 2.4,5.3L820.3,284.2zM796.4,234.9c-3.1,1.7 -8.2,3.2 -15.2,4.6c-3.4,0.6 -6,1.2 -7.8,1.6c-4.5,1.2 -7.8,2.6 -10,4.4c-2.2,1.8 -3.7,4.2 -4.6,7.2c-1,3.7 -0.7,6.7 1,9c1.7,2.3 4.4,3.4 8.2,3.4c5.9,0 11.1,-1.7 15.8,-5.1c4.7,-3.4 7.7,-7.8 9.3,-13.3L796.4,234.9z"
android:fillColor="#97D700"
android:fillType="evenOdd"/>
<path
android:pathData="M593.6,142.2l-39.8,142h-34.4l3.9,-13.8c-5.5,5.7 -11.1,9.9 -16.9,12.7c-5.8,2.7 -12.1,4.1 -18.9,4.1c-13.1,0 -22.4,-5.1 -27.7,-15.2c-5.3,-10.1 -5.7,-23.4 -1.1,-39.8c4.6,-16.5 12.5,-30 23.6,-40.4c11.1,-10.4 23.1,-15.6 35.9,-15.6c6.9,0 12.6,1.4 17.2,4.2c4.6,2.8 7.9,6.9 9.8,12.3l14.1,-50.4H593.6zM487.5,230.7c-2.6,9.4 -2.9,16.6 -0.8,21.5c2.1,5 6.4,7.5 13,7.5c6.6,0 12.2,-2.5 17,-7.4c4.7,-4.9 8.5,-12.1 11.1,-21.6c2.5,-8.8 2.6,-15.6 0.4,-20.4c-2.2,-4.8 -6.5,-7.2 -13,-7.2c-6.1,0 -11.6,2.5 -16.6,7.4C493.6,215.4 489.9,222.2 487.5,230.7z"
android:fillColor="#FFFFFF"
android:fillType="evenOdd"/>
<path
android:pathData="M359.3,284.2l29.4,-104.9h33l-5.1,18.4c5.7,-7.2 11.7,-12.5 18.1,-15.8c6.4,-3.3 28.2,-5 36.6,-5.2l-9.5,34c-1.4,-0.2 -2.8,-0.3 -4.3,-0.4c-1.4,-0.1 -2.8,-0.1 -4.1,-0.1c-5.3,0 -24.2,0.8 -28.1,2.4c-3.9,1.6 -7.3,4 -10.3,7.3c-1.9,2.2 -3.7,5.3 -5.4,9.4c-1.7,4.1 -3.8,10.7 -6.4,19.8l-9.9,35.2H359.3z"
android:fillColor="#FFFFFF"
android:fillType="evenOdd"/>
<path
android:pathData="M323.3,251.3h33c-6.3,11.5 -14.9,20.4 -25.7,26.7c-10.8,6.3 -22.9,9.4 -36.3,9.4c-16.3,0 -27.7,-4.9 -34.4,-14.8c-6.7,-9.9 -7.6,-23.3 -2.9,-40.4c4.9,-17.4 13.5,-31.1 25.8,-41.2c12.4,-10.1 26.6,-15.2 42.7,-15.2c16.7,0 28.3,5.1 34.9,15.4c6.6,10.3 7.4,24.5 2.3,42.7l-1.1,3.8L361,240h-70.9c-2.1,7.4 -2.1,13 0,16.9c2.1,3.9 6.2,5.8 12.4,5.8c4.6,0 8.6,-1 12.1,-2.9C318.2,257.9 321.1,255 323.3,251.3zM294.6,220.6l39.1,-0.1c1.8,-6.7 1.4,-12 -0.9,-15.8c-2.4,-3.8 -6.6,-5.7 -12.5,-5.7c-5.7,0 -10.7,1.9 -15.1,5.6C300.6,208.4 297.1,213.7 294.6,220.6z"
android:fillColor="#FFFFFF"
android:fillType="evenOdd"/>
<path
android:pathData="M670.3,285.8l-30,-87.3L610,285.8h-34l44.8,-142h38.4l20.8,73l1.6,6c2.4,8.7 4.3,16.1 5.6,22l2.6,-10.2c1,-3.9 2.5,-9.1 4.3,-15.4l20.9,-75.3h38.4l-49.2,142H670.3z"
android:fillColor="#97D700"/>
</vector>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -35,6 +35,16 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintStart_toStartOf="parent" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/main_bottom_navigation_fragment"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_navigation_height"
app:itemBackground="@color/verdnatura_black_3"
app:itemTextColor="@color/verdnatura_white"
app:labelVisibilityMode="labeled"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.drawerlayout.widget.DrawerLayout> </androidx.drawerlayout.widget.DrawerLayout>

View File

@ -39,6 +39,30 @@
tools:text="Este cambio no podrá deshacerse a no ser que vuelvas a vincular el dispositivo" tools:text="Este cambio no podrá deshacerse a no ser que vuelvas a vincular el dispositivo"
tools:visibility="visible" /> tools:visibility="visible" />
<!--working_in_design : esto es lo nuevo
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textinputlayout_username"
android:layout_width="match_parent"
android:layout_height="50dp"
android:textColorHint="@android:color/darker_gray"
android:layout_marginTop="@dimen/default_layout_margin"
android:background="@drawable/background_round">
android:hint="@string/Nuevovalor" -->
<!-- <com.google.android.material.textfield.TextInputEditText
android:id="@+id/custom_dialog_value"
style="@style/InputLineTextSearch"
android:layout_width="match_parent"
android:layout_height="30dp"
android:inputType="text"
android:lines="1"
android:maxLines="1"
android:textColor="@color/verdnatura_white"
android:textColorHint="@android:color/darker_gray" />
</com.google.android.material.textfield.TextInputLayout>-->
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:id="@+id/textinputlayout_username" android:id="@+id/textinputlayout_username"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <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" xmlns:app="http://schemas.android.com/apk/res-auto"
> >
@ -8,6 +9,20 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/verdnatura_black"> android:background="@color/verdnatura_black">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintTop_toBottomOf="@+id/main_toolbar">
</LinearLayout>
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/verdnatura_white"
app:layout_constraintBottom_toBottomOf="@+id/main_toolbar"/>
<LinearLayout <LinearLayout
android:id="@+id/linearLayout" android:id="@+id/linearLayout"
@ -16,30 +31,35 @@
android:orientation="vertical" android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toBottomOf="@id/divider"
android:layout_marginLeft="@dimen/pasilleros_margin_main_menu"
android:padding="@dimen/navigation_row_limit_padding"
>
android:padding="@dimen/navigation_row_limit_padding">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal"
>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="@dimen/default_layout_margin"
android:text="@string/Versión" android:text="@string/Versión"
android:textColor="@color/verdnatura_white" android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body1" android:textSize="@dimen/body1"
android:textStyle="bold" android:textStyle="bold" />
android:layout_marginRight="@dimen/default_layout_margin" />
<TextView <TextView
android:id="@+id/item_version" android:id="@+id/item_version"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="" android:text=""
android:textColor="@color/verdnatura_brown_grey" android:layout_marginLeft="@dimen/layout_margin_8"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body1"/> android:textSize="@dimen/body1"/>
</LinearLayout> </LinearLayout>
@ -63,7 +83,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="" android:text=""
android:textColor="@color/verdnatura_brown_grey" android:layout_marginLeft="@dimen/layout_margin_8"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body1"/> android:textSize="@dimen/body1"/>
</LinearLayout> </LinearLayout>
@ -84,8 +105,9 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="" android:text=""
android:layout_marginLeft="@dimen/layout_margin_6"
android:tooltipText="@string/copied" android:tooltipText="@string/copied"
android:textColor="@color/verdnatura_brown_grey" android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body1"/> android:textSize="@dimen/body1"/>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@ -121,8 +143,16 @@
</LinearLayout> </LinearLayout>
</LinearLayout> </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" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/ajustess_items" android:id="@+id/ajustess_items"
@ -135,7 +165,6 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout" /> app:layout_constraintTop_toBottomOf="@+id/linearLayout" />
<LinearLayout <LinearLayout
android:id="@+id/splash_progress" android:id="@+id/splash_progress"
android:visibility="invisible" android:visibility="invisible"
@ -149,6 +178,7 @@
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
android:gravity="center"> android:gravity="center">
<com.airbnb.lottie.LottieAnimationView <com.airbnb.lottie.LottieAnimationView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -161,4 +191,5 @@
</LinearLayout> </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View File

@ -67,7 +67,7 @@
app:lottie_speed="2" /> app:lottie_speed="2" />
</LinearLayout> </LinearLayout>
<!--working_in_design toolbar/fragment-->
<include <include
android:id="@+id/main_toolbar" android:id="@+id/main_toolbar"

View File

@ -30,6 +30,7 @@
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<!-- working_in_design modificar a toolbar_design-->
<include <include
android:id="@+id/main_toolbar" android:id="@+id/main_toolbar"
layout="@layout/toolbar" layout="@layout/toolbar"

View File

@ -17,23 +17,54 @@
> >
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/verdnatura_white"
app:layout_constraintBottom_toBottomOf="@+id/main_toolbar_design"/>
<View
android:id="@+id/divider_two"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/verdnatura_white"
app:layout_constraintBottom_toBottomOf="@+id/main_toolbar"/>
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/pasilleros_items" android:id="@+id/pasilleros_items"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:foregroundGravity="fill_horizontal|center_horizontal"
android:isScrollContainer="false"
android:paddingTop="@dimen/toolbar_height"
android:splitMotionEvents="false"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.6" app:layout_constraintHorizontal_bias="0.6"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tool:listitem="@layout/item_pasilleros_main_menu" app:stackFromEnd="false"
android:paddingTop="@dimen/toolbar_height"/> tool:listitem="@layout/item_pasilleros_main_menu" />
<include <include
android:id="@+id/main_toolbar" android:id="@+id/main_toolbar"
layout="@layout/toolbar" layout="@layout/toolbar"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent"
tool:visibility="visible"/>
<!--working_in_design poner visibility a visible o viceversa -->
<include
android:id="@+id/main_toolbar_design"
layout="@layout/toolbar_fragment"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tool:visibility="gone" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View File

@ -13,6 +13,10 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
style="@style/LayoutClickable"> style="@style/LayoutClickable">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/verdnatura_black_9"/>
<LinearLayout <LinearLayout
android:orientation="horizontal" android:orientation="horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -14,7 +14,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:layout_marginBottom="@dimen/layout_margin_min"> android:layout_marginBottom="@dimen/layout_margin_min"
>
<!--CABECERA=================================================--> <!--CABECERA=================================================-->
<LinearLayout <LinearLayout
android:id="@+id/item_row_layout" android:id="@+id/item_row_layout"

View File

@ -0,0 +1,401 @@
<?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:tool="http://schemas.android.com/tools"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="sale"
type="es.verdnatura.presentation.view.feature.sacador.model.SaleVO" />
</data>
<!-- android:background="@drawable/round_outline"
android:clipToOutline="true"-->
<LinearLayout
android:id="@+id/linear_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="@dimen/layout_margin_1"
android:layout_marginBottom="@dimen/layout_margin_min"
android:background="@drawable/background_round"
>
<!--CABECERA=================================================-->
<LinearLayout
android:id="@+id/item_row_layout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/verdnatura_white"
android:padding="@dimen/layout_margin_min"
android:orientation="vertical"
android:textColor="@color/verdnatura_black">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/verdnatura_black"
android:text="@string/Nivel"
android:textSize="@dimen/h8"
android:layout_marginRight="@dimen/layout_margin_min"/>
<TextView
android:id="@+id/level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor ="@color/verdnatura_black"
android:text="@{sale.level}"
tool:text="2"
android:textStyle="bold"
android:textSize="@dimen/h8"
android:layout_marginRight="@dimen/layout_margin_min"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/verdnatura_black"
android:text="@string/Ticket"
android:textSize="@dimen/h8"
android:layout_marginRight="@dimen/layout_margin_min"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/verdnatura_black"
android:text="@{sale.ticketFk}"
tool:text="123456789"
android:textStyle="bold"
android:textSize="@dimen/h8"
/>
<RelativeLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/imageErrorMessage"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
app:srcCompat="@drawable/emoticon_error_fragment" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{sale.agencyName}"
tool:text="MRW"
android:textStyle="bold"
android:textSize="@dimen/h8"
android:layout_marginRight="@dimen/layout_margin_min"
android:visibility="gone"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/content_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/layout_margin_min"
android:paddingBottom="@dimen/layout_margin_min"
android:background="@color/verdnatura_black"
>
<!--SEMAFORO=================================================-->
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="@dimen/semaforo_width"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
>
<View
android:id="@+id/item_article_row_semaforo_pre"
android:layout_width="match_parent"
android:layout_height="@dimen/semaforo_height"
android:background="@color/verdnatura_warm_grey"
android:layout_marginBottom="1dp"/>
<View
android:id="@+id/item_article_row_semaforo_sac"
android:layout_width="match_parent"
android:layout_height="@dimen/semaforo_height"
android:background="@color/verdnatura_warm_grey"
android:layout_marginBottom="1dp"/>
<View
android:id="@+id/item_article_row_semaforo_con"
android:layout_width="match_parent"
android:layout_height="@dimen/semaforo_height"
android:background="@color/verdnatura_warm_grey" />
background_oval_checked
</LinearLayout>
<!--CONTENIDO=================================================-->
<!--app:layout_constraintEnd_toStartOf="@+id/item_article_quantity_picked"-->
<TextView
android:id="@+id/item_article_itemFk"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/layout_margin_min"
android:layout_marginEnd="@dimen/layout_margin_min"
android:text="@{sale.itemFk}"
tool:text="85478"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@+id/linearLayout3"
app:layout_constraintTop_toTopOf="parent"
android:maxLines="1"/>
<TextView
android:id="@+id/item_packing_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:layout_marginEnd="@dimen/layout_margin_min"
android:paddingTop="2dp"
android:text="En balda:"
tool:text="En balda:"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/item_packing_itemFk"
app:layout_constraintStart_toEndOf="@+id/item_article_itemFk"
app:layout_constraintTop_toTopOf="parent"
android:maxLines="1"/>
<TextView
android:id="@+id/item_packing_itemFk"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:layout_marginEnd="@dimen/layout_margin_min"
android:text="@{sale.packingShelve}"
tool:text="Number"
android:paddingTop="2dp"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/item_article_quantity_picked"
app:layout_constraintStart_toEndOf="@+id/item_packing_text"
app:layout_constraintTop_toTopOf="parent"
android:maxLines="1"/>
<TextView
android:id="@+id/item_article_quantity_picked"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_min"
android:text="@{sale.pickedQuantity}"
tool:text="0"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/txtde"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/txtde"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_min"
android:text="@string/de"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
app:layout_constraintEnd_toStartOf="@+id/item_article_quantity"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/item_article_quantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_1"
android:text="@{sale.quantity}"
tool:text="10"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<TextView
android:id="@+id/item_article_quantity_line1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/layout_margin_min"
android:ellipsize="end"
android:maxLines="1"
android:text="@{sale.line1}"
tool:text="información de la linea 1"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/linearLayout3"
app:layout_constraintTop_toBottomOf="@+id/item_article_itemFk"
/>
<TextView
android:id="@+id/item_article_cel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_1"
android:text="@{sale.cel1}"
tool:text="cel1"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/item_article_quantity_line1"
app:layout_constraintTop_toTopOf="@+id/item_article_quantity_line1" />
<TextView
android:id="@+id/item_article_quantity_line2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/layout_margin_min"
android:ellipsize="end"
android:maxLines="1"
android:text="@{sale.line2}"
tool:text="información de la linea 2"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/linearLayout3"
app:layout_constraintTop_toBottomOf="@+id/item_article_quantity_line1" />
<TextView
android:id="@+id/item_article_cel2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_1"
android:text="@{sale.cel2}"
tool:text="cel2"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/item_article_quantity_line2"
app:layout_constraintTop_toTopOf="@+id/item_article_quantity_line2" />
<TextView
android:id="@+id/item_article_quantity_line3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/layout_margin_1"
android:ellipsize="end"
android:maxLines="1"
android:text="@{sale.line3}"
android:textAlignment="center"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
app:layout_constraintStart_toEndOf="@+id/linearLayout3"
app:layout_constraintTop_toBottomOf="@+id/item_article_quantity_line2"
tool:text="información de la linea 3" />
<View
android:id="@+id/item_color"
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/background_item_color"
android:layout_marginBottom="1dp"
android:layout_marginLeft="5dp"
app:layout_constraintStart_toEndOf="@+id/item_article_quantity_line3"
app:layout_constraintTop_toTopOf="@+id/item_article_quantity_line3" />
/>
<TextView
android:id="@+id/item_article_cel3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/layout_margin_1"
android:text="@{sale.cel3}"
tool:text="cel3"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/body2"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/content_layout"
app:layout_constraintTop_toTopOf="@+id/item_article_quantity_line3" />
<LinearLayout
android:id="@+id/linearLayoutColor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
>
<View
android:id="@+id/item_ticketColor"
android:layout_width="5dp"
android:layout_height="@dimen/ticketColor_height"
android:background="@drawable/border"
android:layout_marginBottom="1dp"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/layout_error"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txt_error"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/verdnatura_white"
android:background="@color/verdnatura_red"
tool:text="Cantidad original 100"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/verdnatura_white">
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/item_article_placements"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
tools:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_placement_row"
tools:orientation="horizontal" />
</LinearLayout>
</layout>

View File

@ -0,0 +1,64 @@
<?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">
<data>
<variable
name="item"
type="es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO" />
<variable
name="title"
type="String"/>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:orientation="horizontal"
android:padding="@dimen/pasilleros_margin_main_menu"
android:background="@drawable/background_round_square"
android:foreground="@drawable/custom_ripple" >
<ImageView
android:id="@+id/item_image"
android:layout_width="30dp"
android:layout_height="30dp"
android:scaleType="centerCrop"
android:layout_weight="0"
/>
<TextView
android:id="@+id/item_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="30dp"
android:gravity="center_vertical"
android:text="@{title}"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/h7"
android:layout_weight="1"
android:drawableEnd="@drawable/ic_chevron_right_black_24dp"
/>
<!-- <ImageView
android:id="@+id/item_image_end"
android:layout_width="30dp"
android:layout_height="30dp"
android:scaleType="centerCrop"
app:srcCompat="@drawable/ic_chevron_right_black_24dp"
android:layout_weight="0"/>-->
</LinearLayout>
<!-- <LinearLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/verdnatura_black_9"/>-->
</LinearLayout>
</layout>

View File

@ -16,6 +16,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
style="@style/LayoutClickable"> style="@style/LayoutClickable">
<LinearLayout <LinearLayout
android:orientation="horizontal" android:orientation="horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -18,6 +18,7 @@
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:scaleType="center" android:scaleType="center"
android:visibility="visible"
android:src="@drawable/ic_arrow_back_black_24dp" /> android:src="@drawable/ic_arrow_back_black_24dp" />
<View <View

View File

@ -0,0 +1,102 @@
<?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:tool="http://schemas.android.com/tools">
<androidx.appcompat.widget.Toolbar
android:id="@+id/tool"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="@color/verdnatura_black_8_alpha_6"
tool:visibility="visible"
>
<ImageView
android:id="@+id/imageViewMenu"
android:layout_width="wrap_content"
android:layout_height="?android:attr/actionBarSize"
android:visibility="gone"
app:srcCompat="@drawable/ic_vn_logo_negativo_app_warehouse" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tool:visibility="visible">
<ImageView
android:id="@+id/backButton"
android:layout_width="40dp"
android:layout_height="match_parent"
android:scaleType="center"
android:visibility="invisible"
android:src="@drawable/ic_arrow_back_black_24dp"
/>
<View
android:id="@+id/toolbar_title_separator"
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/default_layout_margin"
android:layout_marginBottom="@dimen/default_layout_margin"
android:background="@color/verdnatura_pumpkin_orange"
android:visibility="gone"
tool:visibility="visible" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/layout_margin_min"
>
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/layout_margin_3"
android:layout_weight="1"
android:gravity="left|center_vertical"
android:maxLines="1"
android:text="Title fragment"
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/h6"
android:textStyle="bold" />
<TextView
android:id="@+id/toolbar_subtitle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/layout_margin_min"
android:layout_weight="1"
android:gravity="center_vertical"
android:maxLines="1"
android:text=""
android:textColor="@color/verdnatura_white"
android:textSize="@dimen/h6"
android:visibility="gone"
tool:text="10/20"
tool:visibility="visible" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/toolbar_icons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tool:listitem="@layout/item_toolbar_row"
tool:visibility="visible" />
</LinearLayout>
</androidx.appcompat.widget.Toolbar>
</layout>

View File

@ -162,4 +162,5 @@
<string name="Noprinters">No hay impresora</string> <string name="Noprinters">No hay impresora</string>
<string name="Selecccionaimpresoara">Selecciona impresora</string> <string name="Selecccionaimpresoara">Selecciona impresora</string>
<string name="claim">Ubicación de reclamación</string> <string name="claim">Ubicación de reclamación</string>
<string name="claims">Reclamaciones</string>
</resources> </resources>

View File

@ -89,6 +89,8 @@
<dimen name="ticketColor_height">90dp</dimen> <dimen name="ticketColor_height">90dp</dimen>
<dimen name="ticketColor_width">10dp</dimen> <dimen name="ticketColor_width">10dp</dimen>
<!-- Elements of RecyclerViewer -->
<integer name="number_of_grid_items">5</integer>
</resources> </resources>

View File

@ -160,5 +160,6 @@
<string name="workermistake">Worker mistaker</string> <string name="workermistake">Worker mistaker</string>
<string name="buscarDepartamento">Find department</string> <string name="buscarDepartamento">Find department</string>
<string name="claim">Claim Ubication</string> <string name="claim">Claim Ubication</string>
<string name="claims">Claims</string>
</resources> </resources>

View File

@ -10,6 +10,7 @@
<item name="windowActionBar">false</item> <item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item> <item name="windowNoTitle">true</item>
<item name="colorControlHighlight">@color/verdnatura_white</item> <item name="colorControlHighlight">@color/verdnatura_white</item>
<item name="android:fontFamily">@font/roboto_medium</item>
</style> </style>
<!--Buttons--> <!--Buttons-->
@ -105,7 +106,8 @@
<style name="LayoutClickable"> <style name="LayoutClickable">
<item name="android:focusable">true</item> <item name="android:focusable">true</item>
<item name="android:clickable">true</item> <item name="android:clickable">true</item>
<item name="android:foreground">?android:attr/selectableItemBackground</item> <!-- <item name="android:foreground">?android:attr/selectableItemBackground</item> -->
<item name="android:foreground">@drawable/custom_ripple</item>
</style> </style>
<!--Progress Bar--> <!--Progress Bar-->
@ -134,5 +136,9 @@
<item name="android:textSize">10sp</item> <item name="android:textSize">10sp</item>
<item name="android:textStyle">normal</item> <item name="android:textStyle">normal</item>
</style> </style>
<style name="Divider">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">?android:attr/listDivider</item>
</style>
</resources> </resources>