fix [GRAMM]

- corretta gestione idRiga ed idStep in ripianificazione ordini di lavoro
This commit is contained in:
2025-11-26 11:47:05 +01:00
parent c33c1da199
commit 9f39c5bc2d

View File

@@ -380,7 +380,7 @@ public class ProductionOrdersLifecycleService {
//<editor-fold desc="Cambio linea">
if (flagEditedCodJfas) {
ripianificaLineaOrdLav(connection, ordL, codJfas);
ripianificaLineaOrdLav(connection, ordL,ripianificaOrdineLavRequestDTO.getCodJfasOld(), ripianificaOrdineLavRequestDTO.getCodJfasNew());
}
//</editor-fold>
@@ -518,7 +518,7 @@ public class ProductionOrdersLifecycleService {
entityProcessor.processEntity(ordLav, true, multiDBTransactionManager);
}
private void ripianificaLineaOrdLav(Connection connection, DtbOrdt dtbOrdt, String codJfas) throws Exception {
private void ripianificaLineaOrdLav(Connection connection, DtbOrdt dtbOrdt,String codJfasPrev, String codJfas) throws Exception {
String sql =
Query.format(
"SELECT * FROM dtb_ord_steps WHERE gestione = %s AND data_ord = %s AND num_ord = %s ORDER BY data_fine desc, id_step DESC, id_riga DESC",
@@ -529,7 +529,7 @@ public class ProductionOrdersLifecycleService {
if(UtilityList.isNullOrEmpty(orderStepsList))
throw new Exception("Nessuno step trovato per l'ordine selezionato");
DtbOrdSteps lastStepOnLinea = orderStepsList.stream().filter(x->dtbOrdt.getCodJfas().equalsIgnoreCase(x.getCodJfas())).findFirst().orElse(null);
DtbOrdSteps lastStepOnLinea = orderStepsList.stream().filter(x->x.getFlagStepAttivo().equalsIgnoreCase("S") && codJfasPrev.equalsIgnoreCase(x.getCodJfas())).findFirst().orElse(null);
if(lastStepOnLinea == null)
throw new Exception("Nessuno step trovato sulla linea " + codJfas);
@@ -551,6 +551,7 @@ public class ProductionOrdersLifecycleService {
}
lastStepOnLinea.setOperation(OperationType.INSERT_OR_UPDATE);
dtbOrdt.getDtbOrdSteps().add(lastStepOnLinea);
dtbOrdt.setCodJfas(codJfas)
.getDtbOrdSteps().add(lastStepOnLinea);
}
}