Agregar una nota a los movimientos de caja Openbravo POS

Esta funcionalidad permite a los usuarios agregar una nota a los movimientos de caja en Openbravo POS.


El resultado debe quedar así:
captura1


Paso 1. – Agregar una columna llamada “NOTES” en la tabla “PAYMENTS” de tipo varchar 255 que pueda aceptar NULLS.

Este sería el codigo:

ALTER TABLE `abastos`.`payments`
ADD COLUMN `NOTES` VARCHAR(255) NULL DEFAULT NULL AFTER `RETURNMSG`;

captura2


Paso 2.- En la clase DataLogicSales.java agrega el siguiente código.
Datas.STRING

Al final de:
paymenttabledatas = new Datas[] {}

Quedando:

paymenttabledatas = new Datas[] {Datas.STRING, Datas.STRING, Datas.TIMESTAMP, Datas.STRING, Datas.STRING, Datas.DOUBLE,Datas.STRING};

Además habrá que modificar el método getPaymentMovementInsert()
public final SentenceExec getPaymentMovementInsert() {
return new SentenceExecTransaction(s) {
public int execInTransaction(Object params) throws BasicException {
new PreparedSentence(s
, “INSERT INTO RECEIPTS (ID, MONEY, DATENEW) VALUES (?, ?, ?)”
, new SerializerWriteBasicExt(paymenttabledatas, new int[] {0, 1, 2})).exec(params);
return new PreparedSentence(s
// LINES MODIFIED
, “INSERT INTO PAYMENTS (ID, RECEIPT, PAYMENT, TOTAL, NOTES) VALUES (?, ?, ?, ?, ?)”
, new SerializerWriteBasicExt(paymenttabledatas, new int[] {3, 0, 4, 5, 6})).exec(params);
}
};
}

Descarga el codigo del punto 3 PaymentsEditor
Paso 3.– En la clase PaymentsEditor.java en vista de diseño (com.openbravo.pos.panels) crea un JTextField llamado JNotes.
captura3


Paso 4.- Cambia a la vista de código y agrega lo siguiente:
private String m_sNotes;
Paso 5.- En el método writeValueEOF()
m_sNotes = null;
jNotes.setEnabled(false);


Paso 6.- En el método writeValueInsert()
m_sNotes = null;
jNotes.setEnabled(true);
jNotes.setText(m_sNotes);
Paso 7.- En el método writeValueDelete(Object value)
m_sNotes = String payment[6];
jNotes.setEnabled(false);


Paso 8.– En el método writeValueEdit(Object value)
m_sNotes =String payment[6];
jNotes.setEnabled(false);



Paso 9. En el método createValue()
Object[] payment = new Object[7];

String snotes = “”;
m_sNotes = jNotes.getText();
payment[6] = m_sNotes == null ? snotes : m_sNotes;

Comentarios

Entradas populares