Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-01-16 15:29:43 +01:00
5 changed files with 64 additions and 28 deletions

View File

@@ -0,0 +1,33 @@
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_20250116150858 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomer(IntegryCustomer.Carelli)) return;
createOrUpdateView("gvw_part_iva_infragroup", "ALTER VIEW [dbo].[gvw_part_iva_infragroup] AS\n" +
" SELECT part_iva\n" +
" FROM gestfood.dbo.azienda\n" +
" UNION\n" +
" SELECT part_iva\n" +
" FROM panimal.dbo.azienda\n" +
" UNION\n" +
" SELECT part_iva\n" +
" FROM carelli.dbo.azienda\n" +
" UNION\n" +
" SELECT part_iva\n" +
" FROM format.dbo.azienda");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -71,7 +71,7 @@ public class DocumentiExporter extends BaseEntityExporter implements IEntityExpo
break; break;
case SICILIANI_ORGCONS: case SICILIANI_ORGCONS:
SicilianiDMSExportService orgCons = context.getBean(SicilianiDMSExportService.class); SicilianiDMSExportService orgCons = context.getBean(SicilianiDMSExportService.class);
entityExportResponse = orgCons.syncOrgCons(jsonBody.get("whereCond").asText(), jsonBody.get("queryPercPesoOrdViaggio").asText(), jsonBody.get("dataCons").asText()); entityExportResponse = orgCons.syncOrgCons(jsonBody.get("whereCond").asText(), jsonBody.get("queryPercPesoOrdViaggio").asText(), jsonBody.get("dataCons").asText(), username);
break; break;
case SICILIANI_TAGLIACUCI: case SICILIANI_TAGLIACUCI:
SicilianiDMSExportService tagliaCuci = context.getBean(SicilianiDMSExportService.class); SicilianiDMSExportService tagliaCuci = context.getBean(SicilianiDMSExportService.class);

View File

