OrganController.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package es.uv.saic.web;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.stream.Collectors;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.http.ResponseEntity;
  7. import org.springframework.web.bind.annotation.GetMapping;
  8. import org.springframework.web.bind.annotation.PathVariable;
  9. import org.springframework.web.bind.annotation.RestController;
  10. import es.uv.saic.domain.IndicadorEnquesta;
  11. import es.uv.saic.domain.Organ;
  12. import es.uv.saic.dto.OrganDTO;
  13. import es.uv.saic.dto.OrganTransferDTO;
  14. import es.uv.saic.service.IndicadorEnquestaService;
  15. import es.uv.saic.service.OrganService;
  16. @RestController
  17. public class OrganController {
  18. @Autowired
  19. private OrganService os;
  20. @Autowired
  21. private IndicadorEnquestaService ies;
  22. /*
  23. * Endpoint for getTitulacions
  24. */
  25. @GetMapping("/getTitulacionsWithCentre")
  26. public List<OrganDTO> getTitulacionsWithCentre() {
  27. return os.findAllTitulacionsWithCentre();
  28. }
  29. /*
  30. * Endopint for findByRuct
  31. */
  32. @GetMapping("/getAllIndsByRuct/{ruct}/{curs}")
  33. public List<IndicadorEnquesta> getAllIndsByRuct(@PathVariable Integer ruct, @PathVariable Integer curs) {
  34. Organ o = os.findByRuct(ruct);
  35. return ies.getAllInds(o, curs);
  36. }
  37. @GetMapping("/getOrgByRuct/{ruct}")
  38. public OrganDTO getOrgByRuct(@PathVariable Integer ruct) {
  39. return os.findByRuctDTO(ruct);
  40. }
  41. /*
  42. * Endpoint para findById
  43. */
  44. @GetMapping("/findById/{tlugar}/{idTitulacio}")
  45. public ResponseEntity<?> findById(@PathVariable String tlugar, @PathVariable Integer idTitulacio) {
  46. try {
  47. Organ organ = os.findByID(tlugar, idTitulacio);
  48. OrganTransferDTO organTransferDTO = new OrganTransferDTO(organ);
  49. return ResponseEntity.ok(organTransferDTO);
  50. } catch(Exception e) {
  51. return ResponseEntity.badRequest().body("Error al obtener el organo" +
  52. " por tlugar y titulación: " + e.getMessage());
  53. }
  54. }
  55. /*
  56. * Endpoint para getTitulacionsByTypeCentre
  57. */
  58. @GetMapping("/getTitulacionsByTypeCentre/{lugar}/{ambit}")
  59. public ResponseEntity<?> getTitulacionsByTypeCentre(@PathVariable Integer lugar, @PathVariable Integer ambit) {
  60. try {
  61. List<Organ> organList = os.getTitulacionsByTypeCentre(lugar, ambit);
  62. List<OrganTransferDTO> organDTOList = new ArrayList<>();
  63. for(Organ org: organList) {
  64. organDTOList.add(new OrganTransferDTO(org));
  65. }
  66. return ResponseEntity.ok(organDTOList);
  67. } catch(Exception e) {
  68. return ResponseEntity.badRequest().body("Error al obtener los organos" +
  69. " por lugar y ambit: " + e.getMessage());
  70. }
  71. }
  72. @GetMapping("/existsOrg/{tlugar}/{idTitulacio}")
  73. public boolean existsOrg(@PathVariable String tlugar, @PathVariable Integer idTitulacio) {
  74. return os.exists(tlugar, idTitulacio);
  75. }
  76. @GetMapping("/getTitulacionsByCentreTambit/{centre}/{tambit}")
  77. public ResponseEntity<?> getTitulacionsByCentreTambit(@PathVariable Integer lugar, @PathVariable String tambit) {
  78. try {
  79. List<Organ> organList = os.findActiveTitulacionsByCentreTambit(lugar, tambit);
  80. List<OrganTransferDTO> organDTOList = new ArrayList<>();
  81. for(Organ org: organList) {
  82. organDTOList.add(new OrganTransferDTO(org));
  83. }
  84. return ResponseEntity.ok(organDTOList);
  85. } catch(Exception e) {
  86. return ResponseEntity.badRequest().body("Error al obtener los organos" +
  87. " por lugar y ambit: " + e.getMessage());
  88. }
  89. }
  90. }