This commit is contained in:
2026-01-09 17:43:55 +00:00
parent 719919641b
commit 2ab11480ce
30 changed files with 869 additions and 817 deletions
+4
View File
@@ -8,3 +8,7 @@ nbactions.xml
docker.sock
.DS_Store
.classpath
.project
.factorypath
.settings
@@ -34,191 +34,192 @@ import java.util.regex.Pattern;
@Slf4j
public class StaticSentence extends JDBCSentence {
private ISQLBuilderStatic iSQLBuilder;
private ISQLBuilderStatic iSQLBuilder;
/**
*
*/
protected SerializerWrite m_SerWrite = null;
/**
*
*/
protected SerializerWrite m_SerWrite = null;
/**
*
*/
protected SerializerRead m_SerRead = null;
/**
*
*/
protected SerializerRead m_SerRead = null;
// Estado
private Statement statement;
// Estado
private Statement statement;
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
* @param serread
* @param serwrite
*/
public StaticSentence(Session s, ISQLBuilderStatic sentence, SerializerWrite serwrite, SerializerRead serread) {
super(s);
iSQLBuilder = sentence;
m_SerWrite = serwrite;
m_SerRead = serread;
statement = null;
}
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
* @param serread
* @param serwrite
*/
public StaticSentence(Session s, ISQLBuilderStatic sentence, SerializerWrite serwrite, SerializerRead serread) {
super(s);
iSQLBuilder = sentence;
m_SerWrite = serwrite;
m_SerRead = serread;
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
*/
public StaticSentence(Session s, ISQLBuilderStatic sentence) {
this(s, sentence, null, null);
}
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
* @param serwrite
*/
public StaticSentence(Session s, ISQLBuilderStatic sentence, SerializerWrite serwrite) {
this(s, sentence, serwrite, null);
}
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
* @param serread
* @param serwrite
*/
public StaticSentence(Session s, String sentence, SerializerWrite serwrite, SerializerRead serread) {
this(s, new NormalBuilder(sentence), serwrite, serread);
}
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
* @param serwrite
*/
public StaticSentence(Session s, String sentence, SerializerWrite serwrite) {
this(s, new NormalBuilder(sentence), serwrite, null);
}
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
*/
public StaticSentence(Session s, String sentence) {
this(s, new NormalBuilder(sentence), null, null);
}
public String fixSqliteDate(String sql) {
try {
if (session.getURL().contains("sqlite") && sql.contains("{ts '")) {
StringBuilder sqliteSQL = new StringBuilder();
Pattern date = Pattern.compile("(?<=ts ).*(?=})");
Matcher matchPattern = date.matcher(sql);
if (matchPattern.find()) {
sqliteSQL.append(sql.replaceAll("\\{.*}", matchPattern.group(0)));
}
return sqliteSQL.toString();
}
} catch (Exception e) {
log.error("Error fixing sql for sqlite {}", e.getMessage());
return sql;
}
return sql;
}
/**
* @param params
* @return
* @throws BasicException
*/
@Override
public DataResultSet openExec(Object params) throws BasicException {
// true -> un resultset
// false -> un updatecount (si -1 entonces se acabo)
closeExec();
try {
// follow this to find the create category bug when importing a product csv
// https://unicenta.atlassian.net/browse/UOCL-317
String sql = iSQLBuilder.getSQL(m_SerWrite, params);
String sentence = fixSqliteDate(sql);
// String sentence = iSQLBuilder.getSQL(m_SerWrite, params);
statement = session.getConnection().createStatement();
log.debug("Executing static SQL: {}", sentence);
if (statement.execute(sentence)) {
return new JDBCDataResultSet(statement.getResultSet(), m_SerRead);
} else {
int iUC = statement.getUpdateCount();
if (iUC < 0) {
return null;
} else {
return new SentenceUpdateResultSet(iUC);
}
}
} catch (SQLException eSQL) {
throw new BasicException(eSQL);
}
}
/**
* @throws BasicException
*/
@Override
public void closeExec() throws BasicException {
if (statement != null) {
try {
statement.close();
} catch (SQLException eSQL) {
throw new BasicException(eSQL);
} finally {
statement = null;
}
}
}
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
*/
public StaticSentence(Session s, ISQLBuilderStatic sentence) {
this(s, sentence, null, null);
}
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
* @param serwrite
*/
public StaticSentence(Session s, ISQLBuilderStatic sentence, SerializerWrite serwrite) {
this(s, sentence, serwrite, null);
}
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
* @param serread
* @param serwrite
*/
public StaticSentence(Session s, String sentence, SerializerWrite serwrite, SerializerRead serread) {
this(s, new NormalBuilder(sentence), serwrite, serread);
}
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
* @param serwrite
*/
public StaticSentence(Session s, String sentence, SerializerWrite serwrite) {
this(s, new NormalBuilder(sentence), serwrite, null);
}
/**
* Creates a new instance of StaticSentence
*
* @param s
* @param sentence
*/
public StaticSentence(Session s, String sentence) {
this(s, new NormalBuilder(sentence), null, null);
}
public String fixSqliteDate(String sql) {
try {
if (session.getURL().contains("sqlite") && sql.contains("{ts '")) {
StringBuilder sqliteSQL = new StringBuilder();
Pattern date = Pattern.compile("(?<=ts ).*(?=})");
Matcher matchPattern = date.matcher(sql);
if (matchPattern.find()) {
sqliteSQL.append(sql.replaceAll("\\{.*}", matchPattern.group(0)));
}
return sqliteSQL.toString();
}
/**
* @return
* @throws BasicException
*/
@Override
public DataResultSet moreResults() throws BasicException {
try {
if (statement.getMoreResults()) {
// tenemos resultset
return new JDBCDataResultSet(statement.getResultSet(), m_SerRead);
} else {
// tenemos updatecount o si devuelve -1 ya no hay mas
int iUC = statement.getUpdateCount();
if (iUC < 0) {
return null;
} else {
return new SentenceUpdateResultSet(iUC);
}
catch (Exception e) {
log.error("Error fixing sql for sqlite {}", e.getMessage());
return sql;
}
return sql;
}
/**
* @param params
* @return
* @throws BasicException
*/
@Override
public DataResultSet openExec(Object params) throws BasicException {
// true -> un resultset
// false -> un updatecount (si -1 entonces se acabo)
closeExec();
try {
String sentence = fixSqliteDate(iSQLBuilder.getSQL(m_SerWrite, params));
//String sentence = iSQLBuilder.getSQL(m_SerWrite, params);
statement = session.getConnection().createStatement();
log.debug("Executing static SQL: {}", sentence);
if (statement.execute(sentence)) {
return new JDBCDataResultSet(statement.getResultSet(), m_SerRead);
} else {
int iUC = statement.getUpdateCount();
if (iUC < 0) {
return null;
} else {
return new SentenceUpdateResultSet(iUC);
}
}
} catch (SQLException eSQL) {
throw new BasicException(eSQL);
}
}
/**
* @throws BasicException
*/
@Override
public void closeExec() throws BasicException {
if (statement != null) {
try {
statement.close();
} catch (SQLException eSQL) {
throw new BasicException(eSQL);
} finally {
statement = null;
}
}
}
/**
* @return
* @throws BasicException
*/
@Override
public DataResultSet moreResults() throws BasicException {
try {
if (statement.getMoreResults()) {
// tenemos resultset
return new JDBCDataResultSet(statement.getResultSet(), m_SerRead);
} else {
// tenemos updatecount o si devuelve -1 ya no hay mas
int iUC = statement.getUpdateCount();
if (iUC < 0) {
return null;
} else {
return new SentenceUpdateResultSet(iUC);
}
}
} catch (SQLException eSQL) {
throw new BasicException(eSQL);
}
}
} catch (SQLException eSQL) {
throw new BasicException(eSQL);
}
}
}
@@ -50,10 +50,12 @@ public class DataLogicAdmin extends BeanFactoryDataSingle {
m_tpeople = new TableDefinition(s,
"people"
, new String[] {"ID", "NAME", "APPPASSWORD", "ROLE", "VISIBLE", "CARD", "IMAGE"}
, new String[] {"ID", AppLocal.getIntString("label.peoplename"), AppLocal.getIntString("label.Password"), AppLocal.getIntString("label.role"), AppLocal.getIntString("label.peoplevisible"), AppLocal.getIntString("label.card"), AppLocal.getIntString("label.peopleimage")}
, new Datas[] {Datas.STRING, Datas.STRING, Datas.STRING, Datas.STRING, Datas.BOOLEAN, Datas.STRING, Datas.IMAGE}
, new Formats[] {Formats.STRING, Formats.STRING, Formats.STRING, Formats.STRING, Formats.BOOLEAN, Formats.STRING, Formats.NULL}
, new String[] {"ID", "NAME", "APPPASSWORD", "ROLE", "VISIBLE", "CARD", "IMAGE", "TAXID"}
, new String[] {"ID", AppLocal.getIntString("label.peoplename"), AppLocal.getIntString("label.Password"),
AppLocal.getIntString("label.role"), AppLocal.getIntString("label.peoplevisible"),
AppLocal.getIntString("label.card"), AppLocal.getIntString("label.peopleimage"), "tax ID"}
, new Datas[] {Datas.STRING, Datas.STRING, Datas.STRING, Datas.STRING, Datas.BOOLEAN, Datas.STRING, Datas.IMAGE, Datas.STRING}
, new Formats[] {Formats.STRING, Formats.STRING, Formats.STRING, Formats.STRING, Formats.BOOLEAN, Formats.STRING, Formats.NULL, Formats.STRING}
, new int[] {0}
);
@@ -139,6 +139,7 @@ public class PeopleView extends JPanel implements EditorRecord {
m_jVisible.setSelected(((Boolean) people[4]).booleanValue());
m_jcard.setText(Formats.STRING.formatValue(people[5]));
m_jImage.setImage((BufferedImage) people[6]);
taxIdTextField.setText(Formats.STRING.formatValue(people[7]));
m_jName.setEnabled(false);
m_jRole.setEnabled(false);
@@ -163,13 +164,13 @@ public class PeopleView extends JPanel implements EditorRecord {
m_jVisible.setSelected(((Boolean) people[4]).booleanValue());
m_jcard.setText(Formats.STRING.formatValue(people[5]));
m_jImage.setImage((BufferedImage) people[6]);
taxIdTextField.setText(Formats.STRING.formatValue(people[7]));
if (m_jcard.getText().length() == 16) {
jLblCardID.setText(AppLocal.getIntString("label.ibutton"));
} else {
jLblCardID.setText(AppLocal.getIntString("label.card"));
}
System.out.println(m_jcard.getText().length());
// System.out.println(m_jcard.getText().length());
m_jName.setEnabled(true);
m_jRole.setEnabled(true);
@@ -187,7 +188,7 @@ public class PeopleView extends JPanel implements EditorRecord {
*/
@Override
public Object createValue() throws BasicException {
Object[] people = new Object[7];
Object[] people = new Object[8];
people[0] = m_oId == null ? UUID.randomUUID().toString() : m_oId;
people[1] = Formats.STRING.parseValue(m_jName.getText());
people[2] = Formats.STRING.parseValue(m_sPassword);
@@ -195,6 +196,7 @@ public class PeopleView extends JPanel implements EditorRecord {
people[4] = m_jVisible.isSelected();
people[5] = Formats.STRING.parseValue(m_jcard.getText());
people[6] = m_jImage.getImage();
people[7] = Formats.STRING.parseValue(taxIdTextField.getText());
return people;
}
@@ -70,7 +70,7 @@ public class AppUser {
* @param icon
* @param role
*/
public AppUser(String id, String name, String password, String card, String role, Icon icon) {
public AppUser(String id, String name, String password, String card, String role, Icon icon, String taxId) {
m_sId = id;
m_sName = name;
m_sPassword = password;
@@ -121,7 +121,8 @@ public class DataLogicSystem extends BeanFactoryDataSingle {
dr.getString(3),
dr.getString(4),
dr.getString(5),
new ImageIcon(tnb.getThumbNail(ImageUtils.readImage(dr.getBytes(6)))));
new ImageIcon(tnb.getThumbNail(ImageUtils.readImage(dr.getBytes(6)))),
dr.getString(7));
// START OF PRODUCT ************************************************************
productIdRead =(DataRead dr) -> (
@@ -208,12 +209,12 @@ public class DataLogicSystem extends BeanFactoryDataSingle {
// END OF CUSTOMER ******************************************************************
m_peoplevisible = new StaticSentence(s
, "SELECT ID, NAME, APPPASSWORD, CARD, ROLE, IMAGE FROM people WHERE VISIBLE = " + s.DB.TRUE() + " ORDER BY NAME"
, "SELECT ID, NAME, APPPASSWORD, CARD, ROLE, IMAGE, TAXID FROM people WHERE VISIBLE = " + s.DB.TRUE() + " ORDER BY NAME"
, null
, peopleread);
m_peoplebycard = new PreparedSentence(s
, "SELECT ID, NAME, APPPASSWORD, CARD, ROLE, IMAGE FROM people WHERE CARD = ? AND VISIBLE = " + s.DB.TRUE()
, "SELECT ID, NAME, APPPASSWORD, CARD, ROLE, IMAGE, TAXID FROM people WHERE CARD = ? AND VISIBLE = " + s.DB.TRUE()
, SerializerWriteString.INSTANCE
, peopleread);
File diff suppressed because it is too large Load Diff
@@ -205,6 +205,7 @@ CREATE TABLE people (
id varchar(255) NOT NULL,
name varchar(255) NOT NULL,
apppassword varchar(255) default NULL,
taxId varchar(255) default NULL,
card varchar(255) default NULL,
role varchar(255) NOT NULL,
visible smallint NOT NULL,
@@ -1 +1,3 @@
UPDATE applications SET version = $APP_VERSION{} WHERE id = $APP_ID{};
ALTER TABLE people ADD COLUMN IF NOT EXISTS taxId VARCHAR(255) AFTER apppassword;
--ALTER TABLE people ADD COLUMN taxId VARCHAR(100);
UPDATE applications SET version = $APP_VERSION{} WHERE id = $APP_ID{};
@@ -271,6 +271,7 @@ CREATE TABLE `people` (
`id` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`apppassword` varchar(255) default NULL,
`taxId` varchar(255) default NULL,
`card` varchar(255) default NULL,
`role` varchar(255) NOT NULL,
`visible` bit(1) NOT NULL,
@@ -1000,4 +1001,4 @@ INSERT INTO ticketsnum_refund VALUES(1);
INSERT INTO ticketsnum_payment VALUES(1);
-- ADD APPLICATION VERSION
INSERT INTO applications(id, name, version) VALUES($APP_ID{}, $APP_NAME{}, $APP_VERSION{});
INSERT INTO applications(id, name, version) VALUES($APP_ID{}, $APP_NAME{}, $APP_VERSION{});
@@ -1,2 +1,3 @@
ALTER TABLE people ADD COLUMN IF NOT EXISTS taxId VARCHAR(255) AFTER apppassword;
UPDATE applications SET version = $APP_VERSION{} WHERE id = $APP_ID{};
COMMIT;
@@ -246,6 +246,7 @@ CREATE TABLE `people` (
`id` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`apppassword` varchar(255) default NULL,
`taxId` varchar(255) default NULL,
`card` varchar(255) default NULL,
`role` varchar(255) NOT NULL,
`visible` bit(1) NOT NULL,
@@ -975,4 +976,4 @@ INSERT INTO ticketsnum_refund VALUES(1);
INSERT INTO ticketsnum_payment VALUES(1);
-- ADD APPLICATION VERSION
INSERT INTO applications(id, name, version) VALUES($APP_ID{}, $APP_NAME{}, $APP_VERSION{});
INSERT INTO applications(id, name, version) VALUES($APP_ID{}, $APP_NAME{}, $APP_VERSION{});
@@ -1,62 +1,3 @@
-- CLEAR THE DECKS
DELETE FROM sharedtickets;
-- Switch OFF table foreign key relationships
set foreign_key_checks = 0;
-- RECREATE applications table
DROP TABLE `applications`;
CREATE TABLE IF NOT EXISTS `applications` (
`id` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`version` varchar(255) NOT NULL,
`instdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY ( `id` )
) ENGINE = InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT = Compact;
-- SYSTEM
DELETE FROM resources WHERE name = 'script.posapps';
DELETE FROM resources WHERE id = '0';
DELETE FROM resources WHERE id = '00';
INSERT INTO resources(id, name, restype, content) VALUES('00', 'Menu.Root', 0, $FILE{/com/unicenta/pos/templates/Menu.Root.txt});
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Ticket.Buttons.xml} WHERE name = 'Ticket.Buttons';
ALTER TABLE people ADD COLUMN IF NOT EXISTS taxId VARCHAR(255) AFTER apppassword;
UPDATE applications SET version = $APP_VERSION{} WHERE id = $APP_ID{};
COMMIT;
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Printer.Ticket.xml} WHERE name = 'Printer.Ticket';
COMMIT;
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Ticket.Close.xml} WHERE name = 'Ticket.Close';
COMMIT;
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Cash.Close.xml} WHERE name = 'Cash.Close';
COMMIT;
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/customer.created.xml} WHERE name = 'Customer.Created';
COMMIT;
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/customer.deleted.xml} WHERE name = 'Customer.Deleted';
COMMIT;
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/customer.updated.xml} WHERE name = 'Customer.Updated';
COMMIT;
-- ROLES
DELETE FROM roles WHERE id = '0';
INSERT INTO roles(id, name, permissions) VALUES('0', 'Administrator role', $FILE{/com/unicenta/pos/templates/Role.Administrator.xml} );
DELETE FROM roles WHERE id = '1';
INSERT INTO roles(id, name, permissions) VALUES('1', 'Manager role', $FILE{/com/unicenta/pos/templates/Role.Manager.xml} );
DELETE FROM roles WHERE id = '2';
INSERT INTO roles(id, name, permissions) VALUES('2', 'Employee role', $FILE{/com/unicenta/pos/templates/Role.Employee.xml} );
-- Switch ON table foreign key relationships
set foreign_key_checks = 1;
INSERT INTO applications(id, name, version) VALUES($APP_ID{}, $APP_NAME{}, '5.3.1');
COMMIT;
@@ -1207,3 +1207,4 @@ tooltip.config.db.databaseset1=<html><center>Set the optional secondary DB 2 dat
tooltip.config.db.reset=<html><center>Clear the settings of the main DB 1 Database Server
tooltip.config.db.reset1=<html><center>Clear the settings of the optional DB 2 Database Server\t
label.pickupcurrent=Current Pickup Number
label.peopletaxid=Tax ID
@@ -662,3 +662,4 @@ transpayment.slip=Slip
transpayment.voucherin=Note Input
transpayment.voucherout=Note Output
Visor.Title=uniCenta oPOS
label.peopletaxid=Tax ID
@@ -542,3 +542,4 @@ label.department=\u0642\u0633\u0645\u060c \u0623\u0642\u0633\u0627\u0645
message.resetpickup=\u0647\u0644 \u062a\u0631\u064a\u062f \u062d\u0642\u0627 \u0623\u0646 \u0625\u0639\u0627\u062f\u0629 \u062a\u0631\u062a\u064a\u0628 \u0639\u062f\u062f \u0628\u064a\u0643 \u0623\u0628 0\u061f
label.currentstock=\u0645\u062a\u0627\u062d
Menu.CSVStockQty=<html>Products<br><b>Scanner Import
label.peopletaxid=Tax ID
@@ -1008,3 +1008,4 @@ transpayment.ccardrefund=Kort tilbagef\u00f8rsel
transpayment.ticket=Salgskvittering
transpayment.voucher=Gavekort
Visor.Title=uniCenta oPOS
label.peopletaxid=Tax ID
@@ -902,3 +902,4 @@ transpayment.voucher=Gutschein
transpayment.voucherin=Gutschein Eingabe
transpayment.voucherout=Gutschein Ausgabe
Visor.Title=uniCenta oPOS
label.peopletaxid=Tax ID
@@ -548,3 +548,4 @@ transpayment.ticket=\u0391\u03c0\u03cc\u03b4\u03b5\u03b9\u03be\u03b7
transpayment.voucherin=\u039a\u03bf\u03c5\u03c0\u03cc\u03bd\u03b9
transpayment.voucherout=\u039a\u03bf\u03c5\u03c0\u03cc\u03bd\u03b9
Visor.Title=uniCenta oPOS
label.peopletaxid=Tax ID
@@ -1116,3 +1116,4 @@ label.override=Use Override?
title.override.enterpin=Enter PIN Number
message.override.badpin=<html><center><h4>PIN Number Incorrect
Menu.CustomersExport=Customer Export
label.peopletaxid=Tax ID
@@ -1187,4 +1187,5 @@ label.csvclear=Diario de importaci\u00f3n
message.eolupdate=<html><center><h3>uniCenta oPOS Versi\u00f3n {0} detectada!</h3><h4>\u00a1Las actualizaciones de la versi\u00f3n est\u00e1n cambiando!</h4> Si su versi\u00f3n es 4.5 o posterior, elija <b>S\u00cd</b> para continuar.<br/><br/> Para versiones anteriores, haga clic en <b>NO</b> para abrir Opciones de configuraci\u00f3n ahora.<br/></br>Lea la Gu\u00eda de transferencia de datos de uniCenta oPOS
label.find=Buscar
label.create=Crear
label.cancel=Cancelar
label.cancel=Cancelar
label.peopletaxid=ID de impuesto
@@ -484,3 +484,4 @@ transpayment.ccardrefund=Devoluci\u00f3n con tarjeta
transpayment.voucherin=Vales cobrados
transpayment.voucherout=Vales emitidos
Visor.Title=uniCenta oPOS
label.peopletaxid=Tax ID
@@ -468,4 +468,6 @@ transpayment.ticket=Ticket
transpayment.voucherin=Vales cobrados
transpayment.voucherout=Vales emitidos
Visor.Title=uniCenta oPOS
message.eolupdate=<html><center><h3>uniCenta oPOS Versi\u00f3n {0} detectada!</h3><h4>\u00a1Las actualizaciones de la versi\u00f3n est\u00e1n cambiando!</h4> Si su versi\u00f3n es 5.3 o posterior, elija <b>S\u00cd</b> para continuar.<br/><br/> Para versiones anteriores, haga clic en <b>NO</b> para abrir Opciones de configuraci\u00f3n ahora.<br/></br>Lea la Gu\u00eda de transferencia de datos de uniCenta oPOS
message.eolupdate=<html><center><h3>uniCenta oPOS Versi\u00f3n {0} detectada!</h3><h4>\u00a1Las actualizaciones de la versi\u00f3n est\u00e1n cambiando!</h4> Si su versi\u00f3n es 5.3 o posterior, elija <b>S\u00cd</b> para continuar.<br/><br/> Para versiones anteriores, haga clic en <b>NO</b> para abrir Opciones de configuraci\u00f3n ahora.<br/></br>Lea la Gu\u00eda de transferencia de datos de uniCenta oPOS
label.peopletaxid=Identificador de taxi
@@ -502,3 +502,4 @@ transpayment.ccardrefund=Kaardimakse tagastus
transpayment.voucherin=Kupongimakse
transpayment.voucherout=Kupong v\u00e4lja
Visor.Title=uniCenta oPOS
label.peopletaxid=Tax ID
@@ -1083,3 +1083,4 @@ label.add=Ajouter
label.cancel=Annuler
label.create=Cr\u00e9er
label.find=Trouver
label.peopletaxid=Tax ID
@@ -482,3 +482,4 @@ transpayment.ccardrefund=Povrat kartice
transpayment.voucherin=Bilje\u0161ka - ulaz
transpayment.voucherout=Bilje\u0161ka - izlaz
Visor.Title=uniCenta oPOS
label.peopletaxid=Tax ID
@@ -753,3 +753,4 @@ transpayment.ticket=Fattura
transpayment.voucherin=Nota Ingresso
transpayment.voucherout=Nota Uscita
Visor.Title=uniCenta oPOS
label.peopletaxid=Tax ID
@@ -1175,3 +1175,4 @@ button.setTransfer=SET
message.transfersamedatabase=<html><center><h4>Not able to transfer database into itself
label.configURL=Click this link to see how to create a Database Schema
tooltip.pickupbarcode=Find Pickup ID
label.peopletaxid=Tax ID
@@ -462,3 +462,4 @@ transpayment.ticket=Recibo
transpayment.voucherin=Entrada de nota
transpayment.voucherout=Sa\u00edda de nota
Visor.Title=uniCenta oPOS
label.peopletaxid=Tax ID
@@ -404,3 +404,4 @@ transpayment.ticket=Cupom
transpayment.voucherin=Nota entrada
transpayment.voucherout=Nota sa\u00edda
Visor.Title=uniCenta POS
label.peopletaxid=Tax ID