@ -38,23 +38,8 @@ public class PlanAnualView extends VerticalLayout {
DatabaseService databaseService = new DatabaseService ( ) ;
public PlanAnualView ( ) {
VerticalLayout headerLayout = new VerticalLayout ( ) ;
headerLayout . addClassName ( "plan-anual-header" ) ;
titulo . addClassName ( "plan-anual-titulo" ) ;
titulo1 . addClassName ( "plan-anual-titulo1" ) ;
titulo . setText ( "Plan Anual de Mantenimiento Preventivo de Equipo de Computo" ) ;
titulo1 . setText ( "2024" ) ;
TextField nomenclaturaTxt = new TextField ( ) ;
nomenclaturaTxt . setValue ( "FR01-PA-7.1.3-02" ) ;
nomenclaturaTxt . setReadOnly ( true ) ;
nomenclaturaTxt . addClassName ( "nomenclatura-txt" ) ;
header . setAlignSelf ( Alignment . CENTER , titulo , titulo1 ) ;
headerLayout . add ( titulo , titulo1 ) ;
setupHeader ( ) ;
Grid < PlanAnual > planAnualGrid = setupGrid ( ) ;
/ / Componente UPLOAD para subir archivos
@ -74,62 +59,74 @@ public class PlanAnualView extends VerticalLayout {
}
} ) ;
VerticalLayout gridLayout = new VerticalLayout ( ) ;
gridLayout . add ( planAnualGrid , upload ) ;
Grid < PlanAnual > planAnualGrid = new Grid < > ( ) ;
planAnualGrid . addColumn ( PlanAnual : : getNumero ) . setHeader ( "No." ) ;
planAnualGrid . addColumn ( PlanAnual : : getNomEquipo ) . setHeader ( "Equipo" ) . setAutoWidth ( true ) ;
planAnualGrid . addColumn ( PlanAnual : : getDepartamento ) . setHeader ( "Departamento" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( plan - > getIcon ( plan . getMonitor ( ) ) ) . setHeader ( "Monitor" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( plan - > getIcon ( plan . getTeclado ( ) ) ) . setHeader ( "Teclado" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( plan - > getIcon ( plan . getMouse ( ) ) ) . setHeader ( "Mouse" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( plan - > getIcon ( plan . getRegulador ( ) ) ) . setHeader ( "Regulador" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( plan - > getIcon ( plan . getCpu ( ) ) ) . setHeader ( "CPU" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( plan - > getIcon ( plan . getImpresora ( ) ) ) . setHeader ( "Impresora" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( plan - > getIcon ( plan . getMiniPrint ( ) ) ) . setHeader ( "MiniPrint" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( plan - > getIcon ( plan . getLaptop ( ) ) ) . setHeader ( "Laptop" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( plan - > getIcon ( plan . getEscaner ( ) ) ) . setHeader ( "Escáner" ) . setAutoWidth ( true ) ;
planAnualGrid . addColumn ( PlanAnual : : getFecha ) . setHeader ( "Fecha Programada" ) . setAutoWidth ( true ) ;
planAnualGrid . addColumn ( PlanAnual : : getSmt ) . setHeader ( "S.M.T" ) . setAutoWidth ( true ) ;
planAnualGrid . addColumn ( PlanAnual : : getEstado ) . setHeader ( "Estado" ) . setAutoWidth ( true ) ;
planAnualGrid . addColumn ( PlanAnual : : getFechaRealizado ) . setHeader ( "Fecha Realizado" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( plan - > {
Button btnRealizar = new Button ( "Realizar" ) ;
btnRealizar . addClickListener ( event - > {
LocalDate fechaSistem = LocalDate . now ( ) ;
String fechaStr = fechaSistem . toString ( ) ;
btnRealizar . getUI ( ) . ifPresent ( ui - > ui . navigate ( "mantenimiento?fecha=" + fechaStr + "&tipo=PREVENTIVO" ) ) ;
} ) ;
return btnRealizar ;
} ) . setHeader ( "Realizar" ) . setAutoWidth ( true ) ;
planAnualGrid . setItems ( ) ;
this . setPadding ( false ) ;
this . setMargin ( false ) ;
this . setSpacing ( false ) ;
add ( header , gridLayout ) ;
}
/ / Datos de ejemplo
List < PlanAnual > planes = Arrays . asList (
new PlanAnual ( 1 , "INFORM15" , "T.I" , "No" , "Logitech" , "Logitech" , "APC" , "si" , "HP" , "No" , "Dell" , "Canon" , "01-01-2024" , "Hector" , "Pendiente" , "02-01-2024" ) ,
new PlanAnual ( 2 , "ATENCI01" , "Atencion" , "si" , "Dell" , "no" , "APC" , "AMD" , "Brother" , "Sí" , "HP" , "no" , "15-01-2024" , "JuanPI" , "Realizado" , "16-01-2024" ) ,
new PlanAnual ( 3 , "MEDCAT08" , "T.I" , "si" , "Dell" , "no" , "APC" , "AMD" , "Brother" , "Sí" , "HP" , "no" , "15-01-2024" , "JuanPI" , "Cancelado" , "16-01-2024" ) ,
new PlanAnual ( 4 , "CALAGUA03" , "T.I" , "si" , "Dell" , "no" , "APC" , "AMD" , "Brother" , "Sí" , "HP" , "no" , "15-01-2024" , "Hector" , "Realizado" , "16-01-2024" )
) ;
private void setupHeader ( ) {
VerticalLayout headerLayout = new VerticalLayout ( ) ;
headerLayout . addClassName ( "plan-anual-header" ) ;
planAnualGrid . setItems ( planes ) ;
titulo . addClassName ( "plan-anual-titulo" ) ;
titulo1 . addClassName ( "plan-anual-titulo1" ) ;
titulo . setText ( "Plan Anual de Mantenimiento Preventivo de Equipo de Computo" ) ;
titulo1 . setText ( "2024" ) ;
TextField nomenclaturaTxt = new TextField ( ) ;
nomenclaturaTxt . setValue ( "FR01-PA-7.1.3-02" ) ;
nomenclaturaTxt . setReadOnly ( true ) ;
nomenclaturaTxt . addClassName ( "nomenclatura-txt" ) ;
VerticalLayout gridLayout = new VerticalLayout ( ) ;
gridLayout . add ( planAnualGrid ) ;
header . setAlignSelf ( Alignment . CENTER , titulo , titulo1 ) ;
headerLayout . add ( titulo , titulo1 ) ;
add ( headerLayout ) ;
}
private Grid < PlanAnual > setupGrid ( ) {
Grid < PlanAnual > planAnualGrid = new Grid < > ( PlanAnual . class , false ) ;
planAnualGrid . addColumn ( PlanAnual : : getNumero ) . setHeader ( "No." ) ;
planAnualGrid . addColumn ( PlanAnual : : getNomEquipo ) . setHeader ( "Equipo" ) . setAutoWidth ( true ) ;
planAnualGrid . addColumn ( PlanAnual : : getDepartamento ) . setHeader ( "Departamento" ) . setAutoWidth ( true ) ;
/ / Usando iconos en las columnas booleanas
planAnualGrid . addComponentColumn ( planAnual - > getIcon ( planAnual . isMonitor ( ) ) ) . setHeader ( "Monitor" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( planAnual - > getIcon ( planAnual . isTeclado ( ) ) ) . setHeader ( "Teclado" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( planAnual - > getIcon ( planAnual . isMouse ( ) ) ) . setHeader ( "Mouse" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( planAnual - > getIcon ( planAnual . isRegulador ( ) ) ) . setHeader ( "Regulador" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( planAnual - > getIcon ( planAnual . isCpu ( ) ) ) . setHeader ( "CPU" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( planAnual - > getIcon ( planAnual . isImpresora ( ) ) ) . setHeader ( "Impresora" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( planAnual - > getIcon ( planAnual . isMiniPrint ( ) ) ) . setHeader ( "MiniPrint" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( planAnual - > getIcon ( planAnual . isLaptop ( ) ) ) . setHeader ( "Laptop" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( planAnual - > getIcon ( planAnual . isEscaner ( ) ) ) . setHeader ( "Escáner" ) . setAutoWidth ( true ) ;
planAnualGrid . addColumn ( PlanAnual : : getFecha ) . setHeader ( "Fecha Programada" ) . setAutoWidth ( true ) ;
planAnualGrid . addColumn ( PlanAnual : : getSmt ) . setHeader ( "S.M.T" ) . setAutoWidth ( true ) ;
planAnualGrid . addColumn ( PlanAnual : : getFechaRealizado ) . setHeader ( "Fecha Realizado" ) . setAutoWidth ( true ) ;
planAnualGrid . addComponentColumn ( planAnual - > {
Button btnRealizar = new Button ( "Realizar" ) ;
btnRealizar . addClickListener ( event - > {
LocalDate fechaSistema = LocalDate . now ( ) ;
String fechaStr = fechaSistema . toString ( ) ;
btnRealizar . getUI ( ) . ifPresent ( ui - > ui . navigate ( "mantenimiento?fecha=" + fechaStr + "&tipo=1" ) ) ;
} ) ;
return btnRealizar ;
} ) . setHeader ( "Realizado" ) . setAutoWidth ( true ) ;
this . setPadding ( false ) ;
this . setMargin ( false ) ;
this . setSpacing ( false ) ;
add ( headerLayout , gridLayout , upload ) ;
planAnualGrid . setItems ( databaseService . getPlanAnual ( ) ) ;
return planAnualGrid ;
}
private Icon getIcon ( String value ) {
if ( value . equalsIgnoreCase ( "Si" ) | | ! value . equalsIgnoreCase ( "No" ) ) {
private Icon getIcon ( boolean value ) {
if ( value ) {
return new Icon ( VaadinIcon . CHECK_CIRCLE ) ;
} else {
return new Icon ( ) ;