Fix su calcolo num_cnf in Spedizione
This commit is contained in:
parent
a3dd34bb85
commit
28cb436132
@ -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,7 +1163,16 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
} else {
|
} 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());
|
dto.setMaxQta(tmpPickData.getQtaTot());
|
||||||
|
|
||||||
if(tmpPickData.getNumCnf() != null) {
|
if(tmpPickData.getNumCnf() != null) {
|
||||||
@ -1158,6 +1180,9 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
} else {
|
} else {
|
||||||
dto.setQtaCnf(tmpPickData.getQtaTot());
|
dto.setQtaCnf(tmpPickData.getQtaTot());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user