From c32c674ad52272d819df7f3c92daef0da2c76430 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Wed, 30 Oct 2024 09:31:12 +0100 Subject: [PATCH] Fix GeneraOrdLav --- .../business_logic/GeneraOrdLav.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/ems-core/src/main/java/it/integry/ems_model/business_logic/GeneraOrdLav.java b/ems-core/src/main/java/it/integry/ems_model/business_logic/GeneraOrdLav.java index 24c572a288..4d3e25ea42 100644 --- a/ems-core/src/main/java/it/integry/ems_model/business_logic/GeneraOrdLav.java +++ b/ems-core/src/main/java/it/integry/ems_model/business_logic/GeneraOrdLav.java @@ -374,7 +374,7 @@ public class GeneraOrdLav { insertServizio(conn, codJfas, qtaProd, valUnt, ordT); } else { - riproporzionaQtaOrd(conn, gestione, dataOrd, numOrd, rigaOrd, qtaProd, rapConv, ordT); + riproporzionaQtaOrd(conn, gestione, dataOrd, numOrd, rigaOrd, qtaProd, rapConv, ordT, valUnt); aggornaDataInizProd(conn, gestione, dataOrd, numOrd, rigaOrd, ordT, row, assegnaAttivita); } } @@ -1485,7 +1485,7 @@ public class GeneraOrdLav { } } - private static void riproporzionaQtaOrd(Connection conn, String gestione, Date dataOrd, Integer numOrd, Integer rigaOrd, BigDecimal qtaProd, BigDecimal rapConv, DtbOrdt ordT) throws SQLException, IllegalAccessException, DataConverterNotFoundException, InstantiationException { + private static void riproporzionaQtaOrd(Connection conn, String gestione, Date dataOrd, Integer numOrd, Integer rigaOrd, BigDecimal qtaProd, BigDecimal rapConv, DtbOrdt ordT, BigDecimal valUntProd) throws SQLException, IllegalAccessException, DataConverterNotFoundException, InstantiationException { String sql; sql = Query.format( @@ -1510,7 +1510,7 @@ public class GeneraOrdLav { List dtbOrdrL = UtilityDB.executeSimpleQueryDTO(conn, sql, DtbOrdr.class); if (dtbOrdrL != null && !dtbOrdrL.isEmpty()) { - dtbOrdrL.stream().forEach(x -> { + dtbOrdrL.forEach(x -> { x.setQtaOrd(x.getQtaOrd().multiply(moltiplicatore).setScale(5, RoundingMode.HALF_UP)); /*Necessario per farsi che vengano ricalcolate tutte le quantità in funzione della nuova quantità ordinata */ @@ -1528,13 +1528,26 @@ public class GeneraOrdLav { sql = UtilityDB.addwhereCond(sql, ordT.getPkWhereCond(), true); List dtbOrdSteps = UtilityDB.executeSimpleQueryDTO(conn, sql, DtbOrdSteps.class); - dtbOrdSteps.stream().forEach(x -> { + dtbOrdSteps.forEach(x -> { x.setQtaProd(x.getQtaProd().multiply(moltiplicatore).setScale(2, RoundingMode.HALF_UP)); x.setOperation(OperationType.UPDATE); }); ordT.setDtbOrdSteps(dtbOrdSteps); } + + sql = "SELECT * FROM dtb_ords"; + sql = UtilityDB.addwhereCond(sql, ordT.getPkWhereCond(), true); + List dtbOrds = UtilityDB.executeSimpleQueryDTO(conn, sql, DtbOrds.class); + + 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.setOperation(OperationType.UPDATE); + }); + + ordT.setDtbOrds(dtbOrds); + } } private static List setSpese(Connection conn, BigDecimal qtaProd, BigDecimal qtaProdDist, String codProd, String codSpesaTerzista) throws Exception {