diff --git a/ems-core/src/main/java/it/integry/ems/dto/CreateZipDTO.java b/ems-core/src/main/java/it/integry/ems/dto/CreateZipDTO.java index 893600d2d0..9722c06da0 100644 --- a/ems-core/src/main/java/it/integry/ems/dto/CreateZipDTO.java +++ b/ems-core/src/main/java/it/integry/ems/dto/CreateZipDTO.java @@ -3,6 +3,7 @@ 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.MtbAartLink; import it.integry.ems_model.entity.MtbUntMis; import it.integry.ems_model.entity.StbActivityFile; import it.integry.ems_model.entity._enum.IBaseEnum; @@ -15,6 +16,8 @@ public class CreateZipDTO { private List listStbActivityFile; + private List listMtbAartLink; + private String fileName; private SaveMode saveMode = SaveMode.STB_FILES_ATTACHED; @@ -39,6 +42,15 @@ public class CreateZipDTO { return this; } + public List getListMtbAartLink() { + return listMtbAartLink; + } + + public CreateZipDTO setListMtbAartLink(List listMtbAartLink) { + this.listMtbAartLink = listMtbAartLink; + return this; + } + public String getFileName() { return fileName; } diff --git a/ems-core/src/main/java/it/integry/ems/service/EmsServices.java b/ems-core/src/main/java/it/integry/ems/service/EmsServices.java index 6a30581997..fe115fe828 100644 --- a/ems-core/src/main/java/it/integry/ems/service/EmsServices.java +++ b/ems-core/src/main/java/it/integry/ems/service/EmsServices.java @@ -669,6 +669,22 @@ public class EmsServices { } } + if (createZipDTO.getListMtbAartLink() != null && !createZipDTO.getListMtbAartLink().isEmpty()) { + List mtbAartLinkList = createZipDTO.getListMtbAartLink().stream() + .peek(mtbAartLink -> mtbAartLink.setOperation(OperationType.SELECT_OBJECT)) + .collect(Collectors.toList()); + + List entityBases = Collections.unmodifiableList(entityProcessor.processEntityList(mtbAartLinkList, true)); + + UtilityEntity.throwEntitiesException(entityBases); + + mtbAartLinkList = UtilityEntity.toCustomEntity(entityBases); + + for (MtbAartLink mtbAartLink : mtbAartLinkList) { + UtilityZip.addFileToArchive(zos, mtbAartLink.getPathLink(), Base64.decodeBase64(mtbAartLink.getB64Content())); + } + } + if (baos.size() > 0) { zos.close();