📄 vlocatordialog.java
字号:
} // actionPerformed
/**
* KeyListener - nop
* @param e event
*/
public void keyPressed(KeyEvent e)
{}
/**
* KeyListener
* @param e event
*/
public void keyReleased(KeyEvent e)
{
if (fCreateNew.isSelected())
createValue();
}
/**
* KeyListener - nop
* @param e event
*/
public void keyTyped(KeyEvent e)
{}
/**
* Display value of current locator
*/
private void displayLocator()
{
Locator l = (Locator) fLocator.getSelectedItem();
if (l == null)
return;
//
m_M_Locator_ID = l.M_Locator_ID;
fWarehouseInfo.setText(l.WarehouseName);
fX.setText(l.X);
fY.setText(l.Y);
fZ.setText(l.Z);
fValue.setText(l.Value);
getWarehouseInfo(l.M_Warehouse_ID);
// Set Warehouse
int size = fWarehouse.getItemCount();
for (int i = 0; i < size; i++)
{
KeyNamePair pp = (KeyNamePair)fWarehouse.getItemAt(i);
if (pp.getKey() == l.M_Warehouse_ID)
{
fWarehouse.setSelectedIndex(i);
continue;
}
}
} // displayLocator
/**
* Enable/disable New data entry
*/
private void enableNew()
{
boolean sel = fCreateNew.isSelected();
lWarehouse.setVisible(sel);
fWarehouse.setVisible(sel);
lWarehouseInfo.setVisible(!sel);
fWarehouseInfo.setVisible(!sel);
fX.setReadWrite(sel);
fY.setReadWrite(sel);
fZ.setReadWrite(sel);
fValue.setReadWrite(sel);
pack();
} // enableNew
/**
* Get Warehouse Info
* @param M_Warehouse_ID warehouse
*/
private void getWarehouseInfo (int M_Warehouse_ID)
{
if (M_Warehouse_ID == m_M_Warehouse_ID)
return;
// Defaults
m_M_Warehouse_ID = 0;
m_M_WarehouseName = "";
m_M_WarehouseValue = "";
m_Separator = ".";
m_AD_Client_ID = 0;
m_AD_Org_ID = 0;
//
String SQL = "SELECT M_Warehouse_ID, Value, Name, Separator, AD_Client_ID, AD_Org_ID "
+ "FROM M_Warehouse WHERE M_Warehouse_ID=?";
try
{
PreparedStatement pstmt = DB.prepareStatement(SQL);
pstmt.setInt(1, M_Warehouse_ID);
ResultSet rs = pstmt.executeQuery();
if (rs.next())
{
m_M_Warehouse_ID = rs.getInt(1);
m_M_WarehouseValue = rs.getString(2);
m_M_WarehouseName = rs.getString(3);
m_Separator = rs.getString(4);
m_AD_Client_ID = rs.getInt(5);
m_AD_Org_ID = rs.getInt(6);
}
rs.close();
pstmt.close();
}
catch (SQLException e)
{
Log.error ("VLocatorDialog.getWarehouseInfo", e);
}
} // getWarehouseInfo
/**
* Create Locator-Value
*/
private void createValue()
{
// Get Warehouse Info
KeyNamePair pp = (KeyNamePair)fWarehouse.getSelectedItem();
if (pp == null)
return;
getWarehouseInfo(pp.getKey());
//
StringBuffer buf = new StringBuffer(m_M_WarehouseValue);
buf.append(m_Separator).append(fX.getText());
buf.append(m_Separator).append(fY.getText());
buf.append(m_Separator).append(fZ.getText());
fValue.setText(buf.toString());
} // createValue
/**
* OK - check for changes (save them) & Exit
*/
private void actionOK()
{
if (fCreateNew.isSelected())
{
// Get Warehouse Info
KeyNamePair pp = (KeyNamePair)fWarehouse.getSelectedItem();
if (pp != null)
getWarehouseInfo(pp.getKey());
// Check mandatory values
String mandatoryFields = "";
if (m_M_Warehouse_ID == 0)
mandatoryFields += lWarehouse.getText() + " - ";
if (fValue.getText().length()==0)
mandatoryFields += lValue.getText() + " - ";
if (fX.getText().length()==0)
mandatoryFields += lX.getText() + " - ";
if (fY.getText().length()==0)
mandatoryFields += lY.getText() + " - ";
if (fZ.getText().length()==0)
mandatoryFields += lZ.getText() + " - ";
if (mandatoryFields.length() != 0)
{
ADialog.error(m_WindowNo, this, "FillMandatory", mandatoryFields.substring(0, mandatoryFields.length()-3));
return;
}
// Check if record exists
String SQL = "SELECT M_Locator_ID FROM M_Locator WHERE M_Warehouse_ID=? AND X=? AND Y=? AND Z=?";
int result = 0;
try
{
PreparedStatement pstmt = DB.prepareStatement(SQL);
pstmt.setInt(1, m_M_Warehouse_ID);
pstmt.setString(2, fX.getText());
pstmt.setString(3, fY.getText());
pstmt.setString(4, fZ.getText());
ResultSet rs = pstmt.executeQuery();
if (rs.next())
result = rs.getInt(1);
rs.close();
pstmt.close();
}
catch (SQLException e)
{
Log.error ("VLocatorDialog.action_OK - check", e);
}
// Entry exists
if (result != 0)
{
m_M_Locator_ID = result;
// Update logic??
}
// no entry already - create new
else
{
// Create SQL
m_M_Locator_ID = DB.getKeyNextNo(Env.getCtx(), m_WindowNo, "M_Locator");
StringBuffer buf = new StringBuffer ("INSERT INTO M_Locator "
+ "(M_Locator_ID, AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,"
+ " Value,M_Warehouse_ID,PriorityNo, X, Y, Z) VALUES (");
buf.append(m_M_Locator_ID).append(",");
buf.append(m_AD_Client_ID).append(",");
buf.append(m_AD_Org_ID).append(",");
int usr = 0;
buf.append("'Y',SysDate,").append(usr).append(",SysDate,").append(usr).append(",");
buf.append("'").append(fValue.getText()).append("',");
buf.append(m_M_Warehouse_ID).append(",50,");
buf.append("'").append(fX.getText()).append("',");
buf.append("'").append(fY.getText()).append("',");
buf.append("'").append(fZ.getText()).append("')");
SQL = buf.toString();
//
int no = DB.executeUpdate(SQL);
if (no != 1)
Log.error("VLocatorDialog.action_OK - Locator - insert=" + no);
}
}
// Create temp Locator as value is read from fLocator
Locator l = new Locator(m_M_Locator_ID, fValue.getText(), fX.getText(), fY.getText(), fZ.getText(),
m_M_Warehouse_ID, m_M_WarehouseName);
fLocator.addItem(l);
fLocator.setSelectedItem(l);
//
Log.trace(Log.l4_Data, "VLocationDialog.actionOK - M_Locator_ID=" + m_M_Locator_ID);
} // actionOK
/**
* Get Selected value
* @return value as Integer
*/
public Integer getValue()
{
Locator l = (Locator) fLocator.getSelectedItem();
if (l != null)
return new Integer (l.M_Locator_ID);
return null;
} // getValue
/**
* Get result
* @return true if changed
*/
public boolean isChanged()
{
if (m_change)
{
Locator l = (Locator) fLocator.getSelectedItem();
if (l != null)
return l.M_Locator_ID == m_M_Locator_ID;
}
return m_change;
} // getChange
} // VLocatorDialog
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -