Compare commits
241 Commits
v1.16.1(18
...
v1.17.8(22
| Author | SHA1 | Date | |
|---|---|---|---|
| 0404863e3d | |||
| b71d627f99 | |||
| 403541c8e0 | |||
| f1e2a3a536 | |||
| 23bb284cff | |||
| 449955f182 | |||
| 15d3b1858a | |||
| cfb3acc33d | |||
| 61768fb2d0 | |||
| d782e8667a | |||
| e3d366b7a5 | |||
| c64112835b | |||
| 7ebc5de620 | |||
| aa93dc489e | |||
| 6c1be3a7bc | |||
| 18593c7fa0 | |||
| 3a6b87ba47 | |||
| 95ee04fc2a | |||
| 1d3113ce2e | |||
| ef3bac3b0b | |||
| d5f590bfda | |||
| 1b0f9fb4de | |||
| b1e309dc1c | |||
| 6da020c5cc | |||
| da4d66ecfe | |||
| 18efcb31a0 | |||
| d31cb71f9e | |||
| 86c99a99ca | |||
| ba1a70e73e | |||
| c822c3e0ef | |||
| 42746b3656 | |||
| 2782c4b477 | |||
| 5f13f7a634 | |||
| e811514764 | |||
| 21137b1224 | |||
| 7da0a5ade9 | |||
| 86d92b947d | |||
| 374127dfe9 | |||
| 91b43d1974 | |||
| c167893544 | |||
| 4c9a1bbaa9 | |||
| f970eb6cac | |||
| 1e1163c04d | |||
| 48f1307095 | |||
| 64fdda43db | |||
| 6611617a81 | |||
| f488e6bad0 | |||
| 266b3d707f | |||
| a726631925 | |||
| 0b634154e4 | |||
| 3e4d4300f1 | |||
| fb527c443f | |||
| 259c719344 | |||
| 178787d907 | |||
| a51cf2e899 | |||
| 9f587ac8b1 | |||
| df97d5c4a2 | |||
| 697bd1e85e | |||
| 5ace80ba28 | |||
| 1c8abcaa58 | |||
| 96ab52821c | |||
| ecd58dea14 | |||
| 9cdc4f299e | |||
| 39af233380 | |||
| 2576d423da | |||
| 234c21c7a1 | |||
| 6d5b6b0260 | |||
| f03976595c | |||
| 54dbade661 | |||
| 6d54bda9b4 | |||
| 4c244c1927 | |||
| ee3ee54e69 | |||
| 82d4607375 | |||
| 7ecdbd1f11 | |||
| a4c30b7fdd | |||
| 3ca75ca11a | |||
| f2f8594a18 | |||
| 7b7b3e554b | |||
| 7913771b2a | |||
| ebcd8eea0a | |||
| 97bf8c291a | |||
| e4f783862b | |||
| 653d4def4e | |||
| 3cf63fc1f1 | |||
| 45ddca1928 | |||
| f4ff33a942 | |||
| ca5b5d3151 | |||
| e22f7cf5c7 | |||
| 8ea38fd31c | |||
| ea7acf6053 | |||
| 3a0d4d290c | |||
| c8053831db | |||
| e0c07ea06e | |||
| 3e79b52e23 | |||
| 7d7712e57a | |||
| 6d7a047e8e | |||
| 72e4f2a0b9 | |||
| ef6cdc6a86 | |||
| 23b86e68cc | |||
| 2e46f9f665 | |||
| 88b1c56360 | |||
| 1d71ac10bd | |||
| 8eb677ecdf | |||
| 74efbac452 | |||
| 9c6375083f | |||
| b24d5271a4 | |||
| b5626e5b08 | |||
| fd2e1fa4f4 | |||
| a3f5072646 | |||
| 1258e8c3e6 | |||
| ccef0fe528 | |||
| 9bb5d1adce | |||
| ac446d953c | |||
| 407ff0b264 | |||
| 10e748b9d4 | |||
| e30273fe42 | |||
| 44564245a7 | |||
| 920f306907 | |||
| 90aa52ab55 | |||
| 93f3eb65f0 | |||
| eb94944928 | |||
| 28698ba306 | |||
| c713bbebbc | |||
| 38e2a02766 | |||
| dd8bf264a4 | |||
| 9488c1994d | |||
| 16099cdaf6 | |||
| f061f2bfc9 | |||
| f7253fd44c | |||
| e12d371567 | |||
| 5596f71c03 | |||
| 8669b812f5 | |||
| 3243484dd0 | |||
| 37114dc4d1 | |||
| d5af79abba | |||
| b50aa7a9d2 | |||
| cc333c3147 | |||
| fc5044134c | |||
| 93a3e39332 | |||
| 3eaf187136 | |||
| 36f9fa1e36 | |||
| 0f89913609 | |||
| 4cda247ddc | |||
| e88ea0a45c | |||
| 726cf80dc0 | |||
| a779d8b94d | |||
| f41e1f3a02 | |||
| aa75a77913 | |||
| 639be21ab5 | |||
| dfc241e7f6 | |||
| 7948c7fa97 | |||
| 2ae311c28a | |||
| 56ba43183c | |||
| b93b309ea8 | |||
| f5a2d012e5 | |||
| bf07e3d0f0 | |||
| 91f075976d | |||
| ee70faefa9 | |||
| 13cca99b09 | |||
| e55b6f4934 | |||
| 62d4b6f724 | |||
| 19b0465569 | |||
| d4f44c1ab7 | |||
| 6bf183d73c | |||
| a939f0ba08 | |||
| 08b44cb45b | |||
| fef57622cf | |||
| cbf36ec962 | |||
| adc7343352 | |||
| 94b2959d29 | |||
| 11903d1a34 | |||
| ff448b36b9 | |||
| aa8a54547c | |||
| e1d1878131 | |||
| 81bc85f854 | |||
| 00c90021b5 | |||
| 89e046cc78 | |||
| 2b2cf3656c | |||
| 47a2c36e04 | |||
| bca0d0cc52 | |||
| 594a6fc9d2 | |||
| e633dcbc4d | |||
| 99de98db28 | |||
| cce8ea5ca0 | |||
| 2cb693cafc | |||
| cc54dfb452 | |||
| 68d97a167d | |||
| adde82c191 | |||
| 5b1f681a11 | |||
| 8035cf15a8 | |||
| d277bf3e8e | |||
| 5d4130f131 | |||
| d51c62143c | |||
| 26a887c5aa | |||
| 838b3b8bb8 | |||
| 0a0de9d938 | |||
| eea134ce82 | |||
| 1020a31b89 | |||
| 0133a9232f | |||
| 3ff98fcda1 | |||
| 58b4ebb420 | |||
| fc0cb423e3 | |||
| 451f45b1a1 | |||
| b672ca1d37 | |||
| c4c4013995 | |||
| e9230aba11 | |||
| d044c2ab26 | |||
| 843679620b | |||
| 7346357b8e | |||
| b29a64a75a | |||
| 163a8cb27a | |||
| 8311f56154 | |||
| 0a76cc856c | |||
| 0ed536b0d5 | |||
| c8f8ccd64f | |||
| ecd0678aab | |||
| 3d7fb9e14f | |||
| 489687d392 | |||
| 5aa360af7c | |||
| e43ba3341f | |||
| db21ce554a | |||
| 86c9f3464c | |||
| 6376668d15 | |||
| 669bc1a8f5 | |||
| d78d99094f | |||
| c2c23c37a4 | |||
| b30bdb3df1 | |||
| 8e7ad53ec9 | |||
| e36441db73 | |||
| 97c63fb01d | |||
| cddc7681b0 | |||
| 3663b2bf4e | |||
| 91f4658fe3 | |||
| 8fba80c764 | |||
| 6dbc0c5894 | |||
| 14035b4c92 | |||
| 278f13ca6d | |||
| 52eb9ee0b7 | |||
| e89c786233 | |||
| 96439282cf | |||
| 13577f3c43 |
23
.idea/codeStyles/Project.xml
generated
23
.idea/codeStyles/Project.xml
generated
@@ -1,24 +1,12 @@
|
|||||||
<component name="ProjectCodeStyleConfiguration">
|
<component name="ProjectCodeStyleConfiguration">
|
||||||
<code_scheme name="Project" version="173">
|
<code_scheme name="Project" version="173">
|
||||||
<JetCodeStyleSettings>
|
<JetCodeStyleSettings>
|
||||||
<option name="PACKAGES_TO_USE_STAR_IMPORTS">
|
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
||||||
<value>
|
|
||||||
<package name="java.util" alias="false" withSubpackages="false" />
|
|
||||||
<package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
|
|
||||||
<package name="io.ktor" alias="false" withSubpackages="true" />
|
|
||||||
</value>
|
|
||||||
</option>
|
|
||||||
<option name="PACKAGES_IMPORT_LAYOUT">
|
|
||||||
<value>
|
|
||||||
<package name="" alias="false" withSubpackages="true" />
|
|
||||||
<package name="java" alias="false" withSubpackages="true" />
|
|
||||||
<package name="javax" alias="false" withSubpackages="true" />
|
|
||||||
<package name="kotlin" alias="false" withSubpackages="true" />
|
|
||||||
<package name="" alias="true" withSubpackages="true" />
|
|
||||||
</value>
|
|
||||||
</option>
|
|
||||||
</JetCodeStyleSettings>
|
</JetCodeStyleSettings>
|
||||||
<codeStyleSettings language="XML">
|
<codeStyleSettings language="XML">
|
||||||
|
<indentOptions>
|
||||||
|
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
||||||
|
</indentOptions>
|
||||||
<arrangement>
|
<arrangement>
|
||||||
<rules>
|
<rules>
|
||||||
<section>
|
<section>
|
||||||
@@ -127,5 +115,8 @@
|
|||||||
</rules>
|
</rules>
|
||||||
</arrangement>
|
</arrangement>
|
||||||
</codeStyleSettings>
|
</codeStyleSettings>
|
||||||
|
<codeStyleSettings language="kotlin">
|
||||||
|
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
||||||
|
</codeStyleSettings>
|
||||||
</code_scheme>
|
</code_scheme>
|
||||||
</component>
|
</component>
|
||||||
5
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file
5
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<component name="ProjectCodeStyleConfiguration">
|
||||||
|
<state>
|
||||||
|
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||||
|
</state>
|
||||||
|
</component>
|
||||||
1
.idea/runConfigurations.xml
generated
1
.idea/runConfigurations.xml
generated
@@ -3,6 +3,7 @@
|
|||||||
<component name="RunConfigurationProducerService">
|
<component name="RunConfigurationProducerService">
|
||||||
<option name="ignoredProducers">
|
<option name="ignoredProducers">
|
||||||
<set>
|
<set>
|
||||||
|
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
|
||||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
|
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
|
||||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
|
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
|
||||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
|
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
|
||||||
|
|||||||
60
.idea/runConfigurations/app_agricoper.xml
generated
Normal file
60
.idea/runConfigurations/app_agricoper.xml
generated
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="app_agricoper" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
|
||||||
|
<module name="WMS_Native.app" />
|
||||||
|
<option name="DEPLOY" value="true" />
|
||||||
|
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
|
||||||
|
<option name="DEPLOY_AS_INSTANT" value="false" />
|
||||||
|
<option name="ARTIFACT_NAME" value="" />
|
||||||
|
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||||
|
<option name="ALL_USERS" value="false" />
|
||||||
|
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||||
|
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
|
||||||
|
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||||
|
<option name="MODE" value="default_activity" />
|
||||||
|
<option name="CLEAR_LOGCAT" value="true" />
|
||||||
|
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
|
||||||
|
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
|
||||||
|
<option name="FORCE_STOP_RUNNING_APP" value="true" />
|
||||||
|
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
|
||||||
|
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
|
||||||
|
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
|
||||||
|
<option name="DEBUGGER_TYPE" value="Auto" />
|
||||||
|
<Auto>
|
||||||
|
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||||
|
<option name="SHOW_STATIC_VARS" value="true" />
|
||||||
|
<option name="WORKING_DIR" value="" />
|
||||||
|
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||||
|
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||||
|
</Auto>
|
||||||
|
<Hybrid>
|
||||||
|
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||||
|
<option name="SHOW_STATIC_VARS" value="true" />
|
||||||
|
<option name="WORKING_DIR" value="" />
|
||||||
|
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||||
|
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||||
|
</Hybrid>
|
||||||
|
<Java />
|
||||||
|
<Native>
|
||||||
|
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||||
|
<option name="SHOW_STATIC_VARS" value="true" />
|
||||||
|
<option name="WORKING_DIR" value="" />
|
||||||
|
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||||
|
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||||
|
</Native>
|
||||||
|
<Profilers>
|
||||||
|
<option name="ADVANCED_PROFILING_ENABLED" value="true" />
|
||||||
|
<option name="STARTUP_PROFILING_ENABLED" value="false" />
|
||||||
|
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
|
||||||
|
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
|
||||||
|
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
|
||||||
|
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
|
||||||
|
</Profilers>
|
||||||
|
<option name="DEEP_LINK" value="" />
|
||||||
|
<option name="ACTIVITY_CLASS" value="" />
|
||||||
|
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
|
||||||
|
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
|
||||||
|
<method v="2">
|
||||||
|
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
3
.idea/runConfigurations/app_base.xml
generated
3
.idea/runConfigurations/app_base.xml
generated
@@ -7,7 +7,8 @@
|
|||||||
<option name="ARTIFACT_NAME" value="" />
|
<option name="ARTIFACT_NAME" value="" />
|
||||||
<option name="PM_INSTALL_OPTIONS" value="" />
|
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||||
<option name="ALL_USERS" value="false" />
|
<option name="ALL_USERS" value="false" />
|
||||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
|
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||||
|
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic_agricoper,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
|
||||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||||
<option name="MODE" value="default_activity" />
|
<option name="MODE" value="default_activity" />
|
||||||
<option name="CLEAR_LOGCAT" value="true" />
|
<option name="CLEAR_LOGCAT" value="true" />
|
||||||
|
|||||||
3
.idea/runConfigurations/app_frudis.xml
generated
3
.idea/runConfigurations/app_frudis.xml
generated
@@ -7,7 +7,8 @@
|
|||||||
<option name="ARTIFACT_NAME" value="" />
|
<option name="ARTIFACT_NAME" value="" />
|
||||||
<option name="PM_INSTALL_OPTIONS" value="" />
|
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||||
<option name="ALL_USERS" value="false" />
|
<option name="ALL_USERS" value="false" />
|
||||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
|
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||||
|
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_agricoper,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
|
||||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||||
<option name="MODE" value="default_activity" />
|
<option name="MODE" value="default_activity" />
|
||||||
<option name="CLEAR_LOGCAT" value="true" />
|
<option name="CLEAR_LOGCAT" value="true" />
|
||||||
|
|||||||
3
.idea/runConfigurations/app_gramm.xml
generated
3
.idea/runConfigurations/app_gramm.xml
generated
@@ -7,7 +7,8 @@
|
|||||||
<option name="ARTIFACT_NAME" value="" />
|
<option name="ARTIFACT_NAME" value="" />
|
||||||
<option name="PM_INSTALL_OPTIONS" value="" />
|
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||||
<option name="ALL_USERS" value="false" />
|
<option name="ALL_USERS" value="false" />
|
||||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_frudis,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
|
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||||
|
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_agricoper,WMS_Native.dynamic_frudis,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
|
||||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||||
<option name="MODE" value="default_activity" />
|
<option name="MODE" value="default_activity" />
|
||||||
<option name="CLEAR_LOGCAT" value="true" />
|
<option name="CLEAR_LOGCAT" value="true" />
|
||||||
|
|||||||
3
.idea/runConfigurations/app_ime.xml
generated
3
.idea/runConfigurations/app_ime.xml
generated
@@ -7,7 +7,8 @@
|
|||||||
<option name="ARTIFACT_NAME" value="" />
|
<option name="ARTIFACT_NAME" value="" />
|
||||||
<option name="PM_INSTALL_OPTIONS" value="" />
|
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||||
<option name="ALL_USERS" value="false" />
|
<option name="ALL_USERS" value="false" />
|
||||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
|
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||||
|
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_agricoper,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
|
||||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||||
<option name="MODE" value="default_activity" />
|
<option name="MODE" value="default_activity" />
|
||||||
<option name="CLEAR_LOGCAT" value="true" />
|
<option name="CLEAR_LOGCAT" value="true" />
|
||||||
|
|||||||
3
.idea/runConfigurations/app_saporiveri.xml
generated
3
.idea/runConfigurations/app_saporiveri.xml
generated
@@ -7,7 +7,8 @@
|
|||||||
<option name="ARTIFACT_NAME" value="" />
|
<option name="ARTIFACT_NAME" value="" />
|
||||||
<option name="PM_INSTALL_OPTIONS" value="" />
|
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||||
<option name="ALL_USERS" value="false" />
|
<option name="ALL_USERS" value="false" />
|
||||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri_pv,dynamic_vgalimenti" />
|
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||||
|
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_agricoper,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri_pv,dynamic_vgalimenti" />
|
||||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||||
<option name="MODE" value="default_activity" />
|
<option name="MODE" value="default_activity" />
|
||||||
<option name="CLEAR_LOGCAT" value="true" />
|
<option name="CLEAR_LOGCAT" value="true" />
|
||||||
|
|||||||
3
.idea/runConfigurations/app_saporiveri_pv.xml
generated
3
.idea/runConfigurations/app_saporiveri_pv.xml
generated
@@ -7,7 +7,8 @@
|
|||||||
<option name="ARTIFACT_NAME" value="" />
|
<option name="ARTIFACT_NAME" value="" />
|
||||||
<option name="PM_INSTALL_OPTIONS" value="" />
|
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||||
<option name="ALL_USERS" value="false" />
|
<option name="ALL_USERS" value="false" />
|
||||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_vgalimenti" />
|
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||||
|
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_agricoper,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_vgalimenti" />
|
||||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||||
<option name="MODE" value="default_activity" />
|
<option name="MODE" value="default_activity" />
|
||||||
<option name="CLEAR_LOGCAT" value="true" />
|
<option name="CLEAR_LOGCAT" value="true" />
|
||||||
|
|||||||
3
.idea/runConfigurations/app_vglimenti.xml
generated
3
.idea/runConfigurations/app_vglimenti.xml
generated
@@ -7,7 +7,8 @@
|
|||||||
<option name="ARTIFACT_NAME" value="" />
|
<option name="ARTIFACT_NAME" value="" />
|
||||||
<option name="PM_INSTALL_OPTIONS" value="" />
|
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||||
<option name="ALL_USERS" value="false" />
|
<option name="ALL_USERS" value="false" />
|
||||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv" />
|
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||||
|
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_agricoper,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv" />
|
||||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||||
<option name="MODE" value="default_activity" />
|
<option name="MODE" value="default_activity" />
|
||||||
<option name="CLEAR_LOGCAT" value="true" />
|
<option name="CLEAR_LOGCAT" value="true" />
|
||||||
|
|||||||
@@ -2,13 +2,12 @@ apply plugin: 'com.android.application'
|
|||||||
apply plugin: 'com.google.firebase.firebase-perf'
|
apply plugin: 'com.google.firebase.firebase-perf'
|
||||||
apply plugin: 'com.google.firebase.crashlytics'
|
apply plugin: 'com.google.firebase.crashlytics'
|
||||||
apply plugin: 'kotlin-android'
|
apply plugin: 'kotlin-android'
|
||||||
apply plugin: 'kotlin-android-extensions'
|
|
||||||
apply plugin: 'com.google.gms.google-services'
|
apply plugin: 'com.google.gms.google-services'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 183
|
def appVersionCode = 228
|
||||||
def appVersionName = '1.16.1'
|
def appVersionName = '1.17.8'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
@@ -16,6 +15,9 @@ android {
|
|||||||
keyPassword 'inpmiy'
|
keyPassword 'inpmiy'
|
||||||
storeFile file('Integry.jks')
|
storeFile file('Integry.jks')
|
||||||
storePassword 'inpmiy'
|
storePassword 'inpmiy'
|
||||||
|
|
||||||
|
enableV3Signing true
|
||||||
|
enableV4Signing true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,12 +27,12 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
compileSdkVersion 29
|
compileSdkVersion 30
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "it.integry.integrywmsnative"
|
applicationId "it.integry.integrywmsnative"
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 29
|
targetSdkVersion 30
|
||||||
versionCode appVersionCode
|
versionCode appVersionCode
|
||||||
versionName appVersionName
|
versionName appVersionName
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
@@ -51,8 +53,8 @@ android {
|
|||||||
android.buildFeatures.dataBinding true
|
android.buildFeatures.dataBinding true
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
targetCompatibility 1.8
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||||||
sourceCompatibility 1.8
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
}
|
}
|
||||||
productFlavors {
|
productFlavors {
|
||||||
}
|
}
|
||||||
@@ -75,7 +77,7 @@ android {
|
|||||||
abortOnError false
|
abortOnError false
|
||||||
}
|
}
|
||||||
|
|
||||||
dynamicFeatures = [":dynamic__base", ":dynamic_vgalimenti", ":dynamic_ime", ":dynamic_frudis", ":dynamic_saporiveri_pv", ":dynamic_saporiveri", ':dynamic_gramm']
|
dynamicFeatures = [":dynamic__base", ":dynamic_vgalimenti", ":dynamic_ime", ":dynamic_frudis", ":dynamic_saporiveri_pv", ":dynamic_saporiveri", ':dynamic_gramm', ':dynamic_agricoper']
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -97,29 +99,27 @@ dependencies {
|
|||||||
implementation 'com.google.firebase:firebase-crash'
|
implementation 'com.google.firebase:firebase-crash'
|
||||||
implementation 'com.google.firebase:firebase-crashlytics'
|
implementation 'com.google.firebase:firebase-crashlytics'
|
||||||
implementation 'com.google.firebase:firebase-perf'
|
implementation 'com.google.firebase:firebase-perf'
|
||||||
implementation 'com.google.android.gms:play-services-basement:17.5.0'
|
implementation 'com.google.android.gms:play-services-basement:17.6.0'
|
||||||
|
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||||
implementation 'com.google.android.material:material:1.3.0-rc01'
|
implementation 'com.google.android.material:material:1.3.0'
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
||||||
implementation 'androidx.cardview:cardview:1.0.0'
|
implementation 'androidx.cardview:cardview:1.0.0'
|
||||||
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
implementation 'androidx.recyclerview:recyclerview:1.2.0'
|
||||||
implementation 'androidx.preference:preference-ktx:1.1.1'
|
implementation 'androidx.preference:preference-ktx:1.1.1'
|
||||||
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
|
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
|
||||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||||
implementation 'com.annimon:stream:1.2.1'
|
implementation 'com.annimon:stream:1.2.2'
|
||||||
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
|
||||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||||
implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-common-java8:2.3.1'
|
||||||
implementation 'org.apache.commons:commons-text:1.9'
|
implementation 'org.apache.commons:commons-text:1.9'
|
||||||
|
|
||||||
//MVVM
|
//MVVM
|
||||||
def dagger2_version = '2.29.1'
|
def dagger2_version = '2.29.1'
|
||||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
|
||||||
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
|
|
||||||
api "com.google.dagger:dagger:$dagger2_version"
|
api "com.google.dagger:dagger:$dagger2_version"
|
||||||
annotationProcessor "com.google.dagger:dagger-compiler:$dagger2_version"
|
annotationProcessor "com.google.dagger:dagger-compiler:$dagger2_version"
|
||||||
api "com.google.dagger:dagger-android:$dagger2_version"
|
api "com.google.dagger:dagger-android:$dagger2_version"
|
||||||
@@ -130,16 +130,16 @@ dependencies {
|
|||||||
implementation 'com.github.clans:fab:1.6.4'
|
implementation 'com.github.clans:fab:1.6.4'
|
||||||
//CUSTOM VIEWS
|
//CUSTOM VIEWS
|
||||||
implementation 'com.github.NaimishTrivedi:FBToast:1.0'
|
implementation 'com.github.NaimishTrivedi:FBToast:1.0'
|
||||||
implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
|
implementation 'com.github.cachapa:ExpandableLayout:2.9.2'
|
||||||
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
|
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
|
||||||
implementation 'com.fede987:status-bar-alert:1.0.1'
|
implementation 'com.github.fede87:StatusBarAlert:1.0.1'
|
||||||
implementation 'com.fxn769:stash:1.2'
|
implementation 'com.github.akshay2211:Stash:master'
|
||||||
testImplementation 'junit:junit:4.13.1'
|
testImplementation 'junit:junit:4.13.2'
|
||||||
implementation 'com.github.zhukic:sectioned-recyclerview:1.2.3'
|
implementation 'com.github.zhukic:sectioned-recyclerview:1.2.3'
|
||||||
implementation 'com.github.pedromassango:doubleClick:3.0'
|
implementation 'com.github.pedromassango:doubleClick:3.0'
|
||||||
|
|
||||||
//SQLite ROOM
|
//SQLite ROOM
|
||||||
def room_version = "2.2.5"
|
def room_version = "2.3.0"
|
||||||
|
|
||||||
implementation "androidx.room:room-runtime:$room_version"
|
implementation "androidx.room:room-runtime:$room_version"
|
||||||
annotationProcessor "androidx.room:room-compiler:$room_version"
|
annotationProcessor "androidx.room:room-compiler:$room_version"
|
||||||
@@ -153,11 +153,12 @@ dependencies {
|
|||||||
implementation project(':barcode_base_android_library')
|
implementation project(':barcode_base_android_library')
|
||||||
implementation project(':honeywellscannerlibrary')
|
implementation project(':honeywellscannerlibrary')
|
||||||
implementation project(':keyobardemulatorscannerlibrary')
|
implementation project(':keyobardemulatorscannerlibrary')
|
||||||
implementation project(':barcode_kaiteki')
|
androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.1'
|
||||||
androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
|
androidTestImplementation 'org.testng:testng:7.4.0'
|
||||||
androidTestImplementation 'org.testng:testng:7.3.0'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
google()
|
google()
|
||||||
|
maven { url 'https://jitpack.io' }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||||
|
<uses-permission android:name="android.permission.CAMERA" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name=".MainApplication"
|
android:name=".MainApplication"
|
||||||
@@ -17,27 +18,25 @@
|
|||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/AppTheme"
|
android:theme="@style/AppTheme"
|
||||||
android:usesCleartextTraffic="true">
|
android:usesCleartextTraffic="true"
|
||||||
|
android:fullBackupContent="@xml/backup_descriptor">
|
||||||
<activity
|
<activity
|
||||||
android:name=".gest.spedizione.SpedizioneActivity"
|
android:name=".gest.spedizione.SpedizioneActivity"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:theme="@style/Light"
|
android:theme="@style/Light"
|
||||||
android:windowSoftInputMode="adjustNothing" />
|
android:windowSoftInputMode="adjustNothing" />
|
||||||
<activity android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity" />
|
<activity android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity"
|
||||||
<activity
|
|
||||||
android:name=".gest.picking_resi_OLD.PickingResiActivity"
|
|
||||||
android:label="@string/activity_ultime_consegne_title"
|
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:theme="@style/Light" />
|
android:theme="@style/Light"
|
||||||
|
android:windowSoftInputMode="adjustNothing" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".gest.picking_resi.PickingResiActivity"
|
android:name=".gest.picking_resi.PickingResiActivity"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:theme="@style/Light" />
|
android:theme="@style/Light" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:screenOrientation="portrait"
|
|
||||||
android:theme="@style/Light"
|
android:theme="@style/Light"
|
||||||
android:windowSoftInputMode="adjustPan">
|
android:windowSoftInputMode="adjustNothing">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.CLIENTBARCODEACTIVITY" />
|
<action android:name="android.intent.action.CLIENTBARCODEACTIVITY" />
|
||||||
|
|
||||||
@@ -51,7 +50,6 @@
|
|||||||
android:windowSoftInputMode="adjustNothing" />
|
android:windowSoftInputMode="adjustNothing" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".gest.login.LoginActivity"
|
android:name=".gest.login.LoginActivity"
|
||||||
android:screenOrientation="portrait"
|
|
||||||
android:theme="@style/Light" />
|
android:theme="@style/Light" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".gest.lista_bancali.ListaBancaliActivity"
|
android:name=".gest.lista_bancali.ListaBancaliActivity"
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
|||||||
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
|
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
|
||||||
import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
|
import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
|
||||||
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
|
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
|
||||||
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
|
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
|
||||||
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
||||||
import it.integry.integrywmsnative.core.expansion.OnSingleClickListener;
|
import it.integry.integrywmsnative.core.expansion.OnSingleClickListener;
|
||||||
@@ -42,6 +43,7 @@ import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
|
|||||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||||
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
||||||
import it.integry.integrywmsnative.core.update.UpdatesManager;
|
import it.integry.integrywmsnative.core.update.UpdatesManager;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityContext;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilitySettings;
|
import it.integry.integrywmsnative.core.utility.UtilitySettings;
|
||||||
import it.integry.integrywmsnative.databinding.ActivityMainBinding;
|
import it.integry.integrywmsnative.databinding.ActivityMainBinding;
|
||||||
import it.integry.integrywmsnative.gest.login.LoginActivity;
|
import it.integry.integrywmsnative.gest.login.LoginActivity;
|
||||||
@@ -59,6 +61,9 @@ public class MainActivity extends BaseActivity
|
|||||||
@Inject
|
@Inject
|
||||||
AppDatabase mAppDatabase;
|
AppDatabase mAppDatabase;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
ColliDataRecoverService mColliDataRecoverService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -68,10 +73,13 @@ public class MainActivity extends BaseActivity
|
|||||||
.create()
|
.create()
|
||||||
.inject(this);
|
.inject(this);
|
||||||
|
|
||||||
|
mColliDataRecoverService.init(this);
|
||||||
|
|
||||||
mBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_main, null, false);
|
mBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_main, null, false);
|
||||||
setContentView(mBinding.getRoot());
|
setContentView(mBinding.getRoot());
|
||||||
|
|
||||||
UpdatesManager.init(this);
|
UpdatesManager.init(this);
|
||||||
|
UtilityContext.initMainActivity(this);
|
||||||
|
|
||||||
setSupportActionBar(mBinding.appBarMain.toolbar);
|
setSupportActionBar(mBinding.appBarMain.toolbar);
|
||||||
getSupportActionBar().setDisplayShowTitleEnabled(false);
|
getSupportActionBar().setDisplayShowTitleEnabled(false);
|
||||||
@@ -87,7 +95,7 @@ public class MainActivity extends BaseActivity
|
|||||||
mBinding.appBarMain.mainSearch.setVisibility(View.GONE);
|
mBinding.appBarMain.mainSearch.setVisibility(View.GONE);
|
||||||
|
|
||||||
initGestMenu();
|
initGestMenu();
|
||||||
openMain();
|
if(savedInstanceState == null) openMain();
|
||||||
|
|
||||||
init();
|
init();
|
||||||
|
|
||||||
@@ -277,6 +285,11 @@ public class MainActivity extends BaseActivity
|
|||||||
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.VISIBLE);
|
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.VISIBLE);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
((ISearcableFragment) fragment).addOnPreDestroy(() -> {
|
||||||
|
mBinding.appBarMain.mainSearch.setIconified(true);
|
||||||
|
mBinding.appBarMain.mainSearch.setVisibility(View.GONE);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
mBinding.appBarMain.mainSearch.setOnQueryTextListener(null);
|
mBinding.appBarMain.mainSearch.setOnQueryTextListener(null);
|
||||||
mBinding.appBarMain.mainSearch.setVisibility(View.GONE);
|
mBinding.appBarMain.mainSearch.setVisibility(View.GONE);
|
||||||
@@ -289,6 +302,10 @@ public class MainActivity extends BaseActivity
|
|||||||
mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.GONE);
|
mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.GONE);
|
||||||
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.VISIBLE);
|
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.VISIBLE);
|
||||||
((ITitledFragment) fragment).onCreateActionBar(mBinding.appBarMain.toolbarTitleLeft, this);
|
((ITitledFragment) fragment).onCreateActionBar(mBinding.appBarMain.toolbarTitleLeft, this);
|
||||||
|
((ITitledFragment) fragment).addOnPreDestroy(() -> {
|
||||||
|
mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.VISIBLE);
|
||||||
|
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.GONE);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.VISIBLE);
|
mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.VISIBLE);
|
||||||
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.GONE);
|
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.GONE);
|
||||||
@@ -296,7 +313,7 @@ public class MainActivity extends BaseActivity
|
|||||||
|
|
||||||
if(fragment instanceof IScrollableFragment) {
|
if(fragment instanceof IScrollableFragment) {
|
||||||
((IScrollableFragment) fragment).setScrollToolbar(mBinding.appBarMain.elevatedToolbar);
|
((IScrollableFragment) fragment).setScrollToolbar(mBinding.appBarMain.elevatedToolbar);
|
||||||
((IScrollableFragment) fragment).setScrollableOnPreDestroy(() -> {
|
((IScrollableFragment) fragment).addOnPreDestroy(() -> {
|
||||||
mBinding.appBarMain.elevatedToolbar.resetAll();
|
mBinding.appBarMain.elevatedToolbar.resetAll();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -309,7 +326,7 @@ public class MainActivity extends BaseActivity
|
|||||||
((ISelectAllFragment)fragment).onSelectAll();
|
((ISelectAllFragment)fragment).onSelectAll();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
((ISelectAllFragment) fragment).setSelectAllOnPreDestroy(() -> {
|
((ISelectAllFragment) fragment).addOnPreDestroy(() -> {
|
||||||
mBinding.appBarMain.mainSelectAll.setVisibility(View.GONE);
|
mBinding.appBarMain.mainSelectAll.setVisibility(View.GONE);
|
||||||
mBinding.appBarMain.mainSelectAll.setOnClickListener(null);
|
mBinding.appBarMain.mainSelectAll.setOnClickListener(null);
|
||||||
});
|
});
|
||||||
@@ -323,6 +340,11 @@ public class MainActivity extends BaseActivity
|
|||||||
((IFilterableFragment)fragment).onFilterClick();
|
((IFilterableFragment)fragment).onFilterClick();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
((IFilterableFragment)fragment).addOnPreDestroy(() -> {
|
||||||
|
mBinding.appBarMain.mainFilter.setVisibility(View.GONE);
|
||||||
|
mBinding.appBarMain.mainFilter.setOnClickListener(null);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
mBinding.appBarMain.mainFilter.setVisibility(View.GONE);
|
mBinding.appBarMain.mainFilter.setVisibility(View.GONE);
|
||||||
mBinding.appBarMain.mainFilter.setOnClickListener(null);
|
mBinding.appBarMain.mainFilter.setOnClickListener(null);
|
||||||
|
|||||||
@@ -13,8 +13,12 @@ import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoComponent;
|
|||||||
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoModule;
|
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoModule;
|
||||||
import it.integry.integrywmsnative.gest.picking_resi.PickingResiComponent;
|
import it.integry.integrywmsnative.gest.picking_resi.PickingResiComponent;
|
||||||
import it.integry.integrywmsnative.gest.picking_resi.PickingResiModule;
|
import it.integry.integrywmsnative.gest.picking_resi.PickingResiModule;
|
||||||
import it.integry.integrywmsnative.gest.prod_posizionamento_da_ord.ProdPosizionamentoDaOrdComponent;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdComponent;
|
||||||
import it.integry.integrywmsnative.gest.prod_posizionamento_da_ord.ProdPosizionamentoDaOrdModule;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdModule;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaModule;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_rientro_merce.order_detail.ProdRientroMerceOrderDetailComponent;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditComponent;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditComponent;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditModule;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditModule;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdineAcquistoGrigliaComponent;
|
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdineAcquistoGrigliaComponent;
|
||||||
@@ -23,10 +27,24 @@ import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeComp
|
|||||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeModule;
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeModule;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneComponent;
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneComponent;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneModule;
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneModule;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdModule;
|
||||||
|
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteModule;
|
||||||
|
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreModule;
|
||||||
|
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceModule;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotComponent;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotModule;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdComponent;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdModule;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Component;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Component;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Module;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Module;
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtComponent;
|
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtComponent;
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtModule;
|
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtModule;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUComponent;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUModule;
|
||||||
|
|
||||||
// Definition of the Application graph
|
// Definition of the Application graph
|
||||||
@Singleton
|
@Singleton
|
||||||
@@ -40,11 +58,19 @@ import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtModule;
|
|||||||
RettificaGiacenzeModule.class,
|
RettificaGiacenzeModule.class,
|
||||||
SpedizioneModule.class,
|
SpedizioneModule.class,
|
||||||
AccettazionePickingModule.class,
|
AccettazionePickingModule.class,
|
||||||
|
UltimeConsegneClienteModule.class,
|
||||||
|
UltimiArriviFornitoreModule.class,
|
||||||
PickingResiModule.class,
|
PickingResiModule.class,
|
||||||
ProdPosizionamentoDaOrdModule.class,
|
|
||||||
OrdiniUscitaElencoModule.class,
|
OrdiniUscitaElencoModule.class,
|
||||||
DialogInputQuantityV2Module.class,
|
DialogInputQuantityV2Module.class,
|
||||||
DialogScanArtModule.class})
|
DialogInputLUProdModule.class,
|
||||||
|
DialogScanArtModule.class,
|
||||||
|
DialogScanOrCreateLUModule.class,
|
||||||
|
ProdFabbisognoLineeProdModule.class,
|
||||||
|
VersamentoMerceModule.class,
|
||||||
|
DialogAskMagazzinoProssimitaModule.class,
|
||||||
|
DialogChooseBatchLotModule.class,
|
||||||
|
DialogRowInfoProdFabbisognoLineeProdModule.class})
|
||||||
public interface MainApplicationComponent {
|
public interface MainApplicationComponent {
|
||||||
|
|
||||||
MainActivityComponent.Factory mainActivityComponent();
|
MainActivityComponent.Factory mainActivityComponent();
|
||||||
@@ -54,12 +80,21 @@ public interface MainApplicationComponent {
|
|||||||
RettificaGiacenzeComponent.Factory rettificaGiacenzeComponent();
|
RettificaGiacenzeComponent.Factory rettificaGiacenzeComponent();
|
||||||
SpedizioneComponent.Factory spedizioneComponent();
|
SpedizioneComponent.Factory spedizioneComponent();
|
||||||
AccettazionePickingComponent.Factory accettazionePickingComponent();
|
AccettazionePickingComponent.Factory accettazionePickingComponent();
|
||||||
|
UltimeConsegneClienteComponent.Factory ultimeConsegneClienteComponent();
|
||||||
|
UltimiArriviFornitoreComponent.Factory ultimiArriviFornitoreComponent();
|
||||||
PickingResiComponent.Factory pickingResiComponent();
|
PickingResiComponent.Factory pickingResiComponent();
|
||||||
ProdPosizionamentoDaOrdComponent.Factory prodPosizionamentoDaOrdComponent();
|
|
||||||
OrdiniUscitaElencoComponent.Factory prodOrdineLavorazioneElencoComponent();
|
OrdiniUscitaElencoComponent.Factory prodOrdineLavorazioneElencoComponent();
|
||||||
DialogInputQuantityV2Component.Factory dialogInputQuantityV2Component();
|
DialogInputQuantityV2Component.Factory dialogInputQuantityV2Component();
|
||||||
|
DialogInputLUProdComponent.Factory dialogInputLUProdComponent();
|
||||||
DialogScanArtComponent.Factory dialogScanArtComponent();
|
DialogScanArtComponent.Factory dialogScanArtComponent();
|
||||||
|
DialogScanOrCreateLUComponent.Factory dialogScanOrCreateLUComponent();
|
||||||
|
ProdFabbisognoLineeProdComponent.Factory prodFabbisognoLineeProdComponent();
|
||||||
|
VersamentoMerceComponent.Factory versamentoMerceComponent();
|
||||||
|
DialogAskMagazzinoProssimitaComponent.Factory dialogAskMagazzinoProssimitaComponent();
|
||||||
|
DialogChooseBatchLotComponent.Factory dialogChooseBatchLotComponent();
|
||||||
|
DialogRowInfoProdFabbisognoLineeProdComponent.Factory dialogRowInfoProdFabbisognoLineeProdComponent();
|
||||||
|
ProdRientroMerceComponent.Factory prodRientroMerceComponent();
|
||||||
|
ProdRientroMerceOrderDetailComponent.Factory prodRientroMerceOrderDetailComponent();
|
||||||
|
|
||||||
|
|
||||||
void inject(AppContext appContext);
|
void inject(AppContext appContext);
|
||||||
|
|||||||
@@ -12,10 +12,13 @@ import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
|||||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer;
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
public class MainApplicationModule {
|
public class MainApplicationModule {
|
||||||
@@ -37,7 +40,7 @@ public class MainApplicationModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
ColliDataRecoverService provideColliDataRecoverService() {
|
ColliDataRecoverService provideColliDataRecoverService() {
|
||||||
return new ColliDataRecoverService(mContext);
|
return new ColliDataRecoverService();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -58,6 +61,18 @@ public class MainApplicationModule {
|
|||||||
return new ArticoloRESTConsumer();
|
return new ArticoloRESTConsumer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
MagazzinoRESTConsumer provideMagazzinoRESTConsumer() {
|
||||||
|
return new MagazzinoRESTConsumer();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
MesRESTConsumer provideMesRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
||||||
|
return new MesRESTConsumer(systemRESTConsumer);
|
||||||
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
ColliMagazzinoRESTConsumer provideColliMagazzinoRESTConsumer(ArticoloRESTConsumer articoloRESTConsumer) {
|
ColliMagazzinoRESTConsumer provideColliMagazzinoRESTConsumer(ArticoloRESTConsumer articoloRESTConsumer) {
|
||||||
@@ -88,5 +103,12 @@ public class MainApplicationModule {
|
|||||||
return new PosizioniRESTConsumer(systemRESTConsumer);
|
return new PosizioniRESTConsumer(systemRESTConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
ProdFabbisognoLineeProdRESTConsumer providesProdFabbisognoLineeProdRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
||||||
|
return new ProdFabbisognoLineeProdRESTConsumer(systemRESTConsumer);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,22 +6,21 @@ import android.content.pm.PackageManager;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.widget.TextView;
|
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.context.MainContext;
|
import it.integry.integrywmsnative.core.context.MainContext;
|
||||||
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.PermissionsHelper;
|
import it.integry.integrywmsnative.core.utility.PermissionsHelper;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityContext;
|
||||||
import it.integry.integrywmsnative.databinding.ActivitySplashBinding;
|
import it.integry.integrywmsnative.databinding.ActivitySplashBinding;
|
||||||
import it.integry.integrywmsnative.gest.login.LoginActivity;
|
import it.integry.integrywmsnative.gest.login.LoginActivity;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
|
|
||||||
public class SplashActivity extends BaseActivity {
|
public class SplashActivity extends BaseActivity {
|
||||||
|
|
||||||
@@ -39,6 +38,8 @@ public class SplashActivity extends BaseActivity {
|
|||||||
mBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_splash, null, false);
|
mBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_splash, null, false);
|
||||||
setContentView(mBinding.getRoot());
|
setContentView(mBinding.getRoot());
|
||||||
|
|
||||||
|
UtilityContext.initMainActivity(this);
|
||||||
|
|
||||||
initAppVersion();
|
initAppVersion();
|
||||||
|
|
||||||
initPermissions(this::init);
|
initPermissions(this::init);
|
||||||
@@ -49,10 +50,10 @@ public class SplashActivity extends BaseActivity {
|
|||||||
onComplete.run();
|
onComplete.run();
|
||||||
}, permanentlyDenied -> {
|
}, permanentlyDenied -> {
|
||||||
if(permanentlyDenied) {
|
if(permanentlyDenied) {
|
||||||
DialogSimpleMessageHelper.makeErrorDialog(this,
|
DialogSimpleMessageView.makeErrorDialog(new SpannableString(getText(R.string.permissions_permanently_denied)), null, () -> {
|
||||||
new SpannableString(getText(R.string.permissions_permanently_denied)), null, () -> {
|
|
||||||
this.finish();
|
this.finish();
|
||||||
}).show();
|
})
|
||||||
|
.show(getSupportFragmentManager(), "tag");
|
||||||
} else {
|
} else {
|
||||||
initPermissions(onComplete);
|
initPermissions(onComplete);
|
||||||
}
|
}
|
||||||
@@ -93,6 +94,7 @@ public class SplashActivity extends BaseActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
|
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
|
||||||
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||||
if(this.onRequestPermissionResult != null) {
|
if(this.onRequestPermissionResult != null) {
|
||||||
List<Integer> grantResultsList = new ArrayList<>();
|
List<Integer> grantResultsList = new ArrayList<>();
|
||||||
for(int i = 0; i < grantResults.length; i++) {
|
for(int i = 0; i < grantResults.length; i++) {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment;
|
|||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment;
|
||||||
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
|
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdFragment;
|
||||||
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment;
|
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment;
|
||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment;
|
||||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
|
||||||
@@ -47,7 +48,7 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
|||||||
.setTitleText(R.string.vendita_title_fragment)
|
.setTitleText(R.string.vendita_title_fragment)
|
||||||
.setTitleIcon(R.drawable.ic_dashboard_spedizione)
|
.setTitleIcon(R.drawable.ic_dashboard_spedizione)
|
||||||
.setDrawerIcon(R.drawable.ic_black_upload)
|
.setDrawerIcon(R.drawable.ic_black_upload)
|
||||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, GestioneEnum.VENDITA, -1)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(R.id.nav_free_picking)
|
.setID(R.id.nav_free_picking)
|
||||||
@@ -78,7 +79,7 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
|||||||
.setTitleText(R.string.prod_ordine_lavorazione_title_fragment)
|
.setTitleText(R.string.prod_ordine_lavorazione_title_fragment)
|
||||||
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione)
|
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione)
|
||||||
.setDrawerIcon(R.drawable.ic_black_external)
|
.setDrawerIcon(R.drawable.ic_black_external)
|
||||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, null)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(R.id.nav_free_lav_picking)
|
.setID(R.id.nav_free_lav_picking)
|
||||||
@@ -89,10 +90,10 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
|||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(R.id.nav_prod_posizionamento_da_ord)
|
.setID(R.id.nav_prod_posizionamento_da_ord)
|
||||||
.setTitleText(it.integry.integrywmsnative.R.string.versamento_merce_fragment_title)
|
.setTitleText(R.string.prod_fabbisogno_linee_prod_title)
|
||||||
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_merce)
|
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_merce)
|
||||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_load_shelf)
|
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_load_shelf)
|
||||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, 1)))
|
.setFragmentFactory(ProdFabbisognoLineeProdFragment::newInstance))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(R.id.nav_prod_versamento_materiale)
|
.setID(R.id.nav_prod_versamento_materiale)
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import com.orhanobut.logger.Logger;
|
|||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.BuildConfig;
|
import it.integry.integrywmsnative.BuildConfig;
|
||||||
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
|
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.settings.Stash;
|
import it.integry.integrywmsnative.core.settings.Stash;
|
||||||
@@ -41,8 +40,6 @@ public class AppContext {
|
|||||||
this.initCrashlytics();
|
this.initCrashlytics();
|
||||||
|
|
||||||
this.initLogger();
|
this.initLogger();
|
||||||
|
|
||||||
this.initRecoverColli();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -77,9 +74,5 @@ public class AppContext {
|
|||||||
Logger.addLogAdapter(new AndroidLogAdapter());
|
Logger.addLogAdapter(new AndroidLogAdapter());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initRecoverColli() {
|
|
||||||
ColliDataRecover.init(mContext);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,25 @@
|
|||||||
package it.integry.integrywmsnative.core.context;
|
package it.integry.integrywmsnative.core.context;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.text.Html;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
|
import android.text.Spanned;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
import java.net.ConnectException;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.MainApplication;
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
||||||
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
|
||||||
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilitySettings;
|
import it.integry.integrywmsnative.core.utility.UtilitySettings;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
|
|
||||||
public class MainContext {
|
public class MainContext {
|
||||||
|
|
||||||
@@ -37,6 +41,8 @@ public class MainContext {
|
|||||||
this.initReflections();
|
this.initReflections();
|
||||||
|
|
||||||
this.initServerStatusChecker();
|
this.initServerStatusChecker();
|
||||||
|
|
||||||
|
ColliDataRecover.init(mContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -46,11 +52,23 @@ public class MainContext {
|
|||||||
|
|
||||||
private void initDBData(Runnable onComplete) {
|
private void initDBData(Runnable onComplete) {
|
||||||
SettingsManager.loadDBVariables(onComplete, ex -> {
|
SettingsManager.loadDBVariables(onComplete, ex -> {
|
||||||
DialogSimpleMessageHelper.makeErrorDialog(mContext,
|
|
||||||
new SpannableString(ex.getMessage()), null, mContext::finish, R.string.logout, () -> {
|
Spanned message = null;
|
||||||
|
|
||||||
|
if (ex.getCause() != null && ex.getCause() instanceof ConnectException) {
|
||||||
|
message = Html.fromHtml("Impossibile collegarsi all'host <b>" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "</b>. Riprovare più tardi.");
|
||||||
|
} else if (ex.getMessage().startsWith("Status 404:")) {
|
||||||
|
message = Html.fromHtml("Errore 404. Non è stato possibile soddisfare la richiesta sull'host <b>" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "</b>. Riprovare più tardi.");
|
||||||
|
} else {
|
||||||
|
message = new SpannableString(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
DialogSimpleMessageView.makeErrorDialog(
|
||||||
|
message, null, mContext::finish, R.string.logout, () -> {
|
||||||
UtilitySettings.logout();
|
UtilitySettings.logout();
|
||||||
MainApplication.exit();
|
MainApplication.exit();
|
||||||
}).show();
|
})
|
||||||
|
.show(mContext.getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,10 @@ package it.integry.integrywmsnative.core.data_recover;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import com.annimon.stream.Optional;
|
import com.annimon.stream.Optional;
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
import com.google.android.gms.common.util.IOUtils;
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
@@ -107,11 +108,11 @@ public class ColliDataRecover {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Context mContext;
|
private static AppCompatActivity mContext;
|
||||||
|
|
||||||
private static List<RecoverDTO> mtbColtsSessions = new ArrayList<>();
|
private static List<RecoverDTO> mtbColtsSessions = new ArrayList<>();
|
||||||
|
|
||||||
public static void init(Context context) {
|
public static void init(AppCompatActivity context) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
|
|
||||||
if(isFilePresent(CommonConst.Files.RECOVER_COLLO_FILE)) {
|
if(isFilePresent(CommonConst.Files.RECOVER_COLLO_FILE)) {
|
||||||
@@ -120,7 +121,7 @@ public class ColliDataRecover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean thereIsAnExistantSession() {
|
public static boolean thereIsAnExistantSession() {
|
||||||
return mtbColtsSessions.size() > 0;
|
return mtbColtsSessions != null && mtbColtsSessions.size() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<Integer> getAllSessionIDs() {
|
public static List<Integer> getAllSessionIDs() {
|
||||||
@@ -191,13 +192,16 @@ public class ColliDataRecover {
|
|||||||
try {
|
try {
|
||||||
inputStream = mContext.openFileInput(CommonConst.Files.RECOVER_COLLO_FILE);
|
inputStream = mContext.openFileInput(CommonConst.Files.RECOVER_COLLO_FILE);
|
||||||
|
|
||||||
byte[] bytes = IOUtils.readInputStreamFully(inputStream);
|
byte[] bytes = new byte[inputStream.available()];
|
||||||
|
inputStream.read(bytes);
|
||||||
|
inputStream.close();
|
||||||
|
|
||||||
String jsonString = new String(bytes);
|
String jsonString = new String(bytes);
|
||||||
|
|
||||||
Type listType = new TypeToken<ArrayList<RecoverDTO>>(){}.getType();
|
Type listType = new TypeToken<ArrayList<RecoverDTO>>(){}.getType();
|
||||||
mtbColtsSessions = gson.fromJson(jsonString, listType);
|
mtbColtsSessions = gson.fromJson(jsonString, listType);
|
||||||
|
|
||||||
inputStream.close();
|
if(mtbColtsSessions == null) mtbColtsSessions = new ArrayList<>();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
UtilityExceptions.defaultException(mContext, e);
|
UtilityExceptions.defaultException(mContext, e);
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package it.integry.integrywmsnative.core.data_recover;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import com.annimon.stream.Optional;
|
import com.annimon.stream.Optional;
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
import com.google.android.gms.common.util.IOUtils;
|
import com.google.android.gms.common.util.IOUtils;
|
||||||
@@ -28,20 +30,21 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
|||||||
public class ColliDataRecoverService {
|
public class ColliDataRecoverService {
|
||||||
|
|
||||||
|
|
||||||
private final Context mContext;
|
private AppCompatActivity mContext;
|
||||||
private List<ColliDataRecoverDTO> mtbColtsSessions = new ArrayList<>();
|
private List<ColliDataRecoverDTO> mtbColtsSessions = new ArrayList<>();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ColliDataRecoverService(Context context) {
|
public ColliDataRecoverService() {
|
||||||
this.mContext = context;
|
}
|
||||||
|
|
||||||
|
public void init(AppCompatActivity appCompatActivity) {
|
||||||
|
this.mContext = appCompatActivity;
|
||||||
|
|
||||||
if(isFilePresent(CommonConst.Files.RECOVER_COLLO_FILE)) {
|
if(isFilePresent(CommonConst.Files.RECOVER_COLLO_FILE)) {
|
||||||
loadLocalFile();
|
loadLocalFile();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public boolean thereIsAnExistantSession() {
|
public boolean thereIsAnExistantSession() {
|
||||||
return mtbColtsSessions.size() > 0;
|
return mtbColtsSessions.size() > 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import androidx.room.Update;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.GrigliaWrapper;
|
import it.integry.integrywmsnative.core.data_store.db.wrappers.GrigliaWrapper;
|
||||||
|
|
||||||
@@ -17,7 +16,7 @@ public interface GrigliaDao {
|
|||||||
@Query("SELECT * from griglie")
|
@Query("SELECT * from griglie")
|
||||||
List<Griglia> getAll();
|
List<Griglia> getAll();
|
||||||
|
|
||||||
@Query("SELECT *, COUNT(articoli_griglia.articolo_griglia_id) as countArticoli from griglie LEFT JOIN articoli_griglia ON (griglie.griglia_id = articoli_griglia.id_griglia) where cod_alis = :codAlis GROUP BY griglie.griglia_id")
|
@Query("SELECT griglie.*, COUNT(articoli_griglia.articolo_griglia_id) as countArticoli from griglie LEFT JOIN articoli_griglia ON (griglie.griglia_id = articoli_griglia.id_griglia) where cod_alis = :codAlis GROUP BY griglie.griglia_id")
|
||||||
GrigliaWrapper findByCodAlis(String codAlis);
|
GrigliaWrapper findByCodAlis(String codAlis);
|
||||||
|
|
||||||
@Insert
|
@Insert
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import androidx.room.PrimaryKey;
|
|||||||
@Index(value = "cod_alis", unique = true)
|
@Index(value = "cod_alis", unique = true)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
public class Griglia {
|
public class Griglia {
|
||||||
@PrimaryKey(autoGenerate = true)
|
@PrimaryKey(autoGenerate = true)
|
||||||
@ColumnInfo(name = "griglia_id")
|
@ColumnInfo(name = "griglia_id")
|
||||||
|
|||||||
@@ -84,6 +84,28 @@ public class Converters {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@BindingAdapter("binding")
|
||||||
|
public static void bindEditText(AppCompatTextView view, final ObservableField<String> observableField) {
|
||||||
|
Pair<ObservableField<String>, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
|
||||||
|
if (pair == null || pair.first != observableField) {
|
||||||
|
if (pair != null) {
|
||||||
|
view.removeTextChangedListener(pair.second);
|
||||||
|
}
|
||||||
|
TextWatcherAdapter watcher = new TextWatcherAdapter() {
|
||||||
|
@Override
|
||||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
|
if(observableField != null) observableField.set(s.toString());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
view.setTag(R.id.bound_observable, new Pair<>(observableField, watcher));
|
||||||
|
view.addTextChangedListener(watcher);
|
||||||
|
}
|
||||||
|
String newValue = observableField.get();
|
||||||
|
if (!view.getText().toString().equals(newValue)) {
|
||||||
|
view.setText(newValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@BindingAdapter("binding")
|
@BindingAdapter("binding")
|
||||||
public static void bindEditText(EditText view, final BindableString bindableString) {
|
public static void bindEditText(EditText view, final BindableString bindableString) {
|
||||||
Pair<BindableString, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
|
Pair<BindableString, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
|
||||||
@@ -106,6 +128,50 @@ public class Converters {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@BindingAdapter("binding")
|
||||||
|
public static void bindEditText(EditText view, final ObservableField<String> observableString) {
|
||||||
|
Pair<ObservableField<String>, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
|
||||||
|
if (pair == null || pair.first != observableString) {
|
||||||
|
if (pair != null) {
|
||||||
|
view.removeTextChangedListener(pair.second);
|
||||||
|
}
|
||||||
|
TextWatcherAdapter watcher = new TextWatcherAdapter() {
|
||||||
|
@Override
|
||||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
|
observableString.set(s.toString());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
view.setTag(R.id.bound_observable, new Pair<>(observableString, watcher));
|
||||||
|
view.addTextChangedListener(watcher);
|
||||||
|
}
|
||||||
|
String newValue = observableString.get();
|
||||||
|
if (!view.getText().toString().equals(newValue)) {
|
||||||
|
view.setText(newValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@BindingAdapter("binding")
|
||||||
|
public static void bindEditText(AutoCompleteTextView view, final ObservableField<String> observableString) {
|
||||||
|
Pair<ObservableField<String>, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
|
||||||
|
if (pair == null || pair.first != observableString) {
|
||||||
|
if (pair != null) {
|
||||||
|
view.removeTextChangedListener(pair.second);
|
||||||
|
}
|
||||||
|
TextWatcherAdapter watcher = new TextWatcherAdapter() {
|
||||||
|
@Override
|
||||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
|
observableString.set(s.toString());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
view.setTag(R.id.bound_observable, new Pair<>(observableString, watcher));
|
||||||
|
view.addTextChangedListener(watcher);
|
||||||
|
}
|
||||||
|
String newValue = observableString.get();
|
||||||
|
if (!view.getText().toString().equals(newValue)) {
|
||||||
|
view.setText(newValue, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@BindingAdapter("binding")
|
@BindingAdapter("binding")
|
||||||
public static void bindTextInputEditText(TextInputEditText view, final BindableString bindableString) {
|
public static void bindTextInputEditText(TextInputEditText view, final BindableString bindableString) {
|
||||||
Pair<BindableString, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
|
Pair<BindableString, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package it.integry.integrywmsnative.core.di.binders;
|
||||||
|
|
||||||
|
public class AutoCompleteTextViewBinders {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package it.integry.integrywmsnative.core.exception;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
|
|
||||||
|
public class AlreadyAttachedDocumentToLUException extends Exception {
|
||||||
|
|
||||||
|
public AlreadyAttachedDocumentToLUException() {
|
||||||
|
super(UtilityResources.getString(R.string.lu_already_attache_to_doc));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.core.exception;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
|
||||||
import java.io.StringWriter;
|
|
||||||
|
|
||||||
public class MyExceptionHandler implements
|
|
||||||
java.lang.Thread.UncaughtExceptionHandler {
|
|
||||||
private final Context myContext;
|
|
||||||
private final Class<?> myActivityClass;
|
|
||||||
|
|
||||||
public MyExceptionHandler(Context context, Class<?> c) {
|
|
||||||
|
|
||||||
myContext = context;
|
|
||||||
myActivityClass = c;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void uncaughtException(Thread thread, Throwable exception) {
|
|
||||||
|
|
||||||
StringWriter stackTrace = new StringWriter();
|
|
||||||
exception.printStackTrace(new PrintWriter(stackTrace));
|
|
||||||
System.err.println(stackTrace);// You can use LogCat too
|
|
||||||
// Intent intent = new Intent(myContext, myActivityClass);
|
|
||||||
// String s = stackTrace.toString();
|
|
||||||
// //you can use this String to know what caused the exception and in which Activity
|
|
||||||
// intent.putExtra("uncaughtException",
|
|
||||||
// "Exception is: " + stackTrace.toString());
|
|
||||||
// intent.putExtra("stacktrace", s);
|
|
||||||
// myContext.startActivity(intent);
|
|
||||||
//for restarting the Activity
|
|
||||||
// Process.killProcess(Process.myPid());
|
|
||||||
// System.exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package it.integry.integrywmsnative.core.exception;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
|
|
||||||
|
public class NoArtsInLUException extends Exception {
|
||||||
|
|
||||||
|
public NoArtsInLUException() {
|
||||||
|
super(UtilityResources.getString(R.string.no_items_found_message));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package it.integry.integrywmsnative.core.exception;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
|
|
||||||
|
public class NoOrderFoundException extends Exception {
|
||||||
|
|
||||||
|
public NoOrderFoundException() {
|
||||||
|
super(UtilityResources.getString(R.string.no_orders_found_message));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package it.integry.integrywmsnative.core.exception;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
|
|
||||||
|
public class TooManyLUFoundInMonoLUPositionException extends Exception {
|
||||||
|
|
||||||
|
public TooManyLUFoundInMonoLUPositionException() {
|
||||||
|
super(UtilityResources.getString(R.string.too_much_lu_found_message_in_mono_lu));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,7 +6,6 @@ import android.view.KeyEvent;
|
|||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
import it.integry.integrywmsnative.core.exception.MyExceptionHandler;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
|
|
||||||
public class BaseActivity extends AppCompatActivity {
|
public class BaseActivity extends AppCompatActivity {
|
||||||
@@ -15,7 +14,7 @@ public class BaseActivity extends AppCompatActivity {
|
|||||||
protected Dialog mCurrentProgress;
|
protected Dialog mCurrentProgress;
|
||||||
|
|
||||||
public BaseActivity() {
|
public BaseActivity() {
|
||||||
Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler(this, BaseActivity.class));
|
//Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler(this, BaseActivity.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -41,12 +40,14 @@ public class BaseActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
|
|
||||||
protected void openProgress() {
|
protected void openProgress() {
|
||||||
|
BarcodeManager.disable();
|
||||||
if (this.mCurrentProgress == null) {
|
if (this.mCurrentProgress == null) {
|
||||||
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(this);
|
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void closeProgress() {
|
protected void closeProgress() {
|
||||||
|
BarcodeManager.enable();
|
||||||
if (mCurrentProgress != null) {
|
if (mCurrentProgress != null) {
|
||||||
mCurrentProgress.dismiss();
|
mCurrentProgress.dismiss();
|
||||||
mCurrentProgress = null;
|
mCurrentProgress = null;
|
||||||
|
|||||||
@@ -1,17 +1,31 @@
|
|||||||
package it.integry.integrywmsnative.core.expansion;
|
package it.integry.integrywmsnative.core.expansion;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.os.Bundle;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
|
|
||||||
public class BaseDialogFragment extends DialogFragment {
|
public class BaseDialogFragment extends DialogFragment {
|
||||||
|
|
||||||
private boolean mBarcodeListener = false;
|
private boolean mBarcodeListener = false;
|
||||||
|
private Dialog mCurrentProgress;
|
||||||
|
|
||||||
public BaseDialogFragment() {
|
public BaseDialogFragment() {
|
||||||
super();
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||||
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
|
||||||
if (BarcodeManager.isEnabled() && BarcodeManager.isKeyboardEmulator()) {
|
if (BarcodeManager.isEnabled() && BarcodeManager.isKeyboardEmulator()) {
|
||||||
getDialog().setOnKeyListener((dialog, keyCode, event) -> {
|
getDialog().setOnKeyListener((dialog, keyCode, event) -> {
|
||||||
if (mBarcodeListener && (event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_MULTIPLE) && !isControlKey(event)) {
|
if (mBarcodeListener && (event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_MULTIPLE) && !isControlKey(event)) {
|
||||||
@@ -34,4 +48,39 @@ public class BaseDialogFragment extends DialogFragment {
|
|||||||
public void setBarcodeListener(boolean listen) {
|
public void setBarcodeListener(boolean listen) {
|
||||||
this.mBarcodeListener = listen;
|
this.mBarcodeListener = listen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void onLoadingStarted() {
|
||||||
|
BarcodeManager.disable();
|
||||||
|
this.openProgress();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onLoadingEnded() {
|
||||||
|
this.closeProgress();
|
||||||
|
BarcodeManager.enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void openProgress() {
|
||||||
|
|
||||||
|
// new Thread(() -> {
|
||||||
|
getActivity().runOnUiThread(() -> {
|
||||||
|
if (this.mCurrentProgress == null) {
|
||||||
|
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// }).start();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void closeProgress() {
|
||||||
|
// new Thread(() -> {
|
||||||
|
getActivity().runOnUiThread(() -> {
|
||||||
|
if (mCurrentProgress != null) {
|
||||||
|
mCurrentProgress.dismiss();
|
||||||
|
mCurrentProgress = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// }).start();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,56 @@
|
|||||||
|
package it.integry.integrywmsnative.core.expansion;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
|
|
||||||
|
public class BaseFragment extends Fragment {
|
||||||
|
|
||||||
|
protected Dialog mCurrentProgress;
|
||||||
|
|
||||||
|
|
||||||
|
protected void openProgress() {
|
||||||
|
|
||||||
|
// new Thread(() -> {
|
||||||
|
getActivity().runOnUiThread(() -> {
|
||||||
|
if (this.mCurrentProgress == null) {
|
||||||
|
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// }).start();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void closeProgress() {
|
||||||
|
// new Thread(() -> {
|
||||||
|
getActivity().runOnUiThread(() -> {
|
||||||
|
if (mCurrentProgress != null) {
|
||||||
|
mCurrentProgress.dismiss();
|
||||||
|
mCurrentProgress = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// }).start();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void onLoadingStarted() {
|
||||||
|
BarcodeManager.disable();
|
||||||
|
this.openProgress();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onLoadingEnded() {
|
||||||
|
this.closeProgress();
|
||||||
|
BarcodeManager.enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onError(Exception ex) {
|
||||||
|
this.getActivity().runOnUiThread(() -> {
|
||||||
|
this.closeProgress();
|
||||||
|
UtilityExceptions.defaultException(getActivity(), ex, mCurrentProgress);
|
||||||
|
BarcodeManager.enable();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ import androidx.databinding.ObservableList;
|
|||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
||||||
|
|
||||||
@@ -38,6 +39,28 @@ public abstract class ExtendedRecyclerView<T, VH extends RecyclerView.ViewHolder
|
|||||||
return mDataset.size();
|
return mDataset.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void clearDataset() {
|
||||||
|
mDataset.clear();
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateDataset(List<T> updatedDataset) {
|
||||||
|
mDataset.clear();
|
||||||
|
|
||||||
|
if(updatedDataset != null && !updatedDataset.isEmpty()) {
|
||||||
|
mDataset.addAll(updatedDataset);
|
||||||
|
}
|
||||||
|
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addDataset(List<T> insertDataset) {
|
||||||
|
if(insertDataset != null && !insertDataset.isEmpty()) {
|
||||||
|
mDataset.addAll(insertDataset);
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ExtendedRecyclerView<T, VH> setEmptyView(View emptyView) {
|
public ExtendedRecyclerView<T, VH> setEmptyView(View emptyView) {
|
||||||
this.mEmptyView = emptyView;
|
this.mEmptyView = emptyView;
|
||||||
this.checkIfEmpty();
|
this.checkIfEmpty();
|
||||||
|
|||||||
@@ -0,0 +1,56 @@
|
|||||||
|
package it.integry.integrywmsnative.core.expansion.view;
|
||||||
|
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.databinding.ObservableArrayList;
|
||||||
|
import androidx.databinding.ObservableList;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
||||||
|
|
||||||
|
public abstract class ExtendedSectionedRecyclerView<T, SH extends RecyclerView.ViewHolder, VH extends RecyclerView.ViewHolder>
|
||||||
|
extends SectionedRecyclerViewAdapter<SH, VH> {
|
||||||
|
|
||||||
|
protected ArrayList<T> mDataset = new ArrayList<>();
|
||||||
|
private View mEmptyView;
|
||||||
|
|
||||||
|
public ExtendedSectionedRecyclerView(ObservableArrayList<T> myDataset) {
|
||||||
|
mDataset.addAll(myDataset);
|
||||||
|
|
||||||
|
myDataset.addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
||||||
|
@Override
|
||||||
|
public void onChanged(ObservableList sender) {
|
||||||
|
mDataset.clear();
|
||||||
|
mDataset.addAll(sender);
|
||||||
|
notifyDataSetChanged();
|
||||||
|
notifyDataChanged();
|
||||||
|
checkIfEmpty();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
checkIfEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExtendedSectionedRecyclerView<T, SH, VH> setEmptyView(View emptyView) {
|
||||||
|
this.mEmptyView = emptyView;
|
||||||
|
this.checkIfEmpty();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getItemSize() {
|
||||||
|
return this.mDataset.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkIfEmpty() {
|
||||||
|
if (mEmptyView != null) {
|
||||||
|
final boolean emptyViewVisible = getItemSize() == 0;
|
||||||
|
mEmptyView.setVisibility(emptyViewVisible ? View.VISIBLE : View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package it.integry.integrywmsnative.core.interfaces;
|
||||||
|
|
||||||
|
public interface IDestroyableFragment {
|
||||||
|
|
||||||
|
void addOnPreDestroy(Runnable onPreDestroy);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package it.integry.integrywmsnative.core.interfaces;
|
package it.integry.integrywmsnative.core.interfaces;
|
||||||
|
|
||||||
public interface IFilterableFragment {
|
public interface IFilterableFragment extends IDestroyableFragment {
|
||||||
|
|
||||||
void onFilterClick();
|
void onFilterClick();
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,8 @@ package it.integry.integrywmsnative.core.interfaces;
|
|||||||
|
|
||||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||||
|
|
||||||
public interface IScrollableFragment {
|
public interface IScrollableFragment extends IDestroyableFragment {
|
||||||
|
|
||||||
void setScrollToolbar(ElevatedToolbar toolbar);
|
void setScrollToolbar(ElevatedToolbar toolbar);
|
||||||
|
|
||||||
void setScrollableOnPreDestroy(Runnable onPreDestroy);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.integry.integrywmsnative.core.interfaces;
|
|||||||
|
|
||||||
import androidx.appcompat.widget.SearchView;
|
import androidx.appcompat.widget.SearchView;
|
||||||
|
|
||||||
public interface ISearcableFragment extends SearchView.OnQueryTextListener {
|
public interface ISearcableFragment extends SearchView.OnQueryTextListener, IDestroyableFragment {
|
||||||
|
|
||||||
void onSearchEnabled();
|
void onSearchEnabled();
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
package it.integry.integrywmsnative.core.interfaces;
|
package it.integry.integrywmsnative.core.interfaces;
|
||||||
|
|
||||||
public interface ISelectAllFragment {
|
public interface ISelectAllFragment extends IDestroyableFragment {
|
||||||
|
|
||||||
boolean isSelectAllButtonEnabled();
|
boolean isSelectAllButtonEnabled();
|
||||||
|
|
||||||
void onSelectAll();
|
void onSelectAll();
|
||||||
|
|
||||||
void setSelectAllOnPreDestroy(Runnable onPreDestroy);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,8 @@ import androidx.appcompat.widget.AppCompatTextView;
|
|||||||
* Created by GiuseppeS on 07/03/2018.
|
* Created by GiuseppeS on 07/03/2018.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public interface ITitledFragment {
|
public interface ITitledFragment extends IDestroyableFragment {
|
||||||
|
|
||||||
void onCreateActionBar(AppCompatTextView titleText, Context context);
|
void onCreateActionBar(AppCompatTextView titleText, Context context);
|
||||||
|
|
||||||
void onActionBarPreDestroy(Runnable onActionBarPreDestroy);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,348 @@
|
|||||||
|
package it.integry.integrywmsnative.core.model;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public class DtbOrdSteps extends EntityBase {
|
||||||
|
|
||||||
|
private String dataOrd;
|
||||||
|
private String gestione;
|
||||||
|
private Integer idRiga;
|
||||||
|
private Integer idStep;
|
||||||
|
private Integer numOrd;
|
||||||
|
private String activityId;
|
||||||
|
private String codAnag;
|
||||||
|
private String codDtip;
|
||||||
|
private String codJfas;
|
||||||
|
private String codMdep;
|
||||||
|
private String codProdPri;
|
||||||
|
private String dataDoc;
|
||||||
|
private String dataFine;
|
||||||
|
private String dataIniz;
|
||||||
|
private String descrizioneAttivita;
|
||||||
|
private String flagTipoTempo;
|
||||||
|
private Integer hrNum;
|
||||||
|
private BigDecimal hrTime;
|
||||||
|
private String idRigaDoc;
|
||||||
|
private String note;
|
||||||
|
private String numDoc;
|
||||||
|
private Integer numFase;
|
||||||
|
private BigDecimal qtaAllocata;
|
||||||
|
private BigDecimal qtaDisp;
|
||||||
|
private BigDecimal qtaDispImmessa;
|
||||||
|
private BigDecimal qtaImmesse;
|
||||||
|
private BigDecimal qtaInProd;
|
||||||
|
private BigDecimal qtaLav;
|
||||||
|
private BigDecimal qtaProd;
|
||||||
|
private BigDecimal qtaScartate;
|
||||||
|
private BigDecimal qtaTrasferite;
|
||||||
|
private BigDecimal rapConvLav;
|
||||||
|
private String serDoc;
|
||||||
|
private String untMisLav;
|
||||||
|
|
||||||
|
|
||||||
|
public String getDataOrd() {
|
||||||
|
return dataOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setDataOrd(String dataOrd) {
|
||||||
|
this.dataOrd = dataOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGestione() {
|
||||||
|
return gestione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setGestione(String gestione) {
|
||||||
|
this.gestione = gestione;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getIdRiga() {
|
||||||
|
return idRiga;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setIdRiga(Integer idRiga) {
|
||||||
|
this.idRiga = idRiga;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getIdStep() {
|
||||||
|
return idStep;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setIdStep(Integer idStep) {
|
||||||
|
this.idStep = idStep;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getNumOrd() {
|
||||||
|
return numOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setNumOrd(Integer numOrd) {
|
||||||
|
this.numOrd = numOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getActivityId() {
|
||||||
|
return activityId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setActivityId(String activityId) {
|
||||||
|
this.activityId = activityId;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodAnag() {
|
||||||
|
return codAnag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setCodAnag(String codAnag) {
|
||||||
|
this.codAnag = codAnag;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodDtip() {
|
||||||
|
return codDtip;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setCodDtip(String codDtip) {
|
||||||
|
this.codDtip = codDtip;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodJfas() {
|
||||||
|
return codJfas;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setCodJfas(String codJfas) {
|
||||||
|
this.codJfas = codJfas;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMdep() {
|
||||||
|
return codMdep;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setCodMdep(String codMdep) {
|
||||||
|
this.codMdep = codMdep;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodProdPri() {
|
||||||
|
return codProdPri;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setCodProdPri(String codProdPri) {
|
||||||
|
this.codProdPri = codProdPri;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDataDoc() {
|
||||||
|
return dataDoc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setDataDoc(String dataDoc) {
|
||||||
|
this.dataDoc = dataDoc;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDataFine() {
|
||||||
|
return dataFine;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setDataFine(String dataFine) {
|
||||||
|
this.dataFine = dataFine;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDataIniz() {
|
||||||
|
return dataIniz;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setDataIniz(String dataIniz) {
|
||||||
|
this.dataIniz = dataIniz;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescrizioneAttivita() {
|
||||||
|
return descrizioneAttivita;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setDescrizioneAttivita(String descrizioneAttivita) {
|
||||||
|
this.descrizioneAttivita = descrizioneAttivita;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFlagTipoTempo() {
|
||||||
|
return flagTipoTempo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setFlagTipoTempo(String flagTipoTempo) {
|
||||||
|
this.flagTipoTempo = flagTipoTempo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getHrNum() {
|
||||||
|
return hrNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setHrNum(Integer hrNum) {
|
||||||
|
this.hrNum = hrNum;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getHrTime() {
|
||||||
|
return hrTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setHrTime(BigDecimal hrTime) {
|
||||||
|
this.hrTime = hrTime;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIdRigaDoc() {
|
||||||
|
return idRigaDoc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setIdRigaDoc(String idRigaDoc) {
|
||||||
|
this.idRigaDoc = idRigaDoc;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNote() {
|
||||||
|
return note;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setNote(String note) {
|
||||||
|
this.note = note;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNumDoc() {
|
||||||
|
return numDoc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setNumDoc(String numDoc) {
|
||||||
|
this.numDoc = numDoc;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getNumFase() {
|
||||||
|
return numFase;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setNumFase(Integer numFase) {
|
||||||
|
this.numFase = numFase;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaAllocata() {
|
||||||
|
return qtaAllocata;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setQtaAllocata(BigDecimal qtaAllocata) {
|
||||||
|
this.qtaAllocata = qtaAllocata;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaDisp() {
|
||||||
|
return qtaDisp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setQtaDisp(BigDecimal qtaDisp) {
|
||||||
|
this.qtaDisp = qtaDisp;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaDispImmessa() {
|
||||||
|
return qtaDispImmessa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setQtaDispImmessa(BigDecimal qtaDispImmessa) {
|
||||||
|
this.qtaDispImmessa = qtaDispImmessa;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaImmesse() {
|
||||||
|
return qtaImmesse;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setQtaImmesse(BigDecimal qtaImmesse) {
|
||||||
|
this.qtaImmesse = qtaImmesse;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaInProd() {
|
||||||
|
return qtaInProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setQtaInProd(BigDecimal qtaInProd) {
|
||||||
|
this.qtaInProd = qtaInProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaLav() {
|
||||||
|
return qtaLav;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setQtaLav(BigDecimal qtaLav) {
|
||||||
|
this.qtaLav = qtaLav;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaProd() {
|
||||||
|
return qtaProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setQtaProd(BigDecimal qtaProd) {
|
||||||
|
this.qtaProd = qtaProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaScartate() {
|
||||||
|
return qtaScartate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setQtaScartate(BigDecimal qtaScartate) {
|
||||||
|
this.qtaScartate = qtaScartate;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaTrasferite() {
|
||||||
|
return qtaTrasferite;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setQtaTrasferite(BigDecimal qtaTrasferite) {
|
||||||
|
this.qtaTrasferite = qtaTrasferite;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getRapConvLav() {
|
||||||
|
return rapConvLav;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setRapConvLav(BigDecimal rapConvLav) {
|
||||||
|
this.rapConvLav = rapConvLav;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSerDoc() {
|
||||||
|
return serDoc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setSerDoc(String serDoc) {
|
||||||
|
this.serDoc = serDoc;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUntMisLav() {
|
||||||
|
return untMisLav;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DtbOrdSteps setUntMisLav(String untMisLav) {
|
||||||
|
this.untMisLav = untMisLav;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@ package it.integry.integrywmsnative.core.model;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
public class GtbAnag {
|
public class GtbAnag extends EntityBase {
|
||||||
|
|
||||||
private String codAnag;
|
private String codAnag;
|
||||||
private String ragSoc;
|
private String ragSoc;
|
||||||
@@ -45,6 +45,10 @@ public class GtbAnag {
|
|||||||
private String precode;
|
private String precode;
|
||||||
private Boolean insDestinatario;
|
private Boolean insDestinatario;
|
||||||
|
|
||||||
|
public GtbAnag() {
|
||||||
|
this.type = "gtb_anag";
|
||||||
|
}
|
||||||
|
|
||||||
public String getCodAnag() {
|
public String getCodAnag() {
|
||||||
return codAnag;
|
return codAnag;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,180 @@
|
|||||||
|
package it.integry.integrywmsnative.core.model;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public class JtbFasi extends EntityBase {
|
||||||
|
|
||||||
|
private String codJfas;
|
||||||
|
private String codJfasParent;
|
||||||
|
private String descrizione;
|
||||||
|
private String descrizEstesa;
|
||||||
|
private String codMfas;
|
||||||
|
private String pathIcona;
|
||||||
|
private String umAllocazione;
|
||||||
|
private BigDecimal maxAllocazione;
|
||||||
|
private String codJCal;
|
||||||
|
private String idJfas;
|
||||||
|
private String flagAttivo;
|
||||||
|
private String flagCheck;
|
||||||
|
private String umProd;
|
||||||
|
private BigDecimal prodStd;
|
||||||
|
private String codMdepLav;
|
||||||
|
private String tipoProd;
|
||||||
|
|
||||||
|
public JtbFasi() {
|
||||||
|
this.type = "jtb_fasi";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodJfas() {
|
||||||
|
return codJfas;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setCodJfas(String codJfas) {
|
||||||
|
this.codJfas = codJfas;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodJfasParent() {
|
||||||
|
return codJfasParent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setCodJfasParent(String codJfasParent) {
|
||||||
|
this.codJfasParent = codJfasParent;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescrizione() {
|
||||||
|
return descrizione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setDescrizione(String descrizione) {
|
||||||
|
this.descrizione = descrizione;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescrizEstesa() {
|
||||||
|
return descrizEstesa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setDescrizEstesa(String descrizEstesa) {
|
||||||
|
this.descrizEstesa = descrizEstesa;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMfas() {
|
||||||
|
return codMfas;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setCodMfas(String codMfas) {
|
||||||
|
this.codMfas = codMfas;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPathIcona() {
|
||||||
|
return pathIcona;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setPathIcona(String pathIcona) {
|
||||||
|
this.pathIcona = pathIcona;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUmAllocazione() {
|
||||||
|
return umAllocazione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setUmAllocazione(String umAllocazione) {
|
||||||
|
this.umAllocazione = umAllocazione;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getMaxAllocazione() {
|
||||||
|
return maxAllocazione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setMaxAllocazione(BigDecimal maxAllocazione) {
|
||||||
|
this.maxAllocazione = maxAllocazione;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodJCal() {
|
||||||
|
return codJCal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setCodJCal(String codJCal) {
|
||||||
|
this.codJCal = codJCal;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIdJfas() {
|
||||||
|
return idJfas;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setIdJfas(String idJfas) {
|
||||||
|
this.idJfas = idJfas;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFlagAttivo() {
|
||||||
|
return flagAttivo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setFlagAttivo(String flagAttivo) {
|
||||||
|
this.flagAttivo = flagAttivo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFlagCheck() {
|
||||||
|
return flagCheck;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setFlagCheck(String flagCheck) {
|
||||||
|
this.flagCheck = flagCheck;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUmProd() {
|
||||||
|
return umProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setUmProd(String umProd) {
|
||||||
|
this.umProd = umProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getProdStd() {
|
||||||
|
return prodStd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setProdStd(BigDecimal prodStd) {
|
||||||
|
this.prodStd = prodStd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMdepLav() {
|
||||||
|
return codMdepLav;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setCodMdepLav(String codMdepLav) {
|
||||||
|
this.codMdepLav = codMdepLav;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTipoProd() {
|
||||||
|
return tipoProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setTipoProd(String tipoProd) {
|
||||||
|
this.tipoProd = tipoProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return String.format("%s - %s", getCodJfas(), getDescrizione());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,7 +9,7 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
|
|||||||
* Created by GiuseppeS on 06/03/2018.
|
* Created by GiuseppeS on 06/03/2018.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class MtbAart extends EntityBase{
|
public class MtbAart extends EntityBase {
|
||||||
|
|
||||||
private String codMart;
|
private String codMart;
|
||||||
private String descrizione;
|
private String descrizione;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.math.BigDecimal;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
|
||||||
public class MtbColr extends EntityBase {
|
public class MtbColr extends EntityBase {
|
||||||
@@ -56,6 +57,10 @@ public class MtbColr extends EntityBase {
|
|||||||
|
|
||||||
public MtbColr() {
|
public MtbColr() {
|
||||||
type = "mtb_colr";
|
type = "mtb_colr";
|
||||||
|
|
||||||
|
if(SettingsManager.i().isUserLoggedIn()) {
|
||||||
|
setUtente(SettingsManager.i().getUser().getFullname());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -99,6 +99,10 @@ public class MtbColt extends EntityBase {
|
|||||||
type = "mtb_colt";
|
type = "mtb_colt";
|
||||||
setDataCollo(UtilityDate.getDateInstance());
|
setDataCollo(UtilityDate.getDateInstance());
|
||||||
setSerCollo("/");
|
setSerCollo("/");
|
||||||
|
|
||||||
|
if(SettingsManager.i().isUserLoggedIn()) {
|
||||||
|
setPreparatoDa(SettingsManager.i().getUser().getFullname());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public MtbColt initDefaultFields() {
|
public MtbColt initDefaultFields() {
|
||||||
@@ -381,6 +385,18 @@ public class MtbColt extends EntityBase {
|
|||||||
return dataVers;
|
return dataVers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Date getDataVersD() {
|
||||||
|
return UtilityDate.recognizeDateWithExceptionHandler(getDataVers());
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTimeVers() {
|
||||||
|
Date dataColloD = getDataVersD();
|
||||||
|
|
||||||
|
if(dataColloD != null){
|
||||||
|
return UtilityDate.formatDate(dataColloD, UtilityDate.COMMONS_DATE_FORMATS.TIME);
|
||||||
|
} else return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public MtbColt setDataVers(String dataVers) {
|
public MtbColt setDataVers(String dataVers) {
|
||||||
this.dataVers = dataVers;
|
this.dataVers = dataVers;
|
||||||
|
|||||||
@@ -105,4 +105,6 @@ public class MtbTCol {
|
|||||||
this.circuito = circuito;
|
this.circuito = circuito;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,10 +3,8 @@ package it.integry.integrywmsnative.core.rest;
|
|||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
|
||||||
import java.sql.Date;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.rest.deserializer.DateDeserializer;
|
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import retrofit2.Retrofit;
|
import retrofit2.Retrofit;
|
||||||
@@ -53,11 +51,12 @@ public class RESTBuilder {
|
|||||||
String endpoint = "http://" + host + ":" + port + "/" + (addEmsApi ? "ems-api/" : "");
|
String endpoint = "http://" + host + ":" + port + "/" + (addEmsApi ? "ems-api/" : "");
|
||||||
|
|
||||||
Gson gson = new GsonBuilder()
|
Gson gson = new GsonBuilder()
|
||||||
.registerTypeAdapter(Date.class, new DateDeserializer())
|
.setDateFormat("dd/MM/yyyy HH:mm:ss")
|
||||||
.create();
|
.create();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Retrofit retrofit = new Retrofit.Builder()
|
Retrofit retrofit = new Retrofit.Builder()
|
||||||
.addConverterFactory(GsonConverterFactory.create(gson))
|
.addConverterFactory(GsonConverterFactory.create(gson))
|
||||||
.baseUrl(endpoint)
|
.baseUrl(endpoint)
|
||||||
|
|||||||
@@ -40,11 +40,11 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void getByCodMart(List<String> codMartToFind, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
|
public void getByCodMarts(List<String> codMartToFind, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
getByCodMartStatic(codMartToFind, onComplete, onFailed);
|
getByCodMartsStatic(codMartToFind, onComplete, onFailed);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void getByCodMartStatic(List<String> codMartToFind, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
|
public static void getByCodMartsStatic(List<String> codMartToFind, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
String joinedCods = Stream.of(codMartToFind)
|
String joinedCods = Stream.of(codMartToFind)
|
||||||
.collect(Collectors.joining(","));
|
.collect(Collectors.joining(","));
|
||||||
@@ -67,4 +67,26 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void getByCodMart(String codMartToFind, RunnableArgs<MtbAart> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
|
ArticoloRESTConsumerService articoloRESTConsumer = RESTBuilder.getService(ArticoloRESTConsumerService.class);
|
||||||
|
articoloRESTConsumer.getByCodMart(codMartToFind).enqueue(new Callback<ServiceRESTResponse<MtbAart>>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ServiceRESTResponse<MtbAart>> call, Response<ServiceRESTResponse<MtbAart>> response) {
|
||||||
|
analyzeAnswer(response, "getByCodMart", (m) -> {
|
||||||
|
if(response.body().getEntityList() != null && !response.body().getEntityList().isEmpty()) {
|
||||||
|
onComplete.run(response.body().getEntityList().get(0));
|
||||||
|
} else onComplete.run(null);
|
||||||
|
|
||||||
|
}, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<MtbAart>> call, Throwable t) {
|
||||||
|
onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
|
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
@@ -32,6 +31,7 @@ import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
|||||||
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO;
|
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO;
|
||||||
import it.integry.integrywmsnative.core.rest.model.RettificaULDTO;
|
import it.integry.integrywmsnative.core.rest.model.RettificaULDTO;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.SpostaArtsTraULRequestDTO;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
@@ -125,7 +125,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void createColloLavorazione(int segno, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
public void createColloLavorazione(int segno, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
MtbColt mtbColtToCreate = new MtbColt()
|
MtbColt mtbColtToCreate = new MtbColt()
|
||||||
.setSegno(segno)
|
.setSegno(segno)
|
||||||
.setGestione(GestioneEnum.LAVORAZIONE);
|
.setGestione(GestioneEnum.LAVORAZIONE);
|
||||||
@@ -136,16 +136,10 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
.setOperation(CommonModelConsts.OPERATION.INSERT);
|
.setOperation(CommonModelConsts.OPERATION.INSERT);
|
||||||
|
|
||||||
|
|
||||||
saveColloStatic(mtbColtToCreate, new ISimpleOperationCallback<MtbColt>() {
|
saveCollo(mtbColtToCreate, value -> {
|
||||||
@Override
|
if (onComplete != null) onComplete.run(value);
|
||||||
public void onSuccess(MtbColt value) {
|
}, ex -> {
|
||||||
if (onComplete != null) onComplete.run(value);
|
if (onFailed != null) onFailed.run(ex);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
if (onFailed != null) onFailed.run(ex);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,7 +206,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void createColliScaricoDaOrdineLavorazione(MtbColt sourceMtbColt,MtbColr sourceMtbColr, MtbDepoPosizione posizione, List<OrdineLavorazioneDTO> ordini, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
public static void createColliScaricoDaOrdineLavorazione(MtbColt sourceMtbColt, MtbColr sourceMtbColr, MtbDepoPosizione posizione, List<OrdineLavorazioneDTO> ordini, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
MtbColt newMtbColt = new MtbColt()
|
MtbColt newMtbColt = new MtbColt()
|
||||||
.initDefaultFields()
|
.initDefaultFields()
|
||||||
@@ -262,7 +256,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
.setPartitaMag(original.getPartitaMag())
|
.setPartitaMag(original.getPartitaMag())
|
||||||
.setOperation(CommonModelConsts.OPERATION.INSERT);
|
.setOperation(CommonModelConsts.OPERATION.INSERT);
|
||||||
for (OrdineLavorazioneDTO ordLav : ordini) {
|
for (OrdineLavorazioneDTO ordLav : ordini) {
|
||||||
if (ordLav.getQtaColVersamento().getBigDecimal().compareTo(BigDecimal.ZERO) > 0){
|
if (ordLav.getQtaColVersamento().getBigDecimal().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
MtbColr ordColr = (MtbColr) mtbColrClone.clone();
|
MtbColr ordColr = (MtbColr) mtbColrClone.clone();
|
||||||
ordColr.setQtaCol(ordLav.getQtaColVersamento().getBigDecimal());
|
ordColr.setQtaCol(ordLav.getQtaColVersamento().getBigDecimal());
|
||||||
ordColr.setNumCnf(ordLav.getNumCnfVersamento().getBigDecimal());
|
ordColr.setNumCnf(ordLav.getNumCnfVersamento().getBigDecimal());
|
||||||
@@ -290,12 +284,11 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void createColloFromEtichettaAnonima(BarcodeScanDTO barcodeScanDTO, GestioneEnum gestione, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
public void createColloFromEtichettaAnonima(BarcodeScanDTO barcodeScanDTO, GestioneEnum gestione, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
createColloFromEtichettaAnonima(barcodeScanDTO.getStringValue(), gestione, onComplete, onFailed);
|
createColloFromEtichettaAnonima(barcodeScanDTO.getStringValue(), gestione, onComplete, onFailed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void createColloFromEtichettaAnonima(String barcode, GestioneEnum gestione, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
public static void createColloFromEtichettaAnonima(String barcode, GestioneEnum gestione, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
|
||||||
|
|
||||||
MtbColt mtbColtToCreate = new MtbColt()
|
MtbColt mtbColtToCreate = new MtbColt()
|
||||||
.setGestione(gestione);
|
.setGestione(gestione);
|
||||||
@@ -321,39 +314,22 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
mtbColtToCreate
|
mtbColtToCreate
|
||||||
.setOperation(CommonModelConsts.OPERATION.INSERT);
|
.setOperation(CommonModelConsts.OPERATION.INSERT);
|
||||||
|
|
||||||
saveColloStatic(mtbColtToCreate, new ISimpleOperationCallback<MtbColt>() {
|
saveCollo(mtbColtToCreate, value -> {
|
||||||
@Override
|
if (onComplete != null) onComplete.run(value);
|
||||||
public void onSuccess(MtbColt value) {
|
}, ex -> {
|
||||||
if (onComplete != null) onComplete.run(value);
|
if (onFailed != null) onFailed.run(ex);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
if (onFailed != null) onFailed.run(ex);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteCollo(MtbColt mtbColtToDelete, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
public void deleteCollo(MtbColt mtbColtToDelete, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
ColliMagazzinoRESTConsumer.deleteColloStatic(mtbColtToDelete, onComplete, onFailed);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void deleteColloStatic(MtbColt mtbColtToDelete, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
|
||||||
|
|
||||||
mtbColtToDelete.setOperation(CommonModelConsts.OPERATION.DELETE);
|
mtbColtToDelete.setOperation(CommonModelConsts.OPERATION.DELETE);
|
||||||
|
|
||||||
saveColloStatic(mtbColtToDelete, new ISimpleOperationCallback<MtbColt>() {
|
saveCollo(mtbColtToDelete, value -> {
|
||||||
@Override
|
if (onComplete != null) onComplete.run();
|
||||||
public void onSuccess(MtbColt value) {
|
}, ex -> {
|
||||||
if (onComplete != null) onComplete.run();
|
if (onFailed != null) onFailed.run(ex);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
if (onFailed != null) onFailed.run(ex);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void distribuisciCollo(MtbColt mtbColtToDistribute, DistribuzioneColloDTO.CriterioDistribuzione criterioDistribuzione, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
public static void distribuisciCollo(MtbColt mtbColtToDistribute, DistribuzioneColloDTO.CriterioDistribuzione criterioDistribuzione, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
@@ -411,7 +387,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
|
if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
|
||||||
List<MtbColt> mtbColtList = new ArrayList<>();
|
List<MtbColt> mtbColtList = new ArrayList<>();
|
||||||
mtbColtList.add(mtbColt);
|
mtbColtList.add(mtbColt);
|
||||||
fillMtbAartsOfMtbColts(mtbColtList, mtbColts -> onComplete.run(mtbColts.get(0)), onFailed);
|
fillMtbAartsOfMtbColtsStatic(mtbColtList, mtbColts -> onComplete.run(mtbColts.get(0)), onFailed);
|
||||||
} else {
|
} else {
|
||||||
onComplete.run(mtbColt);
|
onComplete.run(mtbColt);
|
||||||
}
|
}
|
||||||
@@ -426,8 +402,11 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void fillMtbAartsOfMtbColts(List<MtbColt> mtbColts, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
fillMtbAartsOfMtbColtsStatic(mtbColts, onComplete, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
public static void fillMtbAartsOfMtbColts(List<MtbColt> mtbColts, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
public static void fillMtbAartsOfMtbColtsStatic(List<MtbColt> mtbColts, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
List<String> codMarts = new ArrayList<>();
|
List<String> codMarts = new ArrayList<>();
|
||||||
|
|
||||||
for (MtbColt mtbColt : mtbColts) {
|
for (MtbColt mtbColt : mtbColts) {
|
||||||
@@ -439,7 +418,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ArticoloRESTConsumer.getByCodMartStatic(codMarts, arts -> {
|
ArticoloRESTConsumer.getByCodMartsStatic(codMarts, arts -> {
|
||||||
|
|
||||||
if (arts != null && arts.size() > 0) {
|
if (arts != null && arts.size() > 0) {
|
||||||
for (MtbColt mtbColt : mtbColts) {
|
for (MtbColt mtbColt : mtbColts) {
|
||||||
@@ -505,81 +484,65 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void getByTestataStatic(MtbColt testata, boolean onlyResiduo, boolean throwExcIfNull, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
public static void getByTestataStatic(MtbColt testata, boolean onlyResiduo, boolean throwExcIfNull, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
String ssccString = null;
|
testata.setMtbColr(new ObservableArrayList<>());
|
||||||
|
|
||||||
if (testata.getSerCollo().equalsIgnoreCase(CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE)) {
|
|
||||||
ssccString = "U";
|
|
||||||
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yy");
|
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
|
||||||
ssccString += sdf.format(testata.getDataColloD());
|
colliMagazzinoRESTConsumerService.getColloInGiac(onlyResiduo, throwExcIfNull, testata).enqueue(new Callback<ServiceRESTResponse<MtbColt>>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ServiceRESTResponse<MtbColt>> call, Response<ServiceRESTResponse<MtbColt>> response) {
|
||||||
|
analyzeAnswer(response, "getColloInGiac", mtbColt -> {
|
||||||
|
|
||||||
ssccString += String.format("%07d", testata.getNumCollo());
|
if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
|
||||||
} else {
|
List<MtbColt> mtbColtList = new ArrayList<>();
|
||||||
ssccString = "";
|
mtbColtList.add(mtbColt);
|
||||||
|
fillMtbAartsOfMtbColtsStatic(mtbColtList, mtbColts -> onComplete.run(mtbColts.get(0)), onFailed);
|
||||||
|
} else {
|
||||||
|
onComplete.run(mtbColt);
|
||||||
|
}
|
||||||
|
|
||||||
switch (testata.getGestioneEnum()) {
|
}, onFailed);
|
||||||
case ACQUISTO:
|
|
||||||
ssccString += "1";
|
|
||||||
break;
|
|
||||||
|
|
||||||
case LAVORAZIONE:
|
|
||||||
ssccString += "2";
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VENDITA:
|
|
||||||
ssccString += "3";
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yy");
|
@Override
|
||||||
ssccString += sdf.format(testata.getDataColloD());
|
public void onFailure(Call<ServiceRESTResponse<MtbColt>> call, Throwable t) {
|
||||||
|
onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
ssccString += String.format("%05d", testata.getNumCollo());
|
|
||||||
ssccString += "0";
|
public void changePosizione(MtbColt mtbColtToMove, MtbDepoPosizione posizione, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
|
String codMdep = posizione.getCodMdep();
|
||||||
|
String posizioneString = posizione.getPosizione();
|
||||||
|
|
||||||
|
MtbColt mtbColtToMoveClone = (MtbColt) mtbColtToMove.clone();
|
||||||
|
|
||||||
|
for (int i = 0; i < mtbColtToMoveClone.getMtbColr().size(); i++) {
|
||||||
|
mtbColtToMoveClone.getMtbColr().get(i)
|
||||||
|
.setMtbAart(null)
|
||||||
|
.setMtbPartitaMag(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
getBySSCCStatic(ssccString, onlyResiduo, throwExcIfNull, onComplete, onFailed);
|
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
|
||||||
}
|
colliMagazzinoRESTConsumerService
|
||||||
|
.spostaULInPosizione(codMdep,
|
||||||
|
posizioneString,
|
||||||
public static void changePosizione(MtbColt mtbColtToSave, MtbDepoPosizione posizione, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
mtbColtToMoveClone)
|
||||||
MtbColt mtbColtToSaveClone = (MtbColt) mtbColtToSave.clone();
|
.enqueue(new Callback<ServiceRESTResponse<Object>>() {
|
||||||
|
@Override
|
||||||
mtbColtToSaveClone.setOperation(CommonModelConsts.OPERATION.UPDATE);
|
public void onResponse(Call<ServiceRESTResponse<Object>> call, Response<ServiceRESTResponse<Object>> response) {
|
||||||
mtbColtToSaveClone.setMtbColr(new ObservableArrayList<>());
|
analyzeAnswer(response, "changePosizione", mtbColts -> {
|
||||||
|
onComplete.run();
|
||||||
if (posizione == null) mtbColtToSaveClone.setPosizione(null);
|
}, onFailed);
|
||||||
else mtbColtToSaveClone.setPosizione(posizione.getPosizione());
|
}
|
||||||
|
|
||||||
ColliMagazzinoRESTConsumer.saveColloStatic(mtbColtToSaveClone, mtbColt -> {
|
|
||||||
if (onComplete != null) onComplete.run();
|
|
||||||
}, ex -> {
|
|
||||||
if (onFailed != null) onFailed.run(ex);
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void updateRiga(MtbColr mtbColrToUpdate, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
|
||||||
updateRigaStatic(mtbColrToUpdate, onComplete, onFailed);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void updateRigaStatic(MtbColr mtbColrToUpdate, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
|
||||||
MtbColt mtbColt = new MtbColt()
|
|
||||||
.setGestione(mtbColrToUpdate.getGestioneEnum())
|
|
||||||
.setNumCollo(mtbColrToUpdate.getNumCollo())
|
|
||||||
.setSerCollo(mtbColrToUpdate.getSerCollo())
|
|
||||||
.setDataCollo(mtbColrToUpdate.getDataColloS());
|
|
||||||
|
|
||||||
mtbColt.getMtbColr().add(mtbColrToUpdate);
|
|
||||||
|
|
||||||
mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
|
|
||||||
mtbColrToUpdate.setOperation(CommonModelConsts.OPERATION.UPDATE);
|
|
||||||
|
|
||||||
EntityRESTConsumer.processEntity(mtbColt, value -> {
|
|
||||||
if(onComplete != null) onComplete.run();
|
|
||||||
}, onFailed, MtbColt.class);
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<Object>> call, Throwable t) {
|
||||||
|
if (onFailed != null) onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateDataFine(MtbColt mtbColt, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
public void updateDataFine(MtbColt mtbColt, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
@@ -659,7 +622,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<ServiceRESTResponse<List<MtbColt>>> call, Response<ServiceRESTResponse<List<MtbColt>>> response) {
|
public void onResponse(Call<ServiceRESTResponse<List<MtbColt>>> call, Response<ServiceRESTResponse<List<MtbColt>>> response) {
|
||||||
analyzeAnswer(response, "getColliInBasket", mtbColts -> {
|
analyzeAnswer(response, "getColliInBasket", mtbColts -> {
|
||||||
fillMtbAartsOfMtbColts(mtbColts, onComplete, onFailed);
|
fillMtbAartsOfMtbColtsStatic(mtbColts, onComplete, onFailed);
|
||||||
}, onFailed);
|
}, onFailed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -670,12 +633,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void creaRettificaCollo(MtbColr sourceMtbColrOriginal, BigDecimal newNumCnf, BigDecimal newQtaTot, RunnableArgs<MtbColr> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void creaRettificaColloStatic(MtbColr sourceMtbColrOriginal, BigDecimal newNumCnf, BigDecimal newQtaTot, RunnableArgs<MtbColr> onComplete, RunnableArgs<Exception> onFailed) {
|
|
||||||
MtbColr sourceMtbColr = (MtbColr) sourceMtbColrOriginal.clone();
|
MtbColr sourceMtbColr = (MtbColr) sourceMtbColrOriginal.clone();
|
||||||
sourceMtbColr.setMtbPartitaMag(null);
|
sourceMtbColr.setMtbPartitaMag(null);
|
||||||
sourceMtbColr.setMtbAart(null);
|
sourceMtbColr.setMtbAart(null);
|
||||||
@@ -692,22 +650,48 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
).enqueue(new Callback<ServiceRESTResponse<MtbColr>>() {
|
).enqueue(new Callback<ServiceRESTResponse<MtbColr>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<ServiceRESTResponse<MtbColr>> call, Response<ServiceRESTResponse<MtbColr>> response) {
|
public void onResponse(Call<ServiceRESTResponse<MtbColr>> call, Response<ServiceRESTResponse<MtbColr>> response) {
|
||||||
analyzeAnswer(response, "creaRettificaCollo", data -> {
|
analyzeAnswer(response, "creaRettificaCollo", onComplete, onFailed);
|
||||||
onComplete.run(data);
|
|
||||||
}, onFailed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<ServiceRESTResponse<MtbColr>> call, Throwable t) {
|
public void onFailure(Call<ServiceRESTResponse<MtbColr>> call, Throwable t) {
|
||||||
if(onFailed != null) onFailed.run(new Exception(t));
|
if (onFailed != null) onFailed.run(new Exception(t));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void spostaArtsTraUL(MtbColt sourceMtbColt, MtbColt destMtbColt, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
MtbColt mtbColtToMoveClone = (MtbColt) sourceMtbColt.clone();
|
||||||
|
MtbColt mtbColtDestClone = (MtbColt) destMtbColt.clone();
|
||||||
|
|
||||||
|
for (int i = 0; i < mtbColtToMoveClone.getMtbColr().size(); i++) {
|
||||||
|
mtbColtToMoveClone.getMtbColr().get(i)
|
||||||
|
.setMtbAart(null)
|
||||||
|
.setMtbPartitaMag(null);
|
||||||
|
}
|
||||||
|
|
||||||
public void creaRettificaCollo(MtbColr sourceMtbColrOriginal, BigDecimal newNumCnf, BigDecimal newQtaTot, RunnableArgs<MtbColr> onComplete, RunnableArgs<Exception> onFailed) {
|
mtbColtDestClone.setMtbColr(null);
|
||||||
creaRettificaColloStatic(sourceMtbColrOriginal, newNumCnf, newQtaTot, onComplete, onFailed);
|
|
||||||
|
SpostaArtsTraULRequestDTO spostaArtsTraULRequestDTO = new SpostaArtsTraULRequestDTO()
|
||||||
|
.setSourceMtbColt(mtbColtToMoveClone)
|
||||||
|
.setDestinationMtbColt(mtbColtDestClone);
|
||||||
|
|
||||||
|
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
|
||||||
|
colliMagazzinoRESTConsumerService.spostaArtsTraUL(
|
||||||
|
spostaArtsTraULRequestDTO
|
||||||
|
).enqueue(new Callback<ServiceRESTResponse<Object>>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ServiceRESTResponse<Object>> call, Response<ServiceRESTResponse<Object>> response) {
|
||||||
|
analyzeAnswer(response, "spostaArtsTraUL", data -> {
|
||||||
|
onComplete.run();
|
||||||
|
}, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<Object>> call, Throwable t) {
|
||||||
|
if (onFailed != null) onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import it.integry.integrywmsnative.core.model.MtbColt;
|
|||||||
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO;
|
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO;
|
||||||
import it.integry.integrywmsnative.core.rest.model.RettificaULDTO;
|
import it.integry.integrywmsnative.core.rest.model.RettificaULDTO;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.SpostaArtsTraULRequestDTO;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.http.Body;
|
import retrofit2.http.Body;
|
||||||
import retrofit2.http.GET;
|
import retrofit2.http.GET;
|
||||||
@@ -23,10 +24,19 @@ public interface ColliMagazzinoRESTConsumerService {
|
|||||||
@POST("getColloByBarcode")
|
@POST("getColloByBarcode")
|
||||||
Call<ServiceRESTResponse<MtbColt>> getColloByBarcode(@Query("codBarreCollo") String sscc, @Query("onlyResiduo") boolean onlyResiduo, @Query("throwExcIfNull") boolean throwExcIfNull);
|
Call<ServiceRESTResponse<MtbColt>> getColloByBarcode(@Query("codBarreCollo") String sscc, @Query("onlyResiduo") boolean onlyResiduo, @Query("throwExcIfNull") boolean throwExcIfNull);
|
||||||
|
|
||||||
|
@POST("getColloInGiac")
|
||||||
|
Call<ServiceRESTResponse<MtbColt>> getColloInGiac(@Query("onlyResiduo") boolean onlyResiduo, @Query("throwExcIfNull") boolean throwExcIfNull, @Body MtbColt mtbColt);
|
||||||
|
|
||||||
@GET("getColliInBasket")
|
@GET("getColliInBasket")
|
||||||
Call<ServiceRESTResponse<List<MtbColt>>> getColliInBasket(@Query("codMdep") String codMdep);
|
Call<ServiceRESTResponse<List<MtbColt>>> getColliInBasket(@Query("codMdep") String codMdep);
|
||||||
|
|
||||||
@POST("creaRettificaCollo")
|
@POST("creaRettificaCollo")
|
||||||
Call<ServiceRESTResponse<MtbColr>> creaRettificaCollo(@Query("codMdep") String codMdep, @Body RettificaULDTO rettificaULDTO);
|
Call<ServiceRESTResponse<MtbColr>> creaRettificaCollo(@Query("codMdep") String codMdep, @Body RettificaULDTO rettificaULDTO);
|
||||||
|
|
||||||
|
@POST("wms/spostaULInPosizione")
|
||||||
|
Call<ServiceRESTResponse<Object>> spostaULInPosizione(@Query("codMdep") String codMdep, @Query("posizione") String posizione, @Body MtbColt mtbColtToMove);
|
||||||
|
|
||||||
|
@POST("wms/spostaArtsTraUL")
|
||||||
|
Call<ServiceRESTResponse<Object>> spostaArtsTraUL(@Body SpostaArtsTraULRequestDTO spostaArtsTraULRequestDTO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,15 +6,18 @@ import java.lang.reflect.Type;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
|
public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void getTipoCollo(String codTcol, RunnableArgs<MtbTCol> onComplete, RunnableArgs<Exception> onFailed) {
|
public void getTipoCollo(String codTcol, RunnableArgs<MtbTCol> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
String baseSql = "SELECT * " +
|
String baseSql = "SELECT * " +
|
||||||
"FROM mtb_tcol " +
|
"FROM mtb_tcol " +
|
||||||
"WHERE cod_tcol = " + UtilityDB.valueToString(codTcol);
|
"WHERE cod_tcol = " + UtilityDB.valueToString(codTcol);
|
||||||
@@ -36,7 +39,11 @@ public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void getTipiCollo(RunnableArgs<List<MtbTCol>> onComplete, RunnableArgs<Exception> onFailed) {
|
public void getTipiCollo(RunnableArgs<List<MtbTCol>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
getTipiColloStatic(onComplete, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void getTipiColloStatic(RunnableArgs<List<MtbTCol>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
String baseSql = "SELECT * " +
|
String baseSql = "SELECT * " +
|
||||||
"FROM mtb_tcol ";
|
"FROM mtb_tcol ";
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +1,93 @@
|
|||||||
package it.integry.integrywmsnative.core.rest.consumers;
|
package it.integry.integrywmsnative.core.rest.consumers;
|
||||||
|
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.model.JtbFasi;
|
||||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.Callback;
|
import retrofit2.Callback;
|
||||||
import retrofit2.Response;
|
import retrofit2.Response;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class MesRESTConsumer extends _BaseRESTConsumer {
|
public class MesRESTConsumer extends _BaseRESTConsumer {
|
||||||
|
|
||||||
public static void getOrdiniLavorazioneMateriale(String codJfas, String idMateriale, RunnableArgs<List<OrdineLavorazioneDTO>> onComplete, RunnableArgs<Exception> onFailed){
|
private final SystemRESTConsumer mSystemRESTConsumer;
|
||||||
|
|
||||||
|
public MesRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
||||||
|
this.mSystemRESTConsumer = systemRESTConsumer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void getOrdiniLavorazioneMateriale(String codJfas, String idMateriale, RunnableArgs<List<OrdineLavorazioneDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
MesRESTConsumerService mesRESTConsumerService = RESTBuilder.getService(MesRESTConsumerService.class);
|
MesRESTConsumerService mesRESTConsumerService = RESTBuilder.getService(MesRESTConsumerService.class);
|
||||||
mesRESTConsumerService.getOrdiniLavorazioneMateriale(codJfas,idMateriale).enqueue(new Callback<ServiceRESTResponse<List<OrdineLavorazioneDTO>>>() {
|
|
||||||
@Override
|
|
||||||
public void onResponse(Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> call, Response<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> response) {
|
|
||||||
analyzeAnswer(response, "getAvailablePosizioni", (m) -> onComplete.run(response.body().getDto()), onFailed);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
mesRESTConsumerService.getOrdiniLavorazioneMateriale(codJfas, idMateriale)
|
||||||
public void onFailure(Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> call, Throwable t) {
|
.enqueue(new Callback<ServiceRESTResponse<List<OrdineLavorazioneDTO>>>() {
|
||||||
onFailed.run(new Exception(t));
|
@Override
|
||||||
}
|
public void onResponse(Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> call, Response<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> response) {
|
||||||
});
|
analyzeAnswer(response, "getOrdiniLavorazioneMateriale", (m) -> onComplete.run(response.body().getDto()), onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> call, Throwable t) {
|
||||||
|
onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getOrdiniLavorazione(String flagEvaso, String codJfas, RunnableArgs<List<OrdineLavorazioneDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
MesRESTConsumerService mesRESTConsumerService = RESTBuilder.getService(MesRESTConsumerService.class);
|
||||||
|
|
||||||
|
mesRESTConsumerService.getOrdiniLavorazione(flagEvaso, codJfas)
|
||||||
|
.enqueue(new Callback<ServiceRESTResponse<List<OrdineLavorazioneDTO>>>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> call, Response<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> response) {
|
||||||
|
analyzeAnswer(response, "getOrdiniLavorazione", (m) -> onComplete.run(response.body().getDto()), onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> call, Throwable t) {
|
||||||
|
onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getOrdiniLavorazione(Date dateStart, String flagEvaso, String codJfas, RunnableArgs<List<OrdineLavorazioneDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
MesRESTConsumerService mesRESTConsumerService = RESTBuilder.getService(MesRESTConsumerService.class);
|
||||||
|
|
||||||
|
mesRESTConsumerService.getOrdiniLavorazione(UtilityDate.formatDate(dateStart, UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH), flagEvaso, codJfas)
|
||||||
|
.enqueue(new Callback<ServiceRESTResponse<List<OrdineLavorazioneDTO>>>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> call, Response<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> response) {
|
||||||
|
analyzeAnswer(response, "getOrdiniLavorazione", (m) -> onComplete.run(response.body().getDto()), onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> call, Throwable t) {
|
||||||
|
onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getLineeProduzione(String codJfasParent, RunnableArgs<List<JtbFasi>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
|
Type typeOfObjectsList = new TypeToken<ArrayList<JtbFasi>>() {}.getType();
|
||||||
|
this.mSystemRESTConsumer.processSql(
|
||||||
|
"SELECT * FROM jtb_fasi WHERE cod_jfas_parent = " + UtilityDB.valueToString(codJfasParent),
|
||||||
|
typeOfObjectsList,
|
||||||
|
onComplete,
|
||||||
|
onFailed);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,4 +14,12 @@ public interface MesRESTConsumerService {
|
|||||||
@GET("mes_v2/getOrdiniLavorazioneMateriale")
|
@GET("mes_v2/getOrdiniLavorazioneMateriale")
|
||||||
Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> getOrdiniLavorazioneMateriale(@Query("codJfas") String codJfas, @Query("idMateriale") String idMateriale);
|
Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> getOrdiniLavorazioneMateriale(@Query("codJfas") String codJfas, @Query("idMateriale") String idMateriale);
|
||||||
|
|
||||||
|
|
||||||
|
@GET("mes_v2/getOrdiniLavorazione")
|
||||||
|
Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> getOrdiniLavorazione(@Query("flagEvaso") String flagEvaso, @Query("codJfas") String codJfas);
|
||||||
|
|
||||||
|
|
||||||
|
@GET("mes_v2/getOrdiniLavorazione")
|
||||||
|
Call<ServiceRESTResponse<List<OrdineLavorazioneDTO>>> getOrdiniLavorazione(@Query("startDate") String startDate, @Query("flagEvaso") String flagEvaso, @Query("codJfas") String codJfas);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,6 +111,14 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
|
|
||||||
public void getBancaliGiaRegistrati(List<OrdineInevasoDTO> orders, GestioneEnum gestione, int segno, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
public void getBancaliGiaRegistrati(List<OrdineInevasoDTO> orders, GestioneEnum gestione, int segno, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
String whereCondGestione = "";
|
||||||
|
|
||||||
|
if(gestione != null) {
|
||||||
|
whereCondGestione = "mtb_colt.gestione = " + UtilityDB.valueToString(gestione.getText()) + " ";
|
||||||
|
} else {
|
||||||
|
whereCondGestione = "(mtb_colt.gestione = 'V' OR mtb_colt.gestione = 'L') ";
|
||||||
|
}
|
||||||
|
|
||||||
String baseSql = "SELECT DISTINCT mtb_colt.* " +
|
String baseSql = "SELECT DISTINCT mtb_colt.* " +
|
||||||
"FROM mtb_colt, " +
|
"FROM mtb_colt, " +
|
||||||
" mtb_colr " +
|
" mtb_colr " +
|
||||||
@@ -118,7 +126,7 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer {
|
|||||||
" AND mtb_colt.ser_collo = mtb_colr.ser_collo " +
|
" AND mtb_colt.ser_collo = mtb_colr.ser_collo " +
|
||||||
" AND mtb_colt.data_collo = mtb_colr.data_collo " +
|
" AND mtb_colt.data_collo = mtb_colr.data_collo " +
|
||||||
" AND mtb_colt.num_collo = mtb_colr.num_collo " +
|
" AND mtb_colt.num_collo = mtb_colr.num_collo " +
|
||||||
" AND mtb_colt.gestione = " + UtilityDB.valueToString(gestione.getText()) + " " +
|
" AND " + whereCondGestione +
|
||||||
" AND mtb_colt.segno = " + UtilityDB.valueToString(segno) + " " +
|
" AND mtb_colt.segno = " + UtilityDB.valueToString(segno) + " " +
|
||||||
" AND mtb_colt.data_doc IS NULL AND ";
|
" AND mtb_colt.data_doc IS NULL AND ";
|
||||||
|
|
||||||
@@ -135,17 +143,11 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer {
|
|||||||
baseSql += "(" + UtilityQuery.concatFieldListInWhereCond(whereCondMapList) + ")";
|
baseSql += "(" + UtilityQuery.concatFieldListInWhereCond(whereCondMapList) + ")";
|
||||||
|
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<MtbColt>>() {}.getType();
|
Type typeOfObjectsList = new TypeToken<ArrayList<MtbColt>>() {}.getType();
|
||||||
this.mSystemRESTConsumer.processSql(baseSql, typeOfObjectsList, new ISimpleOperationCallback<List<MtbColt>>() {
|
this.mSystemRESTConsumer.<List<MtbColt>>processSql(baseSql, typeOfObjectsList, value -> {
|
||||||
@Override
|
|
||||||
public void onSuccess(List<MtbColt> value) {
|
|
||||||
if(onComplete != null) onComplete.run(value);
|
if(onComplete != null) onComplete.run(value);
|
||||||
}
|
}, ex -> {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
if(onFailed != null) onFailed.run(ex);
|
if(onFailed != null) onFailed.run(ex);
|
||||||
}
|
});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,12 +8,11 @@ import java.util.List;
|
|||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.Callback;
|
import retrofit2.Callback;
|
||||||
@@ -28,8 +27,30 @@ public class PosizioniRESTConsumer extends _BaseRESTConsumer{
|
|||||||
this.mSystemRESTConsumer = systemRESTConsumer;
|
this.mSystemRESTConsumer = systemRESTConsumer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void getPosizioneFromString(String posizione, RunnableArgs<MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
String sql = "SELECT TOP 1 mtb_depo_posizioni.*," +
|
||||||
|
" CASE WHEN jtb_fasi.cod_jfas IS NULL THEN 'N' ELSE 'S' END AS flag_linea_produzione " +
|
||||||
|
" FROM mtb_depo_posizioni " +
|
||||||
|
" LEFT OUTER JOIN jtb_fasi " +
|
||||||
|
" ON mtb_depo_posizioni.posizione = jtb_fasi.cod_jfas " +
|
||||||
|
" WHERE posizione = " + UtilityDB.valueToString(posizione);
|
||||||
|
|
||||||
|
SystemRESTConsumer.processSqlStatic(sql, MtbDepoPosizione.class, new ISimpleOperationCallback<MtbDepoPosizione>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(MtbDepoPosizione value) {
|
||||||
|
if(onComplete != null) onComplete.run(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailed(Exception ex) {
|
||||||
|
if(onFailed != null) onFailed.run(ex);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public static void getAvailablePosizioni(RunnableArgs<List<MtbDepoPosizione>> onComplete, RunnableArgs<Exception> onFailed) {
|
public static void getAvailablePosizioni(RunnableArgs<List<MtbDepoPosizione>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
// String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
String codMdep = null;
|
||||||
|
|
||||||
PosizioniRESTConsumerService posizioniRESTConsumerService = RESTBuilder.getService(PosizioniRESTConsumerService.class);
|
PosizioniRESTConsumerService posizioniRESTConsumerService = RESTBuilder.getService(PosizioniRESTConsumerService.class);
|
||||||
posizioniRESTConsumerService.getAvailablePosizioni(codMdep).enqueue(new Callback<ServiceRESTResponse<List<MtbDepoPosizione>>>() {
|
posizioniRESTConsumerService.getAvailablePosizioni(codMdep).enqueue(new Callback<ServiceRESTResponse<List<MtbDepoPosizione>>>() {
|
||||||
@@ -47,11 +68,8 @@ public class PosizioniRESTConsumer extends _BaseRESTConsumer{
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getBancaliInPosizione(MtbDepoPosizione mtbDepoPosizione, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
|
||||||
getBancaliInPosizioneStatic(mtbDepoPosizione, onComplete, onFailed);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void getBancaliInPosizioneStatic(MtbDepoPosizione mtbDepoPosizione, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
public void getBancaliInPosizione(MtbDepoPosizione mtbDepoPosizione, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
String sql = "SELECT * FROM mtb_colt WHERE segno > 0 AND cod_mdep = " + UtilityDB.valueToString(mtbDepoPosizione.getCodMdep()) + " AND posizione = " + UtilityDB.valueToString(mtbDepoPosizione.getPosizione());
|
String sql = "SELECT * FROM mtb_colt WHERE segno > 0 AND cod_mdep = " + UtilityDB.valueToString(mtbDepoPosizione.getCodMdep()) + " AND posizione = " + UtilityDB.valueToString(mtbDepoPosizione.getPosizione());
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class SystemRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailed(Exception ex) {
|
public void onFailed(Exception ex) {
|
||||||
onFailed.run(ex);
|
if(onFailed != null) onFailed.run(ex);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -81,12 +81,8 @@ public class SystemRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> void processSql(String nativeSql, final Type clazz, final ISimpleOperationCallback<T> callback) {
|
public <T> void processSql(String nativeSql, final Type clazz, final RunnableArgs<T> onComplete, final RunnableArgs<Exception> onFailed) {
|
||||||
|
processSqlStatic(nativeSql, clazz, onComplete, onFailed);
|
||||||
processSqlStatic(nativeSql, clazz, data -> {
|
|
||||||
callback.onSuccess((T) data);
|
|
||||||
}, callback::onFailed);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import java.lang.reflect.Type;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
|
|
||||||
public class DateDeserializer implements JsonDeserializer<Date> {
|
public class DateDeserializer implements JsonDeserializer<Date> {
|
||||||
|
|
||||||
@@ -16,6 +17,8 @@ public class DateDeserializer implements JsonDeserializer<Date> {
|
|||||||
public Date deserialize(JsonElement element, Type arg1, JsonDeserializationContext arg2) throws JsonParseException {
|
public Date deserialize(JsonElement element, Type arg1, JsonDeserializationContext arg2) throws JsonParseException {
|
||||||
String date = element.getAsString();
|
String date = element.getAsString();
|
||||||
|
|
||||||
|
if (UtilityString.isNullOrEmpty(date)) return null;
|
||||||
|
|
||||||
return UtilityDate.recognizeDateWithExceptionHandler(date);
|
return UtilityDate.recognizeDateWithExceptionHandler(date);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package it.integry.integrywmsnative.core.rest.model;
|
package it.integry.integrywmsnative.core.rest.model;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class SitArtOrdDTO {
|
public class SitArtOrdDTO {
|
||||||
|
|
||||||
@@ -25,6 +26,8 @@ public class SitArtOrdDTO {
|
|||||||
private String codMsfa;
|
private String codMsfa;
|
||||||
private String descrizioneMsfa;
|
private String descrizioneMsfa;
|
||||||
|
|
||||||
|
private final HashMap<String, Object> extraInfo = new HashMap<>();
|
||||||
|
|
||||||
public String getCodJcom() {
|
public String getCodJcom() {
|
||||||
return codJcom;
|
return codJcom;
|
||||||
}
|
}
|
||||||
@@ -196,4 +199,8 @@ public class SitArtOrdDTO {
|
|||||||
this.descrizioneMsfa = descrizioneMsfa;
|
this.descrizioneMsfa = descrizioneMsfa;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public HashMap<String, Object> getExtraInfo() {
|
||||||
|
return extraInfo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package it.integry.integrywmsnative.core.rest.model;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
|
|
||||||
|
public class SpostaArtsTraULRequestDTO {
|
||||||
|
|
||||||
|
|
||||||
|
private MtbColt sourceMtbColt;
|
||||||
|
|
||||||
|
private MtbColt destinationMtbColt;
|
||||||
|
|
||||||
|
public MtbColt getSourceMtbColt() {
|
||||||
|
return sourceMtbColt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SpostaArtsTraULRequestDTO setSourceMtbColt(MtbColt sourceMtbColt) {
|
||||||
|
this.sourceMtbColt = sourceMtbColt;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MtbColt getDestinationMtbColt() {
|
||||||
|
return destinationMtbColt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SpostaArtsTraULRequestDTO setDestinationMtbColt(MtbColt destinationMtbColt) {
|
||||||
|
this.destinationMtbColt = destinationMtbColt;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package it.integry.integrywmsnative.core.rest.serializer;
|
||||||
|
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonPrimitive;
|
||||||
|
import com.google.gson.JsonSerializationContext;
|
||||||
|
import com.google.gson.JsonSerializer;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
|
||||||
|
public class DateSerializer implements JsonSerializer<Date> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) {
|
||||||
|
String dateString = UtilityDate.formatDate(src, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
|
||||||
|
|
||||||
|
return src == null ? null : new JsonPrimitive(dateString);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -33,8 +33,10 @@ public class DBSettingsModel {
|
|||||||
private boolean flagForceAllToColli;
|
private boolean flagForceAllToColli;
|
||||||
private boolean flagSpedizioneEnableManualPick;
|
private boolean flagSpedizioneEnableManualPick;
|
||||||
private boolean flagSpedizioneCanSelectMultipleOrders;
|
private boolean flagSpedizioneCanSelectMultipleOrders;
|
||||||
|
private boolean flagSpedizioneUseQtaOrd;
|
||||||
private String produzioneDefaultCodAnag;
|
private String produzioneDefaultCodAnag;
|
||||||
private String reportNameSpedizionChiudiOrdine;
|
private String reportNameSpedizionChiudiOrdine;
|
||||||
|
private int onNumCnfInputChanged = 1;
|
||||||
|
|
||||||
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
||||||
return flagSpedizioneEnableFakeGiacenza;
|
return flagSpedizioneEnableFakeGiacenza;
|
||||||
@@ -234,6 +236,15 @@ public class DBSettingsModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isFlagSpedizioneUseQtaOrd() {
|
||||||
|
return flagSpedizioneUseQtaOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DBSettingsModel setFlagSpedizioneUseQtaOrd(boolean flagSpedizioneUseQtaOrd) {
|
||||||
|
this.flagSpedizioneUseQtaOrd = flagSpedizioneUseQtaOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public String getProduzioneDefaultCodAnag() {
|
public String getProduzioneDefaultCodAnag() {
|
||||||
return produzioneDefaultCodAnag;
|
return produzioneDefaultCodAnag;
|
||||||
}
|
}
|
||||||
@@ -251,4 +262,13 @@ public class DBSettingsModel {
|
|||||||
this.reportNameSpedizionChiudiOrdine = reportNameSpedizionChiudiOrdine;
|
this.reportNameSpedizionChiudiOrdine = reportNameSpedizionChiudiOrdine;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getOnNumCnfInputChanged() {
|
||||||
|
return onNumCnfInputChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DBSettingsModel setOnNumCnfInputChanged(int onNumCnfInputChanged) {
|
||||||
|
this.onNumCnfInputChanged = onNumCnfInputChanged;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -258,6 +258,14 @@ public class SettingsManager {
|
|||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("SPEDIZIONE")
|
.setSection("SPEDIZIONE")
|
||||||
.setKeySection("REPORT_PACKING_LIST"));
|
.setKeySection("REPORT_PACKING_LIST"));
|
||||||
|
stbGestSetupList.add(new StbGestSetup()
|
||||||
|
.setGestName("PICKING")
|
||||||
|
.setSection("SPEDIZIONE")
|
||||||
|
.setKeySection("FLAG_USE_QTA_ORD"));
|
||||||
|
stbGestSetupList.add(new StbGestSetup()
|
||||||
|
.setGestName("PICKING")
|
||||||
|
.setSection("SETUP")
|
||||||
|
.setKeySection("ON_NUM_CNF_INPUT_CHANGED"));
|
||||||
|
|
||||||
|
|
||||||
GestSetupRESTConsumer.getValues(stbGestSetupList, list -> {
|
GestSetupRESTConsumer.getValues(stbGestSetupList, list -> {
|
||||||
@@ -281,6 +289,12 @@ public class SettingsManager {
|
|||||||
dbSettingsModelIstance.setFlagSpedizioneEnableFakeGiacenza(getValueFromList(list, "SPEDIZIONE", "ENABLE_FAKE_GIACENZA", Boolean.class));
|
dbSettingsModelIstance.setFlagSpedizioneEnableFakeGiacenza(getValueFromList(list, "SPEDIZIONE", "ENABLE_FAKE_GIACENZA", Boolean.class));
|
||||||
dbSettingsModelIstance.setFlagSpedizioneCanSelectMultipleOrders(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_SELECT_MULTIPLE_ORDERS", Boolean.class));
|
dbSettingsModelIstance.setFlagSpedizioneCanSelectMultipleOrders(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_SELECT_MULTIPLE_ORDERS", Boolean.class));
|
||||||
dbSettingsModelIstance.setReportNameSpedizionChiudiOrdine(getValueFromList(list, "SPEDIZIONE", "REPORT_PACKING_LIST", String.class));
|
dbSettingsModelIstance.setReportNameSpedizionChiudiOrdine(getValueFromList(list, "SPEDIZIONE", "REPORT_PACKING_LIST", String.class));
|
||||||
|
dbSettingsModelIstance.setFlagSpedizioneUseQtaOrd(getValueFromList(list, "SPEDIZIONE", "FLAG_USE_QTA_ORD", Boolean.class));
|
||||||
|
|
||||||
|
Integer onNumCnfInputChanged = getValueFromList(list, "SETUP", "ON_NUM_CNF_INPUT_CHANGED", Integer.class);
|
||||||
|
if(onNumCnfInputChanged != null) {
|
||||||
|
dbSettingsModelIstance.setOnNumCnfInputChanged(onNumCnfInputChanged);
|
||||||
|
}
|
||||||
|
|
||||||
if(onComplete != null) onComplete.run();
|
if(onComplete != null) onComplete.run();
|
||||||
}, onFailed);
|
}, onFailed);
|
||||||
@@ -298,6 +312,8 @@ public class SettingsManager {
|
|||||||
return clazz.cast(value.getValue());
|
return clazz.cast(value.getValue());
|
||||||
} else if(clazz == Boolean.class) {
|
} else if(clazz == Boolean.class) {
|
||||||
return clazz.cast("S".equalsIgnoreCase(value.getValue()));
|
return clazz.cast("S".equalsIgnoreCase(value.getValue()));
|
||||||
|
} else if(clazz == Integer.class && value.getValue() != null) {
|
||||||
|
return clazz.cast(Integer.parseInt(value.getValue()));
|
||||||
} else return null;
|
} else return null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,17 +27,17 @@ public class UpdatesManager {
|
|||||||
public static void init(Activity context) {
|
public static void init(Activity context) {
|
||||||
String suffix;
|
String suffix;
|
||||||
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
|
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
|
||||||
try{
|
try {
|
||||||
suffix = customConfiguration.getConfig(BaseCustomConfiguration.Keys.CUSTOM_DYNAMIC_VERSION_PATH);
|
suffix = customConfiguration.getConfig(BaseCustomConfiguration.Keys.CUSTOM_DYNAMIC_VERSION_PATH);
|
||||||
if (suffix == null){
|
if (suffix == null) {
|
||||||
suffix = "";
|
suffix = "";
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
suffix = "";
|
suffix = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
String currentVersionUrl = "http://" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "/ems-api/wms/currentVersion";
|
String currentVersionUrl = "http://" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "/ems-api/wms/currentVersion";
|
||||||
String currentDownloadUrl = "http://" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "/ems-api/wms/android-release"+suffix+"_v2.apk";
|
String currentDownloadUrl = "http://" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "/ems-api/wms/android-release" + suffix + ".apk";
|
||||||
|
|
||||||
|
|
||||||
AppUpdater appUpdater = new AppUpdater(context)
|
AppUpdater appUpdater = new AppUpdater(context)
|
||||||
|
|||||||
@@ -33,19 +33,24 @@ public class UtilityBarcode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isEtichettaPosizione(BarcodeScanDTO barcodeScanDTO) {
|
public static boolean isEtichettaPosizione(BarcodeScanDTO barcodeScanDTO) {
|
||||||
|
return isEtichettaPosizione(barcodeScanDTO, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isEtichettaPosizione(BarcodeScanDTO barcodeScanDTO, boolean enableCheckCodMdep) {
|
||||||
|
String currentCodMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
|
||||||
String barcode = barcodeScanDTO.getStringValue();
|
String barcode = barcodeScanDTO.getStringValue();
|
||||||
boolean isPosizione = false;
|
boolean isPosizione = false;
|
||||||
|
|
||||||
if(SettingsManager.iDB().getAvailablePosizioni() != null) {
|
if(SettingsManager.iDB().getAvailablePosizioni() != null) {
|
||||||
Stream<MtbDepoPosizione> tmpStream = Stream.of(SettingsManager.iDB().getAvailablePosizioni())
|
Stream<MtbDepoPosizione> tmpStream = Stream.of(SettingsManager.iDB().getAvailablePosizioni())
|
||||||
.filter(x -> x.getPosizione().equalsIgnoreCase(barcode));
|
.filter(x -> x.getPosizione().equalsIgnoreCase(barcode) && (!enableCheckCodMdep || currentCodMdep.equalsIgnoreCase(x.getCodMdep())));
|
||||||
|
|
||||||
if(tmpStream.count() > 0){
|
if(tmpStream.count() > 0){
|
||||||
isPosizione = true;
|
isPosizione = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return isPosizione;
|
return isPosizione;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package it.integry.integrywmsnative.core.utility;
|
package it.integry.integrywmsnative.core.utility;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
|
|
||||||
public class UtilityBigDecimal {
|
public class UtilityBigDecimal {
|
||||||
|
|
||||||
@@ -50,23 +51,28 @@ public class UtilityBigDecimal {
|
|||||||
|
|
||||||
|
|
||||||
public static BigDecimal divide(BigDecimal input1, BigDecimal divisor) {
|
public static BigDecimal divide(BigDecimal input1, BigDecimal divisor) {
|
||||||
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
return divide(input1, divisor, RoundingMode.HALF_EVEN);
|
||||||
|
}
|
||||||
|
|
||||||
return input1.divide(divisor, 3, BigDecimal.ROUND_HALF_EVEN);
|
public static BigDecimal divide(BigDecimal input1, BigDecimal divisor, RoundingMode roundingMode) {
|
||||||
|
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
||||||
|
return input1.divide(divisor, 3, roundingMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static BigDecimal divideToInteger(BigDecimal input1, BigDecimal divisor) {
|
public static BigDecimal divideToInteger(BigDecimal input1, BigDecimal divisor) {
|
||||||
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
||||||
|
|
||||||
return new BigDecimal(input1.divide(divisor,3, BigDecimal.ROUND_HALF_EVEN).intValue());
|
return new BigDecimal(input1.divide(divisor,3, BigDecimal.ROUND_HALF_EVEN).intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static BigDecimal divideAndRoundToInteger(BigDecimal input1, BigDecimal divisor) {
|
public static BigDecimal divideAndRoundToInteger(BigDecimal input1, BigDecimal divisor) {
|
||||||
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
return divideAndRoundToInteger(input1, divisor, RoundingMode.HALF_EVEN);
|
||||||
|
}
|
||||||
|
|
||||||
return new BigDecimal(input1.divide(divisor,0, BigDecimal.ROUND_HALF_EVEN).intValue());
|
public static BigDecimal divideAndRoundToInteger(BigDecimal input1, BigDecimal divisor, RoundingMode roundingMode) {
|
||||||
|
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
||||||
|
return new BigDecimal(input1.divide(divisor,0, roundingMode).intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static BigDecimal multiply(BigDecimal input1, BigDecimal multiplier) {
|
public static BigDecimal multiply(BigDecimal input1, BigDecimal multiplier) {
|
||||||
|
|||||||
@@ -2,17 +2,28 @@ package it.integry.integrywmsnative.core.utility;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
public class UtilityContext {
|
public class UtilityContext {
|
||||||
|
|
||||||
private static Context mApplicationContext;
|
private static Context mApplicationContext;
|
||||||
|
private static AppCompatActivity mMainActivity;
|
||||||
|
|
||||||
public static void initApplicationContext(Context context) {
|
public static void initApplicationContext(Context context) {
|
||||||
mApplicationContext = context;
|
mApplicationContext = context;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void initMainActivity(AppCompatActivity mainActivity) {
|
||||||
|
mMainActivity = mainActivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static Context getApplicationContext() {
|
public static Context getApplicationContext() {
|
||||||
return mApplicationContext;
|
return mApplicationContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static AppCompatActivity getMainActivity() {
|
||||||
|
return mMainActivity;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,8 @@ package it.integry.integrywmsnative.core.utility;
|
|||||||
|
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.TimeZone;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
|
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
|
||||||
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
|
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
|
||||||
@@ -19,9 +17,15 @@ public class UtilityDate {
|
|||||||
public static class COMMONS_DATE_FORMATS {
|
public static class COMMONS_DATE_FORMATS {
|
||||||
public static final String DMY_SLASH = "dd/MM/yyyy";
|
public static final String DMY_SLASH = "dd/MM/yyyy";
|
||||||
public static final String YMD_SLASH = "yyyy/MM/dd";
|
public static final String YMD_SLASH = "yyyy/MM/dd";
|
||||||
|
public static final String DM_SLASH = "dd/MM";
|
||||||
|
public static final String MD_SLASH = "MM/dd";
|
||||||
public static final String YMD_DASH = "yyyy-MM-dd";
|
public static final String YMD_DASH = "yyyy-MM-dd";
|
||||||
public static final String DMY_TIME_SLASH = DMY_SLASH + " HH:mm:ss";
|
public static final String DMY_TIME_SLASH = DMY_SLASH + " HH:mm:ss";
|
||||||
public static final String YMD_TIME_SLASH = YMD_SLASH + " HH:mm:ss";
|
public static final String YMD_TIME_SLASH = YMD_SLASH + " HH:mm:ss";
|
||||||
|
public static final String DM_TIME_SLASH = DM_SLASH + " HH:mm";
|
||||||
|
public static final String MD_TIME_SLASH = MD_SLASH + " HH:mm";
|
||||||
|
public static final String TIME = "HH:mm";
|
||||||
|
public static final String TIME_W_SECS = "HH:mm:ss";
|
||||||
|
|
||||||
|
|
||||||
public static final String DM_HUMAN = "dd MMM";
|
public static final String DM_HUMAN = "dd MMM";
|
||||||
|
|||||||
@@ -8,6 +8,14 @@ import androidx.fragment.app.DialogFragment;
|
|||||||
|
|
||||||
public class UtilityDialog {
|
public class UtilityDialog {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static void setTo60PercentWidth(Context context, DialogFragment dialog) {
|
||||||
|
int width = (int)(context.getResources().getDisplayMetrics().widthPixels*0.60);
|
||||||
|
|
||||||
|
dialog.getDialog().getWindow().setLayout(width, LinearLayout.LayoutParams.MATCH_PARENT);
|
||||||
|
}
|
||||||
|
|
||||||
public static void setTo90PercentWidth(Context context, Dialog dialog) {
|
public static void setTo90PercentWidth(Context context, Dialog dialog) {
|
||||||
int width = (int)(context.getResources().getDisplayMetrics().widthPixels*0.90);
|
int width = (int)(context.getResources().getDisplayMetrics().widthPixels*0.90);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package it.integry.integrywmsnative.core.utility;
|
package it.integry.integrywmsnative.core.utility;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.util.DisplayMetrics;
|
import android.util.DisplayMetrics;
|
||||||
@@ -22,4 +23,14 @@ public class UtilityDimension {
|
|||||||
return Math.round(px);
|
return Math.round(px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static double getDisplayInchs(Activity activity) {
|
||||||
|
DisplayMetrics metrics = new DisplayMetrics();
|
||||||
|
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
|
||||||
|
|
||||||
|
float yInches= metrics.heightPixels/metrics.ydpi;
|
||||||
|
float xInches= metrics.widthPixels/metrics.xdpi;
|
||||||
|
return Math.sqrt(xInches*xInches + yInches*yInches);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,12 +4,15 @@ import android.app.Dialog;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
|
|
||||||
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
import androidx.fragment.app.FragmentManager;
|
||||||
|
|
||||||
import com.google.firebase.crashlytics.FirebaseCrashlytics;
|
import com.google.firebase.crashlytics.FirebaseCrashlytics;
|
||||||
import com.orhanobut.logger.Logger;
|
import com.orhanobut.logger.Logger;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.BuildConfig;
|
import it.integry.integrywmsnative.BuildConfig;
|
||||||
import it.integry.integrywmsnative.core.rest.CommonRESTException;
|
import it.integry.integrywmsnative.core.rest.CommonRESTException;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
|
|
||||||
public class UtilityExceptions {
|
public class UtilityExceptions {
|
||||||
|
|
||||||
@@ -43,8 +46,17 @@ public class UtilityExceptions {
|
|||||||
if(ex.getCause() != null) errorMessage += "<br />" + ex.getCause().getMessage();
|
if(ex.getCause() != null) errorMessage += "<br />" + ex.getCause().getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(context != null) {
|
FragmentManager fm = null;
|
||||||
DialogSimpleMessageHelper.makeErrorDialog(context, new SpannableString(errorMessage), null, null).show();
|
|
||||||
|
if(context != null && context instanceof FragmentActivity) {
|
||||||
|
fm = ((FragmentActivity) context).getSupportFragmentManager();
|
||||||
|
} else if(UtilityContext.getMainActivity() != null) {
|
||||||
|
fm = UtilityContext.getMainActivity().getSupportFragmentManager();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(fm != null) {
|
||||||
|
DialogSimpleMessageView.makeErrorDialog(new SpannableString(errorMessage), null, null)
|
||||||
|
.show(fm, "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!BuildConfig.DEBUG) {
|
if(!BuildConfig.DEBUG) {
|
||||||
|
|||||||
@@ -1,11 +1,8 @@
|
|||||||
package it.integry.integrywmsnative.core.utility;
|
package it.integry.integrywmsnative.core.utility;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.ProgressDialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.widget.ProgressBar;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogProgress;
|
import it.integry.integrywmsnative.view.dialogs.DialogProgress;
|
||||||
|
|
||||||
public class UtilityProgress {
|
public class UtilityProgress {
|
||||||
@@ -26,27 +23,4 @@ public class UtilityProgress {
|
|||||||
return progress;
|
return progress;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static Thread makeProgressBarIndeterminate(ProgressBar progressBar) {
|
|
||||||
progressBar.setMax(100);
|
|
||||||
|
|
||||||
Thread updateProgressThread = new Thread(() -> {
|
|
||||||
|
|
||||||
try {
|
|
||||||
while (true) {
|
|
||||||
for (int i = 0; i < 100; i++) {
|
|
||||||
progressBar.setProgress(i);
|
|
||||||
Thread.sleep(10);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (Exception ex) {
|
|
||||||
// String message = ex.toString();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
updateProgressThread.start();
|
|
||||||
|
|
||||||
return updateProgressThread;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public class UtilityString {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String empty2null(String stringToCheck) {
|
public static String empty2null(String stringToCheck) {
|
||||||
return (stringToCheck != null && stringToCheck.trim().length() == 0 || stringToCheck == null) ? null : stringToCheck.trim();
|
return (stringToCheck == null || stringToCheck.trim().length() == 0) ? null : stringToCheck.trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String capitalizeWords(String capString){
|
public static String capitalizeWords(String capString){
|
||||||
@@ -68,11 +68,11 @@ public class UtilityString {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static Spanned formatHtmlString(String format, String... params){
|
public static Spanned formatHtmlString(String format, String... params){
|
||||||
return Html.fromHtml(String.format(format,params));
|
return Html.fromHtml(String.format(format, (Object[]) params));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Spanned formatHtmlStringFromResId(@StringRes int stringId, String... params){
|
public static Spanned formatHtmlStringFromResId(@StringRes int stringId, String... params){
|
||||||
return Html.fromHtml(String.format(UtilityResources.getString(stringId),params));
|
return Html.fromHtml(String.format(UtilityResources.getString(stringId), (Object[]) params));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ public class WiFiStatusChecker {
|
|||||||
};
|
};
|
||||||
|
|
||||||
public WiFiStatusChecker(Context context){
|
public WiFiStatusChecker(Context context){
|
||||||
mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
|
mWifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startMonitoring(RunnableArgs<SIGNAL> callback){
|
public void startMonitoring(RunnableArgs<SIGNAL> callback){
|
||||||
|
|||||||
@@ -41,11 +41,11 @@ import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
|
|||||||
import it.integry.integrywmsnative.gest.accettazione.rest.OrdiniAccettazioneRESTConsumer;
|
import it.integry.integrywmsnative.gest.accettazione.rest.OrdiniAccettazioneRESTConsumer;
|
||||||
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingActivity;
|
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingActivity;
|
||||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
|
|
||||||
public class MainAccettazioneFragment extends Fragment implements ISearcableFragment, ITitledFragment, IScrollableFragment {
|
public class MainAccettazioneFragment extends Fragment implements ISearcableFragment, ITitledFragment, IScrollableFragment {
|
||||||
|
|
||||||
private List<Runnable> mOnPreDestroyList = new ArrayList<>();
|
private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
|
||||||
private ElevatedToolbar mToolbar;
|
private ElevatedToolbar mToolbar;
|
||||||
|
|
||||||
private FragmentMainAccettazioneBinding mBinding;
|
private FragmentMainAccettazioneBinding mBinding;
|
||||||
@@ -54,7 +54,7 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
|||||||
private MainListAccettazioneAdapter mAdapter;
|
private MainListAccettazioneAdapter mAdapter;
|
||||||
|
|
||||||
private List<OrdineAccettazioneInevasoDTO> mOriginalOrderList;
|
private List<OrdineAccettazioneInevasoDTO> mOriginalOrderList;
|
||||||
private List<OrdineAccettazioneInevasoDTO> mRenderedOrderList = new ArrayList<>();
|
private final List<OrdineAccettazioneInevasoDTO> mRenderedOrderList = new ArrayList<>();
|
||||||
|
|
||||||
private AppCompatTextView mAppBarTitle;
|
private AppCompatTextView mAppBarTitle;
|
||||||
|
|
||||||
@@ -81,24 +81,14 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
|||||||
mAppBarTitle.setText(context.getText(R.string.accettazione_title_fragment).toString());
|
mAppBarTitle.setText(context.getText(R.string.accettazione_title_fragment).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
|
|
||||||
this.mOnPreDestroyList.add(onActionBarPreDestroy);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
init();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
Bundle savedInstanceState) {
|
Bundle savedInstanceState) {
|
||||||
|
|
||||||
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_accettazione, container, false);
|
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_accettazione, container, false);
|
||||||
|
|
||||||
|
init();
|
||||||
|
|
||||||
mBinding.setView(this);
|
mBinding.setView(this);
|
||||||
mBinding.accettazioneMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
|
mBinding.accettazioneMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||||
mBinding.accettazioneMainFab.hide();
|
mBinding.accettazioneMainFab.hide();
|
||||||
@@ -159,7 +149,7 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
private RunnableArgs<OrdineAccettazioneInevasoDTO> onSingleSelectionChanged = dto -> {
|
private final RunnableArgs<OrdineAccettazioneInevasoDTO> onSingleSelectionChanged = dto -> {
|
||||||
List<OrdineAccettazioneInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
|
List<OrdineAccettazioneInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
|
||||||
|
|
||||||
if(dto.isSelected()) {
|
if(dto.isSelected()) {
|
||||||
@@ -197,8 +187,7 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
|||||||
.count();
|
.count();
|
||||||
|
|
||||||
|
|
||||||
DialogSimpleMessageHelper.makeInfoDialog(getActivity(),
|
DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(),
|
||||||
getText(R.string.orders).toString(),
|
|
||||||
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, (int) ordsCounter), ordsCounter)
|
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, (int) ordsCounter), ordsCounter)
|
||||||
+ "<br /><br />" +
|
+ "<br /><br />" +
|
||||||
"<b>" + artsCounter + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, (int) artsCounter)),
|
"<b>" + artsCounter + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, (int) artsCounter)),
|
||||||
@@ -213,14 +202,17 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
|||||||
myIntent.putExtra("keySitArts", cacheSitArtItemID);
|
myIntent.putExtra("keySitArts", cacheSitArtItemID);
|
||||||
getActivity().startActivity(myIntent);
|
getActivity().startActivity(myIntent);
|
||||||
|
|
||||||
}).show();
|
}).show(getActivity().getSupportFragmentManager(), "tag");
|
||||||
|
|
||||||
}, ex -> {
|
}, ex -> {
|
||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
|
|
||||||
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
|
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
|
||||||
if(errorMessage == null) errorMessage = ex.getMessage() + "\n" + ex.getCause().getCause().getMessage();
|
if(errorMessage == null) errorMessage = ex.getMessage() + "\n" + ex.getCause().getCause().getMessage();
|
||||||
DialogSimpleMessageHelper.makeErrorDialog(getActivity(), new SpannableString(errorMessage), null, null).show();
|
|
||||||
|
DialogSimpleMessageView
|
||||||
|
.makeErrorDialog(new SpannableString(errorMessage), null, null)
|
||||||
|
.show(getActivity().getSupportFragmentManager(), "tag");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -254,8 +246,9 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
|||||||
mToolbar = toolbar;
|
mToolbar = toolbar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setScrollableOnPreDestroy(Runnable onPreDestroy) {
|
public void addOnPreDestroy(Runnable onPreDestroy) {
|
||||||
this.mOnPreDestroyList.add(onPreDestroy);
|
this.mOnPreDestroyList.add(onPreDestroy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package it.integry.integrywmsnative.gest.accettazione_picking;
|
package it.integry.integrywmsnative.gest.accettazione_picking;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
@@ -10,6 +11,7 @@ import android.view.MenuItem;
|
|||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableArrayList;
|
import androidx.databinding.ObservableArrayList;
|
||||||
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
@@ -58,8 +60,8 @@ import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGExcep
|
|||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.note_aggiuntive_lu.NoteAggiuntiveLUDialog;
|
import it.integry.integrywmsnative.view.dialogs.note_aggiuntive_lu.NoteAggiuntiveLUDialog;
|
||||||
|
|
||||||
@@ -72,7 +74,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
|
|
||||||
private BottomSheetFragmentLUContentViewModel mBottomSheetFragmentLUContentViewModel;
|
private BottomSheetFragmentLUContentViewModel mBottomSheetFragmentLUContentViewModel;
|
||||||
|
|
||||||
private ObservableArrayList<AccettazioneListModel> mAccettazioneMutableData = new ObservableArrayList<>();
|
private final ObservableArrayList<AccettazioneListModel> mAccettazioneMutableData = new ObservableArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
public BindableBoolean noItemsToPick = new BindableBoolean(false);
|
public BindableBoolean noItemsToPick = new BindableBoolean(false);
|
||||||
@@ -89,6 +91,8 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
|
|
||||||
private final int PICK_UL_REQUEST = 1;
|
private final int PICK_UL_REQUEST = 1;
|
||||||
|
|
||||||
|
private boolean mShowSecondaryUntMis = true;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -115,11 +119,13 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
|
|
||||||
setSupportActionBar(this.mBindings.toolbar);
|
setSupportActionBar(this.mBindings.toolbar);
|
||||||
|
|
||||||
|
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
|
mShowSecondaryUntMis = sharedPreferences.getBoolean("picking_ingresso_enable_sec_unt_mis", true);
|
||||||
|
|
||||||
this.initVars();
|
this.initVars();
|
||||||
this.initBarcodeReader();
|
this.initBarcodeReader();
|
||||||
this.initRecyclerView();
|
this.initRecyclerView();
|
||||||
|
|
||||||
|
|
||||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
|
||||||
mViewModel.setListeners(this);
|
mViewModel.setListeners(this);
|
||||||
@@ -180,14 +186,14 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initRecyclerView() {
|
private void initRecyclerView() {
|
||||||
|
AccettazioneListAdapter accettazioneListAdapter = new AccettazioneListAdapter(this, mAccettazioneMutableData, mShowSecondaryUntMis);
|
||||||
|
this.mBindings.accettazionePickingList.setAdapter(accettazioneListAdapter);
|
||||||
|
this.mBindings.accettazionePickingList.setLayoutManager(new LinearLayoutManager(this));
|
||||||
|
|
||||||
this.mViewModel.getPickingList().observe(this, updatedData -> {
|
this.mViewModel.getPickingList().observe(this, updatedData -> {
|
||||||
refreshList();
|
refreshList();
|
||||||
});
|
});
|
||||||
|
|
||||||
AccettazioneListAdapter accettazioneListAdapter = new AccettazioneListAdapter(this, mAccettazioneMutableData);
|
|
||||||
this.mBindings.accettazionePickingList.setAdapter(accettazioneListAdapter);
|
|
||||||
this.mBindings.accettazionePickingList.setLayoutManager(new LinearLayoutManager(this));
|
|
||||||
|
|
||||||
accettazioneListAdapter.setOnItemClicked(clickedItem -> {
|
accettazioneListAdapter.setOnItemClicked(clickedItem -> {
|
||||||
this.mViewModel.dispatchOrdineRow(clickedItem);
|
this.mViewModel.dispatchOrdineRow(clickedItem);
|
||||||
});
|
});
|
||||||
@@ -236,32 +242,43 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
|
|
||||||
accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
|
accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
|
||||||
|
|
||||||
|
//Calc Num CNF
|
||||||
|
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||||
|
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||||
|
.map(MtbColr::getNumCnf)
|
||||||
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Calc qta col
|
||||||
|
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||||
|
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||||
|
.map(MtbColr::getQtaCol)
|
||||||
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
|
||||||
|
|
||||||
if(x.getWithdrawMtbColrs().size() > 0) {
|
|
||||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
|
||||||
.map(MtbColr::getNumCnf)
|
|
||||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
}
|
|
||||||
|
|
||||||
accettazioneListModel.setQtaEvasa(numCnfEvasa);
|
accettazioneListModel.setQtaEvasa(numCnfEvasa);
|
||||||
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||||
accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||||
|
|
||||||
|
accettazioneListModel.setSecQtaEvasa(qtaEvasa);
|
||||||
|
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||||
|
if (x.getMtbAart() != null)
|
||||||
|
accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||||
} else {
|
} else {
|
||||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
|
||||||
|
|
||||||
if(x.getWithdrawMtbColrs().size() > 0) {
|
|
||||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
|
||||||
.map(MtbColr::getQtaCol)
|
|
||||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
}
|
|
||||||
|
|
||||||
accettazioneListModel.setQtaEvasa(qtaEvasa);
|
accettazioneListModel.setQtaEvasa(qtaEvasa);
|
||||||
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||||
if (x.getMtbAart() != null)
|
if (x.getMtbAart() != null)
|
||||||
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
|
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||||
|
|
||||||
|
accettazioneListModel.setSecQtaEvasa(numCnfEvasa);
|
||||||
|
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||||
|
accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||||
}
|
}
|
||||||
|
|
||||||
accettazioneListModel.setOriginalModel(x);
|
accettazioneListModel.setOriginalModel(x);
|
||||||
@@ -287,35 +304,44 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
|
|
||||||
accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
|
accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
|
||||||
|
|
||||||
|
//Calc Num CNF
|
||||||
|
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||||
|
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||||
|
.map(MtbColr::getNumCnf)
|
||||||
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Calc qta col
|
||||||
|
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||||
|
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||||
|
.map(MtbColr::getQtaCol)
|
||||||
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
|
||||||
|
|
||||||
if(x.getWithdrawMtbColrs().size() > 0) {
|
|
||||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
|
||||||
.map(MtbColr::getNumCnf)
|
|
||||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
}
|
|
||||||
|
|
||||||
accettazioneListModel.setQtaEvasa(numCnfEvasa);
|
accettazioneListModel.setQtaEvasa(numCnfEvasa);
|
||||||
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd());
|
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||||
accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||||
|
|
||||||
|
accettazioneListModel.setSecQtaEvasa(qtaEvasa);
|
||||||
|
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||||
|
if (x.getMtbAart() != null)
|
||||||
|
accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||||
} else {
|
} else {
|
||||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
|
||||||
|
|
||||||
if(x.getWithdrawMtbColrs().size() > 0) {
|
|
||||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
|
||||||
.map(MtbColr::getQtaCol)
|
|
||||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
}
|
|
||||||
|
|
||||||
accettazioneListModel.setQtaEvasa(qtaEvasa);
|
accettazioneListModel.setQtaEvasa(qtaEvasa);
|
||||||
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||||
if (x.getMtbAart() != null)
|
if (x.getMtbAart() != null)
|
||||||
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
|
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||||
}
|
|
||||||
|
|
||||||
if (x.getMtbAart() != null)
|
accettazioneListModel.setSecQtaEvasa(numCnfEvasa);
|
||||||
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
|
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||||
|
accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||||
|
}
|
||||||
|
|
||||||
accettazioneListModel.setOriginalModel(x);
|
accettazioneListModel.setOriginalModel(x);
|
||||||
|
|
||||||
@@ -340,32 +366,43 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
accettazioneListModel.setBadge1(x.getSitArtOrdDTO().getCodArtFor());
|
accettazioneListModel.setBadge1(x.getSitArtOrdDTO().getCodArtFor());
|
||||||
accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
||||||
|
|
||||||
|
//Calc Num CNF
|
||||||
|
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||||
|
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||||
|
.map(MtbColr::getNumCnf)
|
||||||
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Calc qta col
|
||||||
|
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||||
|
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||||
|
.map(MtbColr::getQtaCol)
|
||||||
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
|
||||||
|
|
||||||
if(x.getWithdrawMtbColrs().size() > 0) {
|
|
||||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
|
||||||
.map(MtbColr::getNumCnf)
|
|
||||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
}
|
|
||||||
|
|
||||||
accettazioneListModel.setQtaEvasa(numCnfEvasa);
|
accettazioneListModel.setQtaEvasa(numCnfEvasa);
|
||||||
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd());
|
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||||
accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||||
|
|
||||||
|
accettazioneListModel.setSecQtaEvasa(qtaEvasa);
|
||||||
|
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||||
|
if (x.getMtbAart() != null)
|
||||||
|
accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||||
} else {
|
} else {
|
||||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
|
||||||
|
|
||||||
if(x.getWithdrawMtbColrs().size() > 0) {
|
|
||||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
|
||||||
.map(MtbColr::getQtaCol)
|
|
||||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
}
|
|
||||||
|
|
||||||
accettazioneListModel.setQtaEvasa(qtaEvasa);
|
accettazioneListModel.setQtaEvasa(qtaEvasa);
|
||||||
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||||
if (x.getMtbAart() != null)
|
if (x.getMtbAart() != null)
|
||||||
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
|
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||||
|
|
||||||
|
accettazioneListModel.setSecQtaEvasa(numCnfEvasa);
|
||||||
|
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||||
|
accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (x.getMtbAart() != null) {
|
if (x.getMtbAart() != null) {
|
||||||
@@ -389,8 +426,45 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
||||||
|
|
||||||
|
|
||||||
accettazioneListModel.setQtaEvasa(BigDecimal.ZERO);
|
//Calc Num CNF
|
||||||
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaOrd());
|
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||||
|
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||||
|
.map(MtbColr::getNumCnf)
|
||||||
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Calc qta col
|
||||||
|
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||||
|
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||||
|
.map(MtbColr::getQtaCol)
|
||||||
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||||
|
accettazioneListModel.setQtaEvasa(numCnfEvasa);
|
||||||
|
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||||
|
accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||||
|
|
||||||
|
accettazioneListModel.setSecQtaEvasa(qtaEvasa);
|
||||||
|
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||||
|
if (x.getMtbAart() != null)
|
||||||
|
accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||||
|
} else {
|
||||||
|
accettazioneListModel.setQtaEvasa(qtaEvasa);
|
||||||
|
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||||
|
if (x.getMtbAart() != null)
|
||||||
|
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||||
|
|
||||||
|
accettazioneListModel.setSecQtaEvasa(numCnfEvasa);
|
||||||
|
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||||
|
accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (x.getMtbAart() != null) {
|
if (x.getMtbAart() != null) {
|
||||||
accettazioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
|
accettazioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
|
||||||
@@ -459,7 +533,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
public void startListaBancaliRegistratiActivity(ArrayList<RecoverMtbColt> mtbColts) {
|
public void startListaBancaliRegistratiActivity(ArrayList<RecoverMtbColt> mtbColts) {
|
||||||
|
|
||||||
Intent myIntent = ListaBancaliActivity.createIntent(this,
|
Intent myIntent = ListaBancaliActivity.createIntent(this,
|
||||||
Stream.of(mtbColts).map(x -> (MtbColt)x).toList(),
|
Stream.of(mtbColts).map(x -> (MtbColt) x).toList(),
|
||||||
input -> ((RecoverMtbColt) input).isFlagCanBeRecovered(),
|
input -> ((RecoverMtbColt) input).isFlagCanBeRecovered(),
|
||||||
PrinterRESTConsumer.Type.SECONDARIA,
|
PrinterRESTConsumer.Type.SECONDARIA,
|
||||||
ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO));
|
ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO));
|
||||||
@@ -470,7 +544,9 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
public void onLUSuccessullyPrinted() {
|
public void onLUSuccessullyPrinted() {
|
||||||
Resources res = getResources();
|
Resources res = getResources();
|
||||||
String errorMessage = res.getText(R.string.alert_print_completed_message).toString();
|
String errorMessage = res.getText(R.string.alert_print_completed_message).toString();
|
||||||
DialogSimpleMessageHelper.makeSuccessDialog(this, res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null).show();
|
DialogSimpleMessageView
|
||||||
|
.makeSuccessDialog(res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null)
|
||||||
|
.show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -480,13 +556,13 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
@Override
|
@Override
|
||||||
public void onLUPrintError(Exception ex, Runnable onComplete) {
|
public void onLUPrintError(Exception ex, Runnable onComplete) {
|
||||||
this.closeProgress();
|
this.closeProgress();
|
||||||
DialogSimpleMessageHelper.makeErrorDialog(
|
DialogSimpleMessageView.makeErrorDialog(
|
||||||
this,
|
|
||||||
new SpannableString(ex.getMessage()),
|
new SpannableString(ex.getMessage()),
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
R.string.button_ignore_print,
|
R.string.button_ignore_print,
|
||||||
onComplete).show();
|
onComplete)
|
||||||
|
.show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -523,7 +599,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
public void onError(Exception ex) {
|
public void onError(Exception ex) {
|
||||||
this.closeProgress();
|
this.closeProgress();
|
||||||
|
|
||||||
if(ex instanceof InvalidPesoKGException) {
|
if (ex instanceof InvalidPesoKGException) {
|
||||||
UtilityToast.showToast(ex.getMessage());
|
UtilityToast.showToast(ex.getMessage());
|
||||||
} else {
|
} else {
|
||||||
UtilityExceptions.defaultException(this, ex, mCurrentProgress);
|
UtilityExceptions.defaultException(this, ex, mCurrentProgress);
|
||||||
@@ -554,7 +630,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
.setCanLUBeClosed(true)
|
.setCanLUBeClosed(true)
|
||||||
.setCanOverflowOrderQuantity(canOverflowQuantity);
|
.setCanOverflowOrderQuantity(canOverflowQuantity);
|
||||||
|
|
||||||
DialogInputQuantityV2
|
DialogInputQuantityV2View
|
||||||
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
||||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
.setNumCnf(resultDTO.getNumCnf())
|
.setNumCnf(resultDTO.getNumCnf())
|
||||||
@@ -588,12 +664,11 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
@Override
|
@Override
|
||||||
public void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete) {
|
public void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete) {
|
||||||
String text = getResources().getString(R.string.alert_delete_mtb_colr);
|
String text = getResources().getString(R.string.alert_delete_mtb_colr);
|
||||||
DialogSimpleMessageHelper.makeWarningDialog(this,
|
DialogSimpleMessageView.makeWarningDialog(new SpannableString(text),
|
||||||
new SpannableString(text),
|
|
||||||
null,
|
null,
|
||||||
() -> onComplete.run(true),
|
() -> onComplete.run(true),
|
||||||
() -> onComplete.run(false)
|
() -> onComplete.run(false)
|
||||||
).show();
|
).show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -98,10 +98,13 @@ public class AccettazionePickingViewModel {
|
|||||||
|
|
||||||
public void init(List<OrdineAccettazioneInevasoDTO> orders, List<SitArtOrdDTO> sitArts, String codMdep) {
|
public void init(List<OrdineAccettazioneInevasoDTO> orders, List<SitArtOrdDTO> sitArts, String codMdep) {
|
||||||
this.mOrders = orders;
|
this.mOrders = orders;
|
||||||
this.mSitArts = sitArts;
|
|
||||||
this.mDefaultCodMdep = codMdep;
|
this.mDefaultCodMdep = codMdep;
|
||||||
|
|
||||||
getEmptyPickingList(sitArts, pickingObjectList -> {
|
this.mSitArts = Stream.of(sitArts)
|
||||||
|
.filter(x -> UtilityBigDecimal.greaterThan(x.getNumCnfDaEvadere(), BigDecimal.ZERO) && UtilityBigDecimal.greaterThan(x.getQtaDaEvadere(), BigDecimal.ZERO))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
getEmptyPickingList(this.mSitArts, pickingObjectList -> {
|
||||||
this.mPickingList.postValue(pickingObjectList);
|
this.mPickingList.postValue(pickingObjectList);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -136,11 +139,12 @@ public class AccettazionePickingViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void getEmptyPickingList(List<SitArtOrdDTO> sitArtOrdList, RunnableArgs<List<PickingObjectDTO>> onComplete) {
|
private void getEmptyPickingList(List<SitArtOrdDTO> sitArtOrdList, RunnableArgs<List<PickingObjectDTO>> onComplete) {
|
||||||
|
|
||||||
List<String> codMarts = Stream.of(sitArtOrdList)
|
List<String> codMarts = Stream.of(sitArtOrdList)
|
||||||
.map(SitArtOrdDTO::getCodMart)
|
.map(SitArtOrdDTO::getCodMart)
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
this.mArticoloRESTConsumer.getByCodMart(codMarts, listMtbAarts -> {
|
this.mArticoloRESTConsumer.getByCodMarts(codMarts, listMtbAarts -> {
|
||||||
List<PickingObjectDTO> pickingList = Stream.of(sitArtOrdList)
|
List<PickingObjectDTO> pickingList = Stream.of(sitArtOrdList)
|
||||||
.map(sitArtOrdDTO -> {
|
.map(sitArtOrdDTO -> {
|
||||||
MtbAart mtbAart = null;
|
MtbAart mtbAart = null;
|
||||||
@@ -169,7 +173,7 @@ public class AccettazionePickingViewModel {
|
|||||||
public void retrieveExistentLU(RunnableArgs<ArrayList<RecoverMtbColt>> onComplete) {
|
public void retrieveExistentLU(RunnableArgs<ArrayList<RecoverMtbColt>> onComplete) {
|
||||||
this.sendOnLoadingStarted();
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
this.mAccettazionePickingRESTConsumer.getBancaliGiaRegistrati(this.mSitArts, mtbColtList -> {
|
this.mAccettazionePickingRESTConsumer.getBancaliGiaRegistrati(this.mOrders, mtbColtList -> {
|
||||||
this.sendOnLoadingEnded();
|
this.sendOnLoadingEnded();
|
||||||
onComplete.run(mtbColtList);
|
onComplete.run(mtbColtList);
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
@@ -482,7 +486,7 @@ public class AccettazionePickingViewModel {
|
|||||||
|
|
||||||
|
|
||||||
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
|
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
|
||||||
numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
|
numCnfDaPrelevare = UtilityBigDecimal.divideAndRoundToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
|
||||||
|
|
||||||
if (!mtbAart.isFlagQtaCnfFissaBoolean()) {
|
if (!mtbAart.isFlagQtaCnfFissaBoolean()) {
|
||||||
if (UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO))
|
if (UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO))
|
||||||
@@ -612,7 +616,7 @@ public class AccettazionePickingViewModel {
|
|||||||
.setNumCollo(value.getNumCollo())
|
.setNumCollo(value.getNumCollo())
|
||||||
.setGestione(value.getGestione())
|
.setGestione(value.getGestione())
|
||||||
.setSerCollo(value.getSerCollo())
|
.setSerCollo(value.getSerCollo())
|
||||||
.setRiga(value.getMtbColr().get(0).getRiga())
|
.setRiga(value.getMtbColr().get(value.getMtbColr().size() - 1).getRiga())
|
||||||
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
||||||
.setMtbAart(pickingObjectDTO.getMtbAart());
|
.setMtbAart(pickingObjectDTO.getMtbAart());
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import android.view.View;
|
|||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.core.content.res.ResourcesCompat;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableArrayList;
|
import androidx.databinding.ObservableArrayList;
|
||||||
import androidx.databinding.ObservableList;
|
import androidx.databinding.ObservableList;
|
||||||
@@ -28,8 +29,9 @@ import it.integry.integrywmsnative.gest.accettazione_picking.dto.PickingObjectDT
|
|||||||
|
|
||||||
public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter<AccettazioneListAdapter.SubheaderHolder, AccettazioneListAdapter.SingleItemViewHolder> {
|
public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter<AccettazioneListAdapter.SubheaderHolder, AccettazioneListAdapter.SingleItemViewHolder> {
|
||||||
|
|
||||||
private Context mContext;
|
private final Context mContext;
|
||||||
private List<AccettazioneListModel> mDataset = new ArrayList<>();
|
private final boolean mShowSecondaryUntMis;
|
||||||
|
private final List<AccettazioneListModel> mDataset = new ArrayList<>();
|
||||||
|
|
||||||
private RunnableArgs<PickingObjectDTO> mOnItemClicked;
|
private RunnableArgs<PickingObjectDTO> mOnItemClicked;
|
||||||
|
|
||||||
@@ -55,8 +57,9 @@ public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter<Accett
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public AccettazioneListAdapter(AppCompatActivity context, ObservableArrayList<AccettazioneListModel> mutableDataSet) {
|
public AccettazioneListAdapter(AppCompatActivity context, ObservableArrayList<AccettazioneListModel> mutableDataSet, boolean showSecondaryUntMis) {
|
||||||
this.mContext = context;
|
this.mContext = context;
|
||||||
|
this.mShowSecondaryUntMis = showSecondaryUntMis;
|
||||||
|
|
||||||
mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
@@ -111,8 +114,8 @@ public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter<Accett
|
|||||||
|
|
||||||
holder.mBinding.deactivatedOverBg.setVisibility(!pickingObjectDTO.isActive() ? View.VISIBLE : View.GONE);
|
holder.mBinding.deactivatedOverBg.setVisibility(!pickingObjectDTO.isActive() ? View.VISIBLE : View.GONE);
|
||||||
holder.mBinding.getRoot().setAlpha(!pickingObjectDTO.isActive() ? 0.8f : 1);
|
holder.mBinding.getRoot().setAlpha(!pickingObjectDTO.isActive() ? 0.8f : 1);
|
||||||
holder.mBinding.badge1.setBackground(mContext.getResources().getDrawable(!pickingObjectDTO.isActive() ? R.drawable.badge_gray_round_corner : R.drawable.badge1_round_corner));
|
holder.mBinding.badge1.setBackground(ResourcesCompat.getDrawable(mContext.getResources(), !pickingObjectDTO.isActive() ? R.drawable.badge_gray_round_corner : R.drawable.badge1_round_corner, null));
|
||||||
holder.mBinding.qtaEvasa.setTextColor(mContext.getResources().getColor(!pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.green_700));
|
holder.mBinding.qtaEvasa.setTextColor(ResourcesCompat.getColor(mContext.getResources(), !pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.green_700, null));
|
||||||
|
|
||||||
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
|
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
|
||||||
holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
|
holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
|
||||||
@@ -129,6 +132,17 @@ public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter<Accett
|
|||||||
holder.mBinding.untMis.setText(pickingObjectDTO.getUntMis());
|
holder.mBinding.untMis.setText(pickingObjectDTO.getUntMis());
|
||||||
holder.mBinding.untMis.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getUntMis()) ? View.GONE : View.VISIBLE);
|
holder.mBinding.untMis.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getUntMis()) ? View.GONE : View.VISIBLE);
|
||||||
|
|
||||||
|
//Secondary Unt Mis
|
||||||
|
holder.mBinding.secondaryUntMis.setVisibility(mShowSecondaryUntMis ? View.VISIBLE : View.GONE);
|
||||||
|
|
||||||
|
if(mShowSecondaryUntMis) {
|
||||||
|
holder.mBinding.secQtaEvasa.setText(UtilityNumber.decimalToString(pickingObjectDTO.getSecQtaEvasa()));
|
||||||
|
holder.mBinding.secQtaTot.setText(UtilityNumber.decimalToString(pickingObjectDTO.getSecQtaTot()));
|
||||||
|
|
||||||
|
holder.mBinding.secUntMis.setText(pickingObjectDTO.getSecUntMis());
|
||||||
|
holder.mBinding.secUntMis.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getSecUntMis()) ? View.GONE : View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
holder.mBinding.getRoot().setOnClickListener(v -> {
|
holder.mBinding.getRoot().setOnClickListener(v -> {
|
||||||
if (this.mOnItemClicked != null)
|
if (this.mOnItemClicked != null)
|
||||||
this.mOnItemClicked.run(pickingObjectDTO.getOriginalModel());
|
this.mOnItemClicked.run(pickingObjectDTO.getOriginalModel());
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ public class AccettazioneListModel implements Cloneable {
|
|||||||
private BigDecimal qtaEvasa;
|
private BigDecimal qtaEvasa;
|
||||||
private BigDecimal qtaTot;
|
private BigDecimal qtaTot;
|
||||||
private String untMis;
|
private String untMis;
|
||||||
|
private BigDecimal secQtaEvasa;
|
||||||
|
private BigDecimal secQtaTot;
|
||||||
|
private String secUntMis;
|
||||||
|
|
||||||
private boolean active;
|
private boolean active;
|
||||||
|
|
||||||
@@ -124,6 +127,33 @@ public class AccettazioneListModel implements Cloneable {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BigDecimal getSecQtaEvasa() {
|
||||||
|
return secQtaEvasa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AccettazioneListModel setSecQtaEvasa(BigDecimal secQtaEvasa) {
|
||||||
|
this.secQtaEvasa = secQtaEvasa;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getSecQtaTot() {
|
||||||
|
return secQtaTot;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AccettazioneListModel setSecQtaTot(BigDecimal secQtaTot) {
|
||||||
|
this.secQtaTot = secQtaTot;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSecUntMis() {
|
||||||
|
return secUntMis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AccettazioneListModel setSecUntMis(String secUntMis) {
|
||||||
|
this.secUntMis = secUntMis;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isActive() {
|
public boolean isActive() {
|
||||||
return active;
|
return active;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,12 +12,11 @@ import javax.inject.Inject;
|
|||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
|
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityQuery;
|
import it.integry.integrywmsnative.core.utility.UtilityQuery;
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
|
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class AccettazionePickingRESTConsumer {
|
public class AccettazionePickingRESTConsumer {
|
||||||
@@ -29,18 +28,18 @@ public class AccettazionePickingRESTConsumer {
|
|||||||
this.mSystemRestConsumer = systemRESTConsumer;
|
this.mSystemRestConsumer = systemRESTConsumer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getBancaliGiaRegistrati(List<SitArtOrdDTO> ordiniToShow, RunnableArgs<ArrayList<RecoverMtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
public void getBancaliGiaRegistrati(List<OrdineAccettazioneInevasoDTO> ordiniToShow, RunnableArgs<ArrayList<RecoverMtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
List<HashMap<String, Object>> whereCondListMap = new ArrayList<>();
|
List<HashMap<String, Object>> whereCondListMap = new ArrayList<>();
|
||||||
|
|
||||||
Stream
|
Stream
|
||||||
.of(ordiniToShow)
|
.of(ordiniToShow)
|
||||||
.distinctBy(x -> x.getDataOrd() + " " + x.getGestione() + " " + x.getNumOrd())
|
.distinctBy(x -> x.getData() + " " + x.getGestione() + " " + x.getNumero())
|
||||||
.forEach(x -> {
|
.forEach(x -> {
|
||||||
try {
|
try {
|
||||||
HashMap<String, Object> whereCondMap = new HashMap<>();
|
HashMap<String, Object> whereCondMap = new HashMap<>();
|
||||||
whereCondMap.put("mtb_colr.data_ord", UtilityDate.recognizeDate(x.getDataOrd()));
|
whereCondMap.put("mtb_colr.data_ord", UtilityDate.recognizeDate(x.getData()));
|
||||||
whereCondMap.put("mtb_colr.gestione", x.getGestione().equalsIgnoreCase("P") ? "L" : x.getGestione());
|
whereCondMap.put("mtb_colr.gestione", x.getGestione().equalsIgnoreCase("P") ? "L" : x.getGestione());
|
||||||
whereCondMap.put("mtb_colr.num_ord", x.getNumOrd());
|
whereCondMap.put("mtb_colr.num_ord", x.getNumero());
|
||||||
|
|
||||||
whereCondListMap.add(whereCondMap);
|
whereCondListMap.add(whereCondMap);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
@@ -134,17 +133,9 @@ public class AccettazionePickingRESTConsumer {
|
|||||||
|
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<RecoverMtbColt>>() {
|
Type typeOfObjectsList = new TypeToken<ArrayList<RecoverMtbColt>>() {
|
||||||
}.getType();
|
}.getType();
|
||||||
mSystemRestConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<RecoverMtbColt>>() {
|
mSystemRestConsumer.<ArrayList<RecoverMtbColt>>processSql(sql, typeOfObjectsList, value -> {
|
||||||
@Override
|
if (onComplete != null) onComplete.run(value);
|
||||||
public void onSuccess(ArrayList<RecoverMtbColt> value) {
|
}, onFailed);
|
||||||
if (onComplete != null) onComplete.run(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
if (onFailed != null) onFailed.run(ex);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import android.text.SpannableString;
|
|||||||
|
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.databinding.ObservableField;
|
import androidx.databinding.ObservableField;
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
@@ -24,7 +23,8 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleActivity;
|
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleActivity;
|
||||||
import it.integry.integrywmsnative.gest.contenuto_bancale.core.ContenutoBancaleListAdapter;
|
import it.integry.integrywmsnative.gest.contenuto_bancale.core.ContenutoBancaleListAdapter;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
|
|
||||||
import static android.app.Activity.RESULT_OK;
|
import static android.app.Activity.RESULT_OK;
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ public class ContenutoBancaleViewModel implements IRecyclerItemClicked<MtbColr>
|
|||||||
|
|
||||||
mContext.bindings.contenutoBancaleMainList.setLayoutManager(new LinearLayoutManager(mContext));
|
mContext.bindings.contenutoBancaleMainList.setLayoutManager(new LinearLayoutManager(mContext));
|
||||||
|
|
||||||
DividerItemDecoration itemDecorator = new DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL);
|
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(mContext, SimpleDividerItemDecoration.VERTICAL);
|
||||||
itemDecorator.setDrawable(ContextCompat.getDrawable(mContext, R.drawable.divider));
|
itemDecorator.setDrawable(ContextCompat.getDrawable(mContext, R.drawable.divider));
|
||||||
mContext.bindings.contenutoBancaleMainList.addItemDecoration(itemDecorator);
|
mContext.bindings.contenutoBancaleMainList.addItemDecoration(itemDecorator);
|
||||||
|
|
||||||
@@ -118,7 +118,9 @@ public class ContenutoBancaleViewModel implements IRecyclerItemClicked<MtbColr>
|
|||||||
|
|
||||||
Resources res = mContext.getResources();
|
Resources res = mContext.getResources();
|
||||||
String errorMessage = res.getText(R.string.alert_print_completed_message).toString();
|
String errorMessage = res.getText(R.string.alert_print_completed_message).toString();
|
||||||
DialogSimpleMessageHelper.makeSuccessDialog(mContext, res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null).show();
|
DialogSimpleMessageView
|
||||||
|
.makeSuccessDialog(res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null)
|
||||||
|
.show(mContext.getSupportFragmentManager(), "tag");
|
||||||
}, ex -> UtilityExceptions.defaultException(mContext, ex, progress));
|
}, ex -> UtilityExceptions.defaultException(mContext, ex, progress));
|
||||||
|
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
@@ -128,7 +130,9 @@ public class ContenutoBancaleViewModel implements IRecyclerItemClicked<MtbColr>
|
|||||||
} else {
|
} else {
|
||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
String errorMessage = "Nessuna stampante configurata";
|
String errorMessage = "Nessuna stampante configurata";
|
||||||
DialogSimpleMessageHelper.makeWarningDialog(mContext, new SpannableString(errorMessage), null, null).show();
|
DialogSimpleMessageView
|
||||||
|
.makeWarningDialog(new SpannableString(errorMessage), null, null)
|
||||||
|
.show(mContext.getSupportFragmentManager(), "tag");;
|
||||||
}
|
}
|
||||||
}, ex -> {
|
}, ex -> {
|
||||||
UtilityExceptions.defaultException(mContext, ex, progress);
|
UtilityExceptions.defaultException(mContext, ex, progress);
|
||||||
|
|||||||
@@ -2,22 +2,22 @@ package it.integry.integrywmsnative.gest.lista_bancali.viewmodel;
|
|||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
|
|
||||||
import androidx.databinding.ObservableArrayList;
|
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
import androidx.databinding.ObservableArrayList;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
|
||||||
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
|
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
|
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
|
||||||
import it.integry.integrywmsnative.gest.lista_bancali.core.MainListListaColliAdapter;
|
import it.integry.integrywmsnative.gest.lista_bancali.core.MainListListaColliAdapter;
|
||||||
|
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
||||||
|
|
||||||
public class ListaBancaliViewModel implements IRecyclerItemClicked<MtbColt> {
|
public class ListaBancaliViewModel implements IRecyclerItemClicked<MtbColt> {
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ public class ListaBancaliViewModel implements IRecyclerItemClicked<MtbColt> {
|
|||||||
mContext.bindings.listaColliMainList.setHasFixedSize(true);
|
mContext.bindings.listaColliMainList.setHasFixedSize(true);
|
||||||
mContext.bindings.listaColliMainList.setLayoutManager(new LinearLayoutManager(mContext));
|
mContext.bindings.listaColliMainList.setLayoutManager(new LinearLayoutManager(mContext));
|
||||||
|
|
||||||
DividerItemDecoration itemDecorator = new DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL);
|
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(mContext, SimpleDividerItemDecoration.VERTICAL);
|
||||||
itemDecorator.setDrawable(ContextCompat.getDrawable(mContext, R.drawable.divider));
|
itemDecorator.setDrawable(ContextCompat.getDrawable(mContext, R.drawable.divider));
|
||||||
mContext.bindings.listaColliMainList.addItemDecoration(itemDecorator);
|
mContext.bindings.listaColliMainList.addItemDecoration(itemDecorator);
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ public class ListaBancaliViewModel implements IRecyclerItemClicked<MtbColt> {
|
|||||||
ColliMagazzinoRESTConsumer.getByTestataStatic(item, mLoadOnlyResiduo, false, mtbColt -> {
|
ColliMagazzinoRESTConsumer.getByTestataStatic(item, mLoadOnlyResiduo, false, mtbColt -> {
|
||||||
|
|
||||||
ObservableArrayList<MtbColr> mtbColrObservableArrayList = new ObservableArrayList<>();
|
ObservableArrayList<MtbColr> mtbColrObservableArrayList = new ObservableArrayList<>();
|
||||||
mtbColrObservableArrayList.addAll(mtbColt.getMtbColr());
|
if(mtbColt != null && mtbColt.getMtbColr() != null) mtbColrObservableArrayList.addAll(mtbColt.getMtbColr());
|
||||||
item.setMtbColr(mtbColrObservableArrayList);
|
item.setMtbColr(mtbColrObservableArrayList);
|
||||||
|
|
||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import it.integry.integrywmsnative.gest.login.LoginActivity;
|
|||||||
import it.integry.integrywmsnative.gest.login.core.LoginHelper;
|
import it.integry.integrywmsnative.gest.login.core.LoginHelper;
|
||||||
import it.integry.integrywmsnative.gest.login.dto.LoginAziendaDTO;
|
import it.integry.integrywmsnative.gest.login.dto.LoginAziendaDTO;
|
||||||
import it.integry.integrywmsnative.gest.login.dto.LoginDTO;
|
import it.integry.integrywmsnative.gest.login.dto.LoginDTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
|
|
||||||
public class LoginViewModel {
|
public class LoginViewModel {
|
||||||
|
|
||||||
@@ -192,22 +192,22 @@ public class LoginViewModel {
|
|||||||
private void onLoginFailed(final Spanned message){
|
private void onLoginFailed(final Spanned message){
|
||||||
mProgress.dismiss();
|
mProgress.dismiss();
|
||||||
loginButtonEnabled.set(true);
|
loginButtonEnabled.set(true);
|
||||||
mActivity.runOnUiThread(() -> DialogSimpleMessageHelper.makeErrorDialog(
|
mActivity.runOnUiThread(() -> DialogSimpleMessageView.makeErrorDialog(
|
||||||
mActivity,
|
|
||||||
message,
|
message,
|
||||||
null,
|
null,
|
||||||
null).show());
|
null)
|
||||||
|
.show(mActivity.getSupportFragmentManager(), "tag"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void onLoginSuccess(final String title, final Spanned message, final String host, final int port, final List<String> availableProfiles){
|
private void onLoginSuccess(final String title, final Spanned message, final String host, final int port, final List<String> availableProfiles){
|
||||||
mProgress.dismiss();
|
mProgress.dismiss();
|
||||||
mActivity.runOnUiThread(() -> DialogSimpleMessageHelper.makeSuccessDialog(
|
mActivity.runOnUiThread(() -> DialogSimpleMessageView.makeSuccessDialog(
|
||||||
mActivity,
|
|
||||||
title,
|
title,
|
||||||
message,
|
message,
|
||||||
null,
|
null,
|
||||||
() -> showProfileDBSelectionDialog(host, port, availableProfiles)).show());
|
() -> showProfileDBSelectionDialog(host, port, availableProfiles))
|
||||||
|
.show(mActivity.getSupportFragmentManager(), "tag"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showProfileDBSelectionDialog(final String host, final int port, final List<String> availableProfiles){
|
private void showProfileDBSelectionDialog(final String host, final int port, final List<String> availableProfiles){
|
||||||
|
|||||||
@@ -7,11 +7,15 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.widget.AppCompatTextView;
|
import androidx.appcompat.widget.AppCompatTextView;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.recyclerview.widget.GridLayoutManager;
|
import androidx.recyclerview.widget.GridLayoutManager;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -34,6 +38,7 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
|||||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDimension;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
@@ -50,7 +55,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
|||||||
|
|
||||||
private FragmentMainBinding mBindings;
|
private FragmentMainBinding mBindings;
|
||||||
|
|
||||||
private List<Runnable> mOnPreDestroyList = new ArrayList<>();
|
private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
|
||||||
private ElevatedToolbar mToolbar;
|
private ElevatedToolbar mToolbar;
|
||||||
|
|
||||||
private LayoutInflater mLayoutInflater;
|
private LayoutInflater mLayoutInflater;
|
||||||
@@ -68,7 +73,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
setRetainInstance(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -78,13 +83,19 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
|||||||
|
|
||||||
mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_main, container, false);
|
mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_main, container, false);
|
||||||
|
|
||||||
|
|
||||||
|
return mBindings.getRoot();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewCreated(@NonNull @NotNull View view, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
|
||||||
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
|
||||||
mToolbar.setNestedScrollView(mBindings.fragmentMainScrollview);
|
mToolbar.setNestedScrollView(mBindings.fragmentMainScrollview);
|
||||||
|
|
||||||
init();
|
init();
|
||||||
initGestMenu();
|
initGestMenu();
|
||||||
initVersion();
|
initVersion();
|
||||||
|
|
||||||
return mBindings.getRoot();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -128,7 +139,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
|||||||
|
|
||||||
List<Exception> generatedErrors = new ArrayList<>();
|
List<Exception> generatedErrors = new ArrayList<>();
|
||||||
|
|
||||||
Iterator sessionsIterator = ColliDataRecover.getAllSessionIDs().iterator();
|
Iterator<Integer> sessionsIterator = ColliDataRecover.getAllSessionIDs().iterator();
|
||||||
|
|
||||||
cyclicRecover(sessionsIterator, () -> {
|
cyclicRecover(sessionsIterator, () -> {
|
||||||
|
|
||||||
@@ -210,21 +221,11 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
|||||||
titleText.setText(context.getText(R.string.app_name).toString());
|
titleText.setText(context.getText(R.string.app_name).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
|
|
||||||
this.mOnPreDestroyList.add(onActionBarPreDestroy);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setScrollToolbar(ElevatedToolbar toolbar) {
|
public void setScrollToolbar(ElevatedToolbar toolbar) {
|
||||||
mToolbar = toolbar;
|
mToolbar = toolbar;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setScrollableOnPreDestroy(Runnable onPreDestroy) {
|
|
||||||
mOnPreDestroyList.add(onPreDestroy);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void initGestMenu() {
|
private void initGestMenu() {
|
||||||
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
|
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
|
||||||
@@ -235,6 +236,10 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
|||||||
BaseMenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION);
|
BaseMenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION);
|
||||||
List<MenuConfiguration.MenuGroup> menuGroups = menuConfiguration.getGroups();
|
List<MenuConfiguration.MenuGroup> menuGroups = menuConfiguration.getGroups();
|
||||||
|
|
||||||
|
int menuSpanCount = 2;
|
||||||
|
if(UtilityDimension.getDisplayInchs(this.getActivity()) > 8) menuSpanCount = 4;
|
||||||
|
else if(UtilityDimension.getDisplayInchs(this.getActivity()) > 6.5) menuSpanCount = 3;
|
||||||
|
|
||||||
for (MenuConfiguration.MenuGroup menuGroup : menuGroups) {
|
for (MenuConfiguration.MenuGroup menuGroup : menuGroups) {
|
||||||
FragmentMainMenuGroupLayoutBinding groupBinding = DataBindingUtil.inflate(mLayoutInflater, R.layout.fragment_main_menu_group_layout, null, false);
|
FragmentMainMenuGroupLayoutBinding groupBinding = DataBindingUtil.inflate(mLayoutInflater, R.layout.fragment_main_menu_group_layout, null, false);
|
||||||
|
|
||||||
@@ -243,7 +248,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
|||||||
|
|
||||||
MenuListAdapter menuListAdapter = new MenuListAdapter(getContext(), menuGroup.getItems());
|
MenuListAdapter menuListAdapter = new MenuListAdapter(getContext(), menuGroup.getItems());
|
||||||
|
|
||||||
groupBinding.mainList.setLayoutManager(new GridLayoutManager(getContext(), 2));
|
groupBinding.mainList.setLayoutManager(new GridLayoutManager(getContext(), menuSpanCount));
|
||||||
groupBinding.mainList.setAdapter(menuListAdapter);
|
groupBinding.mainList.setAdapter(menuListAdapter);
|
||||||
groupBinding.mainList.setNestedScrollingEnabled(false);
|
groupBinding.mainList.setNestedScrollingEnabled(false);
|
||||||
|
|
||||||
@@ -264,4 +269,9 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
|||||||
String appVersion = UtilityResources.getAppVersion();
|
String appVersion = UtilityResources.getAppVersion();
|
||||||
mBindings.currentAppVersionName.setText("v" + appVersion);
|
mBindings.currentAppVersionName.setText("v" + appVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addOnPreDestroy(Runnable onPreDestroy) {
|
||||||
|
this.mOnPreDestroyList.add(onPreDestroy);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ package it.integry.integrywmsnative.gest.main;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.MenuItem;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.core.content.res.ResourcesCompat;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -42,7 +42,7 @@ public class MenuListAdapter extends RecyclerView.Adapter<MenuListAdapter.ViewHo
|
|||||||
// binds the data to the TextView in each cell
|
// binds the data to the TextView in each cell
|
||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
||||||
holder.mIcon.setImageDrawable(mContext.getResources().getDrawable(mDataset.get(position).getTitleIcon(), null));
|
holder.mIcon.setImageDrawable(ResourcesCompat.getDrawable(mContext.getResources(), mDataset.get(position).getTitleIcon(), null));
|
||||||
holder.mTitle.setText(mContext.getResources().getString(mDataset.get(position).getTitleText()));
|
holder.mTitle.setText(mContext.getResources().getString(mDataset.get(position).getTitleText()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package it.integry.integrywmsnative.gest.ordini_uscita_elenco;
|
package it.integry.integrywmsnative.gest.ordini_uscita_elenco;
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
@@ -8,12 +7,10 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.appcompat.widget.AppCompatTextView;
|
import androidx.appcompat.widget.AppCompatTextView;
|
||||||
|
import androidx.core.content.res.ResourcesCompat;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableArrayList;
|
import androidx.databinding.ObservableArrayList;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import com.annimon.stream.ComparatorCompat;
|
import com.annimon.stream.ComparatorCompat;
|
||||||
@@ -24,15 +21,20 @@ import java.util.List;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||||
import it.integry.integrywmsnative.MainApplication;
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
|
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.BaseFragment;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ILifecycleFragment;
|
|
||||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
|
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
||||||
@@ -40,17 +42,17 @@ import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
|||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
|
||||||
import it.integry.integrywmsnative.databinding.FragmentMainOrdiniUscitaBinding;
|
import it.integry.integrywmsnative.databinding.FragmentMainOrdiniUscitaBinding;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs.DialogVenditaFiltroAvanzato;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs.DialogVenditaFiltroAvanzatoView;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs.DialogVenditaFiltroAvanzatoViewModel;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs.DialogVenditaFiltroAvanzatoViewModel;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.list.OrdiniUscitaElencoAdapter;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.list.OrdiniUscitaElencoAdapter;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.list.OrdiniUscitaElencoListModel;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.list.OrdiniUscitaElencoListModel;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneActivity;
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneActivity;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView;
|
||||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
|
|
||||||
public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragment, ILifecycleFragment, IScrollableFragment, ISelectAllFragment, IFilterableFragment, OrdiniUscitaElencoViewModel.Listener {
|
public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledFragment, IScrollableFragment, ISelectAllFragment, IFilterableFragment, OrdiniUscitaElencoViewModel.Listener {
|
||||||
|
|
||||||
public BindableBoolean fabVisible = new BindableBoolean(false);
|
public BindableBoolean fabVisible = new BindableBoolean(false);
|
||||||
|
|
||||||
@@ -59,31 +61,34 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
|
|
||||||
private FragmentMainOrdiniUscitaBinding mBindings = null;
|
private FragmentMainOrdiniUscitaBinding mBindings = null;
|
||||||
|
|
||||||
private ObservableArrayList<OrdiniUscitaElencoListModel> mOrdiniInevasiMutableData = new ObservableArrayList<>();
|
private final ObservableArrayList<OrdiniUscitaElencoListModel> mOrdiniInevasiMutableData = new ObservableArrayList<>();
|
||||||
|
|
||||||
private GestioneEnum mCurrentGestioneOrd = null;
|
private GestioneEnum mCurrentGestioneOrd = null;
|
||||||
private GestioneEnum mCurrentGestioneCol = null;
|
private GestioneEnum mCurrentGestioneCol = null;
|
||||||
private int mCurrentSegnoCol = 0;
|
private int mCurrentSegnoCol = 0;
|
||||||
|
private Class<? extends BaseDialogRowInfoView> mDialogRowInfo;
|
||||||
|
|
||||||
private ElevatedToolbar mToolbar;
|
private ElevatedToolbar mToolbar;
|
||||||
private List<Runnable> mOnPreDestroyList = new ArrayList<>();
|
private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
|
||||||
|
|
||||||
private int barcodeScannerIstanceID = -1;
|
private int barcodeScannerIstanceID = -1;
|
||||||
private Dialog mCurrentProgress;
|
|
||||||
|
|
||||||
|
|
||||||
public OrdiniUscitaElencoFragment() {
|
public OrdiniUscitaElencoFragment() {
|
||||||
// Required empty public constructor
|
// Required empty public constructor
|
||||||
}
|
}
|
||||||
|
|
||||||
public static OrdiniUscitaElencoFragment newInstance(GestioneEnum gestioneOrd, GestioneEnum gestioneCol, int segnoCol) {
|
public static OrdiniUscitaElencoFragment newInstance(GestioneEnum gestioneOrd, GestioneEnum gestioneCol, int segnoCol, Class<? extends BaseDialogRowInfoView> dialogRowInfo) {
|
||||||
OrdiniUscitaElencoFragment fragment = new OrdiniUscitaElencoFragment();
|
OrdiniUscitaElencoFragment fragment = new OrdiniUscitaElencoFragment();
|
||||||
Bundle args = new Bundle();
|
Bundle args = new Bundle();
|
||||||
|
|
||||||
args.putString("gestioneOrd", gestioneOrd.getText());
|
args.putString("gestioneOrd", gestioneOrd.getText());
|
||||||
args.putString("gestioneCol", gestioneCol.getText());
|
args.putString("gestioneCol", gestioneCol != null ? gestioneCol.getText() : null);
|
||||||
args.putInt("segnoCol", segnoCol);
|
args.putInt("segnoCol", segnoCol);
|
||||||
|
|
||||||
|
String keyDialogRowInfo = DataCache.addItem(dialogRowInfo);
|
||||||
|
args.putString("keyDialogRowInfo", keyDialogRowInfo);
|
||||||
|
|
||||||
fragment.setArguments(args);
|
fragment.setArguments(args);
|
||||||
return fragment;
|
return fragment;
|
||||||
}
|
}
|
||||||
@@ -92,8 +97,12 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
mCurrentGestioneOrd = GestioneEnum.fromString(getArguments().getString("gestioneOrd"));
|
mCurrentGestioneOrd = GestioneEnum.fromString(getArguments().getString("gestioneOrd"));
|
||||||
mCurrentGestioneCol = GestioneEnum.fromString(getArguments().getString("gestioneCol"));
|
String gestioneCol = getArguments().getString("gestioneCol");
|
||||||
|
mCurrentGestioneCol = gestioneCol != null ? GestioneEnum.fromString(gestioneCol) : null;
|
||||||
mCurrentSegnoCol = getArguments().getInt("segnoCol");
|
mCurrentSegnoCol = getArguments().getInt("segnoCol");
|
||||||
|
|
||||||
|
String keyDialogRowInfo = getArguments().getString("keyDialogRowInfo");
|
||||||
|
mDialogRowInfo = DataCache.retrieveItem(keyDialogRowInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -114,30 +123,41 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
mBindings.setViewmodel(mViewModel);
|
mBindings.setViewmodel(mViewModel);
|
||||||
|
|
||||||
this.initRecyclerView();
|
this.initRecyclerView();
|
||||||
|
this.initBarcodeReader();
|
||||||
|
|
||||||
return mBindings.getRoot();
|
return mBindings.getRoot();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
public void onStart() {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onStart();
|
||||||
|
|
||||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
mViewModel.init(codMdep, mCurrentGestioneOrd, mCurrentGestioneCol, mCurrentSegnoCol);
|
mViewModel.init(codMdep, mCurrentGestioneOrd, mCurrentGestioneCol, mCurrentSegnoCol);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
||||||
|
|
||||||
|
for (Runnable onPreDestroy : mOnPreDestroyList) {
|
||||||
|
onPreDestroy.run();
|
||||||
|
}
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
private void initRecyclerView() {
|
private void initRecyclerView() {
|
||||||
|
|
||||||
boolean canSelectMultipleOrdini = SettingsManager.iDB().isFlagSpedizioneCanSelectMultipleOrders();
|
boolean canSelectMultipleOrdini = SettingsManager.iDB().isFlagSpedizioneCanSelectMultipleOrders();
|
||||||
boolean canSelectMultipleClienti = SettingsManager.iDB().isFlagMultiClienteOrdV();
|
boolean canSelectMultipleClienti = SettingsManager.iDB().isFlagMultiClienteOrdV();
|
||||||
|
|
||||||
this.mViewModel.getOrderList().observe(getViewLifecycleOwner(), this::refreshList);
|
this.mViewModel.getOrderList().observe(getViewLifecycleOwner(), v -> this.refreshList(null));
|
||||||
|
|
||||||
OrdiniUscitaElencoAdapter ordiniUscitaElencoAdapter =
|
OrdiniUscitaElencoAdapter ordiniUscitaElencoAdapter =
|
||||||
new OrdiniUscitaElencoAdapter(getActivity(), mOrdiniInevasiMutableData)
|
new OrdiniUscitaElencoAdapter(getActivity(), mOrdiniInevasiMutableData)
|
||||||
.setEmptyView(this.mBindings.ordiniVenditaEmptyView)
|
.setEmptyView(this.mBindings.ordiniVenditaEmptyView)
|
||||||
.setOnGroupItemClicked(x -> {
|
.setOnGroupItemClicked(x -> {
|
||||||
if(!canSelectMultipleClienti) {
|
if (!canSelectMultipleClienti) {
|
||||||
Stream.of(mOrdiniInevasiMutableData)
|
Stream.of(mOrdiniInevasiMutableData)
|
||||||
.filter(y -> !y.getGroupTitle().equalsIgnoreCase(x) && y.getSelectedObservable().get())
|
.filter(y -> !y.getGroupTitle().equalsIgnoreCase(x) && y.getSelectedObservable().get())
|
||||||
.forEach(y -> y.getSelectedObservable().set(false));
|
.forEach(y -> y.getSelectedObservable().set(false));
|
||||||
@@ -152,7 +172,7 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
.forEach(y -> y.getSelectedObservable().set(!allSelected));
|
.forEach(y -> y.getSelectedObservable().set(!allSelected));
|
||||||
})
|
})
|
||||||
.setOnItemChecked(x -> {
|
.setOnItemChecked(x -> {
|
||||||
if(!canSelectMultipleClienti && x.getSelectedObservable().get()) {
|
if (!canSelectMultipleClienti && x.getSelectedObservable().get()) {
|
||||||
Stream.of(mOrdiniInevasiMutableData)
|
Stream.of(mOrdiniInevasiMutableData)
|
||||||
.filter(y -> !y.getGroupTitle().equalsIgnoreCase(x.getGroupTitle()) && y.getSelectedObservable().get())
|
.filter(y -> !y.getGroupTitle().equalsIgnoreCase(x.getGroupTitle()) && y.getSelectedObservable().get())
|
||||||
.forEach(y -> y.getSelectedObservable().set(false));
|
.forEach(y -> y.getSelectedObservable().set(false));
|
||||||
@@ -165,19 +185,50 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
this.mBindings.venditaMainList.setAdapter(ordiniUscitaElencoAdapter);
|
this.mBindings.venditaMainList.setAdapter(ordiniUscitaElencoAdapter);
|
||||||
this.mBindings.venditaMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
|
this.mBindings.venditaMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||||
|
|
||||||
if(mToolbar != null)
|
if (mToolbar != null)
|
||||||
mToolbar.setRecyclerView(this.mBindings.venditaMainList);
|
mToolbar.setRecyclerView(this.mBindings.venditaMainList);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshList(List<OrdiniUscitaElencoDTO> orderList) {
|
private void initBarcodeReader() {
|
||||||
|
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||||
|
.setOnScanSuccessfull(onScanSuccessful)
|
||||||
|
.setOnScanFailed(ex -> UtilityExceptions.defaultException(getActivity(), ex, false)));
|
||||||
|
|
||||||
|
BarcodeManager.enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
||||||
|
BarcodeManager.disable();
|
||||||
|
this.openProgress();
|
||||||
|
|
||||||
|
this.mViewModel.processBarcodeDTO(data, () -> {
|
||||||
|
BarcodeManager.enable();
|
||||||
|
this.closeProgress();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
private void refreshList(List<OrdiniUscitaElencoDTO> filteredList) {
|
||||||
|
List<OrdiniUscitaElencoDTO> tmpList = null;
|
||||||
|
|
||||||
|
if(filteredList != null) {
|
||||||
|
tmpList = filteredList;
|
||||||
|
} else if (mAppliedFilterViewModel != null) {
|
||||||
|
mAppliedFilterViewModel.init(mViewModel.getOrderList().getValue());
|
||||||
|
mAppliedFilterViewModel.applyAllTests();
|
||||||
|
tmpList = mAppliedFilterViewModel.getMutableFilteredOrderList().getValue();
|
||||||
|
} else {
|
||||||
|
tmpList = mViewModel.getOrderList().getValue();
|
||||||
|
}
|
||||||
|
|
||||||
this.mOrdiniInevasiMutableData.clear();
|
this.mOrdiniInevasiMutableData.clear();
|
||||||
this.mOrdiniInevasiMutableData.addAll(convertDataModelToListModel(orderList));
|
this.mOrdiniInevasiMutableData.addAll(convertDataModelToListModel(tmpList));
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<OrdiniUscitaElencoListModel> convertDataModelToListModel(List<OrdiniUscitaElencoDTO> dataList) {
|
private List<OrdiniUscitaElencoListModel> convertDataModelToListModel(List<OrdiniUscitaElencoDTO> dataList) {
|
||||||
|
|
||||||
ComparatorCompat<OrdiniUscitaElencoDTO> comparator = ComparatorCompat
|
ComparatorCompat<OrdiniUscitaElencoDTO> comparator = ComparatorCompat
|
||||||
.comparing(OrdiniUscitaElencoDTO::getRagSocOrd)
|
.comparing(OrdiniUscitaElencoDTO::getRagSocOrd)
|
||||||
|
.thenComparing(ComparatorCompat.comparing(x -> x.getDestinatario() != null ? x.getDestinatario() : "zzzzzzzzz"))
|
||||||
.thenComparing(ComparatorCompat.comparing(OrdiniUscitaElencoDTO::getNumOrd));
|
.thenComparing(ComparatorCompat.comparing(OrdiniUscitaElencoDTO::getNumOrd));
|
||||||
|
|
||||||
List<OrdiniUscitaElencoListModel> notHiddenElements = Stream.of(dataList)
|
List<OrdiniUscitaElencoListModel> notHiddenElements = Stream.of(dataList)
|
||||||
@@ -186,6 +237,14 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
.map(x -> {
|
.map(x -> {
|
||||||
OrdiniUscitaElencoListModel listModel = new OrdiniUscitaElencoListModel();
|
OrdiniUscitaElencoListModel listModel = new OrdiniUscitaElencoListModel();
|
||||||
|
|
||||||
|
if (x.isFlagEvaso()) {
|
||||||
|
listModel.setEtichettaColor(ResourcesCompat.getColor(getResources(), R.color.mainGreen, null));
|
||||||
|
} else if (x.isExistColloBoolean()) {
|
||||||
|
listModel.setEtichettaColor(ResourcesCompat.getColor(getResources(), R.color.colorPrimary, null));
|
||||||
|
} else {
|
||||||
|
listModel.setEtichettaColor(ResourcesCompat.getColor(getResources(), android.R.color.transparent, null));
|
||||||
|
}
|
||||||
|
|
||||||
listModel.setGroupTitle(x.getRagSocOrd());
|
listModel.setGroupTitle(x.getRagSocOrd());
|
||||||
|
|
||||||
String testataOrdString = String.format(getString(R.string.ord_ven_testata), String.valueOf(x.getNumOrd()), UtilityDate.formatDate(x.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
String testataOrdString = String.format(getString(R.string.ord_ven_testata), String.valueOf(x.getNumOrd()), UtilityDate.formatDate(x.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||||
@@ -212,56 +271,22 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
.forEach(x -> x.getSelectedObservable().set(false));
|
.forEach(x -> x.getSelectedObservable().set(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPreDestroy(Runnable onComplete) {
|
|
||||||
for (Runnable onPreDestroy : mOnPreDestroyList) {
|
|
||||||
onPreDestroy.run();
|
|
||||||
}
|
|
||||||
|
|
||||||
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
|
||||||
onComplete.run();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
|
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
|
||||||
titleText.setText(context.getText(R.string.prod_ordine_lavorazione_title_fragment).toString());
|
titleText.setText(context.getText(R.string.prod_ordine_lavorazione_title_fragment).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
|
|
||||||
this.mOnPreDestroyList.add(onActionBarPreDestroy);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void dispatchOrders() {
|
public void dispatchOrders() {
|
||||||
|
|
||||||
List<OrdiniUscitaElencoDTO> selectedOrders = Stream.of(this.mOrdiniInevasiMutableData)
|
List<OrdiniUscitaElencoDTO> selectedOrders = Stream.of(this.mOrdiniInevasiMutableData)
|
||||||
.filter(x -> x.getSelectedObservable().get())
|
.filter(x -> x.getSelectedObservable().get())
|
||||||
.map(OrdiniUscitaElencoListModel::getOriginalModel)
|
.map(OrdiniUscitaElencoListModel::getOriginalModel)
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
this.mViewModel.loadPicking(selectedOrders);
|
this.mViewModel.loadPicking(selectedOrders);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void openProgress() {
|
|
||||||
getActivity().runOnUiThread(() -> {
|
|
||||||
if (this.mCurrentProgress == null) {
|
|
||||||
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private void closeProgress() {
|
|
||||||
getActivity().runOnUiThread(() -> {
|
|
||||||
if (mCurrentProgress != null) {
|
|
||||||
mCurrentProgress.dismiss();
|
|
||||||
mCurrentProgress = null;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoadingStarted() {
|
public void onLoadingStarted() {
|
||||||
BarcodeManager.disable();
|
BarcodeManager.disable();
|
||||||
@@ -281,6 +306,11 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onOrderFiltered(List<OrdiniUscitaElencoDTO> filteredOrders) {
|
||||||
|
refreshList(filteredOrders);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts) {
|
public void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts) {
|
||||||
List<String> codMarts = Stream.of(sitArts)
|
List<String> codMarts = Stream.of(sitArts)
|
||||||
@@ -290,16 +320,15 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
|
|
||||||
int alreadyRegisteredUL = alreadyRegisteredMtbColts.size();
|
int alreadyRegisteredUL = alreadyRegisteredMtbColts.size();
|
||||||
|
|
||||||
DialogSimpleMessageHelper.makeInfoDialog(getActivity(),
|
DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(),
|
||||||
getText(R.string.orders).toString(),
|
|
||||||
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, orders.size()), orders.size())
|
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, orders.size()), orders.size())
|
||||||
+ "<br />" +
|
+ "<br />" +
|
||||||
"<b>" + codMarts.size() + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, codMarts.size())
|
"<b>" + codMarts.size() + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, codMarts.size())
|
||||||
+ "<br />" +
|
+ "<br />" +
|
||||||
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
|
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
|
||||||
null,
|
null,
|
||||||
() -> SpedizioneActivity.startActivity(getActivity(), sitArts, orders, alreadyRegisteredMtbColts, mCurrentGestioneCol, mCurrentSegnoCol)
|
() -> SpedizioneActivity.startActivity(getActivity(), sitArts, orders, alreadyRegisteredMtbColts, mCurrentGestioneCol, mCurrentSegnoCol, MtbColr.Causale.DEFAULT, mDialogRowInfo)
|
||||||
).show();
|
).show(getActivity().getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -307,11 +336,6 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
mToolbar = toolbar;
|
mToolbar = toolbar;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setScrollableOnPreDestroy(Runnable onPreDestroy) {
|
|
||||||
this.mOnPreDestroyList.add(onPreDestroy);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isSelectAllButtonEnabled() {
|
public boolean isSelectAllButtonEnabled() {
|
||||||
return SettingsManager.iDB().isFlagMultiClienteOrdV();
|
return SettingsManager.iDB().isFlagMultiClienteOrdV();
|
||||||
@@ -327,28 +351,26 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
.forEach(x -> x.getSelectedObservable().set(!allSelected));
|
.forEach(x -> x.getSelectedObservable().set(!allSelected));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setSelectAllOnPreDestroy(Runnable onPreDestroy) {
|
|
||||||
this.mOnPreDestroyList.add(onPreDestroy);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private DialogVenditaFiltroAvanzatoViewModel mAppliedFilterViewModel;
|
private DialogVenditaFiltroAvanzatoViewModel mAppliedFilterViewModel;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFilterClick() {
|
public void onFilterClick() {
|
||||||
DialogVenditaFiltroAvanzato.make(
|
DialogVenditaFiltroAvanzatoView.make(
|
||||||
getActivity(),
|
getActivity(),
|
||||||
this.mViewModel.getOrderList().getValue(),
|
this.mViewModel.getOrderList().getValue(),
|
||||||
mAppliedFilterViewModel,
|
mAppliedFilterViewModel,
|
||||||
|
|
||||||
(filteredOrderList, filter) -> {
|
filter -> {
|
||||||
mAppliedFilterViewModel = filter;
|
|
||||||
|
|
||||||
if(filteredOrderList != null){
|
mAppliedFilterViewModel = filter;
|
||||||
refreshList(filteredOrderList);
|
refreshList(null);
|
||||||
}
|
|
||||||
|
|
||||||
}).show();
|
}).show();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addOnPreDestroy(Runnable onPreDestroy) {
|
||||||
|
this.mOnPreDestroyList.add(onPreDestroy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,26 @@
|
|||||||
package it.integry.integrywmsnative.gest.ordini_uscita_elenco;
|
package it.integry.integrywmsnative.gest.ordini_uscita_elenco;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.rest.OrdiniUscitaElencoRESTConsumer;
|
||||||
|
|
||||||
@Module(subcomponents = OrdiniUscitaElencoComponent.class)
|
@Module(subcomponents = OrdiniUscitaElencoComponent.class)
|
||||||
public class OrdiniUscitaElencoModule {
|
public class OrdiniUscitaElencoModule {
|
||||||
|
|
||||||
|
@Singleton
|
||||||
@Provides
|
@Provides
|
||||||
OrdiniUscitaElencoViewModel providesProdOrdineLavorazioneElencoViewModel(OrdiniRESTConsumer ordiniRESTConsumer) {
|
OrdiniUscitaElencoRESTConsumer providesOrdiniUscitaElencoRESTConsumer() {
|
||||||
return new OrdiniUscitaElencoViewModel(ordiniRESTConsumer);
|
return new OrdiniUscitaElencoRESTConsumer();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
OrdiniUscitaElencoViewModel providesProdOrdineLavorazioneElencoViewModel(OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, OrdiniUscitaElencoRESTConsumer ordiniUscitaElencoRESTConsumer) {
|
||||||
|
return new OrdiniUscitaElencoViewModel(ordiniRESTConsumer, colliMagazzinoRESTConsumer, barcodeRESTConsumer, ordiniUscitaElencoRESTConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,25 +4,43 @@ import androidx.lifecycle.MutableLiveData;
|
|||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||||
|
import it.integry.integrywmsnative.core.exception.InvalidLUGestioneException;
|
||||||
import it.integry.integrywmsnative.core.exception.InvalidLUMultiCodMdepException;
|
import it.integry.integrywmsnative.core.exception.InvalidLUMultiCodMdepException;
|
||||||
import it.integry.integrywmsnative.core.exception.InvalidLUMultiGestioneException;
|
import it.integry.integrywmsnative.core.exception.InvalidLUMultiGestioneException;
|
||||||
|
import it.integry.integrywmsnative.core.exception.NoLUFoundException;
|
||||||
|
import it.integry.integrywmsnative.core.exception.NoOrderFoundException;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||||
|
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.OrdineInevasoDTO;
|
import it.integry.integrywmsnative.core.model.OrdineInevasoDTO;
|
||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
||||||
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.rest.OrdiniUscitaElencoRESTConsumer;
|
||||||
|
|
||||||
public class OrdiniUscitaElencoViewModel {
|
public class OrdiniUscitaElencoViewModel {
|
||||||
|
|
||||||
private final MutableLiveData<List<OrdiniUscitaElencoDTO>> mOrderList = new MutableLiveData<>();
|
private final MutableLiveData<List<OrdiniUscitaElencoDTO>> mOrderList = new MutableLiveData<>();
|
||||||
|
|
||||||
private final OrdiniRESTConsumer mOrdiniRESTConsumer;
|
private final OrdiniRESTConsumer mOrdiniRESTConsumer;
|
||||||
|
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
|
||||||
|
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
|
||||||
|
private final OrdiniUscitaElencoRESTConsumer mOrdiniUscitaElencoRESTConsumer;
|
||||||
|
|
||||||
private Listener mListener;
|
private Listener mListener;
|
||||||
private String mCurrentCodMdep;
|
private String mCurrentCodMdep;
|
||||||
private GestioneEnum mCurrentGestioneOrd;
|
private GestioneEnum mCurrentGestioneOrd;
|
||||||
@@ -30,8 +48,11 @@ public class OrdiniUscitaElencoViewModel {
|
|||||||
private int mCurrentSegnoCol;
|
private int mCurrentSegnoCol;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public OrdiniUscitaElencoViewModel(OrdiniRESTConsumer ordiniRESTConsumer) {
|
public OrdiniUscitaElencoViewModel(OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, OrdiniUscitaElencoRESTConsumer ordiniUscitaElencoRESTConsumer) {
|
||||||
this.mOrdiniRESTConsumer = ordiniRESTConsumer;
|
this.mOrdiniRESTConsumer = ordiniRESTConsumer;
|
||||||
|
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
|
||||||
|
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||||
|
this.mOrdiniUscitaElencoRESTConsumer = ordiniUscitaElencoRESTConsumer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -121,6 +142,118 @@ public class OrdiniUscitaElencoViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||||
|
|
||||||
|
RunnableArgs<List<OrdiniUscitaElencoDTO>> onBarcodeScanComplete = orderList -> {
|
||||||
|
onComplete.run();
|
||||||
|
this.sendOnOrderFiltered(orderList);
|
||||||
|
};
|
||||||
|
|
||||||
|
if(UtilityBarcode.isBarcodeOrdineV(barcodeScanDTO)) {
|
||||||
|
this.executeEtichettaOrdineV(barcodeScanDTO.getStringValue(), onBarcodeScanComplete);
|
||||||
|
} else if(UtilityBarcode.isEtichettaAnonima(barcodeScanDTO)) {
|
||||||
|
this.executeEtichettaLU(barcodeScanDTO.getStringValue(), onBarcodeScanComplete);
|
||||||
|
} else if(UtilityBarcode.isEtichetta128(barcodeScanDTO)){
|
||||||
|
this.executeEtichettaEan128(barcodeScanDTO, onBarcodeScanComplete);
|
||||||
|
} else {
|
||||||
|
onComplete.run();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void executeEtichettaOrdineV(String barcode, RunnableArgs<List<OrdiniUscitaElencoDTO>> onComplete) {
|
||||||
|
String gestione = "";
|
||||||
|
|
||||||
|
char c = barcode.charAt(0);
|
||||||
|
if (c == '1')
|
||||||
|
gestione = "A";
|
||||||
|
else if (c == '2')
|
||||||
|
gestione = "L";
|
||||||
|
else if (c == '3')
|
||||||
|
gestione = "V";
|
||||||
|
|
||||||
|
int numOrd = Integer.parseInt(UtilityString.mid(barcode, 10));
|
||||||
|
|
||||||
|
Date date = null;
|
||||||
|
try {
|
||||||
|
date = new SimpleDateFormat("ddMMyyyy")
|
||||||
|
.parse(UtilityString.mid(barcode, 2, 8));
|
||||||
|
} catch (ParseException ex) {
|
||||||
|
this.sendError(ex);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
final String finalGestione = gestione;
|
||||||
|
final Date finalDate = date;
|
||||||
|
|
||||||
|
List<OrdiniUscitaElencoDTO> filteredOrders = Stream.of(mOrderList.getValue())
|
||||||
|
.filter(x -> x.getNumOrd() == numOrd && x.getGestione().equalsIgnoreCase(finalGestione) && x.getDataOrdD().equals(finalDate)).toList();
|
||||||
|
|
||||||
|
onComplete.run(filteredOrders);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void executeEtichettaLU(String SSCC, RunnableArgs<List<OrdiniUscitaElencoDTO>> onComplete) {
|
||||||
|
this.mColliMagazzinoRESTConsumer.getBySSCC(SSCC, true, false, mtbColt -> {
|
||||||
|
|
||||||
|
if(mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
|
||||||
|
|
||||||
|
if(mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) {
|
||||||
|
//GET BY COMMESSA COLLO
|
||||||
|
this.mOrdiniUscitaElencoRESTConsumer.getOrdiniFromCommessaCollo(mCurrentCodMdep, mtbColt, orderList -> {
|
||||||
|
|
||||||
|
if(orderList != null && orderList.size() > 0) {
|
||||||
|
List<Integer> numOrds = Stream.of(orderList)
|
||||||
|
.map(DtbOrdt::getNumOrd)
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
List<OrdiniUscitaElencoDTO> filteredOrders = Stream.of(mOrderList.getValue())
|
||||||
|
.filter(x -> numOrds.contains(x.getNumOrd())).toList();
|
||||||
|
|
||||||
|
onComplete.run(filteredOrders);
|
||||||
|
} else {
|
||||||
|
this.sendError(new NoOrderFoundException());
|
||||||
|
}
|
||||||
|
|
||||||
|
}, this::sendError);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.sendError(new InvalidLUGestioneException(GestioneEnum.VENDITA));
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.sendError(new NoLUFoundException());
|
||||||
|
}
|
||||||
|
|
||||||
|
}, this::sendError);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void executeEtichettaEan128(BarcodeScanDTO barcodeScanDTO, RunnableArgs<List<OrdiniUscitaElencoDTO>> onComplete) {
|
||||||
|
this.mBarcodeRESTConsumer.decodeEan128(barcodeScanDTO, ean128Model -> {
|
||||||
|
String barcodeProd = null;
|
||||||
|
|
||||||
|
if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)) barcodeProd = ean128Model.Sscc;
|
||||||
|
if(!UtilityString.isNullOrEmpty(ean128Model.Gtin)) barcodeProd = ean128Model.Gtin;
|
||||||
|
if(!UtilityString.isNullOrEmpty(ean128Model.Content)) barcodeProd = ean128Model.Content;
|
||||||
|
|
||||||
|
|
||||||
|
if(!UtilityString.isNullOrEmpty(barcodeProd)) {
|
||||||
|
|
||||||
|
if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)){
|
||||||
|
this.executeEtichettaLU(ean128Model.Sscc, onComplete);
|
||||||
|
} else {
|
||||||
|
this.sendError(new NoLUFoundException());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//EAN 128 non completo o comunque mancano i riferimenti al prodotto
|
||||||
|
this.sendError(new NoLUFoundException());
|
||||||
|
}
|
||||||
|
}, this::sendError);
|
||||||
|
}
|
||||||
|
|
||||||
public MutableLiveData<List<OrdiniUscitaElencoDTO>> getOrderList() {
|
public MutableLiveData<List<OrdiniUscitaElencoDTO>> getOrderList() {
|
||||||
return mOrderList;
|
return mOrderList;
|
||||||
}
|
}
|
||||||
@@ -142,17 +275,20 @@ public class OrdiniUscitaElencoViewModel {
|
|||||||
if (this.mListener != null) mListener.onError(ex);
|
if (this.mListener != null) mListener.onError(ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendOnOrderFiltered(List<OrdiniUscitaElencoDTO> filteredOrders) {
|
||||||
|
if (this.mListener != null) mListener.onOrderFiltered(filteredOrders);
|
||||||
|
}
|
||||||
|
|
||||||
private void sendOnOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts) {
|
private void sendOnOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts) {
|
||||||
if (this.mListener != null) mListener.onOrdersDispatched(orders, sitArts, alreadyRegisteredMtbColts);
|
if (this.mListener != null) mListener.onOrdersDispatched(orders, sitArts, alreadyRegisteredMtbColts);
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface Listener {
|
public interface Listener extends ILoadingListener {
|
||||||
void onLoadingStarted();
|
|
||||||
|
|
||||||
void onLoadingEnded();
|
|
||||||
|
|
||||||
void onError(Exception ex);
|
void onError(Exception ex);
|
||||||
|
|
||||||
|
void onOrderFiltered(List<OrdiniUscitaElencoDTO> filteredOrders);
|
||||||
|
|
||||||
void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts);
|
void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,662 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs;
|
|
||||||
|
|
||||||
import android.app.DatePickerDialog;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.graphics.Color;
|
|
||||||
import android.graphics.drawable.ColorDrawable;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.WindowManager;
|
|
||||||
import android.widget.ArrayAdapter;
|
|
||||||
import android.widget.MultiAutoCompleteTextView;
|
|
||||||
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
|
||||||
import com.annimon.stream.function.Predicate;
|
|
||||||
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.GregorianCalendar;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
|
||||||
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
|
||||||
import it.integry.integrywmsnative.core.class_router.interfaces.IFiltroOrdiniVendita;
|
|
||||||
import it.integry.integrywmsnative.core.di.BindableString;
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
|
||||||
import it.integry.integrywmsnative.databinding.DialogVenditaFiltroAvanzatoBinding;
|
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO;
|
|
||||||
|
|
||||||
|
|
||||||
public class DialogVenditaFiltroAvanzato {
|
|
||||||
|
|
||||||
|
|
||||||
private final AlertDialog currentAlert;
|
|
||||||
private final Context currentContext;
|
|
||||||
|
|
||||||
private final RunnableArgss<List<OrdiniUscitaElencoDTO>, DialogVenditaFiltroAvanzatoViewModel> currentOnFilterDone;
|
|
||||||
|
|
||||||
private final List<OrdiniUscitaElencoDTO> currentOrderList;
|
|
||||||
private List<OrdiniUscitaElencoDTO> currentFilteredOrderList;
|
|
||||||
|
|
||||||
private ArrayAdapter<String> arrayAdapterCodMdep;
|
|
||||||
private ArrayAdapter<String> arrayAdapterIdViaggio;
|
|
||||||
private ArrayAdapter<String> arrayAdapterNumOrds;
|
|
||||||
private ArrayAdapter<String> arrayAdapterCliente;
|
|
||||||
private ArrayAdapter<String> arrayAdapterTermCons;
|
|
||||||
private ArrayAdapter<String> arrayAdapterVettore;
|
|
||||||
private ArrayAdapter<String> arrayAdapterAgente;
|
|
||||||
private ArrayAdapter<String> arrayAdapterAutomezzo;
|
|
||||||
|
|
||||||
private Predicate<OrdiniUscitaElencoDTO> currentDepositoPredicate = null;
|
|
||||||
private Predicate<OrdiniUscitaElencoDTO> currentIdViaggioPredicate = null;
|
|
||||||
private Predicate<OrdiniUscitaElencoDTO> currentNumOrdsPredicate = null;
|
|
||||||
private Predicate<OrdiniUscitaElencoDTO> currentClientePredicate = null;
|
|
||||||
private Predicate<OrdiniUscitaElencoDTO> currentDataConsPredicate = null;
|
|
||||||
private Predicate<OrdiniUscitaElencoDTO> currentTermConsPredicate = null;
|
|
||||||
private Predicate<OrdiniUscitaElencoDTO> currentVettorePredicate = null;
|
|
||||||
private Predicate<OrdiniUscitaElencoDTO> currentAgentePredicate = null;
|
|
||||||
private Predicate<OrdiniUscitaElencoDTO> currentAutomezzoPredicate = null;
|
|
||||||
|
|
||||||
private boolean firstInit = true;
|
|
||||||
|
|
||||||
public static AlertDialog make(final Context context, final List<OrdiniUscitaElencoDTO> ordersList, RunnableArgss<List<OrdiniUscitaElencoDTO>, DialogVenditaFiltroAvanzatoViewModel> onDismiss) {
|
|
||||||
return new DialogVenditaFiltroAvanzato(context, ordersList, null, onDismiss).currentAlert;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static AlertDialog make(final Context context,
|
|
||||||
final List<OrdiniUscitaElencoDTO> ordersList,
|
|
||||||
DialogVenditaFiltroAvanzatoViewModel baseViewModel,
|
|
||||||
RunnableArgss<List<OrdiniUscitaElencoDTO>, DialogVenditaFiltroAvanzatoViewModel> onDismiss) {
|
|
||||||
return new DialogVenditaFiltroAvanzato(context, ordersList, baseViewModel, onDismiss).currentAlert;
|
|
||||||
}
|
|
||||||
|
|
||||||
private DialogVenditaFiltroAvanzato(final Context context, final List<OrdiniUscitaElencoDTO> ordersList, DialogVenditaFiltroAvanzatoViewModel baseViewModel, RunnableArgss<List<OrdiniUscitaElencoDTO>, DialogVenditaFiltroAvanzatoViewModel> onDismiss) {
|
|
||||||
currentContext = context;
|
|
||||||
currentOrderList = ordersList;
|
|
||||||
currentOnFilterDone = onDismiss;
|
|
||||||
|
|
||||||
DialogVenditaFiltroAvanzatoViewModel viewModel = baseViewModel != null ? baseViewModel : new DialogVenditaFiltroAvanzatoViewModel();
|
|
||||||
|
|
||||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
|
|
||||||
|
|
||||||
DialogVenditaFiltroAvanzatoBinding binding = DataBindingUtil.inflate(inflater, R.layout.dialog_vendita_filtro_avanzato, null, false);
|
|
||||||
|
|
||||||
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context)
|
|
||||||
.setView(binding.getRoot());
|
|
||||||
|
|
||||||
binding.setViewmodel(viewModel);
|
|
||||||
initViewModelNew(viewModel);
|
|
||||||
initView(binding, viewModel);
|
|
||||||
|
|
||||||
currentAlert = alertDialog.create();
|
|
||||||
currentAlert.setCanceledOnTouchOutside(false);
|
|
||||||
|
|
||||||
currentAlert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
|
||||||
currentAlert.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
binding.positiveBtn.setOnClickListener(view -> {
|
|
||||||
currentAlert.dismiss();
|
|
||||||
});
|
|
||||||
|
|
||||||
binding.neutralBtn.setOnClickListener(view -> {
|
|
||||||
resetAll(viewModel);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
currentAlert.setOnDismissListener(dialogInterface -> {
|
|
||||||
if(currentOnFilterDone != null) currentOnFilterDone.run(currentFilteredOrderList, viewModel);
|
|
||||||
});
|
|
||||||
|
|
||||||
refreshList();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void resetAll(DialogVenditaFiltroAvanzatoViewModel viewModel) {
|
|
||||||
viewModel.deposito.set(null);
|
|
||||||
viewModel.idViaggio.set(null);
|
|
||||||
viewModel.numOrds.set(null);
|
|
||||||
viewModel.cliente.set(null);
|
|
||||||
viewModel.dataConsegna.set(null);
|
|
||||||
viewModel.terminiConsegna.set(null);
|
|
||||||
viewModel.vettore.set(null);
|
|
||||||
viewModel.automezzo.set(null);
|
|
||||||
viewModel.agente.set(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initView(DialogVenditaFiltroAvanzatoBinding bindings, DialogVenditaFiltroAvanzatoViewModel viewModel) {
|
|
||||||
IFiltroOrdiniVendita filtroOrdiniVendita = ClassRouter.getInstance(ClassRouter.PATH.FILTRO_ORDINI_VENDITA);
|
|
||||||
|
|
||||||
// bindings.filledExposedDropdownDataCons.setOnFocusChangeListener((v, hasFocus) -> {
|
|
||||||
// bindings.filledExposedDropdownDataCons.callOnClick();
|
|
||||||
// });
|
|
||||||
|
|
||||||
bindings.filledExposedDropdownDataCons.setOnClickListener(view -> {
|
|
||||||
Calendar c = UtilityDate.getCalendarInstance();
|
|
||||||
|
|
||||||
if(viewModel.dataConsegnaDate != null) {
|
|
||||||
c.setTime(viewModel.dataConsegnaDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
int mYear = c.get(Calendar.YEAR);
|
|
||||||
int mMonth = c.get(Calendar.MONTH);
|
|
||||||
int mDay = c.get(Calendar.DAY_OF_MONTH);
|
|
||||||
|
|
||||||
DatePickerDialog datePickerDialog = new DatePickerDialog(currentContext,
|
|
||||||
(view2, year, month, day) -> {
|
|
||||||
|
|
||||||
viewModel.dataConsegnaDate = new GregorianCalendar(year, month, day).getTime();
|
|
||||||
viewModel.dataConsegna.set(UtilityDate.formatDate(viewModel.dataConsegnaDate, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
|
||||||
|
|
||||||
}, mYear, mMonth, mDay);
|
|
||||||
datePickerDialog.show();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
arrayAdapterCodMdep = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
|
||||||
arrayAdapterCodMdep.addAll(getAvailableCodMdeps(false));
|
|
||||||
bindings.inputCodMdepNew.setVisibility(filtroOrdiniVendita.shoudShowCodMdepFilter() ? View.VISIBLE : View.GONE);
|
|
||||||
bindings.filledExposedDropdownCodMdep.setAdapter(arrayAdapterCodMdep);
|
|
||||||
|
|
||||||
arrayAdapterIdViaggio = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
|
||||||
arrayAdapterIdViaggio.addAll(getAvailableIdViaggio(false));
|
|
||||||
bindings.inputIdViaggio.setVisibility(filtroOrdiniVendita.shoudShowIdViaggioFilter() ? View.VISIBLE : View.GONE);
|
|
||||||
bindings.filledExposedDropdownIdViaggio.setAdapter(arrayAdapterIdViaggio);
|
|
||||||
|
|
||||||
arrayAdapterAgente = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
|
||||||
arrayAdapterAgente.addAll(getAvailableAgente(false));
|
|
||||||
bindings.inputAgente.setVisibility(filtroOrdiniVendita.shoudShowAgenteFilter() ? View.VISIBLE : View.GONE);
|
|
||||||
bindings.filledExposedDropdownAgente.setAdapter(arrayAdapterAgente);
|
|
||||||
|
|
||||||
arrayAdapterNumOrds = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
|
||||||
arrayAdapterNumOrds.addAll(getAvailableNumOrds(false));
|
|
||||||
bindings.filledExposedDropdownNumOrds.setAdapter(arrayAdapterNumOrds);
|
|
||||||
bindings.filledExposedDropdownNumOrds.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
|
|
||||||
|
|
||||||
arrayAdapterCliente = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
|
||||||
arrayAdapterCliente.addAll(getAvailableCliente(false));
|
|
||||||
bindings.filledExposedDropdownCliente.setAdapter(arrayAdapterCliente);
|
|
||||||
|
|
||||||
arrayAdapterTermCons = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
|
||||||
arrayAdapterTermCons.addAll(getAvailableTermCons(false));
|
|
||||||
bindings.filledExposedDropdownTermCons.setAdapter(arrayAdapterTermCons);
|
|
||||||
|
|
||||||
arrayAdapterVettore = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
|
||||||
arrayAdapterVettore.addAll(getAvailableVettori(false));
|
|
||||||
bindings.filledExposedDropdownVettore.setAdapter(arrayAdapterVettore);
|
|
||||||
|
|
||||||
arrayAdapterAutomezzo = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
|
||||||
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(false));
|
|
||||||
bindings.filledExposedDropdownAutomezzo.setAdapter(arrayAdapterAutomezzo);
|
|
||||||
|
|
||||||
|
|
||||||
viewModel.deposito.refresh();
|
|
||||||
viewModel.idViaggio.refresh();
|
|
||||||
viewModel.numOrds.refresh();
|
|
||||||
viewModel.cliente.refresh();
|
|
||||||
viewModel.terminiConsegna.refresh();
|
|
||||||
viewModel.vettore.refresh();
|
|
||||||
viewModel.automezzo.refresh();
|
|
||||||
viewModel.dataConsegna.refresh();
|
|
||||||
viewModel.agente.refresh();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initViewModelNew(DialogVenditaFiltroAvanzatoViewModel viewModel) {
|
|
||||||
BindableString.registerListener(viewModel.idViaggio, value -> {
|
|
||||||
if(UtilityString.isNullOrEmpty(value)) currentIdViaggioPredicate = null;
|
|
||||||
else {
|
|
||||||
String[] idViaggiSplitted = value.split("[,\\ ]");
|
|
||||||
|
|
||||||
try{
|
|
||||||
List<Integer> idViaggiInteger = Stream.of(idViaggiSplitted)
|
|
||||||
.filter(x -> !UtilityString.isNullOrEmpty(x))
|
|
||||||
.map(Integer::parseInt).toList();
|
|
||||||
|
|
||||||
currentIdViaggioPredicate = o -> idViaggiInteger.contains(o.getIdViaggio());
|
|
||||||
} catch (NumberFormatException ex) {
|
|
||||||
currentNumOrdsPredicate = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshList();
|
|
||||||
|
|
||||||
arrayAdapterCodMdep.clear();
|
|
||||||
arrayAdapterCodMdep.addAll(getAvailableCodMdeps(true));
|
|
||||||
arrayAdapterNumOrds.clear();
|
|
||||||
arrayAdapterNumOrds.addAll(getAvailableNumOrds(true));
|
|
||||||
arrayAdapterCliente.clear();
|
|
||||||
arrayAdapterCliente.addAll(getAvailableCliente(true));
|
|
||||||
arrayAdapterTermCons.clear();
|
|
||||||
arrayAdapterTermCons.addAll(getAvailableTermCons(true));
|
|
||||||
arrayAdapterVettore.clear();
|
|
||||||
arrayAdapterVettore.addAll(getAvailableVettori(true));
|
|
||||||
arrayAdapterAutomezzo.clear();
|
|
||||||
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
|
|
||||||
arrayAdapterAgente.clear();
|
|
||||||
arrayAdapterAgente.addAll(getAvailableAgente(true));
|
|
||||||
});
|
|
||||||
|
|
||||||
BindableString.registerListener(viewModel.deposito, value -> {
|
|
||||||
if(UtilityString.isNullOrEmpty(value)) currentDepositoPredicate = null;
|
|
||||||
else {
|
|
||||||
currentDepositoPredicate = o -> o.getCodMdep().toLowerCase().equalsIgnoreCase(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshList();
|
|
||||||
|
|
||||||
arrayAdapterNumOrds.clear();
|
|
||||||
arrayAdapterNumOrds.addAll(getAvailableNumOrds(true));
|
|
||||||
arrayAdapterIdViaggio.clear();
|
|
||||||
arrayAdapterIdViaggio.addAll(getAvailableIdViaggio(true));
|
|
||||||
arrayAdapterCliente.clear();
|
|
||||||
arrayAdapterCliente.addAll(getAvailableCliente(true));
|
|
||||||
arrayAdapterTermCons.clear();
|
|
||||||
arrayAdapterTermCons.addAll(getAvailableTermCons(true));
|
|
||||||
arrayAdapterVettore.clear();
|
|
||||||
arrayAdapterVettore.addAll(getAvailableVettori(true));
|
|
||||||
arrayAdapterAutomezzo.clear();
|
|
||||||
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
|
|
||||||
arrayAdapterAgente.clear();
|
|
||||||
arrayAdapterAgente.addAll(getAvailableAgente(true));
|
|
||||||
});
|
|
||||||
|
|
||||||
BindableString.registerListener(viewModel.numOrds, value -> {
|
|
||||||
if(UtilityString.isNullOrEmpty(value)) currentNumOrdsPredicate = null;
|
|
||||||
else {
|
|
||||||
String[] numOrdsSplitted = value.split("[,\\ ]");
|
|
||||||
|
|
||||||
try{
|
|
||||||
List<Integer> numOrdsInteger = Stream.of(numOrdsSplitted)
|
|
||||||
.filter(x -> !UtilityString.isNullOrEmpty(x))
|
|
||||||
.map(Integer::parseInt).toList();
|
|
||||||
|
|
||||||
currentNumOrdsPredicate = o -> numOrdsInteger.contains(o.getNumOrd());
|
|
||||||
} catch (NumberFormatException ex) {
|
|
||||||
currentNumOrdsPredicate = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshList();
|
|
||||||
|
|
||||||
arrayAdapterCodMdep.clear();
|
|
||||||
arrayAdapterCodMdep.addAll(getAvailableCodMdeps(true));
|
|
||||||
arrayAdapterIdViaggio.clear();
|
|
||||||
arrayAdapterIdViaggio.addAll(getAvailableIdViaggio(true));
|
|
||||||
arrayAdapterCliente.clear();
|
|
||||||
arrayAdapterCliente.addAll(getAvailableCliente(true));
|
|
||||||
arrayAdapterTermCons.clear();
|
|
||||||
arrayAdapterTermCons.addAll(getAvailableTermCons(true));
|
|
||||||
arrayAdapterVettore.clear();
|
|
||||||
arrayAdapterVettore.addAll(getAvailableVettori(true));
|
|
||||||
arrayAdapterAutomezzo.clear();
|
|
||||||
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
|
|
||||||
arrayAdapterAgente.clear();
|
|
||||||
arrayAdapterAgente.addAll(getAvailableAgente(true));
|
|
||||||
});
|
|
||||||
|
|
||||||
BindableString.registerListener(viewModel.cliente, value -> {
|
|
||||||
if(UtilityString.isNullOrEmpty(value)) currentClientePredicate = null;
|
|
||||||
else {
|
|
||||||
currentClientePredicate = o -> o.getRagSocOrd().toLowerCase().contains(value.toLowerCase());
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshList();
|
|
||||||
|
|
||||||
arrayAdapterCodMdep.clear();
|
|
||||||
arrayAdapterCodMdep.addAll(getAvailableCodMdeps(true));
|
|
||||||
arrayAdapterIdViaggio.clear();
|
|
||||||
arrayAdapterIdViaggio.addAll(getAvailableIdViaggio(true));
|
|
||||||
arrayAdapterNumOrds.clear();
|
|
||||||
arrayAdapterNumOrds.addAll(getAvailableNumOrds(true));
|
|
||||||
arrayAdapterTermCons.clear();
|
|
||||||
arrayAdapterTermCons.addAll(getAvailableTermCons(true));
|
|
||||||
arrayAdapterVettore.clear();
|
|
||||||
arrayAdapterVettore.addAll(getAvailableVettori(true));
|
|
||||||
arrayAdapterAutomezzo.clear();
|
|
||||||
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
|
|
||||||
arrayAdapterAgente.clear();
|
|
||||||
arrayAdapterAgente.addAll(getAvailableAgente(true));
|
|
||||||
});
|
|
||||||
|
|
||||||
BindableString.registerListener(viewModel.terminiConsegna, value -> {
|
|
||||||
if(UtilityString.isNullOrEmpty(value)) currentTermConsPredicate = null;
|
|
||||||
else {
|
|
||||||
currentTermConsPredicate = o -> !UtilityString.isNullOrEmpty(o.getTermCons()) && o.getTermCons().equalsIgnoreCase(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshList();
|
|
||||||
|
|
||||||
arrayAdapterCodMdep.clear();
|
|
||||||
arrayAdapterCodMdep.addAll(getAvailableCodMdeps(true));
|
|
||||||
arrayAdapterIdViaggio.clear();
|
|
||||||
arrayAdapterIdViaggio.addAll(getAvailableIdViaggio(true));
|
|
||||||
arrayAdapterNumOrds.clear();
|
|
||||||
arrayAdapterNumOrds.addAll(getAvailableNumOrds(true));
|
|
||||||
arrayAdapterCliente.clear();
|
|
||||||
arrayAdapterCliente.addAll(getAvailableCliente(true));
|
|
||||||
arrayAdapterVettore.clear();
|
|
||||||
arrayAdapterVettore.addAll(getAvailableVettori(true));
|
|
||||||
arrayAdapterAutomezzo.clear();
|
|
||||||
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
|
|
||||||
arrayAdapterAgente.clear();
|
|
||||||
arrayAdapterAgente.addAll(getAvailableAgente(true));
|
|
||||||
});
|
|
||||||
|
|
||||||
BindableString.registerListener(viewModel.vettore, value -> {
|
|
||||||
if(UtilityString.isNullOrEmpty(value)) currentVettorePredicate = null;
|
|
||||||
else {
|
|
||||||
currentVettorePredicate = o -> (o.getCodVvet() + " - " + o.getDescrizioneVettore()).equalsIgnoreCase(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshList();
|
|
||||||
|
|
||||||
arrayAdapterCodMdep.clear();
|
|
||||||
arrayAdapterCodMdep.addAll(getAvailableCodMdeps(true));
|
|
||||||
arrayAdapterIdViaggio.clear();
|
|
||||||
arrayAdapterIdViaggio.addAll(getAvailableIdViaggio(true));
|
|
||||||
arrayAdapterNumOrds.clear();
|
|
||||||
arrayAdapterNumOrds.addAll(getAvailableNumOrds(true));
|
|
||||||
arrayAdapterCliente.clear();
|
|
||||||
arrayAdapterCliente.addAll(getAvailableCliente(true));
|
|
||||||
arrayAdapterTermCons.clear();
|
|
||||||
arrayAdapterTermCons.addAll(getAvailableTermCons(true));
|
|
||||||
arrayAdapterAutomezzo.clear();
|
|
||||||
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
|
|
||||||
arrayAdapterAgente.clear();
|
|
||||||
arrayAdapterAgente.addAll(getAvailableAgente(true));
|
|
||||||
});
|
|
||||||
|
|
||||||
BindableString.registerListener(viewModel.automezzo, value -> {
|
|
||||||
if(UtilityString.isNullOrEmpty(value)) currentAutomezzoPredicate = null;
|
|
||||||
else {
|
|
||||||
currentAutomezzoPredicate = o -> !UtilityString.isNullOrEmpty(o.getDescrizioneAuto()) && (o.getDescrizioneAuto().toLowerCase().contains(value) || o.getDescrizioneAuto().equalsIgnoreCase(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshList();
|
|
||||||
|
|
||||||
arrayAdapterCodMdep.clear();
|
|
||||||
arrayAdapterCodMdep.addAll(getAvailableCodMdeps(true));
|
|
||||||
arrayAdapterIdViaggio.clear();
|
|
||||||
arrayAdapterIdViaggio.addAll(getAvailableIdViaggio(true));
|
|
||||||
arrayAdapterNumOrds.clear();
|
|
||||||
arrayAdapterNumOrds.addAll(getAvailableNumOrds(true));
|
|
||||||
arrayAdapterCliente.clear();
|
|
||||||
arrayAdapterCliente.addAll(getAvailableCliente(true));
|
|
||||||
arrayAdapterTermCons.clear();
|
|
||||||
arrayAdapterTermCons.addAll(getAvailableTermCons(true));
|
|
||||||
arrayAdapterVettore.clear();
|
|
||||||
arrayAdapterVettore.addAll(getAvailableVettori(true));
|
|
||||||
arrayAdapterAgente.clear();
|
|
||||||
arrayAdapterAgente.addAll(getAvailableAgente(true));
|
|
||||||
});
|
|
||||||
|
|
||||||
BindableString.resetListeners(viewModel.dataConsegna);
|
|
||||||
BindableString.registerListener(viewModel.dataConsegna, value -> {
|
|
||||||
if(UtilityString.isNullOrEmpty(value)) currentDataConsPredicate = null;
|
|
||||||
else {
|
|
||||||
currentDataConsPredicate = o -> o.getDataConsD().equals(viewModel.dataConsegnaDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshList();
|
|
||||||
|
|
||||||
arrayAdapterCodMdep.clear();
|
|
||||||
arrayAdapterCodMdep.addAll(getAvailableCodMdeps(true));
|
|
||||||
arrayAdapterIdViaggio.clear();
|
|
||||||
arrayAdapterIdViaggio.addAll(getAvailableIdViaggio(true));
|
|
||||||
arrayAdapterNumOrds.clear();
|
|
||||||
arrayAdapterNumOrds.addAll(getAvailableNumOrds(true));
|
|
||||||
arrayAdapterCliente.clear();
|
|
||||||
arrayAdapterCliente.addAll(getAvailableCliente(true));
|
|
||||||
arrayAdapterTermCons.clear();
|
|
||||||
arrayAdapterTermCons.addAll(getAvailableTermCons(true));
|
|
||||||
arrayAdapterVettore.clear();
|
|
||||||
arrayAdapterVettore.addAll(getAvailableVettori(true));
|
|
||||||
arrayAdapterAutomezzo.clear();
|
|
||||||
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
|
|
||||||
arrayAdapterAgente.clear();
|
|
||||||
arrayAdapterAgente.addAll(getAvailableAgente(true));
|
|
||||||
});
|
|
||||||
|
|
||||||
BindableString.resetListeners(viewModel.agente);
|
|
||||||
BindableString.registerListener(viewModel.agente, value -> {
|
|
||||||
if(UtilityString.isNullOrEmpty(value)) currentAgentePredicate = null;
|
|
||||||
else {
|
|
||||||
currentAgentePredicate = o -> !UtilityString.isNullOrEmpty(o.getNomeAgente()) && (o.getNomeAgente().toLowerCase().contains(value) || o.getNomeAgente().equalsIgnoreCase(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshList();
|
|
||||||
|
|
||||||
arrayAdapterCodMdep.clear();
|
|
||||||
arrayAdapterCodMdep.addAll(getAvailableCodMdeps(true));
|
|
||||||
arrayAdapterIdViaggio.clear();
|
|
||||||
arrayAdapterIdViaggio.addAll(getAvailableIdViaggio(true));
|
|
||||||
arrayAdapterNumOrds.clear();
|
|
||||||
arrayAdapterNumOrds.addAll(getAvailableNumOrds(true));
|
|
||||||
arrayAdapterCliente.clear();
|
|
||||||
arrayAdapterCliente.addAll(getAvailableCliente(true));
|
|
||||||
arrayAdapterTermCons.clear();
|
|
||||||
arrayAdapterTermCons.addAll(getAvailableTermCons(true));
|
|
||||||
arrayAdapterVettore.clear();
|
|
||||||
arrayAdapterVettore.addAll(getAvailableVettori(true));
|
|
||||||
arrayAdapterAutomezzo.clear();
|
|
||||||
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(true));
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private List<String> getAvailableIdViaggio(boolean skipRecalc) {
|
|
||||||
if(currentAgentePredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentTermConsPredicate == null && currentDepositoPredicate == null){
|
|
||||||
currentFilteredOrderList = currentOrderList;
|
|
||||||
} else if(!skipRecalc){
|
|
||||||
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
|
|
||||||
.filter(x ->
|
|
||||||
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
|
|
||||||
(currentClientePredicate == null || (currentClientePredicate.test(x))) &&
|
|
||||||
(currentDataConsPredicate == null || (currentDataConsPredicate.test(x))) &&
|
|
||||||
(currentVettorePredicate == null || (currentVettorePredicate.test(x))) &&
|
|
||||||
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
|
|
||||||
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
|
|
||||||
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
|
|
||||||
(currentAgentePredicate == null || (currentAgentePredicate.test(x)))
|
|
||||||
);
|
|
||||||
|
|
||||||
currentFilteredOrderList = tmpStream.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
return Stream
|
|
||||||
.of(currentFilteredOrderList)
|
|
||||||
.filter(x -> x.getIdViaggio() != null)
|
|
||||||
.sortBy(x -> -x.getIdViaggio())
|
|
||||||
.map(x -> x.getIdViaggio() != null ? x.getIdViaggio().toString() : null)
|
|
||||||
.distinct()
|
|
||||||
.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getAvailableAgente(boolean skipRecalc) {
|
|
||||||
if(currentDepositoPredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentTermConsPredicate == null){
|
|
||||||
currentFilteredOrderList = currentOrderList;
|
|
||||||
} else if(!skipRecalc){
|
|
||||||
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
|
|
||||||
.filter(x ->
|
|
||||||
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
|
|
||||||
(currentClientePredicate == null || (currentClientePredicate.test(x))) &&
|
|
||||||
(currentDataConsPredicate == null || (currentDataConsPredicate.test(x))) &&
|
|
||||||
(currentVettorePredicate == null || (currentVettorePredicate.test(x))) &&
|
|
||||||
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
|
|
||||||
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
|
|
||||||
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
|
|
||||||
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
|
|
||||||
(currentAgentePredicate == null || (currentAgentePredicate.test(x)))
|
|
||||||
);
|
|
||||||
|
|
||||||
currentFilteredOrderList = tmpStream.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
return Stream.of(currentFilteredOrderList).map(OrdiniUscitaElencoDTO::getNomeAgente).distinct().withoutNulls().sorted().toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getAvailableCodMdeps(boolean skipRecalc) {
|
|
||||||
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentTermConsPredicate == null){
|
|
||||||
currentFilteredOrderList = currentOrderList;
|
|
||||||
} else if(!skipRecalc){
|
|
||||||
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
|
|
||||||
.filter(x ->
|
|
||||||
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
|
|
||||||
(currentClientePredicate == null || (currentClientePredicate.test(x))) &&
|
|
||||||
(currentDataConsPredicate == null || (currentDataConsPredicate.test(x))) &&
|
|
||||||
(currentVettorePredicate == null || (currentVettorePredicate.test(x))) &&
|
|
||||||
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
|
|
||||||
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
|
|
||||||
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
|
|
||||||
(currentAgentePredicate == null || (currentAgentePredicate.test(x)))
|
|
||||||
);
|
|
||||||
|
|
||||||
currentFilteredOrderList = tmpStream.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
return Stream.of(currentFilteredOrderList).map(OrdiniUscitaElencoDTO::getCodMdep).distinct().withoutNulls().sorted().toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getAvailableCliente(boolean skipRecalc) {
|
|
||||||
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentDepositoPredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentTermConsPredicate == null){
|
|
||||||
currentFilteredOrderList = currentOrderList;
|
|
||||||
} else if(!skipRecalc){
|
|
||||||
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
|
|
||||||
.filter(x ->
|
|
||||||
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
|
|
||||||
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
|
|
||||||
(currentDataConsPredicate == null || (currentDataConsPredicate.test(x))) &&
|
|
||||||
(currentVettorePredicate == null || (currentVettorePredicate.test(x))) &&
|
|
||||||
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
|
|
||||||
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
|
|
||||||
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
|
|
||||||
(currentAgentePredicate == null || (currentAgentePredicate.test(x)))
|
|
||||||
);
|
|
||||||
|
|
||||||
currentFilteredOrderList = tmpStream.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
return Stream.of(currentFilteredOrderList).map(OrdiniUscitaElencoDTO::getRagSocOrd).distinct().withoutNulls().sorted().toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getAvailableNumOrds(boolean skipRecalc) {
|
|
||||||
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentDepositoPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentTermConsPredicate == null){
|
|
||||||
currentFilteredOrderList = currentOrderList;
|
|
||||||
} else if(!skipRecalc){
|
|
||||||
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
|
|
||||||
.filter(x ->
|
|
||||||
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
|
|
||||||
(currentClientePredicate == null || (currentClientePredicate.test(x))) &&
|
|
||||||
(currentDataConsPredicate == null || (currentDataConsPredicate.test(x))) &&
|
|
||||||
(currentVettorePredicate == null || (currentVettorePredicate.test(x))) &&
|
|
||||||
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
|
|
||||||
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
|
|
||||||
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
|
|
||||||
(currentAgentePredicate == null || (currentAgentePredicate.test(x)))
|
|
||||||
);
|
|
||||||
|
|
||||||
currentFilteredOrderList = tmpStream.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
return Stream.of(currentFilteredOrderList).map(x -> x.getNumOrd().toString()).distinct().withoutNulls().sorted().toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getAvailableTermCons(boolean skipRecalc) {
|
|
||||||
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentAutomezzoPredicate == null && currentVettorePredicate == null && currentDepositoPredicate == null){
|
|
||||||
currentFilteredOrderList = currentOrderList;
|
|
||||||
} else if(!skipRecalc){
|
|
||||||
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
|
|
||||||
.filter(x ->
|
|
||||||
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
|
|
||||||
(currentClientePredicate == null || (currentClientePredicate.test(x))) &&
|
|
||||||
(currentDataConsPredicate == null || (currentDataConsPredicate.test(x))) &&
|
|
||||||
(currentVettorePredicate == null || (currentVettorePredicate.test(x))) &&
|
|
||||||
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
|
|
||||||
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
|
|
||||||
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
|
|
||||||
(currentAgentePredicate == null || (currentAgentePredicate.test(x)))
|
|
||||||
);
|
|
||||||
|
|
||||||
currentFilteredOrderList = tmpStream.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
return Stream.of(currentFilteredOrderList).map(OrdiniUscitaElencoDTO::getTermCons).distinct().withoutNulls().sorted().toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getAvailableVettori(boolean skipRecalc) {
|
|
||||||
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null && currentAutomezzoPredicate == null && currentDepositoPredicate == null){
|
|
||||||
currentFilteredOrderList = currentOrderList;
|
|
||||||
} else if(!skipRecalc){
|
|
||||||
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
|
|
||||||
.filter(x ->
|
|
||||||
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
|
|
||||||
(currentClientePredicate == null || (currentClientePredicate.test(x))) &&
|
|
||||||
(currentDataConsPredicate == null || (currentDataConsPredicate.test(x))) &&
|
|
||||||
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
|
|
||||||
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate .test(x))) &&
|
|
||||||
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
|
|
||||||
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
|
|
||||||
(currentAgentePredicate == null || (currentAgentePredicate.test(x)))
|
|
||||||
);
|
|
||||||
|
|
||||||
currentFilteredOrderList = tmpStream.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
return Stream.of(currentFilteredOrderList).filter(x -> x.getCodVvet() != null).map(x -> x.getCodVvet() + " - " + x.getDescrizioneVettore()).distinct().withoutNulls().sorted().toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getAvailableAutomezzi(boolean skipRecalc) {
|
|
||||||
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null && currentVettorePredicate == null && currentDepositoPredicate == null){
|
|
||||||
currentFilteredOrderList = currentOrderList;
|
|
||||||
} else if(!skipRecalc){
|
|
||||||
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
|
|
||||||
.filter(x ->
|
|
||||||
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
|
|
||||||
(currentClientePredicate == null || (currentClientePredicate.test(x))) &&
|
|
||||||
(currentDataConsPredicate == null || (currentDataConsPredicate.test(x))) &&
|
|
||||||
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
|
|
||||||
(currentVettorePredicate == null || (currentVettorePredicate.test(x))) &&
|
|
||||||
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
|
|
||||||
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
|
|
||||||
(currentAgentePredicate == null || (currentAgentePredicate.test(x)))
|
|
||||||
);
|
|
||||||
|
|
||||||
currentFilteredOrderList = tmpStream.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
return Stream.of(currentFilteredOrderList).map(OrdiniUscitaElencoDTO::getDescrizioneAuto).distinct().withoutNulls().sorted().toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void refreshList() {
|
|
||||||
|
|
||||||
if(currentAgentePredicate == null && currentIdViaggioPredicate == null && currentNumOrdsPredicate == null && currentClientePredicate == null && currentDataConsPredicate == null && currentTermConsPredicate == null && currentVettorePredicate == null && currentAutomezzoPredicate == null && currentDepositoPredicate == null){
|
|
||||||
currentFilteredOrderList = currentOrderList;
|
|
||||||
} else {
|
|
||||||
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(currentOrderList)
|
|
||||||
.filter(x ->
|
|
||||||
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
|
|
||||||
(currentClientePredicate == null || (currentClientePredicate.test(x))) &&
|
|
||||||
(currentDataConsPredicate == null || (currentDataConsPredicate.test(x))) &&
|
|
||||||
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
|
|
||||||
(currentVettorePredicate == null || (currentVettorePredicate.test(x))) &&
|
|
||||||
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
|
|
||||||
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
|
|
||||||
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
|
|
||||||
(currentAgentePredicate == null || (currentAgentePredicate.test(x)))
|
|
||||||
);
|
|
||||||
|
|
||||||
currentFilteredOrderList = tmpStream.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,465 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs;
|
||||||
|
|
||||||
|
import android.app.DatePickerDialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.graphics.drawable.ColorDrawable;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.MultiAutoCompleteTextView;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
|
||||||
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
||||||
|
import it.integry.integrywmsnative.core.class_router.interfaces.IFiltroOrdiniVendita;
|
||||||
|
import it.integry.integrywmsnative.core.di.BindableString;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
import it.integry.integrywmsnative.databinding.DialogVenditaFiltroAvanzatoBinding;
|
||||||
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO;
|
||||||
|
|
||||||
|
|
||||||
|
public class DialogVenditaFiltroAvanzatoView {
|
||||||
|
|
||||||
|
|
||||||
|
private final AlertDialog currentAlert;
|
||||||
|
private final Context currentContext;
|
||||||
|
|
||||||
|
private final RunnableArgs<DialogVenditaFiltroAvanzatoViewModel> currentOnFilterDone;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public BindableString deposito = new BindableString();
|
||||||
|
public BindableString idViaggio = new BindableString();
|
||||||
|
public BindableString numOrds = new BindableString();
|
||||||
|
public BindableString cliente = new BindableString();
|
||||||
|
public BindableString dataConsegna = new BindableString();
|
||||||
|
public BindableString terminiConsegna = new BindableString();
|
||||||
|
public BindableString agente = new BindableString();
|
||||||
|
public BindableString vettore = new BindableString();
|
||||||
|
public BindableString automezzo = new BindableString();
|
||||||
|
public BindableString paese = new BindableString();
|
||||||
|
|
||||||
|
public Date dataConsegnaDate;
|
||||||
|
|
||||||
|
private ArrayAdapter<String> arrayAdapterCodMdep;
|
||||||
|
private ArrayAdapter<String> arrayAdapterIdViaggio;
|
||||||
|
private ArrayAdapter<String> arrayAdapterNumOrds;
|
||||||
|
private ArrayAdapter<String> arrayAdapterCliente;
|
||||||
|
private ArrayAdapter<String> arrayAdapterTermCons;
|
||||||
|
private ArrayAdapter<String> arrayAdapterVettore;
|
||||||
|
private ArrayAdapter<String> arrayAdapterAgente;
|
||||||
|
private ArrayAdapter<String> arrayAdapterAutomezzo;
|
||||||
|
private ArrayAdapter<String> arrayAdapterPaese;
|
||||||
|
|
||||||
|
private DialogVenditaFiltroAvanzatoViewModel viewModel;
|
||||||
|
|
||||||
|
public static AlertDialog make(final Context context, final List<OrdiniUscitaElencoDTO> ordersList, RunnableArgs<DialogVenditaFiltroAvanzatoViewModel> onDismiss) {
|
||||||
|
return new DialogVenditaFiltroAvanzatoView(context, ordersList, null, onDismiss).currentAlert;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AlertDialog make(final Context context,
|
||||||
|
final List<OrdiniUscitaElencoDTO> ordersList,
|
||||||
|
DialogVenditaFiltroAvanzatoViewModel baseViewModel,
|
||||||
|
RunnableArgs<DialogVenditaFiltroAvanzatoViewModel> onDismiss) {
|
||||||
|
return new DialogVenditaFiltroAvanzatoView(context, ordersList, baseViewModel, onDismiss).currentAlert;
|
||||||
|
}
|
||||||
|
|
||||||
|
private DialogVenditaFiltroAvanzatoView(final Context context, final List<OrdiniUscitaElencoDTO> ordersList, DialogVenditaFiltroAvanzatoViewModel baseViewModel, RunnableArgs<DialogVenditaFiltroAvanzatoViewModel> onDismiss) {
|
||||||
|
currentContext = context;
|
||||||
|
currentOnFilterDone = onDismiss;
|
||||||
|
|
||||||
|
viewModel = baseViewModel != null ? baseViewModel : new DialogVenditaFiltroAvanzatoViewModel();
|
||||||
|
viewModel.init(ordersList);
|
||||||
|
|
||||||
|
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
|
||||||
|
|
||||||
|
DialogVenditaFiltroAvanzatoBinding binding = DataBindingUtil.inflate(inflater, R.layout.dialog_vendita_filtro_avanzato, null, false);
|
||||||
|
|
||||||
|
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context)
|
||||||
|
.setView(binding.getRoot());
|
||||||
|
|
||||||
|
binding.setView(this);
|
||||||
|
binding.setViewmodel(viewModel);
|
||||||
|
initViewModelNew(viewModel);
|
||||||
|
initView(binding, viewModel);
|
||||||
|
|
||||||
|
currentAlert = alertDialog.create();
|
||||||
|
currentAlert.setCanceledOnTouchOutside(false);
|
||||||
|
|
||||||
|
currentAlert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
||||||
|
currentAlert.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
binding.positiveBtn.setOnClickListener(view -> {
|
||||||
|
currentAlert.dismiss();
|
||||||
|
});
|
||||||
|
|
||||||
|
binding.neutralBtn.setOnClickListener(view -> {
|
||||||
|
resetAll();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
currentAlert.setOnDismissListener(dialogInterface -> {
|
||||||
|
if(currentOnFilterDone != null) currentOnFilterDone.run(viewModel);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initView(DialogVenditaFiltroAvanzatoBinding bindings, DialogVenditaFiltroAvanzatoViewModel viewModel) {
|
||||||
|
IFiltroOrdiniVendita filtroOrdiniVendita = ClassRouter.getInstance(ClassRouter.PATH.FILTRO_ORDINI_VENDITA);
|
||||||
|
|
||||||
|
// bindings.filledExposedDropdownDataCons.setOnFocusChangeListener((v, hasFocus) -> {
|
||||||
|
// bindings.filledExposedDropdownDataCons.callOnClick();
|
||||||
|
// });
|
||||||
|
|
||||||
|
bindings.filledExposedDropdownDataCons.setOnClickListener(view -> {
|
||||||
|
Calendar c = UtilityDate.getCalendarInstance();
|
||||||
|
|
||||||
|
if(dataConsegnaDate != null) {
|
||||||
|
c.setTime(dataConsegnaDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
int mYear = c.get(Calendar.YEAR);
|
||||||
|
int mMonth = c.get(Calendar.MONTH);
|
||||||
|
int mDay = c.get(Calendar.DAY_OF_MONTH);
|
||||||
|
|
||||||
|
DatePickerDialog datePickerDialog = new DatePickerDialog(currentContext,
|
||||||
|
(view2, year, month, day) -> {
|
||||||
|
|
||||||
|
dataConsegnaDate = new GregorianCalendar(year, month, day).getTime();
|
||||||
|
dataConsegna.set(UtilityDate.formatDate(dataConsegnaDate, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||||
|
|
||||||
|
}, mYear, mMonth, mDay);
|
||||||
|
datePickerDialog.show();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
arrayAdapterCodMdep = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
||||||
|
arrayAdapterCodMdep.addAll(getAvailableCodMdeps(false));
|
||||||
|
bindings.inputCodMdepNew.setVisibility(filtroOrdiniVendita.shoudShowCodMdepFilter() ? View.VISIBLE : View.GONE);
|
||||||
|
bindings.filledExposedDropdownCodMdep.setAdapter(arrayAdapterCodMdep);
|
||||||
|
|
||||||
|
arrayAdapterIdViaggio = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
||||||
|
arrayAdapterIdViaggio.addAll(getAvailableIdViaggio(false));
|
||||||
|
bindings.inputIdViaggio.setVisibility(filtroOrdiniVendita.shoudShowIdViaggioFilter() ? View.VISIBLE : View.GONE);
|
||||||
|
bindings.filledExposedDropdownIdViaggio.setAdapter(arrayAdapterIdViaggio);
|
||||||
|
|
||||||
|
arrayAdapterAgente = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
||||||
|
arrayAdapterAgente.addAll(getAvailableAgente(false));
|
||||||
|
bindings.inputAgente.setVisibility(filtroOrdiniVendita.shoudShowAgenteFilter() ? View.VISIBLE : View.GONE);
|
||||||
|
bindings.filledExposedDropdownAgente.setAdapter(arrayAdapterAgente);
|
||||||
|
|
||||||
|
arrayAdapterNumOrds = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
||||||
|
arrayAdapterNumOrds.addAll(getAvailableNumOrds(false));
|
||||||
|
bindings.filledExposedDropdownNumOrds.setAdapter(arrayAdapterNumOrds);
|
||||||
|
bindings.filledExposedDropdownNumOrds.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
|
||||||
|
|
||||||
|
arrayAdapterCliente = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
||||||
|
arrayAdapterCliente.addAll(getAvailableCliente(false));
|
||||||
|
bindings.filledExposedDropdownCliente.setAdapter(arrayAdapterCliente);
|
||||||
|
|
||||||
|
arrayAdapterTermCons = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
||||||
|
arrayAdapterTermCons.addAll(getAvailableTermCons(false));
|
||||||
|
bindings.filledExposedDropdownTermCons.setAdapter(arrayAdapterTermCons);
|
||||||
|
|
||||||
|
arrayAdapterVettore = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
||||||
|
arrayAdapterVettore.addAll(getAvailableVettori(false));
|
||||||
|
bindings.filledExposedDropdownVettore.setAdapter(arrayAdapterVettore);
|
||||||
|
|
||||||
|
arrayAdapterAutomezzo = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
||||||
|
arrayAdapterAutomezzo.addAll(getAvailableAutomezzi(false));
|
||||||
|
bindings.filledExposedDropdownAutomezzo.setAdapter(arrayAdapterAutomezzo);
|
||||||
|
|
||||||
|
arrayAdapterPaese = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
|
||||||
|
arrayAdapterPaese.addAll(getAvailablePaesi(false));
|
||||||
|
bindings.filledExposedDropdownPaese.setAdapter(arrayAdapterPaese);
|
||||||
|
|
||||||
|
|
||||||
|
refreshAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initViewModelNew(DialogVenditaFiltroAvanzatoViewModel viewModel) {
|
||||||
|
viewModel.applyAllTests();
|
||||||
|
|
||||||
|
BindableString.registerListener(idViaggio, value -> {
|
||||||
|
viewModel.setIDViaggioFilter(value);
|
||||||
|
viewModel.applyAllTests();
|
||||||
|
|
||||||
|
refreshArrayAdapter(arrayAdapterCodMdep, getAvailableCodMdeps(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterNumOrds, getAvailableNumOrds(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterCliente, getAvailableCliente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterTermCons, getAvailableTermCons(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterVettore, getAvailableVettori(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAutomezzo, getAvailableAutomezzi(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAgente, getAvailableAgente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterPaese, getAvailablePaesi(true));
|
||||||
|
});
|
||||||
|
|
||||||
|
BindableString.registerListener(deposito, value -> {
|
||||||
|
viewModel.setDepositoFilter(value);
|
||||||
|
viewModel.applyAllTests();
|
||||||
|
|
||||||
|
refreshArrayAdapter(arrayAdapterNumOrds, getAvailableNumOrds(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterIdViaggio, getAvailableIdViaggio(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterCliente, getAvailableCliente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterTermCons, getAvailableTermCons(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterVettore, getAvailableVettori(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAutomezzo, getAvailableAutomezzi(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAgente, getAvailableAgente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterPaese, getAvailablePaesi(true));
|
||||||
|
});
|
||||||
|
|
||||||
|
BindableString.registerListener(numOrds, value -> {
|
||||||
|
viewModel.setNumOrdFilter(value);
|
||||||
|
viewModel.applyAllTests();
|
||||||
|
|
||||||
|
refreshArrayAdapter(arrayAdapterCodMdep, getAvailableCodMdeps(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterIdViaggio, getAvailableIdViaggio(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterCliente, getAvailableCliente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterTermCons, getAvailableTermCons(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterVettore, getAvailableVettori(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAutomezzo, getAvailableAutomezzi(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAgente, getAvailableAgente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterPaese, getAvailablePaesi(true));
|
||||||
|
});
|
||||||
|
|
||||||
|
BindableString.registerListener(cliente, value -> {
|
||||||
|
viewModel.setClienteFilter(value);
|
||||||
|
viewModel.applyAllTests();
|
||||||
|
|
||||||
|
refreshArrayAdapter(arrayAdapterCodMdep, getAvailableCodMdeps(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterIdViaggio, getAvailableIdViaggio(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterNumOrds, getAvailableNumOrds(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterTermCons, getAvailableTermCons(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterVettore, getAvailableVettori(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAutomezzo, getAvailableAutomezzi(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAgente, getAvailableAgente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterPaese, getAvailablePaesi(true));
|
||||||
|
});
|
||||||
|
|
||||||
|
BindableString.registerListener(terminiConsegna, value -> {
|
||||||
|
viewModel.setTerminiConsegnaFilter(value);
|
||||||
|
viewModel.applyAllTests();
|
||||||
|
|
||||||
|
refreshArrayAdapter(arrayAdapterCodMdep, getAvailableCodMdeps(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterIdViaggio, getAvailableIdViaggio(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterNumOrds, getAvailableNumOrds(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterCliente, getAvailableCliente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterVettore, getAvailableVettori(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAutomezzo, getAvailableAutomezzi(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAgente, getAvailableAgente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterPaese, getAvailablePaesi(true));
|
||||||
|
});
|
||||||
|
|
||||||
|
BindableString.registerListener(vettore, value -> {
|
||||||
|
viewModel.setVettoreFilter(value);
|
||||||
|
viewModel.applyAllTests();
|
||||||
|
|
||||||
|
refreshArrayAdapter(arrayAdapterCodMdep, getAvailableCodMdeps(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterIdViaggio, getAvailableIdViaggio(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterNumOrds, getAvailableNumOrds(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterCliente, getAvailableCliente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterTermCons, getAvailableTermCons(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAutomezzo, getAvailableAutomezzi(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAgente, getAvailableAgente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterPaese, getAvailablePaesi(true));
|
||||||
|
});
|
||||||
|
|
||||||
|
BindableString.registerListener(automezzo, value -> {
|
||||||
|
viewModel.setAutomezzoFilter(value);
|
||||||
|
viewModel.applyAllTests();
|
||||||
|
|
||||||
|
refreshArrayAdapter(arrayAdapterCodMdep, getAvailableCodMdeps(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterIdViaggio, getAvailableIdViaggio(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterNumOrds, getAvailableNumOrds(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterCliente, getAvailableCliente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterTermCons, getAvailableTermCons(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterVettore, getAvailableVettori(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAgente, getAvailableAgente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterPaese, getAvailablePaesi(true));
|
||||||
|
});
|
||||||
|
|
||||||
|
BindableString.resetListeners(dataConsegna);
|
||||||
|
BindableString.registerListener(dataConsegna, value -> {
|
||||||
|
viewModel.setDataConsegnaFilter(dataConsegnaDate);
|
||||||
|
viewModel.applyAllTests();
|
||||||
|
|
||||||
|
refreshArrayAdapter(arrayAdapterCodMdep, getAvailableCodMdeps(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterIdViaggio, getAvailableIdViaggio(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterNumOrds, getAvailableNumOrds(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterCliente, getAvailableCliente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterTermCons, getAvailableTermCons(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterVettore, getAvailableVettori(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAgente, getAvailableAgente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterPaese, getAvailablePaesi(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAutomezzo, getAvailableAutomezzi(true));
|
||||||
|
});
|
||||||
|
|
||||||
|
BindableString.resetListeners(agente);
|
||||||
|
BindableString.registerListener(agente, value -> {
|
||||||
|
viewModel.setAgenteFilter(value);
|
||||||
|
viewModel.applyAllTests();
|
||||||
|
|
||||||
|
refreshArrayAdapter(arrayAdapterCodMdep, getAvailableCodMdeps(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterIdViaggio, getAvailableIdViaggio(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterNumOrds, getAvailableNumOrds(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterCliente, getAvailableCliente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterTermCons, getAvailableTermCons(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterVettore, getAvailableVettori(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterPaese, getAvailablePaesi(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAutomezzo, getAvailableAutomezzi(true));
|
||||||
|
});
|
||||||
|
|
||||||
|
BindableString.resetListeners(paese);
|
||||||
|
BindableString.registerListener(paese, value -> {
|
||||||
|
viewModel.setPaeseFilter(value);
|
||||||
|
viewModel.applyAllTests();
|
||||||
|
|
||||||
|
refreshArrayAdapter(arrayAdapterCodMdep, getAvailableCodMdeps(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterIdViaggio, getAvailableIdViaggio(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterNumOrds, getAvailableNumOrds(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterCliente, getAvailableCliente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterTermCons, getAvailableTermCons(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterVettore, getAvailableVettori(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAgente, getAvailableAgente(true));
|
||||||
|
refreshArrayAdapter(arrayAdapterAutomezzo, getAvailableAutomezzi(true));
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void refreshArrayAdapter(ArrayAdapter<String> arrayAdapter, List<String> inputList) {
|
||||||
|
arrayAdapter.clear();
|
||||||
|
arrayAdapter.addAll(inputList);
|
||||||
|
arrayAdapter.notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private List<String> getAvailableIdViaggio(boolean skipRecalc) {
|
||||||
|
return Stream
|
||||||
|
.of(Objects.requireNonNull(viewModel.getMutableFilteredOrderList().getValue()))
|
||||||
|
.filter(x -> x.getIdViaggio() != null)
|
||||||
|
.sortBy(x -> -x.getIdViaggio())
|
||||||
|
.map(x -> x.getIdViaggio() != null ? x.getIdViaggio().toString() : null)
|
||||||
|
.distinct()
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> getAvailableAgente(boolean skipRecalc) {
|
||||||
|
return Stream.of(Objects.requireNonNull(viewModel.getMutableFilteredOrderList().getValue()))
|
||||||
|
.map(OrdiniUscitaElencoDTO::getNomeAgente)
|
||||||
|
.distinct()
|
||||||
|
.withoutNulls()
|
||||||
|
.sorted()
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> getAvailableCodMdeps(boolean skipRecalc) {
|
||||||
|
return Stream.of(Objects.requireNonNull(viewModel.getMutableFilteredOrderList().getValue()))
|
||||||
|
.map(OrdiniUscitaElencoDTO::getCodMdep)
|
||||||
|
.distinct()
|
||||||
|
.withoutNulls()
|
||||||
|
.sorted()
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> getAvailableCliente(boolean skipRecalc) {
|
||||||
|
return Stream.of(Objects.requireNonNull(viewModel.getMutableFilteredOrderList().getValue()))
|
||||||
|
.map(OrdiniUscitaElencoDTO::getRagSocOrd)
|
||||||
|
.distinct()
|
||||||
|
.withoutNulls()
|
||||||
|
.sorted()
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> getAvailableNumOrds(boolean skipRecalc) {
|
||||||
|
return Stream.of(Objects.requireNonNull(viewModel.getMutableFilteredOrderList().getValue()))
|
||||||
|
.map(x -> x.getNumOrd().toString())
|
||||||
|
.distinct()
|
||||||
|
.withoutNulls()
|
||||||
|
.sorted()
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> getAvailableTermCons(boolean skipRecalc) {
|
||||||
|
return Stream.of(Objects.requireNonNull(viewModel.getMutableFilteredOrderList().getValue()))
|
||||||
|
.map(OrdiniUscitaElencoDTO::getTermCons)
|
||||||
|
.distinct()
|
||||||
|
.withoutNulls()
|
||||||
|
.sorted()
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> getAvailableVettori(boolean skipRecalc) {
|
||||||
|
return Stream.of(Objects.requireNonNull(viewModel.getMutableFilteredOrderList().getValue()))
|
||||||
|
.filter(x -> x.getCodVvet() != null)
|
||||||
|
.map(x -> x.getCodVvet() + " - " + x.getDescrizioneVettore())
|
||||||
|
.distinct()
|
||||||
|
.withoutNulls()
|
||||||
|
.sorted()
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> getAvailableAutomezzi(boolean skipRecalc) {
|
||||||
|
return Stream.of(Objects.requireNonNull(viewModel.getMutableFilteredOrderList().getValue()))
|
||||||
|
.map(OrdiniUscitaElencoDTO::getDescrizioneAuto)
|
||||||
|
.distinct()
|
||||||
|
.withoutNulls()
|
||||||
|
.sorted()
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> getAvailablePaesi(boolean skipRecalc) {
|
||||||
|
return Stream.of(Objects.requireNonNull(viewModel.getMutableFilteredOrderList().getValue()))
|
||||||
|
.map(OrdiniUscitaElencoDTO::getCitta)
|
||||||
|
.withoutNulls()
|
||||||
|
.distinct()
|
||||||
|
.sorted()
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void refreshAll() {
|
||||||
|
deposito.refresh();
|
||||||
|
idViaggio.refresh();
|
||||||
|
numOrds.refresh();
|
||||||
|
cliente.refresh();
|
||||||
|
terminiConsegna.refresh();
|
||||||
|
vettore.refresh();
|
||||||
|
automezzo.refresh();
|
||||||
|
dataConsegna.refresh();
|
||||||
|
agente.refresh();
|
||||||
|
paese.refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void resetAll() {
|
||||||
|
deposito.set(null);
|
||||||
|
idViaggio.set(null);
|
||||||
|
numOrds.set(null);
|
||||||
|
cliente.set(null);
|
||||||
|
dataConsegna.set(null);
|
||||||
|
terminiConsegna.set(null);
|
||||||
|
vettore.set(null);
|
||||||
|
automezzo.set(null);
|
||||||
|
agente.set(null);
|
||||||
|
paese.set(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,21 +1,167 @@
|
|||||||
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs;
|
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs;
|
||||||
|
|
||||||
import java.util.Date;
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.di.BindableString;
|
import com.annimon.stream.Stream;
|
||||||
|
import com.annimon.stream.function.Predicate;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO;
|
||||||
|
|
||||||
public class DialogVenditaFiltroAvanzatoViewModel {
|
public class DialogVenditaFiltroAvanzatoViewModel {
|
||||||
|
|
||||||
public BindableString deposito = new BindableString();
|
private Predicate<OrdiniUscitaElencoDTO> currentDepositoPredicate = null;
|
||||||
public BindableString idViaggio = new BindableString();
|
private Predicate<OrdiniUscitaElencoDTO> currentIdViaggioPredicate = null;
|
||||||
public BindableString numOrds = new BindableString();
|
private Predicate<OrdiniUscitaElencoDTO> currentNumOrdsPredicate = null;
|
||||||
public BindableString cliente = new BindableString();
|
private Predicate<OrdiniUscitaElencoDTO> currentClientePredicate = null;
|
||||||
public BindableString dataConsegna = new BindableString();
|
private Predicate<OrdiniUscitaElencoDTO> currentDataConsPredicate = null;
|
||||||
public BindableString terminiConsegna = new BindableString();
|
private Predicate<OrdiniUscitaElencoDTO> currentTermConsPredicate = null;
|
||||||
public BindableString agente = new BindableString();
|
private Predicate<OrdiniUscitaElencoDTO> currentVettorePredicate = null;
|
||||||
public BindableString vettore = new BindableString();
|
private Predicate<OrdiniUscitaElencoDTO> currentAgentePredicate = null;
|
||||||
public BindableString automezzo = new BindableString();
|
private Predicate<OrdiniUscitaElencoDTO> currentAutomezzoPredicate = null;
|
||||||
|
private Predicate<OrdiniUscitaElencoDTO> currentPaesePredicate = null;
|
||||||
|
|
||||||
public Date dataConsegnaDate;
|
|
||||||
|
private List<OrdiniUscitaElencoDTO> initialOrderList;
|
||||||
|
private MutableLiveData<List<OrdiniUscitaElencoDTO>> currentFilteredOrderList = new MutableLiveData<>();
|
||||||
|
|
||||||
|
public void init(List<OrdiniUscitaElencoDTO> initialList) {
|
||||||
|
this.initialOrderList = initialList;
|
||||||
|
this.currentFilteredOrderList.setValue(this.initialOrderList);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MutableLiveData<List<OrdiniUscitaElencoDTO>> getMutableFilteredOrderList() {
|
||||||
|
return this.currentFilteredOrderList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIDViaggioFilter(String idViaggio) {
|
||||||
|
if(UtilityString.isNullOrEmpty(idViaggio)) currentIdViaggioPredicate = null;
|
||||||
|
else {
|
||||||
|
String[] idViaggiSplitted = idViaggio.split("[,\\ ]");
|
||||||
|
|
||||||
|
try{
|
||||||
|
List<Integer> idViaggiInteger = Stream.of(idViaggiSplitted)
|
||||||
|
.filter(x -> !UtilityString.isNullOrEmpty(x))
|
||||||
|
.map(Integer::parseInt).toList();
|
||||||
|
|
||||||
|
currentIdViaggioPredicate = o -> idViaggiInteger.contains(o.getIdViaggio());
|
||||||
|
} catch (NumberFormatException ex) {
|
||||||
|
currentIdViaggioPredicate = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDepositoFilter(String deposito) {
|
||||||
|
if(UtilityString.isNullOrEmpty(deposito)) currentDepositoPredicate = null;
|
||||||
|
else {
|
||||||
|
currentDepositoPredicate = o -> o.getCodMdep().toLowerCase().equalsIgnoreCase(deposito);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNumOrdFilter(String numOrds) {
|
||||||
|
if(UtilityString.isNullOrEmpty(numOrds)) currentNumOrdsPredicate = null;
|
||||||
|
else {
|
||||||
|
String[] numOrdsSplitted = numOrds.split("[,\\ ]");
|
||||||
|
|
||||||
|
try{
|
||||||
|
List<Integer> numOrdsInteger = Stream.of(numOrdsSplitted)
|
||||||
|
.filter(x -> !UtilityString.isNullOrEmpty(x))
|
||||||
|
.map(Integer::parseInt).toList();
|
||||||
|
|
||||||
|
currentNumOrdsPredicate = o -> numOrdsInteger.contains(o.getNumOrd());
|
||||||
|
} catch (NumberFormatException ex) {
|
||||||
|
currentNumOrdsPredicate = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClienteFilter(String cliente) {
|
||||||
|
if(UtilityString.isNullOrEmpty(cliente)) currentClientePredicate = null;
|
||||||
|
else {
|
||||||
|
currentClientePredicate = o -> o.getRagSocOrd().toLowerCase().contains(cliente.toLowerCase());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTerminiConsegnaFilter(String terminiConsegna) {
|
||||||
|
if(UtilityString.isNullOrEmpty(terminiConsegna)) currentTermConsPredicate = null;
|
||||||
|
else {
|
||||||
|
currentTermConsPredicate = o -> !UtilityString.isNullOrEmpty(o.getTermCons()) && o.getTermCons().equalsIgnoreCase(terminiConsegna);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVettoreFilter(String vettore) {
|
||||||
|
if(UtilityString.isNullOrEmpty(vettore)) currentVettorePredicate = null;
|
||||||
|
else {
|
||||||
|
currentVettorePredicate = o -> (o.getCodVvet() + " - " + o.getDescrizioneVettore()).equalsIgnoreCase(vettore);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAutomezzoFilter(String automezzo) {
|
||||||
|
if(UtilityString.isNullOrEmpty(automezzo)) currentAutomezzoPredicate = null;
|
||||||
|
else {
|
||||||
|
currentAutomezzoPredicate = o -> !UtilityString.isNullOrEmpty(o.getDescrizioneAuto()) && (o.getDescrizioneAuto().toLowerCase().contains(automezzo) || o.getDescrizioneAuto().equalsIgnoreCase(automezzo));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDataConsegnaFilter(Date dataConsegna) {
|
||||||
|
if(dataConsegna == null) currentDataConsPredicate = null;
|
||||||
|
else {
|
||||||
|
currentDataConsPredicate = o -> o.getDataConsD().equals(dataConsegna);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAgenteFilter(String agente) {
|
||||||
|
if(UtilityString.isNullOrEmpty(agente)) currentAgentePredicate = null;
|
||||||
|
else {
|
||||||
|
currentAgentePredicate = o -> !UtilityString.isNullOrEmpty(o.getNomeAgente()) && (o.getNomeAgente().toLowerCase().contains(agente) || o.getNomeAgente().equalsIgnoreCase(agente));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPaeseFilter(String paese) {
|
||||||
|
if(UtilityString.isNullOrEmpty(paese)) currentPaesePredicate = null;
|
||||||
|
else {
|
||||||
|
currentPaesePredicate = o -> !UtilityString.isNullOrEmpty(o.getCitta()) && (o.getCitta().toLowerCase().contains(paese) || o.getCitta().equalsIgnoreCase(paese));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void applyAllTests() {
|
||||||
|
|
||||||
|
List<OrdiniUscitaElencoDTO> returnList = null;
|
||||||
|
|
||||||
|
if (currentNumOrdsPredicate == null &&
|
||||||
|
currentClientePredicate == null &&
|
||||||
|
currentDataConsPredicate == null &&
|
||||||
|
currentTermConsPredicate == null &&
|
||||||
|
currentVettorePredicate == null &&
|
||||||
|
currentAutomezzoPredicate == null &&
|
||||||
|
currentDepositoPredicate == null &&
|
||||||
|
currentIdViaggioPredicate == null &&
|
||||||
|
currentAgentePredicate == null &&
|
||||||
|
currentPaesePredicate == null
|
||||||
|
) {
|
||||||
|
returnList = this.initialOrderList;
|
||||||
|
} else {
|
||||||
|
Stream<OrdiniUscitaElencoDTO> tmpStream = Stream.of(this.initialOrderList)
|
||||||
|
.filter(x ->
|
||||||
|
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
|
||||||
|
(currentClientePredicate == null || (currentClientePredicate.test(x))) &&
|
||||||
|
(currentDataConsPredicate == null || (currentDataConsPredicate.test(x))) &&
|
||||||
|
(currentTermConsPredicate == null || (currentTermConsPredicate.test(x))) &&
|
||||||
|
(currentVettorePredicate == null || (currentVettorePredicate.test(x))) &&
|
||||||
|
(currentAutomezzoPredicate == null || (currentAutomezzoPredicate.test(x))) &&
|
||||||
|
(currentDepositoPredicate == null || (currentDepositoPredicate.test(x))) &&
|
||||||
|
(currentIdViaggioPredicate == null || (currentIdViaggioPredicate.test(x))) &&
|
||||||
|
(currentAgentePredicate == null || (currentAgentePredicate.test(x))) &&
|
||||||
|
(currentPaesePredicate == null || (currentPaesePredicate.test(x)))
|
||||||
|
);
|
||||||
|
|
||||||
|
returnList = tmpStream.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.currentFilteredOrderList.setValue(returnList);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import androidx.core.content.res.ResourcesCompat;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableArrayList;
|
import androidx.databinding.ObservableArrayList;
|
||||||
import androidx.databinding.ObservableList;
|
import androidx.databinding.ObservableList;
|
||||||
@@ -127,17 +128,29 @@ public class OrdiniUscitaElencoAdapter extends SectionedRecyclerViewAdapter<Ordi
|
|||||||
|
|
||||||
listModel.getSelectedObservable().resetOnPropertyChangedCallback();
|
listModel.getSelectedObservable().resetOnPropertyChangedCallback();
|
||||||
|
|
||||||
if(!UtilityString.isNullOrEmpty(listModel.getDescription()))
|
if(listModel.getEtichettaColor() != null)
|
||||||
|
holder.mBinding.emptyView.setBackgroundColor(listModel.getEtichettaColor());
|
||||||
|
else holder.mBinding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), android.R.color.transparent, null));
|
||||||
|
|
||||||
|
if(!UtilityString.isNullOrEmpty(listModel.getDescription())) {
|
||||||
holder.mBinding.descrizione.setText(Html.fromHtml(listModel.getDescription()));
|
holder.mBinding.descrizione.setText(Html.fromHtml(listModel.getDescription()));
|
||||||
|
holder.mBinding.descrizione.setVisibility(View.VISIBLE);
|
||||||
|
} else holder.mBinding.descrizione.setVisibility(View.GONE);
|
||||||
|
|
||||||
if(!UtilityString.isNullOrEmpty(listModel.getSubDescription()))
|
if(!UtilityString.isNullOrEmpty(listModel.getSubDescription())) {
|
||||||
holder.mBinding.subDescrizione.setText(Html.fromHtml(listModel.getSubDescription()));
|
holder.mBinding.subDescrizione.setText(Html.fromHtml(listModel.getSubDescription()));
|
||||||
|
holder.mBinding.subDescrizione.setVisibility(View.VISIBLE);
|
||||||
|
} else holder.mBinding.subDescrizione.setVisibility(View.GONE);
|
||||||
|
|
||||||
if(!UtilityString.isNullOrEmpty(listModel.getRightDescription()))
|
if(!UtilityString.isNullOrEmpty(listModel.getRightDescription())) {
|
||||||
holder.mBinding.rightDescrizione.setText(Html.fromHtml(listModel.getRightDescription()));
|
holder.mBinding.rightDescrizione.setText(Html.fromHtml(listModel.getRightDescription()));
|
||||||
|
holder.mBinding.rightDescrizione.setVisibility(View.VISIBLE);
|
||||||
|
} else holder.mBinding.rightDescrizione.setVisibility(View.GONE);
|
||||||
|
|
||||||
if(!UtilityString.isNullOrEmpty(listModel.getRightSubDescription()))
|
if(!UtilityString.isNullOrEmpty(listModel.getRightSubDescription())) {
|
||||||
holder.mBinding.rightSubDescrizione.setText(Html.fromHtml(listModel.getRightSubDescription()));
|
holder.mBinding.rightSubDescrizione.setText(Html.fromHtml(listModel.getRightSubDescription()));
|
||||||
|
holder.mBinding.rightSubDescrizione.setVisibility(View.VISIBLE);
|
||||||
|
} else holder.mBinding.rightSubDescrizione.setVisibility(View.GONE);
|
||||||
|
|
||||||
holder.mBinding.setSelected(listModel.getSelectedObservable());
|
holder.mBinding.setSelected(listModel.getSelectedObservable());
|
||||||
holder.mBinding.executePendingBindings();
|
holder.mBinding.executePendingBindings();
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.list;
|
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.list;
|
||||||
|
|
||||||
|
import androidx.annotation.ColorInt;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO;
|
||||||
|
|
||||||
@@ -11,6 +13,8 @@ public class OrdiniUscitaElencoListModel implements Cloneable {
|
|||||||
private String rightDescription;
|
private String rightDescription;
|
||||||
private String rightSubDescription;
|
private String rightSubDescription;
|
||||||
|
|
||||||
|
private @ColorInt Integer etichettaColor;
|
||||||
|
|
||||||
private boolean hidden;
|
private boolean hidden;
|
||||||
private BindableBoolean selected = new BindableBoolean();
|
private BindableBoolean selected = new BindableBoolean();
|
||||||
|
|
||||||
@@ -63,6 +67,15 @@ public class OrdiniUscitaElencoListModel implements Cloneable {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public @ColorInt Integer getEtichettaColor() {
|
||||||
|
return etichettaColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrdiniUscitaElencoListModel setEtichettaColor(@ColorInt Integer etichettaColor) {
|
||||||
|
this.etichettaColor = etichettaColor;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isHidden() {
|
public boolean isHidden() {
|
||||||
return hidden;
|
return hidden;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.rest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import retrofit2.Call;
|
||||||
|
import retrofit2.Callback;
|
||||||
|
import retrofit2.Response;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
public class OrdiniUscitaElencoRESTConsumer extends _BaseRESTConsumer {
|
||||||
|
|
||||||
|
public void getOrdiniFromCommessaCollo(String codMdep, MtbColt testataCollo, RunnableArgs<List<DtbOrdt>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
OrdiniUscitaElencoRESTConsumerService service = RESTBuilder.getService(OrdiniUscitaElencoRESTConsumerService.class);
|
||||||
|
service.getOrdiniInCommessaCollo(
|
||||||
|
testataCollo.getDataColloS(),
|
||||||
|
testataCollo.getNumCollo(),
|
||||||
|
testataCollo.getSerCollo(),
|
||||||
|
testataCollo.getGestione(),
|
||||||
|
GestioneEnum.VENDITA.getText(),
|
||||||
|
codMdep)
|
||||||
|
.enqueue(new Callback<ServiceRESTResponse<List<DtbOrdt>>>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ServiceRESTResponse<List<DtbOrdt>>> call, Response<ServiceRESTResponse<List<DtbOrdt>>> response) {
|
||||||
|
analyzeAnswer(response, "getOrdiniFromCommessaCollo", (m) -> {
|
||||||
|
onComplete.run(response.body().getEntity());
|
||||||
|
}, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<List<DtbOrdt>>> call, Throwable t) {
|
||||||
|
onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.rest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import retrofit2.Call;
|
||||||
|
import retrofit2.http.GET;
|
||||||
|
import retrofit2.http.Query;
|
||||||
|
|
||||||
|
public interface OrdiniUscitaElencoRESTConsumerService {
|
||||||
|
|
||||||
|
@GET("getOrdiniInCommCollo")
|
||||||
|
Call<ServiceRESTResponse<List<DtbOrdt>>> getOrdiniInCommessaCollo(@Query("dataCollo") String dataCollo, @Query("numCollo") Integer numCollo, @Query("serCollo") String serCollo, @Query("gestioneCollo") String gestioneCollo, @Query("gestioneOrdine") String gestioneOrdine, @Query("codMdep") String codMdep);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
package it.integry.integrywmsnative.gest.picking_libero;
|
package it.integry.integrywmsnative.gest.picking_libero;
|
||||||
|
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
@@ -14,7 +13,6 @@ import androidx.core.content.ContextCompat;
|
|||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableList;
|
import androidx.databinding.ObservableList;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import com.tfb.fbtoast.FBToast;
|
import com.tfb.fbtoast.FBToast;
|
||||||
@@ -32,6 +30,7 @@ import it.integry.integrywmsnative.R;
|
|||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.BaseFragment;
|
||||||
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||||
@@ -45,7 +44,6 @@ import it.integry.integrywmsnative.core.model.VtbDest;
|
|||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityToast;
|
import it.integry.integrywmsnative.core.utility.UtilityToast;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding;
|
import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding;
|
||||||
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoListAdapter;
|
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoListAdapter;
|
||||||
@@ -53,18 +51,18 @@ import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGExcep
|
|||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
||||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||||
|
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView;
|
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskCliente;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts;
|
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A simple {@link Fragment} subclass.
|
* A simple {@link Fragment} subclass.
|
||||||
*/
|
*/
|
||||||
public class PickingLiberoFragment extends Fragment implements ITitledFragment, IScrollableFragment, ILifecycleFragment, PickingLiberoViewModel.Listener, BottomSheetMtbColrEditView.Listener {
|
public class PickingLiberoFragment extends BaseFragment implements ITitledFragment, IScrollableFragment, ILifecycleFragment, PickingLiberoViewModel.Listener, BottomSheetMtbColrEditView.Listener {
|
||||||
|
|
||||||
private FragmentPickingLiberoBinding mBindings;
|
private FragmentPickingLiberoBinding mBindings;
|
||||||
|
|
||||||
@@ -84,8 +82,6 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
|
|
||||||
private int barcodeScannerIstanceID = -1;
|
private int barcodeScannerIstanceID = -1;
|
||||||
|
|
||||||
private Dialog mCurrentProgress;
|
|
||||||
|
|
||||||
private GestioneEnum mCurrentGestione;
|
private GestioneEnum mCurrentGestione;
|
||||||
|
|
||||||
public PickingLiberoFragment() {
|
public PickingLiberoFragment() {
|
||||||
@@ -108,11 +104,6 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
mToolbarTitleText.setText(context.getText(R.string.free_picking_title_fragment).toString());
|
mToolbarTitleText.setText(context.getText(R.string.free_picking_title_fragment).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
|
|
||||||
this.mOnPreDestroyList.add(onActionBarPreDestroy);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -177,7 +168,7 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
mBindings.pickingLiberoMainList.setHasFixedSize(true);
|
mBindings.pickingLiberoMainList.setHasFixedSize(true);
|
||||||
mBindings.pickingLiberoMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
|
mBindings.pickingLiberoMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||||
|
|
||||||
DividerItemDecoration itemDecorator = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL);
|
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(getActivity(), SimpleDividerItemDecoration.VERTICAL);
|
||||||
itemDecorator.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider));
|
itemDecorator.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider));
|
||||||
mBindings.pickingLiberoMainList.addItemDecoration(itemDecorator);
|
mBindings.pickingLiberoMainList.addItemDecoration(itemDecorator);
|
||||||
}
|
}
|
||||||
@@ -199,7 +190,6 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
|
|
||||||
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
||||||
BarcodeManager.disable();
|
BarcodeManager.disable();
|
||||||
|
|
||||||
this.openProgress();
|
this.openProgress();
|
||||||
|
|
||||||
this.mViewModel.processBarcodeDTO(data, () -> {
|
this.mViewModel.processBarcodeDTO(data, () -> {
|
||||||
@@ -221,26 +211,12 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
this.mViewModel.closeLU(null);
|
this.mViewModel.closeLU(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void openProgress() {
|
|
||||||
if (this.mCurrentProgress == null) {
|
|
||||||
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void closeProgress() {
|
|
||||||
if (mCurrentProgress != null) {
|
|
||||||
mCurrentProgress.dismiss();
|
|
||||||
mCurrentProgress = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDestroyView() {
|
public void onDestroy() {
|
||||||
for (Runnable onPreDestroy : mOnPreDestroyList) {
|
for (Runnable onPreDestroy : mOnPreDestroyList) {
|
||||||
onPreDestroy.run();
|
onPreDestroy.run();
|
||||||
}
|
}
|
||||||
super.onDestroyView();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -248,11 +224,6 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
mToolbar = toolbar;
|
mToolbar = toolbar;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setScrollableOnPreDestroy(Runnable onPreDestroy) {
|
|
||||||
mOnPreDestroyList.add(onPreDestroy);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoadingStarted() {
|
public void onLoadingStarted() {
|
||||||
@@ -266,65 +237,65 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLUOpened(MtbColt mtbColt) {
|
public void onLUOpened(MtbColt mtbColt) {
|
||||||
mToolbarTitleText.setText(String.format(getActivity().getText(R.string.lu_number_text).toString(), mtbColt.getNumCollo()));
|
getActivity().runOnUiThread(() -> {
|
||||||
|
mToolbarTitleText.setText(String.format(getActivity().getText(R.string.lu_number_text).toString(), mtbColt.getNumCollo()));
|
||||||
|
|
||||||
initAdapter();
|
initAdapter();
|
||||||
|
|
||||||
thereIsAnOpenedUL.set(true);
|
thereIsAnOpenedUL.set(true);
|
||||||
thereIsAnyRowInUL.set(mtbColt.getMtbColr().size() > 0, true);
|
thereIsAnyRowInUL.set(mtbColt.getMtbColr().size() > 0, true);
|
||||||
|
|
||||||
mtbColt.getMtbColr().addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
mtbColt.getMtbColr().addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onChanged(ObservableList sender) {
|
public void onChanged(ObservableList sender) {
|
||||||
thereIsAnyRowInUL.set(mtbColt.getMtbColr().size() > 0, true);
|
thereIsAnyRowInUL.set(mtbColt.getMtbColr().size() > 0, true);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
FBToast.successToast(getActivity(), getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
||||||
});
|
});
|
||||||
|
|
||||||
FBToast.successToast(getActivity(), getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLUClosed() {
|
public void onLUClosed() {
|
||||||
mToolbarTitleText.setText(getActivity().getText(R.string.free_picking_title_fragment).toString());
|
getActivity().runOnUiThread(() -> {
|
||||||
destroyAdapter();
|
mToolbarTitleText.setText(getActivity().getText(R.string.free_picking_title_fragment).toString());
|
||||||
|
destroyAdapter();
|
||||||
|
|
||||||
thereIsAnyRowInUL.set(false);
|
thereIsAnyRowInUL.set(false);
|
||||||
thereIsAnOpenedUL.set(false);
|
thereIsAnOpenedUL.set(false);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete) {
|
public void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete) {
|
||||||
String text = getResources().getString(R.string.alert_delete_mtb_colr);
|
String text = getResources().getString(R.string.alert_delete_mtb_colr);
|
||||||
DialogSimpleMessageHelper.makeWarningDialog(getActivity(),
|
DialogSimpleMessageView.makeWarningDialog(new SpannableString(text),
|
||||||
new SpannableString(text),
|
|
||||||
null,
|
null,
|
||||||
() -> onComplete.run(true),
|
() -> onComplete.run(true),
|
||||||
() -> onComplete.run(false)
|
() -> onComplete.run(false)
|
||||||
).show();
|
).show(getActivity().getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(Exception ex) {
|
public void onError(Exception ex) {
|
||||||
this.closeProgress();
|
getActivity().runOnUiThread(() -> {
|
||||||
|
this.closeProgress();
|
||||||
|
|
||||||
if (ex instanceof InvalidPesoKGException) {
|
if (ex instanceof InvalidPesoKGException) {
|
||||||
UtilityToast.showToast(ex.getMessage());
|
UtilityToast.showToast(ex.getMessage());
|
||||||
} else {
|
} else {
|
||||||
UtilityExceptions.defaultException(getActivity(), ex, mCurrentProgress);
|
UtilityExceptions.defaultException(getActivity(), ex, mCurrentProgress);
|
||||||
}
|
}
|
||||||
|
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLUClienteRequired(RunnableArgss<VtbDest, String> onComplete, Runnable onAbort) {
|
public void onLUClienteRequired(RunnableArgss<VtbDest, String> onComplete, Runnable onAbort) {
|
||||||
DialogAskCliente.makeBase(getActivity(), (status, result, codJcom) -> {
|
DialogAskClienteView.newInstance(onComplete, onAbort)
|
||||||
if (status == DialogConsts.Results.YES) {
|
.show(getActivity().getSupportFragmentManager(), "tag");
|
||||||
onComplete.run(result, codJcom);
|
|
||||||
} else {
|
|
||||||
onAbort.run();
|
|
||||||
}
|
|
||||||
}).show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -332,8 +303,7 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
DialogChooseArtsFromListaArts.make(getActivity(), mtbColrsToPick, onComplete, () -> {
|
DialogChooseArtsFromListaArts.make(getActivity(), mtbColrsToPick, onComplete, () -> {
|
||||||
onAbort.run();
|
onAbort.run();
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
})
|
});
|
||||||
.show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -373,7 +343,7 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||||
.setCanLUBeClosed(canLUBeClosed);
|
.setCanLUBeClosed(canLUBeClosed);
|
||||||
|
|
||||||
DialogInputQuantityV2
|
DialogInputQuantityV2View
|
||||||
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
||||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
.setNumCnf(resultDTO.getNumCnf())
|
.setNumCnf(resultDTO.getNumCnf())
|
||||||
@@ -392,11 +362,12 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRowSaved() {
|
public void onRowSaved() {
|
||||||
FBToast.successToast(getActivity(), getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
getActivity().runOnUiThread(() -> {
|
||||||
|
FBToast.successToast(getActivity(), getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMtbColrEdit(MtbColr mtbColr) {
|
public void onMtbColrEdit(MtbColr mtbColr) {
|
||||||
this.mViewModel.dispatchRowEdit(mtbColr);
|
this.mViewModel.dispatchRowEdit(mtbColr);
|
||||||
@@ -410,7 +381,12 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
@Override
|
@Override
|
||||||
public void onPreDestroy(Runnable onComplete) {
|
public void onPreDestroy(Runnable onComplete) {
|
||||||
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
||||||
if(thereIsAnOpenedUL.get()) mViewModel.closeLU(onComplete);
|
if (thereIsAnOpenedUL.get()) mViewModel.closeLU(onComplete);
|
||||||
else onComplete.run();
|
else onComplete.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addOnPreDestroy(Runnable onPreDestroy) {
|
||||||
|
this.mOnPreDestroyList.add(onPreDestroy);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -179,15 +179,20 @@ public class PickingLiberoViewModel {
|
|||||||
|
|
||||||
public void createNewLU(Integer customNumCollo, String customSerCollo, Runnable onComplete) {
|
public void createNewLU(Integer customNumCollo, String customSerCollo, Runnable onComplete) {
|
||||||
if (this.mFlagAskCliente) {
|
if (this.mFlagAskCliente) {
|
||||||
|
this.sendOnLoadingEnded();
|
||||||
this.sendLUClienteRequired((vtbDest, codJcom) -> {
|
this.sendLUClienteRequired((vtbDest, codJcom) -> {
|
||||||
createNewLU_PostClienteAsk(customNumCollo, customSerCollo, vtbDest, codJcom, onComplete);
|
createNewLU_PostClienteAsk(customNumCollo, customSerCollo, vtbDest, codJcom, onComplete);
|
||||||
}, onComplete);
|
}, () -> {
|
||||||
|
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
createNewLU_PostClienteAsk(customNumCollo, customSerCollo, null, null, onComplete);
|
createNewLU_PostClienteAsk(customNumCollo, customSerCollo, null, null, onComplete);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createNewLU_PostClienteAsk(Integer customNumCollo, String customSerCollo, VtbDest vtbDest, String codJcom, Runnable onComplete) {
|
private void createNewLU_PostClienteAsk(Integer customNumCollo, String customSerCollo, VtbDest vtbDest, String codJcom, Runnable onComplete) {
|
||||||
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
MtbColt mtbColt = new MtbColt();
|
MtbColt mtbColt = new MtbColt();
|
||||||
mtbColt.initDefaultFields();
|
mtbColt.initDefaultFields();
|
||||||
mtbColt.setGestione(mDefaultGestione)
|
mtbColt.setGestione(mDefaultGestione)
|
||||||
@@ -209,7 +214,7 @@ public class PickingLiberoViewModel {
|
|||||||
mtbColt.setCodVdes(vtbDest.getCodVdes());
|
mtbColt.setCodVdes(vtbDest.getCodVdes());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!UtilityString.isNullOrEmpty(codJcom)) {
|
if (!UtilityString.isNullOrEmpty(codJcom)) {
|
||||||
mtbColt.setCodJcom(codJcom);
|
mtbColt.setCodJcom(codJcom);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -376,38 +381,29 @@ public class PickingLiberoViewModel {
|
|||||||
|
|
||||||
this.sendOnLoadingStarted();
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
mColliMagazzinoRESTConsumer.saveCollo(clonedTestata, value -> {
|
new Thread(() -> {
|
||||||
for (int i = 0; i < mtbColrObservableField.size(); i++) {
|
mColliMagazzinoRESTConsumer.saveCollo(clonedTestata, value -> {
|
||||||
MtbColr initialMtbColr = mtbColrObservableField.get(i);
|
for (int i = 0; i < mtbColrObservableField.size(); i++) {
|
||||||
|
MtbColr initialMtbColr = mtbColrObservableField.get(i);
|
||||||
|
|
||||||
initialMtbColr
|
initialMtbColr
|
||||||
.setDataCollo(value.getDataColloS())
|
.setDataCollo(value.getDataColloS())
|
||||||
.setNumCollo(value.getNumCollo())
|
.setNumCollo(value.getNumCollo())
|
||||||
.setGestione(value.getGestione())
|
.setGestione(value.getGestione())
|
||||||
.setSerCollo(value.getSerCollo());
|
.setSerCollo(value.getSerCollo());
|
||||||
|
|
||||||
initialMtbColr.setRiga(value.getMtbColr().get(i).getRiga());
|
initialMtbColr.setRiga(value.getMtbColr().get(i).getRiga());
|
||||||
|
mCurrentMtbColt.getMtbColr().add(mtbColrObservableField.get(i));
|
||||||
|
}
|
||||||
|
|
||||||
// for (int j = 0; j < value.getMtbColr().size(); j++) {
|
this.sendOnRowSaved();
|
||||||
// MtbColr savedMtbColr = value.getMtbColr().get(j);
|
this.sendOnLoadingEnded();
|
||||||
// if (savedMtbColr.getCodMart().equals(initialMtbColr.getCodMart()) &&
|
|
||||||
// UtilityString.equalsIgnoreCase(savedMtbColr.getPartitaMag(), initialMtbColr.getPartitaMag()) &&
|
|
||||||
// UtilityString.equalsIgnoreCase(savedMtbColr.getCodCol(), initialMtbColr.getCodCol()) &&
|
|
||||||
// UtilityString.equalsIgnoreCase(savedMtbColr.getCodTagl(), initialMtbColr.getCodTagl()) &&
|
|
||||||
// savedMtbColr.getQtaCol().equals(initialMtbColr.getQtaCol()) &&
|
|
||||||
// savedMtbColr.getNumCnf().equals(initialMtbColr.getNumCnf())) {
|
|
||||||
// initialMtbColr.setRiga(savedMtbColr.getRiga());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
mCurrentMtbColt.getMtbColr().add(mtbColrObservableField.get(i));
|
onComplete.run();
|
||||||
}
|
|
||||||
|
|
||||||
this.sendOnRowSaved();
|
}, this::sendError);
|
||||||
this.sendOnLoadingEnded();
|
|
||||||
|
|
||||||
onComplete.run();
|
}).start();
|
||||||
}, this::sendError);
|
|
||||||
}
|
}
|
||||||
}, onComplete);
|
}, onComplete);
|
||||||
} else {
|
} else {
|
||||||
@@ -512,7 +508,7 @@ public class PickingLiberoViewModel {
|
|||||||
.setNumCollo(value.getNumCollo())
|
.setNumCollo(value.getNumCollo())
|
||||||
.setGestione(value.getGestione())
|
.setGestione(value.getGestione())
|
||||||
.setSerCollo(value.getSerCollo())
|
.setSerCollo(value.getSerCollo())
|
||||||
.setRiga(value.getMtbColr().get(0).getRiga())
|
.setRiga(value.getMtbColr().get(value.getMtbColr().size() - 1).getRiga())
|
||||||
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
||||||
.setMtbAart(pickingObjectDTO.getMtbAart());
|
.setMtbAart(pickingObjectDTO.getMtbAart());
|
||||||
|
|
||||||
@@ -646,8 +642,6 @@ public class PickingLiberoViewModel {
|
|||||||
.setQtaCol(qtaTot)
|
.setQtaCol(qtaTot)
|
||||||
.setPartitaMag(partitaMag)
|
.setPartitaMag(partitaMag)
|
||||||
.setDataScadPartita(dataScad)
|
.setDataScadPartita(dataScad)
|
||||||
.setUtente(SettingsManager.i().getUser().getFullname())
|
|
||||||
.setCausale(MtbColr.Causale.RETTIFICA)
|
|
||||||
.setDatetimeRow(UtilityDate.getDateInstance());
|
.setDatetimeRow(UtilityDate.getDateInstance());
|
||||||
|
|
||||||
mtbColt.getMtbColr().add(mtbColr);
|
mtbColt.getMtbColr().add(mtbColr);
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import it.integry.integrywmsnative.core.model.MtbColr;
|
|||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
|
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
@@ -49,9 +50,9 @@ import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
|||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
import it.integry.integrywmsnative.view.dialogs.note_aggiuntive_lu.NoteAggiuntiveLUDialog;
|
import it.integry.integrywmsnative.view.dialogs.note_aggiuntive_lu.NoteAggiuntiveLUDialog;
|
||||||
|
|
||||||
public class PickingResiActivity extends BaseActivity implements BottomSheetFragmentLUContentView.Listener, BottomSheetFragmentLUContentViewModel.Listener, PickingResiViewModel.Listener {
|
public class PickingResiActivity extends BaseActivity implements BottomSheetFragmentLUContentView.Listener, BottomSheetFragmentLUContentViewModel.Listener, PickingResiViewModel.Listener {
|
||||||
@@ -179,9 +180,9 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
|
|||||||
this.mBindings.mainList.setAdapter(pickingResiListAdapter);
|
this.mBindings.mainList.setAdapter(pickingResiListAdapter);
|
||||||
this.mBindings.mainList.setLayoutManager(new LinearLayoutManager(this));
|
this.mBindings.mainList.setLayoutManager(new LinearLayoutManager(this));
|
||||||
|
|
||||||
pickingResiListAdapter.setOnItemClicked(clickedItem -> {
|
pickingResiListAdapter.setOnItemClicked((clickedItem, refMtbColt) -> {
|
||||||
if (!noLUPresent.get()) {
|
if (!noLUPresent.get()) {
|
||||||
this.mViewmodel.dispatchOrdineRow(clickedItem);
|
this.mViewmodel.dispatchOrdineRow(clickedItem, refMtbColt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -190,7 +191,11 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
|
|||||||
private List<PickingResiListModel> convertDataModelToListModel(List<WithdrawableDtbDocr> dataList) {
|
private List<PickingResiListModel> convertDataModelToListModel(List<WithdrawableDtbDocr> dataList) {
|
||||||
List<PickingResiListModel> pickingResiListModels = new ArrayList<>();
|
List<PickingResiListModel> pickingResiListModels = new ArrayList<>();
|
||||||
|
|
||||||
Stream.of(dataList)
|
List<WithdrawableDtbDocr> tmpList = Stream.of(dataList)
|
||||||
|
.filter(x -> !x.isHidden() && UtilityBigDecimal.greaterThan(x.getQtaDoc(), BigDecimal.ZERO))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
Stream.of(tmpList)
|
||||||
.sortBy(x -> x.getNumDoc() + " " + x.getDataDocS() + " " + x.getCodDtip() + " " + x.getSerDoc() + " " + x.getCodAnag() + " " + x.getIdRiga())
|
.sortBy(x -> x.getNumDoc() + " " + x.getDataDocS() + " " + x.getCodDtip() + " " + x.getSerDoc() + " " + x.getCodAnag() + " " + x.getIdRiga())
|
||||||
.forEach(x -> {
|
.forEach(x -> {
|
||||||
|
|
||||||
@@ -251,6 +256,10 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void removeListFilter() {
|
||||||
|
this.mViewmodel.resetMatchedRows();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMtbColrEdit(MtbColr mtbColr) {
|
public void onMtbColrEdit(MtbColr mtbColr) {
|
||||||
this.mViewmodel.dispatchRowEdit(mtbColr);
|
this.mViewmodel.dispatchRowEdit(mtbColr);
|
||||||
@@ -309,7 +318,7 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
|
|||||||
.setCanLUBeClosed(false)
|
.setCanLUBeClosed(false)
|
||||||
.setCanPartitaMagBeChanged(false);
|
.setCanPartitaMagBeChanged(false);
|
||||||
|
|
||||||
DialogInputQuantityV2
|
DialogInputQuantityV2View
|
||||||
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
||||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
.setNumCnf(resultDTO.getNumCnf())
|
.setNumCnf(resultDTO.getNumCnf())
|
||||||
@@ -321,11 +330,23 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
|
|||||||
this.openProgress();
|
this.openProgress();
|
||||||
onComplete.run(pickedQuantityDTO, shouldCloseLU);
|
onComplete.run(pickedQuantityDTO, shouldCloseLU);
|
||||||
}, () -> {
|
}, () -> {
|
||||||
// this.mViewmodel.resetMatchedRows();
|
this.mViewmodel.resetMatchedRows();
|
||||||
})
|
})
|
||||||
.show(getSupportFragmentManager(), "tag");
|
.show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFilterApplied(String newValue) {
|
||||||
|
this.mBindings.filteredArtsInListExpandableLayout.expand(true);
|
||||||
|
this.mBindings.descriptionFilterText.setText(!UtilityString.isNullOrEmpty(newValue) ? newValue : "");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFilterRemoved() {
|
||||||
|
this.mBindings.filteredArtsInListExpandableLayout.collapse(true);
|
||||||
|
this.mBindings.descriptionFilterText.setText("");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRowSaved() {
|
public void onRowSaved() {
|
||||||
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
||||||
@@ -334,12 +355,11 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
|
|||||||
@Override
|
@Override
|
||||||
public void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete) {
|
public void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete) {
|
||||||
String text = getResources().getString(R.string.alert_delete_mtb_colr);
|
String text = getResources().getString(R.string.alert_delete_mtb_colr);
|
||||||
DialogSimpleMessageHelper.makeWarningDialog(this,
|
DialogSimpleMessageView.makeWarningDialog(new SpannableString(text),
|
||||||
new SpannableString(text),
|
|
||||||
null,
|
null,
|
||||||
() -> onComplete.run(true),
|
() -> onComplete.run(true),
|
||||||
() -> onComplete.run(false)
|
() -> onComplete.run(false)
|
||||||
).show();
|
).show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -362,7 +382,9 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
|
|||||||
public void onLUSuccessullyPrinted() {
|
public void onLUSuccessullyPrinted() {
|
||||||
Resources res = getResources();
|
Resources res = getResources();
|
||||||
String errorMessage = res.getText(R.string.alert_print_completed_message).toString();
|
String errorMessage = res.getText(R.string.alert_print_completed_message).toString();
|
||||||
DialogSimpleMessageHelper.makeSuccessDialog(this, res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null).show();
|
DialogSimpleMessageView
|
||||||
|
.makeSuccessDialog(res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null)
|
||||||
|
.show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -373,13 +395,13 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
|
|||||||
@Override
|
@Override
|
||||||
public void onLUPrintError(Exception ex, Runnable onComplete) {
|
public void onLUPrintError(Exception ex, Runnable onComplete) {
|
||||||
this.closeProgress();
|
this.closeProgress();
|
||||||
DialogSimpleMessageHelper.makeErrorDialog(
|
DialogSimpleMessageView.makeErrorDialog(
|
||||||
this,
|
|
||||||
new SpannableString(ex.getMessage()),
|
new SpannableString(ex.getMessage()),
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
R.string.button_ignore_print,
|
R.string.button_ignore_print,
|
||||||
onComplete).show();
|
onComplete)
|
||||||
|
.show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user