首页 > 其他分享 >仓库管理系统

仓库管理系统

时间:2023-09-17 22:14:59浏览次数:29  
标签:scanner String 管理系统 仓库 System item println out

package com.example;
import java.util.*;

class WarehouseInformation {
// 定义私有变量
private String itemno; // 商品编号
private String itemname; // 商品名称
private String suppliername; // 供货商名称
private String warehousingtime; // 入库时间
private String shipmenttime; // 出库时间
private String warehousenumber; // 仓库编号
private String warehouseplace; // 存放商品的具体位置
private int innumber; // 入库商品数量
private int outnumber; // 出库商品数量

// 构造函数,用于赋初值
public WarehouseInformation(String sitemno, String itemname, String suppliername,
String warehousingtime, String shipmenttime,
String warehousenumber, String warehouseplace,
int innumber, int outnumber) {
this.itemno = sitemno;
this.itemname = itemname;
this.suppliername = suppliername;
this.warehousingtime = warehousingtime;
this.shipmenttime = shipmenttime;
this.warehousenumber = warehousenumber;
this.warehouseplace = warehouseplace;
this.innumber = innumber;
this.outnumber = outnumber;
}

// Getters and Setters
public String getItemno() {
return itemno;
}

public void setItemno(String itemno) {
this.itemno = itemno;
}

public String getItemname() {
return itemname;
}

public void setItemname(String itemname) {
this.itemname = itemname;
}

public String getSuppliername() {
return suppliername;
}

public void setSuppliername(String suppliername) {
this.suppliername = suppliername;
}

public String getWarehousingtime() {
return warehousingtime;
}

public void setWarehousingtime(String warehousingtime) {
this.warehousingtime = warehousingtime;
}

public String getShipmenttime() {
return shipmenttime;
}

public void setShipmenttime(String shipmenttime) {
this.shipmenttime = shipmenttime;
}

public String getWarehousenumber() {
return warehousenumber;
}

public void setWarehousenumber(String warehousenumber) {
this.warehousenumber = warehousenumber;
}

public String getWarehouseplace() {
return warehouseplace;
}

public void setWarehouseplace(String warehouseplace) {
this.warehouseplace = warehouseplace;
}

public int getInnumber() {
return innumber;
}

public void setInnumber(int innumber) {
this.innumber = innumber;
}

public int getOutnumber() {
return outnumber;
}
public String getItemnumber() {
return getItemno();
}


public void setOutnumber(int outnumber) {
this.outnumber = outnumber;
}
}

