Merge branch 'refs/heads/develop' into feature/Spring5

This commit is contained in:
2024-05-14 11:43:11 +02:00
17 changed files with 236 additions and 164 deletions

View File

@@ -17,7 +17,7 @@ public class Migration_20240426173500 extends BaseMigration implements Migration
if (!isCustomerDb(
IntegryCustomerDB.Carelli_Format)
)
return;
return;
updateSetupValue("EXPORT_DOCUMENTI VENDITA", "DIALOGO", "INSERT_LOG", "S");
}

View File

@@ -11,12 +11,12 @@ public class Migration_20240506152142 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (!isCustomerDb(
IntegryCustomerDB.Gramm_Gramm)){
return;
}
if (!isCustomerDb(
IntegryCustomerDB.Gramm_Gramm)) {
return;
}
createSetup("IMPORT_ORDINI", "EURITMO", "SET_DATA_CONS_CLIE_C2339", "N", "Se impostato a S allora la data di consegna non viene calcolata, ma presa quella del cliente", false, null, false, false, false, false, false, null, false, null);
createSetup("IMPORT_ORDINI", "EURITMO", "SET_DATA_CONS_CLIE_C2339", "N", "Se impostato a S allora la data di consegna non viene calcolata, ma presa quella del cliente", false, null, false, false, false, false, false, null, false, null);
}
@Override

View File

