www.pudn.com > 使用 Java 读取条形码代码文件.rar > InventoryController.java


package com.jmart; 
 
import com.jmart.event.*; 
import com.jmart.barcode.*; 
import com.jmart.dbaccess.*; 
import com.jmart.data.*; 
 
/** 
 * Controller 
 */ 
public class InventoryController implements BarCodeListener { 
	private DatabaseAccess dbAccess; 
	private BarCodeScanner barcodeScanner; 
	public final static int ADD = 0; 
	public final static int DELETE = 1; 
	public final static int DELETE_ALL = 2; 
	private InventoryView inventoryView; 
	private final static int UPC_LENGTH = 12; 
 
public InventoryController(InventoryView inventoryView)  
{ 
	super(); 
	this.inventoryView = inventoryView; 
	dbAccess = new DatabaseAccess(); 
 
	// Create the instance of the BarCodeScanner and catch any 
	// exception that might arise when trying to open the port 
	try 
	{ 
		barcodeScanner = new BarCodeScanner(UPC_LENGTH); 
	} 
	catch (Exception e) 
	{ 
 
	} 
	barcodeScanner.addBarCodeListener(this); 
	 
} 
 
public void barCodeScanned(BarCodeEvent e)  
{ 
	String barcodeString = e.getBarCodeData().trim(); 
	if (UPCParser.isValidUPC(barcodeString)) 
	{ 
		InventoryData data = new InventoryData(); 
		data.setManufacturerNumber(UPCParser.getManufacturerID(barcodeString)); 
		data.setItemNumber(UPCParser.getItemNumber(barcodeString)); 
		inventoryView.setData(dbAccess.qryInventory(data)); 
	} 
} 
 
public void processData(int command, InventoryData data)  
{ 
	switch (command) 
	{ 
		case ADD: 
		{ 
			dbAccess.updInventory(data); 
			break; 
		} 
		case DELETE: 
		{ 
			boolean successful = dbAccess.updInventory(data); 
			if (!successful) 
			{ 
				InventoryData d = new InventoryData(); 
				d.setItemNumber("** Unable to delete **")	; 
				d.setRecordFound(false); 
			} 
			break; 
		} 
		case DELETE_ALL: 
		{ 
			boolean successful = dbAccess.delInventory(data); 
			if (!successful) 
			{ 
				InventoryData d = new InventoryData(); 
				d.setItemNumber("** Unable to delete **")	; 
				d.setRecordFound(false); 
			} 
			break; 
		} 
	}	 
} 
}