nuovo servizio download immagini attività

This commit is contained in:
2025-02-11 18:00:31 +01:00
parent d6ca1a19e3
commit e9e9138a40

View File

@@ -34,6 +34,7 @@ import it.integry.ems.rules.businessLogic.dto.LoadColliDTO;
import it.integry.ems.service.EmsServices; import it.integry.ems.service.EmsServices;
import it.integry.ems.service.EntityProcessor; import it.integry.ems.service.EntityProcessor;
import it.integry.ems.service.ReportProcessor; import it.integry.ems.service.ReportProcessor;
import it.integry.ems.service.dto.AttachmentDTO;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityEntity; import it.integry.ems.utility.UtilityEntity;
import it.integry.ems_model.base.EntityBase; import it.integry.ems_model.base.EntityBase;
@@ -53,6 +54,8 @@ import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -728,13 +731,13 @@ public class DocumentController {
} }
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_STB_ACTIVITY_FILE_ATTACHMENT + "/{id}/{fileName}", method = RequestMethod.GET) @RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_STB_ACTIVITY_FILE_ATTACHMENT + "/{id}/{fileName}", method = RequestMethod.GET)
public byte[] downloadStbActivityFileAttachmentPath(HttpServletRequest request, HttpServletResponse response, @ResponseBody
public ResponseEntity<byte[]> downloadStbFileAttachment(
@RequestParam(value = CommonConstants.PROFILE_DB, required = false) String config, @RequestParam(value = CommonConstants.PROFILE_DB, required = false) String config,
@PathVariable String id, @PathVariable String id,
@PathVariable String fileName, @PathVariable String fileName,
@RequestParam(defaultValue = "false") boolean requestThumbnail) { @RequestParam(defaultValue = "false") boolean requestThumbnail) throws Exception {
try {
StbActivityFile stbActivityFile = new StbActivityFile() StbActivityFile stbActivityFile = new StbActivityFile()
.setId(id) .setId(id)
.setFileName(fileName); .setFileName(fileName);
@@ -745,22 +748,52 @@ public class DocumentController {
if (stbActivityFile != null) { if (stbActivityFile != null) {
byte[] byteArr = requestThumbnail && stbActivityFile.getThumbnail() != null ? stbActivityFile.getThumbnail() : stbActivityFile.getContent(); byte[] byteArr = requestThumbnail && stbActivityFile.getThumbnail() != null ? stbActivityFile.getThumbnail() : stbActivityFile.getContent();
response.setContentType(mimetypesFileTypeMap.getContentType(stbActivityFile.getFileName()).toString()); return ResponseEntity.ok()
response.setStatus(HttpServletResponse.SC_OK); .contentType(MediaType.parseMediaType(mimetypesFileTypeMap.getContentType(stbActivityFile.getFileName()).toString()))
response.addHeader("Content-Disposition", "attachment; filename=\"" + stbActivityFile.getFileName() + "\""); .contentLength(byteArr != null ? byteArr.length : 0)
response.setContentLength(byteArr != null ? byteArr.length : 0); .header("Content-Disposition", "attachment; filename=\"" + stbActivityFile.getFileName() + "\"")
return byteArr; .body(byteArr);
} }
response.sendError(404, "Allegato non trovato");
return null; return ResponseEntity.notFound().build();
} catch (Exception e) {
logger.error(request.getRequestURI(), e);
return null;
}
} }
// @RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_STB_ACTIVITY_FILE_ATTACHMENT + "/{id}/{fileName}", method = RequestMethod.GET)
// public byte[] downloadStbActivityFileAttachmentPath(HttpServletRequest request, HttpServletResponse response,
// @RequestParam(value = CommonConstants.PROFILE_DB, required = false) String config,
// @PathVariable String id,
// @PathVariable String fileName,
// @RequestParam(defaultValue = "false") boolean requestThumbnail) {
//
// try {
// StbActivityFile stbActivityFile = new StbActivityFile()
// .setId(id)
// .setFileName(fileName);
// stbActivityFile.setOperation(OperationType.SELECT_OBJECT);
//
// stbActivityFile = entityProcessor.processEntity(stbActivityFile, multiDBTransactionManager);
//
// if (stbActivityFile != null) {
// byte[] byteArr = requestThumbnail && stbActivityFile.getThumbnail() != null ? stbActivityFile.getThumbnail() : stbActivityFile.getContent();
//
// response.setContentType(mimetypesFileTypeMap.getContentType(stbActivityFile.getFileName()).toString());
// response.setStatus(HttpServletResponse.SC_OK);
// response.addHeader("Content-Disposition", "attachment; filename=\"" + stbActivityFile.getFileName() + "\"");
// response.setContentLength(byteArr != null ? byteArr.length : 0);
// return byteArr;
// }
//
// response.sendError(404, "Allegato non trovato");
// return null;
// } catch (Exception e) {
// logger.error(request.getRequestURI(), e);
// return null;
// }
// }
@RequestMapping(value = EmsRestConstants.PATH_REMOVE_FPX_INVIO_FILES, method = RequestMethod.POST) @RequestMapping(value = EmsRestConstants.PATH_REMOVE_FPX_INVIO_FILES, method = RequestMethod.POST)
public @ResponseBody public @ResponseBody
ServiceRestResponse removeFpxInvioFiles(HttpServletRequest request, ServiceRestResponse removeFpxInvioFiles(HttpServletRequest request,