Merge branch 'feature/OrdiniAcquisto_PV' into develop
# Conflicts: # .idea/caches/build_file_checksums.ser # app/build.gradle
This commit is contained in:
@@ -15,14 +15,15 @@ import androidx.appcompat.app.ActionBarDrawerToggle;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.SubMenu;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
|
||||
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.MenuConfiguration;
|
||||
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.interfaces.IFilterableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||
@@ -41,25 +43,12 @@ import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.update.UpdatesManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilitySettings;
|
||||
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.gest.login.LoginActivity;
|
||||
import it.integry.integrywmsnative.gest.main.MainFragment;
|
||||
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.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 {
|
||||
|
||||
private ActivityMainBinding mBinding;
|
||||
|
||||
@@ -5,12 +5,20 @@ import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
|
||||
import it.integry.integrywmsnative.core.context.AppContext;
|
||||
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
|
||||
|
||||
public class MainApplication extends Application {
|
||||
|
||||
public static Resources res;
|
||||
|
||||
private AppContext appContext = new AppContext(this);
|
||||
|
||||
private static AppDatabase appDb;
|
||||
|
||||
|
||||
// Called when the application is starting, before any other application objects have been created.
|
||||
// Overriding this method is totally optional!
|
||||
@@ -20,6 +28,7 @@ public class MainApplication extends Application {
|
||||
|
||||
appContext.init();
|
||||
|
||||
appDb = AppDatabase.getDatabase(this);
|
||||
//Stash.init(this);
|
||||
|
||||
res = getResources();
|
||||
@@ -39,4 +48,22 @@ public class MainApplication extends Application {
|
||||
public void onLowMemory() {
|
||||
super.onLowMemory();
|
||||
}
|
||||
|
||||
|
||||
// DATABASE REPOSITORY FUNCTIONS
|
||||
public static GrigliaDao getGrigliaRepository(){
|
||||
return appDb.grigliaDao();
|
||||
}
|
||||
|
||||
public static ArticoloGrigliaDao getArticoliGrigliaRepository(){
|
||||
return appDb.articoloGrigliaDao();
|
||||
}
|
||||
|
||||
public static OrdineDao getOrdiniRepository(){
|
||||
return appDb.ordineDao();
|
||||
}
|
||||
|
||||
public static ArticoloOrdineDao getArticoliOrdineRepository(){
|
||||
return appDb.articoloOrdineDao();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
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.settings.SettingsManager;
|
||||
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.view.dialogs.base.DialogSimpleMessageHelper;
|
||||
|
||||
public class SplashActivity extends AppCompatActivity {
|
||||
public class SplashActivity extends BaseActivity {
|
||||
|
||||
|
||||
private ActivitySplashBinding mBinding;
|
||||
|
||||
@@ -26,7 +26,8 @@ public class CommonConst {
|
||||
public static class Mail {
|
||||
|
||||
public static String[] forErrorsDebug = {
|
||||
"g.scorrano@integry.it"
|
||||
"g.scorrano@integry.it",
|
||||
"v.castellana@integry.it"
|
||||
};
|
||||
|
||||
public static String[] forErrors = {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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.plugins.barcode_base_library.model.BarcodeScanDTO;
|
||||
|
||||
public class BarcodeCallbackDTO {
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package it.integry.integrywmsnative.core.barcode_reader;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.KeyEvent;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
@@ -8,11 +8,12 @@ import java.lang.reflect.Constructor;
|
||||
import java.util.ArrayList;
|
||||
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.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||
import it.integry.plugins.barcode_base_library.exception.BarcodeAdapterNotFoundException;
|
||||
import it.integry.plugins.barcode_base_library.interfaces.BarcodeReaderInterface;
|
||||
import it.integry.keyobardemulatorscannerlibrary.KeyboardEmulatorBarcodeReader;
|
||||
import it.integry.pointmobilescannerlibrary.PointMobileBarcodeReader;
|
||||
import it.integry.zebrascannerlibrary.ZebraBarcodeReader;
|
||||
|
||||
@@ -29,7 +30,8 @@ public class BarcodeManager {
|
||||
private static Class<? extends BarcodeReaderInterface>[] registeredBarcodeReaderInterfaces = new Class[]{
|
||||
PointMobileBarcodeReader.class,
|
||||
ZebraBarcodeReader.class,
|
||||
HoneyWellBarcodeReader.class
|
||||
HoneyWellBarcodeReader.class,
|
||||
KeyboardEmulatorBarcodeReader.class
|
||||
};
|
||||
|
||||
|
||||
@@ -55,7 +57,7 @@ public class BarcodeManager {
|
||||
|
||||
|
||||
} 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() {
|
||||
return mCurrentBarcodeInterface;
|
||||
}
|
||||
@@ -146,4 +153,5 @@ public class BarcodeManager {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.room.Database;
|
||||
import androidx.room.Room;
|
||||
import androidx.room.RoomDatabase;
|
||||
import androidx.room.TypeConverters;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.converter.DateConverter;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
||||
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.Ordine;
|
||||
|
||||
@Database(entities = {ArticoloGriglia.class, Griglia.class, Ordine.class, ArticoloOrdine.class}, version = 3, exportSchema = false)
|
||||
@TypeConverters({
|
||||
DateConverter.class
|
||||
})
|
||||
public abstract class AppDatabase extends RoomDatabase {
|
||||
|
||||
private static volatile AppDatabase INSTANCE;
|
||||
|
||||
public abstract ArticoloGrigliaDao articoloGrigliaDao();
|
||||
|
||||
public abstract GrigliaDao grigliaDao();
|
||||
|
||||
public abstract OrdineDao ordineDao();
|
||||
|
||||
public abstract ArticoloOrdineDao articoloOrdineDao();
|
||||
|
||||
public static AppDatabase getDatabase(final Context context) {
|
||||
if (INSTANCE == null) {
|
||||
synchronized (AppDatabase.class) {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
|
||||
AppDatabase.class, "integry_wms")
|
||||
.fallbackToDestructiveMigration()
|
||||
.build();
|
||||
}
|
||||
}
|
||||
}
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.converter;
|
||||
|
||||
import androidx.room.TypeConverter;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class DateConverter {
|
||||
@TypeConverter
|
||||
public static Date fromTimestamp(Long value) {
|
||||
return value == null ? null : new Date(value);
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
public static Long dateToTimestamp(Date date) {
|
||||
return date == null ? null : date.getTime();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Insert;
|
||||
import androidx.room.Query;
|
||||
import androidx.room.Update;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
||||
|
||||
@Dao
|
||||
public interface ArticoloGrigliaDao {
|
||||
@Query("SELECT * from articoli_griglia")
|
||||
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);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Query;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
||||
|
||||
@Dao
|
||||
public interface ArticoloOrdineDao {
|
||||
@Query("SELECT * from articoli_ordine")
|
||||
List<ArticoloOrdine> getAll();
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Delete;
|
||||
import androidx.room.Insert;
|
||||
import androidx.room.Query;
|
||||
import androidx.room.Update;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||
|
||||
@Dao
|
||||
public interface GrigliaDao {
|
||||
@Query("SELECT * from griglie")
|
||||
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);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Query;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
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.view_model.OrdineWithGriglia;
|
||||
|
||||
@Dao
|
||||
public interface OrdineDao {
|
||||
@Query("SELECT * from ordini ")
|
||||
List<Ordine> getAll();
|
||||
|
||||
@Query("SELECT ordini.*, griglie.* from ordini inner join griglie ON id_griglia = griglie.griglia_id")
|
||||
List<OrdineWithGriglia> getAllTrasnmitted();
|
||||
}
|
||||
@@ -0,0 +1,145 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.ForeignKey;
|
||||
import androidx.room.Index;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
@Entity(
|
||||
tableName = "articoli_griglia",
|
||||
indices = {
|
||||
@Index(value = "id_griglia"),
|
||||
},
|
||||
foreignKeys = {
|
||||
@ForeignKey(
|
||||
entity = Griglia.class,
|
||||
parentColumns = "griglia_id",
|
||||
childColumns = "id_griglia",
|
||||
onDelete = ForeignKey.CASCADE
|
||||
)
|
||||
}
|
||||
)
|
||||
public class ArticoloGriglia {
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
@ColumnInfo(name = "articolo_griglia_id")
|
||||
private int articoloGrigliaId;
|
||||
|
||||
@ColumnInfo(name = "cod_mart")
|
||||
private String codMart;
|
||||
|
||||
@ColumnInfo(name = "descrizione")
|
||||
private String descrizione;
|
||||
|
||||
@ColumnInfo(name = "unt_mis")
|
||||
private String untMis;
|
||||
|
||||
@ColumnInfo(name = "qta_cnf")
|
||||
private float qtaCnf;
|
||||
|
||||
@ColumnInfo(name = "bar_code")
|
||||
private String barCode;
|
||||
|
||||
@ColumnInfo(name = "merce_da_ric")
|
||||
private int merceDaRic;
|
||||
|
||||
@ColumnInfo(name = "media_sett")
|
||||
private float mediaSett;
|
||||
|
||||
@ColumnInfo(name = "flag_qta_multipla")
|
||||
private String flagQtaMultipla;
|
||||
|
||||
@ColumnInfo(name = "qta_min_ordinabile")
|
||||
private int qtaMinOrdinabile;
|
||||
|
||||
@ColumnInfo(name = "id_griglia")
|
||||
private int idGriglia;
|
||||
|
||||
public int getArticoloGrigliaId() {
|
||||
return articoloGrigliaId;
|
||||
}
|
||||
|
||||
public void setArticoloGrigliaId(int articoloGrigliaId) {
|
||||
this.articoloGrigliaId = articoloGrigliaId;
|
||||
}
|
||||
|
||||
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 int getIdGriglia() {
|
||||
return idGriglia;
|
||||
}
|
||||
|
||||
public void setIdGriglia(int idGriglia) {
|
||||
this.idGriglia = idGriglia;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,145 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.ForeignKey;
|
||||
import androidx.room.Index;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
@Entity(
|
||||
tableName = "articoli_ordine",
|
||||
indices = {
|
||||
@Index(value = "id_ordine")
|
||||
},
|
||||
foreignKeys = {
|
||||
@ForeignKey(
|
||||
entity = Ordine.class,
|
||||
parentColumns = "ordine_id",
|
||||
childColumns = "id_ordine",
|
||||
onDelete = ForeignKey.CASCADE
|
||||
)
|
||||
}
|
||||
)
|
||||
public class ArticoloOrdine {
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
@ColumnInfo(name = "articolo_ordine_id")
|
||||
private int articoloOrdineId;
|
||||
|
||||
@ColumnInfo(name = "cod_mart")
|
||||
private String codMart;
|
||||
|
||||
@ColumnInfo(name = "descrizione")
|
||||
private String descrizione;
|
||||
|
||||
@ColumnInfo(name = "unt_mis")
|
||||
private String untMis;
|
||||
|
||||
@ColumnInfo(name = "qta_cnf")
|
||||
private float qtaCnf;
|
||||
|
||||
@ColumnInfo(name = "bar_code")
|
||||
private String barCode;
|
||||
|
||||
@ColumnInfo(name = "merce_da_ric")
|
||||
private int merceDaRic;
|
||||
|
||||
@ColumnInfo(name = "media_sett")
|
||||
private float mediaSett;
|
||||
|
||||
@ColumnInfo(name = "flag_qta_multipla")
|
||||
private String flagQtaMultipla;
|
||||
|
||||
@ColumnInfo(name = "qta_min_ordinabile")
|
||||
private int qtaMinOrdinabile;
|
||||
|
||||
@ColumnInfo(name = "id_ordine")
|
||||
private int idOrdine;
|
||||
|
||||
public int getArticoloOrdineId() {
|
||||
return articoloOrdineId;
|
||||
}
|
||||
|
||||
public void setArticoloOrdineId(int articoloOrdineId) {
|
||||
this.articoloOrdineId = articoloOrdineId;
|
||||
}
|
||||
|
||||
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 int getIdOrdine() {
|
||||
return idOrdine;
|
||||
}
|
||||
|
||||
public void setIdOrdine(int idOrdine) {
|
||||
this.idOrdine = idOrdine;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.Ignore;
|
||||
import androidx.room.Index;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
@Entity(tableName ="griglie",
|
||||
indices = {
|
||||
@Index(value = "cod_alis", unique = true)
|
||||
}
|
||||
)
|
||||
public class Griglia {
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
@ColumnInfo(name = "griglia_id")
|
||||
private int grigliaId;
|
||||
@ColumnInfo(name = "cod_alis")
|
||||
private String codAlis;
|
||||
@ColumnInfo(name = "descr_lisa")
|
||||
private String descrLisa;
|
||||
@ColumnInfo(name = "descr_depo")
|
||||
private String descrDepo;
|
||||
@Ignore
|
||||
private int countArticoli = 0;
|
||||
|
||||
|
||||
public int getGrigliaId() {
|
||||
return grigliaId;
|
||||
}
|
||||
|
||||
public void setGrigliaId(int grigliaId) {
|
||||
this.grigliaId = grigliaId;
|
||||
}
|
||||
|
||||
public String getCodAlis() {
|
||||
return codAlis;
|
||||
}
|
||||
|
||||
public void setCodAlis(String codAlis) {
|
||||
this.codAlis = codAlis;
|
||||
}
|
||||
|
||||
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 int getCountArticoli() {
|
||||
return countArticoli;
|
||||
}
|
||||
|
||||
public void setCountArticoli(int countArticoli) {
|
||||
this.countArticoli = countArticoli;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.PrimaryKey;
|
||||
import androidx.room.TypeConverter;
|
||||
import androidx.room.TypeConverters;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Entity(tableName = "ordini")
|
||||
|
||||
public class Ordine {
|
||||
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
@ColumnInfo(name = "ordine_id")
|
||||
private int ordineId;
|
||||
|
||||
@ColumnInfo(name = "data_ord")
|
||||
private Date dataOrd;
|
||||
|
||||
@ColumnInfo(name = "annotazioni")
|
||||
private String annotazioni;
|
||||
|
||||
@ColumnInfo(name = "transmitted")
|
||||
private boolean transmitted = false;
|
||||
|
||||
@ColumnInfo(name = "transmission_date")
|
||||
@Nullable
|
||||
private Date transmissionDate;
|
||||
|
||||
@ColumnInfo(name = "id_griglia")
|
||||
private int idGriglia;
|
||||
|
||||
public int getOrdineId() {
|
||||
return ordineId;
|
||||
}
|
||||
|
||||
public void setOrdineId(int ordineId) {
|
||||
this.ordineId = ordineId;
|
||||
}
|
||||
|
||||
public Date getDataOrd() {
|
||||
return dataOrd;
|
||||
}
|
||||
|
||||
public void setDataOrd(Date dataOrd) {
|
||||
this.dataOrd = dataOrd;
|
||||
}
|
||||
|
||||
public String getAnnotazioni() {
|
||||
return annotazioni;
|
||||
}
|
||||
|
||||
public void setAnnotazioni(String annotazioni) {
|
||||
this.annotazioni = annotazioni;
|
||||
}
|
||||
|
||||
public int getIdGriglia() {
|
||||
return idGriglia;
|
||||
}
|
||||
|
||||
public void setIdGriglia(int 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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
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.model.Ean128Model;
|
||||
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.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package it.integry.integrywmsnative.core.rest.consumers;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
@@ -15,10 +14,8 @@ import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||
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.model.CommonModelConsts;
|
||||
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.MtbDepoPosizione;
|
||||
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.UtilityDate;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -4,10 +4,10 @@ import com.annimon.stream.Stream;
|
||||
|
||||
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.settings.SettingsManager;
|
||||
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
|
||||
import it.integry.plugins.barcode_base_library.model.BarcodeType;
|
||||
|
||||
public class UtilityBarcode {
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
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.barcode_reader.BarcodeCallbackDTO;
|
||||
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.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
|
||||
|
||||
public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
|
||||
public class AccettazioneOrdineInevasoActivity extends BaseActivity {
|
||||
|
||||
public ActivityAccettazioneOrdineInevasoBinding bindings;
|
||||
private AccettazioneOrdineAccettazioneInevasoViewModel mAccettazioneOrdineInevasoViewModel;
|
||||
|
||||
@@ -9,7 +9,7 @@ public class AccettazioneOrdineInevasoOrderBy {
|
||||
public static String[] descriptions = new String[] {
|
||||
"Cod articolo fornitore",
|
||||
"Descrizione articolo",
|
||||
"Commessa - Articolo"
|
||||
"Commessa - ArticoloGriglia"
|
||||
};
|
||||
|
||||
public enum Enum {
|
||||
|
||||
@@ -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.input_quantity.DialogInputQuantity;
|
||||
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;
|
||||
|
||||
|
||||
@@ -8,13 +8,14 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
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.data_cache.DataCache;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.databinding.ActivityContenutoBancaleBinding;
|
||||
import it.integry.integrywmsnative.gest.contenuto_bancale.viewmodel.ContenutoBancaleViewModel;
|
||||
|
||||
public class ContenutoBancaleActivity extends AppCompatActivity {
|
||||
public class ContenutoBancaleActivity extends BaseActivity {
|
||||
|
||||
public ActivityContenutoBancaleBinding bindings;
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
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.data_cache.DataCache;
|
||||
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.lista_bancali.viewmodel.ListaBancaliViewModel;
|
||||
|
||||
public class ListaBancaliActivity extends AppCompatActivity {
|
||||
public class ListaBancaliActivity extends BaseActivity {
|
||||
|
||||
private static class Key {
|
||||
private static final String MtbColtsKey = "mtbColtsKey";
|
||||
|
||||
@@ -6,11 +6,12 @@ import android.os.Bundle;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
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.databinding.ActivityLoginBinding;
|
||||
import it.integry.integrywmsnative.gest.login.viewmodel.LoginViewModel;
|
||||
|
||||
public class LoginActivity extends AppCompatActivity {
|
||||
public class LoginActivity extends BaseActivity {
|
||||
|
||||
private MainContext mainContext = new MainContext(this);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package it.integry.integrywmsnative.gest.ordini_acquisto_pv.core;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
public class OrdiniAcquistoElencoHelper {
|
||||
|
||||
private Context mContext;
|
||||
|
||||
public OrdiniAcquistoElencoHelper(Context context) {
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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.input_quantity.DialogInputQuantity;
|
||||
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> {
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
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.PrinterRESTConsumer;
|
||||
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.input_quantity.DialogInputQuantity;
|
||||
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;
|
||||
public ObservableList<WithdrawableDtbDocr> mDtbDocrList;
|
||||
|
||||
@@ -151,7 +151,7 @@ public class ProdOrdineLavorazioneElencoFragment extends Fragment implements ITi
|
||||
public void refreshOrdini(List<OrdineVenditaInevasoDTO> ordini) {
|
||||
|
||||
mRenderedOrderList.clear();
|
||||
mRenderedOrderList.addAll(ordini);
|
||||
if (ordini != null && ordini.size() > 0) mRenderedOrderList.addAll(ordini);
|
||||
}
|
||||
|
||||
private void initRecyclerView() {
|
||||
|
||||
@@ -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.QuantityDTO;
|
||||
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 {
|
||||
|
||||
|
||||
@@ -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.scan_or_create_lu.DialogScanOrCreateLU;
|
||||
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo;
|
||||
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
|
||||
import it.integry.plugins.barcode_base_library.model.BarcodeType;
|
||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||
import it.integry.barcode_base_android_library.model.BarcodeType;
|
||||
|
||||
public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr> {
|
||||
|
||||
|
||||
@@ -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.dto.OrdineVenditaInevasoDTO;
|
||||
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 {
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.view.MenuItem;
|
||||
import java.util.ArrayList;
|
||||
|
||||
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.barcode_reader.BarcodeCallbackDTO;
|
||||
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.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
|
||||
|
||||
public class VenditaOrdineInevasoActivity extends AppCompatActivity {
|
||||
public class VenditaOrdineInevasoActivity extends BaseActivity {
|
||||
|
||||
|
||||
private ActivityVenditaOrdineInevasoBinding mBindings;
|
||||
|
||||
@@ -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.QuantityDTO;
|
||||
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 {
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@ package it.integry.integrywmsnative.gest.versamento_merce.viewmodel;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
import androidx.databinding.ObservableField;
|
||||
import android.text.Html;
|
||||
import android.text.SpannableString;
|
||||
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
import androidx.databinding.ObservableField;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@@ -16,10 +16,9 @@ import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
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.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.expansion.RunnableArgs;
|
||||
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.MtbDepoPosizione;
|
||||
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.utility.UtilityBarcode;
|
||||
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.input_quantity.DialogInputQuantity;
|
||||
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 {
|
||||
|
||||
|
||||
@@ -9,13 +9,16 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.ProgressBar;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||
import it.integry.integrywmsnative.databinding.DialogProgressBinding;
|
||||
|
||||
public class DialogProgress {
|
||||
|
||||
private Context mContext;
|
||||
|
||||
private DialogProgressBinding mBinding;
|
||||
|
||||
private Dialog mDialog;
|
||||
|
||||
@@ -29,19 +32,19 @@ public class DialogProgress {
|
||||
mContext = context;
|
||||
|
||||
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];
|
||||
|
||||
mDialog = new Dialog(mContext);
|
||||
mDialog.setContentView(currentView);
|
||||
mDialog.setContentView(mBinding.getRoot());
|
||||
mDialog.setCanceledOnTouchOutside(false);
|
||||
mDialog.setCancelable(false);
|
||||
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
|
||||
mDialog.setOnShowListener(dialog -> {
|
||||
// ((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 -> {
|
||||
@@ -49,4 +52,8 @@ public class DialogProgress {
|
||||
});
|
||||
}
|
||||
|
||||
public void setSubtitle(String subtitle){
|
||||
mBinding.setSubtitle(subtitle);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ import it.integry.integrywmsnative.core.utility.UtilityPosizione;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||
import it.integry.integrywmsnative.databinding.DialogAskPositionOfLuBinding;
|
||||
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 {
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.DialogChooseArtsFromListaArtsLayoutBinding;
|
||||
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 {
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.DialogInputQuantityArticoloBinding;
|
||||
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 {
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.DialogScanArtBinding;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||
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 {
|
||||
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.scan_or_create_lu;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.text.SpannableString;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||
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.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||
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.utility.UtilityBarcode;
|
||||
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.databinding.DialogScanOrCreateLuBinding;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
|
||||
|
||||
public class DialogScanOrCreateLU {
|
||||
|
||||
|
||||
BIN
app/src/main/res/drawable/ic_dashboard_purchase_orders_pv.png
Normal file
BIN
app/src/main/res/drawable/ic_dashboard_purchase_orders_pv.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 9.3 KiB |
9
app/src/main/res/drawable/ic_purchasing_orders.xml
Normal file
9
app/src/main/res/drawable/ic_purchasing_orders.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M7,18c-1.1,0 -1.99,0.9 -1.99,2S5.9,22 7,22s2,-0.9 2,-2 -0.9,-2 -2,-2zM1,2v2h2l3.6,7.59 -1.35,2.45c-0.16,0.28 -0.25,0.61 -0.25,0.96 0,1.1 0.9,2 2,2h12v-2L7.42,15c-0.14,0 -0.25,-0.11 -0.25,-0.25l0.03,-0.12 0.9,-1.63h7.45c0.75,0 1.41,-0.41 1.75,-1.03l3.58,-6.49c0.08,-0.14 0.12,-0.31 0.12,-0.48 0,-0.55 -0.45,-1 -1,-1L5.21,4l-0.94,-2L1,2zM17,18c-1.1,0 -1.99,0.9 -1.99,2s0.89,2 1.99,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/>
|
||||
</vector>
|
||||
@@ -1,8 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
xmlns: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
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -28,6 +35,16 @@
|
||||
android:text="@string/loading"
|
||||
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
|
||||
android:id="@+id/progressBar"
|
||||
|
||||
119
app/src/main/res/layout/dialog_scan_codice_griglia.xml
Normal file
119
app/src/main/res/layout/dialog_scan_codice_griglia.xml
Normal file
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:id="@+id/base_root"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
app:cardCornerRadius="12dp"
|
||||
app:cardElevation="0dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/title_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/light_blue_300"
|
||||
android:gravity="center_horizontal">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/title_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_error_white_24dp"
|
||||
android:layout_margin="24dp"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="24dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/TextViewMaterial.DialogTitle"
|
||||
android:text="@string/title_open_grid_pv"
|
||||
android:gravity="center_horizontal"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="16dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="10">
|
||||
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="16sp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:gravity="center_horizontal"
|
||||
style="@style/TextViewMaterial"
|
||||
android:text="@string/scan_grid"/>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/dialog_scan_or_create_lu__creation_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/ok_left_buttons_guideline"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.15"/>
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/ok_right_buttons_guideline"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.85"/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
</layout>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
213
app/src/main/res/layout/fragment_pv_ordini_acquisto.xml
Normal file
213
app/src/main/res/layout/fragment_pv_ordini_acquisto.xml
Normal file
@@ -0,0 +1,213 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:fab="http://schemas.android.com/apk/res-auto">
|
||||
<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>
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android: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>
|
||||
|
||||
|
||||
|
||||
<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>
|
||||
@@ -252,8 +252,19 @@
|
||||
|
||||
<string name="shipped_on">Spedito il %s</string>
|
||||
<string name="delivered_on">Consegnato il %s</string>
|
||||
<string name="title_dynamic_frudis">Personalizzazioni Frudis</string>
|
||||
|
||||
<string name="batch_lot_not_enabled">Il lotto <b>%s</b> non è attivo. Continuare?</string>
|
||||
<string name="punto_vendita">Punto Vendita</string>
|
||||
<string name="title_dynamic_saporiveri">Dynamic SaporiVeri</string>
|
||||
<string name="title_dynamic_saporiveri_pv">SaporiVeri PV</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_transmitted_title_fragment">Ordini trasmessi</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="other">Altro</string>
|
||||
<string name="home">Home</string>
|
||||
<string name="logout">Logout</string>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
<item name="nav_group_acquisto" type="id" />
|
||||
<item name="nav_group_spedizione" type="id" />
|
||||
<item name="nav_group_puntivendita" type="id" />
|
||||
<item name="nav_group_produzione" type="id" />
|
||||
<item name="nav_group_movimentazione_interna" type="id" />
|
||||
<item name="nav_group_altro" type="id" />
|
||||
@@ -22,6 +23,8 @@
|
||||
<item name="nav_prod_versamento_materiale" type="id" />
|
||||
<item name="nav_prod_ordine_lavorazione" type="id" />
|
||||
<item name="nav_prod_recupero_materiale" 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_logout" type="id" />
|
||||
|
||||
|
||||
@@ -264,4 +264,13 @@
|
||||
<string name="home">Home</string>
|
||||
<string name="logout">Logout</string>
|
||||
|
||||
<string name="title_dynamic_saporiveri">Dynamic SaporiVeri</string>
|
||||
<string name="title_dynamic_saporiveri_pv">SaporiVeri PV</string>
|
||||
<string name="punto_vendita">Sale point</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_transmitted_title_fragment">Transmitted Orders</string>
|
||||
<string name="title_open_grid_pv">Select grid</string>
|
||||
<string name="scan_grid">scan the barcode for the wanted <b>grid</b></string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user