Creazione servizio per archiviazione file allegati in zip
This commit is contained in:
@@ -7,7 +7,9 @@ import it.integry.ems.Import.base.EntityImportResponse;
|
||||
import it.integry.ems.Import.dto.ImportRequestDTO;
|
||||
import it.integry.ems.download.DownloadFileHandlerService;
|
||||
import it.integry.ems.download.dto.DownloadFileDto;
|
||||
import it.integry.ems.dto.CreateZipDTO;
|
||||
import it.integry.ems.dto.EntityHierarchy;
|
||||
import it.integry.ems.exception.MissingDataException;
|
||||
import it.integry.ems.export.base.EntityExportResponse;
|
||||
import it.integry.ems.export.base.EntityExportedFile;
|
||||
import it.integry.ems.javabeans.RequestDataDTO;
|
||||
@@ -57,7 +59,9 @@ import org.springframework.web.util.HtmlUtils;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.ParameterizedType;
|
||||
@@ -69,6 +73,7 @@ import java.util.Date;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
@RestController
|
||||
@Scope("request")
|
||||
@@ -1086,6 +1091,11 @@ public class EmsController {
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "createZipFromFiles", method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse createZipFromFiles(@RequestBody CreateZipDTO createZipDTO) throws Exception {
|
||||
return ServiceRestResponse.createPositiveResponse(emsServices.createZipFromFiles(createZipDTO));
|
||||
}
|
||||
|
||||
// @RequestMapping(value = EmsRestConstants.PATH_UPLOAD_STB_EMAIL_CONTENT, method = RequestMethod.POST)
|
||||
// public ServiceRestResponse uploadStbFileAttachment(HttpServletRequest request, HttpServletResponse response,
|
||||
|
||||
108
ems-core/src/main/java/it/integry/ems/dto/CreateZipDTO.java
Normal file
108
ems-core/src/main/java/it/integry/ems/dto/CreateZipDTO.java
Normal file
@@ -0,0 +1,108 @@
|
||||
package it.integry.ems.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import it.integry.ems.report.dto.JasperDTO;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.entity.MtbUntMis;
|
||||
import it.integry.ems_model.entity.StbActivityFile;
|
||||
import it.integry.ems_model.entity._enum.IBaseEnum;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class CreateZipDTO {
|
||||
private List<String> listIdAttach;
|
||||
|
||||
private List<StbActivityFile> listStbActivityFile;
|
||||
|
||||
private String fileName;
|
||||
|
||||
private SaveMode saveMode = SaveMode.STB_FILES_ATTACHED;
|
||||
|
||||
private EntityBase entityToSaveTo;
|
||||
|
||||
public List<String> getListIdAttach() {
|
||||
return listIdAttach;
|
||||
}
|
||||
|
||||
public CreateZipDTO setListIdAttach(List<String> listIdAttach) {
|
||||
this.listIdAttach = listIdAttach;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<StbActivityFile> getListStbActivityFile() {
|
||||
return listStbActivityFile;
|
||||
}
|
||||
|
||||
public CreateZipDTO setListStbActivityFile(List<StbActivityFile> listStbActivityFile) {
|
||||
this.listStbActivityFile = listStbActivityFile;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFileName() {
|
||||
return fileName;
|
||||
}
|
||||
|
||||
public CreateZipDTO setFileName(String fileName) {
|
||||
this.fileName = fileName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public SaveMode getSaveMode() {
|
||||
return saveMode;
|
||||
}
|
||||
|
||||
public CreateZipDTO setSaveMode(SaveMode saveMode) {
|
||||
this.saveMode = saveMode;
|
||||
return this;
|
||||
}
|
||||
|
||||
public EntityBase getEntityToSaveTo() {
|
||||
return entityToSaveTo;
|
||||
}
|
||||
|
||||
public CreateZipDTO setEntityToSaveTo(EntityBase entityToSaveTo) {
|
||||
this.entityToSaveTo = entityToSaveTo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public enum SaveMode implements IBaseEnum<SaveMode> {
|
||||
STB_FILES_ATTACHED((short) 0),
|
||||
STB_ACTIVITY_FILE((short) 1);
|
||||
|
||||
private final short value;
|
||||
|
||||
SaveMode(final short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public static SaveMode from(Object value) {
|
||||
short castValue = (short) value;
|
||||
for (SaveMode b : SaveMode.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 SaveMode fromInternal(Object val) {
|
||||
return from(val);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.valueOf(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package it.integry.ems.exception;
|
||||
|
||||
public class MissingDataException extends Exception {
|
||||
public MissingDataException(String method) {
|
||||
super("Dati mancanti in " + method);
|
||||
public MissingDataException(String error) {
|
||||
super("Dati mancanti: " + error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
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_20240603182627 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
createOrUpdateFunction("CountAllegatiCommessa", "CREATE FUNCTION [dbo].[CountAllegatiCommessa](@codJcom VARCHAR(10), @userName VARCHAR(40))\n" +
|
||||
" RETURNS INTEGER\n" +
|
||||
" AS\n" +
|
||||
" BEGIN\n" +
|
||||
" DECLARE @countAllegati INTEGER\n" +
|
||||
"\n" +
|
||||
" SELECT @countAllegati = SUM(cnt)\n" +
|
||||
" FROM (SELECT COUNT(file_name) AS cnt\n" +
|
||||
" FROM stb_activity_file\n" +
|
||||
" WHERE id IN (SELECT stb_activity.activity_id\n" +
|
||||
" FROM jtb_comt\n" +
|
||||
" INNER JOIN stb_activity ON jtb_comt.cod_jcom = stb_activity.cod_jcom AND\n" +
|
||||
" stb_activity.parent_activity_id IS NULL\n" +
|
||||
" INNER JOIN stb_activity_type\n" +
|
||||
" ON stb_activity.activity_type_id =\n" +
|
||||
" stb_activity_type.activity_type_id AND\n" +
|
||||
" stb_activity_type.flag_tipologia = 'P'\n" +
|
||||
" WHERE jtb_comt.cod_jcom = @codJcom)\n" +
|
||||
"\n" +
|
||||
" UNION ALL\n" +
|
||||
"\n" +
|
||||
" SELECT COUNT(stb_activity_file.file_name) AS cnt\n" +
|
||||
" FROM stb_activity\n" +
|
||||
" INNER JOIN stb_activity_file ON stb_activity.activity_id = stb_activity_file.id\n" +
|
||||
" WHERE stb_activity.cod_jcom = @codJcom\n" +
|
||||
" AND activity_type_id IN (SELECT activity_type_id\n" +
|
||||
" FROM srl_activity_type_user\n" +
|
||||
" INNER JOIN jrl_flav_users\n" +
|
||||
" ON srl_activity_type_user.user_name = jrl_flav_users.user_name\n" +
|
||||
" INNER JOIN wtb_users\n" +
|
||||
" ON wtb_users.User_name =\n" +
|
||||
" jrl_flav_users.user_name AND\n" +
|
||||
" wtb_users.user_name = @userName)\n" +
|
||||
" AND @userName IN (stb_activity.user_creator, stb_activity.user_name)\n" +
|
||||
"\n" +
|
||||
" UNION ALL\n" +
|
||||
"\n" +
|
||||
" SELECT COUNT(filename) AS cnt\n" +
|
||||
" FROM dtb_doc_pdf\n" +
|
||||
" INNER JOIN\n" +
|
||||
" (SELECT dtb_doct.num_doc,\n" +
|
||||
" dtb_doct.data_doc,\n" +
|
||||
" dtb_doct.cod_dtip,\n" +
|
||||
" dtb_doct.cod_anag,\n" +
|
||||
" dtb_doct.ser_doc,\n" +
|
||||
" dtb_doct.cod_jcom,\n" +
|
||||
" dtb_doct.gestione,\n" +
|
||||
" MAX(versione) AS versione,\n" +
|
||||
" dtb_ordt.data_ord,\n" +
|
||||
" dtb_ordt.num_ord,\n" +
|
||||
" dtb_ordt.num_ord_provv\n" +
|
||||
" FROM dtb_doc_pdf\n" +
|
||||
" INNER JOIN dtb_doct\n" +
|
||||
" ON dtb_doct.data_doc = dtb_doc_pdf.data_doc AND\n" +
|
||||
" dtb_doct.num_doc = dtb_doc_pdf.num_doc AND\n" +
|
||||
" dtb_doct.cod_dtip = dtb_doc_pdf.cod_dtip AND\n" +
|
||||
" dtb_doct.cod_anag = dtb_doc_pdf.cod_anag AND\n" +
|
||||
" dtb_doct.ser_doc = dtb_doc_pdf.ser_doc\n" +
|
||||
" INNER JOIN dtb_docr ON dtb_doct.data_doc = dtb_docr.data_doc AND\n" +
|
||||
" dtb_doct.num_doc = dtb_docr.num_doc AND\n" +
|
||||
" dtb_doct.ser_doc = dtb_docr.ser_doc AND\n" +
|
||||
" dtb_doct.cod_dtip = dtb_docr.cod_dtip AND\n" +
|
||||
" dtb_doct.cod_anag = dtb_docr.cod_anag\n" +
|
||||
" LEFT OUTER JOIN dtb_ordt\n" +
|
||||
" ON dtb_doct.gestione = dtb_ordt.gestione AND\n" +
|
||||
" dtb_doct.data_ord = dtb_ordt.data_ord AND\n" +
|
||||
" dtb_doct.num_ord = dtb_ordt.num_ord\n" +
|
||||
" WHERE (filecontent IS NOT NULL OR ref_uuid IS NOT NULL)\n" +
|
||||
" GROUP BY dtb_doct.num_doc, dtb_doct.data_doc, dtb_doct.cod_dtip,\n" +
|
||||
" dtb_doct.cod_anag, dtb_doct.ser_doc,\n" +
|
||||
" dtb_doct.cod_jcom, dtb_doct.gestione, dtb_ordt.data_ord,\n" +
|
||||
" dtb_ordt.num_ord, dtb_ordt.num_ord_provv) t\n" +
|
||||
" ON dtb_doc_pdf.num_doc = t.num_doc AND\n" +
|
||||
" dtb_doc_pdf.data_doc = t.data_doc AND\n" +
|
||||
" dtb_doc_pdf.cod_dtip = t.cod_dtip AND\n" +
|
||||
" dtb_doc_pdf.cod_anag = t.cod_anag AND\n" +
|
||||
" dtb_doc_pdf.ser_doc = t.ser_doc AND\n" +
|
||||
" dtb_doc_pdf.versione = t.versione\n" +
|
||||
" WHERE cod_jcom = @codJcom\n" +
|
||||
"\n" +
|
||||
" UNION ALL\n" +
|
||||
"\n" +
|
||||
" SELECT COUNT(stb_files_attached.file_name) AS cnt\n" +
|
||||
" FROM stb_files_attached,\n" +
|
||||
" drl_ord_attached,\n" +
|
||||
" dtb_ordt\n" +
|
||||
" WHERE stb_files_attached.id_attach = drl_ord_attached.id_attach\n" +
|
||||
" AND drl_ord_attached.gestione = dtb_ordt.gestione\n" +
|
||||
" AND drl_ord_attached.data_ord = dtb_ordt.data_ord\n" +
|
||||
" AND drl_ord_attached.num_ord = dtb_ordt.num_ord\n" +
|
||||
" AND dtb_ordt.cod_jcom = @codJcom\n" +
|
||||
"\n" +
|
||||
" UNION ALL\n" +
|
||||
"\n" +
|
||||
" SELECT COUNT(stb_files_attached.file_name) AS cnt\n" +
|
||||
" FROM stb_files_attached,\n" +
|
||||
" drl_doc_attached,\n" +
|
||||
" dtb_docr\n" +
|
||||
" WHERE stb_files_attached.id_attach = drl_doc_attached.id_attach\n" +
|
||||
" AND drl_doc_attached.cod_anag = dtb_docr.cod_anag\n" +
|
||||
" AND drl_doc_attached.cod_dtip = dtb_docr.cod_dtip\n" +
|
||||
" AND drl_doc_attached.data_doc = dtb_docr.data_doc\n" +
|
||||
" AND drl_doc_attached.ser_doc = dtb_docr.ser_doc\n" +
|
||||
" AND drl_doc_attached.num_doc = dtb_docr.num_doc\n" +
|
||||
" AND dtb_docr.cod_jcom = @codJcom) t\n" +
|
||||
"\n" +
|
||||
" RETURN @countAllegati\n" +
|
||||
" END");
|
||||
|
||||
String value = null;
|
||||
|
||||
if (isCustomer(IntegryCustomer.Materica)) {
|
||||
executeStatement("INSERT INTO stb_activity_type (activity_type_id, estimated_duration, cod_jfas, user_name, flag_tipologia,\n" +
|
||||
" flag_attiva, link_gest, flag_sal, flag_set_alarm, flag_generate_mov,\n" +
|
||||
" flag_view_calendar)\n" +
|
||||
"VALUES (N'ESPORTAZIONE', 0.10000, N'COM', NULL, N'A', N'S', NULL, N'N', N'N', N'S', 0)");
|
||||
|
||||
value = "ESPORTAZIONE";
|
||||
}
|
||||
|
||||
createSetup("PVM", "CONTATTI_COMMESSE", "TIPO_ATTIVITA_ARCHIVIO", value,
|
||||
"Tipo di attività da assegnare alla creazione di archivi commessa", "ACTIVITY_TYPE");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,10 +13,8 @@ import it.integry.ems.Import.dto.AnomalieDTO;
|
||||
import it.integry.ems.Import.dto.ImportRequestDTO;
|
||||
import it.integry.ems.Import.enums.EntityImportType;
|
||||
import it.integry.ems.datasource.DataSource;
|
||||
import it.integry.ems.dto.ApplicationInfoDTO;
|
||||
import it.integry.ems.dto.DatabaseEngineInfoDTO;
|
||||
import it.integry.ems.dto.DatabaseInfoDTO;
|
||||
import it.integry.ems.dto.EntityHierarchy;
|
||||
import it.integry.ems.dto.*;
|
||||
import it.integry.ems.exception.MissingDataException;
|
||||
import it.integry.ems.export.base.EntityExportResponse;
|
||||
import it.integry.ems.export.base.EntityExporterUtility;
|
||||
import it.integry.ems.export.base.IEntityExporter;
|
||||
@@ -38,22 +36,18 @@ import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityDebug;
|
||||
import it.integry.ems.utility.UtilityDirs;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
import it.integry.ems.utility.UtilityFile;
|
||||
import it.integry.ems_model.annotation.Master;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.base.EntityPropertyHolder;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.entity.Azienda;
|
||||
import it.integry.ems_model.entity.MrlPartitaMagAttached;
|
||||
import it.integry.ems_model.entity.StbFilesAttached;
|
||||
import it.integry.ems_model.entity.WtbUsersInfo;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.exception.EntityException;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityHashMap;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
import it.integry.ems_model.utility.*;
|
||||
import it.integry.security.utility.RestUtil;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
@@ -78,7 +72,10 @@ import java.lang.management.RuntimeMXBean;
|
||||
import java.lang.reflect.Field;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
@@ -584,6 +581,137 @@ public class EmsServices {
|
||||
return null;
|
||||
}
|
||||
|
||||
public String createZipFromFiles(CreateZipDTO createZipDTO) throws Exception {
|
||||
if (createZipDTO == null) {
|
||||
throw new MissingDataException("createZipFromFiles");
|
||||
}
|
||||
|
||||
String downloadUrl = null;
|
||||
|
||||
try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
ZipOutputStream zos = new ZipOutputStream(baos)) {
|
||||
if (createZipDTO.getListIdAttach() != null && !createZipDTO.getListIdAttach().isEmpty()) {
|
||||
List<StbFilesAttached> filesAttachedList = createZipDTO.getListIdAttach().stream()
|
||||
.map(idAttach -> {
|
||||
StbFilesAttached stbFilesAttached = new StbFilesAttached()
|
||||
.setIdAttach(idAttach);
|
||||
|
||||
stbFilesAttached.setOperation(OperationType.SELECT_OBJECT);
|
||||
|
||||
return stbFilesAttached;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
List<EntityBase> entityBases = Collections.unmodifiableList(entityProcessor.processEntityList(filesAttachedList, true));
|
||||
|
||||
UtilityEntity.throwEntitiesException(entityBases);
|
||||
|
||||
filesAttachedList = UtilityEntity.toCustomEntity(entityBases);
|
||||
|
||||
for (StbFilesAttached stbFilesAttached : filesAttachedList) {
|
||||
UtilityZip.addFileToArchive(zos, stbFilesAttached.getFileName(), stbFilesAttached.getContent());
|
||||
}
|
||||
}
|
||||
|
||||
if (createZipDTO.getListStbActivityFile() != null && !createZipDTO.getListStbActivityFile().isEmpty()) {
|
||||
List<StbActivityFile> activityFiles = createZipDTO.getListStbActivityFile().stream()
|
||||
.filter(stbActivityFile -> !UtilityString.isNullOrEmpty(stbActivityFile.getFileName()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
List<StbActivityFile> listStbActivityFileIds = createZipDTO.getListStbActivityFile().stream()
|
||||
.filter(stbActivityFile -> UtilityString.isNullOrEmpty(stbActivityFile.getFileName()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (!listStbActivityFileIds.isEmpty()) {
|
||||
for (StbActivityFile stbActivityFile : listStbActivityFileIds) {
|
||||
String sql = Query.format(
|
||||
"SELECT file_name FROM stb_activity_file WHERE id = %s",
|
||||
stbActivityFile.getId()
|
||||
);
|
||||
|
||||
List<String> fileNames = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
for (String fileName : fileNames) {
|
||||
StbActivityFile stbActivityFileWithFilename = new StbActivityFile()
|
||||
.setId(stbActivityFile.getId())
|
||||
.setFileName(fileName);
|
||||
|
||||
activityFiles.add(stbActivityFileWithFilename);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
activityFiles = activityFiles.stream()
|
||||
.peek(activityFile -> activityFile.setOperation(OperationType.SELECT_OBJECT))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
List<EntityBase> entityBases = entityProcessor.processEntityList(activityFiles, true);
|
||||
|
||||
UtilityEntity.throwEntitiesException(entityBases);
|
||||
|
||||
activityFiles = UtilityEntity.toCustomEntity(entityBases);
|
||||
|
||||
for (StbActivityFile stbActivityFile : activityFiles) {
|
||||
UtilityZip.addFileToArchive(zos, stbActivityFile.getFileName(), stbActivityFile.getContent());
|
||||
}
|
||||
}
|
||||
|
||||
if (baos.size() > 0) {
|
||||
zos.close();
|
||||
|
||||
String fileName = UtilityString.isNull(createZipDTO.getFileName(), UtilityLocalDate.formatDate(LocalDateTime.now(), "dd-MM-yyyy HH:mm:ss")) + ".zip";
|
||||
|
||||
switch (createZipDTO.getSaveMode()) {
|
||||
case STB_FILES_ATTACHED:
|
||||
StbFilesAttached zipFile = this.uploadStbFilesAttached(
|
||||
null,
|
||||
fileName,
|
||||
baos.toByteArray(),
|
||||
null, null, null, null);
|
||||
|
||||
if (zipFile != null) {
|
||||
downloadUrl = String.format("%s/%s/%s", EmsRestConstants.PATH_DOWNLOAD_STB_FILE_ATTACHMENT, zipFile.getIdAttach(), zipFile.getFileName());
|
||||
}
|
||||
|
||||
break;
|
||||
case STB_ACTIVITY_FILE:
|
||||
StbActivity stbActivity = createZipDTO.getEntityToSaveTo() instanceof StbActivity ? (StbActivity) createZipDTO.getEntityToSaveTo() : null;
|
||||
|
||||
if (stbActivity == null) {
|
||||
throw new MissingDataException("Dati mancanti in createZipFromFiles");
|
||||
}
|
||||
|
||||
StbActivityFile activityFile = new StbActivityFile()
|
||||
.setFileName(fileName)
|
||||
.setLastUpd(new Date())
|
||||
.setOriginalSize(baos.size())
|
||||
.setContent(baos.toByteArray());
|
||||
|
||||
activityFile.setOperation(OperationType.INSERT);
|
||||
|
||||
stbActivity.setStbActivityFile(new ArrayList<>());
|
||||
|
||||
stbActivity.getStbActivityFile().add(activityFile);
|
||||
|
||||
stbActivity.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
|
||||
entityProcessor.processEntity(stbActivity, multiDBTransactionManager);
|
||||
|
||||
if (stbActivity.getActivityId() != null) {
|
||||
downloadUrl = String.format("%s/%s/%s", EmsRestConstants.PATH_DOWNLOAD_STB_ACTIVITY_FILE_ATTACHMENT, stbActivity.getActivityId(), fileName);
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
throw new Exception("Unknown save mode " + createZipDTO.getSaveMode());
|
||||
}
|
||||
} else {
|
||||
throw new Exception("Nessun file creato in createZipFromFiles");
|
||||
}
|
||||
}
|
||||
|
||||
return downloadUrl;
|
||||
}
|
||||
|
||||
public void cleanDirectories() throws Exception {
|
||||
//Mi leggo tutte le configurazioni che hanno i GG_CANC_FILE abilitati
|
||||
|
||||
@@ -91,4 +91,14 @@ public class UtilityZip {
|
||||
|
||||
return zipOutputStream;
|
||||
}
|
||||
|
||||
public static void addFileToArchive(ZipOutputStream zipOutputStream, String fileName, byte[] content) throws IOException {
|
||||
ZipEntry zipEntry = new ZipEntry(fileName);
|
||||
|
||||
zipEntry.setSize(content.length);
|
||||
|
||||
zipOutputStream.putNextEntry(zipEntry);
|
||||
zipOutputStream.write(content);
|
||||
zipOutputStream.closeEntry();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -796,10 +796,9 @@ public class DocumentController {
|
||||
@RequestParam(defaultValue = "false") boolean requestThumbnail) {
|
||||
|
||||
try {
|
||||
String completeFileName = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/") + 1);
|
||||
StbActivityFile stbActivityFile = new StbActivityFile()
|
||||
.setId(id)
|
||||
.setFileName(completeFileName);
|
||||
.setFileName(fileName);
|
||||
stbActivityFile.setOperation(OperationType.SELECT_OBJECT);
|
||||
|
||||
stbActivityFile = entityProcessor.processEntity(stbActivityFile, multiDBTransactionManager);
|
||||
|
||||
@@ -16,6 +16,8 @@ import it.integry.ems_model.utility.Query;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -38,6 +40,7 @@ import java.util.stream.Stream;
|
||||
@Service
|
||||
@Scope(value = "request")
|
||||
public class SystemMigrationService {
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
@@ -280,6 +283,8 @@ public class SystemMigrationService {
|
||||
final String migrationsJavaPath = baseProjectPath + "java\\it\\integry\\ems\\migration\\model\\";
|
||||
final String migrationsJavaFile = migrationsJavaPath + migrationClassName + ".java";
|
||||
writeContentToFile(migrationsJavaFile, classBuilder.toString(), true);
|
||||
|
||||
logger.info(String.format("Created migration file: %s", migrationClassName));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user