[SAPORI VERI]

- libreria scanner in emulazione di tastiera
- nuova libreria dinamica per sapori veri per gestire gli ordini d'acquisto dai punti vendita
This commit is contained in:
Valerio Castellana 2019-11-05 09:43:01 +01:00
parent 4ef25e1e56
commit 3c14d437a8
111 changed files with 2297 additions and 222 deletions

Binary file not shown.

99
.idea/dbnavigator.xml generated
View File

@ -25,9 +25,17 @@
<show-object-properties value="true" /> <show-object-properties value="true" />
<loaded-nodes /> <loaded-nodes />
</component> </component>
<component name="DBNavigator.Project.DatabaseConsoleManager">
<connection id="3a27a6d2-c1c7-40d3-b3c7-5354d987976c">
<console name="Connection" type="STANDARD" schema="main" session="Main"><![CDATA[select * from articoli_griglia]]></console>
</connection>
</component>
<component name="DBNavigator.Project.DatabaseFileManager"> <component name="DBNavigator.Project.DatabaseFileManager">
<open-files /> <open-files />
</component> </component>
<component name="DBNavigator.Project.DatabaseSessionManager">
<connection id="3a27a6d2-c1c7-40d3-b3c7-5354d987976c" />
</component>
<component name="DBNavigator.Project.EditorStateManager"> <component name="DBNavigator.Project.EditorStateManager">
<last-used-providers /> <last-used-providers />
</component> </component>
@ -50,7 +58,94 @@
<recently-used-interfaces /> <recently-used-interfaces />
</component> </component>
<component name="DBNavigator.Project.Settings"> <component name="DBNavigator.Project.Settings">
<connections /> <connections>
<connection id="3a27a6d2-c1c7-40d3-b3c7-5354d987976c" active="true">
<database>
<name value="Connection" />
<description value="integry wms db" />
<database-type value="SQLITE" />
<config-type value="BASIC" />
<database-version value="3.21" />
<driver-source value="BUILTIN" />
<driver-library value="" />
<driver value="" />
<url-type value="FILE" />
<host value="localhost" />
<port value="1234" />
<database value="database" />
<files>
<file path="C:\Users\ValerioC\Documents\AndroidStudio\DeviceExplorer\razer-phone-181749V00402318\data\data\it.integry.integrywmsnative\databases\integry_wms" schema="main" />
</files>
<type value="NONE" />
<user value="" />
<deprecated-pwd value="" />
</database>
<properties>
<auto-commit value="false" />
</properties>
<ssh-settings>
<active value="false" />
<proxy-host value="" />
<proxy-port value="22" />
<proxy-user value="" />
<deprecated-proxy-pwd value="" />
<auth-type value="PASSWORD" />
<key-file value="" />
<key-passphrase value="" />
</ssh-settings>
<ssl-settings>
<active value="false" />
<certificate-authority-file value="" />
<client-certificate-file value="" />
<client-key-file value="" />
</ssl-settings>
<details>
<charset value="UTF-8" />
<session-management value="true" />
<ddl-file-binding value="true" />
<database-logging value="false" />
<connect-automatically value="true" />
<restore-workspace value="true" />
<restore-workspace-deep value="true" />
<environment-type value="default" />
<idle-time-to-disconnect value="30" />
<idle-time-to-disconnect-pool value="5" />
<credential-expiry-time value="10" />
<max-connection-pool-size value="7" />
<alternative-statement-delimiter value="" />
</details>
<object-filters hide-empty-schemas="false" hide-pseudo-columns="false">
<object-type-filter use-master-settings="true">
<object-type name="SCHEMA" enabled="true" />
<object-type name="USER" enabled="true" />
<object-type name="ROLE" enabled="true" />
<object-type name="PRIVILEGE" enabled="true" />
<object-type name="CHARSET" enabled="true" />
<object-type name="TABLE" enabled="true" />
<object-type name="VIEW" enabled="true" />
<object-type name="MATERIALIZED_VIEW" enabled="true" />
<object-type name="NESTED_TABLE" enabled="true" />
<object-type name="COLUMN" enabled="true" />
<object-type name="INDEX" enabled="true" />
<object-type name="CONSTRAINT" enabled="true" />
<object-type name="DATASET_TRIGGER" enabled="true" />
<object-type name="DATABASE_TRIGGER" enabled="true" />
<object-type name="SYNONYM" enabled="true" />
<object-type name="SEQUENCE" enabled="true" />
<object-type name="PROCEDURE" enabled="true" />
<object-type name="FUNCTION" enabled="true" />
<object-type name="PACKAGE" enabled="true" />
<object-type name="TYPE" enabled="true" />
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
<object-type name="ARGUMENT" enabled="true" />
<object-type name="DIMENSION" enabled="true" />
<object-type name="CLUSTER" enabled="true" />
<object-type name="DBLINK" enabled="true" />
</object-type-filter>
<object-name-filters />
</object-filters>
</connection>
</connections>
<browser-settings> <browser-settings>
<general> <general>
<display-mode value="TABBED" /> <display-mode value="TABBED" />
@ -180,8 +275,6 @@
<content-type name="HTML" enabled="true" /> <content-type name="HTML" enabled="true" />
<content-type name="XHTML" enabled="true" /> <content-type name="XHTML" enabled="true" />
<content-type name="Java" enabled="true" /> <content-type name="Java" enabled="true" />
<content-type name="SQL" enabled="true" />
<content-type name="PL/SQL" enabled="true" />
<content-type name="Groovy" enabled="true" /> <content-type name="Groovy" enabled="true" />
<content-type name="AIDL" enabled="true" /> <content-type name="AIDL" enabled="true" />
<content-type name="YAML" enabled="true" /> <content-type name="YAML" enabled="true" />

3
.idea/gradle.xml generated
View File

@ -9,13 +9,14 @@
<set> <set>
<option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" /> <option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/barcode_base_library" /> <option value="$PROJECT_DIR$/barcode_base_android_library" />
<option value="$PROJECT_DIR$/dynamic__base" /> <option value="$PROJECT_DIR$/dynamic__base" />
<option value="$PROJECT_DIR$/dynamic_frudis" /> <option value="$PROJECT_DIR$/dynamic_frudis" />
<option value="$PROJECT_DIR$/dynamic_ime" /> <option value="$PROJECT_DIR$/dynamic_ime" />
<option value="$PROJECT_DIR$/dynamic_saporiveri_pv" /> <option value="$PROJECT_DIR$/dynamic_saporiveri_pv" />
<option value="$PROJECT_DIR$/dynamic_vgalimenti" /> <option value="$PROJECT_DIR$/dynamic_vgalimenti" />
<option value="$PROJECT_DIR$/honeywellscannerlibrary" /> <option value="$PROJECT_DIR$/honeywellscannerlibrary" />
<option value="$PROJECT_DIR$/keyobardemulatorscannerlibrary" />
<option value="$PROJECT_DIR$/pointmobilescannerlibrary" /> <option value="$PROJECT_DIR$/pointmobilescannerlibrary" />
<option value="$PROJECT_DIR$/zebrascannerlibrary" /> <option value="$PROJECT_DIR$/zebrascannerlibrary" />
</set> </set>

2
.idea/misc.xml generated
View File

@ -39,7 +39,7 @@
</value> </value>
</option> </option>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">

3
.idea/modules.xml generated
View File

@ -4,13 +4,14 @@
<modules> <modules>
<module fileurl="file://$PROJECT_DIR$/WMS.iml" filepath="$PROJECT_DIR$/WMS.iml" /> <module fileurl="file://$PROJECT_DIR$/WMS.iml" filepath="$PROJECT_DIR$/WMS.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/barcode_base_library/barcode_base_library.iml" filepath="$PROJECT_DIR$/barcode_base_library/barcode_base_library.iml" /> <module fileurl="file://$PROJECT_DIR$/barcode_base_android_library/barcode_base_android_library.iml" filepath="$PROJECT_DIR$/barcode_base_android_library/barcode_base_android_library.iml" />
<module fileurl="file://$PROJECT_DIR$/dynamic__base/dynamic__base.iml" filepath="$PROJECT_DIR$/dynamic__base/dynamic__base.iml" /> <module fileurl="file://$PROJECT_DIR$/dynamic__base/dynamic__base.iml" filepath="$PROJECT_DIR$/dynamic__base/dynamic__base.iml" />
<module fileurl="file://$PROJECT_DIR$/dynamic_frudis/dynamic_frudis.iml" filepath="$PROJECT_DIR$/dynamic_frudis/dynamic_frudis.iml" /> <module fileurl="file://$PROJECT_DIR$/dynamic_frudis/dynamic_frudis.iml" filepath="$PROJECT_DIR$/dynamic_frudis/dynamic_frudis.iml" />
<module fileurl="file://$PROJECT_DIR$/dynamic_ime/dynamic_ime.iml" filepath="$PROJECT_DIR$/dynamic_ime/dynamic_ime.iml" /> <module fileurl="file://$PROJECT_DIR$/dynamic_ime/dynamic_ime.iml" filepath="$PROJECT_DIR$/dynamic_ime/dynamic_ime.iml" />
<module fileurl="file://$PROJECT_DIR$/dynamic_saporiveri_pv/dynamic_saporiveri_pv.iml" filepath="$PROJECT_DIR$/dynamic_saporiveri_pv/dynamic_saporiveri_pv.iml" /> <module fileurl="file://$PROJECT_DIR$/dynamic_saporiveri_pv/dynamic_saporiveri_pv.iml" filepath="$PROJECT_DIR$/dynamic_saporiveri_pv/dynamic_saporiveri_pv.iml" />
<module fileurl="file://$PROJECT_DIR$/dynamic_vgalimenti/dynamic_vgalimenti.iml" filepath="$PROJECT_DIR$/dynamic_vgalimenti/dynamic_vgalimenti.iml" /> <module fileurl="file://$PROJECT_DIR$/dynamic_vgalimenti/dynamic_vgalimenti.iml" filepath="$PROJECT_DIR$/dynamic_vgalimenti/dynamic_vgalimenti.iml" />
<module fileurl="file://$PROJECT_DIR$/honeywellscannerlibrary/honeywellscannerlibrary.iml" filepath="$PROJECT_DIR$/honeywellscannerlibrary/honeywellscannerlibrary.iml" /> <module fileurl="file://$PROJECT_DIR$/honeywellscannerlibrary/honeywellscannerlibrary.iml" filepath="$PROJECT_DIR$/honeywellscannerlibrary/honeywellscannerlibrary.iml" />
<module fileurl="file://$PROJECT_DIR$/keyobardemulatorscannerlibrary/keyobardemulatorscannerlibrary.iml" filepath="$PROJECT_DIR$/keyobardemulatorscannerlibrary/keyobardemulatorscannerlibrary.iml" />
<module fileurl="file://$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" filepath="$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" /> <module fileurl="file://$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" filepath="$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" />
<module fileurl="file://$PROJECT_DIR$/zebrascannerlibrary/zebrascannerlibrary.iml" filepath="$PROJECT_DIR$/zebrascannerlibrary/zebrascannerlibrary.iml" /> <module fileurl="file://$PROJECT_DIR$/zebrascannerlibrary/zebrascannerlibrary.iml" filepath="$PROJECT_DIR$/zebrascannerlibrary/zebrascannerlibrary.iml" />
</modules> </modules>

