📄 vsetup.java
字号:
Statement stmt = DB.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next())
fCurrency.addItem(new KeyNamePair(rs.getInt(1) , rs.getString(2)));
rs.close();
stmt.close();
}
catch (SQLException e1)
{
Log.error ("VSetup.dynInit -currency", e1);
}
fCurrency.setSelectedIndex(0);
// Country
sql = "SELECT C_Country_ID, Name FROM C_Country ORDER BY 1"; // US first
try
{
Statement stmt = DB.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next())
fCountry.addItem(new KeyNamePair(rs.getInt(1) , rs.getString(2)));
rs.close();
stmt.close();
}
catch (SQLException e1)
{
Log.error ("VSetup.dynInit -country", e1);
}
fCountry.setSelectedIndex(0);
// Region (optional)
sql = "SELECT C_Region_ID, Name FROM C_Region ORDER BY C_Country_ID, Name";
try
{
fRegion.addItem(new KeyNamePair(0, " "));
Statement stmt = DB.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next())
fRegion.addItem(new KeyNamePair(rs.getInt(1) , rs.getString(2)));
rs.close();
stmt.close();
}
catch (SQLException e1)
{
Log.error ("VSetup.dynInit -region", e1);
}
fRegion.setSelectedIndex(0);
// General Listeners
confirmPanel.addActionListener(this);
buttonLoadAcct.addActionListener(this);
confirmPanel.getOKButton().setEnabled(false);
} // dynInit
/**
* Dispose
*/
public void dispose()
{
m_frame.dispose();
} // dispose
/**
* ActionListener
* @param e event
*/
public void actionPerformed (ActionEvent e)
{
// load file
if (e.getSource().equals(buttonLoadAcct))
m_file = getFile();
// OK
else if (e.getActionCommand().equals(ConfirmPanel.A_OK) && m_file != null)
{
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
confirmPanel.getCancelButton().setEnabled(false);
confirmPanel.getOKButton().setEnabled(false);
if (createSetup())
dispose();
setCursor(Cursor.getDefaultCursor());
confirmPanel.getCancelButton().setEnabled(true);
confirmPanel.getOKButton().setEnabled(true);
}
// Cancel
else if (e.getActionCommand().equals(ConfirmPanel.A_CANCEL))
dispose();
} // actionPerformed
/**
* Get File for CoA
* @return File
*/
private File getFile()
{
File file = null;
String dirName = org.compiere.Compiere.getCompiereHome() + File.separator + "data" + File.separator + "import";
Log.trace(Log.l4_Data, "VSetup.getFile", dirName);
JFileChooser chooser = new JFileChooser(dirName);
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
chooser.setMultiSelectionEnabled(false);
chooser.setDialogTitle(Msg.translate(Env.getCtx(), "LoadAccountingValues"));
chooser.addChoosableFileFilter(new ExtensionFileFilter("csv", "Comma Separated Values (*.csv)"));
// Try selecting file
file = new File(dirName + File.pathSeparator + "AccountingUS.csv");
if (file.exists())
chooser.setSelectedFile(file);
// Show it
if (chooser.showOpenDialog(this.getParent()) == JFileChooser.APPROVE_OPTION)
file = chooser.getSelectedFile();
else
file = null;
chooser = null;
if (file == null)
buttonLoadAcct.setText(Msg.translate(Env.getCtx(), "LoadAccountingValues"));
else
buttonLoadAcct.setText(file.getAbsolutePath());
confirmPanel.getOKButton().setEnabled(file != null);
m_frame.pack();
return file;
} // getFile
/*************************************************************************/
/**
* Create Setup
* @returns true if created
*/
private boolean createSetup()
{
// Change critical characters ' => " \ => /
fClientName.setText(fClientName.getText().replace('\'','"'));
fClientName.setText(fClientName.getText().replace('\\','/'));
fOrgName.setText(fOrgName.getText().replace('\'','"'));
fOrgName.setText(fOrgName.getText().replace('\\','/'));
fUserClient.setText(fUserClient.getText().replace('\'','"'));
fUserClient.setText(fUserClient.getText().replace('\\','/'));
fUserOrg.setText(fUserOrg.getText().replace('\'','"'));
fUserOrg.setText(fUserOrg.getText().replace('\\','/'));
// Unique Client Name
String SQL = "UPDATE AD_CLient SET CreatedBy=0 WHERE Name='" + fClientName.getText() + "'";
if (DB.executeUpdate(SQL) != 0)
{
fClientName.setBackground(CompierePLAF.getFieldBackground_Error());
ADialog.error(m_WindowNo, this, "NotUnique", lClientName.getText());
return false;
}
fClientName.setBackground(CompierePLAF.getFieldBackground_Normal());
/**
// Unique Org Name
SQL = "UPDATE AD_Org SET CreatedBy=0 WHERE Value='" + fOrgName.getText() + "'";
if (DB.executeUpdate(SQL) != 0)
{
fOrgName.setBackground(CompierePLAF.getFieldBackground_Error());
ADialog.error(m_WindowNo, this, "NotUnique", lOrgName.getText());
return false;
}
fOrgName.setBackground(CompierePLAF.getFieldBackground_Normal());
**/
// Unique User Name
SQL = "UPDATE AD_User SET CreatedBy=0 WHERE Name='" + fUserClient.getText() + "'";
if (DB.executeUpdate(SQL) != 0)
{
fUserClient.setBackground(CompierePLAF.getFieldBackground_Error());
ADialog.error(m_WindowNo, this, "NotUnique", lUserClient.getText());
return false;
}
fUserClient.setBackground(CompierePLAF.getFieldBackground_Normal());
SQL = "UPDATE AD_User SET CreatedBy=0 WHERE Name='" + fUserOrg.getText() + "'";
if (DB.executeUpdate(SQL) != 0 || fUserClient.getText().equals(fUserOrg.getText()))
{
fUserOrg.setBackground(CompierePLAF.getFieldBackground_Error());
ADialog.error(m_WindowNo, this, "NotUnique", lUserOrg.getText());
return false;
}
fUserOrg.setBackground(CompierePLAF.getFieldBackground_Normal());
/**
* Start Creation
*/
String CompiereSys = Env.getContext(Env.getCtx(), "#CompiereSys");
MSetup ms = new MSetup(Env.getCtx(), m_WindowNo);
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
// Step 1
boolean ok = ms.createClient(fClientName.getText(), fOrgName.getText(),
fUserClient.getText(), fUserOrg.getText());
String info = ms.getInfo();
if (ok)
{
// Generate Accounting
KeyNamePair p = (KeyNamePair)fCurrency.getSelectedItem();
ms.createAccounting(p.getKey(), p.getName(),
fProduct.isSelected(), fBPartner.isSelected(), fProject.isSelected(),
fMCampaign.isSelected(), fSRegion.isSelected(),
m_file);
// Generate Entities
p = (KeyNamePair)fCountry.getSelectedItem();
int C_Country_ID = p.getKey();
p = (KeyNamePair)fRegion.getSelectedItem();
int C_Region_ID = p.getKey();
ms.createEntities(C_Country_ID, fCity.getText(), C_Region_ID);
info += ms.getInfo();
// Create Print Documents
PrintUtil.setupPrintForm(ms.getAD_Client_ID());
}
setCursor(Cursor.getDefaultCursor());
ADialog.info(m_WindowNo, this, "VSetup", info.toString());
//
Env.setContext(Env.getCtx(), "#CompiereSys", CompiereSys);
return ok;
} // createSetup
} // VSetup
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -