基于springboot+vue的教材管理系统(前后端分离)

发布时间:2023年12月27日

博主主页猫头鹰源码

博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

项目介绍:?

本系统为原创项目,采用前后端分离,项目代码工整,结构清晰,适合选题:教材、教材管理、前后端分离类其他教材等。系统采用springboot+vue整合开发,前端主要使用了element-ui框架、项目后端主要使用了springboot,数据层采用mybatis。

部分功能:

用户管理、教材信息管理、教材需求管理、教材采购管理、教材库存管理、教材领取管理、教材报损管理、通知管理

系统包含技术:

后端:springboot,mybatis
前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

下面是登录

首页统计信息

用户管理

教材信息管理

采购教材

库存管理

领取教材

部分代码:

@PostMapping("selectAll")
    public PageInfo<Damage> selectAll(@RequestBody Map<String,String> mp) {
        PageHelper.startPage(Integer.parseInt(mp.get("currentPage").toString()), Integer.parseInt(mp.get("pagesize").toString()));
        List<Damage> list = damageService.queryAllByLimit(mp);
        PageInfo<Damage> pageInfo = new PageInfo<Damage>(list);
        return pageInfo;
    }

    /**
     * 查询所有
     */
    @PostMapping("queryAll")
    public List<Damage> queryAll(@RequestBody Damage damage) {
        List<Damage> list = damageService.queryCondition(damage);
        return list;
    }

    /**
     * 修改
     */
    @RequestMapping("edit")
    public Result edit(@RequestBody Damage damage) {
        try {
            Damage damage1 = damageService.queryById(damage.getId());
            Inventory inventory = new Inventory();
            inventory.setTid(damage.getTid());
            List<Inventory> inventories = inventoryService.queryCondition(inventory);
            Inventory inventory2 = new Inventory();
            if(inventories.size()>0){
                Inventory inventory1 = inventories.get(0);
                if(damage.getNum()>inventory1.getNum()+damage1.getNum()){
                    return Result.error("库存不足,请重试");
                }
                inventory2.setId(inventory1.getId());
                inventory2.setNum(inventory1.getNum()+damage1.getNum()-damage.getNum());
            }else{
                return Result.error("库存无该教材,请重试");
            }
            inventoryService.update(inventory2);
            damageService.update(damage);
            return Result.success("修改成功");
        }catch (Exception e){
            e.printStackTrace();
            return Result.error("修改失败");
        }
    }

    //审批
    @RequestMapping("updateStatus")
    public Result updateStatus(@RequestBody Damage damage) {
        damageService.update(damage);
        if(damage.getStatus().equals("03")){
            Inventory inventory = new Inventory();
            inventory.setTid(damage.getTid());
            List<Inventory> inventories = inventoryService.queryCondition(inventory);
            if(inventories.size()>0){
                inventory.setId(inventories.get(0).getId());
                inventory.setNum(inventories.get(0).getNum()+damage.getNum());
                inventoryService.update(inventory);
            }
        }
        return Result.success("操作成功");
    }

    /**
     * 新增
     */
    @RequestMapping("add")
    public Result add(@RequestBody Damage damage) {
        try {
            Inventory inventory = new Inventory();
            inventory.setTid(damage.getTid());
            List<Inventory> inventories = inventoryService.queryCondition(inventory);
            Inventory inventory2 = new Inventory();
            if(inventories.size()>0){
                Inventory inventory1 = inventories.get(0);
                if(damage.getNum()>inventory1.getNum()){
                    return Result.error("库存不足,请重试");
                }
                inventory2.setId(inventory1.getId());
                inventory2.setNum(inventory1.getNum()-damage.getNum());
            }else{
                return Result.error("库存无该教材,请重试");
            }
            Date date = new Date();
            damage.setCreateTime(date);
            damageService.insert(damage);
            inventoryService.update(inventory2);
            return Result.success("报损成功");
        }catch (Exception e){
            e.printStackTrace();
            return Result.error("报损失败");
        }
    }

    /**
     * 通过主键查询单条数据
     */
    @GetMapping("selectOne")
    public Damage selectOne(Integer id) {
        return damageService.queryById(id);
    }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~

文章来源:https://blog.csdn.net/mtyedu/article/details/135233114
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。