package es.uv.saic.web; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RestController; import es.uv.saic.domain.Plantilla; import es.uv.saic.dto.PdfDTO; import es.uv.saic.dto.TemplateDataDTO; import es.uv.saic.service.PlantillaService; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @RestController public class PlantillaController { @Autowired private PlantillaService ps; @GetMapping("/plantilla") public ResponseEntity findAll() { try { List plantillas = ps.findAll(); return (plantillas != null) ? ResponseEntity.ok(plantillas) : ResponseEntity.badRequest().body("No existen plantillas") ; } catch (Exception e) { e.printStackTrace(); return ResponseEntity.badRequest().body("No se han podido recoger las plantillas: " + e.getMessage()); } } @GetMapping("/plantilla/{id}") public ResponseEntity findByID(@PathVariable Integer id) { try { Plantilla plantilla = ps.findByID(id); return (plantilla != null) ? ResponseEntity.ok(plantilla) : ResponseEntity.badRequest().body("No existe la plantilla buscada") ; } catch (Exception e) { e.printStackTrace(); return ResponseEntity.badRequest().body("No se ha podido recoger la plantilla " + e.getMessage()); } } @GetMapping("/plantilla/{versio}/{codi}/{ambit}") public ResponseEntity findByVersioCodiAmbit(@PathVariable Integer versio, @PathVariable String codi, @PathVariable String ambit) { try { Plantilla plantilla = ps.findByVersioCodiAmbit(versio, codi, ambit); return (plantilla != null) ? ResponseEntity.ok(plantilla) : ResponseEntity.badRequest().body("No existe la plantilla buscada") ; } catch (Exception e) { e.printStackTrace(); return ResponseEntity.badRequest().body("No se ha podido recoger la plantilla " + e.getMessage()); } } @PostMapping("/plantilla/save") public ResponseEntity save(@RequestBody Plantilla plantilla) { try { ps.save(plantilla); return ResponseEntity.ok("Save"); } catch (Exception e) { e.printStackTrace(); return ResponseEntity.badRequest().body("Error guardando la plantilla: " + e.getMessage()); } } @DeleteMapping("/plantilla/delete") public ResponseEntity delete(@RequestBody Plantilla plantilla) { try { ps.delete(plantilla); return ResponseEntity.ok("Delete"); } catch (Exception e) { e.printStackTrace(); return ResponseEntity.badRequest().body("Error borrando la plantilla: " + e.getMessage()); } } @GetMapping("/plantilla/used/{id}") public ResponseEntity isUsed(@PathVariable Integer id) { try { Boolean isUsed = ps.isUsed(id); return (isUsed != null) ? ResponseEntity.ok(isUsed) : ResponseEntity.badRequest().body("No existe la plantilla que se esta buscando") ; } catch (Exception e) { e.printStackTrace(); return ResponseEntity.badRequest().body("No se ha podido comprobar si la plantilla es usada: " + e.getMessage()); } } @PostMapping("/addTemplateData") public ResponseEntity addTemplateData(@RequestBody TemplateDataDTO td) { try { String template = ps.addTemplateData(td.getInstanciaTasca(), td.getTemplate()); return (template != null) ? ResponseEntity.ok(template) : ResponseEntity.badRequest().body("La plantilla no se ha podido rellenar.") ; } catch (Exception e) { e.printStackTrace(); return ResponseEntity.badRequest().body("La plantilla no se ha podido rellenar: " + e.getMessage()); } } @PostMapping("/addTemplateData2") public ResponseEntity addTemplateData2(@RequestBody TemplateDataDTO td) { try { String template = ps.addTemplateData(td.getIdTitulacio(), td.getIdCentre(), td.getCurs(), td.getTemplate()); return (template != null) ? ResponseEntity.ok(template) : ResponseEntity.badRequest().body("La plantilla no se ha podido rellenar.") ; } catch (Exception e) { e.printStackTrace(); return ResponseEntity.badRequest().body("La plantilla no se ha podido rellenar: " + e.getMessage()); } } @PostMapping("/savePDF") public ResponseEntity savePDF(@RequestBody PdfDTO pdf) { try { String dst = ps.savePDF(pdf.getContent(), pdf.getIdtasca()); return (dst != null) ? ResponseEntity.ok(dst) : ResponseEntity.badRequest().body("La plantilla no se ha podido rellenar.") ; } catch (Exception e) { e.printStackTrace(); return ResponseEntity.badRequest().body("La plantilla no se ha podido rellenar: " + e.getMessage()); } } }