Finish Hotfix-1
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit

This commit is contained in:
2024-11-26 16:17:23 +01:00
4 changed files with 69 additions and 16 deletions

View File

@@ -0,0 +1,28 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241126161149 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
String value = "0";
if (isCustomer(IntegryCustomer.Gramm))
value = "5";
createSetup("MES","HMI","TIMEOUT_MACHINE_CONNECTION",value,"Tempo massimo in secondi di invio comandi al collector",null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -8,6 +8,7 @@ import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.exception.ExportException;
import it.integry.ems_model.exception.InternalRestCallException;
import it.integry.ems_model.utility.UtilityInteger;
import it.integry.ems_model.utility.UtilityServer;
import it.integry.ems_model.utility.UtilityString;
import it.integry.security.utility.RestUtil;
@@ -33,6 +34,7 @@ import java.security.cert.X509Certificate;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.TimeUnit;
import static org.apache.http.entity.ContentType.APPLICATION_JSON;
import static org.apache.http.entity.ContentType.TEXT_PLAIN;
@@ -139,14 +141,14 @@ public class HttpRestWrapper {
}
public static int callGeneric(String url, String username, String password, String jsonBody, ContentType contentType, StringBuilder bodyResponse) throws NoSuchAlgorithmException, KeyManagementException {
return callGeneric(url, username, password, jsonBody, contentType, bodyResponse, null);
return callGeneric(url, username, password, jsonBody, contentType, bodyResponse, null,0);
}
public static int callGeneric(String url, String username, String password, String jsonBody, ContentType contentType, StringBuilder bodyResponse, HashMap<String, String> queryParams) throws NoSuchAlgorithmException, KeyManagementException {
return callGeneric(url, username, password, jsonBody, contentType, bodyResponse, queryParams, RequestMethod.POST);
public static int callGeneric(String url, String username, String password, String jsonBody, ContentType contentType, StringBuilder bodyResponse, HashMap<String, String> queryParams, Integer timeout) throws NoSuchAlgorithmException, KeyManagementException {
return callGeneric(url, username, password, jsonBody, contentType, bodyResponse, queryParams, RequestMethod.POST, timeout);
}
public static int callGeneric(String url, String username, String password, String jsonBody, ContentType contentType, StringBuilder bodyResponse, HashMap<String, String> queryParams, RequestMethod requestMethod) throws NoSuchAlgorithmException, KeyManagementException {
public static int callGeneric(String url, String username, String password, String jsonBody, ContentType contentType, StringBuilder bodyResponse, HashMap<String, String> queryParams, RequestMethod requestMethod, Integer timeout) throws NoSuchAlgorithmException, KeyManagementException {
Entity entity = null;
@@ -158,7 +160,7 @@ public class HttpRestWrapper {
}
}
final Client client = makeDefaultConfig();
final Client client = makeDefaultConfig(timeout);
WebTarget webTarget = client.target(url);
if (queryParams != null) {
@@ -317,6 +319,9 @@ public class HttpRestWrapper {
private static Client makeDefaultConfig() throws NoSuchAlgorithmException, KeyManagementException {
return makeDefaultConfig(0);
}
private static Client makeDefaultConfig(Integer timeout) throws NoSuchAlgorithmException, KeyManagementException {
SSLContext sslContext = null;
try {
sslContext = SSLContext.getInstance("SSL");
@@ -342,9 +347,12 @@ public class HttpRestWrapper {
} catch (NoSuchAlgorithmException | KeyManagementException e) {
throw e;
}
final Client client = ClientBuilder.newBuilder().hostnameVerifier((s, session) -> true)
.sslContext(sslContext).build();
return client;
final ClientBuilder builder = ClientBuilder.newBuilder().hostnameVerifier((s, session) -> true)
.sslContext(sslContext);
if (UtilityInteger.isNullOrZero(timeout))
builder.connectTimeout(timeout, TimeUnit.SECONDS);
return builder.build();
}

View File

@@ -7,6 +7,7 @@ import it.integry.ems.rules.completing.DocOrdRules;
import it.integry.ems.rules.completing.OrderRules;
import it.integry.ems.rules.completing.QueryRules;
import it.integry.ems.rules.completing.dto.DatiPartitaMagDTO;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.business_logic.dto.ActivityCicloProdDTO;
import it.integry.ems_model.business_logic.dto.CommessaDTO;
@@ -15,6 +16,7 @@ import it.integry.ems_model.business_logic.dto.ExplodeDistDTO;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.db.ResultSetMapper;
import it.integry.ems_model.entity.*;
import it.integry.ems_model.entity._enum.FlagEvaso;
import it.integry.ems_model.entity._enum.TipoValore;
import it.integry.ems_model.rules.util.DroolsUtil;
import it.integry.ems_model.service.SetupGest;
@@ -24,15 +26,13 @@ import org.json.JSONArray;
import java.math.BigDecimal;
import java.math.RoundingMode;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Date;
import java.util.*;
import static it.integry.ems.rules.completing.QueryRules.getSingleValue;
@@ -1846,11 +1846,26 @@ public class ProductionBusinessLogic {
dtbOrdt.getOperation() == OperationType.SELECT_OBJECT) {
dtbOrdtTrasf.setOperation(dtbOrdt.getOperation());
} else {
List<DtbOrdr> rowsDataToMantain = UtilityDB.executeSimpleQueryDTO(conn, Query.format("SELECT * from dtb_ordr where data_ord = {} and gestione = {} and num_ord = {}", dtbOrdtTrasf.getDataOrd(), dtbOrdtTrasf.getGestione(), dtbOrdtTrasf.getNumOrd()), DtbOrdr.class);
dtbOrdtTrasf.setOperation(OperationType.DELETE_THEN_INSERT);
Stream.of(dtbOrdtTrasf.getDtbOrdr()).forEach(
x -> {
x.setQtaEvasa(null).setFlagEvaso(null);
DtbOrdr row = null;
BigDecimal qtaEvasa= BigDecimal.ZERO;
FlagEvaso flagEvaso = FlagEvaso.INEVASO;
if (!UtilityList.isNullOrEmpty(rowsDataToMantain)) {
row = rowsDataToMantain.stream().filter(c -> Objects.equals(c.getRigaOrd(), x.getRigaOrd())).findFirst().orElse(null);
if (row != null){
qtaEvasa = row.getQtaEvasa();
flagEvaso = row.getFlagEvaso();
}
}
x.setQtaEvasa(qtaEvasa).setFlagEvaso(flagEvaso);
}
);
}

View File

@@ -123,7 +123,9 @@ public class MesProductionServiceV2 {
String url = String.format("http://%s:%d/%s", serviceIp, servicePort, serviceName);
StringBuilder srb = new StringBuilder();
int requestStatusCode = HttpRestWrapper.callGeneric(url, null, null, jsonRequest, ContentType.APPLICATION_JSON, srb, null);
Integer timeout = setupGest.getSetupInteger("MES","HMI","TIMEOUT_MACHINE_CONNECTION",0);
int requestStatusCode = HttpRestWrapper.callGeneric(url, null, null, jsonRequest, ContentType.APPLICATION_JSON, srb, null,timeout);
if (requestStatusCode != HttpURLConnection.HTTP_OK) {
logger.debug("Impossibile comunicare con il servizio richiesto: " + url);