Finish v1_0_9(12)

This commit is contained in:
Gius95 2018-12-18 18:38:07 +01:00
commit e068950f01
10 changed files with 140 additions and 42 deletions

Binary file not shown.

View File

@ -21,8 +21,8 @@ android {
applicationId "it.integry.integrywmsnative" applicationId "it.integry.integrywmsnative"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 28 targetSdkVersion 28
versionCode 11 versionCode 12
versionName "1.0.8" versionName "1.0.9"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
@ -49,6 +49,7 @@ dependencies {
}) })
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.orhanobut:logger:2.2.0' implementation 'com.orhanobut:logger:2.2.0'
implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-crash:16.2.1' implementation 'com.google.firebase:firebase-crash:16.2.1'
implementation 'com.google.firebase:firebase-perf:16.2.2' implementation 'com.google.firebase:firebase-perf:16.2.2'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.7' implementation 'com.crashlytics.sdk.android:crashlytics:2.9.7'

View File

@ -55,6 +55,9 @@
<meta-data <meta-data
android:name="io.fabric.ApiKey" android:name="io.fabric.ApiKey"
android:value="26f0d16c00d20fe74582627c831f26e30646a187" /> android:value="26f0d16c00d20fe74582627c831f26e30646a187" />
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="true" />
</application> </application>
</manifest> </manifest>

View File

@ -21,6 +21,7 @@ import it.integry.integrywmsnative.core.settings.Stash;
import it.integry.integrywmsnative.core.update.UpdatesManager; import it.integry.integrywmsnative.core.update.UpdatesManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityResources; import it.integry.integrywmsnative.core.utility.UtilityResources;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.exception.DialogException; import it.integry.integrywmsnative.view.dialogs.exception.DialogException;
@ -38,6 +39,22 @@ public class MainApplication extends Application {
if(!BuildConfig.DEBUG) { if(!BuildConfig.DEBUG) {
Fabric.with(this, new Crashlytics()); 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); Stash.init(this);

View File

@ -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) { public static void createColloLavorazione(int segno, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
MtbColt mtbColtToCreate = new MtbColt() MtbColt mtbColtToCreate = new MtbColt()
.setSegno(segno) .setSegno(segno)

View File

@ -71,7 +71,7 @@ public class SettingsManager {
public static void reloadDBVariables(Runnable onComplete, RunnableArgs<Exception> onFailed){ public static void reloadDBVariables(Runnable onComplete, RunnableArgs<Exception> onFailed){
dbSettingsModelIstance = new DBSettingsModel(); dbSettingsModelIstance = new DBSettingsModel();
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("_db_reload_vars"); Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_reload_vars");
perfTrace.start(); perfTrace.start();
Runnable tmpOnComplete = () -> { Runnable tmpOnComplete = () -> {

View File

@ -5,6 +5,7 @@ import android.content.Context;
import android.text.SpannableString; import android.text.SpannableString;
import android.util.Log; import android.util.Log;
import com.crashlytics.android.Crashlytics;
import com.orhanobut.logger.Logger; import com.orhanobut.logger.Logger;
import it.integry.integrywmsnative.core.REST.CommonRESTException; import it.integry.integrywmsnative.core.REST.CommonRESTException;
@ -30,6 +31,8 @@ public class UtilityExceptions {
DialogSimpleMessageHelper.makeErrorDialog(context, new SpannableString(errorMessage), null, null).show(); DialogSimpleMessageHelper.makeErrorDialog(context, new SpannableString(errorMessage), null, null).show();
if(sendEmail) UtilityLogger.errorMe(ex); if(sendEmail) UtilityLogger.errorMe(ex);
Crashlytics.logException(ex.getCause());
} }
} }

View File

@ -19,6 +19,7 @@ import com.annimon.stream.Stream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.MainActivity; 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.CommonRESTException;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback; 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.REST.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.di.BindableBoolean;
@ -40,6 +42,7 @@ import it.integry.integrywmsnative.core.report.ReportManager;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityLogger; 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.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentMainRettificaGiacenzeBinding; import it.integry.integrywmsnative.databinding.FragmentMainRettificaGiacenzeBinding;
@ -291,32 +294,6 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
qtaDto.setCanPartitaMagBeChanged(true); qtaDto.setCanPartitaMagBeChanged(true);
qtaDto.setCanDataScadBeChanged(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) -> { DialogInputQuantity.makeBase(mContext, qtaDto, true, (quantityDTO) -> {
onPostDispatch(mtbAart, quantityDTO); onPostDispatch(mtbAart, quantityDTO);
@ -385,7 +362,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
@Override @Override
public void onItemClick(MtbColr item, int position) { public void onItemClick(MtbColr item, int position) {
/*
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
MtbColr clickedItem = mtbColt.get().getMtbColr().get(position); MtbColr clickedItem = mtbColt.get().getMtbColr().get(position);
@ -393,12 +370,11 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
mBinding.bottomSheetActionsTitle.setText(clickedItem.getDescrizione()); mBinding.bottomSheetActionsTitle.setText(clickedItem.getDescrizione());
mBinding.bottomSheetActionsSubtitle.setText(clickedItem.getCodMart()); 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()); mBinding.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + " " + clickedItem.getMtbAart().getUntMis());
*/
} }
@ -440,9 +416,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
progress.dismiss(); progress.dismiss();
resetMtbColt(openNewOne); resetMtbColt(openNewOne);
} }
}), () -> { }), progress::dismiss, ex ->
progress.dismiss();
}, ex ->
UtilityExceptions.defaultException(mContext, ex, progress) UtilityExceptions.defaultException(mContext, ex, progress)
); );
@ -453,9 +427,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
} else { } else {
resetMtbColt(openNewOne); resetMtbColt(openNewOne);
} }
}, () -> { }, progress::dismiss, ex -> UtilityExceptions.defaultException(mContext, ex, progress));
progress.dismiss();
}, ex -> UtilityExceptions.defaultException(mContext, ex, progress));
} }
} else { } else {
@ -506,6 +478,89 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
}, onFailed).show(); }, 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) { private void printCollo(ProgressDialog progress) {

View File

@ -45,7 +45,7 @@ public class VenditaHelper {
public void loadOrdini(final ILoadOrdiniCallback callback){ public void loadOrdini(final ILoadOrdiniCallback callback){
String codMdep = SettingsManager.i().userSession.depo.getCodMdep(); 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(); perfTrace.start();
OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class); OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class);
@ -95,7 +95,7 @@ public class VenditaHelper {
OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class); OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class);
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("_db_load_pick_v"); Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_pick_v");
perfTrace.start(); perfTrace.start();
service.getPickingList(codMdep, dateCons, joinedBarcodes).enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTO>>>() { service.getPickingList(codMdep, dateCons, joinedBarcodes).enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTO>>>() {

View File

@ -146,12 +146,15 @@ public class DialogAskPositionOfLU {
if (UtilityPosizione.isPosizioneWithLivello(foundPosizione)) { if (UtilityPosizione.isPosizioneWithLivello(foundPosizione)) {
askLivello(); askLivello();
BarcodeManager.enable();
} else { } else {
updatePosizione(foundPosizione, () -> { updatePosizione(foundPosizione, () -> {
completedFlow = true; completedFlow = true;
BarcodeManager.enable();
if(onComplete != null) onComplete.run(foundPosizione); if(onComplete != null) onComplete.run(foundPosizione);
}, ex -> { }, ex -> {
completedFlow = true; completedFlow = true;
BarcodeManager.enable();
onFailed.run(ex); onFailed.run(ex);
}); });
} }