@@ -180,7 +180,7 @@ public class SicilianiDMSExportService {
return response; return response;
} }
public EntityExportResponse syncOrgCons(String whereCond, String queryDettPesoViaggio, String dataCons) throws Exception { public EntityExportResponse syncOrgCons(String whereCond, String queryDettPesoViaggio, String dataCons, String userNAme) throws Exception {
EntityExportResponse<List<File>> response = new EntityExportResponse<List<File>>(); EntityExportResponse<List<File>> response = new EntityExportResponse<List<File>>();
response.setResponse(new ArrayList<File>()); response.setResponse(new ArrayList<File>());
String profileDBAlyante = setupGest.getSetup("DMS", "PROFILE", "ALYANTE"); String profileDBAlyante = setupGest.getSetup("DMS", "PROFILE", "ALYANTE");
@@ -195,7 +195,7 @@ public class SicilianiDMSExportService {
try { try {
String codiceDitta = setupGest.getSetup("DMS", "SETUP", "CODICE_DITTA"); String codiceDitta = setupGest.getSetup("DMS", "SETUP", "CODICE_DITTA");
String serverObject = setupGest.getSetup("DMS", "PROFILE", "DB_INTERSCAMBIO"); String serverObject = setupGest.getSetup("DMS", "PROFILE", "DB_INTERSCAMBIO");
String userUnlockIDViaggio = setupGest.getSetupUser(conn, "W_VORGCONS_DISP", "SETUP","ABILITA_SBLOCCO_ID_VIAGGIO", userNAme);
String columnPercPesoOrdine = ""; String columnPercPesoOrdine = "";
String tableCostoViaggi = ""; String tableCostoViaggi = "";
@@ -324,7 +324,7 @@ public class SicilianiDMSExportService {
((String) UtilityHashMap.getValueIfExists(x, "lockIdViaggio")).equalsIgnoreCase("S")).findFirst(); ((String) UtilityHashMap.getValueIfExists(x, "lockIdViaggio")).equalsIgnoreCase("S")).findFirst();
if (!lockIdViaggio.isPresent()) { if (!lockIdViaggio.isPresent() || userUnlockIDViaggio.equalsIgnoreCase("S")) {
if (flagExistOrd.compareTo("N") == 0) { if (flagExistOrd.compareTo("N") == 0) {
sql = "INSERT INTO dtb_infoviaggi " + sql = "INSERT INTO dtb_infoviaggi " +
"( ditta, " + "( ditta, " +
@@ -453,7 +453,7 @@ public class SicilianiDMSExportService {
((Integer) UtilityHashMap.getValueIfExists(x, "id_viaggio")).equals(idViaggio) && ((Integer) UtilityHashMap.getValueIfExists(x, "id_viaggio")).equals(idViaggio) &&
((String) UtilityHashMap.getValueIfExists(x, "lockIdViaggio")).equalsIgnoreCase("S")).findFirst(); ((String) UtilityHashMap.getValueIfExists(x, "lockIdViaggio")).equalsIgnoreCase("S")).findFirst();
if (!lockIdViaggio.isPresent()) { if (!lockIdViaggio.isPresent() || userUnlockIDViaggio.equalsIgnoreCase("S")) {
sql = "delete from dtb_infoviaggi " + sql = "delete from dtb_infoviaggi " +
" from dtb_infoviaggi " + " from dtb_infoviaggi " +
" where chiave_traxal = " + UtilityDB.valueToString(keyOrd); " where chiave_traxal = " + UtilityDB.valueToString(keyOrd);

View File

@@ -246,9 +246,9 @@ public class DistribuzioneColliService {
List<DtbOrdr> orderRows = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), dtbOrdrSql, DtbOrdr.class, 30); List<DtbOrdr> orderRows = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), dtbOrdrSql, DtbOrdr.class, 30);
if (orderRows == null) orderRows = new ArrayList<>(); if (orderRows == null) orderRows = new ArrayList<>();
orderTestate = Stream.of(orderTestate) orderTestate = orderTestate.stream()
.distinct() .distinct()
.toList(); .collect(Collectors.toList());
List<MtbColr> mtbColrsToSave = new ArrayList<>(); List<MtbColr> mtbColrsToSave = new ArrayList<>();
@@ -313,9 +313,10 @@ public class DistribuzioneColliService {
MtbColr sourceMtbColr = groupedMtbColrs.get(i); MtbColr sourceMtbColr = groupedMtbColrs.get(i);
final MtbColr finalSourceMtbColr = sourceMtbColr; final MtbColr finalSourceMtbColr = sourceMtbColr;
MtbAart currentMtbAart = Stream.of(mtbAarts) MtbAart currentMtbAart = mtbAarts.stream()
.filter(mtbAart -> finalSourceMtbColr.getCodMart().equalsIgnoreCase(mtbAart.getCodMart())) .filter(mtbAart -> finalSourceMtbColr.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()))
.single(); .findFirst()
.orElse(null);
//Mi calcolo una qta_cnf media //Mi calcolo una qta_cnf media
if ("S".equalsIgnoreCase(currentMtbAart.getFlagQtaCnfFissa())) { if ("S".equalsIgnoreCase(currentMtbAart.getFlagQtaCnfFissa())) {
@@ -336,20 +337,20 @@ public class DistribuzioneColliService {
//solo se la partita non è NULL sull'ordine ed è uguale su collo e ordine //solo se la partita non è NULL sull'ordine ed è uguale su collo e ordine
List<DtbOrdr> artOrderRowsWithPart = null; List<DtbOrdr> artOrderRowsWithPart = null;
if (flagRaggXQtaCnf.equalsIgnoreCase("S") && "N".equalsIgnoreCase(currentMtbAart.getFlagQtaCnfFissa())) { if (flagRaggXQtaCnf.equalsIgnoreCase("S") && "N".equalsIgnoreCase(currentMtbAart.getFlagQtaCnfFissa())) {
artOrderRowsWithPart = Stream.of(orderRows) artOrderRowsWithPart = orderRows.stream()
.filter(dtbOrdr -> UtilityString.equalsIgnoreCase(dtbOrdr.getCodMart(), finalSourceMtbColr.getCodMart()) && .filter(dtbOrdr -> UtilityString.equalsIgnoreCase(dtbOrdr.getCodMart(), finalSourceMtbColr.getCodMart()) &&
UtilityString.equalsIgnoreCase(dtbOrdr.getPartitaMag(), finalSourceMtbColr.getPartitaMag()) && UtilityString.equalsIgnoreCase(dtbOrdr.getPartitaMag(), finalSourceMtbColr.getPartitaMag()) &&
UtilityString.equalsIgnoreCase(dtbOrdr.getCodTagl(), finalSourceMtbColr.getCodTagl()) && UtilityString.equalsIgnoreCase(dtbOrdr.getCodTagl(), finalSourceMtbColr.getCodTagl()) &&
UtilityString.equalsIgnoreCase(dtbOrdr.getCodCol(), finalSourceMtbColr.getCodCol()) && UtilityString.equalsIgnoreCase(dtbOrdr.getCodCol(), finalSourceMtbColr.getCodCol()) &&
Objects.equals(dtbOrdr.getQtaCnf().setScale(5, RoundingMode.HALF_UP), finalSourceMtbColr.getQtaCnf().setScale(5, RoundingMode.HALF_UP))) Objects.equals(dtbOrdr.getQtaCnf().setScale(5, RoundingMode.HALF_UP), finalSourceMtbColr.getQtaCnf().setScale(5, RoundingMode.HALF_UP)))
.toList(); .collect(Collectors.toList());
} else { } else {
artOrderRowsWithPart = Stream.of(orderRows) artOrderRowsWithPart = orderRows.stream()
.filter(dtbOrdr -> UtilityString.equalsIgnoreCase(dtbOrdr.getCodMart(), finalSourceMtbColr.getCodMart()) && .filter(dtbOrdr -> UtilityString.equalsIgnoreCase(dtbOrdr.getCodMart(), finalSourceMtbColr.getCodMart()) &&
UtilityString.equalsIgnoreCase(dtbOrdr.getPartitaMag(), finalSourceMtbColr.getPartitaMag()) && UtilityString.equalsIgnoreCase(dtbOrdr.getPartitaMag(), finalSourceMtbColr.getPartitaMag()) &&
UtilityString.equalsIgnoreCase(dtbOrdr.getCodTagl(), finalSourceMtbColr.getCodTagl()) && UtilityString.equalsIgnoreCase(dtbOrdr.getCodTagl(), finalSourceMtbColr.getCodTagl()) &&
UtilityString.equalsIgnoreCase(dtbOrdr.getCodCol(), finalSourceMtbColr.getCodCol())) UtilityString.equalsIgnoreCase(dtbOrdr.getCodCol(), finalSourceMtbColr.getCodCol()))
.toList(); .collect(Collectors.toList());
} }
for (int j = 0; j < artOrderRowsWithPart.size() && sourceMtbColr.getQtaCol().compareTo(BigDecimal.ZERO) > 0; j++) { for (int j = 0; j < artOrderRowsWithPart.size() && sourceMtbColr.getQtaCol().compareTo(BigDecimal.ZERO) > 0; j++) {
@@ -403,20 +404,20 @@ public class DistribuzioneColliService {
//solo se la partita è NULL sull'ordine //solo se la partita è NULL sull'ordine
List<DtbOrdr> artOrderRowsNoPart = null; List<DtbOrdr> artOrderRowsNoPart = null;
if (flagRaggXQtaCnf.equalsIgnoreCase("S") && "N".equalsIgnoreCase(currentMtbAart.getFlagQtaCnfFissa())) { if (flagRaggXQtaCnf.equalsIgnoreCase("S") && "N".equalsIgnoreCase(currentMtbAart.getFlagQtaCnfFissa())) {
artOrderRowsNoPart = Stream.of(orderRows) artOrderRowsNoPart = orderRows.stream()
.filter(dtbOrdr -> UtilityString.equalsIgnoreCase(dtbOrdr.getCodMart(), finalSourceMtbColr.getCodMart()) && .filter(dtbOrdr -> UtilityString.equalsIgnoreCase(dtbOrdr.getCodMart(), finalSourceMtbColr.getCodMart()) &&
(dtbOrdr.getPartitaMag() == null) && (dtbOrdr.getPartitaMag() == null) &&
UtilityString.equalsIgnoreCase(dtbOrdr.getCodTagl(), finalSourceMtbColr.getCodTagl()) && UtilityString.equalsIgnoreCase(dtbOrdr.getCodTagl(), finalSourceMtbColr.getCodTagl()) &&
UtilityString.equalsIgnoreCase(dtbOrdr.getCodCol(), finalSourceMtbColr.getCodCol()) && UtilityString.equalsIgnoreCase(dtbOrdr.getCodCol(), finalSourceMtbColr.getCodCol()) &&
Objects.equals(dtbOrdr.getQtaCnf().setScale(5, RoundingMode.HALF_UP), finalSourceMtbColr.getQtaCnf().setScale(5, RoundingMode.HALF_UP))) Objects.equals(dtbOrdr.getQtaCnf().setScale(5, RoundingMode.HALF_UP), finalSourceMtbColr.getQtaCnf().setScale(5, RoundingMode.HALF_UP)))
.toList(); .collect(Collectors.toList());
} else { } else {
artOrderRowsNoPart = Stream.of(orderRows) artOrderRowsNoPart = orderRows.stream()
.filter(dtbOrdr -> UtilityString.equalsIgnoreCase(dtbOrdr.getCodMart(), finalSourceMtbColr.getCodMart()) && .filter(dtbOrdr -> UtilityString.equalsIgnoreCase(dtbOrdr.getCodMart(), finalSourceMtbColr.getCodMart()) &&
(dtbOrdr.getPartitaMag() == null) && (dtbOrdr.getPartitaMag() == null) &&
UtilityString.equalsIgnoreCase(dtbOrdr.getCodTagl(), finalSourceMtbColr.getCodTagl()) && UtilityString.equalsIgnoreCase(dtbOrdr.getCodTagl(), finalSourceMtbColr.getCodTagl()) &&
UtilityString.equalsIgnoreCase(dtbOrdr.getCodCol(), finalSourceMtbColr.getCodCol())) UtilityString.equalsIgnoreCase(dtbOrdr.getCodCol(), finalSourceMtbColr.getCodCol()))
.toList(); .collect(Collectors.toList());
} }
for (int j = 0; j < artOrderRowsNoPart.size() && sourceMtbColr.getQtaCol().compareTo(BigDecimal.ZERO) > 0; j++) { for (int j = 0; j < artOrderRowsNoPart.size() && sourceMtbColr.getQtaCol().compareTo(BigDecimal.ZERO) > 0; j++) {
@@ -496,7 +497,7 @@ public class DistribuzioneColliService {
if (dtbOrdrToUpdate != null && !dtbOrdrToUpdate.isEmpty()) { if (dtbOrdrToUpdate != null && !dtbOrdrToUpdate.isEmpty()) {
//Creo le testate per ogni ordine trovato nelle righe //Creo le testate per ogni ordine trovato nelle righe
List<DtbOrdt> dtbOrdtToUpdate = Stream.of(dtbOrdrToUpdate) List<DtbOrdt> dtbOrdtToUpdate = dtbOrdrToUpdate.stream()
.map(dtbOrdr -> { .map(dtbOrdr -> {
DtbOrdt dtbOrdt = new DtbOrdt(); DtbOrdt dtbOrdt = new DtbOrdt();
dtbOrdt.setGestione(dtbOrdr.getGestione()); dtbOrdt.setGestione(dtbOrdr.getGestione());
@@ -507,7 +508,7 @@ public class DistribuzioneColliService {
return dtbOrdt; return dtbOrdt;
}) })
.distinct() .distinct()
.toList(); .collect(Collectors.toList());
if (dtbOrdtToUpdate != null && !dtbOrdtToUpdate.isEmpty()) { if (dtbOrdtToUpdate != null && !dtbOrdtToUpdate.isEmpty()) {
@@ -544,13 +545,13 @@ public class DistribuzioneColliService {
mtbColrToSave.setQueryTimeoutSeconds(30); mtbColrToSave.setQueryTimeoutSeconds(30);
//Carico tutte le righe che combaciano con qta > 0 //Carico tutte le righe che combaciano con qta > 0
List<MtbColr> found = Stream.of(sourceMtbColrs) List<MtbColr> found = sourceMtbColrs.stream()
.filter(mtbColr -> UtilityString.equalsIgnoreCase(mtbColr.getPartitaMag(), mtbColrToSave.getPartitaMag()) && .filter(mtbColr -> UtilityString.equalsIgnoreCase(mtbColr.getPartitaMag(), mtbColrToSave.getPartitaMag()) &&
UtilityString.equalsIgnoreCase(mtbColr.getCodMart(), mtbColrToSave.getCodMart()) && UtilityString.equalsIgnoreCase(mtbColr.getCodMart(), mtbColrToSave.getCodMart()) &&
UtilityString.equalsIgnoreCase(mtbColr.getCodTagl(), mtbColrToSave.getCodTagl()) && UtilityString.equalsIgnoreCase(mtbColr.getCodTagl(), mtbColrToSave.getCodTagl()) &&
UtilityString.equalsIgnoreCase(mtbColr.getCodCol(), mtbColrToSave.getCodCol()) && UtilityString.equalsIgnoreCase(mtbColr.getCodCol(), mtbColrToSave.getCodCol()) &&
mtbColr.getQtaCol().compareTo(BigDecimal.ZERO) > 0) mtbColr.getQtaCol().compareTo(BigDecimal.ZERO) > 0)
.toList(); .collect(Collectors.toList());
BigDecimal qtaTotToSubstract = mtbColrToSave.getQtaCol(); BigDecimal qtaTotToSubstract = mtbColrToSave.getQtaCol();
@@ -662,13 +663,13 @@ public class DistribuzioneColliService {
groupedMtbColr.setOperation(OperationType.INSERT_OR_UPDATE); groupedMtbColr.setOperation(OperationType.INSERT_OR_UPDATE);
groupedMtbColr.setNumCnf(null); groupedMtbColr.setNumCnf(null);
List<MtbColr> match = Stream.of(mtbColrsToSave) List<MtbColr> match = mtbColrsToSave.stream()
.filter(mtbColr -> UtilityString.equalsIgnoreCase(mtbColr.getCodMart(), groupedMtbColr.getCodMart()) && .filter(mtbColr -> UtilityString.equalsIgnoreCase(mtbColr.getCodMart(), groupedMtbColr.getCodMart()) &&
UtilityString.equalsIgnoreCase(mtbColr.getCodCol(), groupedMtbColr.getCodCol()) && UtilityString.equalsIgnoreCase(mtbColr.getCodCol(), groupedMtbColr.getCodCol()) &&
UtilityString.equalsIgnoreCase(mtbColr.getCodTagl(), groupedMtbColr.getCodTagl()) && UtilityString.equalsIgnoreCase(mtbColr.getCodTagl(), groupedMtbColr.getCodTagl()) &&
UtilityString.equalsIgnoreCase(mtbColr.getPartitaMag(), groupedMtbColr.getPartitaMag()) && UtilityString.equalsIgnoreCase(mtbColr.getPartitaMag(), groupedMtbColr.getPartitaMag()) &&
UtilityString.equalsIgnoreCase(mtbColr.getCodJcom(), groupedMtbColr.getCodJcom())) UtilityString.equalsIgnoreCase(mtbColr.getCodJcom(), groupedMtbColr.getCodJcom()))
.toList(); .collect(Collectors.toList());
if (match != null && !match.isEmpty()) { if (match != null && !match.isEmpty()) {
groupedMtbColr.setNumOrd(match.get(0).getNumOrd()); groupedMtbColr.setNumOrd(match.get(0).getNumOrd());
@@ -689,7 +690,7 @@ public class DistribuzioneColliService {
sourceMtbColt.setDataDistribuzione(new Date()); sourceMtbColt.setDataDistribuzione(new Date());
sourceMtbColt.setQueryTimeoutSeconds(30); sourceMtbColt.setQueryTimeoutSeconds(30);
boolean anyRowInSourceMtbColt = Stream.of(sourceMtbColt.getMtbColr()) boolean anyRowInSourceMtbColt = sourceMtbColt.getMtbColr().stream()
.anyMatch(x -> x.getOperation() != OperationType.DELETE && .anyMatch(x -> x.getOperation() != OperationType.DELETE &&
UtilityBigDecimal.greaterThan(x.getQtaCol(), BigDecimal.ZERO) || UtilityBigDecimal.greaterThan(x.getQtaCol(), BigDecimal.ZERO) ||
UtilityBigDecimal.greaterThan(x.getNumCnf(), BigDecimal.ZERO) || UtilityBigDecimal.greaterThan(x.getNumCnf(), BigDecimal.ZERO) ||
@@ -732,7 +733,7 @@ public class DistribuzioneColliService {
private void checkInDistribution(MtbColt sourceMtbColt) throws Exception { private void checkInDistribution(MtbColt sourceMtbColt) throws Exception {
if (Stream.of(this.mCurrentlyDistributingMtbColt) if (this.mCurrentlyDistributingMtbColt.stream()
.anyMatch(x -> x.getGestione().equalsIgnoreCase(sourceMtbColt.getGestione()) && .anyMatch(x -> x.getGestione().equalsIgnoreCase(sourceMtbColt.getGestione()) &&
x.getNumCollo().equals(sourceMtbColt.getNumCollo()) && x.getNumCollo().equals(sourceMtbColt.getNumCollo()) &&
x.getSerCollo().equalsIgnoreCase(sourceMtbColt.getSerCollo()) && x.getSerCollo().equalsIgnoreCase(sourceMtbColt.getSerCollo()) &&

View File

@@ -398,8 +398,10 @@ public class FLProductionService {
if ("S".compareTo(isDBcentrale) == 0) { if ("S".compareTo(isDBcentrale) == 0) {
passaporto = getNextNumPassaporto(connDBCentrale, codCentroAziDBCentrale, flAggListinoProdDTO.getDataProd()); /* passaporto = getNextNumPassaporto(connDBCentrale, codCentroAziDBCentrale, flAggListinoProdDTO.getDataProd());
passaportoDBCentrale = passaporto; passaportoDBCentrale = passaporto;*/
passaporto = flAggListinoProdDTO.getPassaporto();
} }
if (!UtilityString.isNullOrEmpty(flAggListinoProdDTO.getCodAlis())) { if (!UtilityString.isNullOrEmpty(flAggListinoProdDTO.getCodAlis())) {
@@ -438,7 +440,7 @@ public class FLProductionService {
String erroreMessage = mtbListData.getException().getMessage(); String erroreMessage = mtbListData.getException().getMessage();
throw new Exception(erroreMessage); throw new Exception(erroreMessage);
} else { } else {
if ("N".compareTo(contoLavoro) == 0) { if ("N".compareTo(contoLavoro) == 0 && isDBcentrale.compareTo("N") == 0) {
/******************************************************* /*******************************************************
* AGGIORNAMENTO LISTINO FORNITORE DATABASE CENTRALE * AGGIORNAMENTO LISTINO FORNITORE DATABASE CENTRALE
* ******************************************************/ * ******************************************************/