Compare commits
37 Commits
v1.29.5(30
...
v1.29.13__
| Author | SHA1 | Date | |
|---|---|---|---|
| a3598fab56 | |||
| 7dc77bf1f9 | |||
| 66f2bda370 | |||
| 600258228b | |||
| 19cc9f5016 | |||
| 0dcb8c6af4 | |||
| 9974deaf69 | |||
| fe081897e7 | |||
| b0de2dda40 | |||
| dda288d709 | |||
| f6fdc45e1a | |||
| 5e88833039 | |||
| 2c521c5f96 | |||
| 8530309244 | |||
| 57dd0cef76 | |||
| 8df31407ac | |||
| 8134a64a43 | |||
| 0c2fd117d5 | |||
| d2b5fe917d | |||
| 3de49545b7 | |||
| 7163d91c53 | |||
| b8b3d2f2bb | |||
| 7555e3d90f | |||
| 46e438e0e9 | |||
| 439eada61b | |||
| 48548b7c92 | |||
| 79afe0155b | |||
| 730dabc2bb | |||
| 44255f08b4 | |||
| fb23009fcc | |||
| c0310e492f | |||
| bf1fc455e1 | |||
| c7c2700dbe | |||
| c89e4869ef | |||
| 5e147c9d96 | |||
| 95fc680823 | |||
| 3cd1b8eb9f |
@@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 309
|
def appVersionCode = 317
|
||||||
def appVersionName = '1.29.5'
|
def appVersionName = '1.29.13'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
@@ -94,7 +94,7 @@ dependencies {
|
|||||||
exclude group: 'com.android.support', module: 'support-annotations'
|
exclude group: 'com.android.support', module: 'support-annotations'
|
||||||
})
|
})
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
implementation 'com.orhanobut:logger:2.2.0'
|
implementation 'com.github.lupaulus:logger:2.3.2'
|
||||||
|
|
||||||
//Firebase
|
//Firebase
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import java.util.List;
|
|||||||
import it.integry.barcode_base_android_library.interfaces.BarcodeReaderInterface;
|
import it.integry.barcode_base_android_library.interfaces.BarcodeReaderInterface;
|
||||||
import it.integry.barcode_base_android_library.model.BarcodeSetting;
|
import it.integry.barcode_base_android_library.model.BarcodeSetting;
|
||||||
import it.integry.honeywellscannerlibrary.HoneyWellBarcodeReader;
|
import it.integry.honeywellscannerlibrary.HoneyWellBarcodeReader;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||||
import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
|
import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
|
||||||
import it.integry.keyobardemulatorscannerlibrary.KeyboardEmulatorBarcodeReader;
|
import it.integry.keyobardemulatorscannerlibrary.KeyboardEmulatorBarcodeReader;
|
||||||
import it.integry.pointmobilescannerlibrary.PointMobileBarcodeReader;
|
import it.integry.pointmobilescannerlibrary.PointMobileBarcodeReader;
|
||||||
@@ -135,10 +136,12 @@ public class BarcodeManager {
|
|||||||
|
|
||||||
public static void disable() {
|
public static void disable() {
|
||||||
mEnabled = false;
|
mEnabled = false;
|
||||||
|
UtilityLogger.trace("Barcode reader disabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void enable() {
|
public static void enable() {
|
||||||
mEnabled = true;
|
mEnabled = true;
|
||||||
|
UtilityLogger.trace("Barcode reader enabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isEnabled() {
|
public static boolean isEnabled() {
|
||||||
|
|||||||
@@ -4,8 +4,11 @@ import android.content.Context;
|
|||||||
|
|
||||||
import com.google.firebase.crashlytics.FirebaseCrashlytics;
|
import com.google.firebase.crashlytics.FirebaseCrashlytics;
|
||||||
import com.orhanobut.logger.AndroidLogAdapter;
|
import com.orhanobut.logger.AndroidLogAdapter;
|
||||||
|
import com.orhanobut.logger.DiskLogAdapter;
|
||||||
import com.orhanobut.logger.Logger;
|
import com.orhanobut.logger.Logger;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
@@ -36,8 +39,6 @@ public class AppContext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public void init() {
|
public void init() {
|
||||||
this.initUtilities();
|
this.initUtilities();
|
||||||
@@ -56,10 +57,10 @@ public class AppContext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initCrashlytics() {
|
private void initCrashlytics() {
|
||||||
if(!BuildConfig.DEBUG) {
|
if (!BuildConfig.DEBUG) {
|
||||||
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
|
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
|
||||||
|
|
||||||
if( SettingsManager.isInstanceAvailable() &&
|
if (SettingsManager.isInstanceAvailable() &&
|
||||||
(SettingsManager.i().getUserSession() != null && !UtilityString.isNullOrEmpty(SettingsManager.i().getUserSession().getProfileDB())) &&
|
(SettingsManager.i().getUserSession() != null && !UtilityString.isNullOrEmpty(SettingsManager.i().getUserSession().getProfileDB())) &&
|
||||||
(SettingsManager.i().getUser() != null && !UtilityString.isNullOrEmpty(SettingsManager.i().getUser().getFullname()))) {
|
(SettingsManager.i().getUser() != null && !UtilityString.isNullOrEmpty(SettingsManager.i().getUser().getFullname()))) {
|
||||||
|
|
||||||
@@ -77,6 +78,11 @@ public class AppContext {
|
|||||||
|
|
||||||
private void initLogger() {
|
private void initLogger() {
|
||||||
Logger.addLogAdapter(new AndroidLogAdapter());
|
Logger.addLogAdapter(new AndroidLogAdapter());
|
||||||
|
|
||||||
|
File logsFolder = new File(mApplicationContext.getExternalFilesDir(null).getAbsolutePath());
|
||||||
|
int maxBytesSize = 5000;
|
||||||
|
Logger.addLogAdapter(new DiskLogAdapter(logsFolder, maxBytesSize));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class ExceptionsHandler implements Thread.UncaughtExceptionHandler {
|
|||||||
@Override
|
@Override
|
||||||
public void uncaughtException(final Thread thread, final Throwable ex) {
|
public void uncaughtException(final Thread thread, final Throwable ex) {
|
||||||
try {
|
try {
|
||||||
UtilityLogger.errorMe(new Exception(ex));
|
UtilityLogger.error(new Exception(ex));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.e(TAG, "Exception Logger failed!", e);
|
Log.e(TAG, "Exception Logger failed!", e);
|
||||||
MainApplication.exit();
|
MainApplication.exit();
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ public abstract class BaseFragment extends Fragment {
|
|||||||
if (progressOpened) {
|
if (progressOpened) {
|
||||||
this.progressOpened = false;
|
this.progressOpened = false;
|
||||||
requireActivity().runOnUiThread(() -> {
|
requireActivity().runOnUiThread(() -> {
|
||||||
mCurrentProgress.dismiss();
|
mCurrentProgress.dismissAllowingStateLoss();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,122 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.core.model;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|
||||||
|
|
||||||
public class MtbCols extends EntityBase {
|
|
||||||
|
|
||||||
private String dataCollo;
|
|
||||||
private String gestione;
|
|
||||||
private Integer idRiga;
|
|
||||||
private Integer numCollo;
|
|
||||||
private String serCollo;
|
|
||||||
private String codMdep;
|
|
||||||
private String dataMove;
|
|
||||||
private String modificatoDa;
|
|
||||||
private String posizione;
|
|
||||||
private String causale;
|
|
||||||
|
|
||||||
public MtbCols() {
|
|
||||||
type = "mtb_cols";
|
|
||||||
setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep());
|
|
||||||
setModificatoDa(SettingsManager.i().getUser().getFullname());
|
|
||||||
//setDataMove(UtilityDate.getDateInstance());
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDataCollo() {
|
|
||||||
return dataCollo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbCols setDataCollo(String dataCollo) {
|
|
||||||
this.dataCollo = dataCollo;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getGestione() {
|
|
||||||
return gestione;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbCols setGestione(String gestione) {
|
|
||||||
this.gestione = gestione;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getIdRiga() {
|
|
||||||
return idRiga;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbCols setIdRiga(Integer idRiga) {
|
|
||||||
this.idRiga = idRiga;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getNumCollo() {
|
|
||||||
return numCollo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbCols setNumCollo(Integer numCollo) {
|
|
||||||
this.numCollo = numCollo;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSerCollo() {
|
|
||||||
return serCollo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbCols setSerCollo(String serCollo) {
|
|
||||||
this.serCollo = serCollo;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCodMdep() {
|
|
||||||
return codMdep;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbCols setCodMdep(String codMdep) {
|
|
||||||
this.codMdep = codMdep;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDataMove() {
|
|
||||||
return dataMove;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbCols setDataMove(String dataMove) {
|
|
||||||
this.dataMove = dataMove;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbCols setDataMove(Date dataMove) {
|
|
||||||
this.dataMove = UtilityDate.formatDate(dataMove, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getModificatoDa() {
|
|
||||||
return modificatoDa;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbCols setModificatoDa(String modificatoDa) {
|
|
||||||
this.modificatoDa = modificatoDa;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPosizione() {
|
|
||||||
return posizione;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbCols setPosizione(String posizione) {
|
|
||||||
this.posizione = posizione;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCausale() {
|
|
||||||
return causale;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbCols setCausale(String causale) {
|
|
||||||
this.causale = causale;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -63,7 +63,6 @@ public class MtbColt extends EntityBase {
|
|||||||
private BigDecimal altezzaCm;
|
private BigDecimal altezzaCm;
|
||||||
private String codJcom;
|
private String codJcom;
|
||||||
|
|
||||||
private List<MtbCols> mtbCols;
|
|
||||||
private MtbTCol mtbTCol;
|
private MtbTCol mtbTCol;
|
||||||
|
|
||||||
private Boolean disablePrint;
|
private Boolean disablePrint;
|
||||||
@@ -175,7 +174,7 @@ public class MtbColt extends EntityBase {
|
|||||||
try {
|
try {
|
||||||
dataColloD = getDataColloD();
|
dataColloD = getDataColloD();
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
UtilityLogger.errorMe(ex);
|
UtilityLogger.error(ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dataColloD != null) {
|
if (dataColloD != null) {
|
||||||
@@ -526,16 +525,6 @@ public class MtbColt extends EntityBase {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<MtbCols> getMtbCols() {
|
|
||||||
return mtbCols;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbColt setMtbCols(List<MtbCols> mtbCols) {
|
|
||||||
this.mtbCols = mtbCols;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getDisablePrint() {
|
public Boolean getDisablePrint() {
|
||||||
return disablePrint == null ? false : disablePrint;
|
return disablePrint == null ? false : disablePrint;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package it.integry.integrywmsnative.core.model;
|
package it.integry.integrywmsnative.core.model;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||||
|
|
||||||
public class MtbDepoPosizione {
|
public class MtbDepoPosizione {
|
||||||
@@ -19,7 +18,7 @@ public class MtbDepoPosizione {
|
|||||||
return (MtbDepoPosizione) super.clone();
|
return (MtbDepoPosizione) super.clone();
|
||||||
} catch (CloneNotSupportedException e) {
|
} catch (CloneNotSupportedException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
UtilityLogger.errorMe(e);
|
UtilityLogger.error(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class BarcodeRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
IBarcodeCustomization barcodeCustomization = ClassRouter.getInstance(ClassRouter.PATH.BARCODE_CUSTOMIZATION);
|
IBarcodeCustomization barcodeCustomization = ClassRouter.getInstance(ClassRouter.PATH.BARCODE_CUSTOMIZATION);
|
||||||
|
|
||||||
if(barcodeCustomization != null && barcodeCustomization.shouldForceToEan13(barcodeObj.getStringValue())){
|
if (barcodeCustomization != null && barcodeCustomization.shouldForceToEan13(barcodeObj.getStringValue())) {
|
||||||
Ean128Model ean128Model = new Ean128Model();
|
Ean128Model ean128Model = new Ean128Model();
|
||||||
ean128Model.Gtin = barcodeObj.getStringValue();
|
ean128Model.Gtin = barcodeObj.getStringValue();
|
||||||
onComplete.run(ean128Model);
|
onComplete.run(ean128Model);
|
||||||
@@ -30,7 +30,7 @@ public class BarcodeRESTConsumer extends _BaseRESTConsumer {
|
|||||||
String ean128 = barcodeObj.getStringValue().replaceAll("" + ((char) 29), "|");
|
String ean128 = barcodeObj.getStringValue().replaceAll("" + ((char) 29), "|");
|
||||||
|
|
||||||
BarcodeRESTConsumerService barcodeRESTConsumerService = RESTBuilder.getService(BarcodeRESTConsumerService.class);
|
BarcodeRESTConsumerService barcodeRESTConsumerService = RESTBuilder.getService(BarcodeRESTConsumerService.class);
|
||||||
barcodeRESTConsumerService.decodeEan128(ean128).enqueue(new Callback<ServiceRESTResponse<Ean128Model>>() {
|
barcodeRESTConsumerService.decodeEan128(ean128).enqueue(new Callback<>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<ServiceRESTResponse<Ean128Model>> call, Response<ServiceRESTResponse<Ean128Model>> response) {
|
public void onResponse(Call<ServiceRESTResponse<Ean128Model>> call, Response<ServiceRESTResponse<Ean128Model>> response) {
|
||||||
analyzeAnswer(response, "DecodeEan128", onComplete, onFailed);
|
analyzeAnswer(response, "DecodeEan128", onComplete, onFailed);
|
||||||
|
|||||||
@@ -89,8 +89,6 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
public void saveColli(List<MtbColt> mtbColtsToSave, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
public void saveColli(List<MtbColt> mtbColtsToSave, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
for (MtbColt mtbColt : mtbColtsToSave) {
|
for (MtbColt mtbColt : mtbColtsToSave) {
|
||||||
mtbColt.setMtbCols(null);
|
|
||||||
|
|
||||||
for (int i = 0; i < mtbColt.getMtbColr().size(); i++) {
|
for (int i = 0; i < mtbColt.getMtbColr().size(); i++) {
|
||||||
mtbColt.getMtbColr().get(i)
|
mtbColt.getMtbColr().get(i)
|
||||||
.setMtbAart(null)
|
.setMtbAart(null)
|
||||||
@@ -700,6 +698,27 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void confirmGiacenzaUL(MtbColt sourceMtbColt, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
MtbColt sourceMtbColtClone = (MtbColt) sourceMtbColt.clone();
|
||||||
|
sourceMtbColtClone.setMtbColr(new ObservableArrayList<>());
|
||||||
|
|
||||||
|
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
|
||||||
|
colliMagazzinoRESTConsumerService.confirmGiacenzaUL(sourceMtbColtClone).enqueue(new Callback<>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ServiceRESTResponse<Object>> call, Response<ServiceRESTResponse<Object>> response) {
|
||||||
|
analyzeAnswer(response, "confirmGiacenzaUL", data -> {
|
||||||
|
onComplete.run();
|
||||||
|
|
||||||
|
}, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<Object>> call, Throwable t) {
|
||||||
|
if (onFailed != null) onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public void loadShipmentUlFromProductionUL(MtbColt mtbColt, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
public void loadShipmentUlFromProductionUL(MtbColt mtbColt, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
HashMap<String, Object> params = new HashMap<>();
|
HashMap<String, Object> params = new HashMap<>();
|
||||||
|
|||||||
@@ -46,4 +46,7 @@ public interface ColliMagazzinoRESTConsumerService {
|
|||||||
@POST("wms/versamentoAutomaticoUL")
|
@POST("wms/versamentoAutomaticoUL")
|
||||||
Call<ServiceRESTResponse<VersamentoAutomaticoULResponseDTO>> versamentoAutomaticoUL(@Body MtbColt mtbColt);
|
Call<ServiceRESTResponse<VersamentoAutomaticoULResponseDTO>> versamentoAutomaticoUL(@Body MtbColt mtbColt);
|
||||||
|
|
||||||
|
@POST("wms/confirmGiacenzaUL")
|
||||||
|
Call<ServiceRESTResponse<Object>> confirmGiacenzaUL(@Body MtbColt mtbColt);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class GestSetupRESTConsumer extends _BaseRESTConsumer {
|
|||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<ServiceRESTResponse<GestSetupDTO>> call, Throwable t) {
|
public void onFailure(Call<ServiceRESTResponse<GestSetupDTO>> call, Throwable t) {
|
||||||
Log.e("PrintCollo", t.toString());
|
Log.e("PrintCollo", t.toString());
|
||||||
UtilityLogger.errorMe(new Exception(t));
|
UtilityLogger.error(new Exception(t));
|
||||||
if (onFailed != null) onFailed.run(new Exception(t));
|
if (onFailed != null) onFailed.run(new Exception(t));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -88,7 +88,7 @@ public class GestSetupRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<ServiceRESTResponse<List<StbGestSetup>>> call, Throwable t) {
|
public void onFailure(Call<ServiceRESTResponse<List<StbGestSetup>>> call, Throwable t) {
|
||||||
UtilityLogger.errorMe(new Exception(t));
|
UtilityLogger.error(new Exception(t));
|
||||||
if (onFailed != null) onFailed.run(new Exception(t));
|
if (onFailed != null) onFailed.run(new Exception(t));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Throwable t) {
|
public void onFailure(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Throwable t) {
|
||||||
UtilityLogger.errorMe(new Exception(t));
|
UtilityLogger.error(new Exception(t));
|
||||||
onFailed.run(new Exception(t));
|
onFailed.run(new Exception(t));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -174,7 +174,7 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<ServiceRESTResponse<List<SitArtOrdDTO>>> call, Throwable t) {
|
public void onFailure(Call<ServiceRESTResponse<List<SitArtOrdDTO>>> call, Throwable t) {
|
||||||
UtilityLogger.errorMe(new Exception(t));
|
UtilityLogger.error(new Exception(t));
|
||||||
onFailed.run(new Exception(t));
|
onFailed.run(new Exception(t));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<ServiceRESTResponse<GrigliaDTO>> call, Throwable t) {
|
public void onFailure(Call<ServiceRESTResponse<GrigliaDTO>> call, Throwable t) {
|
||||||
Log.e("getArticoliListino_pv", t.toString());
|
Log.e("getArticoliListino_pv", t.toString());
|
||||||
UtilityLogger.errorMe(new Exception(t));
|
UtilityLogger.error(new Exception(t));
|
||||||
onFailed.run(new Exception(t));
|
onFailed.run(new Exception(t));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -130,7 +130,7 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<List<ServiceRESTResponse<DtbOrdt>>> call, Throwable t) {
|
public void onFailure(Call<List<ServiceRESTResponse<DtbOrdt>>> call, Throwable t) {
|
||||||
Log.e("saveOrdineTerminale_pv", t.toString());
|
Log.e("saveOrdineTerminale_pv", t.toString());
|
||||||
UtilityLogger.errorMe(new Exception(t));
|
UtilityLogger.error(new Exception(t));
|
||||||
onFailed.run(new Exception(t));
|
onFailed.run(new Exception(t));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.BuildConfig;
|
||||||
import it.integry.integrywmsnative.core.exception.NoPrintersFoundException;
|
import it.integry.integrywmsnative.core.exception.NoPrintersFoundException;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
@@ -51,7 +52,7 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
|
|||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<ServiceRESTResponse<List<String>>> call, Throwable t) {
|
public void onFailure(Call<ServiceRESTResponse<List<String>>> call, Throwable t) {
|
||||||
Log.e("GetAvailablePrinters", t.toString());
|
Log.e("GetAvailablePrinters", t.toString());
|
||||||
UtilityLogger.errorMe(new Exception(t));
|
UtilityLogger.error(new Exception(t));
|
||||||
onFailed.run(new Exception(t));
|
onFailed.run(new Exception(t));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -59,10 +60,10 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
public void printCollo(MtbColt testataColloToPrint, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
public void printCollo(MtbColt testataColloToPrint, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
// if (BuildConfig.DEBUG) {
|
if (BuildConfig.DEBUG) {
|
||||||
// onComplete.run();
|
onComplete.run();
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
|
|
||||||
PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class);
|
PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class);
|
||||||
Call<ServiceRESTResponse<Object>> callable = null;
|
Call<ServiceRESTResponse<Object>> callable = null;
|
||||||
@@ -87,10 +88,10 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
|
|
||||||
public void printReport(String printerName, String reportName, HashMap<String, Object> params, int quantity, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
public void printReport(String printerName, String reportName, HashMap<String, Object> params, int quantity, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
// if (BuildConfig.DEBUG) {
|
if (BuildConfig.DEBUG) {
|
||||||
// onComplete.run();
|
onComplete.run();
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
|
|
||||||
JasperDTO jasperDTO = new JasperDTO();
|
JasperDTO jasperDTO = new JasperDTO();
|
||||||
jasperDTO.setReportName(reportName);
|
jasperDTO.setReportName(reportName);
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ public class SystemRESTConsumer extends _BaseRESTConsumer {
|
|||||||
public void onFailure(Call<ServiceRESTResponse<List<String>>> call, final Throwable t) {
|
public void onFailure(Call<ServiceRESTResponse<List<String>>> call, final Throwable t) {
|
||||||
Log.e("ProfilesAvailable", t.toString());
|
Log.e("ProfilesAvailable", t.toString());
|
||||||
onFailed.run(new Exception(t));
|
onFailed.run(new Exception(t));
|
||||||
UtilityLogger.errorMe(new Exception(t));
|
UtilityLogger.error(new Exception(t));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ public class UtilityBarcode {
|
|||||||
private static String getEAN13CheckDigit(String ean) {
|
private static String getEAN13CheckDigit(String ean) {
|
||||||
|
|
||||||
if (ean.length() != 12) {
|
if (ean.length() != 12) {
|
||||||
UtilityLogger.errorMe(new Exception("Please provide an input string of 12 chars. Current lenght: " + ean.length()));
|
UtilityLogger.error(new Exception("Please provide an input string of 12 chars. Current lenght: " + ean.length()));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
long tot = 0;
|
long tot = 0;
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class UtilityDate {
|
|||||||
try{
|
try{
|
||||||
return UtilityDate.recognizeDate(dateString);
|
return UtilityDate.recognizeDate(dateString);
|
||||||
} catch (ParseException | DateNotRecognizedException | TimeNotRecognizedException pex){
|
} catch (ParseException | DateNotRecognizedException | TimeNotRecognizedException pex){
|
||||||
UtilityLogger.errorMe(pex);
|
UtilityLogger.error(pex);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class UtilityExceptions {
|
|||||||
Stream.of(FIREBASE_IGNORED_EXCEPTIONS).anyMatch(x -> x.isAssignableFrom(ex.getClass()));
|
Stream.of(FIREBASE_IGNORED_EXCEPTIONS).anyMatch(x -> x.isAssignableFrom(ex.getClass()));
|
||||||
|
|
||||||
if (!BuildConfig.DEBUG && !toIgnore) {
|
if (!BuildConfig.DEBUG && !toIgnore) {
|
||||||
if (sendEmail) UtilityLogger.errorMe(ex);
|
if (sendEmail) UtilityLogger.error(ex);
|
||||||
FirebaseCrashlytics.getInstance().recordException(ex);
|
FirebaseCrashlytics.getInstance().recordException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,48 +3,30 @@ package it.integry.integrywmsnative.core.utility;
|
|||||||
import com.google.firebase.crashlytics.FirebaseCrashlytics;
|
import com.google.firebase.crashlytics.FirebaseCrashlytics;
|
||||||
import com.orhanobut.logger.Logger;
|
import com.orhanobut.logger.Logger;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.PrintWriter;
|
|
||||||
import java.io.StringWriter;
|
|
||||||
import java.net.SocketException;
|
|
||||||
import java.net.SocketTimeoutException;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.BuildConfig;
|
import it.integry.integrywmsnative.BuildConfig;
|
||||||
import it.integry.integrywmsnative.R;
|
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
|
||||||
|
|
||||||
public class UtilityLogger {
|
public class UtilityLogger {
|
||||||
|
|
||||||
public static void logMe(String message) {
|
public static void trace(String message) {
|
||||||
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
|
Logger.d(message, getPreviousStackTraceElement());
|
||||||
|
}
|
||||||
|
|
||||||
String caller = "UtilityLogger";
|
public static void info(String message) {
|
||||||
|
Logger.i(message);
|
||||||
for (int i = 0; i < stackTraceElements.length; i++) {
|
}
|
||||||
|
|
||||||
if (stackTraceElements[i].getMethodName().equalsIgnoreCase("logMe")) {
|
|
||||||
caller = stackTraceElements[i + 1].getFileName() + "->" + stackTraceElements[i + 1].getMethodName();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public static void debug(String message) {
|
||||||
Logger.d(message);
|
Logger.d(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void errorMe(Exception ex) {
|
public static void error(Exception ex) {
|
||||||
errorMe(ex, null, null, null);
|
error(ex, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void errorMe(Exception ex, String additionalText) {
|
public static void error(Exception ex, String additionalText) {
|
||||||
errorMe(ex, additionalText, null, null);
|
if (!BuildConfig.DEBUG) FirebaseCrashlytics.getInstance().recordException(ex);
|
||||||
}
|
|
||||||
|
|
||||||
public static void errorMe(Exception ex, String additionalText, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
Logger.e(ex, additionalText);
|
||||||
if(!BuildConfig.DEBUG) FirebaseCrashlytics.getInstance().recordException(ex);
|
|
||||||
|
|
||||||
logMe(ex.getMessage());
|
|
||||||
|
|
||||||
// if ((!(ex instanceof SocketTimeoutException) && !(ex.getCause() instanceof SocketTimeoutException)) ||
|
// if ((!(ex instanceof SocketTimeoutException) && !(ex.getCause() instanceof SocketTimeoutException)) ||
|
||||||
// (!(ex instanceof SocketException) && !(ex.getCause() instanceof SocketException)) ||
|
// (!(ex instanceof SocketException) && !(ex.getCause() instanceof SocketException)) ||
|
||||||
@@ -82,4 +64,52 @@ public class UtilityLogger {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getPreviousStackTraceElement() {
|
||||||
|
StackTraceElement[] stackTraceElementsArr = Thread.currentThread().getStackTrace();
|
||||||
|
String caller = "UtilityLogger";
|
||||||
|
StringBuilder callerNew = new StringBuilder();
|
||||||
|
|
||||||
|
int found = 0;
|
||||||
|
|
||||||
|
for (int i = 0; i < stackTraceElementsArr.length; i++) {
|
||||||
|
|
||||||
|
if(!stackTraceElementsArr[i].getClassName().startsWith("it.integry"))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (stackTraceElementsArr[i].getMethodName().equalsIgnoreCase("getPreviousStackTraceElement")) {
|
||||||
|
found = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (found > 0 && i >= found + 2) {
|
||||||
|
callerNew
|
||||||
|
.append(stackTraceElementsArr[i].getClassName())
|
||||||
|
.append("->")
|
||||||
|
.append(stackTraceElementsArr[i].getMethodName())
|
||||||
|
.append(":")
|
||||||
|
.append(stackTraceElementsArr[i].getLineNumber())
|
||||||
|
.append("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return callerNew.length() > 0 ? callerNew.toString() : caller;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// public static void logMe(String message) {
|
||||||
|
// StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
|
||||||
|
//
|
||||||
|
// String caller = "UtilityLogger";
|
||||||
|
//
|
||||||
|
// for (int i = 0; i < stackTraceElements.length; i++) {
|
||||||
|
//
|
||||||
|
// if (stackTraceElements[i].getMethodName().equalsIgnoreCase("logMe")) {
|
||||||
|
// caller = stackTraceElements[i + 1].getFileName() + "->" + stackTraceElements[i + 1].getMethodName();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// Logger.d(message);
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public class OrdiniAccettazioneRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<ServiceRESTResponse<List<SitArtOrdDTO>>> call, Throwable t) {
|
public void onFailure(Call<ServiceRESTResponse<List<SitArtOrdDTO>>> call, Throwable t) {
|
||||||
UtilityLogger.errorMe(new Exception(t));
|
UtilityLogger.error(new Exception(t));
|
||||||
onFailed.run(new Exception(t));
|
onFailed.run(new Exception(t));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -319,17 +319,12 @@ public class AccettazionePickingViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void loadArticolo(String barcodeProd, PickDataDTO pickData, Runnable onComplete) {
|
private void loadArticolo(String barcodeProd, PickDataDTO pickData, Runnable onComplete) {
|
||||||
if (barcodeProd.length() == 14) {
|
|
||||||
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
|
|
||||||
}
|
|
||||||
|
|
||||||
String finalBarcodeProd = barcodeProd;
|
|
||||||
this.mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
this.mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
||||||
|
|
||||||
if (mtbAartList != null && mtbAartList.size() > 0) {
|
if (mtbAartList != null && mtbAartList.size() > 0) {
|
||||||
this.searchArtFromAnag(mtbAartList.get(0), pickData, onComplete);
|
this.searchArtFromAnag(mtbAartList.get(0), pickData, onComplete);
|
||||||
} else {
|
} else {
|
||||||
this.sendError(new NoResultFromBarcodeException(finalBarcodeProd));
|
this.sendError(new NoResultFromBarcodeException(barcodeProd));
|
||||||
}
|
}
|
||||||
|
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public class AccettazionePickingRESTConsumer {
|
|||||||
|
|
||||||
whereCondListMap.add(whereCondMap);
|
whereCondListMap.add(whereCondMap);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
UtilityLogger.errorMe(ex);
|
UtilityLogger.error(ex);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -200,12 +200,6 @@ public class PickingLiberoViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void loadArticolo(String barcodeProd, Ean128Model ean128Model, Runnable onComplete) {
|
private void loadArticolo(String barcodeProd, Ean128Model ean128Model, Runnable onComplete) {
|
||||||
if (barcodeProd.length() == 14) {
|
|
||||||
// barcodeProd = UtilityBarcode.convertITF14toNeutral(barcodeProd);
|
|
||||||
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
|
|
||||||
}
|
|
||||||
|
|
||||||
String finalBarcodeProd = barcodeProd;
|
|
||||||
mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
||||||
if (mtbAartList != null && mtbAartList.size() > 0) {
|
if (mtbAartList != null && mtbAartList.size() > 0) {
|
||||||
MtbAart articolo = mtbAartList.get(0);
|
MtbAart articolo = mtbAartList.get(0);
|
||||||
@@ -217,11 +211,11 @@ public class PickingLiberoViewModel {
|
|||||||
this.dispatchArt(articolo, ean128Model);
|
this.dispatchArt(articolo, ean128Model);
|
||||||
onComplete.run();
|
onComplete.run();
|
||||||
} else {
|
} else {
|
||||||
this.sendError(new NoResultFromBarcodeException(finalBarcodeProd));
|
this.sendError(new NoResultFromBarcodeException(barcodeProd));
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
this.sendError(new NoResultFromBarcodeException(finalBarcodeProd));
|
this.sendError(new NoResultFromBarcodeException(barcodeProd));
|
||||||
}
|
}
|
||||||
|
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
|||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -291,9 +292,10 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements
|
|||||||
} else {
|
} else {
|
||||||
tmpList = mViewModel.getOrderList().getValue();
|
tmpList = mViewModel.getOrderList().getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.mOrdiniInevasiMutableData.clear();
|
this.mOrdiniInevasiMutableData.clear();
|
||||||
this.mOrdiniInevasiMutableData.addAll(convertDataModelToListModel(tmpList));
|
if (tmpList != null) {
|
||||||
|
this.mOrdiniInevasiMutableData.addAll(convertDataModelToListModel(tmpList));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<MainListProdOrdineProduzioneElencoListModel> convertDataModelToListModel(List<OrdineAccettazioneInevasoDTO> dataList) {
|
private List<MainListProdOrdineProduzioneElencoListModel> convertDataModelToListModel(List<OrdineAccettazioneInevasoDTO> dataList) {
|
||||||
@@ -384,6 +386,11 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements
|
|||||||
|
|
||||||
|
|
||||||
private void initJtbComtCache(Runnable onComplete) {
|
private void initJtbComtCache(Runnable onComplete) {
|
||||||
|
if (this.mViewModel.getOrderList().getValue() == null) {
|
||||||
|
this.jtbComtCache = new ArrayList<>();
|
||||||
|
onComplete.run();
|
||||||
|
return;
|
||||||
|
}
|
||||||
var jtbComts = Stream.of(Objects.requireNonNull(this.mViewModel.getOrderList().getValue()))
|
var jtbComts = Stream.of(Objects.requireNonNull(this.mViewModel.getOrderList().getValue()))
|
||||||
.flatMap(x -> Stream.of(x.getCodJcom()))
|
.flatMap(x -> Stream.of(x.getCodJcom()))
|
||||||
.toList();
|
.toList();
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public class ProdOrdineProduzioneRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<ServiceRESTResponse<List<SitArtOrdDTO>>> call, Throwable t) {
|
public void onFailure(Call<ServiceRESTResponse<List<SitArtOrdDTO>>> call, Throwable t) {
|
||||||
UtilityLogger.errorMe(new Exception(t));
|
UtilityLogger.error(new Exception(t));
|
||||||
onFailed.run(new Exception(t));
|
onFailed.run(new Exception(t));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.Versamento
|
|||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ui.ChooseOrdsLavFromListAdapter;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ui.ChooseOrdsLavFromListAdapter;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU;
|
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView;
|
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView;
|
||||||
|
|
||||||
@@ -197,7 +197,7 @@ public class ProdVersamentoMaterialeFragment extends BaseFragment implements Pro
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void choosePosition() {
|
private void choosePosition() {
|
||||||
DialogAskPositionOfLU.makeBase(requireActivity(), true, (status, mtbDepoPosizione) -> {
|
DialogAskPositionOfLUView.makeBase(true, (status, mtbDepoPosizione) -> {
|
||||||
|
|
||||||
if (status == DialogConsts.Results.ABORT) {
|
if (status == DialogConsts.Results.ABORT) {
|
||||||
popMe();
|
popMe();
|
||||||
@@ -205,7 +205,7 @@ public class ProdVersamentoMaterialeFragment extends BaseFragment implements Pro
|
|||||||
mViewModel.setPosizione(mtbDepoPosizione);
|
mViewModel.setPosizione(mtbDepoPosizione);
|
||||||
}
|
}
|
||||||
|
|
||||||
}, this::onError).show();
|
}, this::onError).show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableArrayList;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import com.ravikoradiya.liveadapter.LiveAdapter;
|
import com.ravikoradiya.liveadapter.LiveAdapter;
|
||||||
@@ -34,7 +33,6 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|||||||
import it.integry.integrywmsnative.databinding.ActivityPvOrdineAcquistoEditBinding;
|
import it.integry.integrywmsnative.databinding.ActivityPvOrdineAcquistoEditBinding;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentPvArticoliOrdineAcquistoListSingleItemBinding;
|
import it.integry.integrywmsnative.databinding.FragmentPvArticoliOrdineAcquistoListSingleItemBinding;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.DialogEditArticoloView;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.DialogEditArticoloView;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.ui.OrdineAcquistoArtListModel;
|
|
||||||
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
|
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
|
||||||
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogAskAction;
|
import it.integry.integrywmsnative.view.dialogs.DialogAskAction;
|
||||||
@@ -53,8 +51,6 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi
|
|||||||
@Inject
|
@Inject
|
||||||
PVOrdineAcquistoEditViewModel mViewModel;
|
PVOrdineAcquistoEditViewModel mViewModel;
|
||||||
|
|
||||||
private final ObservableArrayList<OrdineAcquistoArtListModel> mArticoliMutableData = new ObservableArrayList<>();
|
|
||||||
|
|
||||||
|
|
||||||
public static Intent newInstance(Context context, Ordine ordine) {
|
public static Intent newInstance(Context context, Ordine ordine) {
|
||||||
Intent myIntent = new Intent(context, PVOrdineAcquistoEditActivity.class);
|
Intent myIntent = new Intent(context, PVOrdineAcquistoEditActivity.class);
|
||||||
|
|||||||
@@ -117,6 +117,27 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
this.mArticoli.postValue(newList);
|
this.mArticoli.postValue(newList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void saveArticoli(List<ArticoloOrdine> articoli) {
|
||||||
|
var newList = this.mArticoli.getValue();
|
||||||
|
if (newList == null) {
|
||||||
|
newList = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (ArticoloOrdine articolo : articoli) {
|
||||||
|
setBgTint(articolo);
|
||||||
|
|
||||||
|
var alreadySavedItem = Stream.of(newList)
|
||||||
|
.filter(x -> Objects.equals(x.getCodMart(), articolo.getCodMart()))
|
||||||
|
.findFirst();
|
||||||
|
|
||||||
|
if (alreadySavedItem.isPresent()) newList.remove(alreadySavedItem.get());
|
||||||
|
newList.add(articolo);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
this.mArticoli.postValue(newList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||||
this.checkArticolo(
|
this.checkArticolo(
|
||||||
@@ -225,8 +246,7 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
});
|
});
|
||||||
if (!articoliToSave.isEmpty()) {
|
if (!articoliToSave.isEmpty()) {
|
||||||
mArticoliOrdineRepository.saveArticoliToOrdine(articoliToSave, () -> {
|
mArticoliOrdineRepository.saveArticoliToOrdine(articoliToSave, () -> {
|
||||||
Stream.of(articoliToSave).forEach(this::saveArticolo);
|
this.saveArticoli(articoliToSave);
|
||||||
|
|
||||||
this.sendOnLoadingEnded();
|
this.sendOnLoadingEnded();
|
||||||
|
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
|
|||||||
@@ -53,9 +53,7 @@ public class OrdineAcquistoPvHelper {
|
|||||||
|
|
||||||
|
|
||||||
mGrigliaRepository.saveGriglia(griglia, id -> {
|
mGrigliaRepository.saveGriglia(griglia, id -> {
|
||||||
saveLisAToGriglia(dto.getGrigliaAcquistiChild(), griglia, grigliaResult -> {
|
saveLisAToGriglia(dto.getGrigliaAcquistiChild(), griglia, onSaved, onFail);
|
||||||
onSaved.run(grigliaResult);
|
|
||||||
}, onFail);
|
|
||||||
}, onFail);
|
}, onFail);
|
||||||
});
|
});
|
||||||
}, onFail);
|
}, onFail);
|
||||||
|
|||||||
@@ -57,9 +57,9 @@ import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
|||||||
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView;
|
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
|
import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU;
|
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArts;
|
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArtsView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView;
|
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView;
|
||||||
@@ -157,8 +157,8 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
|||||||
mBinding.rettificaGiacenzeMainList.setHasFixedSize(true);
|
mBinding.rettificaGiacenzeMainList.setHasFixedSize(true);
|
||||||
mBinding.rettificaGiacenzeMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
|
mBinding.rettificaGiacenzeMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||||
|
|
||||||
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(getActivity(), SimpleDividerItemDecoration.VERTICAL);
|
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(requireActivity(), SimpleDividerItemDecoration.VERTICAL);
|
||||||
itemDecorator.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider));
|
itemDecorator.setDrawable(ContextCompat.getDrawable(requireActivity(), R.drawable.divider));
|
||||||
mBinding.rettificaGiacenzeMainList.addItemDecoration(itemDecorator);
|
mBinding.rettificaGiacenzeMainList.addItemDecoration(itemDecorator);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -215,9 +215,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
|||||||
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
||||||
this.onLoadingStarted();
|
this.onLoadingStarted();
|
||||||
|
|
||||||
this.mViewModel.processBarcodeDTO(data, () -> {
|
this.mViewModel.processBarcodeDTO(data, this::onLoadingEnded);
|
||||||
this.onLoadingEnded();
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -289,7 +287,8 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onArtListLoaded(ArrayList<MtbAart> artList, RunnableArgs<MtbAart> onArtChoosed) {
|
public void onArtListLoaded(ArrayList<MtbAart> artList, RunnableArgs<MtbAart> onArtChoosed) {
|
||||||
DialogChooseArtFromListaArts.make(getActivity(), artList, onArtChoosed).show();
|
new DialogChooseArtFromListaArtsView(artList, onArtChoosed)
|
||||||
|
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -300,7 +299,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
|||||||
} else {
|
} else {
|
||||||
onComplete.run(mtbColt, created);
|
onComplete.run(mtbColt, created);
|
||||||
}
|
}
|
||||||
}).show(getActivity().getSupportFragmentManager(), "tag");
|
}).show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -479,7 +478,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
|||||||
new DialogYesNoView(null, "Vuoi cambiare la posizione della UL corrente?", result -> {
|
new DialogYesNoView(null, "Vuoi cambiare la posizione della UL corrente?", result -> {
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case YES:
|
case YES:
|
||||||
DialogAskPositionOfLU.makeBase(getActivity(), false, (status, mtbDepoPosizione) -> {
|
DialogAskPositionOfLUView.makeBase(false, (status, mtbDepoPosizione) -> {
|
||||||
if (status == DialogConsts.Results.ABORT) {
|
if (status == DialogConsts.Results.ABORT) {
|
||||||
onComplete.run(false, null);
|
onComplete.run(false, null);
|
||||||
} else {
|
} else {
|
||||||
@@ -489,7 +488,8 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
|||||||
onComplete.run(true, null);
|
onComplete.run(true, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, this::onError).show();
|
}, this::onError)
|
||||||
|
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NO:
|
case NO:
|
||||||
@@ -501,7 +501,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPreDestroy(Runnable onComplete) {
|
public void onPreDestroy(Runnable onComplete) {
|
||||||
if(mViewModel.getCurrentMtbColt() != null)
|
if (mViewModel.getCurrentMtbColt() != null)
|
||||||
mViewModel.closeLU(false);
|
mViewModel.closeLU(false);
|
||||||
else {
|
else {
|
||||||
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILUPrintL
|
|||||||
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbCols;
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||||
import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
|
import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
|
||||||
@@ -77,7 +76,6 @@ public class RettificaGiacenzeViewModel {
|
|||||||
this.mDefaultCausale = defaultCausale;
|
this.mDefaultCausale = defaultCausale;
|
||||||
this.mCurrentCodMdep = currentCodMdep;
|
this.mCurrentCodMdep = currentCodMdep;
|
||||||
|
|
||||||
|
|
||||||
this.sendOnLoadingStarted();
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
this.mRettificaGiacenzeRESTConsumer.loadListaFornitori(fornitori -> {
|
this.mRettificaGiacenzeRESTConsumer.loadListaFornitori(fornitori -> {
|
||||||
@@ -105,11 +103,6 @@ public class RettificaGiacenzeViewModel {
|
|||||||
|
|
||||||
|
|
||||||
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||||
// if (UtilityBarcode.isEanPeso(barcodeScanDTO)) {
|
|
||||||
// //Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
|
||||||
// this.executeEtichettaEanPeso(barcodeScanDTO, onComplete);
|
|
||||||
//
|
|
||||||
// } else
|
|
||||||
if (UtilityBarcode.isEtichetta128(barcodeScanDTO)) {
|
if (UtilityBarcode.isEtichetta128(barcodeScanDTO)) {
|
||||||
//Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
//Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
||||||
this.executeEtichettaEan128(barcodeScanDTO, onComplete);
|
this.executeEtichettaEan128(barcodeScanDTO, onComplete);
|
||||||
@@ -126,21 +119,26 @@ public class RettificaGiacenzeViewModel {
|
|||||||
mBarcodeRESTConsumer.decodeEan128(barcodeScanDTO, ean128Model -> {
|
mBarcodeRESTConsumer.decodeEan128(barcodeScanDTO, ean128Model -> {
|
||||||
|
|
||||||
String barcodeProd = null;
|
String barcodeProd = null;
|
||||||
|
String codMart = null;
|
||||||
|
|
||||||
if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) barcodeProd = ean128Model.Sscc;
|
if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) barcodeProd = ean128Model.Sscc;
|
||||||
if (!UtilityString.isNullOrEmpty(ean128Model.Gtin)) barcodeProd = ean128Model.Gtin;
|
if (!UtilityString.isNullOrEmpty(ean128Model.Gtin)) barcodeProd = ean128Model.Gtin;
|
||||||
if (!UtilityString.isNullOrEmpty(ean128Model.Content))
|
if (!UtilityString.isNullOrEmpty(ean128Model.Content))
|
||||||
barcodeProd = ean128Model.Content;
|
barcodeProd = ean128Model.Content;
|
||||||
|
|
||||||
|
if (!UtilityString.isNullOrEmpty(ean128Model.Internal1))
|
||||||
|
codMart = ean128Model.Internal1;
|
||||||
|
|
||||||
|
|
||||||
if (!UtilityString.isNullOrEmpty(barcodeProd)) {
|
if (!UtilityString.isNullOrEmpty(barcodeProd)) {
|
||||||
|
|
||||||
if (barcodeProd.startsWith("0") || barcodeProd.startsWith("9")) {
|
if (barcodeProd.startsWith("0") || barcodeProd.startsWith("9")) {
|
||||||
barcodeProd = barcodeProd.substring(1);
|
barcodeProd = barcodeProd.substring(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
PickDataDTO pickDataDTO = PickDataDTO.fromEan128(ean128Model);
|
PickDataDTO pickDataDTO = PickDataDTO.fromEan128(ean128Model);
|
||||||
this.loadArticolo(barcodeProd, pickDataDTO, onComplete);
|
this.loadArticolo(barcodeProd, pickDataDTO, onComplete);
|
||||||
|
} else if (!UtilityString.isNullOrEmpty(codMart)) {
|
||||||
|
this.searchArtInt(codMart, onComplete);
|
||||||
} else {
|
} else {
|
||||||
//EAN 128 non completo o comunque mancano i riferimenti al prodotto
|
//EAN 128 non completo o comunque mancano i riferimenti al prodotto
|
||||||
onComplete.run();
|
onComplete.run();
|
||||||
@@ -149,18 +147,13 @@ public class RettificaGiacenzeViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void loadArticolo(String barcodeProd, PickDataDTO pickData, Runnable onComplete) {
|
private void loadArticolo(String barcodeProd, PickDataDTO pickData, Runnable onComplete) {
|
||||||
if (barcodeProd.length() == 14) {
|
|
||||||
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
|
|
||||||
}
|
|
||||||
|
|
||||||
String finalBarcodeProd = barcodeProd;
|
|
||||||
this.mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
this.mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
||||||
if (onComplete != null) onComplete.run();
|
if (onComplete != null) onComplete.run();
|
||||||
|
|
||||||
if (mtbAartList != null && mtbAartList.size() > 0) {
|
if (mtbAartList != null && mtbAartList.size() > 0) {
|
||||||
this.dispatchArt(mtbAartList.get(0), pickData);
|
this.dispatchArt(mtbAartList.get(0), pickData);
|
||||||
} else {
|
} else {
|
||||||
this.sendError(new NoResultFromBarcodeException(finalBarcodeProd));
|
this.sendError(new NoResultFromBarcodeException(barcodeProd));
|
||||||
}
|
}
|
||||||
|
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
@@ -462,18 +455,7 @@ public class RettificaGiacenzeViewModel {
|
|||||||
|
|
||||||
|
|
||||||
private void saveCausaleRettificaGiacenze(Runnable onComplete) {
|
private void saveCausaleRettificaGiacenze(Runnable onComplete) {
|
||||||
final MtbCols mtbCols = new MtbCols()
|
this.mColliMagazzinoRESTConsumer.confirmGiacenzaUL(mCurrentMtbColt, onComplete, this::sendError);
|
||||||
.setCausale(this.mDefaultCausale);
|
|
||||||
mtbCols.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
|
||||||
|
|
||||||
MtbColt cloneMtbColt = (MtbColt) mCurrentMtbColt.clone();
|
|
||||||
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
|
|
||||||
cloneMtbColt.setMtbColr(null);
|
|
||||||
|
|
||||||
cloneMtbColt.setMtbCols(new ArrayList<>());
|
|
||||||
cloneMtbColt.getMtbCols().add(mtbCols);
|
|
||||||
|
|
||||||
this.mColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, mtbColt -> onComplete.run(), this::sendError);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void savePosizione(MtbDepoPosizione mtbDepoPosizione, Runnable onComplete) {
|
private void savePosizione(MtbDepoPosizione mtbDepoPosizione, Runnable onComplete) {
|
||||||
|
|||||||
@@ -68,11 +68,11 @@ import it.integry.integrywmsnative.gest.spedizione.ui.SpedizioneListModel;
|
|||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU;
|
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArts;
|
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArtsView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotView;
|
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.InfoAggiuntiveLUDialog;
|
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.InfoAggiuntiveLUDialog;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLuView;
|
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLuView;
|
||||||
@@ -865,13 +865,13 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
new DialogYesNoView(null, "Vuoi cambiare la posizione della UL corrente?", result -> {
|
new DialogYesNoView(null, "Vuoi cambiare la posizione della UL corrente?", result -> {
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case YES:
|
case YES:
|
||||||
DialogAskPositionOfLU.makeBase(this, false, (status, mtbDepoPosizione) -> {
|
DialogAskPositionOfLUView.makeBase(false, (status, mtbDepoPosizione) -> {
|
||||||
if (status == DialogConsts.Results.ABORT) {
|
if (status == DialogConsts.Results.ABORT) {
|
||||||
onComplete.run(false, null);
|
onComplete.run(false, null);
|
||||||
} else {
|
} else {
|
||||||
onComplete.run(true, mtbDepoPosizione);
|
onComplete.run(true, mtbDepoPosizione);
|
||||||
}
|
}
|
||||||
}, this::onError).show();
|
}, this::onError).show(getSupportFragmentManager(), "tag");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NO:
|
case NO:
|
||||||
@@ -936,7 +936,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onChooseArtRequest(List<MtbAart> artsList, RunnableArgs<MtbAart> onComplete) {
|
public void onChooseArtRequest(List<MtbAart> artsList, RunnableArgs<MtbAart> onComplete) {
|
||||||
DialogChooseArtFromListaArts.make(this, artsList, onComplete).show();
|
new DialogChooseArtFromListaArtsView(artsList, onComplete)
|
||||||
|
.show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -143,7 +143,9 @@ public class SpedizioneViewModel {
|
|||||||
this.mDefaultCausaleOfUL = defaultCausaleUL;
|
this.mDefaultCausaleOfUL = defaultCausaleUL;
|
||||||
this.mEnableQuantityReset = enableQuantityReset;
|
this.mEnableQuantityReset = enableQuantityReset;
|
||||||
this.mUseQtaOrd = useQtaOrd;
|
this.mUseQtaOrd = useQtaOrd;
|
||||||
this.mIsOrdTrasf = Stream.of(testateOrdini).map(OrdineUscitaInevasoDTO::isOrdTrasf).withoutNulls().distinctBy(x -> x).findFirst().get();
|
if (testateOrdini != null) {
|
||||||
|
this.mIsOrdTrasf = Stream.of(testateOrdini).map(OrdineUscitaInevasoDTO::isOrdTrasf).withoutNulls().distinctBy(x -> x).findFirst().get();
|
||||||
|
}
|
||||||
|
|
||||||
if (enableGiacenza) {
|
if (enableGiacenza) {
|
||||||
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
|
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
|
||||||
@@ -564,11 +566,6 @@ public class SpedizioneViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void loadArticolo(String barcodeProd, PickDataDTO pickData, Runnable onComplete) {
|
private void loadArticolo(String barcodeProd, PickDataDTO pickData, Runnable onComplete) {
|
||||||
if (barcodeProd.length() == 14) {
|
|
||||||
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
|
|
||||||
}
|
|
||||||
|
|
||||||
String finalBarcodeProd = barcodeProd;
|
|
||||||
this.mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
this.mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
||||||
|
|
||||||
if (mtbAartList != null && mtbAartList.size() > 0) {
|
if (mtbAartList != null && mtbAartList.size() > 0) {
|
||||||
@@ -578,7 +575,7 @@ public class SpedizioneViewModel {
|
|||||||
mListener.onChooseArtRequest(mtbAartList, art -> this.searchArtFromAnag(art, pickData, onComplete));
|
mListener.onChooseArtRequest(mtbAartList, art -> this.searchArtFromAnag(art, pickData, onComplete));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.sendError(new NoResultFromBarcodeException(finalBarcodeProd));
|
this.sendError(new NoResultFromBarcodeException(barcodeProd));
|
||||||
}
|
}
|
||||||
|
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ public abstract class BottomSheetFragmentBaseView extends ConstraintLayout {
|
|||||||
|
|
||||||
public void expand() {
|
public void expand() {
|
||||||
if(this.mBottomSheetBehavior == null) {
|
if(this.mBottomSheetBehavior == null) {
|
||||||
UtilityLogger.errorMe(new BottomSheetFragmentViewNotInitializedException());
|
UtilityLogger.error(new BottomSheetFragmentViewNotInitializedException());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ public abstract class BottomSheetFragmentBaseView extends ConstraintLayout {
|
|||||||
|
|
||||||
public void collapse() {
|
public void collapse() {
|
||||||
if(this.mBottomSheetBehavior == null) {
|
if(this.mBottomSheetBehavior == null) {
|
||||||
UtilityLogger.errorMe(new BottomSheetFragmentViewNotInitializedException());
|
UtilityLogger.error(new BottomSheetFragmentViewNotInitializedException());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,7 +91,7 @@ public abstract class BottomSheetFragmentBaseView extends ConstraintLayout {
|
|||||||
|
|
||||||
public State getState() {
|
public State getState() {
|
||||||
if(this.mBottomSheetBehavior == null) {
|
if(this.mBottomSheetBehavior == null) {
|
||||||
UtilityLogger.errorMe(new BottomSheetFragmentViewNotInitializedException());
|
UtilityLogger.error(new BottomSheetFragmentViewNotInitializedException());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class BottomSheetMtbColrEditView extends BottomSheetFragmentBaseView {
|
|||||||
@Override
|
@Override
|
||||||
public void expand() {
|
public void expand() {
|
||||||
if(this.mViewModel.getMtbColr() == null) {
|
if(this.mViewModel.getMtbColr() == null) {
|
||||||
UtilityLogger.errorMe(new NullMtbColrException());
|
UtilityLogger.error(new NullMtbColrException());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -51,10 +51,12 @@ public class DialogProgressView extends DialogFragment {
|
|||||||
mBindings.progressBar.setIndeterminate(isIndeterminateProgress());
|
mBindings.progressBar.setIndeterminate(isIndeterminateProgress());
|
||||||
if (!isIndeterminateProgress()) mBindings.progressBar.setMax(100);
|
if (!isIndeterminateProgress()) mBindings.progressBar.setMax(100);
|
||||||
|
|
||||||
return new MaterialAlertDialogBuilder(requireContext())
|
var alertDialog = new MaterialAlertDialogBuilder(requireContext())
|
||||||
.setView(mBindings.getRoot())
|
.setView(mBindings.getRoot())
|
||||||
.setCancelable(false)
|
.setCancelable(false)
|
||||||
.create();
|
.create();
|
||||||
|
alertDialog.setCanceledOnTouchOutside(false);
|
||||||
|
return alertDialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTitle() {
|
public String getTitle() {
|
||||||
|
|||||||
@@ -1,223 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.ask_position_of_lu;
|
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.graphics.Color;
|
|
||||||
import android.graphics.drawable.ColorDrawable;
|
|
||||||
import android.text.Editable;
|
|
||||||
import android.text.TextWatcher;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import androidx.appcompat.widget.AppCompatTextView;
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
|
|
||||||
import com.google.android.material.textfield.TextInputLayout;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
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.expansion.RunnableArgs;
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDialog;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityPosizione;
|
|
||||||
import it.integry.integrywmsnative.databinding.DialogAskPositionOfLuBinding;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
|
||||||
|
|
||||||
public class DialogAskPositionOfLU {
|
|
||||||
|
|
||||||
|
|
||||||
private Context mContext;
|
|
||||||
private DialogAskPositionOfLuBinding mBinding;
|
|
||||||
private boolean mCheckForLineaProd;
|
|
||||||
|
|
||||||
private MtbDepoPosizione currentMtbDepoPosizione;
|
|
||||||
|
|
||||||
private Dialog mDialog;
|
|
||||||
|
|
||||||
private RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete;
|
|
||||||
private RunnableArgs<Exception> onFailed;
|
|
||||||
|
|
||||||
private TextInputLayout livelloTextInputLayout;
|
|
||||||
|
|
||||||
private boolean completedFlow = false;
|
|
||||||
|
|
||||||
public static Dialog makeBase(final Context context, boolean checkForLineaProd, RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
|
|
||||||
return new DialogAskPositionOfLU(context, checkForLineaProd, onComplete, onFailed).mDialog;
|
|
||||||
}
|
|
||||||
|
|
||||||
private DialogAskPositionOfLU(Context context, boolean checkForLineaProd, RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
|
|
||||||
mContext = context;
|
|
||||||
mCheckForLineaProd = checkForLineaProd;
|
|
||||||
|
|
||||||
this.onComplete = onComplete;
|
|
||||||
this.onFailed = onFailed;
|
|
||||||
|
|
||||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
|
|
||||||
mBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_ask_position_of_lu, null, false);
|
|
||||||
mBinding.setMContext(mContext);
|
|
||||||
|
|
||||||
List<Integer> views = new ArrayList<>();
|
|
||||||
views.add(R.layout.dialog_ask_position_of_lu__page1);
|
|
||||||
views.add(R.layout.dialog_ask_position_of_lu__page2);
|
|
||||||
|
|
||||||
DialogAskPositionOfLUAdapter adapter = new DialogAskPositionOfLUAdapter(mContext, views);
|
|
||||||
mBinding.viewpager.setAdapter(adapter);
|
|
||||||
mBinding.viewpager.beginFakeDrag();
|
|
||||||
|
|
||||||
|
|
||||||
mDialog = new Dialog(mContext);
|
|
||||||
mDialog.setContentView(mBinding.getRoot());
|
|
||||||
mDialog.setCanceledOnTouchOutside(false);
|
|
||||||
// mDialog.setCancelable(false);
|
|
||||||
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
|
||||||
|
|
||||||
UtilityDialog.setTo90PercentWidth(mContext, mDialog);
|
|
||||||
|
|
||||||
mDialog.setOnShowListener(dialog -> {
|
|
||||||
((AppCompatTextView) adapter.getPage(0).findViewById(R.id.description_text)).setText(mCheckForLineaProd ? R.string.ask_production_line_of_lu_message : R.string.ask_position_of_lu_message);
|
|
||||||
|
|
||||||
adapter.getPage(1).findViewById(R.id.button_confirm).setOnClickListener(v -> {
|
|
||||||
String levelNumber = ((TextView)adapter.getPage(1).findViewById(R.id.level_number)).getText().toString();
|
|
||||||
onLevelConfirm(levelNumber);
|
|
||||||
});
|
|
||||||
|
|
||||||
adapter.getPage(1).findViewById(R.id.button_abort).setOnClickListener(v -> {
|
|
||||||
onLevelAbort();
|
|
||||||
});
|
|
||||||
|
|
||||||
livelloTextInputLayout = adapter.getPage(1).findViewById(R.id.level_number_layout);
|
|
||||||
|
|
||||||
livelloTextInputLayout.getEditText().addTextChangedListener(new TextWatcher() {
|
|
||||||
@Override
|
|
||||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
|
||||||
if(livelloTextInputLayout.getEditText().getText() != null) {
|
|
||||||
validateLevel(livelloTextInputLayout.getEditText().getText().toString());
|
|
||||||
} else resetLevelError();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void afterTextChanged(Editable s) {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
setupBarcode();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void askLivello() {
|
|
||||||
mBinding.viewpager.setCurrentItem(1, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean isOnLivelloPage() {
|
|
||||||
return mBinding.viewpager.getCurrentItem() == 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setupBarcode() {
|
|
||||||
|
|
||||||
int barcodeIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
|
||||||
.setOnScanSuccessful(onScanSuccessfull)
|
|
||||||
.setOnScanFailed(ex -> UtilityExceptions.defaultException(mContext, ex, false)));
|
|
||||||
|
|
||||||
mDialog.setOnDismissListener(dialog -> {
|
|
||||||
BarcodeManager.removeCallback(barcodeIstanceID);
|
|
||||||
if(!completedFlow) onComplete.run(DialogConsts.Results.ABORT, null);
|
|
||||||
});
|
|
||||||
|
|
||||||
BarcodeManager.enable();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private final RunnableArgs<BarcodeScanDTO> onScanSuccessfull = data -> {
|
|
||||||
|
|
||||||
BarcodeManager.disable();
|
|
||||||
|
|
||||||
if(!isOnLivelloPage()) {
|
|
||||||
|
|
||||||
if (UtilityBarcode.isEtichettaPosizione(data)) {
|
|
||||||
|
|
||||||
MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(data.getStringValue());
|
|
||||||
|
|
||||||
currentMtbDepoPosizione = foundPosizione;
|
|
||||||
|
|
||||||
if (!mCheckForLineaProd && !currentMtbDepoPosizione.isFlagLineaProduzione() && UtilityPosizione.isPosizioneWithLivello(foundPosizione)) {
|
|
||||||
askLivello();
|
|
||||||
BarcodeManager.enable();
|
|
||||||
} else {
|
|
||||||
completedFlow = true;
|
|
||||||
if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione);
|
|
||||||
|
|
||||||
mDialog.dismiss();
|
|
||||||
BarcodeManager.enable();
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
BarcodeManager.enable();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
BarcodeManager.enable();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
private void onLevelConfirm(String levelString) {
|
|
||||||
|
|
||||||
String newPosizione = currentMtbDepoPosizione.getPosizione().substring(0, currentMtbDepoPosizione.getPosizione().length()-1);
|
|
||||||
newPosizione += levelString;
|
|
||||||
|
|
||||||
MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(newPosizione);
|
|
||||||
|
|
||||||
if(foundPosizione != null) {
|
|
||||||
resetLevelError();
|
|
||||||
|
|
||||||
completedFlow = true;
|
|
||||||
if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione);
|
|
||||||
mDialog.dismiss();
|
|
||||||
|
|
||||||
} else {
|
|
||||||
setLevelError(mContext.getResources().getString(R.string.not_valid));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void validateLevel(String levelString) {
|
|
||||||
String newPosizione = currentMtbDepoPosizione.getPosizione().substring(0, currentMtbDepoPosizione.getPosizione().length()-1);
|
|
||||||
newPosizione += levelString;
|
|
||||||
|
|
||||||
if(UtilityPosizione.getFromCache(newPosizione) != null) {
|
|
||||||
resetLevelError();
|
|
||||||
} else setLevelError(mContext.getResources().getString(R.string.not_valid));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setLevelError(String message){
|
|
||||||
livelloTextInputLayout.setErrorEnabled(true);
|
|
||||||
livelloTextInputLayout.setError(message);
|
|
||||||
livelloTextInputLayout.setErrorIconDrawable(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void resetLevelError() {
|
|
||||||
livelloTextInputLayout.setError(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void onLevelAbort() {
|
|
||||||
completedFlow = true;
|
|
||||||
onComplete.run(DialogConsts.Results.ABORT, null);
|
|
||||||
mDialog.dismiss();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,234 @@
|
|||||||
|
package it.integry.integrywmsnative.view.dialogs.ask_position_of_lu;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.text.Editable;
|
||||||
|
import android.text.TextWatcher;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.widget.AppCompatTextView;
|
||||||
|
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||||
|
import com.google.android.material.textfield.TextInputLayout;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
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.expansion.BaseDialogFragment;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityPosizione;
|
||||||
|
import it.integry.integrywmsnative.databinding.DialogAskPositionOfLuBinding;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||||
|
|
||||||
|
public class DialogAskPositionOfLUView extends BaseDialogFragment implements DialogInterface.OnShowListener {
|
||||||
|
|
||||||
|
private DialogAskPositionOfLuBinding mBindings;
|
||||||
|
private DialogAskPositionOfLUAdapter viewpagerAdapter;
|
||||||
|
private int mBarcodeScannerIstanceID;
|
||||||
|
|
||||||
|
private boolean mCheckForLineaProd;
|
||||||
|
|
||||||
|
private MtbDepoPosizione currentMtbDepoPosizione;
|
||||||
|
|
||||||
|
private RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete;
|
||||||
|
private RunnableArgs<Exception> onFailed;
|
||||||
|
|
||||||
|
private TextInputLayout livelloTextInputLayout;
|
||||||
|
|
||||||
|
private boolean completedFlow = false;
|
||||||
|
|
||||||
|
public static DialogAskPositionOfLUView makeBase(boolean checkForLineaProd, RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
return new DialogAskPositionOfLUView(checkForLineaProd, onComplete, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
private DialogAskPositionOfLUView(boolean checkForLineaProd, RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
super();
|
||||||
|
|
||||||
|
this.mCheckForLineaProd = checkForLineaProd;
|
||||||
|
this.onComplete = onComplete;
|
||||||
|
this.onFailed = onFailed;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||||
|
this.initBarcode();
|
||||||
|
|
||||||
|
mBindings = DialogAskPositionOfLuBinding.inflate(LayoutInflater.from(requireActivity()), null, false);
|
||||||
|
mBindings.setLifecycleOwner(this);
|
||||||
|
|
||||||
|
List<Integer> views = new ArrayList<>();
|
||||||
|
views.add(R.layout.dialog_ask_position_of_lu__page1);
|
||||||
|
views.add(R.layout.dialog_ask_position_of_lu__page2);
|
||||||
|
|
||||||
|
viewpagerAdapter = new DialogAskPositionOfLUAdapter(requireContext(), views);
|
||||||
|
mBindings.viewpager.setAdapter(viewpagerAdapter);
|
||||||
|
mBindings.viewpager.beginFakeDrag();
|
||||||
|
|
||||||
|
var alertDialog = new MaterialAlertDialogBuilder(requireContext())
|
||||||
|
.setView(mBindings.getRoot())
|
||||||
|
.setCancelable(false)
|
||||||
|
.create();
|
||||||
|
alertDialog.setCanceledOnTouchOutside(false);
|
||||||
|
alertDialog.setOnShowListener(this);
|
||||||
|
return alertDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStart() {
|
||||||
|
super.onStart();
|
||||||
|
|
||||||
|
if(getDialog() != null) {
|
||||||
|
getDialog().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
|
||||||
|
getDialog().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onShow(DialogInterface dialog) {
|
||||||
|
((AppCompatTextView) viewpagerAdapter.getPage(0)
|
||||||
|
.findViewById(R.id.description_text))
|
||||||
|
.setText(mCheckForLineaProd ? R.string.ask_production_line_of_lu_message : R.string.ask_position_of_lu_message);
|
||||||
|
|
||||||
|
viewpagerAdapter.getPage(1).findViewById(R.id.button_confirm).setOnClickListener(v -> {
|
||||||
|
String levelNumber = ((TextView) viewpagerAdapter.getPage(1).findViewById(R.id.level_number)).getText().toString();
|
||||||
|
onLevelConfirm(levelNumber);
|
||||||
|
});
|
||||||
|
|
||||||
|
viewpagerAdapter.getPage(1).findViewById(R.id.button_abort).setOnClickListener(v -> {
|
||||||
|
onLevelAbort();
|
||||||
|
});
|
||||||
|
|
||||||
|
livelloTextInputLayout = viewpagerAdapter.getPage(1).findViewById(R.id.level_number_layout);
|
||||||
|
livelloTextInputLayout.getEditText().addTextChangedListener(new TextWatcher() {
|
||||||
|
@Override
|
||||||
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
|
if (livelloTextInputLayout.getEditText().getText() != null) {
|
||||||
|
validateLevel(livelloTextInputLayout.getEditText().getText().toString());
|
||||||
|
} else resetLevelError();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterTextChanged(Editable s) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void askLivello() {
|
||||||
|
mBindings.viewpager.setCurrentItem(1, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isOnLivelloPage() {
|
||||||
|
return mBindings.viewpager.getCurrentItem() == 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initBarcode() {
|
||||||
|
mBarcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||||
|
.setOnScanSuccessful(onScanSuccessfull)
|
||||||
|
.setOnScanFailed(this::onError));
|
||||||
|
|
||||||
|
BarcodeManager.enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDismiss(@NonNull DialogInterface dialog) {
|
||||||
|
BarcodeManager.removeCallback(mBarcodeScannerIstanceID);
|
||||||
|
if (!completedFlow) onComplete.run(DialogConsts.Results.ABORT, null);
|
||||||
|
super.onDismiss(dialog);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private final RunnableArgs<BarcodeScanDTO> onScanSuccessfull = data -> {
|
||||||
|
BarcodeManager.disable();
|
||||||
|
|
||||||
|
if (!isOnLivelloPage()) {
|
||||||
|
|
||||||
|
if (UtilityBarcode.isEtichettaPosizione(data)) {
|
||||||
|
|
||||||
|
MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(data.getStringValue());
|
||||||
|
currentMtbDepoPosizione = foundPosizione;
|
||||||
|
|
||||||
|
if (!mCheckForLineaProd && !currentMtbDepoPosizione.isFlagLineaProduzione() && UtilityPosizione.isPosizioneWithLivello(foundPosizione)) {
|
||||||
|
askLivello();
|
||||||
|
BarcodeManager.enable();
|
||||||
|
} else {
|
||||||
|
completedFlow = true;
|
||||||
|
if (onComplete != null)
|
||||||
|
onComplete.run(DialogConsts.Results.YES, foundPosizione);
|
||||||
|
|
||||||
|
dismiss();
|
||||||
|
BarcodeManager.enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
BarcodeManager.enable();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
BarcodeManager.enable();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
private void onLevelConfirm(String levelString) {
|
||||||
|
|
||||||
|
String newPosizione = currentMtbDepoPosizione.getPosizione().substring(0, currentMtbDepoPosizione.getPosizione().length() - 1);
|
||||||
|
newPosizione += levelString;
|
||||||
|
|
||||||
|
MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(newPosizione);
|
||||||
|
|
||||||
|
if (foundPosizione != null) {
|
||||||
|
resetLevelError();
|
||||||
|
|
||||||
|
completedFlow = true;
|
||||||
|
if (onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione);
|
||||||
|
dismiss();
|
||||||
|
|
||||||
|
} else {
|
||||||
|
setLevelError(requireContext().getResources().getString(R.string.not_valid));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateLevel(String levelString) {
|
||||||
|
String newPosizione = currentMtbDepoPosizione.getPosizione().substring(0, currentMtbDepoPosizione.getPosizione().length() - 1);
|
||||||
|
newPosizione += levelString;
|
||||||
|
|
||||||
|
if (UtilityPosizione.getFromCache(newPosizione) != null) {
|
||||||
|
resetLevelError();
|
||||||
|
} else setLevelError(requireContext().getResources().getString(R.string.not_valid));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setLevelError(String message) {
|
||||||
|
livelloTextInputLayout.setErrorEnabled(true);
|
||||||
|
livelloTextInputLayout.setError(message);
|
||||||
|
livelloTextInputLayout.setErrorIconDrawable(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void resetLevelError() {
|
||||||
|
livelloTextInputLayout.setError(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void onLevelAbort() {
|
||||||
|
completedFlow = true;
|
||||||
|
onComplete.run(DialogConsts.Results.ABORT, null);
|
||||||
|
dismiss();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -116,7 +116,7 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
|||||||
|
|
||||||
if (isPositiveVisible())
|
if (isPositiveVisible())
|
||||||
alertDialogBuilder.setPositiveButton(getPositiveButtonText(), (dialog, which) -> {
|
alertDialogBuilder.setPositiveButton(getPositiveButtonText(), (dialog, which) -> {
|
||||||
this.mOnPositiveClick.run();
|
if(this.mOnPositiveClick != null) this.mOnPositiveClick.run();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (isNeutralVisible())
|
if (isNeutralVisible())
|
||||||
@@ -194,7 +194,7 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
|||||||
|
|
||||||
|
|
||||||
public boolean isPositiveVisible() {
|
public boolean isPositiveVisible() {
|
||||||
return mOnPositiveClick != null;
|
return mOnPositiveClick != null || (!isNeutralVisible() && !isNegativeVisible());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isNeutralVisible() {
|
public boolean isNeutralVisible() {
|
||||||
|
|||||||
@@ -1,80 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts;
|
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.graphics.Color;
|
|
||||||
import android.graphics.drawable.ColorDrawable;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
|
|
||||||
import androidx.core.content.ContextCompat;
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
|
||||||
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDialog;
|
|
||||||
import it.integry.integrywmsnative.databinding.DialogChooseArtFromListaArtBinding;
|
|
||||||
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
|
||||||
|
|
||||||
public class DialogChooseArtFromListaArts {
|
|
||||||
|
|
||||||
|
|
||||||
private Context currentContext;
|
|
||||||
private Dialog mDialog;
|
|
||||||
|
|
||||||
private DialogChooseArtFromListaArtsAdapter currentAdapter;
|
|
||||||
|
|
||||||
private RunnableArgs<MtbAart> mOnItemChoosed;
|
|
||||||
|
|
||||||
public static Dialog make(final Context context, List<MtbAart> listaArts, RunnableArgs<MtbAart> onItemChoosed) {
|
|
||||||
return new DialogChooseArtFromListaArts(context, listaArts, onItemChoosed).mDialog;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private DialogChooseArtFromListaArts(Context context, List<MtbAart> listaArts, RunnableArgs<MtbAart> onItemChoosed) {
|
|
||||||
currentContext = context;
|
|
||||||
mOnItemChoosed = onItemChoosed;
|
|
||||||
|
|
||||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
|
|
||||||
DialogChooseArtFromListaArtBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_choose_art_from_lista_art, null, false);
|
|
||||||
|
|
||||||
mDialog = new Dialog(context);
|
|
||||||
|
|
||||||
mDialog.setContentView(bindings.getRoot());
|
|
||||||
|
|
||||||
mDialog.setCanceledOnTouchOutside(false);
|
|
||||||
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
|
||||||
|
|
||||||
UtilityDialog.setTo90PercentWidth(context, mDialog);
|
|
||||||
|
|
||||||
initRecyclerView(bindings, listaArts);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initRecyclerView(DialogChooseArtFromListaArtBinding binding, List<MtbAart> dataset) {
|
|
||||||
binding.dialogChooseArtFromListaArtMainList.setNestedScrollingEnabled(false);
|
|
||||||
|
|
||||||
binding.dialogChooseArtFromListaArtMainList.setHasFixedSize(true);
|
|
||||||
|
|
||||||
binding.dialogChooseArtFromListaArtMainList.setLayoutManager(new LinearLayoutManager(currentContext));
|
|
||||||
|
|
||||||
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(currentContext, SimpleDividerItemDecoration.VERTICAL);
|
|
||||||
itemDecorator.setDrawable(ContextCompat.getDrawable(currentContext, R.drawable.divider));
|
|
||||||
binding.dialogChooseArtFromListaArtMainList.addItemDecoration(itemDecorator);
|
|
||||||
|
|
||||||
currentAdapter = new DialogChooseArtFromListaArtsAdapter(currentContext, dataset, onItemClicked);
|
|
||||||
binding.dialogChooseArtFromListaArtMainList.setAdapter(currentAdapter);
|
|
||||||
}
|
|
||||||
|
|
||||||
private IRecyclerItemClicked<MtbAart> onItemClicked = (item, position) -> {
|
|
||||||
if(mOnItemChoosed != null) {
|
|
||||||
mOnItemChoosed.run(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
mDialog.dismiss();
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
package it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
|
import it.integry.integrywmsnative.databinding.DialogChooseArtFromListaArtBinding;
|
||||||
|
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
||||||
|
|
||||||
|
public class DialogChooseArtFromListaArtsView extends DialogFragment {
|
||||||
|
|
||||||
|
|
||||||
|
private final List<MtbAart> mListaArts;
|
||||||
|
private final RunnableArgs<MtbAart> mOnItemChoosed;
|
||||||
|
|
||||||
|
|
||||||
|
public DialogChooseArtFromListaArtsView(List<MtbAart> listaArts, RunnableArgs<MtbAart> onItemChoosed) {
|
||||||
|
super();
|
||||||
|
this.mListaArts = listaArts;
|
||||||
|
this.mOnItemChoosed = onItemChoosed;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||||
|
var binding = DialogChooseArtFromListaArtBinding.inflate(LayoutInflater.from(requireContext()));
|
||||||
|
|
||||||
|
initRecyclerView(binding, mListaArts);
|
||||||
|
|
||||||
|
var alertDialog = new MaterialAlertDialogBuilder(requireContext())
|
||||||
|
.setView(binding.getRoot())
|
||||||
|
.setCancelable(false)
|
||||||
|
.create();
|
||||||
|
|
||||||
|
alertDialog.setCanceledOnTouchOutside(false);
|
||||||
|
return alertDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initRecyclerView(DialogChooseArtFromListaArtBinding binding, List<MtbAart> dataset) {
|
||||||
|
binding.dialogChooseArtFromListaArtMainList.setNestedScrollingEnabled(false);
|
||||||
|
binding.dialogChooseArtFromListaArtMainList.setHasFixedSize(true);
|
||||||
|
binding.dialogChooseArtFromListaArtMainList.setLayoutManager(new LinearLayoutManager(requireContext()));
|
||||||
|
|
||||||
|
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(requireContext(), SimpleDividerItemDecoration.VERTICAL);
|
||||||
|
itemDecorator.setDrawable(ContextCompat.getDrawable(requireContext(), R.drawable.divider));
|
||||||
|
binding.dialogChooseArtFromListaArtMainList.addItemDecoration(itemDecorator);
|
||||||
|
|
||||||
|
DialogChooseArtFromListaArtsAdapter mCurrentAdapter = new DialogChooseArtFromListaArtsAdapter(requireContext(), dataset,
|
||||||
|
((item, position) -> {
|
||||||
|
if (mOnItemChoosed != null) {
|
||||||
|
mOnItemChoosed.run(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
dismiss();
|
||||||
|
}));
|
||||||
|
binding.dialogChooseArtFromListaArtMainList.setAdapter(mCurrentAdapter);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -308,15 +308,10 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment {
|
|||||||
|
|
||||||
|
|
||||||
private void loadArticolo(String barcodeProd, Ean128Model ean128Model) {
|
private void loadArticolo(String barcodeProd, Ean128Model ean128Model) {
|
||||||
if (barcodeProd.length() == 14) {
|
|
||||||
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
|
|
||||||
}
|
|
||||||
|
|
||||||
String finalBarcodeProd = barcodeProd;
|
|
||||||
this.articoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
this.articoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
||||||
|
|
||||||
if (mtbAartList != null && mtbAartList.size() > 0) {
|
if (mtbAartList != null && mtbAartList.size() > 0) {
|
||||||
this.mBindings.mainSearch.setQuery(finalBarcodeProd, false);
|
this.mBindings.mainSearch.setQuery(barcodeProd, false);
|
||||||
|
|
||||||
this.searchArtInList(mtbAartList.get(0), ean128Model);
|
this.searchArtInList(mtbAartList.get(0), ean128Model);
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr;
|
package it.integry.integrywmsnative.view.dialogs.choose_batch_lot.choose_art_from_lista_mtb_colr;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr;
|
package it.integry.integrywmsnative.view.dialogs.choose_batch_lot.choose_art_from_lista_mtb_colr;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.ColorStateList;
|
import android.content.res.ColorStateList;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -10,6 +11,7 @@ import android.text.SpannableString;
|
|||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.view.WindowManager;
|
||||||
import android.view.inputmethod.EditorInfo;
|
import android.view.inputmethod.EditorInfo;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@@ -123,6 +125,14 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
this.initBarcode();
|
this.initBarcode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||||
|
var dialog = super.onCreateDialog(savedInstanceState);
|
||||||
|
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
||||||
|
return dialog;
|
||||||
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import it.integry.integrywmsnative.core.model.MtbColr;
|
|||||||
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
||||||
import it.integry.integrywmsnative.databinding.DialogScanArtBinding;
|
import it.integry.integrywmsnative.databinding.DialogScanArtBinding;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr.DialogChooseArtFromListaMtbColrView;
|
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.choose_art_from_lista_mtb_colr.DialogChooseArtFromListaMtbColrView;
|
||||||
|
|
||||||
public class DialogScanArtView extends BaseDialogFragment implements DialogScanArtViewModel.Listener {
|
public class DialogScanArtView extends BaseDialogFragment implements DialogScanArtViewModel.Listener {
|
||||||
|
|
||||||
|
|||||||
@@ -149,11 +149,6 @@ public class DialogScanArtViewModel {
|
|||||||
|
|
||||||
|
|
||||||
private void loadArticolo(@NotNull String barcodeProd, Ean128Model ean128Model, RunnableArgssss<DialogConsts.Results, MtbAart, Ean128Model, List<MtbColr>> onComplete) {
|
private void loadArticolo(@NotNull String barcodeProd, Ean128Model ean128Model, RunnableArgssss<DialogConsts.Results, MtbAart, Ean128Model, List<MtbColr>> onComplete) {
|
||||||
if (barcodeProd.length() == 14) {
|
|
||||||
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
|
|
||||||
}
|
|
||||||
|
|
||||||
String finalBarcodeProd = barcodeProd;
|
|
||||||
this.mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
this.mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
||||||
if (mtbAartList != null && mtbAartList.size() > 0) {
|
if (mtbAartList != null && mtbAartList.size() > 0) {
|
||||||
|
|
||||||
@@ -165,11 +160,11 @@ public class DialogScanArtViewModel {
|
|||||||
} else if (!mForceOnlyUL) {
|
} else if (!mForceOnlyUL) {
|
||||||
onComplete.run(DialogConsts.Results.YES, mtbAartList.get(0), ean128Model, null);
|
onComplete.run(DialogConsts.Results.YES, mtbAartList.get(0), ean128Model, null);
|
||||||
} else {
|
} else {
|
||||||
this.sendError(new NoResultFromBarcodeException(finalBarcodeProd));
|
this.sendError(new NoResultFromBarcodeException(barcodeProd));
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
this.sendError(new NoResultFromBarcodeException(finalBarcodeProd));
|
this.sendError(new NoResultFromBarcodeException(barcodeProd));
|
||||||
}
|
}
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,8 +93,8 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
|
|||||||
this.mViewModel.init(mShouldCheckResiduo, mShouldCheckIfExistDoc, mEnableCreation);
|
this.mViewModel.init(mShouldCheckResiduo, mShouldCheckIfExistDoc, mEnableCreation);
|
||||||
|
|
||||||
mBindings.createNewLuButton.setOnClickListener(v -> {
|
mBindings.createNewLuButton.setOnClickListener(v -> {
|
||||||
dismiss();
|
|
||||||
this.mViewModel.createNewLU();
|
this.mViewModel.createNewLU();
|
||||||
|
// dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
mBindings.viewBasket.setOnClickListener(v -> {
|
mBindings.viewBasket.setOnClickListener(v -> {
|
||||||
|
|||||||
@@ -8,5 +8,5 @@
|
|||||||
android:right="6dp"
|
android:right="6dp"
|
||||||
android:top="1dp" />
|
android:top="1dp" />
|
||||||
|
|
||||||
<corners android:radius="5dp" />
|
<corners android:radius="12dp" />
|
||||||
</shape>
|
</shape>
|
||||||
@@ -295,6 +295,7 @@
|
|||||||
android:backgroundTint="@color/light_blue_100"
|
android:backgroundTint="@color/light_blue_100"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingHorizontal="8dp"
|
android:paddingHorizontal="8dp"
|
||||||
|
android:paddingVertical="4dp"
|
||||||
android:visibility="@{viewmodel.totalNumCnfInWarehouse != null || viewmodel.totalQtaInWarehouse != null ? View.VISIBLE : View.GONE}">
|
android:visibility="@{viewmodel.totalNumCnfInWarehouse != null || viewmodel.totalQtaInWarehouse != null ? View.VISIBLE : View.GONE}">
|
||||||
|
|
||||||
|
|
||||||
@@ -394,6 +395,7 @@
|
|||||||
android:backgroundTint="@color/light_blue_100"
|
android:backgroundTint="@color/light_blue_100"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingHorizontal="8dp"
|
android:paddingHorizontal="8dp"
|
||||||
|
android:paddingVertical="4dp"
|
||||||
android:visibility="@{viewmodel.totalNumCnfCommitted != null || viewmodel.totalQtaCommitted != null ? View.VISIBLE : View.GONE}">
|
android:visibility="@{viewmodel.totalNumCnfCommitted != null || viewmodel.totalQtaCommitted != null ? View.VISIBLE : View.GONE}">
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<androidx.cardview.widget.CardView
|
<androidx.cardview.widget.CardView
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:cardCornerRadius="8dp"
|
app:cardCornerRadius="16dp"
|
||||||
app:cardElevation="4dp"
|
app:cardElevation="4dp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
|||||||
@@ -4,9 +4,6 @@
|
|||||||
<data>
|
<data>
|
||||||
<import type="android.text.Html" />
|
<import type="android.text.Html" />
|
||||||
<import type="it.integry.integrywmsnative.R" />
|
<import type="it.integry.integrywmsnative.R" />
|
||||||
<variable
|
|
||||||
name="mContext"
|
|
||||||
type="android.content.Context" />
|
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
|
|
||||||
@@ -14,57 +11,44 @@
|
|||||||
android:orientation="vertical" android:layout_width="match_parent"
|
android:orientation="vertical" android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
app:cardCornerRadius="12dp"
|
app:cardCornerRadius="16dp"
|
||||||
app:cardElevation="0dp">
|
app:cardElevation="0dp">
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical"
|
||||||
|
android:paddingHorizontal="16dp"
|
||||||
|
android:paddingVertical="16dp">
|
||||||
|
|
||||||
<RelativeLayout
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
|
||||||
|
android:layout_width="36dp"
|
||||||
|
android:layout_height="36dp"
|
||||||
|
android:src="@drawable/ic_error_white_24dp"
|
||||||
|
app:tint="?colorPrimary" />
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/title_text"
|
||||||
|
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/light_blue_300"
|
android:gravity="center_horizontal"
|
||||||
android:gravity="center_horizontal">
|
android:layout_marginBottom="16dp"
|
||||||
|
android:text="@string/placement" />
|
||||||
<ImageView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:src="@drawable/ic_error_white_24dp"
|
|
||||||
android:layout_margin="24dp"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
|
|
||||||
|
<it.integry.integrywmsnative.ui.DeactivatableViewPager
|
||||||
<LinearLayout
|
android:id="@+id/viewpager"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content">
|
||||||
android:orientation="vertical"
|
|
||||||
android:paddingTop="24dp"
|
|
||||||
android:paddingLeft="24dp"
|
|
||||||
android:paddingRight="24dp">
|
|
||||||
|
|
||||||
<TextView
|
</it.integry.integrywmsnative.ui.DeactivatableViewPager>
|
||||||
android:id="@+id/title_text"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
style="@style/TextViewMaterial.Dialog.HeadlineText"
|
|
||||||
android:text="@string/placement"
|
|
||||||
android:gravity="center_horizontal"/>
|
|
||||||
|
|
||||||
|
|
||||||
<it.integry.integrywmsnative.ui.DeactivatableViewPager
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
android:id="@+id/viewpager"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
</it.integry.integrywmsnative.ui.DeactivatableViewPager>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
</androidx.cardview.widget.CardView>
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
</layout>
|
</layout>
|
||||||
@@ -1,17 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:orientation="vertical"
|
android:orientation="horizontal"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:layout_margin="16dp">
|
android:layout_margin="16dp"
|
||||||
|
android:weightSum="10">
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:weightSum="10">
|
|
||||||
|
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
@@ -31,6 +27,5 @@
|
|||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
style="@style/TextViewMaterial"
|
style="@style/TextViewMaterial"
|
||||||
tools:text="Scansiona il codice a barre di uno Scaffale"/>
|
tools:text="Scansiona il codice a barre di uno Scaffale"/>
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
@@ -40,7 +40,6 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
style="@style/Button.PrimaryOutline"
|
style="@style/Button.PrimaryOutline"
|
||||||
app:icon="@drawable/ic_clear_24dp"
|
|
||||||
app:strokeColor="@color/colorPrimary"
|
app:strokeColor="@color/colorPrimary"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:text="@string/abort"/>
|
android:text="@string/abort"/>
|
||||||
@@ -51,7 +50,6 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
style="@style/Button.PrimaryFull"
|
style="@style/Button.PrimaryFull"
|
||||||
app:icon="@drawable/ic_save_24dp"
|
|
||||||
android:text="@string/confirm"/>
|
android:text="@string/confirm"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|||||||
@@ -2,61 +2,44 @@
|
|||||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
|
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:id="@+id/base_root"
|
android:id="@+id/base_root"
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:orientation="vertical"
|
||||||
app:cardCornerRadius="12dp"
|
app:cardCornerRadius="12dp"
|
||||||
app:cardElevation="0dp">
|
app:cardElevation="0dp">
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical"
|
||||||
|
android:padding="16dp">
|
||||||
|
|
||||||
<RelativeLayout
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/title_container"
|
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
|
||||||
|
android:layout_width="36dp"
|
||||||
|
android:layout_height="36dp"
|
||||||
|
android:src="@drawable/ic_error_white_24dp"
|
||||||
|
app:tint="?colorPrimary" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/title_text"
|
||||||
|
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/light_blue_300"
|
android:layout_marginBottom="16dp"
|
||||||
android:gravity="center_horizontal">
|
android:text="@string/dialog_choose_art_from_lista_art" />
|
||||||
|
|
||||||
<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>
|
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
<LinearLayout
|
android:id="@+id/dialog_choose_art_from_lista_art__main_list"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
tools:listitem="@layout/dialog_choose_art_from_lista_art__item_model"
|
||||||
android:padding="24dp">
|
tools:itemCount="5"/>
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/title_text"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
style="@style/TextViewMaterial.Dialog.HeadlineText"
|
|
||||||
android:text="@string/dialog_choose_art_from_lista_art"
|
|
||||||
android:gravity="center_horizontal"/>
|
|
||||||
|
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
|
||||||
android:id="@+id/dialog_choose_art_from_lista_art__main_list"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent" />
|
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -1,74 +1,72 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
|
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<data>
|
<data>
|
||||||
|
|
||||||
<import type="android.view.View" />
|
<import type="android.view.View" />
|
||||||
|
|
||||||
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
||||||
|
|
||||||
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
||||||
|
|
||||||
<variable
|
<variable
|
||||||
name="mtbAart"
|
name="mtbAart"
|
||||||
type="it.integry.integrywmsnative.core.model.MtbAart"/>
|
type="it.integry.integrywmsnative.core.model.MtbAart" />
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.LinearLayoutCompat
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:id="@+id/linearLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingTop="8dp"
|
android:paddingTop="8dp"
|
||||||
android:paddingBottom="8dp">
|
android:paddingBottom="8dp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
android:background="?android:attr/selectableItemBackground">
|
||||||
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.LinearLayoutCompat
|
<RelativeLayout
|
||||||
android:id="@+id/linearLayout"
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@{mtbAart.codMart}"
|
||||||
|
android:textColor="@color/colorPrimary"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="COD MART" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:text="@{mtbAart.diacod}"
|
||||||
|
android:textColor="@color/red_600"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:visibility="@{UtilityString.isNullOrEmpty(mtbAart.diacod) ? View.GONE : View.VISIBLE}"
|
||||||
|
tools:text="DIACOD" />
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:ellipsize="end"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:text="@{mtbAart.descrizioneEstesa}"
|
||||||
app:layout_constraintStart_toStartOf="parent">
|
android:textColor="@android:color/black"
|
||||||
|
android:textSize="16sp"
|
||||||
|
tools:text="Descrizione lunga articolo" />
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@{mtbAart.codMart}"
|
|
||||||
android:textColor="@color/colorPrimary"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="COD MART" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@{mtbAart.diacod}"
|
|
||||||
android:textColor="@color/red_600"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:visibility="@{UtilityString.isNullOrEmpty(mtbAart.diacod) ? View.GONE : View.VISIBLE}"
|
|
||||||
android:layout_alignParentEnd="true"
|
|
||||||
tools:text="DIACOD"/>
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:text="@{mtbAart.descrizioneEstesa}"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:textSize="16sp"
|
|
||||||
tools:text="Descrizione lunga articolo" />
|
|
||||||
|
|
||||||
|
|
||||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
||||||
|
|
||||||
|
|
||||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
</layout>
|
</layout>
|
||||||
@@ -306,6 +306,7 @@
|
|||||||
android:backgroundTint="@color/light_blue_100"
|
android:backgroundTint="@color/light_blue_100"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingHorizontal="8dp"
|
android:paddingHorizontal="8dp"
|
||||||
|
android:paddingVertical="4dp"
|
||||||
android:visibility="@{viewmodel.totalNumCnfInWarehouse != null || viewmodel.totalQtaInWarehouse != null ? View.VISIBLE : View.GONE}">
|
android:visibility="@{viewmodel.totalNumCnfInWarehouse != null || viewmodel.totalQtaInWarehouse != null ? View.VISIBLE : View.GONE}">
|
||||||
|
|
||||||
|
|
||||||
@@ -405,6 +406,7 @@
|
|||||||
android:backgroundTint="@color/light_blue_100"
|
android:backgroundTint="@color/light_blue_100"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingHorizontal="8dp"
|
android:paddingHorizontal="8dp"
|
||||||
|
android:paddingVertical="4dp"
|
||||||
android:visibility="@{viewmodel.totalNumCnfCommitted != null || viewmodel.totalQtaCommitted != null ? View.VISIBLE : View.GONE}">
|
android:visibility="@{viewmodel.totalNumCnfCommitted != null || viewmodel.totalQtaCommitted != null ? View.VISIBLE : View.GONE}">
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
android:orientation="vertical" android:layout_width="match_parent"
|
android:orientation="vertical" android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
app:cardCornerRadius="12dp"
|
app:cardCornerRadius="16dp"
|
||||||
app:cardElevation="0dp">
|
app:cardElevation="0dp">
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -31,12 +31,12 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/full_white"
|
android:background="@color/full_white"
|
||||||
@@ -48,12 +48,12 @@
|
|||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
app:el_expanded_bind="@{view.thereIsAnOpenedUL}">
|
app:el_expanded_bind="@{view.thereIsAnOpenedUL}">
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
|
||||||
android:background="@drawable/badge_round_corner"
|
android:background="@drawable/badge_round_corner"
|
||||||
android:backgroundTint="@color/colorPrimary">
|
android:backgroundTint="@color/colorPrimary"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
@@ -63,8 +63,8 @@
|
|||||||
android:paddingTop="8dp"
|
android:paddingTop="8dp"
|
||||||
android:paddingEnd="2dp"
|
android:paddingEnd="2dp"
|
||||||
android:paddingBottom="8dp"
|
android:paddingBottom="8dp"
|
||||||
android:textColor="@android:color/white"
|
android:text="num:"
|
||||||
android:text="num:" />
|
android:textColor="@android:color/white" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
@@ -87,8 +87,8 @@
|
|||||||
android:paddingTop="8dp"
|
android:paddingTop="8dp"
|
||||||
android:paddingEnd="2dp"
|
android:paddingEnd="2dp"
|
||||||
android:paddingBottom="8dp"
|
android:paddingBottom="8dp"
|
||||||
android:textColor="@android:color/white"
|
|
||||||
android:text="pos:"
|
android:text="pos:"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
android:visibility="@{!UtilityString.isNullOrEmpty(viewmodel.currentMtbColt.posizione) ? View.VISIBLE : View.GONE}" />
|
android:visibility="@{!UtilityString.isNullOrEmpty(viewmodel.currentMtbColt.posizione) ? View.VISIBLE : View.GONE}" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
@@ -102,11 +102,11 @@
|
|||||||
tools:text="ME1FS032" />
|
tools:text="ME1FS032" />
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
</net.cachapa.expandablelayout.ExpandableLayout>
|
</net.cachapa.expandablelayout.ExpandableLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:id="@+id/rettifica_giacenze_forn_layout"
|
android:id="@+id/rettifica_giacenze_forn_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -114,40 +114,29 @@
|
|||||||
android:layout_marginTop="4dp"
|
android:layout_marginTop="4dp"
|
||||||
android:layout_marginBottom="4dp"
|
android:layout_marginBottom="4dp"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:paddingStart="8dp"
|
android:padding="8dp">
|
||||||
android:paddingTop="6dp"
|
|
||||||
android:paddingEnd="6dp"
|
|
||||||
android:paddingBottom="6dp">
|
|
||||||
|
|
||||||
<RadioButton
|
<RadioButton
|
||||||
android:id="@+id/rettifica_giacenze_forn_check_box"
|
android:id="@+id/rettifica_giacenze_forn_check_box"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="end|center_vertical"
|
||||||
android:onClick="@{() -> view.setUIToForn()}" />
|
android:onClick="@{() -> view.setUIToForn()}" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal"
|
||||||
<androidx.constraintlayout.widget.Guideline
|
android:weightSum="10">
|
||||||
android:id="@+id/guide_line_fornitore"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintGuide_percent="0.40" />
|
|
||||||
|
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:id="@+id/auto_complete_fornitori_layout"
|
android:id="@+id/auto_complete_fornitori_layout"
|
||||||
style="@style/TextInputLayout.NoLine"
|
style="@style/TextInputLayout.NoLine"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="0dp"
|
android:layout_height="match_parent"
|
||||||
app:hintTextAppearance="@style/hint_text"
|
android:layout_weight="3"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:hintTextAppearance="@style/hint_text">
|
||||||
app:layout_constraintEnd_toStartOf="@id/guide_line_fornitore"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatAutoCompleteTextView
|
<androidx.appcompat.widget.AppCompatAutoCompleteTextView
|
||||||
android:id="@+id/auto_complete_fornitori"
|
android:id="@+id/auto_complete_fornitori"
|
||||||
@@ -164,13 +153,11 @@
|
|||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:id="@+id/layout_cod_art_descr_forn"
|
android:id="@+id/layout_cod_art_descr_forn"
|
||||||
style="@style/TextInputLayout.NoLine"
|
style="@style/TextInputLayout.NoLine"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
app:hintTextAppearance="@style/hint_text"
|
android:layout_weight="7"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:hintTextAppearance="@style/hint_text">
|
||||||
app:layout_constraintStart_toEndOf="@id/guide_line_fornitore"
|
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:id="@+id/input_cod_art_descr_forn"
|
android:id="@+id/input_cod_art_descr_forn"
|
||||||
@@ -184,9 +171,8 @@
|
|||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/rettifica_giacenze_art_int_layout"
|
android:id="@+id/rettifica_giacenze_art_int_layout"
|
||||||
@@ -240,7 +226,7 @@
|
|||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -307,7 +293,8 @@
|
|||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:paddingTop="16dp"
|
android:paddingTop="16dp"
|
||||||
android:paddingBottom="80dp"
|
android:paddingBottom="80dp"
|
||||||
android:scrollbarStyle="outsideOverlay" />
|
android:scrollbarStyle="outsideOverlay"
|
||||||
|
tools:listitem="@layout/lista_rettifica_giacenze_model" />
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
android:id="@+id/rettifica_giacenze_main_fab"
|
android:id="@+id/rettifica_giacenze_main_fab"
|
||||||
@@ -320,21 +307,21 @@
|
|||||||
android:layout_margin="@dimen/fab_margin"
|
android:layout_margin="@dimen/fab_margin"
|
||||||
android:onClick="@{() -> viewmodel.closeLU(true)}"
|
android:onClick="@{() -> viewmodel.closeLU(true)}"
|
||||||
android:tint="@android:color/white"
|
android:tint="@android:color/white"
|
||||||
app:visibility="@{view.thereIsAnOpenedUL}"
|
app:srcCompat="@drawable/ic_check_black_24dp"
|
||||||
app:srcCompat="@drawable/ic_check_black_24dp" />
|
app:visibility="@{view.thereIsAnOpenedUL}" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/bottom_sheet__mtb_colr_edit__background"
|
android:id="@+id/bottom_sheet__mtb_colr_edit__background"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="#99000000"
|
android:background="#99000000"
|
||||||
android:visibility="gone"
|
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true" />
|
android:focusable="true"
|
||||||
|
android:visibility="gone" />
|
||||||
|
|
||||||
<it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView
|
<it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView
|
||||||
android:id="@+id/bottom_sheet__mtb_colr_edit"
|
android:id="@+id/bottom_sheet__mtb_colr_edit"
|
||||||
|
|||||||
@@ -104,6 +104,9 @@
|
|||||||
<item name="android:statusBarColor">@android:color/white</item>
|
<item name="android:statusBarColor">@android:color/white</item>
|
||||||
<item name="windowNoTitle">true</item>
|
<item name="windowNoTitle">true</item>
|
||||||
<item name="android:windowAnimationStyle">@style/Animation.AppCompat.Dialog</item>
|
<item name="android:windowAnimationStyle">@style/Animation.AppCompat.Dialog</item>
|
||||||
|
<item name="android:windowIsFloating">false</item>
|
||||||
|
<item name="android:windowBackground">@android:color/transparent</item>
|
||||||
|
<item name="android:windowCloseOnTouchOutside">false</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user