View File

@ -6,7 +6,7 @@
<option name="DEPLOY_AS_INSTANT" value="false" /> <option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" /> <option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" /> <option name="PM_INSTALL_OPTIONS" value="" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="dynamic_frudis,dynamic_ime,dynamic_saporiveri_pv,dynamic_vgalimenti" /> <option name="DYNAMIC_FEATURES_DISABLED_LIST" value="dynamic__base,dynamic_frudis,dynamic_ime,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" />

View File

@ -95,16 +95,16 @@ dependencies {
}) })
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.orhanobut:logger:2.2.0' implementation 'com.orhanobut:logger:2.2.0'
implementation 'com.google.firebase:firebase-core:17.2.0' implementation 'com.google.firebase:firebase-core:17.2.1'
implementation 'com.google.firebase:firebase-crash:16.2.1' implementation 'com.google.firebase:firebase-crash:16.2.1'
implementation 'com.google.firebase:firebase-perf:19.0.1' implementation 'com.google.firebase:firebase-perf:19.0.1'
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1' implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.appcompat:appcompat:1.1.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.1.0-beta01' implementation 'com.google.android.material:material:1.1.0-beta01'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta3'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0-beta05' implementation 'androidx.recyclerview:recyclerview:1.1.0-rc01'
implementation 'androidx.preference:preference:1.1.0' implementation 'androidx.preference:preference:1.1.0'
implementation 'com.squareup.okhttp3:okhttp:4.2.2' implementation 'com.squareup.okhttp3:okhttp:4.2.2'
implementation 'com.squareup.retrofit2:retrofit:2.6.2' implementation 'com.squareup.retrofit2:retrofit:2.6.2'
@ -142,7 +142,7 @@ dependencies {
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
//SQLite ROOM //SQLite ROOM
def room_version = "2.2.0" def room_version = "2.2.1"
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,8 +153,9 @@ dependencies {
//Barcode //Barcode
implementation project(':pointmobilescannerlibrary') implementation project(':pointmobilescannerlibrary')
implementation project(':zebrascannerlibrary') implementation project(':zebrascannerlibrary')
implementation project(path: ':barcode_base_library') implementation project(path: ':barcode_base_android_library')
implementation project(path: ':honeywellscannerlibrary') implementation project(path: ':honeywellscannerlibrary')
implementation project(':keyobardemulatorscannerlibrary')
} }
repositories { repositories {
mavenCentral() mavenCentral()

View File

@ -15,14 +15,15 @@ import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.SearchView; import androidx.appcompat.widget.SearchView;
import android.view.KeyEvent;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.SubMenu; import android.view.SubMenu;
import android.view.View; import android.view.View;
import android.widget.Toast;
import androidx.fragment.app.FragmentTransaction; import androidx.fragment.app.FragmentTransaction;
import androidx.recyclerview.widget.GridLayoutManager;
import java.util.List; import java.util.List;
@ -31,6 +32,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.expansion.BaseActivity;
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker; import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment; import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity; import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
@ -41,26 +43,12 @@ import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.update.UpdatesManager; import it.integry.integrywmsnative.core.update.UpdatesManager;
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.databinding.FragmentMainMenuGroupLayoutBinding;
import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.gest.login.LoginActivity; import it.integry.integrywmsnative.gest.login.LoginActivity;
import it.integry.integrywmsnative.gest.main.MainFragment; import it.integry.integrywmsnative.gest.main.MainFragment;
import it.integry.integrywmsnative.gest.ordini_acquisto_pv.OrdiniAcquistoElencoFragment;
import it.integry.integrywmsnative.gest.main.MenuListAdapter;
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.ProdOrdineLavorazioneElencoFragment;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment;
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment;
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment;
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
import it.integry.integrywmsnative.gest.settings.MainSettingsFragment; import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
import it.integry.integrywmsnative.gest.ultime_arrivi_fornitore.UltimiArriviFornitoreFragment;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment;
import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment;
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment;
public class MainActivity extends AppCompatActivity public class MainActivity extends BaseActivity
implements NavigationView.OnNavigationItemSelectedListener, IPoppableActivity { implements NavigationView.OnNavigationItemSelectedListener, IPoppableActivity {
private ActivityMainBinding mBinding; private ActivityMainBinding mBinding;

View File

@ -62,6 +62,7 @@ public class MainApplication extends Application {
public static OrdineDao getOrdiniRepository(){ public static OrdineDao getOrdiniRepository(){
return appDb.ordineDao(); return appDb.ordineDao();
} }
public static ArticoloOrdineDao getArticoliOrdineRepository(){ public static ArticoloOrdineDao getArticoliOrdineRepository(){
return appDb.articoloOrdineDao(); return appDb.articoloOrdineDao();
} }

View File

@ -15,6 +15,7 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil; 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.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;
@ -22,7 +23,7 @@ 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.DialogSimpleMessageHelper;
public class SplashActivity extends AppCompatActivity { public class SplashActivity extends BaseActivity {
private ActivitySplashBinding mBinding; private ActivitySplashBinding mBinding;

View File

@ -26,7 +26,8 @@ public class CommonConst {
public static class Mail { public static class Mail {
public static String[] forErrorsDebug = { public static String[] forErrorsDebug = {
"g.scorrano@integry.it" "g.scorrano@integry.it",
"v.castellana@integry.it"
}; };
public static String[] forErrors = { public static String[] forErrors = {

View File

@ -1,7 +1,7 @@
package it.integry.integrywmsnative.core.barcode_reader; package it.integry.integrywmsnative.core.barcode_reader;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
public class BarcodeCallbackDTO { public class BarcodeCallbackDTO {

View File

@ -1,6 +1,6 @@
package it.integry.integrywmsnative.core.barcode_reader; package it.integry.integrywmsnative.core.barcode_reader;
import android.content.Context; import android.view.KeyEvent;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
@ -8,11 +8,12 @@ import java.lang.reflect.Constructor;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.barcode_base_android_library.exception.BarcodeAdapterNotFoundException;
import it.integry.barcode_base_android_library.interfaces.BarcodeReaderInterface;
import it.integry.honeywellscannerlibrary.HoneyWellBarcodeReader; import it.integry.honeywellscannerlibrary.HoneyWellBarcodeReader;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.plugins.barcode_base_library.exception.BarcodeAdapterNotFoundException; import it.integry.keyobardemulatorscannerlibrary.KeyboardEmulatorBarcodeReader;
import it.integry.plugins.barcode_base_library.interfaces.BarcodeReaderInterface;
import it.integry.pointmobilescannerlibrary.PointMobileBarcodeReader; import it.integry.pointmobilescannerlibrary.PointMobileBarcodeReader;
import it.integry.zebrascannerlibrary.ZebraBarcodeReader; import it.integry.zebrascannerlibrary.ZebraBarcodeReader;
@ -29,7 +30,8 @@ public class BarcodeManager {
private static Class<? extends BarcodeReaderInterface>[] registeredBarcodeReaderInterfaces = new Class[]{ private static Class<? extends BarcodeReaderInterface>[] registeredBarcodeReaderInterfaces = new Class[]{
PointMobileBarcodeReader.class, PointMobileBarcodeReader.class,
ZebraBarcodeReader.class, ZebraBarcodeReader.class,
HoneyWellBarcodeReader.class HoneyWellBarcodeReader.class,
KeyboardEmulatorBarcodeReader.class
}; };
@ -55,7 +57,7 @@ public class BarcodeManager {
} catch (Exception e) { } catch (Exception e) {
UtilityLogger.errorMe(e); UtilityExceptions.defaultException(context,e);
} }
} }
@ -97,6 +99,11 @@ public class BarcodeManager {
} }
public static boolean onKeyDown(int keyCode, KeyEvent keyEvent){
mCurrentBarcodeInterface.onKeyEvent(keyEvent);
return true;
}
public static BarcodeReaderInterface getCurrentBarcodeInterface() { public static BarcodeReaderInterface getCurrentBarcodeInterface() {
return mCurrentBarcodeInterface; return mCurrentBarcodeInterface;
} }
@ -146,4 +153,5 @@ public class BarcodeManager {
} }

View File

@ -17,7 +17,7 @@ import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
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.entity.Ordine; import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
@Database(entities = {ArticoloGriglia.class, Griglia.class, Ordine.class, ArticoloOrdine.class}, version = 1) @Database(entities = {ArticoloGriglia.class, Griglia.class, Ordine.class, ArticoloOrdine.class}, version = 3, exportSchema = false)
@TypeConverters({ @TypeConverters({
DateConverter.class DateConverter.class
}) })

View File

@ -1,7 +1,9 @@
package it.integry.integrywmsnative.core.data_store.db.dao; package it.integry.integrywmsnative.core.data_store.db.dao;
import androidx.room.Dao; import androidx.room.Dao;
import androidx.room.Insert;
import androidx.room.Query; import androidx.room.Query;
import androidx.room.Update;
import java.util.List; import java.util.List;
@ -11,4 +13,15 @@ import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
public interface ArticoloGrigliaDao { public interface ArticoloGrigliaDao {
@Query("SELECT * from articoli_griglia") @Query("SELECT * from articoli_griglia")
List<ArticoloGriglia> getAll(); List<ArticoloGriglia> getAll();
@Query("SELECT articolo_griglia_id FROM articoli_griglia WHERE cod_mart = :codMart AND id_griglia = :idGriglia")
Integer getIdArticoloByGrigliaAndCodMart(int idGriglia, String codMart);
@Insert
void insertAll(List<ArticoloGriglia> articoli);
@Insert
Long insert(ArticoloGriglia articolo);
@Update
void updateAll(List<ArticoloGriglia> articoli);
@Update
void update(ArticoloGriglia articolo);
} }

View File

@ -1,7 +1,10 @@
package it.integry.integrywmsnative.core.data_store.db.dao; package it.integry.integrywmsnative.core.data_store.db.dao;
import androidx.room.Dao; import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query; import androidx.room.Query;
import androidx.room.Update;
import java.util.List; import java.util.List;
@ -12,4 +15,22 @@ import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
public interface GrigliaDao { 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")
Griglia findByCodAlis(String codAlis);
@Insert
long insert(Griglia griglia);
@Update
void update(Griglia griglia);
@Insert
void insertAll(Griglia... griglie);
@Update
void updateAll(Griglia... griglie);
@Delete
void delete(Griglia griglia);
} }

View File

@ -7,9 +7,13 @@ import java.util.List;
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.entity.Ordine; import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
@Dao @Dao
public interface OrdineDao { public interface OrdineDao {
@Query("SELECT * from ordini") @Query("SELECT * from ordini ")
List<Ordine> getAll(); List<Ordine> getAll();
@Query("SELECT ordini.*, griglie.* from ordini inner join griglie ON id_griglia = griglie.griglia_id")
List<OrdineWithGriglia> getAllTrasnmitted();
} }

View File

@ -3,22 +3,27 @@ package it.integry.integrywmsnative.core.data_store.db.entity;
import androidx.room.ColumnInfo; import androidx.room.ColumnInfo;
import androidx.room.Entity; import androidx.room.Entity;
import androidx.room.ForeignKey; import androidx.room.ForeignKey;
import androidx.room.Index;
import androidx.room.PrimaryKey; import androidx.room.PrimaryKey;
@Entity( @Entity(
tableName = "articoli_griglia", tableName = "articoli_griglia",
indices = {
@Index(value = "id_griglia"),
},
foreignKeys = { foreignKeys = {
@ForeignKey( @ForeignKey(
entity = Griglia.class, entity = Griglia.class,
parentColumns = "uid", parentColumns = "griglia_id",
childColumns = "id_griglia", childColumns = "id_griglia",
onDelete = ForeignKey.CASCADE onDelete = ForeignKey.CASCADE
) )
} }
) )
public class ArticoloGriglia { public class ArticoloGriglia {
@PrimaryKey @PrimaryKey(autoGenerate = true)
private int uid; @ColumnInfo(name = "articolo_griglia_id")
private int articoloGrigliaId;
@ColumnInfo(name = "cod_mart") @ColumnInfo(name = "cod_mart")
private String codMart; private String codMart;
@ -50,12 +55,12 @@ public class ArticoloGriglia {
@ColumnInfo(name = "id_griglia") @ColumnInfo(name = "id_griglia")
private int idGriglia; private int idGriglia;
public int getUid() { public int getArticoloGrigliaId() {
return uid; return articoloGrigliaId;
} }
public void setUid(int uid) { public void setArticoloGrigliaId(int articoloGrigliaId) {
this.uid = uid; this.articoloGrigliaId = articoloGrigliaId;
} }
public String getCodMart() { public String getCodMart() {

View File

@ -3,22 +3,27 @@ package it.integry.integrywmsnative.core.data_store.db.entity;
import androidx.room.ColumnInfo; import androidx.room.ColumnInfo;
import androidx.room.Entity; import androidx.room.Entity;
import androidx.room.ForeignKey; import androidx.room.ForeignKey;
import androidx.room.Index;
import androidx.room.PrimaryKey; import androidx.room.PrimaryKey;
@Entity( @Entity(
tableName = "articoli_ordine", tableName = "articoli_ordine",
indices = {
@Index(value = "id_ordine")
},
foreignKeys = { foreignKeys = {
@ForeignKey( @ForeignKey(
entity = Ordine.class, entity = Ordine.class,
parentColumns = "uid", parentColumns = "ordine_id",
childColumns = "id_ordine", childColumns = "id_ordine",
onDelete = ForeignKey.CASCADE onDelete = ForeignKey.CASCADE
) )
} }
) )
public class ArticoloOrdine { public class ArticoloOrdine {
@PrimaryKey @PrimaryKey(autoGenerate = true)
private int uid; @ColumnInfo(name = "articolo_ordine_id")
private int articoloOrdineId;
@ColumnInfo(name = "cod_mart") @ColumnInfo(name = "cod_mart")
private String codMart; private String codMart;
@ -50,12 +55,12 @@ public class ArticoloOrdine {
@ColumnInfo(name = "id_ordine") @ColumnInfo(name = "id_ordine")
private int idOrdine; private int idOrdine;
public int getUid() { public int getArticoloOrdineId() {
return uid; return articoloOrdineId;
} }
public void setUid(int uid) { public void setArticoloOrdineId(int articoloOrdineId) {
this.uid = uid; this.articoloOrdineId = articoloOrdineId;
} }
public String getCodMart() { public String getCodMart() {

View File

@ -2,23 +2,43 @@ package it.integry.integrywmsnative.core.data_store.db.entity;
import androidx.room.ColumnInfo; import androidx.room.ColumnInfo;
import androidx.room.Entity; import androidx.room.Entity;
import androidx.room.Ignore;
import androidx.room.Index;
import androidx.room.PrimaryKey; import androidx.room.PrimaryKey;
@Entity(tableName ="griglie") @Entity(tableName ="griglie",
indices = {
@Index(value = "cod_alis", unique = true)
}
)
public class Griglia { public class Griglia {
@PrimaryKey @PrimaryKey(autoGenerate = true)
private int uid; @ColumnInfo(name = "griglia_id")
private int grigliaId;
@ColumnInfo(name = "cod_alis")
private String codAlis;
@ColumnInfo(name = "descr_lisa") @ColumnInfo(name = "descr_lisa")
private String descrLisa; private String descrLisa;
@ColumnInfo(name = "descr_depo") @ColumnInfo(name = "descr_depo")
private String descrDepo; private String descrDepo;
@Ignore
private int countArticoli = 0;
public int getUid() { public int getGrigliaId() {
return uid; return grigliaId;
} }
public void setUid(int uid) {
this.uid = uid; public void setGrigliaId(int grigliaId) {
this.grigliaId = grigliaId;
}
public String getCodAlis() {
return codAlis;
}
public void setCodAlis(String codAlis) {
this.codAlis = codAlis;
} }
public String getDescrLisa() { public String getDescrLisa() {
@ -36,4 +56,12 @@ public class Griglia {
public void setDescrDepo(String descrDepo) { public void setDescrDepo(String descrDepo) {
this.descrDepo = descrDepo; this.descrDepo = descrDepo;
} }
public int getCountArticoli() {
return countArticoli;
}
public void setCountArticoli(int countArticoli) {
this.countArticoli = countArticoli;
}
} }

View File

@ -1,5 +1,6 @@
package it.integry.integrywmsnative.core.data_store.db.entity; package it.integry.integrywmsnative.core.data_store.db.entity;
import androidx.annotation.Nullable;
import androidx.room.ColumnInfo; import androidx.room.ColumnInfo;
import androidx.room.Entity; import androidx.room.Entity;
import androidx.room.PrimaryKey; import androidx.room.PrimaryKey;
@ -12,24 +13,32 @@ import java.util.Date;
public class Ordine { public class Ordine {
@PrimaryKey @PrimaryKey(autoGenerate = true)
private int uid; @ColumnInfo(name = "ordine_id")
private int ordineId;
@ColumnInfo(name = "data_cons") @ColumnInfo(name = "data_ord")
private Date dataOrd; private Date dataOrd;
@ColumnInfo(name = "annotazioni") @ColumnInfo(name = "annotazioni")
private String annotazioni; private String annotazioni;
@ColumnInfo(name = "transmitted")
private boolean transmitted = false;
@ColumnInfo(name = "transmission_date")
@Nullable
private Date transmissionDate;
@ColumnInfo(name = "id_griglia") @ColumnInfo(name = "id_griglia")
private int idGriglia; private int idGriglia;
public int getUid() { public int getOrdineId() {
return uid; return ordineId;
} }
public void setUid(int uid) { public void setOrdineId(int ordineId) {
this.uid = uid; this.ordineId = ordineId;
} }
public Date getDataOrd() { public Date getDataOrd() {
@ -55,4 +64,21 @@ public class Ordine {
public void setIdGriglia(int idGriglia) { public void setIdGriglia(int idGriglia) {
this.idGriglia = idGriglia; this.idGriglia = idGriglia;
} }
public boolean isTransmitted() {
return transmitted;
}
public void setTransmitted(boolean transmitted) {
this.transmitted = transmitted;
}
@Nullable
public Date getTransmissionDate() {
return transmissionDate;
}
public void setTransmissionDate(@Nullable Date transmissionDate) {
this.transmissionDate = transmissionDate;
}
} }

View File

@ -0,0 +1,47 @@
package it.integry.integrywmsnative.core.data_store.db.repository;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
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.view_model.ArticoloDTO;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
public class ArticoliGrigliaRepository extends Repository{
ArticoloGrigliaDao mRepository;
public ArticoliGrigliaRepository() {
this.mRepository = MainApplication.getArticoliGrigliaRepository();
}
public void saveArticoliToGriglia(List<ArticoloGriglia> articoli, Runnable onSuccess, RunnableArgs<Exception> onFail) {
execute(()->{
try{
List<ArticoloGriglia> toUpdate = new ArrayList<>();
List<ArticoloGriglia> toInsert = new ArrayList<>();
for (ArticoloGriglia art : articoli){
Integer id = mRepository.getIdArticoloByGrigliaAndCodMart(art.getIdGriglia(),art.getCodMart());
if (id != null){
art.setArticoloGrigliaId(id);
toUpdate.add(art);
}else{
toInsert.add(art);
}
}
mRepository.insertAll(toInsert);
mRepository.updateAll(toUpdate);
onSuccess.run();
}catch (Exception e){
onFail.run(e);
}
});
}
}

View File

@ -0,0 +1,55 @@
package it.integry.integrywmsnative.core.data_store.db.repository;
import java.util.List;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
public class GrigliaRepository extends Repository{
private GrigliaDao mRepository;
public GrigliaRepository() {
this.mRepository = MainApplication.getGrigliaRepository();
}
public void selectAll(RunnableArgs<List<Griglia>> onSuccess, RunnableArgs<Exception> onError){
Runnable query = ()->{
try{
onSuccess.run(mRepository.getAll());
}catch (Exception e){
onError.run(e);
}
};
execute(query);
}
public void findByCodAlis(String codAlis ,RunnableArgs<Griglia> onSuccess, RunnableArgs<Exception> onError){
Runnable query = ()->{
try{
onSuccess.run(mRepository.findByCodAlis(codAlis));
}catch (Exception e){
onError.run(e);
}
};
execute(query);
}
public void saveGriglia(Griglia griglia, RunnableArgs<Integer> onSuccess,RunnableArgs<Exception> onFail) {
execute(()->{
try{
if (griglia.getGrigliaId() <= 0){
griglia.setGrigliaId((int) mRepository.insert(griglia));
}else{
mRepository.update(griglia);
}
onSuccess.run(griglia.getGrigliaId());
}catch (Exception e){
onFail.run(e);
}
});
}
}

View File

@ -0,0 +1,41 @@
package it.integry.integrywmsnative.core.data_store.db.repository;
import java.util.List;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
public class OrdineRepository extends Repository{
OrdineDao mRepository;
public OrdineRepository() {
this.mRepository = MainApplication.getOrdiniRepository();
}
public void selectAll(RunnableArgs<List<Ordine>> onSuccess, RunnableArgs<Exception> onError){
Runnable query = ()->{
try{
onSuccess.run(mRepository.getAll());
}catch (Exception e){
onError.run(e);
}
};
execute(query);
}
public void selectAllTransmitted(RunnableArgs<List<OrdineWithGriglia>> onSuccess, RunnableArgs<Exception> onError){
Runnable query = ()->{
try{
onSuccess.run(mRepository.getAllTrasnmitted());
}catch (Exception e){
onError.run(e);
}
};
execute(query);
}
}

View File

@ -0,0 +1,9 @@
package it.integry.integrywmsnative.core.data_store.db.repository;
public class Repository {
public void execute(Runnable query){
new Thread(query).start();
}
}

View File

@ -0,0 +1,119 @@
package it.integry.integrywmsnative.core.data_store.db.view_model;
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
public class ArticoloDTO {
private String codMart;
private String descrizione;
private String untMis;
private float qtaCnf;
private String barcode;
private int merceDaRic;
private float mediaSett;
private String flagQtaMultipla;
private int qtaMinOrdinabile;
public String getCodMart() {
return codMart;
}
public void setCodMart(String codMart) {
this.codMart = codMart;
}
public String getDescrizione() {
return descrizione;
}
public void setDescrizione(String descrizione) {
this.descrizione = descrizione;
}
public String getUntMis() {
return untMis;
}
public void setUntMis(String untMis) {
this.untMis = untMis;
}
public float getQtaCnf() {
return qtaCnf;
}
public void setQtaCnf(float qtaCnf) {
this.qtaCnf = qtaCnf;
}
public String getBarCode() {
return barcode;
}
public void setBarCode(String barCode) {
this.barcode = barCode;
}
public int getMerceDaRic() {
return merceDaRic;
}
public void setMerceDaRic(int merceDaRic) {
this.merceDaRic = merceDaRic;
}
public float getMediaSett() {
return mediaSett;
}
public void setMediaSett(float mediaSett) {
this.mediaSett = mediaSett;
}
public String getFlagQtaMultipla() {
return flagQtaMultipla;
}
public void setFlagQtaMultipla(String flagQtaMultipla) {
this.flagQtaMultipla = flagQtaMultipla;
}
public int getQtaMinOrdinabile() {
return qtaMinOrdinabile;
}
public void setQtaMinOrdinabile(int qtaMinOrdinabile) {
this.qtaMinOrdinabile = qtaMinOrdinabile;
}
public ArticoloGriglia toArticoloGriglia(){
ArticoloGriglia result = new ArticoloGriglia();
result.setBarCode(this.getBarCode());
result.setDescrizione(this.getDescrizione());
result.setCodMart(this.getCodMart());
result.setUntMis(this.getUntMis());
result.setQtaCnf(this.getQtaCnf());
result.setMerceDaRic(this.getMerceDaRic());
result.setMediaSett(this.getMediaSett());
result.setFlagQtaMultipla(this.getFlagQtaMultipla());
result.setQtaMinOrdinabile(this.getQtaMinOrdinabile());
return result;
}
}

View File

@ -0,0 +1,36 @@
package it.integry.integrywmsnative.core.data_store.db.view_model;
import java.util.List;
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
public class GrigliaDTO {
private String descrLisa;
private String descrDepo;
private List<ArticoloDTO> grigliaAcquistiChild;
public String getDescrLisa() {
return descrLisa;
}
public void setDescrLisa(String descrLisa) {
this.descrLisa = descrLisa;
}
public String getDescrDepo() {
return descrDepo;
}
public void setDescrDepo(String descrDepo) {
this.descrDepo = descrDepo;
}
public List<ArticoloDTO> getGrigliaAcquistiChild() {
return grigliaAcquistiChild;
}
public void setGrigliaAcquistiChild(List<ArticoloDTO> grigliaAcquistiChild) {
this.grigliaAcquistiChild = grigliaAcquistiChild;
}
}

View File

@ -0,0 +1,48 @@
package it.integry.integrywmsnative.core.data_store.db.view_model;
import androidx.room.Embedded;
import androidx.room.Ignore;
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
import it.integry.integrywmsnative.core.di.BindableBoolean;
public class OrdineWithGriglia {
@Embedded
private Ordine ordine;
@Embedded
private Griglia griglia;
@Ignore
public BindableBoolean selected;
public OrdineWithGriglia() {
this.selected = new BindableBoolean(false);
}
public Ordine getOrdine() {
return ordine;
}
public void setOrdine(Ordine ordine) {
this.ordine = ordine;
}
public Griglia getGriglia() {
return griglia;
}
public void setGriglia(Griglia griglia) {
this.griglia = griglia;
}
public boolean isSelected() {
return selected.get();
}
public OrdineWithGriglia setSelected(boolean selected) {
this.selected.set(selected);
return this;
}
}

View File

@ -0,0 +1,20 @@
package it.integry.integrywmsnative.core.expansion;
import android.view.KeyEvent;
import androidx.appcompat.app.AppCompatActivity;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
public class BaseActivity extends AppCompatActivity {
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getDeviceId() != -1 && event.getDeviceId() != 0 && event.getAction() == KeyEvent.ACTION_DOWN){
BarcodeManager.onKeyDown(event.getKeyCode(),event);
return false;
}
return super.dispatchKeyEvent(event);
}
}

View File

@ -0,0 +1,27 @@
package it.integry.integrywmsnative.core.expansion;
import android.app.Dialog;
import android.content.Context;
import android.view.KeyEvent;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
public class BaseDialog extends Dialog {
public BaseDialog(@NonNull Context context) {
super(context);
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getDeviceId() != -1 && event.getDeviceId() != 0 && event.getAction() == KeyEvent.ACTION_DOWN){
BarcodeManager.onKeyDown(event.getKeyCode(),event);
return false;
}
return super.dispatchKeyEvent(event);
}
}

View File

@ -1,10 +1,10 @@
package it.integry.integrywmsnative.core.rest.consumers; package it.integry.integrywmsnative.core.rest.consumers;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.Ean128Model; import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;

View File

@ -1,7 +1,6 @@
package it.integry.integrywmsnative.core.rest.consumers; package it.integry.integrywmsnative.core.rest.consumers;
import android.app.Dialog; import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
@ -15,10 +14,8 @@ import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO;
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.CommonModelConsts; import it.integry.integrywmsnative.core.model.CommonModelConsts;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
@ -26,11 +23,13 @@ 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.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
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;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;

View File

@ -0,0 +1,40 @@
package it.integry.integrywmsnative.core.rest.consumers;
import android.util.Log;
import it.integry.integrywmsnative.core.data_store.db.view_model.GrigliaDTO;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import static br.com.zbra.androidlinq.Linq.stream;
public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
public static void getArticoliListino(String codAlis, RunnableArgs<GrigliaDTO> onSuccess, RunnableArgs<Exception> onFailed) {
PVOrdiniAcquistoRESTConsumerService ordiniARestService = RESTBuilder.getService(PVOrdiniAcquistoRESTConsumerService.class);
ordiniARestService
.getArticoliListino(codAlis, SettingsManager.i().userSession.profileDB, SettingsManager.i().user.username, SettingsManager.i().user.password)
.enqueue(new Callback<ServiceRESTResponse<GrigliaDTO>>() {
@Override
public void onResponse(Call<ServiceRESTResponse<GrigliaDTO>> call, Response<ServiceRESTResponse<GrigliaDTO>> response) {
analyzeAnswer(response,"getArticoliListino",onSuccess,onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<GrigliaDTO>> call, Throwable t) {
Log.e("getArticoliListino_pv", t.toString());
UtilityLogger.errorMe(new Exception(t));
onFailed.run(new Exception(t));
}
});
}
}

View File

@ -0,0 +1,18 @@
package it.integry.integrywmsnative.core.rest.consumers;
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
import it.integry.integrywmsnative.core.data_store.db.view_model.GrigliaDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import retrofit2.Call;
import retrofit2.http.Header;
import retrofit2.http.POST;
import retrofit2.http.Query;
public interface PVOrdiniAcquistoRESTConsumerService {
@POST("SM2GetElencoArticoli")
Call<ServiceRESTResponse<GrigliaDTO>> getArticoliListino(@Query("chiaveGriglia") String codAlis, @Query("profileDb") String profileDb, @Header("username") String username, @Header("password") String password);
@POST("SM2SaveTerminalino")
Call<ServiceRESTResponse<Ordine>> saveOrdine(@Query("barcode") String barcodeProd,@Query("profileDb") String profileDb, @Header("username") String username, @Header("password") String password);
}

View File

@ -4,10 +4,10 @@ import com.annimon.stream.Stream;
import java.util.Calendar; import java.util.Calendar;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.barcode_base_android_library.model.BarcodeType;
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.settings.SettingsManager;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
import it.integry.plugins.barcode_base_library.model.BarcodeType;
public class UtilityBarcode { public class UtilityBarcode {

View File

@ -11,6 +11,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
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;
@ -26,7 +27,7 @@ import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.viewmodel.Ac
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity; import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel; import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
public class AccettazioneOrdineInevasoActivity extends AppCompatActivity { public class AccettazioneOrdineInevasoActivity extends BaseActivity {
public ActivityAccettazioneOrdineInevasoBinding bindings; public ActivityAccettazioneOrdineInevasoBinding bindings;
private AccettazioneOrdineAccettazioneInevasoViewModel mAccettazioneOrdineInevasoViewModel; private AccettazioneOrdineAccettazioneInevasoViewModel mAccettazioneOrdineInevasoViewModel;

View File

@ -54,7 +54,7 @@ import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBot
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity; import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO; import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import static br.com.zbra.androidlinq.Linq.stream; import static br.com.zbra.androidlinq.Linq.stream;

View File

@ -8,13 +8,14 @@ import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.data_cache.DataCache; import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.databinding.ActivityContenutoBancaleBinding; import it.integry.integrywmsnative.databinding.ActivityContenutoBancaleBinding;
import it.integry.integrywmsnative.gest.contenuto_bancale.viewmodel.ContenutoBancaleViewModel; import it.integry.integrywmsnative.gest.contenuto_bancale.viewmodel.ContenutoBancaleViewModel;
public class ContenutoBancaleActivity extends AppCompatActivity { public class ContenutoBancaleActivity extends BaseActivity {
public ActivityContenutoBancaleBinding bindings; public ActivityContenutoBancaleBinding bindings;

View File

@ -10,6 +10,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.data_cache.DataCache; import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
@ -17,7 +18,7 @@ import it.integry.integrywmsnative.databinding.ActivityListaBancaliBinding;
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleActivity; import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleActivity;
import it.integry.integrywmsnative.gest.lista_bancali.viewmodel.ListaBancaliViewModel; import it.integry.integrywmsnative.gest.lista_bancali.viewmodel.ListaBancaliViewModel;
public class ListaBancaliActivity extends AppCompatActivity { public class ListaBancaliActivity extends BaseActivity {
private static class Key { private static class Key {
private static final String MtbColtsKey = "mtbColtsKey"; private static final String MtbColtsKey = "mtbColtsKey";

View File

@ -6,11 +6,12 @@ import android.os.Bundle;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
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.utility.UtilityWindow; import it.integry.integrywmsnative.core.utility.UtilityWindow;
import it.integry.integrywmsnative.databinding.ActivityLoginBinding; import it.integry.integrywmsnative.databinding.ActivityLoginBinding;
import it.integry.integrywmsnative.gest.login.viewmodel.LoginViewModel; import it.integry.integrywmsnative.gest.login.viewmodel.LoginViewModel;
public class LoginActivity extends AppCompatActivity { public class LoginActivity extends BaseActivity {
private MainContext mainContext = new MainContext(this); private MainContext mainContext = new MainContext(this);

View File

@ -1,49 +0,0 @@
package it.integry.integrywmsnative.gest.ordini_acquisto_pv;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.databinding.DataBindingUtil;
import androidx.fragment.app.Fragment;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.databinding.FragmentMainVersamentoMerceBinding;
import it.integry.integrywmsnative.gest.ordini_acquisto_pv.core.OrdiniAcquistoElencoHelper;
public class OrdiniAcquistoElencoFragment extends Fragment implements ITitledFragment {
private FragmentMainVersamentoMerceBinding mBinding;
private OrdiniAcquistoElencoHelper mHelper;
public OrdiniAcquistoElencoFragment() {
// Required empty public constructor
}
public static OrdiniAcquistoElencoFragment newInstance() {
OrdiniAcquistoElencoFragment fragment = new OrdiniAcquistoElencoFragment();
Bundle args = new Bundle();
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
// Inflate the layout for this fragment
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_pv_ordini_acquisto, container, false);
//init();
return mBinding.getRoot();
}
@Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
titleText.setText(context.getText(R.string.pv_elenco_ordiniA_title_fragment).toString());
}
}

View File

@ -0,0 +1,73 @@
package it.integry.integrywmsnative.gest.ordini_acquisto_pv;
import android.content.Context;
import android.os.Bundle;
import android.text.Html;
import android.text.SpannableString;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.databinding.DataBindingUtil;
import androidx.fragment.app.Fragment;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.databinding.FragmentPvOrdiniAcquistoBinding;
import it.integry.integrywmsnative.gest.ordini_acquisto_pv.core.OrdiniAcquistoElencoHelper;
import it.integry.integrywmsnative.gest.ordini_acquisto_pv.dialogs.DialogScanLisA;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitledFragment {
private FragmentPvOrdiniAcquistoBinding mBinding;
private OrdiniAcquistoElencoHelper mHelper;
private Griglia mGriglia;
public PVOrdiniAcquistoGrigliaFragment() {
}
public static PVOrdiniAcquistoGrigliaFragment newInstance() {
PVOrdiniAcquistoGrigliaFragment fragment = new PVOrdiniAcquistoGrigliaFragment();
Bundle args = new Bundle();
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
// Inflate the layout for this fragment
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_pv_ordini_acquisto, container, false);
init();
return mBinding.getRoot();
}
private void init() {
BarcodeManager.enable();
DialogScanLisA.make(getActivity(), griglia -> {
if(griglia == null) {
((IPoppableActivity) getActivity()).pop();
} else {
setGriglia(griglia);
}
}).show();
}
@Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
titleText.setText(context.getText(R.string.pv_elenco_ordiniA_title_fragment).toString());
}
private void setGriglia(Griglia griglia){
mGriglia = griglia;
}
}

View File

@ -0,0 +1,117 @@
package it.integry.integrywmsnative.gest.ordini_acquisto_pv;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.SpannableString;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.databinding.DataBindingUtil;
import androidx.fragment.app.Fragment;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.FragmentPvOrdiniATrasmessiElencoBinding;
import it.integry.integrywmsnative.gest.ordini_acquisto_pv.core.OrdineAcquistoPvTransmittedListAdapter;
import it.integry.integrywmsnative.gest.ordini_acquisto_pv.core.OrdiniAcquistoElencoHelper;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog.DialogOrdineProduzioneFiltroAvanzato;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
public class PVOrdiniAcquistoTransmittedListFragment extends Fragment implements ITitledFragment, IScrollableFragment, IFilterableFragment {
private FragmentPvOrdiniATrasmessiElencoBinding mBinding;
private OrdiniAcquistoElencoHelper mHelper;
private ElevatedToolbar mToolbar;
private OrdineAcquistoPvTransmittedListAdapter mAdapter;
private List<OrdineWithGriglia> mOriginalOrderList;
private List<OrdineWithGriglia> mRenderedOrderList = new ArrayList<>();
private AppCompatTextView mAppBarTitle;
private DialogOrdineProduzioneFiltroAvanzato.DialogOrdineProduzioneFiltroAvanzatoViewModel mAppliedFilterViewModel;
public PVOrdiniAcquistoTransmittedListFragment() {
// Required empty public constructor
}
public static PVOrdiniAcquistoTransmittedListFragment newInstance() {
PVOrdiniAcquistoTransmittedListFragment fragment = new PVOrdiniAcquistoTransmittedListFragment();
Bundle args = new Bundle();
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
// Inflate the layout for this fragment
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_pv_ordini_a_trasmessi_elenco, container, false);
mBinding.setView(this);
//init();
return mBinding.getRoot();
}
@Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
titleText.setText(context.getText(R.string.pv_elenco_ordiniA_title_fragment).toString());
}
@Override
public void setScrollToolbar(ElevatedToolbar toolbar) {
}
@Override
public void setOnPreDestroy(Runnable onPreDestroy) {
}
@Override
public void onFilterClick() {
}
private void init(){
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity());
OrdineRepository repository = new OrdineRepository();
repository.selectAllTransmitted((ordini)->{
mOriginalOrderList = ordini;
mBinding.ordiniAEmptyView.setVisibility(ordini != null && ordini.size() > 0 ? View.GONE : View.VISIBLE);
refreshRenderedOrdini(ordini);
initRecyclerView();
progress.dismiss();
},(e)->{
progress.dismiss();
String errorMessage = e.getMessage();
DialogSimpleMessageHelper.makeErrorDialog(getActivity(), new SpannableString(errorMessage), null, null).show();
});
}
private void initRecyclerView() {
mAdapter = new OrdineAcquistoPvTransmittedListAdapter(getActivity(), mRenderedOrderList);
mBinding.ordineAMainList.setAdapter(mAdapter);
}
private void refreshRenderedOrdini(List<OrdineWithGriglia> ordini) {
mRenderedOrderList.clear();
if(ordini != null) mRenderedOrderList.addAll(ordini);
}
}

View File

@ -0,0 +1,133 @@
package it.integry.integrywmsnative.gest.ordini_acquisto_pv.core;
import android.content.Context;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.RecyclerView;
import com.annimon.stream.Stream;
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.databinding.FragmentOrdineAPvTransmittedListModelBinding;
import it.integry.integrywmsnative.databinding.FragmentOrdiniAPvListSingleItemBinding;
import it.integry.integrywmsnative.ui.fastscroll.SectionTitleProvider;
public class OrdineAcquistoPvTransmittedListAdapter extends SectionedRecyclerViewAdapter<OrdineAcquistoPvTransmittedListAdapter.SubheaderHolder, OrdineAcquistoPvTransmittedListAdapter.SingleItemViewHolder> implements SectionTitleProvider {
private Context mContext;
private List<OrdineWithGriglia> mOriginalDataset;
private List<OrdineWithGriglia> mDataset;
static class SubheaderHolder extends RecyclerView.ViewHolder {
FragmentOrdineAPvTransmittedListModelBinding binding;
SubheaderHolder(FragmentOrdineAPvTransmittedListModelBinding binding) {
super(binding.getRoot());
this.binding = binding;
}
}
static class SingleItemViewHolder extends RecyclerView.ViewHolder {
FragmentOrdiniAPvListSingleItemBinding binding;
SingleItemViewHolder(FragmentOrdiniAPvListSingleItemBinding binding) {
super(binding.getRoot());
this.binding = binding;
}
}
public OrdineAcquistoPvTransmittedListAdapter(Context context, List<OrdineWithGriglia> myDataset) {
mContext = context;
mOriginalDataset = myDataset;
mDataset = orderItems(myDataset);
}
public void updateItems(List<OrdineWithGriglia> updatedDataset) {
mDataset.clear();
mDataset.addAll(orderItems(updatedDataset));
notifyDataSetChanged();
notifyDataChanged();
}
private List<OrdineWithGriglia> orderItems(List<OrdineWithGriglia> dataset) {
return Stream.of(dataset)
.distinctBy(OrdineWithGriglia::getGriglia)
.sortBy(x -> UtilityDate.formatDate(x.getOrdine().getDataOrd(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH))
.toList();
}
@Override
public SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
FragmentOrdineAPvTransmittedListModelBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.fragment_ordine_a_pv_transmitted__list_model, parent, false);
return new SubheaderHolder(binding);
}
@Override
public SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
FragmentOrdiniAPvListSingleItemBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.fragment_ordini_a_pv__list_single_item, parent, false);
return new SingleItemViewHolder(binding);
}
@Override
public void onBindSubheaderViewHolder(OrdineAcquistoPvTransmittedListAdapter.SubheaderHolder subheaderHolder, int nextItemPosition) {
subheaderHolder.binding.ordineAPvMainListGroupHeader.setText(mDataset.get(nextItemPosition).getGriglia().getCodAlis());
}
@Override
public void onBindItemViewHolder(OrdineAcquistoPvTransmittedListAdapter.SingleItemViewHolder h, int itemPosition) {
final OrdineWithGriglia ordine = mDataset.get(itemPosition);
final OrdineAcquistoPvTransmittedListAdapter.SingleItemViewHolder holder = h;
String testataOrdString = String.format(mContext.getString(R.string.ord_acq_testata), String.valueOf(ordine.getOrdine().getOrdineId()), UtilityDate.formatDate(ordine.getOrdine().getDataOrd(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
holder.binding.badge1.setText(ordine.getOrdine().isTransmitted() ? "TRASMESSO" : "NON TRASMESSO");
holder.binding.descriptionMain.setText(Html.fromHtml(testataOrdString));
holder.binding.getRoot().setOnClickListener(v -> {
//TODO: aprire descrizione Ordine
});
}
@Override
public boolean onPlaceSubheaderBetweenItems(int position) {
return !(this.mDataset.get(position).getGriglia().getGrigliaId() == this.mDataset.get(position + 1).getGriglia().getGrigliaId());
}
@Override
public int getItemSize() {
return mDataset.size();
}
@Override
public String getSectionTitle(int position) {
return null;
}
}

View File

@ -9,4 +9,5 @@ public class OrdiniAcquistoElencoHelper {
public OrdiniAcquistoElencoHelper(Context context) { public OrdiniAcquistoElencoHelper(Context context) {
this.mContext = context; this.mContext = context;
} }
} }

View File

@ -0,0 +1,106 @@
package it.integry.integrywmsnative.gest.ordini_acquisto_pv.dialogs;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import androidx.databinding.DataBindingUtil;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
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.data_store.db.entity.Griglia;
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
import it.integry.integrywmsnative.core.expansion.BaseDialog;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.DialogScanCodiceGrigliaBinding;
import it.integry.integrywmsnative.gest.ordini_acquisto_pv.helper.OrdineAcquistoPvHelper;
public class DialogScanLisA {
private Context mContext;
private Dialog mDialog;
private DialogScanCodiceGrigliaBinding mBinding;
private RunnableArgs<Griglia> mOnDialogDismiss;
private OrdineAcquistoPvHelper mHelper;
private DialogScanLisA(Context context, RunnableArgs<Griglia> onDialogDismiss) {
mOnDialogDismiss = null;
mContext = context;
mHelper = new OrdineAcquistoPvHelper(context);
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
mBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_scan_codice_griglia, null, false);
mDialog = new BaseDialog(context);
mDialog.setContentView(mBinding.getRoot());
mDialog.setCanceledOnTouchOutside(false);
// mDialog.setCancelable(false);
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
init(onDialogDismiss);
initBarcode();
}
public static Dialog make(Context context, RunnableArgs<Griglia> onDialogDismiss) {
return new DialogScanLisA(context, onDialogDismiss).mDialog;
}
private void init(RunnableArgs<Griglia> onDialogDismiss) {
mOnDialogDismiss = onDialogDismiss;
}
private void initBarcode() {
int barcodeIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
.setOnScanSuccessfull(onScanSuccessfull)
.setOnScanFailed(ex -> UtilityExceptions.defaultException(mContext, ex, false)));
mDialog.setOnDismissListener(dialog -> {
BarcodeManager.removeCallback(barcodeIstanceID);
BarcodeManager.enable();
mOnDialogDismiss.run(null);
});
}
private RunnableArgs<BarcodeScanDTO> onScanSuccessfull = data -> {
BarcodeManager.disable();
final Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
RunnableArgs<Exception> mOnError = exception -> {
UtilityExceptions.defaultException(mContext,exception,progressDialog);
BarcodeManager.enable();
};
GrigliaRepository repository = new GrigliaRepository();
repository.findByCodAlis(data.getStringValue(),griglia->{
if (griglia != null){
if (griglia.getCountArticoli() >0){
mOnDialogDismiss.run(griglia);
}else{
mHelper.updateGriglia(griglia,(grigliaEntity)->{
progressDialog.dismiss();
mOnDialogDismiss.run(grigliaEntity);
},mOnError);
}
}else{
mHelper.downloadAndSaveLisA(data.getStringValue(),(grigliaEntity)->{
progressDialog.dismiss();
mOnDialogDismiss.run(grigliaEntity);
},mOnError);
}
},mOnError);
};
}

View File

@ -0,0 +1,59 @@
package it.integry.integrywmsnative.gest.ordini_acquisto_pv.helper;
import android.content.Context;
import java.util.ArrayList;
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.repository.ArticoliGrigliaRepository;
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer;
public class OrdineAcquistoPvHelper {
private Context mContext;
private GrigliaRepository mGrigliaRepository;
private ArticoliGrigliaRepository mArticoliGrigliaRepository;
public OrdineAcquistoPvHelper(Context mContext) {
this.mContext = mContext;
this.mGrigliaRepository = new GrigliaRepository();
this.mArticoliGrigliaRepository = new ArticoliGrigliaRepository();
}
public void downloadAndSaveLisA(String codAlis, RunnableArgs<Griglia> onSave, RunnableArgs<Exception> onFail) {
Griglia griglia = new Griglia();
griglia.setCodAlis(codAlis);
updateGriglia(griglia, onSave, onFail);
}
public void updateGriglia(Griglia griglia, RunnableArgs<Griglia> onSave, RunnableArgs<Exception> onFail) {
PVOrdiniAcquistoRESTConsumer.getArticoliListino(griglia.getCodAlis(), dto -> {
if (dto.getGrigliaAcquistiChild().size() <= 0) {
Exception e = new Exception("La griglia selezionata (" + griglia.getCodAlis() + ") non esiste o non presenta articoli");
onFail.run(e);
return;
}
griglia.setDescrLisa(dto.getDescrLisa());
griglia.setDescrDepo(dto.getDescrDepo());
mGrigliaRepository.saveGriglia(griglia, id -> {
saveLisAToGriglia(dto.getGrigliaAcquistiChild(), griglia, onSave, onFail);
}, onFail);
}, onFail);
}
public void saveLisAToGriglia(List<ArticoloDTO> articoli, Griglia griglia, RunnableArgs<Griglia> onSave, RunnableArgs<Exception> onFail) {
List<ArticoloGriglia> articoliGriglia = new ArrayList<>();
for (ArticoloDTO articolo : articoli) {
ArticoloGriglia toSave = articolo.toArticoloGriglia();
toSave.setIdGriglia(griglia.getGrigliaId());
articoliGriglia.add(toSave);
}
mArticoliGrigliaRepository.saveArticoliToGriglia(articoliGriglia, () -> onSave.run(griglia), onFail);
}
}

View File

@ -58,7 +58,7 @@ 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.DialogInputQuantity; import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO; import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> { public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {

View File

@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
@ -48,9 +49,9 @@ import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShould
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity; import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO; import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public class PickingResiActivity extends AppCompatActivity implements IOnColloClosedCallback { public class PickingResiActivity extends BaseActivity implements IOnColloClosedCallback {
private List<DocumentoResoDTO> mDocumentiResiList; private List<DocumentoResoDTO> mDocumentiResiList;
public ObservableList<WithdrawableDtbDocr> mDtbDocrList; public ObservableList<WithdrawableDtbDocr> mDtbDocrList;

View File

@ -151,7 +151,7 @@ public class ProdOrdineLavorazioneElencoFragment extends Fragment implements ITi
public void refreshOrdini(List<OrdineVenditaInevasoDTO> ordini) { public void refreshOrdini(List<OrdineVenditaInevasoDTO> ordini) {
mRenderedOrderList.clear(); mRenderedOrderList.clear();
mRenderedOrderList.addAll(ordini); if (ordini != null && ordini.size() > 0) mRenderedOrderList.addAll(ordini);
} }
private void initRecyclerView() { private void initRecyclerView() {

View File

@ -49,7 +49,7 @@ import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity; import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO; import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU; import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public class ProdRecuperoMaterialeViewModel { public class ProdRecuperoMaterialeViewModel {

View File

@ -64,8 +64,8 @@ import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuanti
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO; import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU; import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo; import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.plugins.barcode_base_library.model.BarcodeType; import it.integry.barcode_base_android_library.model.BarcodeType;
public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr> { public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr> {

View File

@ -28,7 +28,7 @@ import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment;
import it.integry.integrywmsnative.gest.vendita.core.VenditaHelper; import it.integry.integrywmsnative.gest.vendita.core.VenditaHelper;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public class VenditaViewModel { public class VenditaViewModel {

View File

@ -10,6 +10,7 @@ import android.view.MenuItem;
import java.util.ArrayList; import java.util.ArrayList;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
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;
@ -24,7 +25,7 @@ import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.viewmodel.VenditaOrdineInevasoViewModel; import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.viewmodel.VenditaOrdineInevasoViewModel;
import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel; import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
public class VenditaOrdineInevasoActivity extends AppCompatActivity { public class VenditaOrdineInevasoActivity extends BaseActivity {
private ActivityVenditaOrdineInevasoBinding mBindings; private ActivityVenditaOrdineInevasoBinding mBindings;

View File

@ -69,7 +69,7 @@ import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShould
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity; import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO; import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArt; import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArt;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IOnOrdineVenditaRowDispatched { public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IOnOrdineVenditaRowDispatched {

View File

@ -2,13 +2,13 @@ package it.integry.integrywmsnative.gest.versamento_merce.viewmodel;
import android.app.Activity; import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import android.text.Html; import android.text.Html;
import android.text.SpannableString; import android.text.SpannableString;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -16,10 +16,9 @@ import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.barcode_base_android_library.model.BarcodeType;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity; import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
@ -28,6 +27,9 @@ 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.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
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.PosizioniRESTConsumer;
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;
@ -42,8 +44,6 @@ 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.DialogInputQuantity; import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU; import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
import it.integry.plugins.barcode_base_library.model.BarcodeType;
public class VersamentoMerceViewModel { public class VersamentoMerceViewModel {

View File

@ -9,13 +9,16 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import androidx.databinding.DataBindingUtil;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.DialogProgressBinding;
public class DialogProgress { public class DialogProgress {
private Context mContext; private Context mContext;
private DialogProgressBinding mBinding;
private Dialog mDialog; private Dialog mDialog;
@ -29,19 +32,19 @@ public class DialogProgress {
mContext = context; mContext = context;
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
View currentView = inflater.inflate(R.layout.dialog_progress, null, false); mBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_progress, null, false);
final Thread[] progressBarThread = new Thread[1]; final Thread[] progressBarThread = new Thread[1];
mDialog = new Dialog(mContext); mDialog = new Dialog(mContext);
mDialog.setContentView(currentView); mDialog.setContentView(mBinding.getRoot());
mDialog.setCanceledOnTouchOutside(false); mDialog.setCanceledOnTouchOutside(false);
mDialog.setCancelable(false); mDialog.setCancelable(false);
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
mDialog.setOnShowListener(dialog -> { mDialog.setOnShowListener(dialog -> {
// ((ProgressBar) currentView.findViewById(R.id.progressBar)).setIndeterminate(true); // ((ProgressBar) currentView.findViewById(R.id.progressBar)).setIndeterminate(true);
progressBarThread[0] = UtilityProgress.makeProgressBarIndeterminate(currentView.findViewById(R.id.progressBar)); progressBarThread[0] = UtilityProgress.makeProgressBarIndeterminate(mBinding.progressBar);
}); });
mDialog.setOnDismissListener(dialog -> { mDialog.setOnDismissListener(dialog -> {
@ -49,4 +52,8 @@ public class DialogProgress {
}); });
} }
public void setSubtitle(String subtitle){
mBinding.setSubtitle(subtitle);
}
} }

View File

@ -32,7 +32,7 @@ import it.integry.integrywmsnative.core.utility.UtilityPosizione;
import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.DialogAskPositionOfLuBinding; import it.integry.integrywmsnative.databinding.DialogAskPositionOfLuBinding;
import it.integry.integrywmsnative.view.dialogs.DialogConsts; import it.integry.integrywmsnative.view.dialogs.DialogConsts;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public class DialogAskPositionOfLU { public class DialogAskPositionOfLU {

View File

@ -34,7 +34,7 @@ import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.DialogChooseArtsFromListaArtsLayoutBinding; import it.integry.integrywmsnative.databinding.DialogChooseArtsFromListaArtsLayoutBinding;
import it.integry.integrywmsnative.view.dialogs.DialogCommon; import it.integry.integrywmsnative.view.dialogs.DialogCommon;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public class DialogChooseArtsFromListaArts { public class DialogChooseArtsFromListaArts {

View File

@ -47,7 +47,7 @@ import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.DialogInputQuantityArticoloBinding; import it.integry.integrywmsnative.databinding.DialogInputQuantityArticoloBinding;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public class DialogInputQuantity { public class DialogInputQuantity {

View File

@ -27,7 +27,7 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.DialogScanArtBinding; import it.integry.integrywmsnative.databinding.DialogScanArtBinding;
import it.integry.integrywmsnative.view.dialogs.DialogConsts; import it.integry.integrywmsnative.view.dialogs.DialogConsts;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public class DialogScanArt { public class DialogScanArt {

View File

@ -1,28 +1,28 @@
package it.integry.integrywmsnative.view.dialogs.scan_or_create_lu; package it.integry.integrywmsnative.view.dialogs.scan_or_create_lu;
import android.app.Dialog; import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import androidx.databinding.DataBindingUtil;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.text.SpannableString; import android.text.SpannableString;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import androidx.databinding.DataBindingUtil;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
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.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.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.PosizioniRESTConsumer;
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.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
@ -30,7 +30,6 @@ import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.DialogScanOrCreateLuBinding; import it.integry.integrywmsnative.databinding.DialogScanOrCreateLuBinding;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
public class DialogScanOrCreateLU { public class DialogScanOrCreateLU {

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

@ -1,8 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="android.view.View" />
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
<variable
name="subtitle"
type="String" />
</data>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:orientation="vertical" android:layout_width="match_parent" android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -28,6 +35,16 @@
android:text="@string/loading" android:text="@string/loading"
android:gravity="center_horizontal"/> android:gravity="center_horizontal"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/subtitle_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/AppTheme.NewMaterial.Text.Small"
android:text="@{subtitle}"
tools:text="@string/loading"
android:visibility="@{UtilityString.isNullOrEmpty(subtitle) ? View.GONE : View.VISIBLE}"
android:gravity="center_horizontal"/>
<ProgressBar <ProgressBar
android:id="@+id/progressBar" android:id="@+id/progressBar"

View File

@ -0,0 +1,61 @@
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools">
<!--<androidx.cardview.widget.CardView-->
<!--xmlns:card_view="http://schemas.android.com/apk/res-auto"-->
<!--android:id="@+id/card_view"-->
<!--android:layout_gravity="center"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--card_view:cardUseCompatPadding="true"-->
<!--card_view:cardCornerRadius="4dp"-->
<!--card_view:cardElevation="4dp">-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainGreen"
android:paddingStart="12dp"
android:paddingTop="8dp"
android:paddingEnd="8dp"
android:paddingBottom="8dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/ordine_a_pv_main_list_group_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textStyle="bold"
style="@style/AppTheme.NewMaterial.Text.Medium"
tools:text="NOME GRUPPO"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/ordine_a_pv_main_list_group_item_container">
</LinearLayout>
</LinearLayout>
<!--</androidx.cardview.widget.CardView>-->
</LinearLayout>
</layout>

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="it.integry.integrywmsnative.R" />
<variable
name="ordine"
type="it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia" />
</data>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginStart="4dp"
android:layout_marginBottom="4dp"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:orientation="horizontal"
android:background="@drawable/bg_checked_layout"
app:backgroundTintResID="@{ordine.isSelected() ? R.color.bg_checked_layout : android.R.color.transparent}" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/badge1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BADGE 1"
android:background="@drawable/badge1_round_corner"
android:textColor="@android:color/white"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:textStyle="bold"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/description_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
style="@android:style/TextAppearance.Small"
android:layout_marginTop="4dp"
android:layout_marginEnd="4dp"
android:layout_toStartOf="@id/compilato_da"
android:layout_below="@id/badge1"
android:singleLine="true"
android:ellipsize="end"
tools:text="TITLE"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/AppTheme.NewMaterial.Text"
android:textColor="@color/colorPrimaryGray"
android:layout_alignParentEnd="true"
android:textSize="14sp"
tools:text="13 Apr"/>
</RelativeLayout>
</LinearLayout>
</layout>

View File

@ -0,0 +1,85 @@
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="androidx.databinding.ObservableList"/>
<variable name="view" type="it.integry.integrywmsnative.gest.ordini_acquisto_pv.PVOrdiniAcquistoTransmittedListFragment" />
</data>
<FrameLayout
xmlns:tools="http://schemas.android.com/tools"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/full_white"
tools:context="it.integry.integrywmsnative.gest.ordini_acquisto_pv.PVOrdiniAcquistoTransmittedListFragment">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/ordine_a_main_list"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/ordini_a_empty_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.3">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.2" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.15" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.85" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal"
app:layout_constraintStart_toEndOf="@id/guideline_empty_left"
app:layout_constraintEnd_toStartOf="@id/guideline_empty_right"
app:layout_constraintTop_toTopOf="@id/guideline_empty_top">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="72dp"
android:layout_height="wrap_content"
android:src="@drawable/ic_playlist_add_check_24dp"
android:adjustViewBounds="true"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textColor="@android:color/black"
android:textSize="18sp"
android:text="@string/no_orders_found_message"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout>
</FrameLayout>
</layout>

View File

@ -5,14 +5,209 @@
xmlns:fab="http://schemas.android.com/apk/res-auto"> xmlns:fab="http://schemas.android.com/apk/res-auto">
<data> <data>
<import type="android.view.View"/>
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
<variable
name="viewmodel"
type="it.integry.integrywmsnative.gest.picking_libero.viewmodel.PickingLiberoViewModel" />
</data> </data>
<FrameLayout <androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment"> android:orientation="vertical"
android:background="@color/full_white">
<it.integry.integrywmsnative.ui.ElevatedToolbar
android:id="@+id/elevated_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:gravity="center_horizontal"
app:popupTheme="@style/AppTheme.PopupOverlay">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="Ordini di acquisto"
style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
android:layout_gravity="center" />
</androidx.appcompat.widget.Toolbar>
</it.integry.integrywmsnative.ui.ElevatedToolbar>
</FrameLayout>
<androidx.core.widget.NestedScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="8dp"
android:focusableInTouchMode="true"
tools:context=".gest.contenuto_bancale.ContenutoBancaleActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/gray_detail_background_round8"
android:orientation="vertical"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Griglia: "
android:textColor="@android:color/black"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{viewmodel.griglia.getCodAlis()}"
tools:text="4SECCO"
android:textColor="@android:color/black"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Descrizione griglia: "
android:textColor="@android:color/black"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{viewmodel.griglia.getDescrLisa() != null ? viewmodel.griglia.getDescrLisa() : `N/D`}"
tools:text="LISTINO FORMAT CEDI SECCO"
android:textColor="@android:color/black"
android:textSize="14sp"
android:textStyle="italic" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Articoli in griglia: "
android:textColor="@android:color/black"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{viewmodel.griglia.getCountArticoli()}"
tools:text="10"
android:textColor="@android:color/black"
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/ordini_a_aperti_main_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="92dp"
android:paddingStart="2dp"
android:paddingEnd="2dp">
</androidx.recyclerview.widget.RecyclerView>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/free_picking__suggestion_1__guideline_top"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.35"/>
<androidx.constraintlayout.widget.Guideline
android:id="@+id/free_picking__suggestion_1__guideline_left"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.2" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/free_picking__suggestion_1__guideline_right"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.8" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.github.clans.fab.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_marginBottom="8dp"
android:layout_marginRight="8dp"
android:src="@drawable/fab_add"
android:onClick="@{() -> viewmodel.createNewOrder()}"
android:visibility="@{viewmodel.griglia != null ? View.VISIBLE : View.GONE}"
fab:fab_colorNormal="@color/success_color"
fab:fab_colorPressed="@color/green_500"
fab:fab_colorRipple="#66FFFFFF"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout> </layout>

View File

@ -258,8 +258,10 @@
<string name="punto_vendita">Punto Vendita</string> <string name="punto_vendita">Punto Vendita</string>
<string name="title_dynamic_saporiveri">Dynamic SaporiVeri</string> <string name="title_dynamic_saporiveri">Dynamic SaporiVeri</string>
<string name="title_dynamic_saporiveri_pv">SaporiVeri PV</string> <string name="title_dynamic_saporiveri_pv">SaporiVeri PV</string>
<string name="purchase_orders">Ordini di acquisto</string> <string name="generate_orders">Genera ordini di acqusito</string>
<string name="transmitted_orders">Ordini di acquisto trasmessi</string>
<string name="pv_elenco_ordiniA_title_fragment">Ordini di Acquisto</string> <string name="pv_elenco_ordiniA_title_fragment">Ordini di Acquisto</string>
<string name="pv_elenco_ordiniA_transmitted_title_fragment">Ordini trasmessi</string>
<string name="title_open_grid_pv">Seleziona Griglia</string> <string name="title_open_grid_pv">Seleziona Griglia</string>
<string name="scan_grid">Scansiona il codice a barre di una <b>griglia</b></string> <string name="scan_grid">Scansiona il codice a barre di una <b>griglia</b></string>

View File

@ -24,6 +24,7 @@
<item name="nav_prod_ordine_lavorazione" type="id" /> <item name="nav_prod_ordine_lavorazione" type="id" />
<item name="nav_prod_recupero_materiale" type="id" /> <item name="nav_prod_recupero_materiale" type="id" />
<item name="nav_pv_ordini_acquisto" type="id" /> <item name="nav_pv_ordini_acquisto" type="id" />
<item name="nav_pv_ordini_acquisto_trasmessi" type="id"/>
<item name="nav_settings" type="id" /> <item name="nav_settings" type="id" />
<item name="nav_logout" type="id" /> <item name="nav_logout" type="id" />

View File

@ -267,8 +267,10 @@
<string name="title_dynamic_saporiveri">Dynamic SaporiVeri</string> <string name="title_dynamic_saporiveri">Dynamic SaporiVeri</string>
<string name="title_dynamic_saporiveri_pv">SaporiVeri PV</string> <string name="title_dynamic_saporiveri_pv">SaporiVeri PV</string>
<string name="punto_vendita">Sale point</string> <string name="punto_vendita">Sale point</string>
<string name="purchase_orders">Purchase orders</string> <string name="generate_orders">Generate purchase orders</string>
<string name="transmitted_orders">Transmitted purchase orders</string>
<string name="pv_elenco_ordiniA_title_fragment">Purchase Orders</string> <string name="pv_elenco_ordiniA_title_fragment">Purchase Orders</string>
<string name="pv_elenco_ordiniA_transmitted_title_fragment">Transmitted Orders</string>
<string name="title_open_grid_pv">Select grid</string> <string name="title_open_grid_pv">Select grid</string>
<string name="scan_grid">scan the barcode for the wanted <b>grid</b></string> <string name="scan_grid">scan the barcode for the wanted <b>grid</b></string>
</resources> </resources>

View File

@ -0,0 +1 @@
/build

View File

@ -0,0 +1,33 @@
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

View File

@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@ -0,0 +1,27 @@
package it.integry.barcode_base_android_library;
import android.content.Context;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("it.integry.barcode_base_android_library.test", appContext.getPackageName());
}
}

View File

@ -0,0 +1,2 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="it.integry.barcode_base_android_library" />

View File

@ -0,0 +1,9 @@
package it.integry.barcode_base_android_library.exception;
public class BarcodeAdapterNotFoundException extends Exception {
public BarcodeAdapterNotFoundException(String adapterName) {
super("L'adapter " + adapterName + " non è stato rilevato sul dispositivo corrente");
}
}

View File

@ -0,0 +1,7 @@
package it.integry.barcode_base_android_library.extension;
public interface RunnableArgs<T> {
void run(T data);
}

View File

@ -0,0 +1,24 @@
package it.integry.barcode_base_android_library.interfaces;
import android.view.KeyEvent;
import it.integry.barcode_base_android_library.exception.BarcodeAdapterNotFoundException;
import it.integry.barcode_base_android_library.extension.RunnableArgs;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public interface BarcodeReaderInterface {
boolean isRightAdapter();
void init(Runnable onDeviceReady) throws BarcodeAdapterNotFoundException;
void deinit();
void register(RunnableArgs<BarcodeScanDTO> onScanSuccessfull, RunnableArgs<Exception> onScanFailed);
String getAdapterName();
void onKeyEvent(KeyEvent keyEvent);
}

View File

@ -0,0 +1,55 @@
package it.integry.barcode_base_android_library.model;
public class BarcodeScanDTO {
private BarcodeType type;
private String stringValue;
private byte[] byteValue;
private String name;
private int decodingTime;
public BarcodeType getType() {
return type;
}
public BarcodeScanDTO setType(BarcodeType type) {
this.type = type;
return this;
}
public String getStringValue() {
return stringValue;
}
public BarcodeScanDTO setStringValue(String stringValue) {
this.stringValue = stringValue;
return this;
}
public byte[] getByteValue() {
return byteValue;
}
public BarcodeScanDTO setByteValue(byte[] byteValue) {
this.byteValue = byteValue;
return this;
}
public String getName() {
return name;
}
public BarcodeScanDTO setName(String name) {
this.name = name;
return this;
}
public int getDecodingTime() {
return decodingTime;
}
public BarcodeScanDTO setDecodingTime(int decodingTime) {
this.decodingTime = decodingTime;
return this;
}
}

View File

@ -0,0 +1,91 @@
package it.integry.barcode_base_android_library.model;
public enum BarcodeType {
NIL(0),
AIRLINE_2OF5_13_DIGIT(1),
AIRLINE_2OF5_15_DIGIT(2),
AZTEC(3),
AUSTRALIAN_POSTAL(4),
BOOKLAND_EAN(5),
BPO(6),
CANPOST(7),
CHINAPOST(8),
CHINESE_2OF5(9),
CODABAR(10),
CODABLOCK(11),
CODE11(12),
CODE128(13),
CODE16K(14),
CODE32(15),
CODE39(16),
CODE49(17),
CODE93(18),
COMPOSITE(19),
COUPON_CODE(20),
DATAMATRIX(21),
DISCRETE_2OF5(22),
DUTCH_POSTAL(23),
EAN128(24),
EAN13(25),
EAN8(26),
GS1_DATABAR_14(27),
GS1_DATABAR_EXPANDED(28),
GS1_DATABAR_LIMITED(29),
HONGKONG_2OF5(30),
IATA_2OF5(31),
IDTAG(32),
INTERLEAVED_2OF5(33),
ISBT128(34),
JAPANESE_POSTAL(35),
KOREAN_POSTAL(36),
MATRIX_2OF5(37),
MAXICODE(38),
MESA(39),
MICRO_PDF417(40),
MICRO_QR(41),
MSI(42),
NEC_2OF5(43),
OCR(44),
PDF417(45),
PLESSEY(46),
POSICODE(47),
POST_US4(48),
QR(49),
STRAIGHT_2OF5(50),
STANDARD_2OF5(51),
TELEPEN(52),
TLCODE39(53),
TRIOPTIC(54),
UK_POSTAL(55),
UPCA(56),
UPCE(57),
UPCE1(58),
US_PLANET(59),
US_POSTNET(60),
USPS_4CB(61),
RSS(62),
LABEL(63),
HANXIN(64),
GRIDMATRIX(65),
INFO_MAIL(66),
INTELLIGENT_MAIL(67),
SWEDENPOST(68),
LAST(69);
private Integer text;
BarcodeType(Integer text) {
this.text = text;
}
public Integer getValue() {
return this.text;
}
public static BarcodeType fromInt(Integer text) {
for (BarcodeType b : BarcodeType.values()) {
if (b.text.equals(text)) return b;
}
return null;
}
}

View File

@ -0,0 +1,3 @@
<resources>
<string name="app_name">barcode_base_android_library</string>
</resources>

View File

@ -0,0 +1,17 @@
package it.integry.barcode_base_android_library;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}

View File

@ -1,4 +1,4 @@
package it.integry.plugins.barcode_base_library.exception; package it.integry.barcode_base_android_library.exception;
public class BarcodeAdapterNotFoundException extends Exception { public class BarcodeAdapterNotFoundException extends Exception {

View File

@ -1,4 +1,4 @@
package it.integry.plugins.barcode_base_library.extension; package it.integry.barcode_base_android_library.extension;
public interface RunnableArgs<T> { public interface RunnableArgs<T> {

View File

@ -1,8 +1,9 @@
package it.integry.plugins.barcode_base_library.interfaces; package it.integry.barcode_base_android_library.interfaces;
import it.integry.plugins.barcode_base_library.extension.RunnableArgs;
import it.integry.plugins.barcode_base_library.exception.BarcodeAdapterNotFoundException; import it.integry.barcode_base_android_library.extension.RunnableArgs;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.exception.BarcodeAdapterNotFoundException;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public interface BarcodeReaderInterface { public interface BarcodeReaderInterface {
@ -16,4 +17,6 @@ public interface BarcodeReaderInterface {
String getAdapterName(); String getAdapterName();
//void onKeyEvent(KeyEvent keyEvent);
} }

View File

@ -1,4 +1,4 @@
package it.integry.plugins.barcode_base_library.model; package it.integry.barcode_base_android_library.model;
public class BarcodeScanDTO { public class BarcodeScanDTO {

View File

@ -1,4 +1,4 @@
package it.integry.plugins.barcode_base_library.model; package it.integry.barcode_base_android_library.model;
public enum BarcodeType { public enum BarcodeType {

View File

@ -1,7 +1,8 @@
package it.integry.wms.dynamic_customization.extensions; package it.integry.wms.dynamic_customization.extensions;
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration; import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
import it.integry.integrywmsnative.gest.ordini_acquisto_pv.OrdiniAcquistoElencoFragment; import it.integry.integrywmsnative.gest.ordini_acquisto_pv.PVOrdiniAcquistoGrigliaFragment;
import it.integry.integrywmsnative.gest.ordini_acquisto_pv.PVOrdiniAcquistoTransmittedListFragment;
public class MenuConfigurationSAPORIVERIPV extends BaseMenuConfiguration { public class MenuConfigurationSAPORIVERIPV extends BaseMenuConfiguration {
@ -15,10 +16,16 @@ public class MenuConfigurationSAPORIVERIPV extends BaseMenuConfiguration {
.addItem(new MenuItem() .addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_pv_ordini_acquisto) .setID(it.integry.integrywmsnative.R.id.nav_pv_ordini_acquisto)
.setTitleText(it.integry.integrywmsnative.R.string.purchase_orders) .setTitleText(it.integry.integrywmsnative.R.string.generate_orders)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_purchase_orders_pv) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_purchase_orders_pv)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_purchasing_orders) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_purchase_orders_pv)
.setFragmentClass(OrdiniAcquistoElencoFragment.newInstance())) .setFragmentClass(PVOrdiniAcquistoGrigliaFragment.newInstance()))
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_pv_ordini_acquisto_trasmessi)
.setTitleText(it.integry.integrywmsnative.R.string.transmitted_orders)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_trasmitted_orders_list)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_trasmitted_orders_list)
.setFragmentClass(PVOrdiniAcquistoTransmittedListFragment.newInstance()))
); );

View File

@ -30,9 +30,9 @@ android {
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.appcompat:appcompat:1.1.0'
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1' androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation project(path: ':barcode_base_library') implementation project(path: ':barcode_base_android_library')
} }

View File

@ -1,10 +1,7 @@
package it.integry.honeywellscannerlibrary; package it.integry.honeywellscannerlibrary;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Build; import android.os.Build;
import android.view.KeyEvent;
import android.widget.Toast; import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
@ -22,10 +19,10 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import it.integry.plugins.barcode_base_library.exception.BarcodeAdapterNotFoundException; import it.integry.barcode_base_android_library.exception.BarcodeAdapterNotFoundException;
import it.integry.plugins.barcode_base_library.extension.RunnableArgs; import it.integry.barcode_base_android_library.extension.RunnableArgs;
import it.integry.plugins.barcode_base_library.interfaces.BarcodeReaderInterface; import it.integry.barcode_base_android_library.interfaces.BarcodeReaderInterface;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
public class HoneyWellBarcodeReader implements BarcodeReaderInterface { public class HoneyWellBarcodeReader implements BarcodeReaderInterface {
@ -110,9 +107,10 @@ public class HoneyWellBarcodeReader implements BarcodeReaderInterface {
return "Honeywell"; return "Honeywell";
} }
@Override
public void onKeyEvent(KeyEvent keyEvent) {
}
private void registerListenersInternal() { private void registerListenersInternal() {

View File

@ -2,7 +2,7 @@ package it.integry.honeywellscannerlibrary;
import android.util.Log; import android.util.Log;
import it.integry.plugins.barcode_base_library.model.BarcodeType; import it.integry.barcode_base_android_library.model.BarcodeType;
public class HoneywellBarcodeTypeMapper { public class HoneywellBarcodeTypeMapper {

View File

@ -0,0 +1 @@
/build

View File

@ -0,0 +1,8 @@
apply plugin: 'java-library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
}
sourceCompatibility = "7"
targetCompatibility = "7"

View File

@ -0,0 +1,4 @@
package it.integry.keyboardemulatorscannerlibrary;
public class KeyboardEmulator {
}

View File

@ -0,0 +1 @@
/build

View File

@ -0,0 +1,35 @@
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation project(':barcode_base_android_library')
}

View File

@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

Some files were not shown because too many files have changed in this diff Show More