hg merge release-1.0c (merge release1 into release2)
This commit is contained in:
parent
3b341a569a
commit
de37b5951b
|
@ -534,13 +534,11 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
btnSave.setAttribute("name","btnSaveAdv");
|
btnSave.setAttribute("name","btnSaveAdv");
|
||||||
btnSave.setImage(ThemeManager.getThemeResource("images/Save24.png"));
|
btnSave.setImage(ThemeManager.getThemeResource("images/Save24.png"));
|
||||||
btnSave.addEventListener(Events.ON_CLICK, this);
|
btnSave.addEventListener(Events.ON_CLICK, this);
|
||||||
btnSave.setDisabled(true);
|
|
||||||
btnSave.setId("btnSave");
|
btnSave.setId("btnSave");
|
||||||
btnSave.setStyle("vertical-align: middle;");
|
btnSave.setStyle("vertical-align: middle;");
|
||||||
|
|
||||||
fQueryName = new Combobox();
|
fQueryName = new Combobox();
|
||||||
fQueryName.setTooltiptext(Msg.getMsg(Env.getCtx(),"QueryName"));
|
fQueryName.setTooltiptext(Msg.getMsg(Env.getCtx(),"QueryName"));
|
||||||
fQueryName.setReadonly(true);
|
|
||||||
fQueryName.setId("savedQueryCombo");
|
fQueryName.setId("savedQueryCombo");
|
||||||
|
|
||||||
//user query
|
//user query
|
||||||
|
@ -1214,7 +1212,11 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
|
|
||||||
else if ("btnSaveAdv".equals(button.getAttribute("name").toString()))
|
else if ("btnSaveAdv".equals(button.getAttribute("name").toString()))
|
||||||
{
|
{
|
||||||
cmd_save(true);
|
if (winMain.getComponent().getSelectedIndex() == 1) {
|
||||||
|
cmd_saveAdvanced(true);
|
||||||
|
} else {
|
||||||
|
cmd_saveSimple(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Confirm panel actions
|
// Confirm panel actions
|
||||||
|
@ -1284,14 +1286,10 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
} // onEvent
|
} // onEvent
|
||||||
|
|
||||||
private void onSimpleTabSelected() {
|
private void onSimpleTabSelected() {
|
||||||
fQueryName.setReadonly(true);
|
|
||||||
btnSave.setDisabled(true);
|
|
||||||
historyCombo.setDisabled(false);
|
historyCombo.setDisabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onAdvanceTabSelected() {
|
private void onAdvanceTabSelected() {
|
||||||
fQueryName.setReadonly(false);
|
|
||||||
btnSave.setDisabled(m_AD_Tab_ID <= 0);
|
|
||||||
historyCombo.setSelectedItem(null);
|
historyCombo.setSelectedItem(null);
|
||||||
if (advancedPanel.getItems().size() == 0) {
|
if (advancedPanel.getItems().size() == 0) {
|
||||||
createFields();
|
createFields();
|
||||||
|
@ -1426,7 +1424,7 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
|
|
||||||
} // parseValue
|
} // parseValue
|
||||||
|
|
||||||
private void cmd_save(boolean saveQuery)
|
private void cmd_saveAdvanced(boolean saveQuery)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
m_query = new MQuery(m_tableName);
|
m_query = new MQuery(m_tableName);
|
||||||
|
@ -1502,21 +1500,7 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
{
|
{
|
||||||
m_query.addRestriction(ColumnSQL, Operator, null,
|
m_query.addRestriction(ColumnSQL, Operator, null,
|
||||||
infoName, null, and, openBrackets);
|
infoName, null, and, openBrackets);
|
||||||
if (code.length() > 0)
|
appendCode(code, ColumnName, Operator, "", "", andOr, lBrackets, rBrackets);
|
||||||
code.append(SEGMENT_SEPARATOR);
|
|
||||||
code.append(ColumnName)
|
|
||||||
.append(FIELD_SEPARATOR)
|
|
||||||
.append(Operator)
|
|
||||||
.append(FIELD_SEPARATOR)
|
|
||||||
.append("")
|
|
||||||
.append(FIELD_SEPARATOR)
|
|
||||||
.append("")
|
|
||||||
.append(FIELD_SEPARATOR)
|
|
||||||
.append(andOr)
|
|
||||||
.append(FIELD_SEPARATOR)
|
|
||||||
.append(lBrackets)
|
|
||||||
.append(FIELD_SEPARATOR)
|
|
||||||
.append(rBrackets);
|
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1571,15 +1555,25 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
m_query.addRestriction(ColumnSQL, Operator, parsedValue,
|
m_query.addRestriction(ColumnSQL, Operator, parsedValue,
|
||||||
infoName, infoDisplay, and, openBrackets);
|
infoName, infoDisplay, and, openBrackets);
|
||||||
|
|
||||||
|
appendCode(code, ColumnName, Operator, value.toString(), value2 != null ? value2.toString() : "", andOr, lBrackets, rBrackets);
|
||||||
|
}
|
||||||
|
|
||||||
|
saveQuery(saveQuery, code);
|
||||||
|
|
||||||
|
} // cmd_saveAdvanced
|
||||||
|
|
||||||
|
private void appendCode(StringBuilder code, String columnName,
|
||||||
|
String operator, String value1, String value2, String andOr,
|
||||||
|
String lBrackets, String rBrackets) {
|
||||||
if (code.length() > 0)
|
if (code.length() > 0)
|
||||||
code.append(SEGMENT_SEPARATOR);
|
code.append(SEGMENT_SEPARATOR);
|
||||||
code.append(ColumnName)
|
code.append(columnName)
|
||||||
.append(FIELD_SEPARATOR)
|
.append(FIELD_SEPARATOR)
|
||||||
.append(Operator)
|
.append(operator)
|
||||||
.append(FIELD_SEPARATOR)
|
.append(FIELD_SEPARATOR)
|
||||||
.append(value.toString())
|
.append(value1)
|
||||||
.append(FIELD_SEPARATOR)
|
.append(FIELD_SEPARATOR)
|
||||||
.append(value2 != null ? value2.toString() : "")
|
.append(value2)
|
||||||
.append(FIELD_SEPARATOR)
|
.append(FIELD_SEPARATOR)
|
||||||
.append(andOr)
|
.append(andOr)
|
||||||
.append(FIELD_SEPARATOR)
|
.append(FIELD_SEPARATOR)
|
||||||
|
@ -1587,6 +1581,9 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
.append(FIELD_SEPARATOR)
|
.append(FIELD_SEPARATOR)
|
||||||
.append(rBrackets);
|
.append(rBrackets);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void saveQuery(boolean saveQuery, StringBuilder code) {
|
||||||
|
|
||||||
String selected = fQueryName.getValue();
|
String selected = fQueryName.getValue();
|
||||||
if (selected != null) {
|
if (selected != null) {
|
||||||
String name = selected;
|
String name = selected;
|
||||||
|
@ -1643,8 +1640,108 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
//
|
//
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} // cmd_save
|
private void cmd_saveSimple(boolean saveQuery)
|
||||||
|
{
|
||||||
|
// Create Query String
|
||||||
|
m_query = new MQuery(m_tableName);
|
||||||
|
m_query.addRestriction(Env.parseContext(Env.getCtx(), m_targetWindowNo, m_whereExtended, false));
|
||||||
|
StringBuilder code = new StringBuilder();
|
||||||
|
// Special Editors
|
||||||
|
for (int i = 0; i < m_sEditors.size(); i++)
|
||||||
|
{
|
||||||
|
WEditor wed = (WEditor)m_sEditors.get(i);
|
||||||
|
Object value = wed.getValue();
|
||||||
|
String ColumnName = wed.getColumnName();
|
||||||
|
WEditor wedTo = (WEditor)m_sEditorsTo.get(i);
|
||||||
|
Object valueTo = null;
|
||||||
|
if (wedTo != null && wedTo.getComponent().isVisible())
|
||||||
|
valueTo = wedTo.getValue();
|
||||||
|
if (value != null && value.toString().length() > 0)
|
||||||
|
{
|
||||||
|
if (valueTo != null && valueTo.toString().length() > 0) {
|
||||||
|
// range
|
||||||
|
StringBuilder msglog = new StringBuilder(ColumnName).append(">=").append(value).append("<=").append(valueTo);
|
||||||
|
if (log.isLoggable(Level.FINE)) log.fine(msglog.toString());
|
||||||
|
|
||||||
|
GridField field = getTargetMField(ColumnName);
|
||||||
|
StringBuilder ColumnSQL = new StringBuilder(field.getColumnSQL(false));
|
||||||
|
m_query.addRangeRestriction(ColumnSQL.toString(), value, valueTo,
|
||||||
|
ColumnName, wed.getDisplay(), wedTo.getDisplay(), true, 0);
|
||||||
|
appendCode(code, ColumnName, MQuery.BETWEEN, value.toString(), valueTo.toString(), "AND", "", "");
|
||||||
|
} else {
|
||||||
|
StringBuilder msglog = new StringBuilder(ColumnName).append("=").append(value);
|
||||||
|
if (log.isLoggable(Level.FINE)) log.fine(msglog.toString());
|
||||||
|
|
||||||
|
// globalqss - Carlos Ruiz - 20060711
|
||||||
|
// fix a bug with virtualColumn + isSelectionColumn not yielding results
|
||||||
|
GridField field = getTargetMField(ColumnName);
|
||||||
|
// add encryption here if the field is encrypted.
|
||||||
|
if (field.isEncryptedColumn()) {
|
||||||
|
value = SecureEngine.encrypt(value, Env.getAD_Client_ID(Env.getCtx()));
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean isProductCategoryField = isProductCategoryField(field.getColumnName());
|
||||||
|
StringBuilder ColumnSQL = new StringBuilder(field.getColumnSQL(false));
|
||||||
|
//
|
||||||
|
// Be more permissive for String columns
|
||||||
|
if (isSearchLike(field))
|
||||||
|
{
|
||||||
|
StringBuilder valueStr = new StringBuilder(value.toString().toUpperCase());
|
||||||
|
if (!valueStr.toString().endsWith("%"))
|
||||||
|
valueStr.append("%");
|
||||||
|
//
|
||||||
|
ColumnSQL = new StringBuilder("UPPER(").append(ColumnSQL).append(")");
|
||||||
|
value = valueStr.toString();
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (value.toString().indexOf('%') != -1) {
|
||||||
|
m_query.addRestriction(ColumnSQL.toString(), MQuery.LIKE, value, ColumnName, wed.getDisplay());
|
||||||
|
appendCode(code, ColumnName, MQuery.LIKE, value.toString(), "", "AND", "", "");
|
||||||
|
} else if (isProductCategoryField && value instanceof Integer) {
|
||||||
|
m_query.addRestriction(getSubCategoryWhereClause(((Integer) value).intValue()));
|
||||||
|
appendCode(code, ColumnName, MQuery.EQUAL, value.toString(), "", "AND", "", "");
|
||||||
|
} else {
|
||||||
|
String oper = MQuery.EQUAL;
|
||||||
|
if (wedTo != null) {
|
||||||
|
ToolBarButton wedFlag = m_sEditorsFlag.get(i);
|
||||||
|
if (wedFlag.isChecked())
|
||||||
|
oper = MQuery.GREATER_EQUAL;
|
||||||
|
}
|
||||||
|
m_query.addRestriction(ColumnSQL.toString(), oper, value, ColumnName, wed.getDisplay());
|
||||||
|
appendCode(code, ColumnName, oper, value.toString(), "", "AND", "", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (value.toString().indexOf('%') != -1)
|
||||||
|
m_query.addRestriction(ColumnName, MQuery.LIKE, value, ColumnName, ved.getDisplay());
|
||||||
|
else
|
||||||
|
m_query.addRestriction(ColumnName, MQuery.EQUAL, value, ColumnName, ved.getDisplay());
|
||||||
|
*/
|
||||||
|
// end globalqss patch
|
||||||
|
}
|
||||||
|
} else if (valueTo != null && valueTo.toString().length() > 0) {
|
||||||
|
// filled upper limit without filling lower limit
|
||||||
|
StringBuilder msglog = new StringBuilder(ColumnName).append("<=").append(valueTo);
|
||||||
|
if (log.isLoggable(Level.FINE)) log.fine(msglog.toString());
|
||||||
|
|
||||||
|
GridField field = getTargetMField(ColumnName);
|
||||||
|
StringBuilder ColumnSQL = new StringBuilder(field.getColumnSQL(false));
|
||||||
|
//
|
||||||
|
m_query.addRestriction(ColumnSQL.toString(), MQuery.LESS_EQUAL, valueTo, ColumnName, wed.getDisplay());
|
||||||
|
appendCode(code, ColumnName, MQuery.LESS_EQUAL, valueTo.toString(), "", "AND", "", "");
|
||||||
|
}
|
||||||
|
} // editors
|
||||||
|
|
||||||
|
if(historyCombo.getSelectedItem()!=null)
|
||||||
|
{
|
||||||
|
addHistoryRestriction(historyCombo.getSelectedItem());
|
||||||
|
}
|
||||||
|
|
||||||
|
saveQuery(saveQuery, code);
|
||||||
|
|
||||||
|
} // cmd_saveSimple
|
||||||
|
|
||||||
private void refreshUserQueries()
|
private void refreshUserQueries()
|
||||||
{
|
{
|
||||||
|
@ -1867,96 +1964,10 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
**/
|
**/
|
||||||
private void cmd_ok_Simple()
|
private void cmd_ok_Simple()
|
||||||
{
|
{
|
||||||
// Create Query String
|
|
||||||
m_query = new MQuery(m_tableName);
|
|
||||||
m_query.addRestriction(Env.parseContext(Env.getCtx(), m_targetWindowNo, m_whereExtended, false));
|
|
||||||
// Special Editors
|
|
||||||
for (int i = 0; i < m_sEditors.size(); i++)
|
|
||||||
{
|
|
||||||
WEditor wed = (WEditor)m_sEditors.get(i);
|
|
||||||
Object value = wed.getValue();
|
|
||||||
String ColumnName = wed.getColumnName();
|
|
||||||
WEditor wedTo = (WEditor)m_sEditorsTo.get(i);
|
|
||||||
Object valueTo = null;
|
|
||||||
if (wedTo != null && wedTo.getComponent().isVisible())
|
|
||||||
valueTo = wedTo.getValue();
|
|
||||||
if (value != null && value.toString().length() > 0)
|
|
||||||
{
|
|
||||||
if (valueTo != null && valueTo.toString().length() > 0) {
|
|
||||||
// range
|
|
||||||
StringBuilder msglog = new StringBuilder(ColumnName).append(">=").append(value).append("<=").append(valueTo);
|
|
||||||
if (log.isLoggable(Level.FINE)) log.fine(msglog.toString());
|
|
||||||
|
|
||||||
GridField field = getTargetMField(ColumnName);
|
|
||||||
StringBuilder ColumnSQL = new StringBuilder(field.getColumnSQL(false));
|
|
||||||
m_query.addRangeRestriction(ColumnSQL.toString(), value, valueTo,
|
|
||||||
ColumnName, wed.getDisplay(), wedTo.getDisplay(), true, 0);
|
|
||||||
} else {
|
|
||||||
StringBuilder msglog = new StringBuilder(ColumnName).append("=").append(value);
|
|
||||||
if (log.isLoggable(Level.FINE)) log.fine(msglog.toString());
|
|
||||||
|
|
||||||
// globalqss - Carlos Ruiz - 20060711
|
|
||||||
// fix a bug with virtualColumn + isSelectionColumn not yielding results
|
|
||||||
GridField field = getTargetMField(ColumnName);
|
|
||||||
// add encryption here if the field is encrypted.
|
|
||||||
if (field.isEncryptedColumn()) {
|
|
||||||
value = SecureEngine.encrypt(value, Env.getAD_Client_ID(Env.getCtx()));
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean isProductCategoryField = isProductCategoryField(field.getColumnName());
|
|
||||||
StringBuilder ColumnSQL = new StringBuilder(field.getColumnSQL(false));
|
|
||||||
//
|
|
||||||
// Be more permissive for String columns
|
|
||||||
if (isSearchLike(field))
|
|
||||||
{
|
|
||||||
StringBuilder valueStr = new StringBuilder(value.toString().toUpperCase());
|
|
||||||
if (!valueStr.toString().endsWith("%"))
|
|
||||||
valueStr.append("%");
|
|
||||||
//
|
|
||||||
ColumnSQL = new StringBuilder("UPPER(").append(ColumnSQL).append(")");
|
|
||||||
value = valueStr.toString();
|
|
||||||
}
|
|
||||||
//
|
|
||||||
if (value.toString().indexOf('%') != -1)
|
|
||||||
m_query.addRestriction(ColumnSQL.toString(), MQuery.LIKE, value, ColumnName, wed.getDisplay());
|
|
||||||
else if (isProductCategoryField && value instanceof Integer)
|
|
||||||
m_query.addRestriction(getSubCategoryWhereClause(((Integer) value).intValue()));
|
|
||||||
else {
|
|
||||||
String oper = MQuery.EQUAL;
|
|
||||||
if (wedTo != null) {
|
|
||||||
ToolBarButton wedFlag = m_sEditorsFlag.get(i);
|
|
||||||
if (wedFlag.isChecked())
|
|
||||||
oper = MQuery.GREATER_EQUAL;
|
|
||||||
}
|
|
||||||
m_query.addRestriction(ColumnSQL.toString(), oper, value, ColumnName, wed.getDisplay());
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
if (value.toString().indexOf('%') != -1)
|
|
||||||
m_query.addRestriction(ColumnName, MQuery.LIKE, value, ColumnName, ved.getDisplay());
|
|
||||||
else
|
|
||||||
m_query.addRestriction(ColumnName, MQuery.EQUAL, value, ColumnName, ved.getDisplay());
|
|
||||||
*/
|
|
||||||
// end globalqss patch
|
|
||||||
}
|
|
||||||
} else if (valueTo != null && valueTo.toString().length() > 0) {
|
|
||||||
// filled upper limit without filling lower limit
|
|
||||||
StringBuilder msglog = new StringBuilder(ColumnName).append("<=").append(valueTo);
|
|
||||||
if (log.isLoggable(Level.FINE)) log.fine(msglog.toString());
|
|
||||||
|
|
||||||
GridField field = getTargetMField(ColumnName);
|
|
||||||
StringBuilder ColumnSQL = new StringBuilder(field.getColumnSQL(false));
|
|
||||||
//
|
|
||||||
m_query.addRestriction(ColumnSQL.toString(), MQuery.LESS_EQUAL, valueTo, ColumnName, wed.getDisplay());
|
|
||||||
}
|
|
||||||
} // editors
|
|
||||||
|
|
||||||
if(historyCombo.getSelectedItem()!=null)
|
|
||||||
{
|
|
||||||
addHistoryRestriction(historyCombo.getSelectedItem());
|
|
||||||
}
|
|
||||||
|
|
||||||
m_isCancel = false; // teo_sarca [ 1708717 ]
|
m_isCancel = false; // teo_sarca [ 1708717 ]
|
||||||
|
// save pending
|
||||||
|
cmd_saveSimple(false);
|
||||||
|
|
||||||
// Test for no records
|
// Test for no records
|
||||||
if (getNoOfRecords(m_query, true) != 0)
|
if (getNoOfRecords(m_query, true) != 0)
|
||||||
dispose();
|
dispose();
|
||||||
|
@ -2025,7 +2036,7 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
{
|
{
|
||||||
m_isCancel = false; // teo_sarca [ 1708717 ]
|
m_isCancel = false; // teo_sarca [ 1708717 ]
|
||||||
// save pending
|
// save pending
|
||||||
cmd_save(false);
|
cmd_saveAdvanced(false);
|
||||||
|
|
||||||
if(historyCombo.getSelectedItem()!=null)
|
if(historyCombo.getSelectedItem()!=null)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue