基于springboot的资产管理系统

简介: 该系统创作于2022年4月,包含详细数据库设计。基于springboot技术,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:资产、公司OA、企业资产等。

项目介绍:



该系统创作于2022年4月,包含详细数据库设计。基于springboot技术,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:资产、公司OA、企业资产等。


项目功能:



管理员功能:
登录功能
用户管理:增加、修改、删除,查询员工信息
财务人员管理:增加、修改、删除,查询财务人员信息
资产管理:
  资产购置:新增资产购置记录,修改或者删除记录
  资产录入:进行录入,修改或者删除
  资产库存管理:维护库存信息
  资产领用管理:查询领用信息,审核领用信息
  资产归还管理:查询归还记录
资产盘点:
  资产盘点:查询资产情况,建议使用图表方式(比如折线图、饼状图等),展示资产的使用和利用情况
  资产维修管理:新增维护记录,修改,删除,查询记录
  资产折旧管理:新增折旧记录,修改,删除,查询记录
  资产报废管理:新增报废记录,修改,删除,查询记录
财务人员功能:
登录功能
资产管理:
  资产购置:新增资产购置记录,修改或者删除记录
  资产录入:进行录入,修改或者删除
  资产库存管理:维护库存信息
  资产领用管理:查询领用信息,审核领用信息
  资产归还管理:查询归还记录
资产盘点:
  资产盘点:查询资产情况,建议使用图表方式(比如折线图、饼状图等),展示资产的使用和利用情况
  资产维修管理:新增维护记录,修改,删除,查询记录
  资产折旧管理:新增折旧记录,修改,删除,查询记录
  资产报废管理:新增报废记录,修改,删除,查询记录
用户功能:
登录功能
资产信息:查询所有已录入的资产信息,已经库存状况,可以提交领用申请
资产领用管理:查询自己的领用申请,删除申请,已领用的可进行归还
资产归还管理:查看归还信息
物资借用申请:申请物资信息(比如打印机、固定资产等),修改、删除,查询信息
用户设备管理:管理设备信息
以上有修改,下面是修改部分:
资产管理员
1.资产库存、资产购置、资产领用、资产归还、资产维修、资产折旧、资产报废等都加入导出到表格的小功能点(同资产录入)
资产管理领导(新增的角色)
1.审批:之前的资产购置审批流程为资产管理员提出购置申请,系统管理员在资产管理进行审批,现在取消系统管理员的那个功能,再新增一个叫做资产管理领导的角色,由这个领导进行对资产购置的审批,以及折旧、维修、报废的二次审批(之前是由员工提出资产管理员审批,或是资产管理员直接提出,现再后边加入资产管理领导的角色进行第二轮审批)
2.资产管理领导进行审批,同时也具有部分资产管理员的功能,比如:资产购置、资产折旧、资产报废和资产维修
系统管理员
系统管理员不再有资产管理的审批功能,下属功能只有员工管理、资产管理员管理、资产管理领导管理、管理员管理


数据库表结构文档:



0af0265f75554aea9ee0cd75bf3aac8c.png


系统包含技术:



后端:springboot、mybatis

前端:layui,js,css等

开发工具:idea

数据库:mysql 5.7

JDK版本:jdk1.8


部分截图说明:



下面是登录注册


8150c95bac764353bac52b991c70e525.png


系统管理员-首页


a183eb58003d4f14b0381df8b54d9f7b.png


系统管理员对员工管理


c18ddc11341a4b7baf8bba7da30acae9.png


系统管理员管理资产管理领导


6685343562dc4521b3b1e0ddfd95595f.png


资产管理领导资产购置


ea7dbbe1aca14f1e95f6713f5cded581.png


资产管理领导对资产维修管理


f0e9215b7b9a43118a54a1d61fe99a3c.png


资产管理领导对资产折旧维护


b2bc2b4355e042fbb5ef05284c14e9cd.png


 资产管理员对资产库存维护


d80002d229304c279ab6b5e9a580e4ce.png


资产管理员-资产盘点


2926dfc8266c4049aeb9014b539509c5.png


员工查看个人信息


e91035fa570548838fbf45c1cc6863e4.png


部分代码:



