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;
}
}
}
}