DocumentController.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package es.uv.saic.web;
  2. import java.io.IOException;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.http.ResponseEntity;
  5. import org.springframework.web.bind.annotation.PostMapping;
  6. import org.springframework.web.bind.annotation.RequestBody;
  7. import org.springframework.web.bind.annotation.RestController;
  8. import es.uv.saic.dto.CategoriaDTO;
  9. import es.uv.saic.dto.DocumentTmpDTO;
  10. import es.uv.saic.domain.Document;
  11. import es.uv.saic.service.DocumentService;
  12. import org.springframework.web.bind.annotation.GetMapping;
  13. import org.springframework.web.bind.annotation.PathVariable;
  14. import org.springframework.web.bind.annotation.RequestParam;
  15. @RestController
  16. public class DocumentController {
  17. @Autowired
  18. private DocumentService ds;
  19. /*
  20. * endpoint para save
  21. */
  22. @PostMapping("/document/save")
  23. public ResponseEntity<?> save(@RequestBody Document doc) {
  24. try {
  25. Document auxDocument = ds.save(doc);
  26. return (auxDocument != null) ? ResponseEntity.ok(auxDocument) :
  27. ResponseEntity.badRequest().body("El documento no se ha podido guardar correctamente.") ;
  28. } catch (Exception e) {
  29. e.printStackTrace();
  30. return ResponseEntity.badRequest().body("Hubo un error al procesar el documento: " + e.getMessage());
  31. }
  32. }
  33. /*
  34. * endpoing para findByCategoriaOrgan
  35. */
  36. @PostMapping("/findByCategoriaOrgan")
  37. public ResponseEntity<?> findByCategoriaOrgan(@RequestBody CategoriaDTO categoria) {
  38. try {
  39. Document document = ds.findByCategoriaOrgan(categoria.getCategoria(), categoria.getLugar(), categoria.getTlugar());
  40. return (document != null) ? ResponseEntity.ok(document) :
  41. ResponseEntity.badRequest().body("El documento no se ha podido encontrar.") ;
  42. } catch (Exception e) {
  43. e.printStackTrace();
  44. return ResponseEntity.badRequest().body("Hubo un error al procesar el documento: " + e.getMessage());
  45. }
  46. }
  47. /*
  48. * endpoint para findByID
  49. */
  50. @GetMapping("/document/{idDocument}")
  51. public ResponseEntity<?> findByID(@PathVariable Integer idDocument) {
  52. try {
  53. Document document = ds.findById(idDocument);
  54. return (document != null) ? ResponseEntity.ok(document) :
  55. ResponseEntity.badRequest().body("El documento no se ha podido encontrar.") ;
  56. } catch (Exception e) {
  57. e.printStackTrace();
  58. return ResponseEntity.badRequest().body("No se encontro el documento: " + e.getMessage());
  59. }
  60. }
  61. /*
  62. * endpoint para upload
  63. */
  64. @PostMapping("/document/upload")
  65. public ResponseEntity<String> upload(@RequestBody DocumentTmpDTO documentTmpDTO) {
  66. try{
  67. return ResponseEntity.ok(ds.upload(documentTmpDTO.getIdDocument(), documentTmpDTO.getIdCategoria(),
  68. documentTmpDTO.getLugar(), documentTmpDTO.getTlugar(), documentTmpDTO.getFile()));
  69. } catch(IllegalStateException e) {
  70. e.printStackTrace();
  71. return ResponseEntity.badRequest().body("Error: " + e.getMessage());
  72. } catch(IOException e) {
  73. e.printStackTrace();
  74. return ResponseEntity.badRequest().body("Error: " + e.getMessage());
  75. }
  76. }
  77. @PostMapping("/document/archive")
  78. public ResponseEntity<?> archive(@RequestBody Document doc) {
  79. try {
  80. Document auxDocument = ds.archive(doc);
  81. return (auxDocument != null) ? ResponseEntity.ok(auxDocument) :
  82. ResponseEntity.badRequest().body("El documento no se ha podido archivar correctamente.") ;
  83. } catch (Exception e) {
  84. e.printStackTrace();
  85. return ResponseEntity.badRequest().body("Hubo un error al procesar el documento: " + e.getMessage());
  86. }
  87. }
  88. }