Просмотр исходного кода

Añadida nueva gestion de responsables

Mario Martínez Hernández 2 месяцев назад
Родитель
Сommit
e396442e6a

+ 3 - 0
src/main/java/es/uv/saic/domain/UsuarisRol.java

@@ -5,6 +5,8 @@ import java.time.LocalDate;
 
 import jakarta.persistence.Column;
 import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
 import jakarta.persistence.Id;
 import jakarta.persistence.JoinColumn;
 import jakarta.persistence.JoinColumns;
@@ -23,6 +25,7 @@ public class UsuarisRol implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
 	@Column(name="id_usuari_rol")
 	private Integer idUsuariRol;
 

+ 1 - 2
src/main/java/es/uv/saic/service/UsuarisRolService.java

@@ -165,8 +165,7 @@ public class UsuarisRolService {
 	}
 	
 	public void save(UsuarisRol u) {
-		this.usuarisRolRepository.save(u);
-		this.usuarisRolRepository.flush();
+		this.usuarisRolRepository.saveAndFlush(u);
 	}
 	
 	public void delete(UsuarisRol ur) {

+ 8 - 16
src/main/java/es/uv/saic/web/AdminController.java

@@ -57,7 +57,7 @@ import es.uv.saic.service.UsuariService;
 import es.uv.saic.service.UsuarisRolService;
 
 @RestController
-@RequestMapping("/admins")
+@RequestMapping("/admin")
 public class AdminController {
 
 	@Autowired
@@ -546,7 +546,7 @@ public class AdminController {
 	}
 
 	// POST para editar un procedimiento ya existente
-	@PostMapping("/procedures")
+	@PostMapping("/procedure")
 	public void editProcedure(@RequestParam Map<String, String> params,
 			@RequestParam(name = "idTascap[]", required = false) List<String> idTascap,
 			@RequestParam(name = "dataLimit[]", required = false) List<String> dataLimit,
@@ -698,7 +698,7 @@ public class AdminController {
 		Integer lugar = null;
 		String tlugar = null;
 		boolean exists = false;
-		if (rol.getAmbit().equals("C")) {
+		if (rol.getAmbit().equals("U") || (rol.getAmbit().equals("C"))) {
 			lugar = idCentre;
 			tlugar = "C";
 			UsuarisRol u = urs.findLast(idRol, usuari, lugar, tlugar);
@@ -713,10 +713,8 @@ public class AdminController {
 					r.setOrgan(u.getOrgan());
 					r.setRol(u.getRol());
 					r.setVigent(true);
-					r.setSupervisor(null);
+					r.setSupervisor(0);
 					r.setNum(num + 1);
-					r.setIdUsuariRol(Integer.parseInt(Integer.toString(lugar) + (idRol < 10 ? "0" : "")
-							+ Integer.toString(idRol) + (num + 1 < 10 ? "0" : "") + Integer.toString(num + 1)));
 					urs.save(r);
 				} else {
 					exists = true;
@@ -729,12 +727,10 @@ public class AdminController {
 				r.setOrgan(os.findByID(tlugar, lugar));
 				r.setRol(rs.findOne(idRol));
 				r.setVigent(true);
-				r.setSupervisor(null);
+				r.setSupervisor(0);
 				r.setNum(num + 1);
-				r.setIdUsuariRol(Integer.parseInt(Integer.toString(lugar) + (idRol < 10 ? "0" : "")
-						+ Integer.toString(idRol) + (num + 1 < 10 ? "0" : "") + Integer.toString(num + 1)));
 				urs.save(r);
-			}
+			}	
 		} else {
 			tlugar = "T";
 			UsuarisRol u = urs.findLast(idRol, usuari, idTitulacio, tlugar);
@@ -749,10 +745,8 @@ public class AdminController {
 					r.setOrgan(u.getOrgan());
 					r.setRol(u.getRol());
 					r.setVigent(true);
-					r.setSupervisor(null);
+					r.setSupervisor(0);
 					r.setNum(num + 1);
-					r.setIdUsuariRol(Integer.parseInt(Integer.toString(idTitulacio) + (idRol < 10 ? "0" : "")
-							+ Integer.toString(idRol) + (num + 1 < 10 ? "0" : "") + Integer.toString(num + 1)));
 					urs.save(r);
 				} else {
 					exists = true;
@@ -765,10 +759,8 @@ public class AdminController {
 				r.setOrgan(os.findByID(tlugar, idTitulacio));
 				r.setRol(rs.findOne(idRol));
 				r.setVigent(true);
-				r.setSupervisor(null);
+				r.setSupervisor(0);
 				r.setNum(num + 1);
-				r.setIdUsuariRol(Integer.parseInt(Integer.toString(idTitulacio) + (idRol < 10 ? "0" : "")
-						+ Integer.toString(idRol) + (num + 1 < 10 ? "0" : "") + Integer.toString(num + 1)));
 				urs.save(r);
 			}
 		}

+ 1 - 1
src/main/java/es/uv/saic/web/EmailController.java

@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 @RestController
-@RequestMapping("/emails")
+@RequestMapping("/email")
 public class EmailController {
     @Autowired
     EmailService es;

+ 33 - 16
src/main/java/es/uv/saic/web/ManagersController.java

@@ -7,6 +7,7 @@ import java.util.HashMap;
 import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -28,7 +29,7 @@ import es.uv.saic.service.UsuarisRolService;
 
 // Controller for the managers administration page 
 @RestController
-@RequestMapping("/managers")
+@RequestMapping("/manager")
 public class ManagersController {
 	
 	@Autowired
@@ -91,21 +92,7 @@ public class ManagersController {
 		model.put("sup_centres", sup_centres);
 		model.put("sup_titulacions", sup_titulacions);
 		
-		List<Usuari> sup_users = us.findAll();
-		List<Rol> sup_roles = rs.findAssignables();
-		List<UsuariDTO> users = new ArrayList<>();
-		List<RolDTO> roles = new ArrayList<>();
-
-		for(Usuari usu : sup_users) {
-			users.add(new UsuariDTO(usu));
-		}
-
-		for(Rol r : sup_roles) {
-			roles.add(new RolDTO(r));
-		}
-		
-		model.put("users", users);
-		model.put("roles", roles);
+		model.putAll(managers(null));
 	
 		return model;
 	}
@@ -194,4 +181,34 @@ public class ManagersController {
 		return model;
 	}
 	
+	@PostMapping("/list")
+	HashMap<String, Object> managers(@RequestParam(name="ambit", required=false) String ambit) {
+		HashMap<String, Object> model = new HashMap<>();
+		
+		List<Usuari> sup_users = us.findAll();
+		List<Rol> sup_roles = rs.findAssignables();
+		List<UsuariDTO> users = new ArrayList<>();
+		List<RolDTO> roles = new ArrayList<>();
+
+		for(Usuari usu : sup_users) {
+			users.add(new UsuariDTO(usu));
+		}
+
+		for(Rol r : sup_roles) {
+			roles.add(new RolDTO(r));
+		}
+		
+		if(ambit == null) {
+			model.put("roles", roles);
+		} else if (ambit.equals("U")) { // Solo usuarios y roles de Universidad
+			model.put("roles", roles.stream().filter(r -> r.getAmbit().equals("U")));
+		} else if (ambit.equals("C")) { // Solo usuarios y roles de Centro
+			model.put("roles", roles.stream().filter(r -> r.getAmbit().equals("C")));
+		} else if (ambit.equals("T")) { // Solo usuarios y roles de Titulación
+			model.put("roles", roles.stream().filter(r -> r.getAmbit().equals("T")));
+		}
+
+		model.put("users", users);
+		return model;
+	}
 }

+ 1 - 1
src/main/java/es/uv/saic/web/OrganController.java

@@ -30,7 +30,7 @@ import es.uv.saic.service.ProcesService;
 import es.uv.saic.service.UsuariService;
 
 @RestController
-@RequestMapping("/organs")
+@RequestMapping("/organ")
 public class OrganController {
     @Autowired
     private UsuariController uc;

+ 1 - 1
src/main/java/es/uv/saic/web/ProceduresController.java

@@ -420,7 +420,7 @@ public class ProceduresController {
 			itt.setDataFet(formatDate(it.getDataFet()));
 			itt.setEstatInstancia(it.getInstancia().getEstat());
 			itt.setOpcions(it.getTasca().getOpcions());
-			itt.setDataMod(formatDate(it.getDataMod().toLocalDate()));
+			itt.setDataMod((it.getDataMod() != null) ? formatDate(it.getDataMod().toLocalDate()) : null);
 			
 			if(itt.getEstat() != null) {
 				if(itt.getEstat().equals("A")) {