Gestito enum flag evaso e gestito come Character, gestito stato viaggio al posto di confermato
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit

This commit is contained in:
2024-10-31 11:20:15 +01:00
parent f9eabd79d3
commit 29069c918d
10 changed files with 168 additions and 33 deletions

View File

@@ -0,0 +1,42 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241030124317 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement(
"ALTER TABLE vtb_viaggi\n" +
" ADD stato TINYINT DEFAULT 0 NOT NULL\n" +
" CHECK ([stato] = 0 OR [stato] = 1 OR [stato] = 2);",
"EXEC sp_addextendedproperty 'MS_Description', 'Valori possibili: 0 -> Pianificato, 1 -> Carico, 2 -> Spedito', 'SCHEMA',\n" +
" 'dbo', 'TABLE', 'vtb_viaggi', 'COLUMN', 'stato';"
);
if (isCustomerDb(IntegryCustomerDB.RossoGargano_RossoGargano)) {
executeStatement(
"UPDATE vtb_viaggi\n" +
"SET stato = 2\n" +
"WHERE confermato = 1"
);
}
executeStatement(
"EXEC DropDefault 'vtb_viaggi', 'confermato';",
"ALTER TABLE vtb_viaggi\n" +
" DROP COLUMN confermato;"
);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -7,6 +7,7 @@ import it.integry.ems_model.base.EntityBase;
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.common.DtbBaseDocT;
import it.integry.ems_model.entity.common.DtbDocOrdR;
import it.integry.ems_model.entity.common.DtbDocOrdT;
@@ -976,7 +977,7 @@ public class DocOrdRules extends QueryRules {
.setCodMart(dtbOrdt.getCodProd())
.setDescrizione(dtbOrdt.getDescrizioneProd())
.setDescrizioneEstesa(dtbOrdt.getDescrEstesaProd())
.setFlagEvaso(dtbOrdt.getFlagEvasoProd())
.setFlagEvaso(FlagEvaso.from(dtbOrdt.getFlagEvasoProd()))
.setDataCons(dtbOrdt.getDataConsProd())
.setUntOrd(dtbOrdt.getUntMisProd())
.setRapConv(dtbOrdt.getRapConvProd())

View File

@@ -14,6 +14,7 @@ import it.integry.ems_model.business_logic.dto.OrdProdSetupDTO;
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.exception.DataConverterNotFoundException;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.types.OperationType;
@@ -239,7 +240,7 @@ public class GeneraOrdLav {
BigDecimal valUnt = row.getValUnt();
Integer rigaOrd = row.getRigaOrd();
String codJcom = row.getCodJcom();
String flagEvasoProd = row.getFlagEvaso();
FlagEvaso flagEvasoProd = row.getFlagEvaso();
// Generazione automatica nuova commessa
if (genAutoCommOrdProd && UtilityString.isNullOrEmpty(codJcom)) {
@@ -321,11 +322,11 @@ public class GeneraOrdLav {
.setColliPedana(row.getColliPedana())
.setCodTcolUl(row.getCodTcolUl())
.setCodTcolUi(row.getCodTcolUi())
.setFlagEvasoProd(flagEvasoProd)
.setFlagEvasoProd(flagEvasoProd.getValue().toString())
.setGeneraOrdLavDaProd(dtbOrdt.isGeneraOrdLavDaProd());
String flagAnnulla = "N";
if (UtilityString.equalsIgnoreCase(row.getFlagEvaso(), "A")) {
if (row.getFlagEvaso() == FlagEvaso.ANNULLATO) {
flagAnnulla = "S";
}
ordT.setFlagAnnulla(flagAnnulla);

View File

@@ -7,6 +7,7 @@ import it.integry.common.var.CommonConstants;
import it.integry.ems.rules.completing.dto.UntMisDTO;
import it.integry.ems_model.annotation.*;
import it.integry.ems_model.base.EquatableEntityInterface;
import it.integry.ems_model.entity._enum.FlagEvaso;
import it.integry.ems_model.entity.common.DtbDocOrdR;
import it.integry.ems_model.entity.common.DtbOrdCommonR;
import org.apache.logging.log4j.LogManager;
@@ -99,7 +100,7 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
private String descrizioneEstesa;
@SqlField(value = "flag_evaso", maxLength = 1, nullable = false, defaultObjectValue = "I")
private String flagEvaso;
private FlagEvaso flagEvaso;
@SqlField(value = "flag_evaso_forzato", maxLength = 1, nullable = false, defaultObjectValue = "N")
private String flagEvasoForzato;
@@ -572,11 +573,11 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
return this;
}
public String getFlagEvaso() {
public FlagEvaso getFlagEvaso() {
return flagEvaso;
}
public DtbOrdr setFlagEvaso(String flagEvaso) {
public DtbOrdr setFlagEvaso(FlagEvaso flagEvaso) {
this.flagEvaso = flagEvaso;
return this;
}
@@ -1136,7 +1137,7 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
}
public DtbOrdr addOrdLav(DtbOrdt ordL) {
if ( this.ordLav == null) setOrdLav(new ArrayList<>());
if (this.ordLav == null) setOrdLav(new ArrayList<>());
this.ordLav.add(ordL);
return this;
}
@@ -1419,7 +1420,7 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
if (this == other)
return true;
if(hashCodeKey() != other.hashCodeKey())
if (hashCodeKey() != other.hashCodeKey())
return false;
return Objects.equals(getDataOrd(), other.getDataOrd()) && Objects.equals(getGestione(), other.getGestione()) && Objects.equals(getNumOrd(), other.getNumOrd()) && Objects.equals(getRigaOrd(), other.getRigaOrd());

View File

@@ -6,9 +6,10 @@ import it.integry.ems_model.annotation.*;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.entity._enum.IBaseEnum;
import org.kie.api.definition.type.PropertyReactive;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -58,8 +59,8 @@ public class VtbViaggi extends EntityBase {
@SqlField(value = "posizione", nullable = false, defaultObjectValue = "0")
private Short posizione;
@SqlField(value = "confermato", nullable = false, defaultObjectValue = "0")
private Boolean confermato;
@SqlField(value = "stato", nullable = false, defaultObjectValue = "0")
private Stato stato;
@Priority(value = 101, copyPk = false)
private List<VtbViaggi> vtbViaggiList;
@@ -163,12 +164,12 @@ public class VtbViaggi extends EntityBase {
return this;
}
public Boolean getConfermato() {
return confermato;
public Stato getStato() {
return stato;
}
public VtbViaggi setConfermato(Boolean confermato) {
this.confermato = confermato;
public VtbViaggi setStato(Stato stato) {
this.stato = stato;
return this;
}
@@ -191,7 +192,6 @@ public class VtbViaggi extends EntityBase {
}
public enum Mezzo implements IBaseEnum<Mezzo> {
VETTORE((short) 0), MITTENTE((short) 1), DESTINATARIO((short) 2);
private final short value;
@@ -229,4 +229,45 @@ public class VtbViaggi extends EntityBase {
return String.valueOf(value);
}
}
public enum Stato implements IBaseEnum<Stato> {
PIANIFICATO((short) 0), CARICO((short) 1), SPEDITO((short) 2);
private final short value;
Stato(final short value) {
this.value = value;
}
public static Stato from(Object value) {
short castValue = (short) value;
for (Stato b : Stato.values()) {
if (b.value == castValue)
return b;
}
return null;
}
@JsonValue
public short getValue() {
return this.value;
}
@Override
public Object get() {
return this.value;
}
@Override
public Stato fromInternal(Object val) {
return from(val);
}
@Override
public String toString() {
return String.valueOf(value);
}
}
}

View File

@@ -0,0 +1,50 @@
package it.integry.ems_model.entity._enum;
import com.fasterxml.jackson.annotation.JsonValue;
import it.integry.ems_model.entity.DtbOrdr;
public enum FlagEvaso implements IBaseEnum<FlagEvaso> {
INEVASO('I'), EVASO('E'), ANNULLATO('A');
private final Character value;
FlagEvaso(Character value) {
this.value = value;
}
public static FlagEvaso from(Object value) {
Character castValue = null;
if (value instanceof Character)
castValue = (Character) value;
else if (value instanceof String)
castValue = ((String) value).charAt(0);
for (FlagEvaso b : FlagEvaso.values()) {
if (b.value == castValue)
return b;
}
return null;
}
@JsonValue
public Character getValue() {
return this.value;
}
@Override
public Object get() {
return this.value;
}
@Override
public FlagEvaso fromInternal(Object val) {
return from(val);
}
@Override
public String toString() {
return String.valueOf(value);
}
}

View File

@@ -165,9 +165,7 @@ public class SqlFieldHolder {
else if (dtoType.equals(LocalDate.class))
converter = data -> ((Timestamp) data).toLocalDateTime().toLocalDate();
}
else if (sqlType.equals(Date.class)) {
} else if (sqlType.equals(Date.class)) {
if (dtoType.equals(Date.class))
converter = data -> (Date) data;
else if (dtoType.equals(Instant.class))
@@ -177,8 +175,7 @@ public class SqlFieldHolder {
else if (dtoType.equals(LocalDate.class))
converter = data -> UtilityLocalDate.localDateFromDate((Date) data);
}
else if (dtoType.equals(Date.class)) {
} else if (dtoType.equals(Date.class)) {
converter = data -> {
try {
return UtilityString.parseDate(data.toString());
@@ -186,8 +183,7 @@ public class SqlFieldHolder {
return data;
}
};
}
else if (dtoType.equals(LocalDate.class)) {
} else if (dtoType.equals(LocalDate.class)) {
converter = data -> {
try {
return UtilityString.parseLocalDate(data.toString());
@@ -227,9 +223,7 @@ public class SqlFieldHolder {
if (dtoType instanceof Class && ((Class) dtoType).isEnum()) {
final Class clazz = (Class) dtoType;
if (sqlType.equals(String.class)) {
converter = data -> Enum.valueOf(clazz, (String) data);
} else if (IBaseEnum.class.isAssignableFrom(clazz)) {
if (IBaseEnum.class.isAssignableFrom(clazz)) {
converter = data -> {
try {
Method method = clazz.getMethod("from", Object.class);
@@ -238,6 +232,8 @@ public class SqlFieldHolder {
throw new RuntimeException(e);
}
};
} else if (sqlType.equals(String.class)) {
converter = data -> Enum.valueOf(clazz, (String) data);
} else {
converter = data -> {
try {
@@ -789,7 +785,7 @@ public class SqlFieldHolder {
}
public static String getSqlValueFieldAsString(Object obj, boolean removeSpace) {
String dato = null;
String dato;
if (obj != null && obj.getClass().isEnum()) {
if (IBaseEnum.class.isAssignableFrom(obj.getClass())) {
obj = ((IBaseEnum) obj).get();
@@ -797,8 +793,8 @@ public class SqlFieldHolder {
obj = obj.toString();
}
}
if (obj instanceof String) {
String string = (String) obj;
if (obj instanceof String || obj instanceof Character) {
String string = obj instanceof String ? (String) obj : obj.toString();
if (removeSpace)
string = string.trim();

View File

@@ -6,6 +6,7 @@ import it.integry.ems.service.EntityProcessor;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.entity.*;
import it.integry.ems_model.entity._enum.FlagEvaso;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityDB;
@@ -319,7 +320,7 @@ public class OrdiniBiolevanteExchService {
dtbOrdr.setCodTcolUl(codTcolUl);
dtbOrdr.setDataCons(dataCons);
if (UtilityString.streNull(flagStato).compareTo("I") == 0) {
dtbOrdr.setFlagEvaso("A");
dtbOrdr.setFlagEvaso(FlagEvaso.ANNULLATO);
}
if (!UtilityString.isNullOrEmpty(noteRigaOrd)) {
dtbOrdr.setNote(noteRigaOrd);

View File

@@ -20,6 +20,7 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.entity.*;
import it.integry.ems_model.entity._enum.FlagEvaso;
import it.integry.ems_model.exception.EntityException;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.types.ApplicationName;
@@ -977,7 +978,7 @@ public class OrdiniWebImportService {
dtbOrdr.setGruppoCons(gruppoCons);
dtbOrdr.setCodOann(codOann);
dtbOrdr.setPartitaMag(partitaMag);
dtbOrdr.setFlagEvaso(flagEvaso);
dtbOrdr.setFlagEvaso(FlagEvaso.from(flagEvaso));
dtbOrdr.setValUntIva(wrapperInnerRs.getBigDecimal("val_unt_iva"));
/*
PER LE AZIENDE FLOROVIVAISTICHE E' NECESSARIO:

View File

@@ -9,6 +9,7 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.entity.*;
import it.integry.ems_model.entity._enum.FlagEvaso;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityDB;
@@ -367,7 +368,7 @@ public class ProductionLineClosureService {
dtbOrdr.setDataOrd(dataOrdRif);
dtbOrdr.setNumOrd(numOrdRif);
dtbOrdr.setRigaOrd(rigaOrdRif);
dtbOrdr.setFlagEvaso("E");
dtbOrdr.setFlagEvaso(FlagEvaso.EVASO);
List<DtbOrdr> listDtbOrdr = new ArrayList<DtbOrdr>();
listDtbOrdr.add(dtbOrdr);
dtbOrdt.setDtbOrdr(listDtbOrdr);