📄 acctviewer.java
字号:
} // jbInit
/**
* Dynamic Init
*
* @param AD_Table_ID table
* @param Record_ID record
*/
private void dynInit(int AD_Table_ID, int Record_ID)
{
ImageIcon iFind = new ImageIcon(org.compiere.Compiere.class.getResource("images/Find16.gif"));
if (m_data.ASchemas.length > 1)
m_data.fillAcctSchema(selAcctSchema);
else
{
lacctSchema.setVisible(false);
selAcctSchema.setVisible(false);
}
m_data.fillTable(selTable);
selTable.addActionListener(this);
selRecord.addActionListener(this);
selRecord.setIcon(iFind);
selRecord.setText("");
// Sort Options
ValueNamePair vn = new ValueNamePair("","");
sortBy1.addItem(vn); sortBy2.addItem(vn); sortBy3.addItem(vn); sortBy4.addItem(vn);
vn = new ValueNamePair("DateAcct", Msg.translate(Env.getCtx(), "DateAcct"));
sortBy1.addItem(vn); sortBy2.addItem(vn); sortBy3.addItem(vn); sortBy4.addItem(vn);
vn = new ValueNamePair("DateTrx", Msg.translate(Env.getCtx(), "DateTrx"));
sortBy1.addItem(vn); sortBy2.addItem(vn); sortBy3.addItem(vn); sortBy4.addItem(vn);
vn = new ValueNamePair("C_Period_ID", Msg.translate(Env.getCtx(), "C_Period_ID"));
sortBy1.addItem(vn); sortBy2.addItem(vn); sortBy3.addItem(vn); sortBy4.addItem(vn);
// Mandatory Elements
m_data.fillOrg(selOrg);
selAcct.setActionCommand("Account_ID");
selAcct.addActionListener(this);
selAcct.setText("");
selAcct.setIcon(iFind);
//
CLabel[] labels = new CLabel[] {lsel1, lsel2, lsel3, lsel4, lsel5, lsel6, lsel7, lsel8};
CButton[] buttons = new CButton[] {sel1, sel2, sel3, sel4, sel5, sel6, sel7, sel8};
int selectionIndex = 0;
ArrayList elements = m_data.AS.getAcctSchemaElementList();
for (int i = 0; i < elements.size() && selectionIndex < labels.length; i++)
{
AcctSchemaElement ase = (AcctSchemaElement)elements.get(i);
String columnName = ase.getColumnName();
// Add Sort Option
vn = new ValueNamePair(columnName, Msg.translate(Env.getCtx(), columnName));
sortBy1.addItem(vn);
sortBy2.addItem(vn);
sortBy3.addItem(vn);
sortBy4.addItem(vn);
// Additional Elements
if (!ase.isSegmentType(ase.SEGMENT_Org) && !ase.isSegmentType(ase.SEGMENT_Account))
{
labels[selectionIndex].setText(Msg.translate(Env.getCtx(), columnName));
buttons[selectionIndex].setActionCommand(columnName);
buttons[selectionIndex].addActionListener(this);
buttons[selectionIndex].setIcon(iFind);
buttons[selectionIndex].setText("");
selectionIndex++;
}
}
// don't show remaining
while (selectionIndex < labels.length)
{
labels[selectionIndex].setVisible(false);
buttons[selectionIndex++].setVisible(false);
}
// Document Select
boolean haveDoc = AD_Table_ID != 0 && Record_ID != 0;
selDocument.setSelected (haveDoc);
actionDocument();
actionTable();
statusLine.setText(" " + Msg.getMsg(Env.getCtx(), "ViewerOptions"));
// Initial Query
if (haveDoc)
{
m_data.AD_Table_ID = AD_Table_ID;
m_data.Record_ID = Record_ID;
actionQuery();
}
} // dynInit
/**
* Dispose
*/
public void dispose()
{
m_data.dispose();
m_data = null;
super.dispose();
} // dispose;
/*************************************************************************/
/**
* Tab Changed
* @param e ChangeEvent
*/
public void stateChanged(ChangeEvent e)
{
// Log.trace(Log.l1_User, "AcctViewer.stateChanged");
bRePost.setVisible(m_data.documentQuery && tabbedPane.getSelectedIndex() == 1);
} // stateChanged
/**
* Action Performed (Action Listener)
* @param e ActionEvent
*/
public void actionPerformed(ActionEvent e)
{
Log.trace(Log.l1_User, "AcctViewer.actionPerformed", e.getActionCommand());
if (e.getSource() == bQuery)
actionQuery();
else if (e.getSource() == selDocument)
actionDocument();
else if (e.getSource() == selTable)
actionTable();
else if (e.getSource() == bRePost)
actionRePost();
// InfoButtons
else if (e.getSource() instanceof CButton)
actionButton((CButton)e.getSource());
} // actionPerformed
/**
* Query
*/
private void actionQuery()
{
// Parameter Info
StringBuffer para = new StringBuffer();
// Reset Selection Data
m_data.C_AcctSchema_ID = 0;
m_data.AD_Org_ID = 0;
// Save Selection Choices
KeyNamePair kp = (KeyNamePair)selAcctSchema.getSelectedItem();
if (kp != null)
m_data.C_AcctSchema_ID = kp.getKey();
para.append("C_AcctSchema_ID=").append(m_data.C_AcctSchema_ID);
// Document
m_data.documentQuery = selDocument.isSelected();
para.append(", DocumentQuery=").append(m_data.documentQuery);
if (selDocument.isSelected())
{
if (m_data.AD_Table_ID == 0 || m_data.Record_ID == 0)
return;
para.append(", AD_Table_ID=").append(m_data.AD_Table_ID)
.append(", Record_ID=").append(m_data.Record_ID);
}
else
{
m_data.DateFrom = (Timestamp)selDateFrom.getValue();
para.append(", DateFrom=").append(m_data.DateFrom);
m_data.DateTo = (Timestamp)selDateTo.getValue();
para.append(", DateTo=").append(m_data.DateTo);
kp = (KeyNamePair)selOrg.getSelectedItem();
if (kp != null)
m_data.AD_Org_ID = kp.getKey();
para.append(", AD_Org_ID=").append(m_data.AD_Org_ID);
//
Iterator it = m_data.whereInfo.values().iterator();
while (it.hasNext())
para.append(", ").append(it.next());
}
// Save Display Choices
m_data.displayQty = displayQty.isSelected();
para.append(" - Display Qty=").append(m_data.displayQty);
m_data.displaySourceAmt = displaySourceAmt.isSelected();
para.append(", Source=").append(m_data.displaySourceAmt);
m_data.displayDocumentInfo = displayDocumentInfo.isSelected();
para.append(", Doc=").append(m_data.displayDocumentInfo);
//
m_data.sortBy1 = ((ValueNamePair)sortBy1.getSelectedItem()).getValue();
m_data.group1 = group1.isSelected();
para.append(" - Sorting: ").append(m_data.sortBy1).append("/").append(m_data.group1);
m_data.sortBy2 = ((ValueNamePair)sortBy2.getSelectedItem()).getValue();
m_data.group2 = group2.isSelected();
para.append(", ").append(m_data.sortBy2).append("/").append(m_data.group2);
m_data.sortBy3 = ((ValueNamePair)sortBy3.getSelectedItem()).getValue();
m_data.group3 = group3.isSelected();
para.append(", ").append(m_data.sortBy3).append("/").append(m_data.group3);
m_data.sortBy4 = ((ValueNamePair)sortBy4.getSelectedItem()).getValue();
m_data.group4 = group4.isSelected();
para.append(", ").append(m_data.sortBy4).append("/").append(m_data.group4);
bQuery.setEnabled(false);
statusLine.setText(" " + Msg.getMsg(Env.getCtx(), "Processing"));
Log.trace(Log.l3_Util, "AcctViewer.actionQuery", para.toString());
Thread.yield();
// Switch to Result pane
tabbedPane.setSelectedIndex(1);
// Set TableModel with Query
table.setModel(m_data.query());
bQuery.setEnabled(true);
statusLine.setText(" " + Msg.getMsg(Env.getCtx(), "ViewerOptions"));
} // actionQuery
/**
* Document selection
*/
private void actionDocument()
{
boolean doc = selDocument.isSelected();
selTable.setEnabled(doc);
selRecord.setEnabled(doc);
//
selDateFrom.setReadWrite(!doc);
selDateTo.setReadWrite(!doc);
selOrg.setEnabled(!doc);
selAcct.setEnabled(!doc);
sel1.setEnabled(!doc);
sel2.setEnabled(!doc);
sel3.setEnabled(!doc);
sel4.setEnabled(!doc);
sel5.setEnabled(!doc);
sel6.setEnabled(!doc);
sel7.setEnabled(!doc);
sel8.setEnabled(!doc);
} // actionDocument
/**
* Save Table selection (reset Record selection)
*/
private void actionTable()
{
ValueNamePair vp = (ValueNamePair)selTable.getSelectedItem();
m_data.AD_Table_ID = ((Integer)m_data.tableInfo.get(vp.getValue())).intValue();
Log.trace(Log.l3_Util, "AcctViewer.actionTable", vp.getValue() + " = " + m_data.AD_Table_ID);
// Reset Record
m_data.Record_ID = 0;
selRecord.setText("");
selRecord.setActionCommand(vp.getValue()+"_ID");
} // actionTable
/**
* Action Button
*
* @param button pressed button
* @return ID
*/
private int actionButton(CButton button)
{
String keyColumn = button.getActionCommand();
String lookupColumn = keyColumn;
if (keyColumn.equals("Account_ID") || keyColumn.startsWith("User"))
lookupColumn = "C_ElementValue_ID";
String tableName = lookupColumn.substring(0, lookupColumn.length()-3);
Info info = Info.create(this, true, m_data.WindowNo, tableName, lookupColumn, "", false, "");
if (!info.loadedOK())
{
info.dispose();
info = null;
button.setText("");
m_data.whereInfo.put(keyColumn, "");
return 0;
}
info.show();
String selectSQL = info.getSelectedSQL(); // C_Project_ID=100 or ""
Integer key = (Integer)info.getSelectedKey();
info = null;
if (selectSQL == null || selectSQL.length() == 0 || key == null)
{
button.setText("");
m_data.whereInfo.put(keyColumn, ""); // no query
return 0;
}
// Save for query
Log.trace(Log.l3_Util, "AcctViewer.actionButton", keyColumn + " - " + key);
if (button == selRecord) // Record_ID
m_data.Record_ID = key.intValue();
else
m_data.whereInfo.put(keyColumn, keyColumn + "=" + key.intValue());
// Display Selection and resize
button.setText(m_data.getButtonText(tableName, lookupColumn, selectSQL));
pack();
return key.intValue();
} // actionButton
/**
* RePost Record
*/
private void actionRePost()
{
if (m_data.documentQuery && m_data.AD_Table_ID != 0 && m_data.Record_ID != 0
&& ADialog.ask(m_data.WindowNo, this, "PostImmediate?"))
{
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
AEnv.postImmediate (m_data.WindowNo, m_data.AD_Client_ID,
m_data.AD_Table_ID, m_data.Record_ID, true);
setCursor(Cursor.getDefaultCursor());
actionQuery();
}
} // actionRePost
} // AcctViewer
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -