【计算机毕业设计】仓库管理系统

一、前言

如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的产生往往是为了解决现有问题而产生的。针对于仓库信息管理方面的不规范,容错率低,管理人员处理数据费工费时,采用新开发的仓库管理系统可以从根源上规范整个数据处理流程的正规性和合法性。
仓库管理系统实现的功能包括仓库管理,出入库管理,物资管理,员工管理等功能。该系统采用了Mysql数据库,Java语言,SSM框架等技术进行编程实现。
仓库管理系统可以提高仓库信息管理问题的解决效率,优化仓库信息处理流程,并且能够保证存储数据的安全,它是一个非常可靠,非常安全的应用程序。

二、说明文档

推荐使用:谷歌浏览器

后台登录页面
http://localhost:8080/cangkuguanlixitong/admin/dist/index.html

管理员 账户:admin 密码:admin
员工 账户:a1 密码:123456
员工 账户:a2 密码:123456
员工 账户:a3 密码:123456

在src\main\resources\config.properties中编辑

jdbc_url=jdbc:mysql://127.0.0.1:3306/cangkuguanlixitong?useUnicode=true&characterEncoding=UTF-8&tinyInt1isBit=false
jdbc_username=root	    数据库用户名 root
jdbc_password=123456	用户密码    123456

图片存放路径: src\main\webapp\upload 里面上传图片名里面不能有中文

三、系统功能设计

仓库管理系统根据使用权限的角度进行功能分析,并运用用例图来展示各个权限需要操作的功能。
图3.1即为管理员用例图,管理员权限操作的功能包括对员工信息,物资信息,仓库信息,出入库信息等信息的管理。在这里插入图片描述
图3.2即为员工用例图,员工权限操作的功能包括管理物资,管理仓库,对物资进行入库操作或出库操作,查询物资出入库明细信息。在这里插入图片描述

三、系统功能效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、核心代码

package com.thread;

/**
 * 线程执行方法(做一些项目启动后 一直要执行的操作,比如根据时间自动更改订单状态,比如订单签收30天自动收货功能,比如根据时间来更改状态)
 */
public class MyThreadMethod extends Thread  {
    public void run() {
        while (!this.isInterrupted()) {// 线程未中断执行循环
            try {
                Thread.sleep(5000); //每隔2000ms执行一次
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

//			 ------------------ 开始执行 ---------------------------
//            System.out.println("线程执行中:" + System.currentTimeMillis());
        }
    }
}

package com.entity;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.lang.reflect.InvocationTargetException;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.beanutils.BeanUtils;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.enums.IdType;

/**
 * 仓库信息
 *
 * @author 
 * @email
 */
@TableName("cangku")
public class CangkuEntity<T> implements Serializable {
    private static final long serialVersionUID = 1L;


	public CangkuEntity() {

	}

	public CangkuEntity(T t) {
		try {
			BeanUtils.copyProperties(this, t);
		} catch (IllegalAccessException | InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}


    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    @TableField(value = "id")

    private Integer id;


    /**
     * 仓库编号
     */
    @TableField(value = "cangku_uuid_unmber")

    private String cangkuUuidUnmber;


    /**
     * 仓库名称
     */
    @TableField(value = "cangku_name")

    private String cangkuName;


    /**
     * 仓库类型
     */
    @TableField(value = "cangku_types")

    private Integer cangkuTypes;


    /**
     * 所在区域
     */
    @TableField(value = "cangku_address")

    private String cangkuAddress;


    /**
     * 创建时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat
    @TableField(value = "create_time",fill = FieldFill.INSERT)

    private Date createTime;


    /**
	 * 设置:主键
	 */
    public Integer getId() {
        return id;
    }


    /**
	 * 获取:主键
	 */

    public void setId(Integer id) {
        this.id = id;
    }
    /**
	 * 设置:仓库编号
	 */
    public String getCangkuUuidUnmber() {
        return cangkuUuidUnmber;
    }


    /**
	 * 获取:仓库编号
	 */

    public void setCangkuUuidUnmber(String cangkuUuidUnmber) {
        this.cangkuUuidUnmber = cangkuUuidUnmber;
    }
    /**
	 * 设置:仓库名称
	 */
    public String getCangkuName() {
        return cangkuName;
    }


    /**
	 * 获取:仓库名称
	 */

    public void setCangkuName(String cangkuName) {
        this.cangkuName = cangkuName;
    }
    /**
	 * 设置:仓库类型
	 */
    public Integer getCangkuTypes() {
        return cangkuTypes;
    }


    /**
	 * 获取:仓库类型
	 */

    public void setCangkuTypes(Integer cangkuTypes) {
        this.cangkuTypes = cangkuTypes;
    }
    /**
	 * 设置:所在区域
	 */
    public String getCangkuAddress() {
        return cangkuAddress;
    }


    /**
	 * 获取:所在区域
	 */

    public void setCangkuAddress(String cangkuAddress) {
        this.cangkuAddress = cangkuAddress;
    }
    /**
	 * 设置:创建时间
	 */
    public Date getCreateTime() {
        return createTime;
    }


    /**
	 * 获取:创建时间
	 */

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return "Cangku{" +
            "id=" + id +
            ", cangkuUuidUnmber=" + cangkuUuidUnmber +
            ", cangkuName=" + cangkuName +
            ", cangkuTypes=" + cangkuTypes +
            ", cangkuAddress=" + cangkuAddress +
            ", createTime=" + createTime +
        "}";
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JAVA编码选手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值