public class WarehouseManagement {
// 存储商品的数组
private WarehouseInformation[] items = new WarehouseInformation[5];
private int itemCount = 0; // 记录实际存储的商品数量
private Scanner scanner = new Scanner(System.in); // 将scanner移动到类级别,使其可以在整个类中使用

public static void main(String[] args) {
WarehouseManagement manager = new WarehouseManagement();
manager.showMainMenu();
}

public void showMainMenu() {
while (true) {
printHeader();
System.out.println("1、商品入库管理");
System.out.println("2、商品信息修改");
System.out.println("3、商品出库管理");
System.out.println("4、仓库盘点管理");
System.out.println("**********************************************************");

System.out.print("请输入操作选项:");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline

switch (choice) {
case 1:
productInboundManagement();
break;
case 2:
productInfoUpdate();
break;
case 3:
productOutboundManagement();
break;
case 4:
displayInventory();
break;
default:
System.out.println("错误:该选项不存在。");
}
}
}

private void displayInventory() {
printHeader();

for (int i = 0; i < itemCount; i++) {
WarehouseInformation item = items[i];
System.out.println((i + 1) + "、商品编号:" + item.getItemno() +
"、商品名称:" + item.getItemname() +
"、库存数量:" + (item.getInnumber() - item.getOutnumber()));
}

System.out.println("**********************************************************");
}

private void productOutboundManagement() {
printHeader();
System.out.print("请输入商品编号:");
String itemNo = scanner.nextLine();

WarehouseInformation item = findItemByItemNo(itemNo);
if (item == null) {
System.out.println("库中没有该商品。");
return;
}

// 显示商品信息
printHeader();
System.out.println("1、商品编号:" + item.getItemno());
System.out.println("2、商品名称:" + item.getItemname());
System.out.println("3、供货商信息:" + item.getSuppliername());
System.out.println("4、入库时间:" + item.getWarehousingtime());
System.out.println("5、存放仓库号:" + item.getWarehousenumber());
System.out.println("6、存放位置信息:" + item.getWarehouseplace());
System.out.println("7、入库商品数量:" + item.getInnumber());

System.out.print("出库时间:");
String shipmenttime = scanner.nextLine();
while (!isValidDate(shipmenttime)) {
System.out.println("录入错误");
System.out.print("出库时间:");
shipmenttime = scanner.nextLine();
}
item.setShipmenttime(shipmenttime);

System.out.print("出库数量:");
int outboundQty = scanner.nextInt();
scanner.nextLine(); // clear newline

while (outboundQty <= 0 || outboundQty > item.getInnumber()) {
System.out.println("出库数量错误,请重新输入:");
outboundQty = scanner.nextInt();
scanner.nextLine(); // clear newline
}
item.setOutnumber(outboundQty);
item.setInnumber(item.getInnumber() - outboundQty);

System.out.println("是否保存修改?(Y/N)");
char saveChoice = scanner.nextLine().charAt(0);
if (saveChoice == 'Y' || saveChoice == 'y') {
System.out.println("出库信息已保存。");
} else if (saveChoice == 'N' || saveChoice == 'n') {
System.out.println("修改未保存。");
productOutboundManagement();
}
}

private void productInfoUpdate() {
printHeader();
System.out.print("请输入商品编号:");
String itemNo = scanner.nextLine();

WarehouseInformation item = findItemByItemNo(itemNo);
if (item == null) {
System.out.println("库中没有该商品。");
return;
}
while (true) {
printHeader();
System.out.println("1、商品编号:" + item.getItemno());
System.out.println("2、商品名称:" + item.getItemname());
System.out.println("3、供货商信息:" + item.getSuppliername());
System.out.println("4、入库时间:" + item.getWarehousingtime());
System.out.println("5、存放仓库号:" + item.getWarehousenumber());
System.out.println("6、存放位置信息:" + item.getWarehouseplace());
System.out.println("7、商品数量:" + item.getItemnumber());

System.out.print("请选择需要修改的信息编号(1-7):");
int choice = scanner.nextInt();
scanner.nextLine(); // clear newline

if (choice < 1 || choice > 7) {
System.out.println("错误:该选项不存在。");
break;
}

System.out.print("请输入修改后的信息:");
String newValue = scanner.nextLine();

if (!isValidUpdate(choice, newValue)) {
System.out.println("录入错误。");
continue;
}

updateItemInfo(item, choice, newValue);

System.out.println("是否保存修改?(Y/N)");
char saveChoice = scanner.nextLine().charAt(0);
if (saveChoice == 'Y' || saveChoice == 'y') {
System.out.println("信息已保存。");
break;
} else if (saveChoice == 'N' || saveChoice == 'n') {
System.out.println("修改未保存。");
break;
}
}

}

private WarehouseInformation findItemByItemNo(String itemNo) {
for (WarehouseInformation item : items) {
if (item != null && item.getItemno().equals(itemNo)) {
return item;
}
}
return null;
}

private boolean isValidUpdate(int choice, String newValue) {
switch (choice) {
case 1:
return isValidItemNo(newValue);
case 4:
return isValidDate(newValue);
case 5:
return isValidWarehouseNumber(newValue);
default:
return true;
}
}

private void updateItemInfo(WarehouseInformation item, int choice, String newValue) {
switch (choice) {
case 1:
item.setItemno(newValue);
break;
case 2:
item.setItemname(newValue);
break;
case 3:
item.setSuppliername(newValue);
break;
case 4:
item.setWarehousingtime(newValue);
break;
case 5:
item.setWarehousenumber(newValue);
break;
case 6:
item.setWarehouseplace(newValue);
break;
case 7:
item.setInnumber(Integer.parseInt(newValue));
break;

}
}

private void printHeader() {
System.out.println("***********************************************************");
System.out.println("石家庄铁道大学前进22软件开发有限公司");
System.out.println("仓库管理系统2022版");
System.out.println("***********************************************************");
}

private void productInboundManagement() {
printHeader();

System.out.print("商品编号:");
String itemno = scanner.nextLine();
while (!isValidItemNo(itemno)) {
System.out.println("录入错误");
System.out.print("商品编号:");
itemno = scanner.nextLine();
}
System.out.print("商品名称:");
String itemname = scanner.nextLine();

System.out.print("供货商信息:");
String suppliername = scanner.nextLine();

System.out.print("入库时间:");
String warehousingtime = scanner.nextLine();
while (!isValidDate(warehousingtime)) {
System.out.println("录入错误");
System.out.print("入库时间:");
warehousingtime = scanner.nextLine();
}

System.out.print("存放仓库号:");
String warehousenumber = scanner.nextLine();
while (!isValidWarehouseNumber(warehousenumber)) {
System.out.println("录入错误");
System.out.print("存放仓库号:");
warehousenumber = scanner.nextLine();
}

System.out.print("存放位置信息:");
String warehouseplace = scanner.nextLine();

System.out.print("入库商品数量:");
int innumber = scanner.nextInt();
scanner.nextLine(); // clear newline

printHeader();
System.out.println("商品编号:" + itemno);
System.out.println("商品名称:" + itemname);
System.out.println("供货商信息:" + suppliername);
System.out.println("入库时间:" + warehousingtime);
System.out.println("存放仓库号:" + warehousenumber);
System.out.println("存放位置信息:" + warehouseplace);
System.out.println("入库商品数量:" + innumber);
System.out.println("该商品入库操作已完成,是否提交(Y/N)");

char choice = scanner.nextLine().charAt(0);
if (choice == 'Y' || choice == 'y') {
if (itemCount < items.length) {
items[itemCount++] = new WarehouseInformation(itemno, itemname, suppliername,
warehousingtime, "", warehousenumber, warehouseplace,
innumber, 0);
} else {
System.out.println("仓库已满,无法存放更多商品。");
}
}
}


private boolean isValidItemNo(String itemno) {
return Pattern.matches("^\\d{8}$", itemno);
}

private boolean isValidDate(String date) {
return Pattern.matches("^\\d{8}$", date);
}

private boolean isValidWarehouseNumber(String warehousenumber) {
return Pattern.matches("^\\d{3}$", warehousenumber);
}
}

