Merge branch 'develop' into feature/RefactoringGestioneColli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-05-09 17:28:25 +02:00
6 changed files with 20 additions and 16 deletions

View File

@@ -175,7 +175,7 @@ public class EntityProcessor {
private void checkEntityChildsUsage(EntityInterface entityInterface, MultiDBTransactionManager multiDBTransactionManager, RequestDataDTO requestDataDTO) throws Exception {
boolean isMaster = entityPropertyHolder.isEntityMaster(((EntityBase) entityInterface).getClass());
;
OperationType operationType = entityInterface.getOperation();
if (!isMaster && (operationType != OperationType.SELECT_OBJECT && operationType != OperationType.SELECT)) {

View File

@@ -1486,8 +1486,8 @@ public class GeneraOrdLav {
List<DtbOrdSteps> dtbOrdSteps = UtilityDB.executeSimpleQueryDTO(conn, sql, DtbOrdSteps.class);
dtbOrdSteps.stream().forEach(x -> {
x.setDataIniz(UtilityDate.dateAdd(x.getDataIniz(), ggDiff));
x.setDataFine(UtilityDate.dateAdd(x.getDataFine(), ggDiff));
x.setDataIniz(x.getDataIniz()!=null?UtilityDate.dateAdd(x.getDataIniz(), ggDiff):null);
x.setDataFine(x.getDataFine() != null ?UtilityDate.dateAdd(x.getDataFine(), ggDiff):null);
x.setOperation(OperationType.UPDATE);
});
@@ -1571,7 +1571,7 @@ public class GeneraOrdLav {
if (dtbOrds != null && !dtbOrds.isEmpty()) {
dtbOrds.forEach(x -> {
x.setQta(x.getQta().multiply(moltiplicatore).setScale(2, RoundingMode.HALF_UP)).setValUnt(valUntProd).setImporto((x.getQta().multiply(moltiplicatore).setScale(2, RoundingMode.HALF_UP)).multiply(valUntProd));
x.setQta(x.getQta().multiply(moltiplicatore).setScale(5, RoundingMode.HALF_UP)).setValUnt(valUntProd).setImporto((x.getQta().multiply(moltiplicatore).setScale(2, RoundingMode.HALF_UP)).multiply(valUntProd));
x.setOperation(OperationType.UPDATE);
});

View File

@@ -125,8 +125,8 @@ public class UtilityBigDecimal {
return calculatePercentage(base,percentValue,5);
}
public static BigDecimal calculatePercentage(BigDecimal base, double percentValue, int scale) {
BigDecimal percent = new BigDecimal(percentValue).divide(new BigDecimal("100"), scale, RoundingMode.HALF_UP);
return base.multiply(percent);
BigDecimal percent = new BigDecimal(percentValue).divide(new BigDecimal("100"), 5, RoundingMode.HALF_EVEN);
return base.multiply(percent).setScale(scale,RoundingMode.HALF_UP);
}
}

View File

@@ -37,14 +37,14 @@ end
//ANNULLAMENTO RICALCOLO TOTALI ORDINI PRODUZIONE
rule "annullamentoCalcTotaliOrdP"
no-loop
when
eval(postRulesEnabled)
$ordT : DtbOrdt(executeRecalc == true && gestione == "A" && gestioneRif != null)
then
modify ( $ordT ) { setExecuteRecalc(false) }
end
//rule "annullamentoCalcTotaliOrdP"
//no-loop
//when
// eval(postRulesEnabled)
// $ordT : DtbOrdt(executeRecalc == true && gestione == "A" && gestioneRif != null)
//then
// modify ( $ordT ) { setExecuteRecalc(false) }
//end
rule "completeCalcTotaliOrd"
no-loop

View File

@@ -3416,7 +3416,7 @@ public class DocumentProdService {
}
}
if (docT == null) {
docT = generaTestataDocDaOrdineLav(ordine, datiScarico.getCodDtip(), chiusuraLavorazioneDTO.getDataDoc(), datiScarico.getSerDoc(), datiScarico.getCodAnag(), null, datiScarico.getCodMdep(), produzioneOrdine.getPartitaMag());
docT = generaTestataDocDaOrdineLav(ordine, datiScarico.getCodDtip(), UtilityLocalDate.localDateToDate(produzioneOrdine.getDataProd()), datiScarico.getSerDoc(), datiScarico.getCodAnag(), null, datiScarico.getCodMdep(), produzioneOrdine.getPartitaMag());
docT.setOperation(OperationType.INSERT);
if (datiScarico.getDataVersamento() != null) {
docT.setDataIns(datiScarico.getDataVersamento());

View File

@@ -881,7 +881,11 @@ public class WMSLavorazioneService {
//</editor-fold>
//<editor-fold desc="per ogni articolo ripartisco gli scarichi">
for (ScarichiArticoloDTO scarichiMp : scarichiArticoli.values()) {
BigDecimal qtaDaScaricare = UtilityBigDecimal.calculatePercentage(scarichiMp.getQtaScaricata(), produzione.getPesoProduzione().doubleValue());
String codMart = scarichiMp.getCodMart();
BigDecimal cifreDec = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn( multiDBTransactionManager.getPrimaryConnection(),
Query.format("select mtb_unt_mis.cifre_dec from mtb_unt_mis inner join mtb_aart on mtb_unt_mis.unt_mis = mtb_aart.unt_mis and cod_mart = {}", codMart)
);
BigDecimal qtaDaScaricare = UtilityBigDecimal.calculatePercentage(scarichiMp.getQtaScaricata(), produzione.getPesoProduzione().doubleValue(),cifreDec.intValue());
if (UtilityBigDecimal.equalsTo(qtaDaScaricare, BigDecimal.ZERO)) {
continue;
}