基于javaweb+SSM的实现进销存系统(java+SSM+BootStrap+jsp+mysql)

本文档介绍了基于SSM(Spring、SpringMVC、MyBatis)框架的进销存库存管理系统,适用于初学者学习。系统包含管理员、销售和采购员三种角色,涵盖用户管理、货物管理、入库出库管理等功能。项目采用MySQL5.7数据库,提供详细的使用说明,包括数据库创建、环境配置和运行步骤,适合课程设计、项目练习等场景。
摘要由CSDN通过智能技术生成

项目介绍
进销存库存管理系统源码,采用了ssm框架,功能结构非常简单明了,界面也比较清爽大气,非常适合学生和Java新手拿来学习使用。
本项目主要分为管理员、销售、采购员三种角色;
管理员主要功能包括:
用户信息管理:用户查询、用户添加;
货物信息管理:货物查询、库存查询;
入库单信息管理:入库单新建、入库单审核;
出库信息管理:出库单新建、出库单审核;

销售主要功能包括:
出库信息管理:出库单新建;

采购员主要功能包括:
货物信息管理:库存查询
入库单信息管理:入库单新建;

环境要求:
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. 前端:JSP+css+javascript+bootstrap+jQuery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
  2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
    若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
  3. 将项目中dbconfig.properties配置文件中的数据库配置改为自己的配置;
  4. 运行项目,输入localhost:8080/ERPSystem 登录请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

        return Result.error(false, null, "修改失败!");
    }
    /**
     * 删除单条数据
     *
     * @param id
     * @return
     */
    @SysLog("销售删除操作")
    @RequestMapping("/deleteOne")
    public Result deleteOne(int id) {
        boolean bool = saleService.removeById(id);
        if (bool) {
            return Result.success(true, "200", "删除成功!");
        }
        return Result.error(false, null, "删除失败!");
    }
}
供应商管理控制层:
@RestController
@RequestMapping("/provider")
public class ProviderController {
    @Autowired
    private ProviderService providerService;
    /**
     * 供应商模糊查询
     * @param
    @SysLog("用户修改操作")
    @PostMapping("/updateuser")
    public Result updateUser(User user) {
        boolean bool = userService.updateById(user);
        try {
            if (bool) {
                return Result.success(true, "200", "修改成功!");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return Result.error(false, null, "修改失败!");
    }
    /**
     * 删除单条数据
     *
     * @param id
     * @return
     */
    @SysLog("用户删除操作")
    @RequestMapping("/deleteOne")
    public Result deleteOne(int id) {
        boolean bool = userService.removeById(id);
        try {
            if (bool) {
                return Result.success(true, "200", "删除成功!");
        }
        return JSON.toJSONString(map);
    }
    /**
     * 修改用户信息
     *
     * @param user
     * @return
     */
    @SysLog("用户修改操作")
    @PostMapping("/updateuser")
    public Result updateUser(User user) {
        boolean bool = userService.updateById(user);
        try {
            if (bool) {
        user.setType(1);
        boolean bool = userService.save(user);
        try {
            if (bool) {
                return Result.success(true, "200", "添加成功!");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return Result.error(false, null, "添加失败!");
    }
    /**
     * 校验用户名是否存在
     *
     * @param username
        }
    }
    /**
     * 查询所有用户信息
     *
     * @param userVO
     * @return
     */
    @SysLog("用户查询操作")
    @RequestMapping("/userList")
    public DataGridViewResult userList(UserVO userVO) {
        //分页构造函数
        IPage<User> page = new Page<>(userVO.getPage(), userVO.getLimit());
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.like(!StringUtils.isEmpty(userVO.getUsername()), "username", userVO.getUsername());
        queryWrapper.like(!StringUtils.isEmpty(userVO.getUname()), "uname", userVO.getUname());
        /**
        }
        User user = (User) session.getAttribute("username");
        String num = RandomStringUtils.randomAlphanumeric(7);
        sale.setNumbering(num);
        sale.setPerson(user.getUsername());
        sale.setBuytime(new Date());
        sale.setRealnumber(sale.getBuyquantity());
        boolean bool = saleService.save(sale);
        if (bool) {
            return Result.success(true, "200", "添加成功!");
        }
        return Result.error(false, null, "添加失败!库存不足");
    }
    /**
     * 修改销售单信息
     *
     * @param sale
     * @return
     */
        return new DataGridViewResult(saleIPage.getTotal(), records);
    }
    /**
     * 添加销售单信息
     *
     * @param sale
     * @return
     */
    @SysLog("销售添加操作")
    @PostMapping("/addsale")
    public Result addsale(Sale sale, HttpSession session) {
        if (sale.getGid()==0){
            return Result.error(false, null, "添加失败!未选商品");
        }
        Goods goods = goodsService.getById(sale.getGid());
        Integer gquantity = goods.getGquantity();
        if(gquantity<sale.getBuyquantity()){
            return Result.error(false, null, "添加失败!库存不足,库存为:"+gquantity);
        }
        User user = (User) session.getAttribute("username");
public class UserController {
    @Autowired
    private UserService userService;
    @Autowired
    private RoleService roleService;
    /**
     * 登录
     *
     * @param username 用户名
     * @param password 密码
     * @param request
     * @return
     */
    @SysLog("登陆操作")
    @PostMapping("/login")
    public Result login(String username, String password, HttpServletRequest request) {
        try {
            //获取当前登录主体对象
            Subject subject = SecurityUtils.getSubject();
            UsernamePasswordToken token = new UsernamePasswordToken(username, password);
            subject.login(token);
            LoginUserVO userDTO = (LoginUserVO) subject.getPrincipal();
     */
    @SysLog("用户查询操作")
    @RequestMapping("/userList")
    public DataGridViewResult userList(UserVO userVO) {
        //分页构造函数
        IPage<User> page = new Page<>(userVO.getPage(), userVO.getLimit());
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.like(!StringUtils.isEmpty(userVO.getUsername()), "username", userVO.getUsername());
        queryWrapper.like(!StringUtils.isEmpty(userVO.getUname()), "uname", userVO.getUname());
        /**
         * 翻页查询
         * @param page         翻页对象
         * @param queryWrapper 实体对象封装操作类
         */
        IPage<User> userIPage = userService.page(page, queryWrapper);
        return new DataGridViewResult(userIPage.getTotal(), userIPage.getRecords());
                return Result.success(true, null, "分配成功");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return Result.error(false, null, "分配失败");
    }
    /**
     * 修改密码
     *
     * @param newPassWord1
     * @param newPassWord2
     * @return
     */
    @RequestMapping("/updateUserPassWord")
    public Result updateUserPassWord(String newPassWord1, String newPassWord2,HttpSession session) {
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**
     * 查询所有用户信息
     *
     * @param userVO
     * @return
     */
    @SysLog("用户查询操作")
    @RequestMapping("/userList")
    public DataGridViewResult userList(UserVO userVO) {
        //分页构造函数
        IPage<User> page = new Page<>(userVO.getPage(), userVO.getLimit());
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.like(!StringUtils.isEmpty(userVO.getUsername()), "username", userVO.getUsername());
        queryWrapper.like(!StringUtils.isEmpty(userVO.getUname()), "uname", userVO.getUname());
        /**
         * 翻页查询
         * @param page         翻页对象
         * @param queryWrapper 实体对象封装操作类
         */
        IPage<User> userIPage = userService.page(page, queryWrapper);
        return new DataGridViewResult(userIPage.getTotal(), userIPage.getRecords());
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值