精华内容
下载资源
问答
  • 企业仓库管理系统设计与实现》完整1.5w字计算机相关专业本科毕业论文,部分代码和测试样例。内含日期修改工具;仅做参考,希望对您有用!
  • 第一章 引言 1.1系统开发的背景 ...仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库管理成.

    第一章  引言

    1.1系统开发的背景

    随着计算机的发展,生活中仅仅依靠人工管理商场里面大量的的商品会浪费大部分的人力物力,还会造成较高的人工失误,所以有必要开发一个商场库存管理系统来很大程度上减少失误和不必要的浪费。实现信息数字化管理,提高管理效率,降低经营成本。利用商场库存管理系统可以提高商场的运营,提高总体效率。

    1.2系统开发的意义与目的

    仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管理成了一项十分重要的工作。人工管理仓库既费时又费力,而且容易造成混乱,严重时会影响商城、企业的正常运作,造成恶劣的后果。随着计算机技术的发展,如何快速,高效,便捷的管理仓库受到了高度的关注。本系统模拟仓库管理,系统主要针对于日常库存信息的管理,包括物资管理、仓库管理、入库操作、入库査询统计、出库操作、出库查询统计、库存查询统计等处理情況。用户可以通过相应的模块,对仓库里的物品的基本情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并能进行入库和出库操作等。通过仓库管理系统的设计与实现,使我们巩固和加深对数据库基础理论和基本知识的理解,进一步掌握了使用数据库进行软件设计的基本思想和方法,提高了运用数据库理论解决实际问题的能力,锻炼了实际动手能力、创新能力,培养了调查研究、查阅技术文献、资料、手册以及编写文档的能力。

    1.3开发工具简介

    1.3.1数据库系统SQL Servers012:

    作为新一代的数据平台产品,SQL Server 2012 不仅延续现有数据平台的强大能力,全面支持云技术与平台,并且能够快速构建相应的解决方案实现私有云与公有云之间数据的扩展与应用的迁移。SQL Server 2012 提供对企业基础架构最高级别的支持—专门针对关键业务应用的多种功能与解决方案可以提供最高级别的可用性及性能。在业界领先的商业智能领域,SQL Server 2012 提供了更多更全面的功能以满足不同人群对数据以及信息的需求,包括支持来自于不同网络环境的数据的交互,全面的自助分析等创新功能。针对大数据以及数据仓库,SQL Server 2012 提供从数 TB 到数百 TB 全面端到端的解决方案。作为微软的信息平台解决方案,SQL Server 2012 的发布,可以帮助数以千计的企业用户突破性地快速实现各种数据体验,完全释放对企业的洞察力。SQL Server 2012包含企业版(Enterprise)、标准版(Standard),另外新增了商业智能版(Business Intelligence)。微软表示,SQL Server 2012发布时还将包括Web版、开发者版本以及精简版。

    1.3.2程序编写语言:JAVA

    JAVA是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承指针等概念,因此JAVA语言具有功能强大和简单易用两个特征。JAVA语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。JAVA具有简单性、面向对象、分布式健壮性安全性、平台独立与可移植性、多线程、动态性等特点。JAVA可以编写桌面应用程序Web应用程序分布式系统嵌入式系统应用程序等。

    1.3.3集成开发环境:Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。

    Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE

    1.3.4操作系统 Windows 10

    Windows 10是美国微软公司研发的跨平台及设备应用的操作系统。是微软发布的最后一个独立Windows版本。

    2014年10月1日,微软在新品发布会上,对外展示了该系统。2015年7月29日,微软发布Windows 10正式版。Windows 10共有7个发行版本,分别面向不同用户和设备。截止至2018年5月9日,Windows 10正式版已更新至春季创意者10.0.17134.48版本,预览版已更新至秋季创意者10.0.17666版本 。

    1.4开发计划

    3~5 周:完成数据库需求分析

    5~8 周:完成E-R图等概念模式

    8~9 周:完成数据库模块分类

    9~10周:完成数据库基本程序编写

    11~13周:数据库的实施阶段(建立数据库,数据表,设置完整性,添加数据,建立视图,索引)

    13~16周:完成数据库维护和前台连接

    17周:参加答辩

    人员分工:

       需求分析,概念模式,模块分类,E-R图绘制,java子界面由组员甲完成。

       查找资料,程序编写,数据库修改和添加信息,java的主界面由组员乙完成。

       数据流图,数据字典,数据库维护和前台连接由组员甲乙两人共同完成。

     

    第二章 系统的需求及其基本功能

    2.1用户需求分析

    仓库管理员:使用系统对仓库进行管理,进行商品的更新以及增、删、改、查等操作。

       客户:使用系统提交订单购买产品。

       生产车间:使用系统向仓库提交成品单和废料单,接收仓库的原料单。

    2.2处理对象分析

    系统要处理的对象包括员工基本信息、客户基本信息、仓库基本信息、产品基本信息、库存基本信息、出入库基本信息六个方面,各个对象包含信息如下:

    1.员工基本信息:员工编号、员工户姓名、员工类型、联系电话、居住地址、入职时间、薪水,方便人员调动和工作分配。

    2.客户基本信息:客户姓名、客户性别、客户编号、客户类型、联系人、联系电话、通信地址,熟知客户信息,更好服务,同时方便管理

    3.仓库基本信息:仓库编号、仓库名称、仓库位置、库存情况,方便管理者及时更新数据,以防空间浪费,堵塞。

    4.生产车间基本信息:生产车间编号、生产车间名称、生产车间位置、生产类型,对原料进行加工,把原料和产品的库存信息返回给仓库管理。

    5.原料基本信息:原料编号、原料名称、原料类型、参考价格、入库单价、入库数量,对原料进行记录

    6.产品基本信息:产品编号、产品名称、产品规格、参考价格、数量上限、数量下限,生产日期、生产车间、对于各种信息详细记录、备份

    7.库存基本信息:存储编号、产品编号、仓库编号、产品入库单价、产品数量、生产日期、保质期,保证产品可以及时更新。

    8.出入库信息:出入库操作类型、出入库产品编号、生产日期、出入库产品单价、出入库产品数量、客户编号、仓库编号、操作人员、出入库日期、出入库标记。

    2.3功能需求分析

    对于一个库存管理系统,首先就是要对库存进行管理,对库存信息进行收集

    和统计,以使后日查验。在功能设计方使要符合行业的实际,充分考虑用户的水

    平,用最简使的操作方法实现需要的功能。对于一个管理信息系统来说,也应该

    有必要的安全性,保证数据只被需要的人看到。

    根据该企业的具体情况,系统主要功能有:

    1、管理员管理:管理员的权限管理,管理员密码修改。

    2、基本信息维护:客户、产品、仓库以及生产车间的基本信息的增、删、改、查。

    3、库存管理:出库、入库、库存信息的修改,库存信息的查询。

    2.4数据流图

    标题

     

     

     

    标题

    2.5数据字典

    2.5.1数据项

    名称:员工

    编号:Y01

    简述:唯一标识一个采购员

    别名:employees

    类型:char

    取值含义:字母表示采购员,后三位为顺序排列的数字

    名称:仓库

    编号:SR011

    简述:唯一标识一个仓库

    别名:warehouse

    类型:char

    取值含义:第一位表示仓库,后三位为顺序排列的数字

    名称:生产车间

    编号:WK01

    简述:唯一标识一个生产车间

    别名:workshop

    类型:char

    取值含义:第一位表示生产车间,中间三位为顺序排列的数字。

    名称:原料

    编号:RM01

    简述:唯一标识一个原料

    别名:material

    类型:char

    取值含义:第一位表示原料,中间一位表示零件种类,后三位为顺序排列的数字

    名称:产品

    编号:P01

    简述:唯一标识一个产品

    别名:product

    类型:char

    取值含义:第一位表示产品,中间一位表示产品种类,后三位为顺序排列的数字

    名称:客户

    编号:C01

    简述:唯一标识一个客户

    别名:customer

    类型:char

    取值含义:第一位表示客户,后三位为顺序排列的数字

    2.5.2数据结构

    名称:员工信息表

    编号:Y01

    简述:包含所有员工的基本信息

    组成:员工编号+员工姓名+员工类型+联系电话+居住地址+入职时间+薪水

    名称:仓库信息表

    编号:SR01

    简述:包含所有仓库的基本信息

    组成:仓库编号+仓库名称+仓库位置+库存情况+存储上限

    名称:生产车间信息表

    编号:WK01

    简述:包含所有生产车间的基本信息

    组成:生产车间编号+生产车间名称+生产车间位置+生产类型

    名称:原料信息表

    编号:LA001

    简述:包含所有原料的基本信息

    组成:原料编号+原料名称+原料类型+参考价格+入库单价+入库数量

    名称:产品信息表

    编号:P01

    简述:包含所有求购信息

    组成::产品编号+产品名称+产品规格+参考价格+数量上限+数量下限+生产日期+生产车间

    名称:客户信息表

    编号:C01

    简述:包含所有客户的信息

    组成:客户姓名+客户性别+客户编号+客户类型+联系人+联系电话+通信地址

    2.5.3数据流:

    编号:

    L1

    名称:

    原料采购入库

    简述:

    采购员提交采购单

    来源:

    采购员

    去向:

    原料入库表

    组成:

    员工编号+原料编号+价格+数量

    编号:

    L2

    名称:

    原料出库

    简述:

    向车间输送原料

    来源:

    仓库

    去向:

    原料出口表

    组成:

    原料编号+价格+数量

    编号:

    L3

    名称:

    产品入库

    简述:

    产生的产品入库

    来源:

    车间

    去向:

    产品入库表

    组成:

    产品编号+价格+数量

    编号:

    L4

    名称:

    购买订单

    简述:

    提交购买的信息

    来源:

    顾客

    去向:

    产品出库表

    组成:

    产品编号+价格+数量

    编号:

    L5

    名称:

    产品出库

    简述:

    向顾客发送产品

    来源:

    仓库

    去向:

    产品出库表

    组成:

    产品编号+价格+数量

    2.5.4处理逻辑

    编号:

    A001

    名称:

    原料出入库管理

    简述:

    员工以及生产车间向仓库提供原料出入库的数据

    输入的数据流:

    原料出入库单

    处理:

    系统通过员工以及生产车间提供的数据进行处理

    输出的数据流:

    原料出入库报表

    处理频率:

    一天一次

    编号:

    A002

    名称:

    产品出入库管理

    简述:

    生产车间以及销售要根据自己的产品及销售提供可供清单

    输入的数据流:

    产品出入库单

    处理:

    系统通过顾生产车间以及销售提供的数据进行处理

    输出的数据流:

    产品出入报表

    处理频率:

    一周一次

    编号:

    A003

    名称:

    销售管理

    简述:

    系统通过信息汇总对销量进行统计

    输入的数据流:

    销售信息

    处理:

    系统对销量进行统计形成销售报表

    输出的数据流:

    销售统计

    处理频率:

    一月一次

    2.5.5数据存储

    编号:

    C1

    名称:

    原料出入库

    简述:

    记录原料的名称、单价、库存数量等信息

    组成:

    原料+数量+单价+出库/入库

    编号:

    C2

    名称:

    产品出入库

    简述:

    记录产品的产量、售出、退回

    组成:

    产品+数量+单价+出库/入库

    编号:

    C3

    名称:

    员工信息

    简述:

    记录员工的基本信息

    组成:

    员工编号+姓名+年龄+性别+职位+薪资

    编号:

    C4

    名称:

    客户信息

    简述:

    记录客户的基本信息

    组成:

    客户编号+姓名+年龄+性别+会员级别

    编号:

    C5

    名称:

    车间信息

    简述:

    记录车间的基本信息

    组成:

    车间编号+名称+位置+生产类型

    编号:

    C6

    名称:

    仓库信息

    简述:

    记录仓库的基本信息

    组成:

    仓库编号+名称+位置+库存情况

    编号:

    C7

    名称:

    原料信息

    简述:

    记录原料的基本信息

    组成:

    原料编号+名称+类型+价格+单价+数量

    编号:

    C8

    名称:

    产品信息

    简述:

    记录产品的基本信息

    组成:

    产品编号+名称+类型+价格+单价+数量+规格

     第三章 总体设计方案

    3.1 系统功能框架图

    •  

    第四章数据库设计

    4.1概念结构设计

    4.1.1原料出入库ER模型图

    标题

    4.1.2产品出库ER图

    标题

    4.1.3全局ER图

    标题

    4.2逻辑结构设计

    4.2.1将E-R图转换为关系模型

    4.2.1.1“员工”,“原料”,“车间”的模式转换

    标题

    其关系模式设计如下:

    员工关系模式 (员工编号,类型,年龄,性别,姓名,联系方式,入职时间,薪水)

    原料关系模式(原料编号,名称,类型,参考价格,数量上限,入库数量,生产车间

    车间关系模式(仓库编号,名称,地址,仓库情况)

    原料入库关系模式(原料编号,车间编号,数量,价格)

    4.2.1.2“车间”,“产品”,“客户”的模式转换

    标题

    其关系模式设计如下:

    车间关系模式(车间编号,名称,地址,类型)

    产品关系模式(产品编号,产品名称,种类,出库价格,生产时间,生产车间)    

    产品出库关系模式(生产车间编号,产品编号,客户编号)

    4.3物理结构设计

    4.3.1索引

    标题
    标题
    标题

     

    标题

     

    标题

     

    4.3.2视图

    标题
    标题

     

    第五章数据库实施

    5.1 数据库的建立

    use master

    go

    IF EXISTS(SELECT * FROM sysdatabases WHERE name='CKGL')

    DROP DATABASE CKGL

    CREATE DATABASE CKGL

    on(NAME=CKGL,

     FILENAME='D:\DATA1\CKGL.mdf',

     SIZE=5,

     FILEGROWTH=1

    )

    LOG ON

    (NAME=JXGL_log,

     FILENAME='D:\DATA1\CKGL_log.ldf',

     SIZE=2,

     MAXSIZE=20,

     FILEGROWTH=10%

    )

    GO

    5.2 表的建立

    5.2.1客户表的建立

    USE CKGL

    GO

    CREATE TABLE C

    (CNO NCHAR(3) NOT NULL       --编号

    CONSTRAINT PK_CNO PRIMARY KEY CLUSTERED,

    CHECK(CNO LIKE 'C[0-9][0-9]'),     -- 检查约束

    CNAME NCHAR(8) NOT NULL,           -- 名称

    sex nchar(1) not null,

    POST NCHAR(6) NOT NULL,    --客户类型

    YNO NCHAR(3) NOT NULL,  --交易员工

    FOREIGN KEY(YNO) REFERENCES Y(YNO),  --外键约束

    PHONEUMBER NCHAR(12) NOT NULL,--电话

    HOME NCHAR(6) NOT NULL,  --居住地

    PNO NCHAR(3) NOT NULL,

    FOREIGN KEY(PNO) REFERENCES P(PNO),

    )

    5.2.2产品表

    USE CKGL

    GO

    CREATE TABLE P

    (PNO NCHAR(3) NOT NULL       --编号

    CONSTRAINT PK_PNO PRIMARY KEY CLUSTERED,

    CHECK(PNO LIKE 'P[0-9][0-9]'),     

    PNAME NCHAR(8) NOT NULL,           -- 名称

    POST NCHAR(6) NOT NULL,    --规格

    CKPRICE SMALLINT NULL,--参考价格

    PTIME NCHAR(12)NOT NULL,  --生产日期

    WKNO NCHAR(4) NOT NULL,  --生产车间

    FOREIGN KEY(WKNO) REFERENCES WK(WKNO),

    )

    5.2.3员工表

    USE CKGL

    GO

    CREATE  TABLE Y       

    (YNO NCHAR(3) NOT NULL            -- 编号号字段,非空约束  

    CONSTRAINT PK_SNO PRIMARY KEY CLUSTERED        -- 主键约束   

    CHECK(YNO LIKE 'Y[0-9][0-9]'),     -- 检查约束

    YNAME NCHAR(8) NOT NULL,           -- 姓名字段,非空约束

    SEX CHAR(1) NULL,                  -- 性别字段

    INTIME NCHAR(12) NOT NULL,             -- 入职时间字段

    POST NCHAR(5) NULL,               -- 职务字段

    HOME NCHAR(15) NULL,               --居住地

    SALARY NCHAR(8) NOT null,              --薪水

    PHONENUMBER NCHAR(15) NOT null,        --联系电话

    )

    5.2.4原料表

    USE CKGL

    GO

    CREATE TABLE RM

    (RMNO NCHAR(4) NOT NULL       --编号

    CONSTRAINT PK_RMNO PRIMARY KEY CLUSTERED,

    CHECK(RMNO LIKE 'RM[0-9][0-9]'),     

    RMNAME NCHAR(8) NOT NULL,           -- 名称

    POST NCHAR(6) NOT NULL,    --类型

    CKPRICE SMALLINT NOT NULL,--参考价格

    INPRICE SMALLINT NOT NULL,  --入库价格

    INNUMBER SMALLINT NOT NULL,  --入库数量

    SRNO NCHAR(4) NOT NULL,       --管理仓库

    FOREIGN KEY(SRNO) REFERENCES SR(SRNO),

    )

    5.2.5仓库表

    USE CKGL

    GO

    CREATE TABLE SR

    (SRNO NCHAR(4) NOT NULL       --编号

    CONSTRAINT PK_SRNO PRIMARY KEY CLUSTERED,

    CHECK(SRNO LIKE 'SR[0-9][0-9]'),     -- 检查约束

    SRNAME NCHAR(20) NOT NULL,           -- 名称

    HOME NCHAR(20) NOT NULL,    --位置

    STA NCHAR(30)NOT NULL,             -- 库存情况

    )

    5.2.6车间表

    USE CKGL

    GO

    CREATE TABLE WK

    (WKNO NCHAR(4) NOT NULL       --编号

    CONSTRAINT PK_WKNO PRIMARY KEY CLUSTERED,

    CHECK(WKNO LIKE 'WK[0-9][0-9]'),     

    WKNAME NCHAR(8) NOT NULL,           -- 名称

    HOME NCHAR(15) NOT NULL,    --位置

    STAMODE NCHAR(12)NOT NULL,             -- 运行状态

    )

    5.3表间关系图

    标题

    第六章详细设计与实现

    6.1Java

    6.1.1登录界面设计

    6.1.1.1实验代码

    package Start;

    import java.awt.*;

    import javax.swing.*;

    import src.index;

    import java.awt.event.*;

    public class Start extends JFrame {

    JPanel pn1, pn2, pn3;

    JButton bt1, bt2;

    JLabel lb1, lb2;

    JTextField nameTextField;

    JPasswordField pwdPasswordField;

    public Start() {

    super();

    pn1 = new JPanel();

    pn2 = new JPanel();

    pn3 = new JPanel();

    lb1 = new JLabel("用户名");

    lb2 = new JLabel("密  码");

    bt1 = new JButton("登录");

    bt2 = new JButton("取消");

    nameTextField = new JTextField(10);

    pwdPasswordField = new JPasswordField(10);

    Init();

    }

    void Init() {

    this.setLayout(new GridLayout(3, 1));

    pn1.add(lb1);

    pn1.add(nameTextField);

    pn2.add(lb2);

    pn2.add(pwdPasswordField);

    pn3.add(bt1);

    pn3.add(bt2);

    this.add(pn1);

    this.add(pn2);

    this.add(pn3);

    this.setTitle("登录");

    this.setSize(230, 150);

    this.setLocation(650, 300);

    this.setResizable(false);

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    this.setVisible(true);

    bt2.addActionListener(new bt2Clicked(this));

    bt1.addActionListener(new bt1Clicked(this));

    nameTextField.setText("zxc");

    pwdPasswordField.setText("123");

    nameTextField.addMouseListener(new UserNameListener(this));

    }

    public JTextField getNameTextField() {

    return nameTextField;

    }

    public JPasswordField getPasswordField() {

    return pwdPasswordField;

    }

    class UserNameListener extends MouseAdapter{

    private Start login;

    public UserNameListener(Start l) {

    login = l;

    }

    public void mouseClicked(MouseEvent e) {

    this.login.getNameTextField().setText("");

    }

    }

    class bt2Clicked implements ActionListener {

    private Start login;

     

    public bt2Clicked(Start l) {

    login = l;

    }

    @Override

    public void actionPerformed(ActionEvent e) {

    login.dispose();

    }

    }

     

    class bt1Clicked implements ActionListener {

    private Start login;

     

    public bt1Clicked(Start l) {

    login = l;

    }

     

    @Override

    public void actionPerformed(ActionEvent e) {

    String userName = login.getNameTextField().getText().trim();

    String userPwd = new String(login.getPasswordField().getPassword()).trim();

    if (userName.equals("zxc") && userPwd.contentEquals("123")) {

    JOptionPane.showMessageDialog(null, "欢迎使用本系统,使用者:"+userName , "登陆成功", JOptionPane.INFORMATION_MESSAGE);

    index i=new index();

    return;

    }

    JOptionPane.showConfirmDialog(null, "用户名或密码错误", "登录失败", JOptionPane.WARNING_MESSAGE);

    }

    }

    public static void main(String aargs[]) {

    new Start();

    }

    }

     

    6.1.1.2界面展示

          

    标题

     

    标题

    6.1.2主界面设计

    6.1.2.1实验代码

    package src;

    import java.awt.*;

    import java.awt.event.ActionEvent;

    import java.awt.event.ActionListener;

    import javax.swing.*;

    import javax.swing.table.TableModel;

    public class index extends JFrame implements ActionListener{

    JPanel pn1,pn2,pn3;  //面板

    JLabel label;

    JButton bt1,bt2,bt3, bt4, bt5, bt6, bt7,bt8;   //按钮

    JTable table;

    JScrollPane scrollPane;

    public index() {

    super();

    pn1=new JPanel();

    pn2=new JPanel();

    label=new JLabel("查看表中信息:");

    bt1=new JButton("员工");

    bt1.addActionListener(this);

    bt1.setActionCommand("y");

    bt2=new JButton("客户");

    bt2.addActionListener(this);

    bt2.setActionCommand("k");

    bt3=new JButton("原料");

    bt3.addActionListener(this);

    bt3.setActionCommand("l");

    bt4=new JButton("产品");

    bt4.addActionListener(this);

    bt4.setActionCommand("c");

    bt5=new JButton("仓库");

    bt5.addActionListener(this);

    bt5.setActionCommand("p");

    bt6=new JButton("车间");

    bt6.addActionListener(this);

    bt6.setActionCommand("j");

    pn1.add(label);

    pn1.add(bt1);pn1.add(bt2);pn1.add(bt3);

    pn1.add(bt4);pn1.add(bt5);

    pn1.add(bt6);

    table=new JTable();

    scrollPane = new JScrollPane(table);

     

    this.add(pn1, "North");

    this.add(scrollPane);

    this.setTitle("CKGL系统");

    this.setSize(800,500);

    this.setLocation(400,200);

    this.setResizable(true);

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    this.setVisible(true);

    }

    @Override

    public void actionPerformed(ActionEvent e) {

    if (e.getActionCommand().equals("y")) {

    new YStoreManager();

    }else if (e.getActionCommand().equals("k")) {

    new CManager();

    }

    else if (e.getActionCommand().equals("l")) {

    new RManager();

    }

    else if (e.getActionCommand().equals("c")) {

    new PManager();

    }

    else if (e.getActionCommand().equals("p")) {

    new SRManager();

    }

    else if (e.getActionCommand().equals("j")) {

    new WKManager();

    }

    }

    }

     

    6.1.2.2界面展示

     

    标题

    6.1.2功能模块设计

    6.1.2.1 类的定义(以客户为例)

       CAdd.java            客户信息添加类

       CAlter.java           客户信息修改类

       CManger.java         客户信息调用以及删除类

       CTable.java           客户信息界面类

       SeqTest.java           数据库连接

     

    6.1.2.2类的主要方法(以客户为例)

    CAdd()                   进按钮等对象的添加

         addActionListener()    事件监听类

    setActionCommend()     给一个JButton设置一个属性的字符串值

    SetLayout ()           设置布局

    SetSize  ()              设置组件的长度和宽度

    SetLocation()            设置组件的定位

    SetString()              封装

    6.1.2.3主要代码(以客户为例)

    6.1.2.3.1客户的信息添加

    package src;

    import javax.swing.JDialog;

    import javax.swing.JFrame;

    import java.awt.*;

    import java.awt.event.*;

    import java.sql.*;

    import java.util.*;

    import javax.swing.*;

     

    class CAdd extends JDialog implements ActionListener{

       JLabel lb1,lb2,lb3,lb4,lb5,lb6,lb7,lb8;

       JTextField tf1,tf2,tf3,tf4,tf5,tf6,tf7,tf8;

       JButton bt1,bt2;

       JPanel pn1,pn2,pn3,pn4,pn5,pn6,pn7,pn8;

       public CAdd(Frame owner,String title,Boolean modal){

       super(owner,title,modal);//JDialog的带参构造,父窗口、窗口标题、是否能移动

       lb1=new JLabel("               编号      ");

       lb2=new JLabel("               姓名      ");

       lb3=new JLabel("               性别     ");

       lb4=new JLabel("               类别     ");

       lb5=new JLabel("               负责人员     ");

       lb6=new JLabel("               电话号码     ");

       lb7=new JLabel("               联系地址     ");

       lb8=new JLabel("               仓库编号     ");

       

       tf1=new JTextField(8);   tf2=new JTextField(8);

       tf3=new JTextField(8);   tf4=new JTextField(8);

       tf5=new JTextField(8);   tf6=new JTextField(8);  

       tf7=new JTextField(8);   tf8=new JTextField(8);

       bt1=new JButton("添加");         

       bt1.addActionListener(this);

       bt1.setActionCommand("add");//设置按钮名称

       bt2=new JButton("取消");         

       bt2.addActionListener(this);

       bt2.setActionCommand("cancel");//设置按钮名称

       pn1=new JPanel();    pn2=new JPanel();     pn3=new JPanel();

       pn4=new JPanel();    pn5=new JPanel();     pn6=new JPanel();

       pn7=new JPanel();    pn8=new JPanel();

       

       pn1.setLayout(new GridLayout(8,1));

       pn2.setLayout(new GridLayout(8,1));

       

       pn1.add(lb1);  pn1.add(lb2);  pn1.add(lb3);

       pn1.add(lb4);  pn1.add(lb5);  pn1.add(lb6);

       pn1.add(lb7);  pn1.add(lb8);

       

       pn2.add(tf1);  pn2.add(tf2);  pn2.add(tf3);

       pn2.add(tf4);  pn2.add(tf5);  pn2.add(tf6);

       pn2.add(tf7);  pn2.add(tf8);

       

       pn3.add(bt1);  pn3.add(bt2);

       this.add(pn1,BorderLayout.WEST);

       this.add(pn2);

       this.add(pn3,BorderLayout.SOUTH);

       this.add(pn4,BorderLayout.EAST);

       this.add(pn5,BorderLayout.NORTH);

       this.add(pn6,BorderLayout.NORTH);

       this.add(pn7,BorderLayout.NORTH);

       this.add(pn8,BorderLayout.NORTH);

         

      this.setSize(370,270);

      this.setLocation(401,281);

      this.setResizable(false);

      this.setVisible(true);   

       }

       public void actionPerformed(ActionEvent e){

       if(e.getActionCommand().equals("add")){//按下添加按钮连接数据库并插入记录

       PreparedStatement ps=null;

       Connection ct=null;

       ResultSet rs=null;

       String  url= "jdbc:sqlserver://localhost:1433;DatabaseName=CKGL;";

       try {

      ct=DriverManager.getConnection(url,"sa","sa");

      String s=("insert into C values(?,?,?,?,?,?,?,?)");

      ps=ct.prepareStatement(s);

      ps.setString(1,tf1.getText());

      ps.setString(2,tf2.getText());

      ps.setString(3,tf3.getText());

      ps.setString(4,tf4.getText());

      ps.setString(5,tf5.getText());

      ps.setString(6,tf6.getText());

      ps.setString(7,tf7.getText());

      ps.setString(8,tf8.getText());

      ps.executeUpdate();

               this.dispose();  

      } catch (Exception e2){   }

       finally{

        try {

        if(rs!=null){    rs.close();   }

        if(ps!=null){   ps.close();   }

        if(ct!=null){    ct.close();   }

        } catch (Exception e3){    }

        }

     }

       else if(e.getActionCommand().equals("cancel")){

        this.dispose();

       }

       }

    }

    6.1.2.3.2客户的信息修改

    package src;

    import java.awt.*;

    import java.awt.event.*;

    import java.sql.*;

    import java.util.*;

    import javax.swing.*;

    class CAlter extends JDialog implements ActionListener{

    JLabel lb1,lb2,lb3,lb4,lb5,lb6,lb7,lb8;

    JTextField tf1,tf2,tf3,tf4,tf5,tf6,tf7,tf8;

    JButton bt1,bt2;

    JPanel pn1,pn2,pn3,pn4,pn5,pn6,pn7,pn8;

       public CAlter(Frame owner,String title,Boolean modal,CTable table,int row){

       super(owner,title,modal);

       lb1=new JLabel("               编号      ");

       lb2=new JLabel("               姓名      ");

       lb3=new JLabel("               性别     ");

       lb4=new JLabel("               类别     ");

       lb5=new JLabel("               负责人员     ");

       lb6=new JLabel("               电话号码     ");

       lb7=new JLabel("               联系住址     ");

       lb8=new JLabel("               仓库编号     ");

       

       tf1=new JTextField(8);

       tf1.setText((String)table.getValueAt(row,0));//获得指定行、第一列的单元格值SNO

       tf1.setEditable(false);//设置为不可修改

       tf2=new JTextField(8);

       tf2.setText((String)table.getValueAt(row,1));//获得指定行、第二列的单元格值SNAME

       tf3=new JTextField(8);

       tf3.setText((String)table.getValueAt(row,2));//获得指定行、第三列的单元格值SEX

       tf4=new JTextField(8);

       tf4.setText((String)table.getValueAt(row,3).toString());

       //获得指定行第四列的单元格值,即AGE字段的值要转成字符串类型

       tf5=new JTextField(8);

       tf5.setText((String)table.getValueAt(row,4));//获得指定行、第五列的单元格值,COLLEGE

       tf6=new JTextField(8);

       tf6.setText((String)table.getValueAt(row,5));

       tf7=new JTextField(8);

       tf7.setText((String)table.getValueAt(row,6));

       tf8=new JTextField(8);

       tf8.setText((String)table.getValueAt(row,7));

       bt1=new JButton("修改");

       bt1.addActionListener(this);

       bt1.setActionCommand("edit");

       bt2=new JButton("取消");

       bt2.addActionListener(this);

       bt2.setActionCommand("cancel");

       

       pn1=new JPanel();    pn2=new JPanel();       pn3=new JPanel();

       pn4=new JPanel();    pn5=new JPanel();       pn6=new JPanel();

       pn7=new JPanel();    pn8=new JPanel();

       

       pn1.setLayout(new GridLayout(8,1));

       pn2.setLayout(new GridLayout(8,1));

       pn1.add(lb1);  pn1.add(lb2);  pn1.add(lb3);

       pn1.add(lb4);  pn1.add(lb5);  pn1.add(lb6);

       pn1.add(lb7);  pn1.add(lb8);

       

       pn2.add(tf1);  pn2.add(tf2);  pn2.add(tf3);

       pn2.add(tf4);  pn2.add(tf5);  pn2.add(tf6);

       pn2.add(tf7);  pn2.add(tf8);

       

       pn2.add(tf1);  pn2.add(tf2);  pn2.add(tf3);

       pn2.add(tf4);  pn2.add(tf5);  pn2.add(tf6);

       pn2.add(tf7);  pn2.add(tf8);

       pn3.add(bt1);  pn3.add(bt2);

       this.add(pn1,BorderLayout.WEST);

       this.add(pn2);

       this.add(pn3,BorderLayout.SOUTH);

       this.add(pn4,BorderLayout.EAST);

       this.add(pn5,BorderLayout.NORTH);

       this.add(pn6,BorderLayout.NORTH);

       this.add(pn7,BorderLayout.NORTH);

       this.add(pn8,BorderLayout.NORTH);

         

       this.setSize(370,270);

       this.setLocation(401,281);

       this.setResizable(false);

       this.setVisible(true);   

    }

       public void actionPerformed(ActionEvent e){

       if(e.getActionCommand().equals("edit")){

       PreparedStatement ps=null;

       Connection ct=null;

       ResultSet rs=null;

       String url="jdbc:sqlserver://localhost:1433;DatabaseName=CKGL;";

       try {

             ct=DriverManager.getConnection(url,"sa","sa");

    Stringss=("updateCsetCNAME=?,sex=?,POST=?,YNO=?,PHONEUMBER=?,HOME=?,PNO=? where CNO=?");

      ps=ct.prepareStatement(ss);

      ps.setString(1,tf2.getText());

      ps.setString(2,tf3.getText());

      ps.setString(3,tf4.getText());

      ps.setString(4,tf5.getText());

      ps.setString(5,tf6.getText());

      ps.setString(6,tf7.getText());

      ps.setString(7,tf8.getText());

      ps.setString(8,tf1.getText());

      ps.executeUpdate();

      this.dispose();

       } catch (Exception e2){    }

        finally{

        try {

        if(rs!=null){   rs.close();   }

        if(ps!=null){   ps.close();  }

        if(ct!=null){    ct.close();  }

         } catch (Exception e3){}

    }

           }

       else if(e.getActionCommand().equals("cancel")){

        this.dispose();

       }

    }

    }

    6.1.2.3.3客户的界面

    package src;

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.PreparedStatement;

    import java.sql.ResultSet;

    import java.util.ArrayList;

    import javax.swing.table.*;

     

    //CTable类主要用于客户C的表格方式显示

    //AbstractTableModel抽象类主要把数据库中的信息以表格形式显式

    class CTable extends AbstractTableModel {

    ArrayList headings, records;// 可变长的数组

    PreparedStatement ps = null;

    Connection ct = null;

    ResultSet rs = null;

     

    public int getRowCount() {// 获得表格的行数

    return this.records.size();

    }

     

    public int getColumnCount() {// 获得表格的列数

    return this.headings.size();

    }

     

    public Object getValueAt(int row, int column) {// 获得指定行、指定列的单元格值

    return ((ArrayList) this.records.get(row)).get(column);

    }

     

    public String getColumnName(int e) {// 获得表格的列标题

    return (String) this.headings.get(e);

    }

     

    public CTable() {// 无参构造方法用于表中所有记录的查询

    this.handles("select * from C");

    }

     

    // 代参构造,根据传入参数的具体SQL语句完成不同的查询

    public CTable(String sql) {

    this.handles(sql);

    }

     

    public void handles(String sql) {

    // 定义表格的列标题

    headings = new ArrayList();

    headings.add("编号");

    headings.add("姓名");

    headings.add("性别");

    headings.add("类别");

    headings.add("负责人员");

    headings.add("电话号码");

    headings.add("联系住址");

    headings.add("仓库编号");

    // 定义记录(多行数据)的集合

    records = new ArrayList();

    ArrayList rows;// 定义行(一行有多列)

    String url = "jdbc:sqlserver://localhost:1433;DatabaseName=CKGL;";

    try {

    ct = DriverManager.getConnection(url, "sa", "sa");

    ps = ct.prepareStatement(sql);

    rs = ps.executeQuery();

     

    while (rs.next()) {

    rows = new ArrayList();

    rows.add(rs.getString(1));// 获取CNO数据放入行集合

    rows.add(rs.getString(2));// 获取CNAME数据放入行集合

    rows.add(rs.getString(3));// 获取SEX数据放入行集合

    rows.add(rs.getString(4));// 获取post数据放入行集合

    rows.add(rs.getString(5));// 获取YNO数据放入行集合

    rows.add(rs.getString(6));// 获取PHONEUMBER数据放入集合中

    rows.add(rs.getString(7));

    rows.add(rs.getString(8));

    records.add(rows);// 将一行数据加入到记录集合

    }

    } catch (Exception e) {

    } finally {

    try {

    if (rs != null) {

    rs.close();

    }

    if (ps != null) {

    ps.close();

    }

    if (ct != null) {

    ct.close();

    }

    } catch (Exception e) {

    }

    }

    }

    }

     

     

    6.1.2.3.4数据库的连接

    package src;

    import java.sql.*;

    public class SeqTest {

     

    static Connection connect;

    static Statement st;

     

    public static void main(String[] args) {

     

    String url="jdbc:sqlserver://localhost:1433;DatabaseName=CKGL;";

    try {

    //连接数据库

    connect=DriverManager.getConnection(url,"sa","sa");

    //建立Statement对象

    st=connect.createStatement();

    ResultSet rs=st.executeQuery("select * from C,P where C.PNO=P.PNO");

    while(rs.next()) {

    String CNO=rs.getString(1);

    String CNAME=rs.getString(2);

    String sex=rs.getString(3);

    String POST=rs.getString(4);

    String YNO=rs.getString(5);

    String PHONE=rs.getString(6);

    String HOME=rs.getString(7);

    String PNO=rs.getString(8);

    System.out.println(CNO+" "+CNAME+" "+sex+" "+POST+" "+YNO+" "+PHONE+" "+HOME+" "+PNO);

    }

    }catch(SQLException e1) {

    e1.printStackTrace();

    System.out.println("连接失败!");

    }

    finally {

    try {

    if(st!=null) {

    st.close();

    }

    if(connect!=null) {

    connect.close();

    }

    }catch(Exception e2) {

    }

    }

     

    }

     

    }

     

    6.1.2.3.5客户信息的删除及调用

    package src;

    import java.awt.*;

    import java.awt.event.*;

    import java.sql.*;

    import javax.swing.*;

     

    //仓库管理的主界面

    public class CManager extends JFrame implements ActionListener {

    JPanel pn1, pn2;

    JLabel label;

    JTextField textField;

    JButton bt1, bt2, bt3, bt4;

    JTable table; // 中部显示的表格

    JScrollPane scrollPane;

    CTable ctable;

     

    public CManager() {

    pn1 = new JPanel();

    label = new JLabel("请输入编号");

    textField = new JTextField(10);

    bt1 = new JButton("查询");

    bt1.addActionListener(this);

    bt1.setActionCommand("query");// 设置查询按钮的名称

    pn1.add(label);

    pn1.add(textField);

    pn1.add(bt1);

     

    pn2 = new JPanel();

    bt2 = new JButton("添加");

    bt2.addActionListener(this);

    bt2.setActionCommand("add");// 设置添加按钮的名称

    bt3 = new JButton("修改");

    bt3.addActionListener(this);

    bt3.setActionCommand("edit");// 设置修改按钮的名称

    bt4 = new JButton("删除");

    bt4.addActionListener(this);

    bt4.setActionCommand("remove");// 设置删除按钮的名称

    pn2.add(bt2);

    pn2.add(bt3);

    pn2.add(bt4);

    ctable = new CTable();

    table = new JTable(ctable);

    scrollPane = new JScrollPane(table);

     

    this.add(scrollPane);

    this.add(pn1, "North");

    this.add(pn2, "South");

     

    this.setTitle("仓库管理系统");

    this.setSize(500, 400);

    this.setLocation(201, 181);

    this.setResizable(false);

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    this.setVisible(true);

    }

     

    public void actionPerformed(ActionEvent e) {

    if (e.getActionCommand().equals("query")) {// 单击查询按钮

    String cno = this.textField.getText().trim();// 获取文本框中输入的用户名

    String sql = "select * from C where CNO='" + cno + "'";// 设置数据库查询的SQL语句

    ctable = new CTable(sql);// 调用带参构造,查询并将查询结果放入表格

    table.setModel(ctable);// 将查询结果立即显示到表格中

    } else if (e.getActionCommand().equals("add")) {// 单击添加按钮

    new CAdd(this,"添加客户信息",true);// 打开添加客户信息窗口

    ctable = new CTable();// 调用无参构造,将添加后的所有数据放入表格

    table.setModel(ctable);

    } else if (e.getActionCommand().equals("edit")) {// 单击修改按钮

    int i = this.table.getSelectedRow();// 获取所选表格的行数

    if (i == -1) {// 没有选择行

    JOptionPane.showMessageDialog(this, "请选中要修改的行");// 弹出对话框

    return;

    }

    new CAlter(this, "修改客户信息", true, ctable, i);// 打开修改客户信息窗口

    ctable = new CTable();// 调用无参构造,将修改后的所有数据放入表格

    table.setModel(ctable);

    } else if (e.getActionCommand().equals("remove")) {// 单击删除按钮

    int i = this.table.getSelectedRow();// 获取所选表格的行数

    if (i == -1) {

    JOptionPane.showMessageDialog(this, "请选中要删除的行");

    return;

    }

    String s = (String) ctable.getValueAt(i, 0);// 获取选定行的第一个字段CNO单元格的值

    PreparedStatement ps = null;

    Connection ct = null;

    ResultSet rs = null;

    String url = "jdbc:sqlserver://localhost:1433;DatabaseName=CKGL;";

    try {

    ct = DriverManager.getConnection(url, "sa", "sa");

    ps = ct.prepareStatement("delete from C where CNO=?");

    ps.setString(1, s);

    ps.executeUpdate();

    } catch (Exception e2) {

    } finally {

    try {

    if (rs != null) {

    rs.close();

    }

    if (ps != null) {

    ps.close();

    }

    if (ct != null) {

    ct.close();

    }

    } catch (Exception e3) {

    }

    }

    ctable = new CTable();

    table.setModel(ctable);

    }

    }

    }

    6.1.2.4界面展示(以员工页面为例)

    6.1.2.4.1 主界面

    标题

    6.1.2.4.2添加信息

    标题

    6.1.2.4.3修改信息

    标题

    6.1.2.4.4删除信息

    标题

    6.2数据库(以仓库表为例)

    6.2.1数据库表信息的添加

    USE CKGL

    GO

    INSERT INTO SR VALUES('SR01','电脑仓','西关十字','上限2000,目前1200')

    INSERT INTO SR VALUES('SR02','手机仓','安宁东路','上限5000,目前3000')

    INSERT INTO WK VALUES('WK01','电脑车间','南城门西口','运行中')

    INSERT INTO WK VALUES('WK02','手机车间','西京大道23号','停止运行')

    INSERT INTO RM VALUES('RM01','光驱','0225',500,400,200)

    INSERT INTO RM VALUES('RM02','内存条','DDR',300,310,200)

    INSERT INTO RM VALUES('RM03','显示器','LG',400,380,200)

    insert into p  values('P01','手机','5.3',1200,'2019.6.13','WK01')

    insert into p  values('P02','MP3','2G内存',50,'2018.5.20','WK02')

    insert into p  values('P03','电脑','17',4800,'2019.1.1','WK01')

    insert into C  values('C01','张路','f','普通','Y01','10086','兰州市')

    insert into C  values('C02','王娇','m','会员','Y01','10001','天津市')

    6.2.2表信息

    标题

     

    第七章 运行与测试

    7.1客户信息的添加

    7.1.1添加前

    标题

    7.1.2添加信息

    标题

    7.1.3添加成功

    标题

    第八章 总结与收获

    在此次课程设计中,遇到以下问题:

       (1)当设计主界面与子页面连接时,由于子界面包含对话窗口,以至于无法通过设计二级窗口的方法返回到主界面,在深思以及多次实验之后,设置了一个返回主界面的按钮,用这个按钮来完成此操作。

       (2)在写监听事件时,由于上课期间并没有理解其原理和构造,以至于刚开始写的时候很是迷茫,经过网上百度、读别人的代码、看视频、查阅书籍,基本掌握了监听事件的使用,然后完成了监听模块的编辑。

       (3)在构建窗口时,不了解窗口含有的属性,不了解页面的布局方式以及内容的添加过程次序。在查阅书籍,网上搜索资料的学习下,了解窗口含有的模块,内容,添加方式,布局方式,熟练掌握已知的窗体元素内容,使之后的窗口构造压力降低很多。

       (4)在进行java方面的代码时,经常忽略小细节的问题, 导致一直在一个地方浪费时间。

       (5)通过此次课程设计,使我更加扎实的掌握了有关面向对象方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。                                                               

           过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 大规模定制企业自动化立体仓库管理系统的研究和设计,韩乐,,针对大规模定制企业仓库管理中物料及成品信息不规范、不能及时的进行跟踪了解以及不能与外部信息及时、迅速交互等问题,设计一套
  • 谈来料加工企业 ERP 系统中的仓库管理设计 论文关键词 ERP 来料加工 BOM 仓库 管理 论文摘要仓库管理模块是 ERP 系统中的一个重要模块,仓库管理中的数据准确 性以及操作方便性对 ERP 系统影响较大文中介绍了一个基于...
  • 仓库管理信息系统广泛应用于企业、工厂和商店,能够明显的提高仓库的存储效率,减少仓库管理系统的漏洞,具有对仓库管理信息、货物信息、所涉及员工信息进行管理和维护的功能,也能够对每一次仓库货物变动的记录级...
  • 仓库管理 入库单(采购入库,生产入库,外加工入库): 出库单(销售出库,领料出库,外加工出库): 产品的借入、产品借出、库存转仓、库存盘点、产品报损、产品报废、存货调价、 产品组装预览及组装、拆装 计件工资...
  • 仓库管理系统设计与实现论文

    热门讨论 2010-04-17 21:59:57
    本论文设计的系统是软件产品仓库管理系统,所用的开发工具是美国Microsoft公司推出的Microsoft Visual Studio 2005以及Microsoft SQL Server数据库。该系统主要用的是模块化设计,主要包含基本信息,货物管理,信息...
  • 仓库管理系统

    万次阅读 2019-07-26 20:24:10
    仓库管理系统(WMS)通过出库,入库、库位调拨、库存调拨等功能,综合批次管理,物料对应、库存盘点、质检管理和即时库存管理等功能综合运用的管理系统,有效控制和跟踪仓库业务的物流和成本管理的全过程,实现完善...

    一、仓库管理概述

    仓库管理系统(WMS)通过出库,入库、库位调拨、库存调拨等功能,综合批次管理,物料对应、库存盘点、质检管理和即时库存管理等功能综合运用的管理系统,有效控制和跟踪仓库业务的物流和成本管理的全过程,实现完善的企业仓储信息管理。
    从业务上讲,仓库管理系统主要是出库,入库以及仓库内部管理,而WMS系统作为进销存体系的重要一环,需要与采购系统,财务系统,订单调度中心,库存中心等系统发生信息交互。
    在这里插入图片描述

    二,仓库管理模块设计

    1 出库

    当发货单推送至仓库,就进入仓库的任务处理队列中,经历调度,打单,拣货 ,复核,包装,交接发货等过程,最后交给物流公司。
    a,调度:锁定拣货库位,生成拣货波次,(拣货波次的原则是选择几个锁定库位相邻,不超出拣货车存放量的仓库订单合并,可按照预设规则自动生成,也可人工筛选)
    b,打单:将波次对应的物流单和发货单打印出来
    c,拣货:关联拣货车,按波次拣货
    d,复核:对拣货完成的订单进行核对,保证发货单、实物商品、物流单的统一。
    e,包装:复核后对订单进行打包,称重,体积录入。
    f,交接发货:打包后,根据物流单对应的快递公司,推至相应的交接区,扫描物流单号完成交接并发货。
    在这里插入图片描述

    在这里插入图片描述

    2 入库

    商品入库主要是根据采购单,退/换货入库单,调拨入库单等,入库单推送至仓库时,经历到货确认,验货打码,商品上架等环节最终完成入库。
    到货确认:当仓库收到入库单时,相应的货物不会立马到仓库,而是会先进行到货确认,同时生成相应的验货任务,打印相应的入库验货单
    验货打码:到货确认之后进入验货打码环节,验货员根据验货单上的任务验货,并反馈给系统合格和不良品的到货数量,(不良品退给供应商),到货数量小应到数量时,将剩余未到货任务再次返回到到货确认,等待下次到货,退货单将合格品和不合格品都录入到系统中,不良品会上架至不良品库区
    验货完成后,通过系统打印相应数量的商品条码,由仓库人员进行贴码。
    商品上架:不仅包括商品入库上架,还包括补货上架,移库上架,返库上架等情形,上架后更新库位库存信息
    在这里插入图片描述
    在这里插入图片描述

    3 仓库内部管理

    盘点:定期或临时对库存商品的实际数量进行清查,清点,对仓库现有商品的实际数量与保管账上记录的数量相核对,以便准确的掌握库存数量
    在这里插入图片描述
    a,根据业务需求选择相应的库位和商品创建盘点任务,盘点员根据盘点任务进行盘点
    b,盘点后录入盘点数据
    c,当盘点单中所有任务完成后,判断是否有盘盈或者盘亏。
    d,无盘盈或盘亏,盘点结束,如果有,提交给主管审核,审核不通过,对库存不一致的库位商品重新生成盘点单,进行复盘;审核通过,提交给财务审核
    e,财务审核通过后,生成盘盈,盘亏单,去更新仓库库存。

    在这里插入图片描述

    库位库区管理

    仓库的库区主要分为分拣区,储存区,不良品存储区,发货暂存区,收货暂存区几块,需要给每个库区进行编码,在仓库中使用条形码对货品信息,批次,库位进行管理,提高各个环节的作业效率和信息化程度。

    统计查询

    统计查询模块主要是关于仓库的流水、库存、工作量等方面的统计并提供库存预警功能。包括出库明细,入库明细、库存变动明细、总库存查询、库位库存查询等。

    展开全文
  • 题 目 基于 Oracle 的仓库管理 数据库系统设计 学 号 学生姓名 专业名称 所在系院 指导教师 2012 年 5 月 30 日 题目 摘要 基于 Oracle 的仓库管理数据库系统设计 随着现代企业的发展计算机信息管理系统越来越受到...
  • 随着计算机的应用普及,目前大多数企业仓库管理数据资料已开始采用计算机数据系统管理,但数据还是采用先纸张记录、再手工输入计算机的方式进行采集和统计整理。这不仅造成大量的人力资源浪费,而且由于人为的因素...
  • 1、关于仓库管理系统 的基本要求 (1)功能要求:可以管理个人中心、企业用户 、物资信息管理、物资入库管理、物资出库管理、等功能模块。 (2)性能:在不同操作系统上均能无差错实现在不同类型的企业用户 登入相应...

    本系统带文档lw万字以上+答辩PPT+查重 如果这个题目不合适,可以去我上传的资源里面找题目,找不到的话,评论留下题目,或者站内私信我,
    有时间看到机会给您发
    在这里插入图片描述
    在这里插入图片描述

    项目设计目标与原则
    1、关于仓库管理系统 的基本要求
    (1)功能要求:可以管理个人中心、企业用户 、物资信息管理、物资入库管理、物资出库管理、等功能模块。
    (2)性能:在不同操作系统上均能无差错实现在不同类型的企业用户 登入相应界面后能不出差错、方便地进行预期操作。
    (3)安全与保密要求:企业用户 都必须通过管理员审核才能进入系统。
    (4)环境要求:支持Windows系列、Vista系统等多种操作系统使用。
    2、开发目标
    仓库管理系统 的主要开发目标如下:
    (1)实现管理系统信息关系的系统化、规范化和自动化;
    (2)减少维护人员的工作量以及实现企业用户 对信息的控制和管理;
    (3)方便查询信息及管理信息等;
    (4)通过网络操作,提高改善处理问题和操作人员工作的效率;
    (5)考虑到企业用户 多样性特点,要求界面和操作简便易懂。
    3、设计原则
    本仓库管理系统采用SSM技术,Mysql数据库开发,充分保证了系统稳定性、完整性。
    仓库管理系统的设计与实现的设计思想如下:
    1、操作简单方便、系统界面安全良、简单明了的页面布局、方便查询仓库管理系统 管理相关信息。
    2、即时可见:对仓库管理系统信息的处理将立马在对应地点可以查询到,从而实现“即时发布、即时见效”的系统功能。
    3、功能的完善性:可以管理个人中心、企业用户 、物资信息管理、物资入库管理、物资出库管理、模块的修改维护操作。

    3.4系统流程分析
    3.4.1操作流程
    系统登录流程图,如图所示:
    在这里插入图片描述

                         图3-1登录流程图
    

    3.4.2添加信息流程
    添加信息流程图,如图所示:
    在这里插入图片描述

               图3-2添加信息流程图
    

    3.4.3删除信息流程
    删除信息流程图,如图所示:
    在这里插入图片描述

            图3-3删除信息流程图
    

    第4章 系统设计
    4.1 系统体系结构
    仓库管理系统 图,如图2-6所示。
    在这里插入图片描述

                   图2-6仓库管理系统 图
    

    登录系统图,如图2-7所示:
    在这里插入图片描述

                  图2-7登录系统图
    

    系统结构图,如图4-3所示。
    在这里插入图片描述

                       图4-3 系统结构图
    
    展开全文
  • 1、关于仓库管理系统 的基本要求 (1)功能要求:可以管理个人中心、企业用户 、物资信息管理、物资入库管理、物资出库管理、等功能模块。 (2)性能:在不同操作系统上均能无差错实现在不同类型的企业用户 登入相应...

    本系统带文档lw万字以上+答辩PPT+查重 如果这个题目不合适,可以去我上传的资源里面找题目,找不到的话,评论留下题目,或者站内私信我,
    有时间看到机会给您发在这里插入图片描述
    在这里插入图片描述

    项目设计目标与原则
    1、关于仓库管理系统 的基本要求
    (1)功能要求:可以管理个人中心、企业用户 、物资信息管理、物资入库管理、物资出库管理、等功能模块。
    (2)性能:在不同操作系统上均能无差错实现在不同类型的企业用户 登入相应界面后能不出差错、方便地进行预期操作。
    (3)安全与保密要求:企业用户 都必须通过管理员审核才能进入系统。
    (4)环境要求:支持Windows系列、Vista系统等多种操作系统使用。
    2、开发目标
    仓库管理系统 的主要开发目标如下:
    (1)实现管理系统信息关系的系统化、规范化和自动化;
    (2)减少维护人员的工作量以及实现企业用户 对信息的控制和管理;
    (3)方便查询信息及管理信息等;
    (4)通过网络操作,提高改善处理问题和操作人员工作的效率;
    (5)考虑到企业用户 多样性特点,要求界面和操作简便易懂。
    3、设计原则
    本仓库管理系统采用SSM技术,Mysql数据库开发,充分保证了系统稳定性、完整性。
    仓库管理系统的设计与实现的设计思想如下:
    1、操作简单方便、系统界面安全良、简单明了的页面布局、方便查询仓库管理系统 管理相关信息。
    2、即时可见:对仓库管理系统信息的处理将立马在对应地点可以查询到,从而实现“即时发布、即时见效”的系统功能。
    3、功能的完善性:可以管理个人中心、企业用户 、物资信息管理、物资入库管理、物资出库管理、模块的修改维护操作。

    3.4系统流程分析
    3.4.1操作流程
    系统登录流程图,如图所示:在这里插入图片描述

                                       图3-1登录流程图
    

    3.4.2添加信息流程
    添加信息流程图,如图所示:在这里插入图片描述

                                    图3-2添加信息流程图
    

    3.4.3删除信息流程
    删除信息流程图,如图所示:在这里插入图片描述

                                     图3-3删除信息流程图
    

    第4章 系统设计
    4.1 系统体系结构
    仓库管理系统 图,如图2-6所示。在这里插入图片描述

                                        图2-6仓库管理系统 图
    

    登录系统图,如图2-7所示:在这里插入图片描述

                                      图2-7登录系统图
    

    系统结构图,如图4-3所示。在这里插入图片描述

                                            图4-3 系统结构图
    
    展开全文
  • 《讯科仓库管理系统》是针对小型企业设计,体现“简洁易用,实用为上”的优点,包括采购入库、销售出库、库存调拨、库存盘点等业务功能,是根据多年客户使用经验自主研发的
  • 企业仓库管理信息系统设计,里面附带全局er图,局部er图,分析数据库设计,字段等等,数据的存储模式,内容还是可以的
  • 滁州职业技术学院成人高等教育 毕业设计 专业名称 信 息 管 理 论文题目 基于 JAVA 的仓库管理系统 学生姓名 指导教师 肖 肖 宏 武 飞 2012 年 4 月 4 日 滁州职业技术学院 毕业论文(设计) 摘 要 现如今许多企业存在...
  • 摘 要 仓库物品的管理是与我们的日常生活息息相关的一个重大问题。随着我国经济飞速的发展,改革开放的不断深入,企业要想在...在此篇文章中严格按照软件工程思想,设计并实现了一个仓库信息管理系统。介绍了系统从...
  • EasyUI仓库管理系统

    2019-03-05 14:25:34
    本论文主要讲述的是中小企业仓库管理系统设计与实现。论文阐述 了仓库管理系统研究的背景与意义,通过总结国内外相关研究和实践成果 来阐述问题的解决思路。论文详细介绍了仓库管理信息系统的业务流程及 系统需求...
  • 实万WMS电子仓库(仓储)管理系统案例介绍WMS电子仓库管理系统应用主要有三大类:· 第一类是应用于配送中心的仓库管理系统,比如连锁超市的配送中心,生产制造企业零配件的配送中心等。· 第二类是应用于公共仓储服务...
  • 所以建立一个完整的企业仓库管理系统应该包括以仓库帐目为中心,对仓库帐目进行程序化管理,另外能够进行与之相关的人事管理,权限管理,客户管理,以及数据统计报表的内容等模块。其中仓库管理是整个物资供应管理...
  • 通过仓库管理软件的智能仓库管理系统代表了企业拥抱这种新型技术的最佳范例。什么是智能仓库?智能仓库是仓库自动化的高级境界(换句话说,就是将仓储作业的各个环节自动化)。与智能家居类似,智能仓库也是由几种...
  • C语言仓库管理系统

    千次阅读 2018-08-24 15:53:30
    仓库管理系统 此系统为大学时课程为学习C语言来设计的,在此平台做一个记录用,希望看到的同学觉得不妥的地方可以指出来,也希望对刚学C语言的同学有帮助。 一.功能 仓库管理系统主要提供一个仓库业务及其作业...
  • 仓库管理信息系统是针对企业的实际需求,从实际工作出发,在分析目前仓库管理信息系统中存在的问题的基础上,结合管理信息系统开发的概念、结构及系统开发的基本原理和方法,并利用计算机运算速度快、存储信息容量...
  • jsp仓库管理系统

    2016-06-06 21:58:39
    仓库管理系统是一个企业仓库的业务处理的数据库信息管理系统。主要进行产品的入库管理、出库管理、库存盘点等基本业务信息的处理。产品入库时根据入库单登记产品的名称、编号、单价、入库件数、入库日期、管理员等...
  • 数据库课程设计--仓库管理系统

    热门讨论 2008-12-18 14:15:53
    这个程序是仓库管理系统的程序,刚刚课程设计完,把它拿出来晒晒... 和大家分享下... 算不上很好的美餐,但也能抵得住寒冷... 总会有需要的人,希望能为需要的人提供分参考资料... 仓库系统课程设计具体内容如下:...
  • PAGE ii?滁州职业技术学院成人高等...专业名称 信 息 管 理论文题目 基于JAVA的仓库管理系统学生姓名 肖 武指导教师 肖 宏 飞?2012年4 月4日论文题目滁州职业技术学院 毕业论文(设计)摘 要现如今,许多企业存在的问...
  • 和智云仓库管理系统(WMS)系统功能介绍: 1、入库功能: 1)货物到达仓库,根据采购订单进行核实,开箱验货,根据WMS系统组合信息进行条码打印、粘贴、放置托盘区; 2)利用PDA进行扫码核验,通过系统对库位...
  • java仓库管理系统.docx

    2020-08-27 00:09:37
    南昌大手 本科生毕业设计论文开题报告 题 目 仓库管理系统 学 院系 软件工程 专 业 班 级 学 号 姓 名 指导教师 填表日期 2011 年 12 月 1 日 选题的依据和意义 这是一个互联网的时代所有企业都面临着互联网浪潮的...
  • 题目要求设计与实现包括人事管理、财务管理、原材料采购与库存管理、产品销售管理等功能的中小微企业信息管理系统,支持各类人员相关信息的增、删、改、查。 管理员具有用户建立、权限分配、基础信息维护等功能权限...
  • 随着我国经济飞速的发展,改革开放的不断深入,企业要想在激烈的市场竞争中立于不败之地,要想继续的发展与生存,没有现代化的管理方式与方法是万万不行的,仓库管理的全面信息化、自动化则是在其中占有极其重要的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 487
精华内容 194
关键字:

企业仓库管理系统设计