Finish Feature-CAPELLIMONELLI
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-11-05 12:20:05 +01:00
7 changed files with 251 additions and 19 deletions

View File

@@ -0,0 +1,89 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems_model.utility.dto.IndexTableDTO;
import java.util.Arrays;
public class Migration_20251027172319 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement(
"CREATE TABLE [dbo].[mtb_ssfam]("
+ " [cod_mgrp] varchar(5) NOT NULL, "
+ " [cod_msgr] varchar(5) NOT NULL, "
+ " [cod_msfa] varchar(6) NOT NULL, "
+ " [cod_mssfa] varchar(6) NOT NULL, "
+ " [descrizione] varchar(40) NOT NULL);",
"ALTER TABLE mtb_ssfam ADD CONSTRAINT pk_mtb_ssfam PRIMARY KEY ("
+ " cod_mgrp ASC, cod_msgr ASC, cod_msfa ASC, cod_mssfa ASC );",
"ALTER TABLE [dbo].[mtb_ssfam] WITH CHECK ADD CONSTRAINT fk_mtb_ssfam_mtb_grup "
+ "FOREIGN KEY(cod_mgrp) REFERENCES [dbo].[mtb_grup](cod_mgrp);",
"ALTER TABLE [dbo].[mtb_ssfam] WITH CHECK ADD CONSTRAINT fk_mtb_ssfam_mtb_sgrp "
+ "FOREIGN KEY(cod_mgrp, cod_msgr) REFERENCES [dbo].[mtb_sgrp](cod_mgrp, cod_msgr);",
"ALTER TABLE [dbo].[mtb_ssfam] WITH CHECK ADD CONSTRAINT fk_mtb_ssfam_mtb_sfam "
+ "FOREIGN KEY(cod_mgrp, cod_msgr, cod_msfa) REFERENCES [dbo].[mtb_sfam](cod_mgrp, cod_msgr, cod_msfa);",
"exec DropForeignKey 'mtb_aart', 'mtb_aart_marchio';",
"exec DropPrimaryKey 'mtb_aart_marchio';",
"ALTER TABLE mtb_aart_marchio ADD id bigint identity NOT NULL;",
"ALTER TABLE mtb_aart_marchio ADD CONSTRAINT pk_mtb_aart_marchio PRIMARY KEY (id);",
"CREATE TABLE mtb_marchio_linea ("
+ " id_marchio bigint NOT NULL, "
+ " cod_linea varchar(6) NOT NULL, "
+ " descrizione varchar(255) NOT NULL );",
"ALTER TABLE mtb_marchio_linea ADD CONSTRAINT pk_mtb_marchio_linea PRIMARY KEY (cod_linea);",
"ALTER TABLE mtb_marchio_linea ADD CONSTRAINT fk_mtb_marchio_linea_mtb_aart_marchio "
+ "FOREIGN KEY (id_marchio) REFERENCES mtb_aart_marchio(id);",
"ALTER TABLE mtb_aart ADD id_marchio bigint;",
"UPDATE mtb_aart SET id_marchio = mtb_aart_marchio.id "
+ "FROM mtb_aart INNER JOIN mtb_aart_marchio ON mtb_aart.marchio = mtb_aart_marchio.marchio;",
"ALTER TABLE mtb_aart ADD CONSTRAINT fk_mtb_aart_mtb_aart_marchio "
+ "FOREIGN KEY (id_marchio) REFERENCES mtb_aart_marchio(id);",
"ALTER TABLE mtb_aart ADD cod_mssfa varchar(6);",
"ALTER TABLE mtb_aart ADD CONSTRAINT fk_mtb_aart_mtb_ssfam "
+ "FOREIGN KEY (cod_mgrp, cod_msgr, cod_msfa, cod_mssfa) "
+ "REFERENCES mtb_ssfam (cod_mgrp, cod_msgr, cod_msfa, cod_mssfa);",
"ALTER TABLE mtb_aart ADD cod_linea varchar(6);",
"ALTER TABLE mtb_aart ADD cod_slinea varchar(6);",
"ALTER TABLE mtb_aart ADD cod_sslinea varchar(6);",
"CREATE TABLE mtb_marchio_slinea ("
+ " cod_linea varchar(6) NOT NULL, "
+ " cod_slinea varchar(6) NOT NULL, "
+ " descrizione varchar(255) NOT NULL );",
"ALTER TABLE mtb_marchio_slinea ADD CONSTRAINT pk_mtb_marchio_slinea PRIMARY KEY (cod_slinea);",
"ALTER TABLE mtb_marchio_slinea ADD CONSTRAINT fk_mtb_marchio_slinea_mtb_marchio_linea "
+ "FOREIGN KEY (cod_linea) REFERENCES mtb_marchio_linea (cod_linea);",
"CREATE TABLE mtb_marchio_sslinea ("
+ " cod_slinea varchar(6) NOT NULL, "
+ " cod_sslinea varchar(6) NOT NULL, "
+ " descrizione varchar(255) NOT NULL );",
"ALTER TABLE mtb_marchio_sslinea ADD CONSTRAINT pk_mtb_marchio_sslinea PRIMARY KEY (cod_sslinea);",
"ALTER TABLE mtb_marchio_sslinea ADD CONSTRAINT fk_mtb_marchio_sslinea_mtb_marchio_slinea "
+ "FOREIGN KEY (cod_slinea) REFERENCES mtb_marchio_slinea (cod_slinea);",
"ALTER TABLE mtb_aart ADD CONSTRAINT fk_mtb_aart_mtb_marchio_linea "
+ "FOREIGN KEY (cod_linea) REFERENCES mtb_marchio_linea(cod_linea);",
"ALTER TABLE mtb_aart ADD CONSTRAINT fk_mtb_aart_mtb_marchio_slinea "
+ "FOREIGN KEY (cod_slinea) REFERENCES mtb_marchio_slinea(cod_slinea);",
"ALTER TABLE mtb_aart ADD CONSTRAINT fk_mtb_aart_mtb_marchio_sslinea "
+ "FOREIGN KEY (cod_sslinea) REFERENCES mtb_marchio_sslinea(cod_sslinea);"
);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,40 @@
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;
import it.integry.ems_model.utility.dto.IndexTableDTO;
import java.util.Arrays;
public class Migration_20251027173518 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
IndexTableDTO indexTableDTO =
new IndexTableDTO()
.setTableName("mtb_aart_marchio")
.setIndexName("ix_mtb_aart_marchio_unique")
.setUnique(true)
.setColumnsIndex(Arrays.asList(
new IndexTableDTO.ColumnIndex("marchio")
));
createIndex(indexTableDTO);
if (!existsColumn("ctb_movt", "rif_import")){
executeStatement("ALTER TABLE ctb_movt ADD rif_import varchar(40)");
}
if (!existsColumn("ctb_varbeni", "num_cmov")) {
executeStatement("ALTER TABLE ctb_varbeni add num_cmov int",
"ALTER TABLE ctb_varbeni ADD CONSTRAINT fk_ctb_varbeni_ctb_movt FOREIGN KEY (num_cmov) REFERENCES ctb_movt (num_cmov)");
}
}
@Override
public void down() throws Exception {
}
}

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.MigrationModelInterface;
public class Migration_20251103175252 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement(
"CREATE TABLE mtb_colori ("
+ " cod_col varchar(6) NOT NULL, "
+ " descrizione varchar(255) NOT NULL );",
"ALTER TABLE mtb_colori ADD CONSTRAINT pk_mtb_colori PRIMARY KEY (cod_col);",
"CREATE TABLE mtb_aart_colori ("
+ " cod_mart varchar(15) NOT NULL, "
+ " cod_col varchar(6) NOT NULL, "
+ " cod_barre varchar(25) NULL);",
"ALTER TABLE mtb_aart_colori ADD CONSTRAINT pk_mtb_aart_colori PRIMARY KEY (cod_mart, cod_col);",
"ALTER TABLE mtb_aart_colori ADD CONSTRAINT fk_mtb_aart_colori_mtb_aart "
+ "FOREIGN KEY (cod_mart) REFERENCES mtb_aart (cod_mart);",
"ALTER TABLE mtb_aart_colori ADD CONSTRAINT fk_mtb_aart_colori_mtb_colori "
+ "FOREIGN KEY (cod_col) REFERENCES mtb_colori (cod_col);"
);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -998,11 +998,11 @@ public class CommonRules extends QueryRules {
}
public static MtbAartMarchio insMarchio(Connection conn, MtbAart entity) throws Exception {
String sql = "SELECT marchio FROM mtb_aart_marchio WHERE marchio = " + UtilityDB.valueToString(entity.getMarchio());
HashMap<String, Object> map = execSingleQuery(conn, sql);
String sql = "SELECT cast(count(*) as bit) FROM mtb_aart_marchio WHERE marchio = " + UtilityDB.valueToString(entity.getMarchio());
Boolean existMarchio = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
MtbAartMarchio mtbAartMarchio = null;
if (map == null || map.isEmpty() || map.get("marchio") == null) {
if (existMarchio) {
mtbAartMarchio = new MtbAartMarchio();
mtbAartMarchio.setMarchio(entity.getMarchio());
mtbAartMarchio.setOperation(OperationType.INSERT);

File diff suppressed because one or more lines are too long

View File

@@ -1,10 +1,7 @@
package it.integry.ems_model.entity;
import com.fasterxml.jackson.annotation.JsonTypeName;
import it.integry.ems_model.annotation.Master;
import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.annotation.Table;
import it.integry.ems_model.annotation.*;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
@@ -26,6 +23,11 @@ public class MtbAartMarchio extends EntityBase implements EquatableEntityInterfa
private static final long serialVersionUID = 1L;
@PK
@Identity
@SqlField(value = "id", nullable = false)
private Long id;
@Unique
@SqlField(value = "marchio", maxLength = 255, nullable = false)
private String marchio;
@@ -59,17 +61,14 @@ public class MtbAartMarchio extends EntityBase implements EquatableEntityInterfa
}
@Override
public boolean equals(Object object) {
if (this == object)
return true;
if (!(object instanceof MtbAartMarchio))
return false;
MtbAartMarchio that = (MtbAartMarchio) object;
return Objects.equals(getMarchio(), that.getMarchio());
public boolean equals(Object o) {
if (!(o instanceof MtbAartMarchio)) return false;
MtbAartMarchio that = (MtbAartMarchio) o;
return Objects.equals(id, that.id) && Objects.equals(getMarchio(), that.getMarchio());
}
@Override
public int hashCode() {
return Objects.hashCode(getMarchio());
return Objects.hash(id, getMarchio());
}
}

View File

@@ -127,6 +127,19 @@ then
}
end
rule "completeIdMarchio"
no-loop
when
eval(completeRulesEnabled)
$entity : MtbAart(marchio != null && idMarchio == null && operation != OperationType.DELETE)
then
String sql = "SELECT id FROM mtb_aart_marchio WHERE marchio = '" + $entity.getMarchio() + "'";
Long idMarchio = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
modify($entity) {
setIdMarchio(idMarchio)
}
end
rule "completeInsEqui"
no-loop
when