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 { android {
def appVersionCode = 126 def appVersionCode = 127
def appVersionName = '1.11.7' def appVersionName = '1.11.8'
signingConfigs { signingConfigs {
release { release {

View File

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

View File

@ -125,9 +125,9 @@ public class ProdVersamentoMaterialViewModel {
return; return;
} else if (mtbColt.get().getMtbColr().size() > 1) { } else if (mtbColt.get().getMtbColr().size() > 1) {
DialogSimpleMessageHelper.makeWarningDialog(mContext, DialogSimpleMessageHelper.makeWarningDialog(mContext,
new SpannableString(Html.fromHtml("Il collo selezionato contiene più articoli, per versarli in produzione vanno separati in colli differenti.")), 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, this::openLU).show(); null, null).show();
return;
} }
MesRESTConsumer.getOrdiniLavorazioneMateriale(mtbDepoPosizione.getPosizione(), getIdMaterialeFromCollo(mtbColt.get()), ordini -> richiediOrdiniPerVersamento(ordini, mtbDepoPosizione), e -> DialogSimpleMessageHelper.makeWarningDialog(mContext, MesRESTConsumer.getOrdiniLavorazioneMateriale(mtbDepoPosizione.getPosizione(), getIdMaterialeFromCollo(mtbColt.get()), ordini -> richiediOrdiniPerVersamento(ordini, mtbDepoPosizione), e -> DialogSimpleMessageHelper.makeWarningDialog(mContext,
new SpannableString(Html.fromHtml(e.getMessage())), 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())))))) (!SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() || (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() && ((x.getPartitaMag() == null && item.getPartitaMag() == null) || (x.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(item.getPartitaMag()))))))
.toList(); .toList();
float qtaEvasaTotaleInMtbColr = 0; BigDecimal qtaEvasaTotaleInMtbColr = BigDecimal.ZERO;
int numCnfTotaleInMtbColr = 0;
for (MtbColr mtbColr : filteredMtbColrs) { 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; 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()) Stream.of(item.getWithdrawRows())
.filter(x -> ((x.getNumColloRif() == null) || Objects.equals(x.getNumColloRif(), item.getNumCollo()) && .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.getSerColloRif() == null) || Objects.equals(x.getSerColloRif(), item.getSerCollo()))) &&
((x.getGestioneRif() == null) || Objects.equals(x.getGestioneRif(), item.getGestione()))) ((x.getGestioneRif() == null) || Objects.equals(x.getGestioneRif(), item.getGestione())))
.forEach(x -> { .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 qtaDisponibile = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaDisponibileCollo()).subtract(qtaColEvasaInCurrentUL.get());
BigDecimal qtaTot = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaCollo()).subtract(qtaTest.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(qtaDisponibile.floatValue() < 0) qtaDisponibile = BigDecimal.ZERO;
if(qtaTot.floatValue() < 0) qtaTot = 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() DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO()
.setBatchLot(item.getPartitaMag()) .setBatchLot(item.getPartitaMag())
.setCodArtFor(item.getCodArtFor()) .setCodArtFor(item.getCodArtFor())
@ -1108,7 +1121,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
.setQtaDaEvadere(qtaDaEvadere) .setQtaDaEvadere(qtaDaEvadere)
.setQtaDisponibile(qtaDisponibile) .setQtaDisponibile(qtaDisponibile)
.setQtaTot(qtaTot) .setQtaTot(qtaTot)
.setQtaEvasa(new BigDecimal(qtaEvasaTotale)) .setQtaEvasa(qtaEvasaTotaleInMtbColr)
.setCanPartitaMagBeChanged(item.isDeactivated()) .setCanPartitaMagBeChanged(item.isDeactivated())
.setMaxQta(qtaDisponibile); .setMaxQta(qtaDisponibile);
@ -1150,16 +1163,28 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
// } // }
} else { } else {
dto.setQtaTot(qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && !tmpPickData.isEanPeso() ? qtaDaEvadere : tmpPickData.getQtaTot()); if(SettingsManager.iDB().isFlagForceAllToColli()) {
dto.setMaxQta(tmpPickData.getQtaTot());
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)));
if(tmpPickData.getNumCnf() != null) {
dto.setQtaCnf(tmpPickData.getQtaTot().divide(tmpPickData.getNumCnf(), 3, RoundingMode.HALF_UP));
} else { } else {
dto.setQtaCnf(tmpPickData.getQtaTot()); dto.setQtaTot(qtaDaEvadere.compareTo(tmpPickData.getQtaTot()) < 0 && !tmpPickData.isEanPeso() ? qtaDaEvadere : tmpPickData.getQtaTot());
dto.setMaxQta(tmpPickData.getQtaTot());
if(tmpPickData.getNumCnf() != null) {
dto.setQtaCnf(tmpPickData.getQtaTot().divide(tmpPickData.getNumCnf(), 3, RoundingMode.HALF_UP));
} else {
dto.setQtaCnf(tmpPickData.getQtaTot());
}
} }
} }
if (tmpPickData.getQtaCnf() != null && useQtaDaEvadere) { if (tmpPickData.getQtaCnf() != null && useQtaDaEvadere) {

View File

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