package com.example.inventorymanagement;

import java.util.ArrayList; import java.util.Date; import java.util.List;

public class InventoryManagementSystem {

private List<Product> products = new ArrayList<>();
private List<Order> orders = new ArrayList<>();

public void addProduct(Product product) {
    products.add(product);
}

public void removeProduct(Product product) {
    products.remove(product);
}

public void placeOrder(Order order) {
    orders.add(order);
}

public void fulfillOrder(Order order) {
    for (OrderItem item : order.getOrderItems()) {
        Product product = item.getProduct();
        int quantity = item.getQuantity();
        product.setQuantity(product.getQuantity() - quantity);
    }
    order.setFulfilled(true);
}

public List<Product> getProducts() {
    return products;
}

public List<Order> getOrders() {
    return orders;
}

public static void main(String[] args) {
    InventoryManagementSystem ims = new InventoryManagementSystem();

    // Add some products
    Product p1 = new Product("P1", "Product 1", 10);
    Product p2 = new Product("P2", "Product 2", 20);
    Product p3 = new Product("P3", "Product 3", 30);
    ims.addProduct(p1);
    ims.addProduct(p2);
    ims.addProduct(p3);

    // Place an order
    Order o1 = new Order("O1", new Date());
    o1.addOrderItem(new OrderItem(p1, 5));
    o1.addOrderItem(new OrderItem(p2, 10));
    ims.placeOrder(o1);

    // Fulfill the order
    ims.fulfillOrder(o1);

    // Print out the products and orders
    System.out.println("Products:");
    for (Product product : ims.getProducts()) {
        System.out.println(product);
    }

    System.out.println("Orders:");
    for (Order order : ims.getOrders()) {
        System.out.println(order);
    }
}

}

class Product {

private String id;
private String name;
private int quantity;

public Product(String id, String name, int quantity) {
    this.id = id;
    this.name = name;
    this.quantity = quantity;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getQuantity() {
    return quantity;
}

public void setQuantity(int quantity) {
    this.quantity = quantity;
}

@Override
public String toString() {
    return "Product{" +
            "id='" + id + '\'' +
            ", name='" + name + '\'' +
            ", quantity=" + quantity +
            '}';
}

}

class Order {

private String id;
private Date date;
private List<OrderItem> orderItems = new ArrayList<>();
private boolean fulfilled;

public Order(String id, Date date) {
    this.id = id;
    this.date = date;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public Date getDate() {
    return date;
}

public void setDate(Date date) {
    this.date = date;
}

public List<OrderItem> getOrderItems() {
    return orderItems;
}

public void setOrderItems(List<OrderItem> orderItems) {
    this.orderItems = orderItems;
}

public boolean isFulfilled() {
    return fulfilled;
}

public void setFulfilled(boolean fulfilled) {
    this.fulfilled = fulfilled;
}

public void addOrderItem(OrderItem orderItem) {
    orderItems.add(orderItem);
}

@Override
public String toString() {
    return "Order{" +
            "id='" + id + '\'' +
            ", date=" + date +
            ", orderItems=" + orderItems +
            ", fulfilled=" + fulfilled +
            '}';
}

}

class OrderItem {

private Product product;
private int quantity;

public OrderItem(Product product, int quantity) {
    this.product = product;
    this.quantity = quantity;
}

public Product getProduct() {
    return product;
}

public void setProduct(Product product) {
    this.product = product;
}

public int getQuantity() {
    return quantity;
}

public void setQuantity(int quantity) {
    this.quantity = quantity;
}

@Override
public String toString() {
    return "OrderItem{" +
            "product=" + product +
            ", quantity=" + quantity +
            '}';
}
出入库管理类java

原文地址: https://www.cveoy.top/t/topic/eGcN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录