Gestita cancellazione TRASFERIMENTO_A_CESPITE in Farmmes Scrofaie

This commit is contained in:
2024-04-19 18:20:26 +02:00
parent fc6a944f61
commit 8583f29082

View File

@@ -30,6 +30,7 @@ import java.math.RoundingMode;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.*;
import static it.integry.ems_model.types.SetupGestKeySection.*;
@@ -2978,8 +2979,9 @@ public class FarmMesScrofaieImportService {
setNuovoCiclo("NUOVO_CICLO");
setAvanzamento("AVANZAMENTO");
setVendita("VENDITA");
setConsumi("CONSUMI");
setTrasferimentoACepsite("TRASFERIMENTO");
setProduzione("PRODUZIONE");
setConsumi("INVENTARIO");
setTrasferimentoACepsite("TRASFERIMENTO_A_CESPITE");
}
public List<ServiceRestResponse> saveTransactionScrofaie(TransactionSaveScrofaie transaction) throws Exception {
@@ -3210,10 +3212,16 @@ public class FarmMesScrofaieImportService {
" id_step = " + UtilityDB.valueToString(idStep) + " AND " +
" id_riga = " + UtilityDB.valueToString(idRiga);
DtbOrdt dtbOrdt = new DtbOrdt();
dtbOrdt.setOperation(OperationType.UPDATE);
dtbOrdt.setGestione(gestione);
dtbOrdt.setDataOrd(dataOrd);
dtbOrdt.setNumOrd(numOrd);
ordSteps = new DtbOrdSteps();
dtbOrdt.getDtbOrdSteps().add(ordSteps);
ordSteps.setOperation(OperationType.INSERT_OR_UPDATE);
ordSteps.setNativeSql(sql);
arrayEntity.add(ordSteps);
arrayEntity.add(dtbOrdt);
// SE ID_STEP = 1 ALLORA SI DEVE SOLO CANCELLARE LA RIGA DELLO STEPS, SE DIVERSO ALLORA OLTRE A CANCELLARE
// LA RIGA DELLO STEP DEVE IMPOSTARE A NULL LA DATA FINE DELLA RIGA PRECEDENTE
@@ -3227,10 +3235,16 @@ public class FarmMesScrofaieImportService {
" id_step = " + UtilityDB.valueToString(idStep - 1) + " AND " +
" id_riga = " + UtilityDB.valueToString(idRiga);
dtbOrdt = new DtbOrdt();
dtbOrdt.setOperation(OperationType.UPDATE);
dtbOrdt.setGestione(gestione);
dtbOrdt.setDataOrd(dataOrd);
dtbOrdt.setNumOrd(numOrd);
ordSteps = new DtbOrdSteps();
dtbOrdt.getDtbOrdSteps().add(ordSteps);
ordSteps.setOperation(OperationType.INSERT_OR_UPDATE);
ordSteps.setNativeSql(sql);
arrayEntity.add(ordSteps);
arrayEntity.add(dtbOrdt);
}
}
res.close();
@@ -3324,10 +3338,16 @@ public class FarmMesScrofaieImportService {
" id_step = " + UtilityDB.valueToString(idStep) + " AND " +
" id_riga = " + UtilityDB.valueToString(idRiga);
DtbOrdt dtbOrdt = new DtbOrdt();
dtbOrdt.setOperation(OperationType.UPDATE);
dtbOrdt.setGestione(gestione);
dtbOrdt.setDataOrd(dataOrd);
dtbOrdt.setNumOrd(numOrd);
ordSteps = new DtbOrdSteps();
dtbOrdt.getDtbOrdSteps().add(ordSteps);
ordSteps.setOperation(OperationType.INSERT_OR_UPDATE);
ordSteps.setNativeSql(sql);
arrayEntity.add(ordSteps);
arrayEntity.add(dtbOrdt);
// APERTURA STEP PRECEDENTE (ESISTE SICURAMENTE PERCHE' UNA RILEVAZIONE MORTI SI PUO' FARE SOLO SE CI SONO IMMISSIONI
sql =
@@ -3339,10 +3359,16 @@ public class FarmMesScrofaieImportService {
" id_step = " + UtilityDB.valueToString(idStep - 1) + " AND " +
" id_riga = " + UtilityDB.valueToString(idRiga);
dtbOrdt = new DtbOrdt();
dtbOrdt.setOperation(OperationType.UPDATE);
dtbOrdt.setGestione(gestione);
dtbOrdt.setDataOrd(dataOrd);
dtbOrdt.setNumOrd(numOrd);
ordSteps = new DtbOrdSteps();
dtbOrdt.getDtbOrdSteps().add(ordSteps);
ordSteps.setOperation(OperationType.INSERT_OR_UPDATE);
ordSteps.setNativeSql(sql);
arrayEntity.add(ordSteps);
arrayEntity.add(dtbOrdt);
}
res.close();
info.close();
@@ -3389,7 +3415,7 @@ public class FarmMesScrofaieImportService {
activitys.setActivityId(activityID);
arrayEntity.add(activitys);
} else if (activityTypeID.compareTo(vendita) == 0 || activityTypeID.compareTo(consumi) == 0) {
} else if (activityTypeID.compareTo(vendita) == 0 || activityTypeID.compareTo(consumi) == 0 || activityTypeID.compareTo(trasferimentoACepsite) == 0) {
// -------------------------------------
// CANCELLEAZIONE ED AGGIORNAMENTO STEP
// -------------------------------------
@@ -3429,10 +3455,16 @@ public class FarmMesScrofaieImportService {
" id_riga = " + UtilityDB.valueToString(idRiga);
DtbOrdt dtbOrdt = new DtbOrdt();
dtbOrdt.setOperation(OperationType.UPDATE);
dtbOrdt.setGestione(gestione);
dtbOrdt.setDataOrd(dataOrd);
dtbOrdt.setNumOrd(numOrd);
ordSteps = new DtbOrdSteps();
dtbOrdt.getDtbOrdSteps().add(ordSteps);
ordSteps.setOperation(OperationType.INSERT_OR_UPDATE);
ordSteps.setNativeSql(sql);
arrayEntity.add(ordSteps);
arrayEntity.add(dtbOrdt);
}
res.close();
info.close();
@@ -3450,10 +3482,16 @@ public class FarmMesScrofaieImportService {
" id_step = " + UtilityDB.valueToString(idStepOpen - 1) + " AND " +
" id_riga = " + UtilityDB.valueToString(idRiga);
DtbOrdt dtbOrdt = new DtbOrdt();
dtbOrdt.setOperation(OperationType.UPDATE);
dtbOrdt.setGestione(gestione);
dtbOrdt.setDataOrd(dataOrd);
dtbOrdt.setNumOrd(numOrd);
ordSteps = new DtbOrdSteps();
dtbOrdt.getDtbOrdSteps().add(ordSteps);
ordSteps.setOperation(OperationType.INSERT_OR_UPDATE);
ordSteps.setNativeSql(sql);
arrayEntity.add(ordSteps);
arrayEntity.add(dtbOrdt);
} else {
// ACQUISIZIONE ID_STEP MAX DALLA FASE PRECEDENTE PER EFFETTUARE L'APERTURA
if (activityTypeID.compareTo(consumi) == 0) {
@@ -3484,13 +3522,36 @@ public class FarmMesScrofaieImportService {
" id_riga = " + UtilityDB.valueToString(idRiga - 1);
DtbOrdt dtbOrdt = new DtbOrdt();
dtbOrdt.setOperation(OperationType.UPDATE);
dtbOrdt.setGestione(gestione);
dtbOrdt.setDataOrd(dataOrd);
dtbOrdt.setNumOrd(numOrd);
ordSteps = new DtbOrdSteps();
dtbOrdt.getDtbOrdSteps().add(ordSteps);
ordSteps.setOperation(OperationType.INSERT_OR_UPDATE);
ordSteps.setNativeSql(sql);
arrayEntity.add(ordSteps);
arrayEntity.add(dtbOrdt);
}
}
if (activityTypeID.compareTo(trasferimentoACepsite) == 0){
sql = "delete from ctb_amac " +
" from ctb_amac inner join " +
" (select rtrim(ltrim(substring(note, charindex(':', note) + 1, charindex(' ', note, len('MATRICOLA:') + 2) - charindex(':', note))))as cod_cmac " +
" from dtb_docr inner join dtb_doct on dtb_doct.cod_dtip = dtb_docr.cod_dtip and " +
" dtb_doct.cod_anag = dtb_docr.cod_anag and " +
" dtb_doct.data_doc = dtb_docr.data_doc and " +
" dtb_doct.ser_doc = dtb_docr.ser_doc and " +
" dtb_doct.num_Doc = dtb_docr.num_Doc " +
" where dtb_doct.activity_id = " + UtilityDB.valueToString(activityID) + " and " +
" dtb_doct.cod_dtip = 'SLAVC' and note like '%MATRICOLA%' )matricole on ctb_amac.cod_cmac = matricole.cod_cmac ";
Statement cmd = connect.createStatement();
cmd.executeUpdate(sql);
cmd.close();
}
// -------------------------------------------------
// CANCELLEAZIONE DOCUMENTI ASSOCIATI ALL'ATTIVITA'
// -------------------------------------------------
@@ -3530,15 +3591,21 @@ public class FarmMesScrofaieImportService {
// -----------------------
// CANCELLAZIONE ATTIVITA
// -----------------------
if (activityTypeID.compareTo(consumi) == 0) {
if (activityTypeID.compareTo(consumi) == 0 ||activityTypeID.compareTo(trasferimentoACepsite) == 0) {
activitys = new StbActivity();
activitys.setOperation(OperationType.DELETE);
activitys.setActivityId(activityID);
arrayEntity.add(activitys);
}
for (int a = 0; a < arrayEntity.size(); a++) {
entityProcessor.processEntity(arrayEntity.get(a), true, multiDBTransactionManager);
}
finalList.add(new ServiceRestResponse(EsitoType.OK));
} else {
throw new Exception("ERRORE. TIPOLOGIA ATTIVITA " + activityTypeID + " INESISTENTE.");
throw new Exception("ERRORE. CANCELLAZIONE TIPOLOGIA ATTIVITA " + activityTypeID + " NON DISPONIBILE.");
}
return finalList;
}