Fix su calcolo num cnf

This commit is contained in:
Giuseppe Scorrano 2020-01-07 16:49:21 +01:00
parent baf23c37e4
commit 405737db72

View File

@ -13,6 +13,7 @@ import com.tfb.fbtoast.FBToast;
import org.jetbrains.annotations.NotNull;
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Date;
@ -1077,23 +1078,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
float qtaEvasaTotale = qtaEvasaTotaleInMtbColr;
filteredMtbColrs = Stream.of(currentMtbColrs).filter(
x ->
x.getGestioneRif() != null && x.getGestioneRif().equalsIgnoreCase(item.getGestione()) &&
Objects.equals(x.getNumColloRif(), item.getNumCollo()) &&
x.getSerColloRif() != null && x.getSerColloRif().equalsIgnoreCase(item.getSerCollo()) &&
x.getDataColloRifD() != null && x.getDataColloRifD().equals(item.getDataColloD()) &&
x.getCodMart() != null && x.getCodMart().equalsIgnoreCase(item.getCodMart()) &&
(!SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() || (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() && ((x.getPartitaMag() == null && item.getPartitaMag() == null) || (x.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(item.getPartitaMag())))))
).toList();
float qtaEvasaCurrentULInMtbColr = 0;
for (MtbColr mtbColr : filteredMtbColrs) {
qtaEvasaCurrentULInMtbColr += mtbColr.getQtaCol().floatValue();
}
float qtaEvasaCurrentUL = qtaEvasaCurrentULInMtbColr;
BigDecimal qtaDaEvadere = item.getQtaOrd().subtract(new BigDecimal(qtaEvasaTotale));
if(qtaDaEvadere.floatValue() < 0) qtaDaEvadere = BigDecimal.ZERO;
@ -1192,20 +1176,14 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
if(dto.getNumCnf() == 0) dto.setNumCnf(1);
}
}
// if(dto.getQtaTot() != null && dto.getQtaTot().floatValue() > 0 && dto.getQtaCnf() != null && dto.getQtaCnf().floatValue() > 0) {
// dto.setNumCnf(dto.getQtaTot().divide(dto.getQtaCnf()).intValue());
// }
dto.setCanPartitaMagBeChanged(false);
dto.setCanDataScadBeChanged(false);
} else {
dto.setNumCnf(item.getNumCnfCollo() != null ? item.getNumCnfCollo().intValue() : item.getNumCnfOrd().intValue());
if(dto.getNumCnf() != null && dto.getQtaTot() != null && dto.getNumCnf() > 0 && dto.getQtaTot().compareTo(BigDecimal.ZERO) > 0) {
dto.setQtaCnf(dto.getQtaTot().divide(new BigDecimal(dto.getNumCnf()), 3, RoundingMode.HALF_EVEN));
}
dto.setNumCnf(qtaDaEvadere.divide(item.getQtaCnfCollo(), 3, RoundingMode.HALF_EVEN).setScale(0, RoundingMode.UP).intValue());
dto.setQtaCnf(item.getQtaCnfCollo());
}
boolean canOverflowQuantity = SettingsManager.iDB().isFlagCanAddExtraQuantitySpedizione();