拦截器


 @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession();
        if(session.getAttribute("ad") != null){
            return true;
        }
        // 不符合条件的给出提示信息,并转发到主页面
        request.setAttribute("msg", "您还没有登录,请先登录!");
        request.getRequestDispatcher("/gologin.jsp").forward(request, response);
        //返回true通过,返回false拦截
        return false;
    }


资产操作


/**
     * 分页查询
     * pageIndex 当前页码
     * pageSize  显示条数
     */
    @RequestMapping(value = "/findAssets")
    public String findAssets(Integer pageIndex, Integer pageSize,String no,String name, Model model,HttpServletRequest request) {
        HttpSession session = request.getSession();
        if(session.getAttribute("ad") == null){
            session.setAttribute("msg", "对不起,请登录!");
            return "login";
        }
        Map mp = new HashMap();
        String type = (String)session.getAttribute("type");
        if(type.equals("02")){
            Manage manage = (Manage)session.getAttribute("ad");
            mp.put("mid",manage.getId());
        }
        mp.put("no",no);
        mp.put("name",name);
        PageInfo<Assets> pageList = assetsService.findPageInfo(pageIndex,pageSize,mp);
        model.addAttribute("pageList",pageList);
        return "AssetsList";
    }
    /**
     * 分页查询
     * pageIndex 当前页码
     * pageSize  显示条数
     */
    @RequestMapping(value = "/findAssets2")
    public String findAssets2(Integer pageIndex, Integer pageSize,String no,String name, Model model,HttpServletRequest request) {
        HttpSession session = request.getSession();
        if(session.getAttribute("ad") == null){
            session.setAttribute("msg", "对不起,请登录!");
            return "login";
        }
        Map mp = new HashMap();
        String type = (String)session.getAttribute("type");
        if(type.equals("02")){
            Manage manage = (Manage)session.getAttribute("ad");
            mp.put("mid",manage.getId());
        }
        mp.put("no",no);
        mp.put("name",name);
        PageInfo<Assets> pageList = assetsService.findPageInfo(pageIndex,pageSize,mp);
        model.addAttribute("pageList",pageList);
        return "AssetsList2";
    }
    /**
     * 添加
     */
    @RequestMapping(value = "/addAssets" ,method = RequestMethod.POST)
    @ResponseBody
    public String addAssets( @RequestBody Assets assets,HttpServletRequest request) {
        try{
            HttpSession session = request.getSession();
            if(session.getAttribute("ad") == null){
                session.setAttribute("msg", "对不起,请登录!");
                return "login";
            }
            List<Assets> all = assetsService.getAll();
            for(int i=0;i<all.size();i++){
                if(all.get(i).getNo().equals(assets.getNo())){
                    return "202";
                }
            }
            Manage manage = (Manage)session.getAttribute("ad");
            assets.setMid(manage.getId());
            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            assets.setCreateTime(sf.format(new Date()));
            assetsService.addAssets(assets);
            return "200";
        }catch (Exception e){
            e.printStackTrace();
            return "201";
        }
    }
    /**
     * 导出excel
     */
    @RequestMapping("/downExcel")
    public void downExcel(HttpServletRequest request, HttpServletResponse response) throws Exception{
        HttpSession session = request.getSession();
        String type = (String)session.getAttribute("type");
        List<Assets> assetsList = new ArrayList<>();
        if(type.equals("02")){
            Manage manage = (Manage)session.getAttribute("ad");
            Map mp = new HashMap();
            mp.put("mid",manage.getId());
            assetsList = assetsService.queryFilter(mp);
            for(int i=0;i<assetsList.size();i++){
                if(assetsList.get(i).getMid()!=null){
                    Manage manageById = manageService.findManageById(assetsList.get(i).getMid());
                    assetsList.get(i).setMname(manageById.getName());
                }
                if(assetsList.get(i).getStatus().equals("01")){
                    assetsList.get(i).setStatus("已申请");
                }
                if(assetsList.get(i).getStatus().equals("02")){
                    assetsList.get(i).setStatus("已同意");
                }
                if(assetsList.get(i).getStatus().equals("03")){
                    assetsList.get(i).setStatus("已拒绝");
                }
            }
        }
        String[] columnNames = { "ID","资产编号","资产型号","资产名称","单价", "生产厂商", "生产日期", "入库时间", "购买人", "购买人",  "资产类型",  "状态",  "创建时间"};
        String fileName = "资产信息表";
        ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
        exportExcelUtil.mtyExcel(fileName, fileName, columnNames, assetsList, response, ExportExcelUtil.EXCEL_FILE_2003);
    }
    /**
     * 删除
     */
    @RequestMapping( "/deleteAssets")
    @ResponseBody
    public String deleteAssets(String id) {
        int d = assetsService.deleteAssets(id);
        return "AssetsList";
    }
    /**
     * 修改
     */
    @RequestMapping( "/updateAssets")
    @ResponseBody
    public String updateAssets(@RequestBody  Assets assets) {
        try{
            List<Assets> all = assetsService.getAll();
            for(int i=0;i<all.size();i++){
                if(all.get(i).getNo().equals(assets.getNo()) && !all.get(i).getId().equals(assets.getId())){
                    return "202";
                }
            }
            assetsService.updateAssets(assets);
            return "200";
        }catch (Exception e){
            e.printStackTrace();
            return "201";
        }
    }
    /**
     * 按照ID查询
     */
    @RequestMapping( "/findAssetsById")
    @ResponseBody
    public Assets findAssetsById(String id,Model model,HttpServletRequest request) {
        Assets assets= assetsService.findAssetsById(id);
        return assets;
    }


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


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

