Finish v1_12_1(130)

This commit is contained in:
Giuseppe Scorrano 2020-02-07 12:19:07 +01:00
commit 5b76092f58
14 changed files with 229 additions and 167 deletions

View File

@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
android {
def appVersionCode = 129
def appVersionName = '1.12.0'
def appVersionCode = 130
def appVersionName = '1.12.1'
signingConfigs {
release {

View File

@ -31,7 +31,7 @@ public class CommonConst {
};
public static String[] forErrors = {
"syslogs@integry.it",
// "syslogs@integry.it",
"g.scorrano@integry.it",
"v.castellana@integry.it"
};

View File

@ -23,10 +23,11 @@ import java.util.Random;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
public class ColliDataRecover {
private static class RecoverDTO {
public static class RecoverDTO {
private int id;
private int numCollo;
private String serCollo;
@ -34,6 +35,8 @@ public class ColliDataRecover {
private String gestioneCollo;
private String filtro;
private List<OrdineVenditaInevasoDTO> testateOrdini;
public int getId() {
return id;
}
@ -87,6 +90,25 @@ public class ColliDataRecover {
this.filtro = filtro;
return this;
}
public List<OrdineVenditaInevasoDTO> getTestateOrdini() {
return testateOrdini;
}
public RecoverDTO setTestateOrdini(List<OrdineVenditaInevasoDTO> testateOrdini) {
this.testateOrdini = testateOrdini;
return this;
}
public MtbColt getMtbColt() {
return new MtbColt()
.setNumCollo(getNumCollo())
.setSerCollo(getSerCollo())
.setGestione(getGestioneCollo())
.setDataCollo(getDataCollo())
.setFiltroOrdini(getFiltro());
}
}
private static Context mContext;
@ -115,18 +137,11 @@ public class ColliDataRecover {
} else return null;
}
public static MtbColt getSession(Integer sessionID) {
public static RecoverDTO getSession(Integer sessionID) {
if(sessionID == null) return null;
RecoverDTO dto = getIfExists(sessionID);
return new MtbColt()
.setNumCollo(dto.getNumCollo())
.setSerCollo(dto.getSerCollo())
.setGestione(dto.getGestioneCollo())
.setDataCollo(dto.getDataCollo())
.setFiltroOrdini(dto.getFiltro());
return getIfExists(sessionID);
}
private static RecoverDTO getIfExists(int id) {
@ -138,7 +153,7 @@ public class ColliDataRecover {
return recoverDTOOptional.isPresent() ? recoverDTOOptional.get() : null;
}
public static int startNewSession(MtbColt mtbColtSession) {
public static int startNewSession(MtbColt mtbColtSession, List<OrdineVenditaInevasoDTO> testateOrdini) {
Integer newId = null;
while(newId == null) {
@ -154,7 +169,8 @@ public class ColliDataRecover {
.setNumCollo(mtbColtSession.getNumCollo())
.setSerCollo(mtbColtSession.getSerCollo())
.setGestioneCollo(mtbColtSession.getGestione())
.setFiltro(mtbColtSession.getFiltroOrdini());
.setFiltro(mtbColtSession.getFiltroOrdini())
.setTestateOrdini(testateOrdini);
mtbColtsSessions.add(recoverDTO);
updateLocalFile();

View File

@ -0,0 +1,28 @@
package it.integry.integrywmsnative.core.utility;
import java.math.BigDecimal;
public class UtilityBigDecimal {
public static boolean greaterThan(BigDecimal input, BigDecimal toCompareWith) {
if(input == null) return false;
if(toCompareWith == null) return false;
return input.compareTo(toCompareWith) > 0;
}
public static boolean equalsTo(BigDecimal input, BigDecimal toCompareWith) {
if(input == null) return false;
if(toCompareWith == null) return false;
return input.compareTo(toCompareWith) == 0;
}
public static boolean lowerThan(BigDecimal input, BigDecimal toCompareWith) {
if(input == null) return false;
if(toCompareWith == null) return false;
return input.compareTo(toCompareWith) < 0;
}
}

View File

@ -2,6 +2,7 @@ package it.integry.integrywmsnative.core.utility;
import com.orhanobut.logger.Logger;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.SocketException;
@ -40,7 +41,8 @@ public class UtilityLogger {
public static void errorMe(Exception ex, String additionalText, Runnable onComplete, RunnableArgs<Exception> onFailed) {
if ((!(ex instanceof SocketTimeoutException) && !(ex.getCause() instanceof SocketTimeoutException)) ||
(!(ex instanceof SocketException) && !(ex.getCause() instanceof SocketException)) ) {
(!(ex instanceof SocketException) && !(ex.getCause() instanceof SocketException)) ||
(!(ex instanceof IOException) && !(ex.getCause() instanceof IOException))) {
String message = UtilityResources.readRawTextFile(R.raw.error_mail);

View File

@ -72,4 +72,10 @@ public class UtilityString {
return Html.fromHtml(String.format(UtilityResources.getString(stringId),params));
}
public static boolean equalsIgnoreCase(String val1, String val2) {
return (val1 == null && val2 == null) ||
(val1 != null && val1.equalsIgnoreCase(val2));
}
}

View File

@ -2,12 +2,15 @@ package it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.viewmodel;
import android.app.Dialog;
import android.app.ProgressDialog;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import androidx.appcompat.app.AlertDialog;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.text.SpannableString;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import com.tfb.fbtoast.FBToast;
@ -36,6 +39,7 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.report.ReportManager;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
@ -230,8 +234,6 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
}
public RunnableArgs<BarcodeScanDTO> onScanSuccessfull = data -> {
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mActivity);
@ -326,7 +328,6 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
}
private void loadArticolo(String barcodeProd, Ean128Model ean128Model, Dialog progressDialog) {
if (barcodeProd.length() == 14) {
// barcodeProd = UtilityBarcode.convertITF14toNeutral(barcodeProd);
@ -448,7 +449,8 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
GestSetupRESTConsumer.getValue("PICKING", "SETUP", "DEFAULT_POSIZIONE_COLLI_ACCETTAZIONE", defaultPosAccettazioneDTO -> {
String defaultPosAccettazione = "";
if(defaultPosAccettazioneDTO != null && !UtilityString.isNullOrEmpty(defaultPosAccettazioneDTO.value)) defaultPosAccettazione = defaultPosAccettazioneDTO.value;
if (defaultPosAccettazioneDTO != null && !UtilityString.isNullOrEmpty(defaultPosAccettazioneDTO.value))
defaultPosAccettazione = defaultPosAccettazioneDTO.value;
MtbColt mtbColt = new MtbColt();
mtbColt
@ -699,7 +701,6 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
}
private void postCloseOperations(Runnable onComplete) {
MtbColt mtbColt = (MtbColt) getColloRef().clone();
@ -777,7 +778,6 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
float qtaEvasa = item.qtaRiservate + qtaEvasaInMtbColr;
BigDecimal qtaDaEvadere;
BigDecimal totalQtaDaEvadere = item.getQtaOrd().subtract(new BigDecimal(qtaEvasa)).subtract(item.getQtaEvasa());
@ -908,7 +908,6 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
}
private MtbColt getColloRef() {
return mArticoliInColloBottomSheetViewModel.mtbColt.get();
}
@ -919,33 +918,37 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
private void onRowEdited(MtbColr oldValue, MtbColr newValue) {
if(getColloRef() != null) {
Dialog progress = UtilityProgress.createDefaultProgressDialog(mActivity);
MtbColr mtbColrToEditOfAccettazione = Stream.of(getColloRef().getMtbColr())
.filter(x -> x.getQtaCol().compareTo(oldValue.getQtaCol()) == 0 &&
x.getCodMart().equalsIgnoreCase(oldValue.getCodMart()) &&
x.getPartitaMag().equalsIgnoreCase(oldValue.getPartitaMag()) &&
x.getCodJcom().equalsIgnoreCase(oldValue.getCodJcom()))
.findFirst()
.get();
mtbColrToEditOfAccettazione
.setQtaCol(newValue.getQtaCol());
ColliMagazzinoRESTConsumer.updateRiga(mtbColrToEditOfAccettazione, () -> {
progress.dismiss();
// if (getColloRef() != null) {
//
// Dialog progress = UtilityProgress.createDefaultProgressDialog(mActivity);
//
// Optional<MtbColr> optionalMtbColrToEditOfAccettazione = Stream.of(getColloRef().getMtbColr())
// .filter(x -> UtilityBigDecimal.equalsTo(x.getQtaCol(), oldValue.getQtaCol()) &&
// UtilityString.equalsIgnoreCase(x.getCodMart(), oldValue.getCodMart()) &&
// UtilityString.equalsIgnoreCase(x.getPartitaMag(), oldValue.getPartitaMag()) &&
// UtilityString.equalsIgnoreCase(x.getCodJcom(), oldValue.getCodJcom()))
// .findFirst();
//
// if(optionalMtbColrToEditOfAccettazione.isPresent()) {
// MtbColr mtbColrToEditOfAccettazione = optionalMtbColrToEditOfAccettazione.get();
//
// mtbColrToEditOfAccettazione
// .setQtaCol(newValue.getQtaCol());
//
// ColliMagazzinoRESTConsumer.updateRiga(mtbColrToEditOfAccettazione, () -> {
// progress.dismiss();
// this.refreshOrderBy(false);
// }, ex -> {
// UtilityExceptions.defaultException(mActivity, ex, progress);
// this.refreshOrderBy(false);
// });
//
// }
//
// } else {
//
this.refreshOrderBy(false);
}, ex -> {
UtilityExceptions.defaultException(mActivity, ex, progress);
this.refreshOrderBy(false);
});
} else {
this.refreshOrderBy(false);
}
// }
}

View File

@ -19,6 +19,7 @@ import java.util.List;
import it.integry.integrywmsnative.MainActivity;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
@ -145,10 +146,15 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
private void cyclicRecover(Iterator<Integer> sessionsIterator, Runnable onComplete, RunnableArgs<Exception> onFailed) {
if(sessionsIterator.hasNext()) {
Integer recoveredMtbColtID = sessionsIterator.next();
MtbColt recoveredMtbColt = ColliDataRecover.getSession(recoveredMtbColtID);
ColliDataRecover.RecoverDTO recoveredMtbColtDto = ColliDataRecover.getSession(recoveredMtbColtID);
MtbColt recoveredMtbColt = recoveredMtbColtDto.getMtbColt();
if(recoveredMtbColt != null && (recoveredMtbColt.getGestioneEnum() == GestioneEnum.VENDITA || recoveredMtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && !UtilityString.isNullOrEmpty(recoveredMtbColt.getFiltroOrdini())) {
ColliMagazzinoRESTConsumer.distribuisciCollo(recoveredMtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(),
IOrdiniVendita ordiniVendita = ClassRouter.getInstance(ClassRouter.PATH.ORDINI_VENDITA);
ColliMagazzinoRESTConsumer.updateDataFine(getActivity(), null, recoveredMtbColt, () -> {
ordiniVendita.distribuisciCollo(null, recoveredMtbColt, recoveredMtbColtDto.getTestateOrdini(),
mtbColts -> {
ColliDataRecover.closeSession(recoveredMtbColtID);
@ -164,6 +170,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
cyclicRecover(sessionsIterator, onComplete, onFailed);
});
});
} else {
ColliDataRecover.closeSession(recoveredMtbColtID);
cyclicRecover(sessionsIterator, onComplete, onFailed);

View File

@ -89,7 +89,7 @@ public class ProdVersamentoMaterialViewModel {
DialogScanOrCreateLU.make(mContext, false, false, true, false, mtbColt -> {
if (mtbColt == null) {
((IPoppableActivity) mContext).pop();
} else if ((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColt.getSegno().equals(+1)) {
} else if ((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE || mtbColt.getGestioneEnum() == GestioneEnum.VENDITA) && mtbColt.getSegno().equals(+1)) {
if (mtbColt.getMtbColr() == null || mtbColt.getMtbColr().size() == 0) {
DialogSimpleMessageHelper.makeWarningDialog(mContext,

View File

@ -337,7 +337,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
}
public void recoverUL(MtbColt recoveredMtbColt){
mtbColtSessionID = ColliDataRecover.startNewSession(recoveredMtbColt);
mtbColtSessionID = ColliDataRecover.startNewSession(recoveredMtbColt, mTestateOrdini);
setULToCurrentContext(recoveredMtbColt);
refreshOrderBy(false);
}
@ -825,7 +825,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
mtbColt
.setNumCollo(value.getNumCollo())
.setDataCollo(value.getDataColloS());
mtbColtSessionID = ColliDataRecover.startNewSession(mtbColt);
mtbColtSessionID = ColliDataRecover.startNewSession(mtbColt, mTestateOrdini);
value
.setDisablePrint(disablePrint)

View File

@ -18,7 +18,7 @@ public class OrdiniVendita implements IOrdiniVendita {
@Override
public void distribuisciCollo(Dialog progress, MtbColt mtbColt, List<OrdineVenditaInevasoDTO> testateOrdini, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
UtilityToast.showToast("Avviato metodo in BaseFeature");
// UtilityToast.showToast("Avviato metodo in BaseFeature");
ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(),
onComplete,

View File

@ -18,7 +18,7 @@ public class OrdiniVendita implements IOrdiniVendita {
@Override
public void distribuisciCollo(Dialog progress, MtbColt mtbColt, List<OrdineVenditaInevasoDTO> testateOrdini, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
UtilityToast.showToast("Avviato metodo in Frudis");
// UtilityToast.showToast("Avviato metodo in Frudis");
ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(),
onComplete,

View File

@ -18,7 +18,7 @@ public class OrdiniVendita implements IOrdiniVendita {
@Override
public void distribuisciCollo(Dialog progress, MtbColt mtbColt, List<OrdineVenditaInevasoDTO> testateOrdini, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
UtilityToast.showToast("Avviato metodo in BaseFeature");
// UtilityToast.showToast("Avviato metodo in BaseFeature");
ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(),
onComplete,

View File

@ -17,7 +17,7 @@ public class OrdiniVendita implements IOrdiniVendita {
@Override
public void distribuisciCollo(Dialog progress, MtbColt mtbColt, List<OrdineVenditaInevasoDTO> testateOrdini, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
UtilityToast.showToast("Avviato metodo in BaseFeature");
// UtilityToast.showToast("Avviato metodo in BaseFeature");
ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(),
onComplete,