当前位置:   article > 正文

基于javaweb+mysql的实现进销存系统(java+SSM+BootStrap+jsp+mysql)_进销存系统javaweb项目教程

进销存系统javaweb项目教程

项目介绍
进销存库存管理系统源码,采用了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 登录请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述

适用

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

    public Result addRole(User user) {
        user.setUcreatetime(new Date());
        String salt = UUIDUtil.randomUUID();
        user.setPassword(PasswordUtil.md5("000000", salt, 2));
        user.setSalt(salt);
        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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
     * 校验用户名是否存在
     *
     * @param username
     * @return
     */
    @RequestMapping("/checkUserName")
    public String checkUserName(String username) {
        Map<String, Object> map = new HashMap<>();
        try {
            QueryWrapper<User> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("username", username);
            User user = userService.getOne(queryWrapper);
            if (user != null) {
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
     * @param user
     * @return
     */
    @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, "修改失败!");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
        try {
            //获取当前登录主体对象
            Subject subject = SecurityUtils.getSubject();
            UsernamePasswordToken token = new UsernamePasswordToken(username, password);
            subject.login(token);
            LoginUserVO userDTO = (LoginUserVO) subject.getPrincipal();
            request.getSession().setAttribute("username", userDTO.getUser());
            return Result.success(true, "200", "登录成功");
        } catch (UnknownAccountException e) {
            e.printStackTrace();
            return Result.error(false, "400", "登录失败,用户名不存在");
        }catch (IncorrectCredentialsException e) {
            e.printStackTrace();
            return Result.error(false, "400", "登录失败,密码错误");
        }catch (AuthenticationException e) {
            e.printStackTrace();
            return Result.error(false, "400", "登录失败,账户禁用");
        }
    }
    /**
     * 得到登陆验证码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
    @SysLog("供应商查询操作")
    @RequestMapping("/providerList")
    public DataGridViewResult providerList(ProviderVO providerVO) {
        //创建分页信息    参数1 当前页  参数2 每页显示条数
        IPage<Provider> page = new Page<>(providerVO.getPage(), providerVO.getLimit());
        QueryWrapper<Provider> queryWrapper = new QueryWrapper<>();
        queryWrapper.like(!StringUtils.isEmpty(providerVO.getProvidername()),"providername", providerVO.getProvidername());
        queryWrapper.like(!StringUtils.isEmpty(providerVO.getTelephone()),"telephone", providerVO.getTelephone());
        IPage<Provider> providerIPage = providerService.page(page, queryWrapper);
        /**
         * logsIPage.getTotal() 总条数
         * logsIPage.getRecords() 分页记录列表
         */
        return new DataGridViewResult(providerIPage.getTotal(),providerIPage.getRecords());
    }
    /**
     * 供应商批量删除
     * @param ids
     * @return
     */
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
        if(bool){
            return Result.success(true,"200","删除成功!");
        }
        return Result.error(false,null,"删除失败!");
    }
    /**
     *
     * 加载下拉框
     * @return
     */
    @RequestMapping("/loadAllProvider")
    public DataGridViewResult loadAllProvider(){
        QueryWrapper<Provider> queryWrapper = new QueryWrapper<>();
        List<Provider> list = providerService.list(queryWrapper);
        return new DataGridViewResult(list);
    }
}
用户管理控制层:
@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;
    @Autowired
    private RoleService roleService;
    /**
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
@RestController
@RequestMapping("/sale")
public class SaleController {
    @Autowired
    private SaleService saleService;
    @Autowired
    private GoodsService goodsService;
    
    @Autowired
    private CustomerService customerService;
    /**
     * 销售查询
     *
     * @param
     * @return
     */
    @SysLog("销售查询操作")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
     * 根据id查询当前用户拥有的角色
     *
     * @param id
     * @return
     */
    @RequestMapping("/initRoleByUserId")
    public DataGridViewResult initRoleByUserId(int id) {
        List<Map<String, Object>> mapList = null;
        try {
            //查询所有角色列表
            mapList = roleService.listMaps();
            //根据用户id查询用户拥有的角色
            Set<Integer> roleIdList = userService.findRoleByUserId(id);
            for (Map<String, Object> map : mapList) {
                //定义标记 默认不选中
                boolean flag = false;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
@RestController
@RequestMapping("/provider")
public class ProviderController {
    @Autowired
    private ProviderService providerService;
    /**
     * 供应商模糊查询
     * @param
     * @return
     */
    @SysLog("供应商查询操作")
    @RequestMapping("/providerList")
    public DataGridViewResult providerList(ProviderVO providerVO) {
        //创建分页信息    参数1 当前页  参数2 每页显示条数
        IPage<Provider> page = new Page<>(providerVO.getPage(), providerVO.getLimit());
        QueryWrapper<Provider> queryWrapper = new QueryWrapper<>();
        queryWrapper.like(!StringUtils.isEmpty(providerVO.getProvidername()),"providername", providerVO.getProvidername());
        queryWrapper.like(!StringUtils.isEmpty(providerVO.getTelephone()),"telephone", providerVO.getTelephone());
        IPage<Provider> providerIPage = providerService.page(page, queryWrapper);
        /**
         * logsIPage.getTotal() 总条数
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
        /**
         * logsIPage.getTotal() 总条数
         * logsIPage.getRecords() 分页记录列表
         */
        return new DataGridViewResult(providerIPage.getTotal(),providerIPage.getRecords());
    }
    /**
     * 供应商批量删除
     * @param ids
     * @return
     */
    @SysLog("供应商删除操作")
    @RequestMapping("/deleteList")
    public Result deleteList(String ids) {
        //将字符串拆分成数组
        String[] idsStr = ids.split(",");
        List<String> list = Arrays.asList(idsStr);
        boolean bool = providerService.removeByIds(list);
        if(bool){
            return Result.success(true,"200","删除成功!");
        }
        return Result.error(false,null,"删除失败!");
    }
    /**
     * 添加供应商信息
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
     * @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();
            request.getSession().setAttribute("username", userDTO.getUser());
            return Result.success(true, "200", "登录成功");
        } catch (UnknownAccountException e) {
            e.printStackTrace();
            return Result.error(false, "400", "登录失败,用户名不存在");
        }catch (IncorrectCredentialsException e) {
            e.printStackTrace();
            return Result.error(false, "400", "登录失败,密码错误");
        }catch (AuthenticationException e) {
            e.printStackTrace();
            return Result.error(false, "400", "登录失败,账户禁用");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/412602
推荐阅读
相关标签
  

闽ICP备14008679号