Risolto calcolo delle cnf per articoli a peso in Picking Libero e in Rettifica Giacenze
This commit is contained in:
parent
b89b05ae2b
commit
a234a425e6
@ -54,6 +54,13 @@ public class UtilityBigDecimal {
|
|||||||
return new BigDecimal(input1.divide(divisor,3, BigDecimal.ROUND_HALF_EVEN).intValue());
|
return new BigDecimal(input1.divide(divisor,3, BigDecimal.ROUND_HALF_EVEN).intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static BigDecimal divideAndRoundToInteger(BigDecimal input1, BigDecimal divisor) {
|
||||||
|
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
||||||
|
|
||||||
|
return new BigDecimal(input1.divide(divisor,0, BigDecimal.ROUND_HALF_EVEN).intValue());
|
||||||
|
}
|
||||||
|
|
||||||
public static BigDecimal multiply(BigDecimal input1, BigDecimal multiplier) {
|
public static BigDecimal multiply(BigDecimal input1, BigDecimal multiplier) {
|
||||||
return input1.multiply(multiplier);
|
return input1.multiply(multiplier);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -319,7 +319,7 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
onAbort.run();
|
onAbort.run();
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
})
|
})
|
||||||
.show();
|
.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -34,6 +34,7 @@ import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickDataDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickDataDTO;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
||||||
@ -244,14 +245,31 @@ public class PickingLiberoViewModel {
|
|||||||
|
|
||||||
if (mtbAart.isFlagQtaCnfFissaBoolean()) {
|
if (mtbAart.isFlagQtaCnfFissaBoolean()) {
|
||||||
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
||||||
|
|
||||||
|
if(manualPickDTO.isEanPeso()) {
|
||||||
|
if(mtbAart.getUntMisRifPeso() == MtbAart.UntMisRifPesoEnum.M) {
|
||||||
|
if (UtilityBigDecimal.equalsTo(mtbAart.getPesoKg(), BigDecimal.ZERO)) {
|
||||||
|
this.sendError(new InvalidPesoKGException());
|
||||||
|
} else {
|
||||||
|
qtaColDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, mtbAart.getPesoKg());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} else if (qtaColDaPrelevare != null && numCnfDaPrelevare != null) {
|
} else if (qtaColDaPrelevare != null && numCnfDaPrelevare != null) {
|
||||||
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
|
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
|
||||||
numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
|
if(!mtbAart.isFlagQtaCnfFissaBoolean()) {
|
||||||
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
numCnfDaPrelevare = UtilityBigDecimal.divideAndRoundToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
|
||||||
|
if(UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO)) numCnfDaPrelevare = BigDecimal.ONE;
|
||||||
|
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
||||||
|
} else {
|
||||||
|
numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
|
||||||
|
}
|
||||||
|
|
||||||
} else if (numCnfDaPrelevare != null && qtaColDaPrelevare == null) {
|
} else if (numCnfDaPrelevare != null && qtaColDaPrelevare == null) {
|
||||||
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
||||||
qtaColDaPrelevare = UtilityBigDecimal.multiply(numCnfDaPrelevare, qtaCnfDaPrelevare);
|
qtaColDaPrelevare = UtilityBigDecimal.multiply(numCnfDaPrelevare, qtaCnfDaPrelevare);
|
||||||
@ -284,9 +302,9 @@ public class PickingLiberoViewModel {
|
|||||||
initialNumCnf,
|
initialNumCnf,
|
||||||
initialQtaCnf,
|
initialQtaCnf,
|
||||||
initialQtaTot,
|
initialQtaTot,
|
||||||
qtaColDaPrelevare,
|
null,
|
||||||
numCnfDaPrelevare,
|
null,
|
||||||
qtaCnfDaPrelevare,
|
null,
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
|
|||||||
@ -39,6 +39,7 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.core.RettificaGiacenzeRESTConsumer;
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.core.RettificaGiacenzeRESTConsumer;
|
||||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO;
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickDataDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickDataDTO;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
||||||
@ -233,14 +234,29 @@ public class RettificaGiacenzeViewModel {
|
|||||||
|
|
||||||
if (mtbAart.isFlagQtaCnfFissaBoolean()) {
|
if (mtbAart.isFlagQtaCnfFissaBoolean()) {
|
||||||
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
||||||
|
|
||||||
|
if(manualPickDTO.isEanPeso()) {
|
||||||
|
if(mtbAart.getUntMisRifPeso() == MtbAart.UntMisRifPesoEnum.M) {
|
||||||
|
if (UtilityBigDecimal.equalsTo(mtbAart.getPesoKg(), BigDecimal.ZERO)) {
|
||||||
|
this.sendError(new InvalidPesoKGException());
|
||||||
|
} else {
|
||||||
|
qtaColDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, mtbAart.getPesoKg());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} else if (qtaColDaPrelevare != null && numCnfDaPrelevare != null) {
|
} else if (qtaColDaPrelevare != null && numCnfDaPrelevare != null) {
|
||||||
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
|
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
|
||||||
numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
|
if(!mtbAart.isFlagQtaCnfFissaBoolean()) {
|
||||||
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
numCnfDaPrelevare = UtilityBigDecimal.divideAndRoundToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
|
||||||
|
if(UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO)) numCnfDaPrelevare = BigDecimal.ONE;
|
||||||
|
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
||||||
|
} else {
|
||||||
|
numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
|
||||||
|
}
|
||||||
} else if (numCnfDaPrelevare != null && qtaColDaPrelevare == null) {
|
} else if (numCnfDaPrelevare != null && qtaColDaPrelevare == null) {
|
||||||
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
||||||
qtaColDaPrelevare = UtilityBigDecimal.multiply(numCnfDaPrelevare, qtaCnfDaPrelevare);
|
qtaColDaPrelevare = UtilityBigDecimal.multiply(numCnfDaPrelevare, qtaCnfDaPrelevare);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user