@@ -0,0 +1,26 @@
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_20240513110702 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
String value = "N";
if (isCustomer(IntegryCustomer.RossoGargano))
value = "S";
createSetup("PVM","MONITORAGGIO_LINEE_V2","ALLOW_MULTIPLE_ORDERS_OPEN",value,"Se impostato a S permette di avviare più ordini contemporaneamente sulla linea","SI_NO");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,21 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240513182721 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("alter table dtb_tipi add flag_calc_peso_intra varchar (1) null;");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,58 @@
package it.integry.ems.migration.model;
import it.integry.ems.entity_logger.db_schema_manager.component.SQLServerDBSchemaManager;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
import java.util.List;
public class Migration_20240514113425 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomer(
IntegryCustomer.Biolevante,
IntegryCustomer.Cosmapack,
IntegryCustomer.Didonna,
IntegryCustomer.DolceBonta,
IntegryCustomer.Dulciar,
IntegryCustomer.FolliesGroup,
IntegryCustomer.Fiume,
IntegryCustomer.Frudis,
IntegryCustomer.Idrotecnica,
IntegryCustomer.Ime,
IntegryCustomer.Ivr,
IntegryCustomer.Lamonarca,
IntegryCustomer.Maggio,
IntegryCustomer.Materica,
IntegryCustomer.Midel,
IntegryCustomer.Morgante,
IntegryCustomer.ResinaColor,
IntegryCustomer.RossoGargano,
IntegryCustomer.Salpar,
IntegryCustomer.Sardinya,
IntegryCustomer.Smetar,
IntegryCustomer.Tosca,
IntegryCustomer.TwoBrothers,
IntegryCustomer.Vinella)) {
updateSetupValue("DATI_AZIENDA", "SETUP", "DELIMITED_IDENTIFIER", "1");
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_ANSI_PADDING", "S");
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_CONCAT_NULL_YIELDS_NULL", "S");
SQLServerDBSchemaManager schemaManager = new SQLServerDBSchemaManager(this.advancedDataSource.getConnection());
final List<String> queries = schemaManager.generateAlterTableToDisableAnsiPadding();
//executeStatement(queries.toArray(new String[0]));
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -7,6 +7,8 @@ import it.integry.ems_model.annotation.*;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.utility.UtilityString;
import org.kie.api.definition.type.PropertyReactive;
import javax.persistence.criteria.CriteriaBuilder;
import java.util.Date;
import java.util.List;
@@ -201,6 +203,9 @@ public class DtbTipi extends EntityBase {
@SqlField(value = "flag_cons_consumi", nullable = false, defaultObjectValue = "0")
private Boolean flagConsConsumi;
@SqlField(value = "flag_sezione", nullable = false)
private String flagSezione;
@EntityChild
private List<DtbTipiAnag> dtbTipiAnag;
@@ -710,6 +715,15 @@ public class DtbTipi extends EntityBase {
return this;
}
public String getFlagSezione() {
return flagSezione;
}
public DtbTipi setFlagSezione(String flagSezione) {
this.flagSezione = flagSezione;
return this;
}
public List<DtbTipiAnag> getDtbTipiAnag() {
return dtbTipiAnag;
}

View File

@@ -7,8 +7,8 @@ import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.annotation.Table;
import it.integry.ems_model.base.EntityBase;
import org.kie.api.definition.type.PropertyReactive;
import java.util.Date;
import it.integry.ems_model.annotation.FK;
import java.time.LocalDateTime;
@PropertyReactive
@Table(MtbPartitaMagCarat.ENTITY)
@@ -42,7 +42,7 @@ public class MtbPartitaMagCarat extends EntityBase {
private String fonte;
@SqlField(value = "data_rilevazione", nullable = true)
private Date dataRilevazione;
private LocalDateTime dataRilevazione;
@SqlField(value = "activity_id", maxLength = 15)
private String activityId;
@@ -105,11 +105,11 @@ public class MtbPartitaMagCarat extends EntityBase {
return this;
}
public Date getDataRilevazione() {
public LocalDateTime getDataRilevazione() {
return dataRilevazione;
}
public MtbPartitaMagCarat setDataRilevazione(Date dataRilevazione) {
public MtbPartitaMagCarat setDataRilevazione(LocalDateTime dataRilevazione) {
this.dataRilevazione = dataRilevazione;
return this;
}

View File

@@ -86,6 +86,13 @@ public class UtilityLocalDate {
return TimeUnit.DAYS.toSeconds(localDate.toEpochDay());
}
public static Date localDateTimeToDate(LocalDateTime localDateTime) {
if(localDateTime == null) return null;
long seconds = localDateTimeToTime(localDateTime, null);
return new Date(seconds * 1000);
}
public static Date localDateTimeToDate(LocalDateTime localDateTime, @Nullable String timezone) {
long seconds = localDateTimeToTime(localDateTime, timezone);
return new Date(seconds * 1000);

View File

@@ -9,12 +9,14 @@ import it.integry.ems_model.entity.MtbPartitaMagCarat;
import it.integry.ems_model.entity.StbActivity;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityLocalDate;
import it.integry.ems_model.utility.UtilityString;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@@ -37,7 +39,7 @@ public class AgribookActivityService {
//TODO: Replace with a gest-setup config
private static String ACTIVITY_TYPE_ID = "RILEVAZIONE";
public StbActivity postActivity(OperationType operation, String codAnag, String codVdes, String codMart, String partitaMag, Date dataPianificazione, Date dataRilevazione, Date dataChiusura, String descrizione, String note, String username) throws Exception {
public StbActivity postActivity(OperationType operation, String codAnag, String codVdes, String codMart, String partitaMag, LocalDateTime dataPianificazione, LocalDateTime dataRilevazione, LocalDateTime dataChiusura, String descrizione, String note, String username) throws Exception {
if (UtilityString.isNullOrEmpty(username)) {
username = requestDataDTO.getUsername();
}
@@ -49,11 +51,11 @@ public class AgribookActivityService {
.setPartitaMag(partitaMag)
.setUserName(username)
.setActivityTypeId(ACTIVITY_TYPE_ID)
.setEstimatedDate(dataPianificazione)
.setEstimatedTime(dataPianificazione)
.setEffectiveDate(dataRilevazione)
.setEffectiveTime(dataRilevazione)
.setEffectiveEndtime(dataChiusura)
.setEstimatedDate(UtilityLocalDate.localDateTimeToDate(dataPianificazione))
.setEstimatedTime(UtilityLocalDate.localDateTimeToDate(dataPianificazione))
.setEffectiveDate(UtilityLocalDate.localDateTimeToDate(dataRilevazione))
.setEffectiveTime(UtilityLocalDate.localDateTimeToDate(dataRilevazione))
.setEffectiveEndtime(UtilityLocalDate.localDateTimeToDate(dataChiusura))
.setActivityDescription(descrizione)
.setNote(note);
@@ -65,7 +67,7 @@ public class AgribookActivityService {
return stbActivity;
}
public StbActivity postActivity(OperationType operation, String codAnag, String codVdes, String codMart, String partitaMag, Date dataPianificazione, Date dataRilevazione, Date dataChiusura, String descrizione, String note) throws Exception {
public StbActivity postActivity(OperationType operation, String codAnag, String codVdes, String codMart, String partitaMag, LocalDateTime dataPianificazione, LocalDateTime dataRilevazione, LocalDateTime dataChiusura, String descrizione, String note) throws Exception {
return this.postActivity(operation, codAnag, codVdes, codMart, partitaMag, dataPianificazione, dataRilevazione, dataChiusura, descrizione, note, requestDataDTO.getUsername());
}
@@ -112,15 +114,7 @@ public class AgribookActivityService {
throw new Exception("Nessuna data di pianificazione specificata");
}
StbActivity stbActivity = new StbActivity()
.setCodAnag(codAnag)
.setCodVdes(codVdes)
.setCodMart(codMart)
.setPartitaMag(partitaMag)
.setUserName(UtilityString.isNullOrEmpty(userName) ? requestDataDTO.getUsername() : userName)
.setActivityDescription(description)
.setEstimatedTime(planDate)
.setActivityTypeId(ACTIVITY_TYPE_ID);
StbActivity stbActivity = new StbActivity().setCodAnag(codAnag).setCodVdes(codVdes).setCodMart(codMart).setPartitaMag(partitaMag).setUserName(UtilityString.isNullOrEmpty(userName) ? requestDataDTO.getUsername() : userName).setActivityDescription(description).setEstimatedTime(planDate).setActivityTypeId(ACTIVITY_TYPE_ID);
stbActivity.setOperation(OperationType.INSERT);
@@ -130,33 +124,7 @@ public class AgribookActivityService {
}
public List<AgribookActivityRetrieveRequestDTO> retrieveActivity(String activityId, List<String> codAnag, List<String> codVdes, String codMart, String partitaMag, String username) throws Exception {
String sql = "SELECT ISNULL(vtb_dest.destinatario, gtb_anag.rag_soc) AS destinatario,\n" +
" activity_id,\n" +
" activity_result_id,\n" +
" activity_type_id,\n" +
" data_ins_act,\n" +
" activity_description,\n" +
" parent_activity_id,\n" +
" user_name,\n" +
" stb_activity.cod_anag,\n" +
" estimated_time,\n" +
" effective_time,\n" +
" result_description,\n" +
" estimated_endtime,\n" +
" effective_endtime,\n" +
" user_creator,\n" +
" stb_activity.note,\n" +
" ora_ins_act,\n" +
" user_modifier,\n" +
" ora_mod_act,\n" +
" cod_mart,\n" +
" stb_activity.cod_vdes,\n" +
" partita_mag\n" +
"FROM stb_activity\n" +
"LEFT OUTER JOIN vtb_dest ON vtb_dest.cod_anag = stb_activity.cod_anag AND\n" +
" vtb_dest.cod_vdes = stb_activity.cod_vdes\n" +
" LEFT OUTER JOIN gtb_anag ON gtb_anag.cod_anag = stb_activity.cod_anag\n" +
"WHERE activity_type_id = '" + ACTIVITY_TYPE_ID + "' ";
String sql = "SELECT ISNULL(vtb_dest.destinatario, gtb_anag.rag_soc) AS destinatario,\n" + " activity_id,\n" + " activity_result_id,\n" + " activity_type_id,\n" + " data_ins_act,\n" + " activity_description,\n" + " parent_activity_id,\n" + " user_name,\n" + " stb_activity.cod_anag,\n" + " estimated_time,\n" + " effective_time,\n" + " result_description,\n" + " estimated_endtime,\n" + " effective_endtime,\n" + " user_creator,\n" + " stb_activity.note,\n" + " ora_ins_act,\n" + " user_modifier,\n" + " ora_mod_act,\n" + " cod_mart,\n" + " stb_activity.cod_vdes,\n" + " partita_mag\n" + "FROM stb_activity\n" + "LEFT OUTER JOIN vtb_dest ON vtb_dest.cod_anag = stb_activity.cod_anag AND\n" + " vtb_dest.cod_vdes = stb_activity.cod_vdes\n" + " LEFT OUTER JOIN gtb_anag ON gtb_anag.cod_anag = stb_activity.cod_anag\n" + "WHERE activity_type_id = '" + ACTIVITY_TYPE_ID + "' ";
if (!UtilityString.isNullOrEmpty(activityId)) {
sql += " AND activity_id = " + UtilityDB.valueToString(activityId);
@@ -192,28 +160,20 @@ public class AgribookActivityService {
StbActivity activityToDelete = new StbActivity();
activityToDelete
.setActivityId(activityId)
.setOperation(OperationType.SELECT_OBJECT);
activityToDelete.setActivityId(activityId).setOperation(OperationType.SELECT_OBJECT);
entityProcessor.processEntity(activityToDelete, multiDBTransactionManager);
if (!UtilityString.isNullOrEmpty(activityToDelete.getCodMart()) && !(UtilityString.isNullOrEmpty(activityToDelete.getPartitaMag()))) {
String sql = "SELECT id_riga FROM " + MtbPartitaMagCarat.ENTITY +
" WHERE carat = " + UtilityDB.valueToString(ACTIVITY_ID_KEY) +
" AND val_carat = " + UtilityDB.valueToString(activityId);
String sql = "SELECT id_riga FROM " + MtbPartitaMagCarat.ENTITY + " WHERE carat = " + UtilityDB.valueToString(ACTIVITY_ID_KEY) + " AND val_carat = " + UtilityDB.valueToString(activityId);
Integer idRigaToDelete = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
MtbPartitaMagCarat mtbPartitaMagCarat = new MtbPartitaMagCarat()
.setIdRiga(idRigaToDelete);
MtbPartitaMagCarat mtbPartitaMagCarat = new MtbPartitaMagCarat().setIdRiga(idRigaToDelete);
mtbPartitaMagCarat.setOperation(OperationType.DELETE);
MtbPartitaMag mtbPartitaMag = new MtbPartitaMag()
.setCodMart(activityToDelete.getCodMart())
.setPartitaMag(activityToDelete.getPartitaMag())
.setMtbPartitaMagCarat(Collections.singletonList(mtbPartitaMagCarat));
MtbPartitaMag mtbPartitaMag = new MtbPartitaMag().setCodMart(activityToDelete.getCodMart()).setPartitaMag(activityToDelete.getPartitaMag()).setMtbPartitaMagCarat(Collections.singletonList(mtbPartitaMagCarat));
mtbPartitaMag.setOperation(OperationType.NO_OP);
@@ -232,11 +192,7 @@ public class AgribookActivityService {
throw new Exception("Nessuna data di pianificazione specificata");
}
StbActivity stbActivity = new StbActivity()
.setActivityId(activityId)
.setUserName(UtilityString.isNullOrEmpty(userName) ? requestDataDTO.getUsername() : userName)
.setActivityDescription(description)
.setEstimatedTime(planDate);
StbActivity stbActivity = new StbActivity().setActivityId(activityId).setUserName(UtilityString.isNullOrEmpty(userName) ? requestDataDTO.getUsername() : userName).setActivityDescription(description).setEstimatedTime(planDate);
stbActivity.setOperation(OperationType.UPDATE);

View File

@@ -25,6 +25,7 @@ import org.springframework.web.context.ContextLoader;
import javax.annotation.Nullable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
@@ -338,45 +339,37 @@ public class AgribookOrderService {
final short initialWeekDayShort = Short.parseShort(setupGest.getSetup("PVM", "DELIVERY_PLAN", "GIORNO_INIZIO_SETTIMANA"));
List<AgribookReportDTO> reports = Stream.of(allReports)
List<AgribookReportDTO> reports = allReports.stream()
.filter(x -> x.getCodMart().equalsIgnoreCase(agribookOrderDTO.getCodMart())
&& x.getPartitaMag().equalsIgnoreCase(agribookOrderDTO.getPartitaMag())
).toList();
).collect(Collectors.toList());
if (!reports.isEmpty()) {
agribookOrderDTO.setPrevRaccNumeroSettimane(
Stream.of(reports)
.map(AgribookReportDTO::getPrevRaccNumSett)
.toList()
);
agribookOrderDTO.setPrevisioniRaccolta(
Stream.of(reports)
.filter(x -> x.getPrevRaccNumSett() != null && x.getPrevRaccNumSett() >= UtilityDate.dateToWeekNumber(LocalDate.now(), initialWeekDayShort))
.groupBy(agribookReportDTO -> agribookReportDTO.getPrevRaccNumSett() == null ? "" : agribookReportDTO.getPrevRaccNumSett().toString())
.map(reportsGroup -> {
AgribookReportDTO lastReport = Iterables.getLast(reportsGroup.getValue());
agribookOrderDTO.setPrevisioniRaccolta(
Stream.of(reports)
.filter(x -> x.getPrevRaccNumSett() == null || x.getPrevRaccNumSett() > UtilityDate.dateToWeekNumber(LocalDate.now(), initialWeekDayShort))
.groupBy(agribookReportDTO -> agribookReportDTO.getPrevRaccNumSett() == null ? "" : agribookReportDTO.getPrevRaccNumSett().toString())
.map(reportsGroup -> {
AgribookReportDTO lastReport = Iterables.getLast(reportsGroup.getValue());
int lastPrevRaccQtaSett = lastReport.getPrevRaccQtaSett() == null ? 0 : lastReport.getPrevRaccQtaSett();
int lastPrevRaccQtaSett = lastReport.getPrevRaccQtaSett() == null ? 0 : lastReport.getPrevRaccQtaSett();
int sumQtaClassePremium = lastPrevRaccQtaSett
* lastReport.getPrevRaccPercClassePremium() / 100;
int sumQtaClasse1 = lastPrevRaccQtaSett
* lastReport.getPrevRaccPercClasse1() / 100;
int sumQtaClasse2 = lastPrevRaccQtaSett
* lastReport.getPrevRaccPercClasse2() / 100;
int sumQtaClassePremium = lastPrevRaccQtaSett
* lastReport.getPrevRaccPercClassePremium() / 100;
int sumQtaClasse1 = lastPrevRaccQtaSett
* lastReport.getPrevRaccPercClasse1() / 100;
int sumQtaClasse2 = lastPrevRaccQtaSett
* lastReport.getPrevRaccPercClasse2() / 100;
return new AgribookPrevRaccoltaDTO()
.setDataRilevazione(lastReport.getDataRilevazione())
.setNumSettimana(reportsGroup.getKey().equalsIgnoreCase("") ? null : Integer.valueOf(reportsGroup.getKey()))
.setQtaSettimana(lastPrevRaccQtaSett)
.setPercClassePremium(Float.valueOf((float) sumQtaClassePremium / lastPrevRaccQtaSett * 100).intValue())
.setPercClasse1(Float.valueOf((float) sumQtaClasse1 / lastPrevRaccQtaSett * 100).intValue())
.setPercClasse2(Float.valueOf((float) sumQtaClasse2 / lastPrevRaccQtaSett * 100).intValue());
})
.toList()
);
}
return new AgribookPrevRaccoltaDTO()
.setDataRilevazione(lastReport.getDataRilevazione())
.setNumSettimana(reportsGroup.getKey().equalsIgnoreCase("") ? null : Integer.valueOf(reportsGroup.getKey()))
.setQtaSettimana(lastPrevRaccQtaSett)
.setPercClassePremium(Float.valueOf((float) sumQtaClassePremium / lastPrevRaccQtaSett * 100).intValue())
.setPercClasse1(Float.valueOf((float) sumQtaClasse1 / lastPrevRaccQtaSett * 100).intValue())
.setPercClasse2(Float.valueOf((float) sumQtaClasse2 / lastPrevRaccQtaSett * 100).intValue());
})
.toList()
);
sql = Query.format(
"SELECT mtb_colr.data_collo AS 'data', SUM(mtb_colr.qta_col) AS 'qta', jtb_flav.nome AS 'squadra'\n" +
@@ -406,7 +399,7 @@ public class AgribookOrderService {
agribookOrderDTO.getPartitaMag(),
year);
agribookOrderDTO.setHarvestHistory(UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, HarvestHistoryDTO.class));
agribookOrderDTO.setStoricoRaccolta(UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, AgribookHarvestHistoryDTO.class));
}
@@ -415,7 +408,7 @@ public class AgribookOrderService {
public void updatePercClassi(String codMart, String partitaMag, int newPercClasse1, int newPercClasse2, int newPercClassePremium) throws Exception {
Date dataRilevazione = new Date();
LocalDateTime dataRilevazione = UtilityLocalDate.getNowTime();
MtbPartitaMagCarat caratClasse1 = new MtbPartitaMagCarat()
.setDataRilevazione(dataRilevazione)
@@ -466,14 +459,14 @@ public class AgribookOrderService {
MtbPartitaMagCarat caratActivityId = new MtbPartitaMagCarat()
.setDataRilevazione(new Date())
.setDataRilevazione(UtilityLocalDate.getNowTime())
.setCarat("activity-id")
.setValCarat(stbActivity.getActivityId());
caratActivityId.setOperation(OperationType.INSERT);
MtbPartitaMagCarat caratQtaResidua = new MtbPartitaMagCarat()
.setDataRilevazione(new Date())
.setDataRilevazione(UtilityLocalDate.getNowTime())
.setCarat("qta-residua")
.setValCarat(String.valueOf(qtaResidua));
caratQtaResidua.setOperation(OperationType.INSERT);
@@ -513,7 +506,7 @@ public class AgribookOrderService {
MtbPartitaMagCarat caratActivityId = new MtbPartitaMagCarat()
.setDataRilevazione(new Date())
.setDataRilevazione(UtilityLocalDate.getNowTime())
.setCarat("activity-id")
.setValCarat(stbActivity.getActivityId());
caratActivityId.setOperation(OperationType.INSERT);
@@ -548,7 +541,7 @@ public class AgribookOrderService {
.setIdRiga(idRiga)
.setCarat("n-piante")
.setValCarat(String.valueOf(piantePartita))
.setDataRilevazione(new Date());
.setDataRilevazione(UtilityLocalDate.getNowTime());
caratNPiante.setOperation(OperationType.INSERT_OR_UPDATE);

View File

@@ -2,7 +2,6 @@ package it.integry.ems.production.agribook;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import it.integry.common.var.CommonConstants;
import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.json.ResponseJSONObjectMapper;
import it.integry.ems.media.MimeTypesHandler;
@@ -18,6 +17,7 @@ import it.integry.ems_model.entity.StbActivity;
import it.integry.ems_model.entity.StbActivityFile;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityLocalDate;
import it.integry.ems_model.utility.UtilityQuery;
import it.integry.ems_model.utility.UtilityString;
import org.springframework.beans.factory.annotation.Autowired;
@@ -265,8 +265,8 @@ public class AgribookReportService {
} else {
stbActivity = new StbActivity()
.setActivityId(reportToInsert.getActivityId())
.setEffectiveTime(reportToInsert.getDataRilevazione())
.setEffectiveEndtime(reportToInsert.getDataRilevazione());
.setEffectiveTime(UtilityLocalDate.localDateTimeToDate(reportToInsert.getDataRilevazione()))
.setEffectiveEndtime(UtilityLocalDate.localDateTimeToDate(reportToInsert.getDataRilevazione()));
stbActivity.setOperation(OperationType.UPDATE);
@@ -320,7 +320,7 @@ public class AgribookReportService {
" AND carat = '%s'",
mtbPartitaMagCarat.getCodMart(),
mtbPartitaMagCarat.getPartitaMag(),
UtilityDB.valueDateToString(mtbPartitaMagCarat.getDataRilevazione(), CommonConstants.DATETIME_FORMAT_YMD),
UtilityDB.valueToString(mtbPartitaMagCarat.getDataRilevazione()),
key
);

View File

@@ -5,7 +5,7 @@ import it.integry.ems_model.annotation.SqlField;
import java.math.BigDecimal;
import java.time.LocalDate;
public class HarvestHistoryDTO {
public class AgribookHarvestHistoryDTO {
@SqlField("data")
public LocalDate data;
@@ -18,7 +18,7 @@ public class HarvestHistoryDTO {
return data;
}
public HarvestHistoryDTO setData(LocalDate data) {
public AgribookHarvestHistoryDTO setData(LocalDate data) {
this.data = data;
return this;
}
@@ -27,7 +27,7 @@ public class HarvestHistoryDTO {
return qta;
}
public HarvestHistoryDTO setQta(BigDecimal qta) {
public AgribookHarvestHistoryDTO setQta(BigDecimal qta) {
this.qta = qta;
return this;
}
@@ -36,7 +36,7 @@ public class HarvestHistoryDTO {
return squadra;
}
public HarvestHistoryDTO setSquadra(String squadra) {
public AgribookHarvestHistoryDTO setSquadra(String squadra) {
this.squadra = squadra;
return this;
}

View File

@@ -71,8 +71,7 @@ public class AgribookOrderDTO extends ComposedEntityBase {
private AgribookDestinatarioDTO destinatario;
private MtbDepo mtbDepo;
private List<AgribookPrevRaccoltaDTO> previsioniRaccolta;
private List<Integer> prevRaccNumeroSettimane;
private List<HarvestHistoryDTO> harvestHistory;
private List<AgribookHarvestHistoryDTO> storicoRaccolta;
private List<AgribookOrderAttachmentDTO> attachments;
@@ -361,21 +360,12 @@ public class AgribookOrderDTO extends ComposedEntityBase {
return this;
}
public List<HarvestHistoryDTO> getHarvestHistory() {
return harvestHistory;
public List<AgribookHarvestHistoryDTO> getStoricoRaccolta() {
return storicoRaccolta;
}
public AgribookOrderDTO setHarvestHistory(List<HarvestHistoryDTO> harvestHistory) {
this.harvestHistory = harvestHistory;
return this;
}
public List<Integer> getPrevRaccNumeroSettimane() {
return prevRaccNumeroSettimane;
}
public AgribookOrderDTO setPrevRaccNumeroSettimane(List<Integer> prevRaccNumeroSettimane) {
this.prevRaccNumeroSettimane = prevRaccNumeroSettimane;
public AgribookOrderDTO setStoricoRaccolta(List<AgribookHarvestHistoryDTO> storicoRaccolta) {
this.storicoRaccolta = storicoRaccolta;
return this;
}
}

View File

@@ -1,21 +1,21 @@
package it.integry.ems.production.agribook.model;
import java.util.Date;
import java.time.LocalDateTime;
public class AgribookPrevRaccoltaDTO {
Date dataRilevazione;
Integer numSettimana;
Integer qtaSettimana;
Integer percClassePremium;
Integer percClasse1;
Integer percClasse2;
private LocalDateTime dataRilevazione;
private Integer numSettimana;
private Integer qtaSettimana;
private Integer percClassePremium;
private Integer percClasse1;
private Integer percClasse2;
public Date getDataRilevazione() {
public LocalDateTime getDataRilevazione() {
return dataRilevazione;
}
public AgribookPrevRaccoltaDTO setDataRilevazione(Date dataRilevazione) {
public AgribookPrevRaccoltaDTO setDataRilevazione(LocalDateTime dataRilevazione) {
this.dataRilevazione = dataRilevazione;
return this;
}

View File

@@ -3,7 +3,7 @@ package it.integry.ems.production.agribook.model;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.entity.StbActivity;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.List;
public class AgribookReportDTO {
@@ -25,7 +25,7 @@ public class AgribookReportDTO {
@SqlField("destinazione")
private List<String> destinazioni;
@SqlField("data_rilevazione")
private Date dataRilevazione;
private LocalDateTime dataRilevazione;
@SqlField("note")
private String note;
@SqlField("activity_id")
@@ -117,11 +117,11 @@ public class AgribookReportDTO {
return this;
}
public Date getDataRilevazione() {
public LocalDateTime getDataRilevazione() {
return dataRilevazione;
}
public AgribookReportDTO setDataRilevazione(Date dataRilevazione) {
public AgribookReportDTO setDataRilevazione(LocalDateTime dataRilevazione) {
this.dataRilevazione = dataRilevazione;
return this;
}

View File

@@ -46,7 +46,6 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
@@ -902,12 +901,11 @@ public class MesProductionServiceV2 {
public MtbColt createColloCaricoProdottoFinito(CaricoProdottoFinitoDTO dto) throws Exception {
DtbOrdt ordineLav = new DtbOrdt()
.setDataOrd(dto.getDataOrd())
.setGestione(dto.getGestione())
.setNumOrd(dto.getNumOrd());
ordineLav.setOperation(OperationType.SELECT_OBJECT);
entityProcessor.processEntity(ordineLav, multiDBTransactionManager);
MtbAart mtbAart = new MtbAart().setCodMart(ordineLav.getCodProd());
@@ -1213,6 +1211,7 @@ public class MesProductionServiceV2 {
break;
case CLOSE:
this.closeStep(ordine.getDataOrd(), ordine.getNumOrd(), ordine.getGestione(), groupStepDTO.getCodJfas(), null, null);
break;
case STOP:
String codDtipScar = setupGest.getSetup("W_PORDI_RC", "SETUP_DOCUMENTI", "COD_DTIP_SCAR");

View File

@@ -813,18 +813,6 @@ public class ProductionService {
if (chiusuraLavorazioneDTO.isChiudiOrdine()) {
entityBaseList.addAll(evadiIdLotto(chiusuraLavorazioneDTO.getIdLotto(), chiusuraLavorazioneDTO.getCodJfas()));
Date dataDoc = chiusuraLavorazioneDTO.getCaricoLavorazioneDTO() != null && chiusuraLavorazioneDTO.getCaricoLavorazioneDTO().getDataDoc() != null ? chiusuraLavorazioneDTO.getCaricoLavorazioneDTO().getDataDoc() : new Date();
JtbLott jtbLott = new JtbLott()
.setIdLotto(chiusuraLavorazioneDTO.getIdLotto())
.setCodJfas(chiusuraLavorazioneDTO.getCodJfas())
.setDataChiusura(dataDoc)
.setFlagComp("S");
jtbLott.setOperation(OperationType.UPDATE);
entityBaseList.add(jtbLott);
} else if (chiusuraLavorazioneDTO.isTerminaLavorazioneLinea()) {
entityBaseList.add(terminaLavorazioneLinea(chiusuraLavorazioneDTO.getOrdine(), chiusuraLavorazioneDTO.getCodJfas()));
}
@@ -833,6 +821,26 @@ public class ProductionService {
entityBaseList.addAll(documentProdService.generaDocumentiLavorazioneIdLotto(chiusuraLavorazioneDTO));
}
Date dataDoc;
if (chiusuraLavorazioneDTO.getCaricoLavorazioneDTO() != null && chiusuraLavorazioneDTO.getCaricoLavorazioneDTO().getDataDoc() != null) {
dataDoc = chiusuraLavorazioneDTO.getCaricoLavorazioneDTO().getDataDoc();
} else if (chiusuraLavorazioneDTO.getScaricoLavorazioneDTO() != null && chiusuraLavorazioneDTO.getScaricoLavorazioneDTO().getDataDoc() != null) {
dataDoc = chiusuraLavorazioneDTO.getScaricoLavorazioneDTO().getDataDoc();
} else {
dataDoc = new Date();
}
JtbLott jtbLott = new JtbLott()
.setIdLotto(chiusuraLavorazioneDTO.getIdLotto())
.setCodJfas(chiusuraLavorazioneDTO.getCodJfas())
.setDataChiusura(dataDoc)
.setFlagComp("S");
jtbLott.setOperation(OperationType.UPDATE);
entityBaseList.add(jtbLott);
if (chiusuraLavorazioneDTO.isSalvaDocumenti()) {
entityProcessor.processEntityList(entityBaseList, true);
}
@@ -1019,17 +1027,17 @@ public class ProductionService {
DtbOrdr rigaDist = righeOrdLav.stream().filter(x -> x.getCodMart().equalsIgnoreCase(mod.getCodMart())).findFirst().orElse(null);
if (rigaDist != null) {
rigaDist.setOperation(OperationType.UPDATE);
if (!UtilityString.isNullOrEmpty(mod.getPartitaMag())){
if (!UtilityString.isNullOrEmpty(mod.getPartitaMag())) {
rigaDist.setPartitaMag(mod.getPartitaMag());
}
if (!UtilityBigDecimal.isNullOrZero(mod.getValUnt())){
if (!UtilityBigDecimal.isNullOrZero(mod.getValUnt())) {
rigaDist.setValUnt(mod.getValUnt());
}
ordLav.getDtbOrdr().add(rigaDist);
}
}
entityProcessor.processEntity(ordLav,multiDBTransactionManager);
entityProcessor.processEntity(ordLav, multiDBTransactionManager);
UtilityEntity.throwEntityException(ordLav);
}
}