⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vlocatordialog.java

📁 Java写的ERP系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:

	}	//	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 + -