Configurato log delle eccezioni con Firebase.
Creare righe negative ogni qualvolta si modificano le qta di un collo. Riabilitato barcode in DialogAskPosizioneOfLU.
This commit is contained in:
parent
b16d293c16
commit
fbc009f53b
BIN
.idea/caches/build_file_checksums.ser
generated
BIN
.idea/caches/build_file_checksums.ser
generated
Binary file not shown.
@ -49,6 +49,7 @@ dependencies {
|
||||
})
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
implementation 'com.orhanobut:logger:2.2.0'
|
||||
implementation 'com.google.firebase:firebase-core:16.0.6'
|
||||
implementation 'com.google.firebase:firebase-crash:16.2.1'
|
||||
implementation 'com.google.firebase:firebase-perf:16.2.2'
|
||||
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.7'
|
||||
|
||||
@ -55,6 +55,9 @@
|
||||
<meta-data
|
||||
android:name="io.fabric.ApiKey"
|
||||
android:value="26f0d16c00d20fe74582627c831f26e30646a187" />
|
||||
<meta-data
|
||||
android:name="firebase_crashlytics_collection_enabled"
|
||||
android:value="true" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@ -21,6 +21,7 @@ import it.integry.integrywmsnative.core.settings.Stash;
|
||||
import it.integry.integrywmsnative.core.update.UpdatesManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
|
||||
import it.integry.integrywmsnative.view.dialogs.exception.DialogException;
|
||||
|
||||
@ -38,6 +39,22 @@ public class MainApplication extends Application {
|
||||
|
||||
if(!BuildConfig.DEBUG) {
|
||||
Fabric.with(this, new Crashlytics());
|
||||
|
||||
if(SettingsManager.i() != null &&
|
||||
(SettingsManager.i().userSession != null && !UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB)) &&
|
||||
(SettingsManager.i().user != null && !UtilityString.isNullOrEmpty(SettingsManager.i().user.fullname))) {
|
||||
|
||||
Crashlytics.setString("user_fullname", SettingsManager.i().user.fullname);
|
||||
Crashlytics.setString("profile_db", SettingsManager.i().userSession.profileDB);
|
||||
}
|
||||
} else {
|
||||
if(SettingsManager.i() != null &&
|
||||
(SettingsManager.i().userSession != null && !UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB)) &&
|
||||
(SettingsManager.i().user != null && !UtilityString.isNullOrEmpty(SettingsManager.i().user.fullname))) {
|
||||
|
||||
Crashlytics.setString("user_fullname", SettingsManager.i().user.fullname);
|
||||
Crashlytics.setString("profile_db", "[DEBUG] " + SettingsManager.i().userSession.profileDB);
|
||||
}
|
||||
}
|
||||
|
||||
Stash.init(this);
|
||||
|
||||
@ -71,6 +71,22 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
|
||||
|
||||
}
|
||||
|
||||
public static void saveRigaCollo(MtbColr mtbColrToSave, RunnableArgs<MtbColr> onComplete, RunnableArgs<Exception> onFailed){
|
||||
|
||||
EntityRESTConsumer.processEntity(mtbColrToSave, new ISimpleOperationCallback<MtbColr>() {
|
||||
@Override
|
||||
public void onSuccess(MtbColr value) {
|
||||
if(onComplete != null) onComplete.run(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(Exception ex) {
|
||||
if(onFailed != null) onFailed.run(ex);
|
||||
}
|
||||
}, MtbColr.class);
|
||||
|
||||
}
|
||||
|
||||
public static void createColloLavorazione(int segno, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
MtbColt mtbColtToCreate = new MtbColt()
|
||||
.setSegno(segno)
|
||||
|
||||
@ -71,7 +71,7 @@ public class SettingsManager {
|
||||
public static void reloadDBVariables(Runnable onComplete, RunnableArgs<Exception> onFailed){
|
||||
dbSettingsModelIstance = new DBSettingsModel();
|
||||
|
||||
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("_db_reload_vars");
|
||||
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_reload_vars");
|
||||
perfTrace.start();
|
||||
|
||||
Runnable tmpOnComplete = () -> {
|
||||
|
||||
@ -5,6 +5,7 @@ import android.content.Context;
|
||||
import android.text.SpannableString;
|
||||
import android.util.Log;
|
||||
|
||||
import com.crashlytics.android.Crashlytics;
|
||||
import com.orhanobut.logger.Logger;
|
||||
|
||||
import it.integry.integrywmsnative.core.REST.CommonRESTException;
|
||||
@ -30,6 +31,8 @@ public class UtilityExceptions {
|
||||
DialogSimpleMessageHelper.makeErrorDialog(context, new SpannableString(errorMessage), null, null).show();
|
||||
|
||||
if(sendEmail) UtilityLogger.errorMe(ex);
|
||||
|
||||
Crashlytics.logException(ex.getCause());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -19,6 +19,7 @@ import com.annimon.stream.Stream;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.MainActivity;
|
||||
@ -26,6 +27,7 @@ import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.REST.CommonRESTException;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
@ -40,6 +42,7 @@ import it.integry.integrywmsnative.core.report.ReportManager;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainRettificaGiacenzeBinding;
|
||||
@ -291,32 +294,6 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
|
||||
qtaDto.setCanPartitaMagBeChanged(true);
|
||||
qtaDto.setCanDataScadBeChanged(true);
|
||||
|
||||
/*
|
||||
if(ean128Model != null){
|
||||
if(!UtilityString.isNullOrEmpty(ean128Model.BatchLot)){
|
||||
qtaDto.partitaMag = ean128Model.BatchLot;
|
||||
qtaDto.canPartitaMagBeChanged = false;
|
||||
}
|
||||
|
||||
let dataScad = ean128Model.BestBefore || ean128Model.Expiry;
|
||||
if(dataScad != null){
|
||||
qtaDto.shouldAskDataScad = true;
|
||||
qtaDto.dataScad = moment(dataScad, "DD/MM/YYYY HH:mm:ss").format("YYYY-MM-DD");
|
||||
qtaDto.canDataScadBeChanged = false;
|
||||
}
|
||||
|
||||
if(ean128Model.NetWeightKg != null) {
|
||||
qtaDto.qtaTot = ean128Model.NetWeightKg;
|
||||
qtaDto.qtaPerCnf = ean128Model.NetWeightKg;
|
||||
qtaDto.numDiCnf = 1;
|
||||
}
|
||||
|
||||
if(ean128Model.Count != null){
|
||||
qtaDto.qtaTot = ean128Model.Count;
|
||||
qtaDto.numDiCnf = qtaDto.qtaTot / qtaDto.qtaPerCnf;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
DialogInputQuantity.makeBase(mContext, qtaDto, true, (quantityDTO) -> {
|
||||
onPostDispatch(mtbAart, quantityDTO);
|
||||
@ -385,7 +362,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
|
||||
|
||||
@Override
|
||||
public void onItemClick(MtbColr item, int position) {
|
||||
/*
|
||||
|
||||
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
|
||||
|
||||
MtbColr clickedItem = mtbColt.get().getMtbColr().get(position);
|
||||
@ -393,12 +370,11 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
|
||||
mBinding.bottomSheetActionsTitle.setText(clickedItem.getDescrizione());
|
||||
mBinding.bottomSheetActionsSubtitle.setText(clickedItem.getCodMart());
|
||||
|
||||
mBinding.bottomSheetActionsEditBtn.setOnClickListener(v -> onItemEdit(position));
|
||||
mBinding.bottomSheetActionsEditBtn.setOnClickListener(v -> onItemEdit(item, position));
|
||||
|
||||
mBinding.bottomSheetActionsDeleteBtn.setOnClickListener(v -> onItemDelete(position));
|
||||
mBinding.bottomSheetActionsDeleteBtn.setOnClickListener(v -> onItemDelete(item));
|
||||
|
||||
mBinding.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + " " + clickedItem.getUntMis());
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
@ -440,9 +416,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
|
||||
progress.dismiss();
|
||||
resetMtbColt(openNewOne);
|
||||
}
|
||||
}), () -> {
|
||||
progress.dismiss();
|
||||
}, ex ->
|
||||
}), progress::dismiss, ex ->
|
||||
UtilityExceptions.defaultException(mContext, ex, progress)
|
||||
);
|
||||
|
||||
@ -453,9 +427,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
|
||||
} else {
|
||||
resetMtbColt(openNewOne);
|
||||
}
|
||||
}, () -> {
|
||||
progress.dismiss();
|
||||
}, ex -> UtilityExceptions.defaultException(mContext, ex, progress));
|
||||
}, progress::dismiss, ex -> UtilityExceptions.defaultException(mContext, ex, progress));
|
||||
}
|
||||
} else {
|
||||
|
||||
@ -506,6 +478,89 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
|
||||
}, onFailed).show();
|
||||
}
|
||||
|
||||
private void onItemEdit(MtbColr mtbColrToEdit, int index) {
|
||||
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
||||
|
||||
MtbColr mtbColrToEditClone = (MtbColr) mtbColrToEdit.clone();
|
||||
|
||||
DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO()
|
||||
.setBatchLot(mtbColrToEditClone.getPartitaMag())
|
||||
.setQtaDaEvadere(null)
|
||||
.setQtaOrd(null)
|
||||
.setQtaDisponibile(new BigDecimal(-1))
|
||||
.setMtbAart(mtbColrToEditClone.getMtbAart())
|
||||
.setCanPartitaMagBeChanged(false)
|
||||
.setQtaTot(mtbColrToEditClone.getQtaCol());
|
||||
|
||||
DialogInputQuantity.makeBase(mContext, dto, true, value -> {
|
||||
|
||||
mtbColrToEditClone
|
||||
.setRiga(null)
|
||||
.setDatetimeRow(new Date())
|
||||
.setQtaCol(new BigDecimal(value.qtaTot.get()).subtract(mtbColrToEditClone.getQtaCol()))
|
||||
.setOperation(CommonModelConsts.OPERATION.INSERT);
|
||||
|
||||
MtbColt mtbColtClone = (MtbColt) mtbColt.get().clone();
|
||||
mtbColtClone.setMtbColr(new ObservableArrayList<>());
|
||||
mtbColtClone.getMtbColr().add(mtbColrToEditClone);
|
||||
mtbColtClone.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||
|
||||
ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
|
||||
|
||||
ColliMagazzinoRESTConsumer.saveCollo(mtbColtClone, valueNewMtbColt -> {
|
||||
progressDialog.dismiss();
|
||||
mtbColt.get().getMtbColr().remove(index);
|
||||
|
||||
mtbColrToEditClone
|
||||
.setQtaCol(new BigDecimal(value.qtaTot.get()))
|
||||
.setOperation(CommonModelConsts.OPERATION.NO_OP);
|
||||
|
||||
mtbColt.get().getMtbColr().add(index, mtbColrToEditClone);
|
||||
}, ex -> {
|
||||
UtilityExceptions.defaultException(mContext, ex, progressDialog);
|
||||
});
|
||||
|
||||
}).show();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void onItemDelete(MtbColr mtbColrToDelete) {
|
||||
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
||||
|
||||
MtbColr mtbColrToDeleteClone = (MtbColr) mtbColrToDelete.clone();
|
||||
|
||||
mtbColrToDeleteClone
|
||||
.setRiga(null)
|
||||
.setDatetimeRow(new Date())
|
||||
.setQtaCol(mtbColrToDeleteClone.getQtaCol().multiply(new BigDecimal(-1)))
|
||||
.setOperation(CommonModelConsts.OPERATION.INSERT);
|
||||
|
||||
MtbColt mtbColtClone = (MtbColt) mtbColt.get().clone();
|
||||
mtbColtClone.setMtbColr(new ObservableArrayList<>());
|
||||
mtbColtClone.getMtbColr().add(mtbColrToDeleteClone);
|
||||
mtbColtClone.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||
|
||||
ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
|
||||
|
||||
ColliMagazzinoRESTConsumer.saveCollo(mtbColtClone, value -> {
|
||||
progressDialog.dismiss();
|
||||
mtbColt.get().getMtbColr().remove(mtbColrToDelete);
|
||||
}, ex -> {
|
||||
UtilityExceptions.defaultException(mContext, ex, progressDialog);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void printCollo(ProgressDialog progress) {
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ public class VenditaHelper {
|
||||
public void loadOrdini(final ILoadOrdiniCallback callback){
|
||||
String codMdep = SettingsManager.i().userSession.depo.getCodMdep();
|
||||
|
||||
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("_db_load_ords_v");
|
||||
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_ords_v");
|
||||
perfTrace.start();
|
||||
|
||||
OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class);
|
||||
@ -95,7 +95,7 @@ public class VenditaHelper {
|
||||
|
||||
OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class);
|
||||
|
||||
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("_db_load_pick_v");
|
||||
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_pick_v");
|
||||
perfTrace.start();
|
||||
|
||||
service.getPickingList(codMdep, dateCons, joinedBarcodes).enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTO>>>() {
|
||||
|
||||
@ -146,12 +146,15 @@ public class DialogAskPositionOfLU {
|
||||
|
||||
if (UtilityPosizione.isPosizioneWithLivello(foundPosizione)) {
|
||||
askLivello();
|
||||
BarcodeManager.enable();
|
||||
} else {
|
||||
updatePosizione(foundPosizione, () -> {
|
||||
completedFlow = true;
|
||||
BarcodeManager.enable();
|
||||
if(onComplete != null) onComplete.run(foundPosizione);
|
||||
}, ex -> {
|
||||
completedFlow = true;
|
||||
BarcodeManager.enable();
|
||||
onFailed.run(ex);
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user