What is promised is debt, I leave all the code that I did during all:
//Agrega nueva fila:
public void onAddNew() {
//Se crea una nueva instancia del objeto ControlVersionesDTO
ControlVersionesDTO agregarFila = new ControlVersionesDTO();
//Cuando se da en nuevo, se crea una fila y le seteamos el valor 1, que quiere decir que será un insert
agregarFila.setStatusAccionInsertUpdate(1);
agregarFila.setCve_version(0);
//Dicha fila se agrega a la lista filtrada por medio del objeto agregarfila
listControlVersionesFiltradas.add(agregarFila);
RequestContext.getCurrentInstance().execute("ocultarNuevo()");
RequestContext.getCurrentInstance().execute("ocultarEliminar(" + (listControlVersionesFiltradas.size() - 1) + ")");
RequestContext.getCurrentInstance().update("data_table");
}
//Metodo para cancelar edición de un registro
public void onRowCancel(RowEditEvent event) {
ControlVersionesDTO cancelarEdit = ((ControlVersionesDTO) event.getObject());//Se habilita la fila que se seleccionó
cancelarEdit.setStatusAccionInsertUpdate(0);//Regresamos el valor por defecto a cero para que en el sp de insertUpdate no lo pele XD
System.out.println("Hola Cancelé");
System.out.println("Status updateInsert..." + cancelarEdit.getStatusAccionInsertUpdate());
}
//Metodo para editar registros del dataTable
public void onRowEdit(RowEditEvent event) {
//System.out.println("Entre editar...");
ControlVersionesDTO editFila = ((ControlVersionesDTO) event.getObject());
if (editFila.getStatusAccionInsertUpdate() == 0) {
editFila.setStatusAccionInsertUpdate(2);
}
System.out.println("Hola Edite fila");
System.out.println("Status updateInsert..." + editFila.getStatusAccionInsertUpdate());
RequestContext.getCurrentInstance().execute("mostrarIconoGuardar()");
RequestContext.getCurrentInstance().update("formulario:data_table");
RequestContext.getCurrentInstance().execute("ocultarEliminar(" + (listControlVersionesFiltradas.size() - 1) + ")");
}
The method where I keep and previously valid:
public void SaveRegistros() throws SQLException {
for (int i = 0; i < listControlVersionesFiltradas.size(); i++) {
//listaToJson.clear();
System.out.println("json888..." + listControlVersionesFiltradas.get(i).getFw_to_update());
if (listControlVersionesFiltradas.get(i).getFw_to_update() == null || listControlVersionesFiltradas.get(i).getFw_to_update() == "" || listControlVersionesFiltradas.get(i).getActual_fw() == "" || listControlVersionesFiltradas.get(i).getDevice_version() == "" || listControlVersionesFiltradas.get(i).getVersion_id() == "") {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Error: ", "Favor de completar las columnas faltante."));
RequestContext.getCurrentInstance().update("alertaControlDevice");
RequestContext.getCurrentInstance().execute("ocultaMsj(3000)");
RequestContext.getCurrentInstance().execute("ocultarEliminar(" + (listControlVersionesFiltradas.size() - 1) + ")");
return;
}
}
//RequestContext.getCurrentInstance().execute("ocultarEliminar(" + (listControlVersionesFiltradas.size() - 1) + ")");
int cve_device;
cve_device = controlVersion.getCve_device();//Obtengo el valor del objeto lleno y se lo asigno a la variable cve_device
//cve_version = controlVersion.getCve_version();
System.out.println("cve..." + cve_device);
//System.out.println("cveversion..." + cve_version);
for (ControlVersionesDTO item : listControlVersionesFiltradas) {
System.out.println("yyyyyy..." + item.getCve_version());
if (item.getCve_device() == 0) {
item.setCve_device(cve_device);
}
}
Gson gsonBuilder = new GsonBuilder().create();
String jsonFromJavaArrayList = gsonBuilder.toJson(listControlVersionesFiltradas);
//"NO MOVER" Valida que el usuario le dé en guardar sin ingresar registros y que esté vacio por completo (0 registros).
if (listControlVersionesFiltradas.size() <= 0) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Error: ", "No hay registros que guardar."));
RequestContext.getCurrentInstance().update("alertaControlDevice");
RequestContext.getCurrentInstance().execute("ocultaMsj(3000)");
} //En este else tiene que entrar cuando se hayan hecho todas las validaciones posibles.
else {
System.out.println("json from111..." + jsonFromJavaArrayList);
ResultSet resultado = dao.saveDevice(jsonFromJavaArrayList);//Se obtiene el resultado del Sp y se asigna a la variable
if (resultado.next() && resultado.getBoolean(2)) {
System.out.println("Traigo la clave de la versión que voy a insertar..." + resultado.getString(3));
System.out.println("Traigo true..." + resultado.getString(2));
System.out.println("Traigo el mensaje de la BD si soy true..." + resultado.getString(1));
//Se recorre para revisar lista filtrada los estatus de 1 que vienen siendo insert
for (int i = 0; i < listControlVersionesFiltradas.size(); i++) {
if (listControlVersionesFiltradas.get(i).getStatusAccionInsertUpdate() == 1) {
//Se retorna la cve_version por medio de la variable del resultado del parametro 3 que trae la cve
listControlVersionesFiltradas.get(i).setCve_version((resultado.getInt(3)));
}
//Se setean el StatusAccionInsertUpdate a 0 para que cuando vuelva insertar otro registro, los ceros nos pele
listControlVersionesFiltradas.get(i).setStatusAccionInsertUpdate(0);
}
System.out.println("Resultado despues del for..." + resultado);
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Exito: ", "Registro Ingresado Satisfactoriamente."));
RequestContext.getCurrentInstance().update("alertaControlDevice");
RequestContext.getCurrentInstance().execute("ocultaMsj(3000)");
RequestContext.getCurrentInstance().execute("cancelar()");
} else {
System.out.println("No traigo nada de clave versión" + resultado.getString(3));
System.out.println("Voy a venir falso..." + resultado.getString(2));//
System.out.println("Voy a venir null..." + resultado.getString(1));
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "No se pudo insertar registro: ", "La Versión ya existe."));
RequestContext.getCurrentInstance().update("alertaControlDevice");
RequestContext.getCurrentInstance().execute("ocultaMsj(3000)");
RequestContext.getCurrentInstance().execute("ocultarEliminar(" + (listControlVersionesFiltradas.size() - 1) + ")");
//RequestContext.getCurrentInstance().execute("cancelar()");
}
RequestContext.getCurrentInstance().execute("mostrarIconosNewDevice()");
}
}
I hope and someone serves, greetings and good vibes.