当前位置: 首页 > news >正文

Java项目:防盗门进销存管理系统(java+SSM+HTML+BootStrap+Mysql)

源码获取:俺的博客首页 "资源" 里下载!

项目介绍

本项目分为系统管理员、库存管理员、采购员、销售员、订单审核员等角色。
各角色主要功能如下所示:

系统管理员
基础信息管理
商品
仓库
员工
角色
库存管理
库存管理
销售单审核(2出库)
采购单审核(2入库)
订单经理
销售单审核(1审核)
采购单审核(1审核)
采购管理
供应商管理
采购订单
销售管理
客户管理
销售订单
数据统计
采购统计
销售统计
账户管理
用户管理
修改密码


库存管理员

库存管理
库存查看
销售单审核(出库)
采购单审核(入库)
账户管理
修改密码


采购员

基础信息管理
商品(采购可以添加新的商品)
采购管理
供应商管理
采购订单
数据统计
采购统计
账户管理
修改密码


销售员

销售管理
客户管理
销售订单
数据统计
销售统计
账户管理
修改密码


订单审核员

订单审核
销售单审核
采购单审核
账户管理
修改密码

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是
6.数据库:MySql 5.7等版本均可;

技术栈
1. 后端:Spring+SpringMVC+Mybatis

2. 前端:BootStrap+JavaScript+jQUery+Ajax+CSS+HTML


使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2.使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat
3.打开jdbc.properties配置文件,修改数据库用户名和密码为自己本地数据库的用户名和密码
注:username与password需要在util/DESUtil中main方法中获取加密后的数据并填写
# 数据库用户名
jdbc.username=Ov4j7fKiCzY=DES加密,加密前为root 
# 数据库密码
jdbc.password=Ov4j7fKiCzY=DES加密,加密前为root
4.打开浏览器,输入 localhost:8080/sdims 进入登录界面
5.输入用户名和密码访问系统
账号和密码:
超级管理员: admin
库存管理员: xiaoku
订单经理: xiaodan
采购员:xiaocai
销售员: xiaoxiao
密码均为:111111


 

 

 

 

 

商品管理控制层: 

@RestController
@RequestMapping(value = "/goods")
public class GoodsController {

    private Logger logger = LoggerFactory.getLogger(GoodsController.class);

    private GoodsService goodsServiceImpl;

    public GoodsController(GoodsService goodsServiceImpl) {
        this.goodsServiceImpl = goodsServiceImpl;
    }

    @PostMapping(value = "/addGoodsType")
    public int addGoodsType(GoodsType type) {
        return goodsServiceImpl.addGoodsType(type);
    }

    @PostMapping(value = "/delGoodsType/{id}")
    public int delGoodsType(@PathVariable("id") String id) {
        return goodsServiceImpl.delGoodsType(id);
    }

    @PostMapping(value = "/updateGoodsType")
    public int updateGoodsType(GoodsType type) {
        return goodsServiceImpl.updateGoodsType(type);
    }

    @GetMapping(value = "/findById/{id}")
    public GoodsType findById(@PathVariable("id") String id) {
        return goodsServiceImpl.findById(id);
    }

    @GetMapping(value = "/findByName")
    public GoodsType findByName(@RequestParam("name") String name) {
        return goodsServiceImpl.findByName(name);
    }

    @GetMapping(value = "/findAllByPage")
    public PageInfo<GoodsType> findAllByPage(PageInfo<GoodsType> info,
                                             @RequestParam(value = "name", defaultValue = "") String name) {
        return goodsServiceImpl.findAllByPage(info, name);
    }

    @GetMapping(value = "/getEcharts")
    public Map<String, Object> getGoodsTypeEcharts() {
        return goodsServiceImpl.getGoodsTypeEcharts();
    }

    @GetMapping(value = "/findAllType")
    public List<GoodsType> findAllType() {
        return goodsServiceImpl.findAllType();
    }

    @PostMapping(value = "/addGoods")
    public int addGoods(Goods goods) {
        return goodsServiceImpl.addGoods(goods);
    }

    @PostMapping(value = "/delGoods/{id}")
    public int delGoods(@PathVariable("id") int id) {
        return goodsServiceImpl.delGoods(id);
    }

    @PostMapping(value = "/updateGoods")
    public int updateGoods(Goods goods) {
        return goodsServiceImpl.updateGoods(goods);
    }

    @GetMapping(value = "/findGoodsByPage")
    public PageInfo<Goods> findGoodsByPage(PageInfo<Goods> info,
                                       @RequestParam(value = "type", defaultValue = "") String type,
                                           @RequestParam(value = "name", defaultValue = "") String name) {
        return goodsServiceImpl.findGoodsByPage(info, type, name);
    }