相关文章
|
3月前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的服装商城管理系统
基于Java+Springboot+Vue开发的服装商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的服装商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
193 2
基于Java+Springboot+Vue开发的服装商城管理系统
|
1月前
|
XML Java 数据库连接
SpringBoot集成Flowable:打造强大的工作流管理系统
在企业级应用开发中,工作流管理是一个核心组件,它能够帮助我们定义、执行和管理业务流程。Flowable是一个开源的工作流和业务流程管理(BPM)平台,它提供了强大的工作流引擎和建模工具。结合SpringBoot,我们可以快速构建一个高效、灵活的工作流管理系统。本文将探讨如何将Flowable集成到SpringBoot应用中,并展示其强大的功能。
267 1
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
2月前
|
存储 安全 Java
打造智能合同管理系统:SpringBoot与电子签章的完美融合
【10月更文挑战第7天】 在数字化转型的浪潮中,电子合同管理系统因其高效、环保和安全的特点,正逐渐成为企业合同管理的新宠。本文将分享如何利用SpringBoot框架实现一个集电子文件签字与合同管理于一体的智能系统,探索技术如何助力合同管理的现代化。
119 4
|
2月前
|
前端开发 Java Apache
SpringBoot实现电子文件签字+合同系统!
【10月更文挑战第15天】 在现代企业运营中,合同管理和电子文件签字成为了日常活动中不可或缺的一部分。随着技术的发展,电子合同系统因其高效性、安全性和环保性,逐渐取代了传统的纸质合同。本文将详细介绍如何使用SpringBoot框架实现一个电子文件签字和合同管理系统。
122 1
|
3月前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的大学竞赛报名管理系统
基于Java+Springboot+Vue开发的大学竞赛报名管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的大学竞赛报名管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
239 3
基于Java+Springboot+Vue开发的大学竞赛报名管理系统
|
2月前
|
文字识别 安全 Java
SpringBoot3.x和OCR构建车牌识别系统
本文介绍了一个基于Java SpringBoot3.x框架的车牌识别系统,详细阐述了系统的设计目标、需求分析及其实现过程。利用Tesseract OCR库和OpenCV库,实现了车牌图片的识别与处理,确保系统的高准确性和稳定性。文中还提供了具体的代码示例,展示了如何构建和优化车牌识别服务,以及如何处理特殊和异常车牌。通过实际应用案例,帮助读者理解和应用这一解决方案。
|
3月前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的蛋糕商城管理系统
基于Java+Springboot+Vue开发的蛋糕商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的蛋糕商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
200 3
基于Java+Springboot+Vue开发的蛋糕商城管理系统
|
3月前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的美容预约管理系统
基于Java+Springboot+Vue开发的美容预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的美容预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
65 3
基于Java+Springboot+Vue开发的美容预约管理系统
|
3月前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)