Gestione modifica data inizio prod su generaordlav
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -30,6 +30,7 @@ import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
@@ -358,6 +359,7 @@ public class GeneraOrdLav {
|
||||
|
||||
} else {
|
||||
riproporzionaQtaOrd(conn, gestione, dataOrd, numOrd, rigaOrd, qtaProd, rapConv, ordT);
|
||||
aggornaDataInizProd(conn, gestione, dataOrd, numOrd, rigaOrd, ordT, row, assegnaAttivita);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1380,6 +1382,80 @@ public class GeneraOrdLav {
|
||||
}
|
||||
}
|
||||
|
||||
private static void aggornaDataInizProd(Connection conn, String gestione, Date dataOrd, Integer numOrd, Integer rigaOrd,DtbOrdt ordT, DtbOrdr row, boolean assegnaAttivita) throws SQLException, IllegalAccessException, DataConverterNotFoundException, InstantiationException {
|
||||
String sql;
|
||||
sql =
|
||||
Query.format(
|
||||
"SELECT data_iniz_prod, activity_id " +
|
||||
" FROM dtb_ordt " +
|
||||
" WHERE dtb_ordt.gestione_rif = %s AND " +
|
||||
" dtb_ordt.data_ord_rif = %s AND " +
|
||||
" dtb_ordt.num_ord_rif = %s AND " +
|
||||
" dtb_ordt.riga_ord_rif = %s",
|
||||
gestione,
|
||||
dataOrd,
|
||||
numOrd,
|
||||
rigaOrd);
|
||||
|
||||
HashMap<String, Object> datiOrdL = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||
|
||||
LocalDate dataInizProdOld = null;
|
||||
LocalDate dataInizNew = null;
|
||||
String activityID = null;
|
||||
if (datiOrdL != null && datiOrdL.size() > 0) {
|
||||
dataInizProdOld = UtilityLocalDate.localDateFromDate((Date) datiOrdL.get("data_iniz_prod"));
|
||||
dataInizNew = ordT.getDataInizProd();
|
||||
activityID = (String) datiOrdL.get("activity_id");
|
||||
}
|
||||
|
||||
Integer ggDiff = Math.toIntExact(UtilityLocalDate.daysAfterDate(dataInizProdOld, dataInizNew ));
|
||||
if (ggDiff != 0){
|
||||
sql = "SELECT * FROM dtb_ordr";
|
||||
sql = UtilityDB.addwhereCond(sql, ordT.getPkWhereCond(), true);
|
||||
List<DtbOrdr> dtbOrdrL = UtilityDB.executeSimpleQueryDTO(conn, sql, DtbOrdr.class);
|
||||
|
||||
if (dtbOrdrL != null && !dtbOrdrL.isEmpty()){
|
||||
dtbOrdrL.stream().forEach(x -> {
|
||||
x.setDataCons(UtilityDate.dateAdd(x.getDataCons(), ggDiff));
|
||||
x.setOperation(OperationType.UPDATE);
|
||||
});
|
||||
|
||||
ordT.setDtbOrdr(dtbOrdrL);
|
||||
}
|
||||
|
||||
sql = "SELECT * FROM dtb_ord_steps";
|
||||
sql = UtilityDB.addwhereCond(sql, ordT.getPkWhereCond(), true);
|
||||
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.setOperation(OperationType.UPDATE);
|
||||
});
|
||||
|
||||
ordT.setDtbOrdSteps(dtbOrdSteps);
|
||||
|
||||
// FABIO: DA CAPIRE COME VALORIZZATA LE ATTIVITA MODIFICATE
|
||||
if (assegnaAttivita){
|
||||
sql = "SELECT stb_activity.* " +
|
||||
" FROM stb_activity " +
|
||||
" where (activity_id = " + UtilityDB.valueToString(activityID) + " or " +
|
||||
" parent_activity_id = " + UtilityDB.valueToString(activityID) + ")";
|
||||
List<StbActivity> stbActivity = UtilityDB.executeSimpleQueryDTO(conn, sql, StbActivity.class);
|
||||
|
||||
stbActivity.stream().forEach(x -> {
|
||||
x.setEstimatedDate(UtilityDate.dateAdd(x.getEstimatedDate(), ggDiff));
|
||||
x.setEstimatedEnddate(UtilityDate.dateAdd(x.getEstimatedEnddate(), ggDiff));
|
||||
x.setEstimatedTime(UtilityDate.dateAdd(x.getEstimatedTime(), ggDiff));
|
||||
x.setEstimatedEndtime(UtilityDate.dateAdd(x.getEstimatedEndtime(), ggDiff));
|
||||
x.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
});
|
||||
|
||||
row.setStbActivityList(stbActivity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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 {
|
||||
String sql;
|
||||
sql =
|
||||
|
||||
Reference in New Issue
Block a user