    @GetMapping(value = "/findGoodsById/{id}")
    public Goods findGoodsById(@PathVariable("id") int id) {
        return goodsServiceImpl.findGoodsById(id);
    }

    @GetMapping(value = "/findAllGoodsByName")
    public List<String> findAllGoodsByName(@RequestParam(value = "name", defaultValue = "") String name) {
        return goodsServiceImpl.findAllGoodsByName(name);
    }

}

订单管理控制层:

@RestController
@RequestMapping(value = "/order")
public class OrderController {

    private OrderService orderServiceImpl;

    public OrderController(OrderService orderServiceImpl) {
        this.orderServiceImpl = orderServiceImpl;
    }

    @PostMapping(value = "/addOrder")
    public int addOrder(Order order, HttpServletRequest request) {
        HttpSession session = request.getSession();
        Employee emp = (Employee) session.getAttribute("emp");
        order.setCreater(emp.getName());
        order.setUpdater(emp.getName());
        return orderServiceImpl.addOrder(order);
    }

    @PostMapping(value = "/delOrder/{id}")
    public int delOrder(@PathVariable("id") int id) {
        return orderServiceImpl.delOrder(id);
    }

    @PostMapping(value = "/updateOrder")
    public int updateOrder(Order order, HttpServletRequest request) {
        HttpSession session = request.getSession();
        Employee emp = (Employee) session.getAttribute("emp");
        order.setUpdater(emp.getName());
        return orderServiceImpl.updateOrder(order);
    }

    @GetMapping(value = "/findAllOrdersByPage")
    public PageInfo<Order> findAllOrdersByPage(PageInfo<Order> info,
                                               @RequestParam(value = "no", defaultValue = "") String no) {
        return orderServiceImpl.findAllOrdersByPage(info, no);
    }

    @GetMapping(value = "/findById/{id}")
    public Order findById(@PathVariable("id") int id) {
        return orderServiceImpl.findById(id);
    }

}

管理员模块控制层: 

/**
 * 管理员模块
 *
 * @author .
 */

@Controller
@RequestMapping(value = "/admin")
public class AdminController {

    private Logger logger = LoggerFactory.getLogger(AdminController.class);

    private AdminService adminServiceImpl;

    public AdminController(AdminService adminServiceImpl) {
        this.adminServiceImpl = adminServiceImpl;
    }

    @GetMapping(value = "")
    public String toAdmin() {
        return "admin/login";
    }

    @GetMapping(value = "/emp")
    public String toEmp() {
        return "admin/emp";
    }

    @PostMapping(value = "/login")
    @ResponseBody
    public int login(HttpServletRequest request, @RequestParam("name") String name,
                     @RequestParam("password") String password) {
        HttpSession session = request.getSession();
        Admin admin = adminServiceImpl.findAdminByNameAndPwd(name, password);
        if (admin != null) {
            session.setAttribute("admin", admin);
            logger.info("【{}】登录成功,正在跳转中···", admin.getName());
            return GlobalConstant.SUCCESS;
        }
        return GlobalConstant.ERROR;
    }

    @GetMapping(value = "/isLogin")
    @ResponseBody
    public Admin isLogin(HttpServletRequest request) {
        HttpSession session = request.getSession();
        return (Admin) session.getAttribute("admin");
    }

    @GetMapping(value = "/logout")
    public String logout(HttpServletRequest request) {
        HttpSession session = request.getSession();
        session.removeAttribute("admin");
        session.invalidate();
        logger.info("管理员已退出登录");
        return "redirect:/admin";
    }

}

 源码获取:俺的博客首页 "资源" 里下载!

相关文章:

  • 分类信息网站织梦模板/什么平台可以免费打广告
  • html5 网站建设/seo建站还有市场吗
  • 网站建设工程设计图/360收录
  • 如何建立一个好的网站/制作网站的app
  • 致设计网站官网/河北网站建设案例
  • 幼儿做爰网站/湖南seo推广系统
  • 【C++初阶】简析拷贝构造、赋值运算符重载
  • python 的动态类、动态对象类(我自己取的名)
  • Go项目优化——动态缓存Redis的使用
  • Dijkstra算法——单源最短路径(指定一个节点(源点)到其余各个顶点的最短路径)
  • 【力扣/牛客刷题】27. 移除元素 || 26. 删除有序数组中的重复项 || 88. 合并两个有序数组
  • MATLAB | 绘图复刻(二) | 折线图+误差棒+柱状图+散点抖动+灰色背景+图片叠加
  • ASP.NET公司企业网站源码
  • 文件IO操作笔记
  • 【JAVA程序设计】(C00045)基于Springboot+vue应急知识在线考试系统
  • Xilinx HLS基础介绍(一)
  • 谈一谈当前嵌入式系统安全面临的挑战
  • vite+vue3+ts项目集成vue-router、axios封装、sass、element-plus及icon