/* * (non-Javadoc) * @see com.salmonllc.html.events.ValueChangedListener#valueChanged(com.salmonllc.html.events.ValueChangedEvent) */ public boolean valueChanged(ValueChangedEvent e) throws Exception { // TextEdits para fechas de vigencia if (e.getComponent() == _fechaTE3) { if (_dsPartes != null) { if (!_dsPartes.isFormattedStringValid(e.getColumn(), e.getNewValue())) { // No movemos el nuevo valor al dataStore,pero evitamos // que sea eliminado la proxima vez que la pagina sea mostrada e.setAcceptValue(ValueChangedEvent.PROCESSING_KEEP_CHANGE_IN_QUEUE); // Mostramos el error if (_dsPartes.getMensajeError(_dsPartes.getRow()) == null) _dsPartes.setMensajeError(_dsPartes.getRow(), "Formato de fecha incorrecto."); else _dsPartes.setMensajeError( _dsPartes.getRow(), _dsPartes.getMensajeError(_dsPartes.getRow()) + " - Formato de fecha incorrecto."); displayErrorMessage("Hubo errores procesando partes. Corríjalos y grabe nuevamente."); return false; } } } return true; }
/** * Initialize the page. Set up listeners and perform other initialization activities. * * @throws Exception */ public void initialize() throws Exception { super.initialize(); // genera botones custom _grabarParteBUT3 = new HtmlSubmitButton("grabarParteBUT3", "Grabar", this); _grabarParteBUT3.setAccessKey("G"); _listFormDisplayBox1.addButton(_grabarParteBUT3); _nuevoParteCopiarBUT1 = new HtmlSubmitButton("nuevoParteCopiarBUT1", "Copiar Parte", this); _nuevoParteCopiarBUT1.setAccessKey("G"); _listFormDisplayBox1.addButton(_nuevoParteCopiarBUT1); _nuevoParteNuevoBUT2 = new HtmlSubmitButton("nuevoParteNuevoBUT2", "Nuevo Parte", this); _nuevoParteNuevoBUT2.setAccessKey("N"); _listFormDisplayBox1.addButton(_nuevoParteNuevoBUT2); _eliminaParteBUT4 = new HtmlSubmitButton("eliminaParteBUT4", "Eliminar", this); _eliminaParteBUT4.setAccessKey("E"); _listFormDisplayBox1.addButton(_eliminaParteBUT4); _refrescarBUT5 = new HtmlSubmitButton("refrescarBUT5", "Recargar", this); _refrescarBUT5.setAccessKey("R"); _listFormDisplayBox1.addButton(_refrescarBUT5); // Agrega columna de seleccion al datasource de informes _dsPartes.addBucket(SELECCION_PARTE_FLAG, DataStore.DATATYPE_INT); _seleccionParte.setColumn(_dsPartes, SELECCION_PARTE_FLAG); _seleccionParte.setFalseValue(null); addPageListener(this); _nuevoBUT92.addSubmitListener(this); _nuevoBUT91.addSubmitListener(this); _menuBUT.addSubmitListener(this); _grabarParteBUT3.addSubmitListener(this); _nuevoParteCopiarBUT1.addSubmitListener(this); _nuevoParteNuevoBUT2.addSubmitListener(this); _eliminaParteBUT4.addSubmitListener(this); _refrescarBUT5.addSubmitListener(this); // Listener para validar fecha antes de ser enviada al DataStore _fechaTE3.addValueChangedListener(this); _dsPartes.setAutoValidate(true); // refresca la pantalla de partes refrescaPartes(); // completa la poplist de categorías try { completaCategorias(); } catch (DataStoreException e) { displayErrorMessage("Error cargando categorias: " + e.getMessage()); } }
public void refrescaPartes() throws SQLException, DataStoreException { // setea y recupera los partes en estado generados _dsPartes.reset(); _dsPartes.retrieve("partes_mo.estado = \"0003.0001\""); // si no recuperó ningún parte en estado generado, inserta al menos un registro _dsPartes.waitForRetrieve(); if (_dsPartes.getRowCount() == 0) { int row = _dsPartes.insertRow(); java.sql.Date hoy = new java.sql.Date(System.currentTimeMillis() - (1000 * 60 * 60 * 24)); _dsPartes.setPartesMoFecha(row, hoy); _fechaTE3.setFocus(row, true); } }
@Override public void pageRequested(PageEvent p) throws Exception { int v_parte_id = -1; String v_grp_parte_id = null; // si la página es requerida por si misma no hago nada if (!isReferredByCurrentPage()) { // verifico si tiene parametro v_parte_id = getIntParameter("p_parte_id"); v_grp_parte_id = getParameter("p_grp_parte_id"); // Viene seteado el parte. lo recupero sino no se hace nada if (v_parte_id > 0) { // resetea todos los datasource _dsPartes.reset(); // recupera toda la informacion del parte _dsPartes.retrieve("partes_mo.parte_id = " + Integer.toString(v_parte_id)); _dsPartes.gotoFirst(); _fechaTE3.setFocus(true); } // Varios partes else if (v_grp_parte_id != null) { if (v_grp_parte_id.trim().length() > 0) { // resetea todos los datasource _dsPartes.reset(); // recupera toda la informacion del parte _dsPartes.retrieve("partes_mo.parte_id IN (" + v_grp_parte_id + ")"); _dsPartes.gotoFirst(); _fechaTE3.setFocus(true); } } else { refrescaPartes(); } } super.pageRequested(p); }
@Override public boolean submitPerformed(SubmitEvent e) throws Exception { if (e.getComponent() == _grabarParteBUT3) { try { _dsPartes.update(); } catch (DataStoreException ex) { displayErrorMessage(ex.getMessage()); return false; } } if (e.getComponent() == _nuevoParteCopiarBUT1 || e.getComponent() == _nuevoBUT91) { int rowActual = _dsPartes.getRow(); // si existe row anterior, le copia los valores if (rowActual != -1) { // valido el parte que estoy copiando try { _dsPartes.completaUnParte(rowActual); } catch (DataStoreException ex) { // muestro mensaje pero sigo sin problemas displayErrorMessage(ex.getMessage()); _fechaTE3.setFocus(rowActual, true); return false; } int row = _dsPartes.insertRow(0); _dsPartes.setPartesMoFecha(row, _dsPartes.getPartesMoFecha(rowActual + 1)); _dsPartes.setPartesMoHoraDesde(row, _dsPartes.getPartesMoHoraDesde(rowActual + 1)); _dsPartes.setPartesMoHoraHasta(row, _dsPartes.getPartesMoHoraHasta(rowActual + 1)); _dsPartes.setPartesMoNroLegajo(row, _dsPartes.getPartesMoNroLegajo(rowActual + 1)); _dsPartes.setPartesMoProyecto(row, _dsPartes.getPartesMoProyecto(rowActual + 1)); _dsPartes.setPartesMoProyectoNombre( row, _dsPartes.getPartesMoProyectoNombre(rowActual + 1)); _dsPartes.setPartesMoSectorId(row, _dsPartes.getPartesMoSectorId(rowActual + 1)); _dsPartes.setPartesMoSupervisor(row, _dsPartes.getPartesMoSupervisor(rowActual + 1)); // hace foco en el registro int nroPagerow = _datatable1.getPage(row); int nroPageActual = _datatable1.getPage(_dsPartes.getRow()); if (nroPagerow != nroPageActual) _datatable1.setPage(_datatable1.getPage(row)); _fechaTE3.setFocus(row, true); } else { displayErrorMessage("Debe seleccionar un parte primero antes de copiarlo"); return false; } } if (e.getComponent() == _nuevoParteNuevoBUT2 || e.getComponent() == _nuevoBUT92) { int rowActual = _dsPartes.getRow(); int row = _dsPartes.insertRow(0); // si existe row anterior, s�lo copia valores b�sicos if (row > 1) { // valido el parte que estoy copiando _dsPartes.setPartesMoFecha(row, _dsPartes.getPartesMoFecha(rowActual + 1)); _dsPartes.setPartesMoProyectoId(row, _dsPartes.getPartesMoProyectoId(rowActual + 1)); } // hace foco en el registro int nroPagerow = _datatable1.getPage(row); int nroPageActual = _datatable1.getPage(_dsPartes.getRow()); if (nroPagerow != nroPageActual) _datatable1.setPage(_datatable1.getPage(row)); _fechaTE3.setFocus(row, true); } if (e.getComponent() == _eliminaParteBUT4) { // elimina todos los partes seleccionados for (int i = 0; i < _dsPartes.getRowCount(); i++) { if (_dsPartes.getInt(i, SELECCION_PARTE_FLAG) == 1) { // Rol marcado para selecci�n _dsPartes.deleteRow(i); } } _dsPartes.update(); refrescaPartes(); } if (e.getComponent() == _refrescarBUT5) { refrescaPartes(); } return super.submitPerformed(e); }