Browse Source

Se agrego otra columna a las vista de MisTickets y AllTickets que muestra los dias de tiempo de atencion estimado en base al tipo de ticket que es

pull/1/head
parent
commit
e492fe5fe5
7 changed files with 68 additions and 4 deletions
  1. +10
    -1
      src/main/java/mx/gob/jumapacelaya/api/RedmineClient.java
  2. +40
    -1
      src/main/java/mx/gob/jumapacelaya/models/Ticket.java
  3. +1
    -0
      src/main/java/mx/gob/jumapacelaya/views/MainLayout.java
  4. +2
    -0
      src/main/java/mx/gob/jumapacelaya/views/tickets/AllTicketsView.java
  5. +14
    -1
      src/main/java/mx/gob/jumapacelaya/views/tickets/MisTicketsView.java
  6. BIN
      src/main/resources/META-INF/resources/images/bckgnd.png
  7. +1
    -1
      src/main/resources/application.properties

+ 10
- 1
src/main/java/mx/gob/jumapacelaya/api/RedmineClient.java View File

@ -152,9 +152,18 @@ public class RedmineClient {
}
}
//Verifica y obtiene el ID del tipo de ticket
Integer trackerId = null;
if (issue.has("tracker") && !issue.get("tracker").isJsonNull()) {
JsonObject trackerObject = issue.getAsJsonObject("tracker");
if (trackerObject.has("id") && !trackerObject.get("id").isJsonNull()) {
trackerId = trackerObject.get("id").getAsInt();
}
}
// Agrega el ticket a la lista
tickets.add(new Ticket(id, subject, description, status, date != null ? date.toString() : ""));
tickets.add(new Ticket(id, subject, description, status, date != null ? date.toString() : "", trackerId));
}
} else {
System.out.println("La respuesta JSON no contiene la clave 'issues'");


+ 40
- 1
src/main/java/mx/gob/jumapacelaya/models/Ticket.java View File

@ -14,15 +14,17 @@ public class Ticket {
private String status;
private LocalDate dateCreate;
private User author;
private Integer trackerId;
public Ticket(int id, String subject, String description, String status, String dateCreate) {
public Ticket(int id, String subject, String description, String status, String dateCreate, Integer trackerId) {
this.id = id;
this.subject = subject;
this.description = description;
this.status = status;
this.dateCreate = LocalDate.parse(dateCreate);
this.author = author;
this.trackerId = trackerId;
}
public int getId() {
@ -53,6 +55,13 @@ public class Ticket {
return java.sql.Date.valueOf(this.dateCreate);
}
public Integer getTrackerId() {
return trackerId;
}
public void setTrackerId(Integer tipoId) {
this.trackerId = trackerId;
}
public static class User {
private String username;
@ -69,4 +78,34 @@ public class Ticket {
this.username = username;
}
}
public String tiempoEst(Integer trackerId) {
if (trackerId == null) {
return "Desconocido";
}
switch (trackerId) {
case 1, 3, 9:
return "1 Dia";
case 2:
return "1-2 Dias";
case 4, 8:
return "1-3 Dias";
case 5:
return "1-3 Meses";
case 6:
return "1-5 Dias";
case 7:
return "2 Dias";
default:
return "N/A";
}
}
}

+ 1
- 0
src/main/java/mx/gob/jumapacelaya/views/MainLayout.java View File

@ -32,6 +32,7 @@ public class MainLayout extends AppLayout {
public MainLayout(SecurityService securityService) {
this.securityService = securityService;
this.getStyle().set("background-image", "red");
setPrimarySection(Section.DRAWER);
addDrawerContent();
addHeaderContent();


+ 2
- 0
src/main/java/mx/gob/jumapacelaya/views/tickets/AllTicketsView.java View File

@ -54,6 +54,8 @@ public class AllTicketsView extends VerticalLayout {
}
}).setHeader("Fecha creacion");
grid.addColumn(ticket -> ticket.tiempoEst(ticket.getTrackerId())).setHeader("Tiempo estimado de atencion").setAutoWidth(false);
grid.addColumn(Ticket::getDescription).setHeader("Descripcion").setWidth("25em");
grid.addThemeVariants(GridVariant.LUMO_WRAP_CELL_CONTENT);


+ 14
- 1
src/main/java/mx/gob/jumapacelaya/views/tickets/MisTicketsView.java View File

@ -22,8 +22,11 @@ import java.util.List;
@Route(value="mytickets", layout = MainLayout.class)
@AnonymousAllowed
@PageTitle("Mis tickets")
public class MisTicketsView extends VerticalLayout {
private final RedmineClient redmineClient;
private final UserService userService;
private final Grid<Ticket> grid;
@ -43,7 +46,17 @@ public class MisTicketsView extends VerticalLayout {
grid.addColumn(createStatusRender()).setHeader("Estado");
grid.addColumn(ticket -> formatDate(ticket.getDateCreate())).setHeader("Fecha creación");
grid.addColumn(ticket -> {
Date date = ticket.getDateCreate();
if (date != null) {
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
return formatter.format(date);
} else {
return "";
}
}).setHeader("Fecha creacion");
grid.addColumn(ticket -> ticket.tiempoEst(ticket.getTrackerId())).setHeader("Tiempo estimado de atencion").setAutoWidth(false);
grid.addColumn(Ticket::getDescription).setHeader("Descripción").setWidth("25em");


BIN
src/main/resources/META-INF/resources/images/bckgnd.png View File

Before After
Width: 1922  |  Height: 1282  |  Size: 81 KiB

+ 1
- 1
src/main/resources/application.properties View File

@ -24,7 +24,7 @@ spring.ldap.password=Dr3na%134$4guA
########LOCAL######################################
redmine.url=http://localhost:10083
redmine.api_key=ad3cb25c75b3b7a31b814da51626221d7a025d85
redmine.api_key=69b347fdfbf01bb60a10ea6daa92eb86acd10e3b
###CONFIGURACION DEL TAMANO MAXIMO PERMITIDO PARA ARCHIVOS###


Loading…
Cancel
Save