DocumentClient.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package es.uv.saic.feign;
  2. import java.io.FileNotFoundException;
  3. import java.io.IOException;
  4. import java.math.BigInteger;
  5. import org.springframework.cloud.openfeign.FeignClient;
  6. import org.springframework.core.io.FileSystemResource;
  7. import org.springframework.http.MediaType;
  8. import org.springframework.http.ResponseEntity;
  9. import org.springframework.web.bind.annotation.GetMapping;
  10. import org.springframework.web.bind.annotation.PathVariable;
  11. import org.springframework.web.bind.annotation.PostMapping;
  12. import org.springframework.web.bind.annotation.RequestBody;
  13. import org.springframework.web.bind.annotation.ResponseBody;
  14. import es.uv.saic.domain.Document;
  15. import es.uv.saic.dto.ArchiveOrganDTO;
  16. import es.uv.saic.dto.CategoriaDTO;
  17. import es.uv.saic.dto.DocumentTmpDTO;
  18. import es.uv.saic.dto.PdfDTO;
  19. import fr.opensagres.xdocreport.core.XDocReportException;
  20. @FeignClient(name = "docs-service")
  21. public interface DocumentClient {
  22. @PostMapping("/document/save")
  23. public Document save(@RequestBody Document doc);
  24. @PostMapping("/findByCategoriaOrgan")
  25. public Document findByCategoriaOrgan(@RequestBody CategoriaDTO categoria);
  26. @GetMapping("/document/{idDocument}")
  27. public Document findByID(@PathVariable("idDocument") Integer idDocument);
  28. @PostMapping("/document/upload")
  29. public String upload(@RequestBody DocumentTmpDTO documentTmpDTO);
  30. @PostMapping("/document/archive")
  31. public Document archive(@RequestBody Document doc);
  32. @PostMapping("/archiveByOrgan")
  33. public void archiveByOrgan(@RequestBody ArchiveOrganDTO organ);
  34. @GetMapping("/download/{fileName}")
  35. @ResponseBody
  36. public ResponseEntity<byte[]> download(@PathVariable("fileName") BigInteger idInstanciaTasca) throws IOException;
  37. @GetMapping(value="/download/document/{id}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
  38. @ResponseBody
  39. public ResponseEntity<byte[]> downloadDocument(@PathVariable("id") Integer idDocument) throws FileNotFoundException;
  40. @GetMapping(value="/download/report/{t}/{p}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
  41. @ResponseBody
  42. public ResponseEntity<FileSystemResource> downloadReport(@PathVariable("t") Integer idTitulacio, @PathVariable("p") String nomProces) throws IOException, XDocReportException;
  43. @GetMapping(value="/download/template/{id}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
  44. @ResponseBody
  45. public ResponseEntity<byte[]> downloadTemplate(@PathVariable("id") BigInteger idTascai) throws IOException, XDocReportException;
  46. @GetMapping(value="/test/template/{titulacio}/{centre}/{idProces}/{idTascap}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
  47. @ResponseBody
  48. public byte[] testTemplate(@PathVariable("titulacio") Integer idTitulacio, @PathVariable("centre") Integer idCentre,
  49. @PathVariable("idTascap") Integer idTascap, @PathVariable("idProces") Integer idProces)
  50. throws IOException, XDocReportException;
  51. @GetMapping(value="/test/template2/{titulacio}/{centre}/{evidencia}/{curs}/{tipusTasca}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
  52. @ResponseBody
  53. public byte[] testTemplate(@PathVariable("titulacio") Integer idTitulacio, @PathVariable("centre") Integer idCentre,
  54. @PathVariable("evidencia") String evidencia, @PathVariable("curs") Integer curs,
  55. @PathVariable("tipusTasca") Integer tipusTasca) throws IOException, XDocReportException;
  56. @GetMapping(value="/pdf/download/{idTascai}")
  57. @ResponseBody
  58. public byte[] downloadTemplatePdf(@PathVariable("idTascai") BigInteger idTascai) throws IOException, InterruptedException;
  59. @PostMapping(value="/pdf/preview")
  60. @ResponseBody
  61. public byte[] downloadTemplatePdf(@RequestBody PdfDTO pdf) throws IOException, InterruptedException;
  62. }