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