标签:scanner,String,管理系统,仓库,System,item,println,out
From: https://www.cnblogs.com/Diavolo1025/p/17709931.html

相关文章

  • 数据仓库开发规范:确保数据安全、高效查询与规范管理
    数据仓库——开发规范在大数据时代,数据仓库成为企业管理和分析海量数据的重要工具。数据仓库不仅能存储大量的数据,还能对这些数据进行有效的组织和分类,从而使得数据利用率和使用效率得到极大的提高。然而,要建立一个高效、稳定、安全的数据仓库,离不开一套严格的开发规范。首先,我们来......
  • 商品管理系统
    1importjava.util.ArrayList;2importjava.util.Scanner;34publicclassmainFrame{5publicstaticvoidmain(String[]args){6ArrayList<WarehouseInformation>array=newArrayList<WarehouseInformation>();78......
  • 仓库管理系统
    importjava.util.Scanner; classWarehouseInformation{    privateStringitemno;    privateStringitemname;    privateStringsuppliername;    privateStringwarehousingtime;    privateStringshipmenttime;    privateString......
  • 基于web的客户管理系统-计算机毕业设计源码+LW文档
    一、选题的目的及意义随着商业银行规模的发展,公司业务越来越多,客户和人员的管理也变得越来越困难。在传统的客户管理中,公司往往通过大量的人力和物力进行管理,通过手工记录客户,统计客户订单信息。这种传统的管理方法容易出错,而且不能适应现代化、信息化的发展过程。因此,本基于web的......
  • 三、(1)关系型数据库管理系统介绍
    1、什么是数据库数据库就是一个存放计算机数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来对数据进行组织和存储的,可以通过数据库提供的多种方法来管理其中的数据。2、数据库的种类最常用的数据库模式主要有两种,即关系型数据库和非关系型数据......
  • C++ 学习笔记、01 | 开发简单职工管理系统遇到的一些问题
    记录开发简单职工管理系统遇到的一些问题,黑马教程https://www.bilibili.com/video/BV1et411b73ZP147~P166头文件与源文件头文件只声明,源文件来实现(本质上是类内声明类外实现)源文件需要引用特定的头文件ifndefOOPFINAL_WORKER_H#defineOOPFINAL_WORKER_H#include<......
  • 智慧工地管理系统的功能模块有哪些?
    智慧工地管理系统将人工智能技术、传感器技术、虚拟现实技术等更多高新技术嵌入到建筑、机器、人员佩戴的设备、工地出入口大门等各种物体中,广泛互联形成“物联网技术”,再与“互联网技术”融合,完成项目管理利益相关者与项目施工现场的融合。智慧施工现场的关键是以“更智能”的形式......
  • Ubuntu下载离线仓库
    #############config###################setbase_path/var/www/html#setmirror_path$base_path/mirror#setskel_path$base_path/skel#setvar_path$base_path/var#setcleanscript$var_path/clean.sh#setdefaultarch<runninghostarc......
  • 基于微信小程序的学生管理系统
    互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对高校教师成果信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用小程序学生管理系统可以有效管理,使信息管......
  • 基于微信小程序的小区管理系统
    社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。所以各大互联网厂商都瞄准移动互联网这个潮流进行各大布局,经过多年的大浪淘沙,各种移动操作系统的不断面世,而目前市场占......