Java仓库管理系统源码
1. 简介
仓库管理系统是一个用于管理仓库库存、入库、出库等操作的系统。本文将介绍一个用Java编写的仓库管理系统源码,并通过代码示例来说明其实现细节。
2. 功能与设计
该仓库管理系统具有以下功能:
- 商品管理:包括商品的添加、删除、修改等操作;
- 库存管理:包括商品库存的查询、修改等操作;
- 入库管理:包括商品入库、库存更新等操作;
- 出库管理:包括商品出库、库存更新等操作。
系统的设计采用面向对象的思想,主要包括以下几个类:
2.1 商品类
商品类(Item)用于表示仓库中的商品,包含商品名称、价格、库存等属性。
public class Item {
private String name;
private double price;
private int stock;
// 构造方法、getters和setters省略
}
2.2 仓库类
仓库类(Warehouse)用于管理仓库中的商品,包括商品的添加、删除、查询等操作。
import java.util.ArrayList;
import java.util.List;
public class Warehouse {
private List<Item> items;
public Warehouse() {
items = new ArrayList<>();
}
public void addItem(Item item) {
items.add(item);
}
public void removeItem(Item item) {
items.remove(item);
}
public List<Item> getAllItems() {
return items;
}
}
2.3 库存管理类
库存管理类(InventoryManager)用于管理商品的库存,包括库存的查询、修改等操作。
public class InventoryManager {
private Warehouse warehouse;
public InventoryManager(Warehouse warehouse) {
this.warehouse = warehouse;
}
public int getStock(String itemName) {
for (Item item : warehouse.getAllItems()) {
if (item.getName().equals(itemName)) {
return item.getStock();
}
}
return -1;
}
public void updateStock(String itemName, int stock) {
for (Item item : warehouse.getAllItems()) {
if (item.getName().equals(itemName)) {
item.setStock(stock);
break;
}
}
}
}
2.4 入库管理类
入库管理类(InboundManager)用于处理商品的入库操作,并更新库存。
public class InboundManager {
private Warehouse warehouse;
private InventoryManager inventoryManager;
public InboundManager(Warehouse warehouse, InventoryManager inventoryManager) {
this.warehouse = warehouse;
this.inventoryManager = inventoryManager;
}
public void inbound(String itemName, int quantity) {
int stock = inventoryManager.getStock(itemName);
if (stock == -1) {
System.out.println("商品不存在");
} else {
inventoryManager.updateStock(itemName, stock + quantity);
}
}
}
2.5 出库管理类
出库管理类(OutboundManager)用于处理商品的出库操作,并更新库存。
public class OutboundManager {
private Warehouse warehouse;
private InventoryManager inventoryManager;
public OutboundManager(Warehouse warehouse, InventoryManager inventoryManager) {
this.warehouse = warehouse;
this.inventoryManager = inventoryManager;
}
public void outbound(String itemName, int quantity) {
int stock = inventoryManager.getStock(itemName);
if (stock == -1) {
System.out.println("商品不存在");
} else if (stock < quantity) {
System.out.println("库存不足");
} else {
inventoryManager.updateStock(itemName, stock - quantity);
}
}
}
3. 示例代码
下面是一个简单的示例代码,演示了如何使用仓库管理系统进行入库和出库操作。
public class Main {
public static void main(String[] args) {
// 创建仓库
Warehouse warehouse = new Warehouse();
// 添加商品
Item item1 = new Item("商品1", 10.0, 100);
Item item2 = new Item("商品2", 20.0, 200);
warehouse.addItem(item1);
warehouse.addItem(item2);
// 创建库存管理器和入库管理器
InventoryManager inventoryManager = new InventoryManager(warehouse);
InboundManager inboundManager = new InboundManager(warehouse, inventoryManager);
// 入库10个商品1
inboundManager.inbound("商品1", 10);
// 创建出库管理器
OutboundManager outboundManager = new OutboundManager(warehouse, inventoryManager);