Finish v1_11_8(127)

This commit is contained in:
Giuseppe Scorrano 2020-01-21 10:22:51 +01:00
commit a024c24843
5 changed files with 49 additions and 24 deletions

View File

@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
android {
def appVersionCode = 126
def appVersionName = '1.11.7'
def appVersionCode = 127
def appVersionName = '1.11.8'
signingConfigs {
release {

View File

@ -246,10 +246,10 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
}
if (sourceMtbColt.getMtbColr().size() != 1) {
onFailed.run(new Exception());
return;
}
// if (sourceMtbColt.getMtbColr().size() != 1) {
// onFailed.run(new Exception());
// return;
// }
MtbColr original = sourceMtbColt.getMtbColr().get(0);
MtbColr mtbColrClone = new MtbColr();
mtbColrClone

View File

@ -125,9 +125,9 @@ public class ProdVersamentoMaterialViewModel {
return;
} else if (mtbColt.get().getMtbColr().size() > 1) {
DialogSimpleMessageHelper.makeWarningDialog(mContext,
new SpannableString(Html.fromHtml("Il collo selezionato contiene più articoli, per versarli in produzione vanno separati in colli differenti.")),
null, this::openLU).show();
return;
new SpannableString(Html.fromHtml("Il collo selezionato contiene più articoli, solo il primo verrà versato in questa sessione. <br> Per versare i colli restanti ripetere l'operazione di versamento.")),
null, null).show();
}
MesRESTConsumer.getOrdiniLavorazioneMateriale(mtbDepoPosizione.getPosizione(), getIdMaterialeFromCollo(mtbColt.get()), ordini -> richiediOrdiniPerVersamento(ordini, mtbDepoPosizione), e -> DialogSimpleMessageHelper.makeWarningDialog(mContext,
new SpannableString(Html.fromHtml(e.getMessage())),

View File

@ -1071,19 +1071,25 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
(!SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() || (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() && ((x.getPartitaMag() == null && item.getPartitaMag() == null) || (x.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(item.getPartitaMag()))))))
.toList();
float qtaEvasaTotaleInMtbColr = 0;
BigDecimal qtaEvasaTotaleInMtbColr = BigDecimal.ZERO;
int numCnfTotaleInMtbColr = 0;
for (MtbColr mtbColr : filteredMtbColrs) {
qtaEvasaTotaleInMtbColr += mtbColr.getQtaCol().floatValue();
qtaEvasaTotaleInMtbColr = qtaEvasaTotaleInMtbColr.add(mtbColr.getQtaCol());
numCnfTotaleInMtbColr += mtbColr.getNumCnf().intValue();
}
float qtaEvasaTotale = qtaEvasaTotaleInMtbColr;
BigDecimal qtaDaEvadere = item.getQtaOrd().subtract(new BigDecimal(qtaEvasaTotale));
BigDecimal qtaDaEvadere = item.getQtaOrd().subtract(qtaEvasaTotaleInMtbColr);
if(qtaDaEvadere.floatValue() < 0) qtaDaEvadere = BigDecimal.ZERO;
int numCnfDaEvadere = item.getNumCnfOrd().intValue() - numCnfTotaleInMtbColr;
if(numCnfDaEvadere < 0) numCnfDaEvadere = 0;
AtomicBigDecimal qtaTest = new AtomicBigDecimal();
AtomicBigDecimal qtaColEvasaInCurrentUL = new AtomicBigDecimal();
AtomicBigDecimal numCnfEvasaInCurrentUL = new AtomicBigDecimal();
Stream.of(item.getWithdrawRows())
.filter(x -> ((x.getNumColloRif() == null) || Objects.equals(x.getNumColloRif(), item.getNumCollo()) &&
@ -1091,15 +1097,22 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
((x.getSerColloRif() == null) || Objects.equals(x.getSerColloRif(), item.getSerCollo()))) &&
((x.getGestioneRif() == null) || Objects.equals(x.getGestioneRif(), item.getGestione())))
.forEach(x -> {
qtaTest.addAndGet(x.getQtaCol());
qtaColEvasaInCurrentUL.addAndGet(x.getQtaCol());
numCnfEvasaInCurrentUL.addAndGet(x.getNumCnf());
});
BigDecimal qtaDisponibile = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaDisponibileCollo()).subtract(qtaTest.get());
BigDecimal qtaTot = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaCollo()).subtract(qtaTest.get());
BigDecimal qtaDisponibile = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaDisponibileCollo()).subtract(qtaColEvasaInCurrentUL.get());
BigDecimal qtaTot = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaCollo()).subtract(qtaColEvasaInCurrentUL.get());
BigDecimal numCnfDisponibile = (item.isDeactivated() ? item.getNumCnfOrd() : item.getNumCnfDisponibileCollo()).subtract(numCnfEvasaInCurrentUL.get());
BigDecimal numCnfTot = (item.isDeactivated() ? item.getNumCnfOrd() : item.getNumCnfCollo()).subtract(numCnfEvasaInCurrentUL.get());
if(qtaDisponibile.floatValue() < 0) qtaDisponibile = BigDecimal.ZERO;
if(qtaTot.floatValue() < 0) qtaTot = BigDecimal.ZERO;
if(numCnfDisponibile.floatValue() < 0) numCnfDisponibile = BigDecimal.ZERO;
if(numCnfTot.floatValue() < 0) numCnfTot = BigDecimal.ZERO;
DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO()
.setBatchLot(item.getPartitaMag())
.setCodArtFor(item.getCodArtFor())
@ -1108,7 +1121,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
.setQtaDaEvadere(qtaDaEvadere)
.setQtaDisponibile(qtaDisponibile)
.setQtaTot(qtaTot)
.setQtaEvasa(new BigDecimal(qtaEvasaTotale))
.setQtaEvasa(qtaEvasaTotaleInMtbColr)
.setCanPartitaMagBeChanged(item.isDeactivated())
.setMaxQta(qtaDisponibile);
@ -1150,7 +1163,16 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
// }
} else {
dto.setQtaTot(qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && !tmpPickData.isEanPeso() ? qtaDaEvadere : tmpPickData.getQtaTot());
if(SettingsManager.iDB().isFlagForceAllToColli()) {
int numCnfColDaEvadere = numCnfDaEvadere < tmpPickData.getNumCnf().intValue() ? numCnfDaEvadere : tmpPickData.getNumCnf().intValue();
dto.setNumCnf(numCnfColDaEvadere);
dto.setQtaCnf(tmpPickData.getQtaCnf());
dto.setQtaTot(tmpPickData.getQtaCnf().multiply(new BigDecimal(numCnfColDaEvadere)));
dto.setQtaDaEvadere(tmpPickData.getQtaCnf().multiply(new BigDecimal(numCnfColDaEvadere)));
} else {
dto.setQtaTot(qtaDaEvadere.compareTo(tmpPickData.getQtaTot()) < 0 && !tmpPickData.isEanPeso() ? qtaDaEvadere : tmpPickData.getQtaTot());
dto.setMaxQta(tmpPickData.getQtaTot());
if(tmpPickData.getNumCnf() != null) {
@ -1158,6 +1180,9 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} else {
dto.setQtaCnf(tmpPickData.getQtaTot());
}
}
}

View File

@ -661,7 +661,7 @@ public class DialogInputQuantity {
private void refreshQtaDescriptionText() {
int numConf = (int) (currentQuantityDto.qtaDaEvadere.get() / currentQuantityDto.qtaCnf.get());
float qtaTot = currentQuantityDto.qtaDaEvadere.get().floatValue();
float qtaTot = currentQuantityDto.qtaDaEvadere.get();
float mod = qtaTot % numConf;