计算机Java项目|基于SpringBoot+Vue的常规应急物资管理系统的设计与实现

作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与各位高校教师、企业讲师以及同行交流合作

主要内容:Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、简历模板、学习资料、面试题库、技术互助、就业指导等

业务范围:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路等

收藏点赞不迷路  关注作者有好处

文末获取源码 

项目编号:L-BS-QBBSSPRINGBOOT-192

一,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

技术:springboot+mysql+html+java

二,项目简介

当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前相关行业对于常规应急物资信息的管理和控制,采用人工登记的方式保存相关数据,这种以人力为主的管理模式已然落后。本人结合使用主流的程序开发技术,设计了一款基于SpringBoot+Vue的常规应急物资管理系统,可以较大地减少人力、财力的损耗,方便相关人员及时更新和保存信息。本常规应急物资管理系统是建立在B/S模式的基础之上,通过使用idea平台上编写相关的Java代码,实现对系统的功能模块的设计,使用MySQL数据库设计相关的数据表,实现对系统数据资源的管理和控制,使用SSM框架创建相关的项目主流架构,实现系统的基本框架搭建,最后再通过使用Tomcat浏览器将所研发的系统发布到网上,便于相关的用户运行和使用本系统。本文对系统进行实现的可行性分析,设计的功能及数据库规划,以及设计的主要功能模块测试等内容做了较为详细的介绍,并且在本文中也展示了系统主要的功能模块设计界面和操作界面,并对其做出了必要的解释说明,方便用户对系统进行操作和使用,以及后期的相关人员对系统进行更新和维护。本系统的实现可以极大地提高相关行业的工作效率,提升用户的使用体验,因此在现实生活中运用本系统具有很大的使用价值。

系统的总体功能设计阶段,是通过结合系统分析阶段的相关内容,对系统的整体功能设计进行规划的过程。系统的总体功能设计是系统详细功能设计的一个大方向,也就是说系统的各类子功能模块的设计,都是以总体功能设计为目标而进行的。通过对系统进行需求分析可知,可以大致了解系统具体所需要的相关的主要功能模块。本系统主要的功能需求包括物资信息管理、物资运输管理等模块。

三,系统展示

3.1管理员角色功能设计

3.1.1管理员首页

通过设计的首页功能模块,管理用户可以成功登录系统,并且选择点击相关的功能模块按钮,操作和实现自己所需要的功能,管理员首页解饿设计如图3-1所示。

图3-1管理员首页界面

本功能模块的核心代码如下:

/**

        * 登录

        */

       @IgnoreAuth

       @PostMapping(value = "/login")

       public R login(String username, String password, String captcha, HttpServletRequest request) {

              UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));

              if(user==null || !user.getPassword().equals(password)) {

                     return R.error("账号或密码不正确");

              }

              String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());

              R r = R.ok();

              r.put("token", token);

              r.put("role",user.getRole());

              r.put("userId",user.getId());

              return r;

       }

/**

     * 列表

     */

    @RequestMapping("/page")

    public R page(@RequestParam Map<String, Object> params,UsersEntity user){

        EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();

           PageUtils page = usersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));

        return R.ok().put("data", page);

}

3.1.2个人中心

通过设计的个人中心功能模块,管理用户可以选择修改账号密码,查看个人资料信息,通过不定期的对个人账户密码进行更新,保障个人信息安全,修改密码界面设计如图3-1所示,个人信息界面设计如图3-2所示。

图3-1修改密码界面

图3-2个人信息界面

本功能模块的核心代码如下:

/**

     * 密码重置

     */

    @IgnoreAuth

       @RequestMapping(value = "/resetPass")

    public R resetPass(String username, HttpServletRequest request){

           UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));

           if(user==null) {

                  return R.error("账号不存在");

           }

           user.setPassword("123436");

        usersService.update(user,null);

        return R.ok("密码已重置为:123436");

}

/**

     * 信息

     */

    @RequestMapping("/info/{id}")

    public R info(@PathVariable("id") String id){

        UsersEntity user = usersService.selectById(id);

        return R.ok().put("data", user);

}

3.1.3健康打卡管理

通过设计的健康打卡管理功能模块,管理用户可以管理相关的健康打卡信息记录,比如进行查看健康打卡的详细信息,修改健康打卡的日期信息,删除已经失效的健康打卡信息记录等操作,健康打卡管理界面设计如图3-3所示。

图3-3健康打卡管理界面

本功能模块的核心代码如下:

 /**

    * 健康打卡后端修改

    */

    @RequestMapping("/update")

    public R update(@RequestBody DakaEntity daka, HttpServletRequest request){

        logger.debug("update方法:,,Controller:{},,daka:{}",this.getClass().getName(),daka.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));

//        if(false)

//            return R.error(311,"永远不会进入");

//        else if("用户".equals(role))

//            daka.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));

        //根据字段查询是否有相同数据

        Wrapper<DakaEntity> queryWrapper = new EntityWrapper<DakaEntity>()

            .notIn("id",daka.getId())

            .andNew()

            .eq("yonghu_id", daka.getYonghuId())

            .eq("insert_time", new SimpleDateFormat("yyyy-MM-dd").format(daka.getInsertTime()))

            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());

        DakaEntity dakaEntity = dakaService.selectOne(queryWrapper);

        if(dakaEntity==null){

            dakaService.updateById(daka);//根据id更新

            return R.ok();

        }else {

            return R.error(311,"表中有相同数据");

        }

    }

3.1.4基础数据管理

通过设计的基础数据管理功能模块,管理用户可以管理相关的物资类型信息记录,比如进行查看物资类型的详细信息,修改物资类型的名称信息,删除已经失效的物资类型信息记录等操作,物资类型管理界面设计如图3-4所示。

图3-4物资类型管理界面

本功能模块的核心代码如下:

 /**

    * 基础数据后端修改

    */

    @RequestMapping("/update")

    public R update(@RequestBody DictionaryEntity dictionary, HttpServletRequest request){

        logger.debug("update方法:,,Controller:{},,dictionary:{}",this.getClass().getName(),dictionary.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));

//        if(false)

//            return R.error(311,"永远不会进入");

        //根据字段查询是否有相同数据

        Wrapper<DictionaryEntity> queryWrapper = new EntityWrapper<DictionaryEntity>()

            .notIn("id",dictionary.getId())

            .eq("dic_code", dictionary.getDicCode())

            .eq("index_name", dictionary.getIndexName())

            ;

        if(dictionary.getDicCode().contains("_erji_types")){

            queryWrapper.eq("super_id",dictionary.getSuperId());

        }

        logger.info("sql语句:"+queryWrapper.getSqlSegment());

        DictionaryEntity dictionaryEntity = dictionaryService.selectOne(queryWrapper);

        if(dictionaryEntity==null){

            dictionaryService.updateById(dictionary);//根据id更新

            //如果字典表修改数据的话,把数据再重新查出,放入监听器中

            List<DictionaryEntity> dictionaryEntities = dictionaryService.selectList(new EntityWrapper<DictionaryEntity>());

            ServletContext servletContext = request.getServletContext();

            Map<String, Map<Integer,String>> map = new HashMap<>();

            for(DictionaryEntity d :dictionaryEntities){

                Map<Integer, String> m = map.get(d.getDicCode());

                if(m ==null || m.isEmpty()){

                    m = new HashMap<>();

                }

                m.put(d.getCodeIndex(),d.getIndexName());

                map.put(d.getDicCode(),m);

            }

            servletContext.setAttribute("dictionaryMap",map);

            return R.ok();

        }else {

            return R.error(311,"表中有相同数据");

        }

}

3.1.3物资管理

通过设计的物资管理功能模块,管理用户可以管理相关的物资信息记录,比如进行查看物资的详细信息,修改物资的库存信息,删除已经失效的物资信息记录等操作,物资管理界面设计如图3-3所示。

图3-3物资管理界面

本功能模块的核心代码如下:

/**

    * 物资后端修改

    */

    @RequestMapping("/update")

    public R update(@RequestBody WuziEntity wuzi, HttpServletRequest request){

        logger.debug("update方法:,,Controller:{},,wuzi:{}",this.getClass().getName(),wuzi.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));

//        if(false)

//            return R.error(311,"永远不会进入");

        //根据字段查询是否有相同数据

        Wrapper<WuziEntity> queryWrapper = new EntityWrapper<WuziEntity>()

            .notIn("id",wuzi.getId())

            .andNew()

            .eq("wuzi_name", wuzi.getWuziName())

            .eq("wuzi_types", wuzi.getWuziTypes())

            .eq("wuzi_kucun_number", wuzi.getWuziKucunNumber())

            .eq("wuzi_danwei", wuzi.getWuziDanwei())

            .eq("wuzi_delete", wuzi.getWuziDelete())

            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());

        WuziEntity wuziEntity = wuziService.selectOne(queryWrapper);

        if("".equals(wuzi.getWuziPhoto()) || "null".equals(wuzi.getWuziPhoto())){

                wuzi.setWuziPhoto(null);

        }

        if(wuziEntity==null){

            wuziService.updateById(wuzi);//根据id更新

            return R.ok();

        }else {

            return R.error(311,"表中有相同数据");

        }

}

3.1.6物资申请管理

通过设计的物资申请管理功能模块,管理用户可以管理相关的物资申请信息记录,比如进行查看物资申请的详细信息,修改物资的申请时间信息,删除已经失效的物资申请信息记录等操作,物资申请管理界面设计如图3-6所示。

图3-6物资申请管理界面

本功能模块的核心代码如下:

/**

    * 物资申请后端保存

    */

    @RequestMapping("/save")

    public R save(@RequestBody WuzishenqingEntity wuzishenqing, HttpServletRequest request){

        logger.debug("save方法:,,Controller:{},,wuzishenqing:{}",this.getClass().getName(),wuzishenqing.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));

        if(false)

            return R.error(311,"永远不会进入");

        else if("用户".equals(role))

            wuzishenqing.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));

            wuzishenqing.setInsertTime(new Date());

            wuzishenqing.setWuzishenqingYesnoTypes(1);

            wuzishenqing.setCreateTime(new Date());

            wuzishenqingService.insert(wuzishenqing);

            return R.ok();

    }

    /**

    * 物资申请后端修改

    */

    @RequestMapping("/update")

    public R update(@RequestBody WuzishenqingEntity wuzishenqing, HttpServletRequest request){

        logger.debug("update方法:,,Controller:{},,wuzishenqing:{}",this.getClass().getName(),wuzishenqing.toString());

            wuzishenqingService.updateById(wuzishenqing);//根据id更新

            return R.ok();

}

3.1.7物资运输管理

通过设计的物资运输管理功能模块,管理用户可以管理相关的物资运输信息记录,比如进行查看物资运输的详细信息,修改物资运输的当前状态信息,删除已经失效的物资运输信息记录等操作,物资运输管理界面设计如图3-7所示。

图3-7物资运输管理界面

本功能模块的核心代码如下:

 /**

    * 物资运输后端保存

    */

    @RequestMapping("/save")

    public R save(@RequestBody WuziyunshuEntity wuziyunshu, HttpServletRequest request){

        logger.debug("save方法:,,Controller:{},,wuziyunshu:{}",this.getClass().getName(),wuziyunshu.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));

        if(false)

            return R.error(311,"永远不会进入");

            wuziyunshu.setUpdateTime(new Date());

            wuziyunshu.setInsertTime(new Date());

            wuziyunshu.setCreateTime(new Date());

            wuziyunshuService.insert(wuziyunshu);

            return R.ok();

    }

    /**

    * 物资运输后端修改

    */

    @RequestMapping("/update")

    public R update(@RequestBody WuziyunshuEntity wuziyunshu, HttpServletRequest request){

        logger.debug("update方法:,,Controller:{},,wuziyunshu:{}",this.getClass().getName(),wuziyunshu.toString());

        wuziyunshu.setUpdateTime(new Date());

            wuziyunshuService.updateById(wuziyunshu);//根据id更新

            return R.ok();

}

3.1.8用户管理

通过设计的用户管理功能模块,管理用户可以管理相关的用户信息资料,比如进行查看用户的详细资料,修改用户的联系方式,删除已经注销的用户信息记录等操作,用户管理界面设计如图3-8所示。

图3-8用户管理界面

本功能模块的核心代码如下:

/**

    * 用户后端修改

    */

    @RequestMapping("/update")

    public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){

        logger.debug("update方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));

//        if(false)

//            return R.error(311,"永远不会进入");

        //根据字段查询是否有相同数据

        Wrapper<YonghuEntity> queryWrapper = new EntityWrapper<YonghuEntity>()

            .notIn("id",yonghu.getId())

            .andNew()

            .eq("username", yonghu.getUsername())

            .or()

            .eq("yonghu_phone", yonghu.getYonghuPhone())

            .or()

            .eq("yonghu_id_number", yonghu.getYonghuIdNumber())

            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());

        YonghuEntity yonghuEntity = yonghuService.selectOne(queryWrapper);

        if("".equals(yonghu.getYonghuPhoto()) || "null".equals(yonghu.getYonghuPhoto())){

                yonghu.setYonghuPhoto(null);

        }

        if(yonghuEntity==null){

            yonghuService.updateById(yonghu);//根据id更新

            return R.ok();

        }else {

            return R.error(311,"账户或者用户手机号或者用户身份证号已经被使用");

        }

}

3.1.9部门管理

通过设计的部门管理功能模块,管理用户可以管理相关的部门信息记录,比如进行查看部门的详细信息,修改部门的职责信息,删除已经失效的部门信息记录等操作,部门管理界面设计如图3-9所示。

图3-9部门管理界面

本功能模块的核心代码如下:

 /**

    * 部门后端修改

    */

    @RequestMapping("/update")

    public R update(@RequestBody BumenEntity bumen, HttpServletRequest request){

        logger.debug("update方法:,,Controller:{},,bumen:{}",this.getClass().getName(),bumen.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));

//        if(false)

//            return R.error(311,"永远不会进入");

        //根据字段查询是否有相同数据

        Wrapper<BumenEntity> queryWrapper = new EntityWrapper<BumenEntity>()

            .notIn("id",bumen.getId())

            .andNew()

            .eq("bumen_name", bumen.getBumenName())

            .eq("bumen_zhize", bumen.getBumenZhize())

            .eq("bumen_number", bumen.getBumenNumber())

            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());

        BumenEntity bumenEntity = bumenService.selectOne(queryWrapper);

        if(bumenEntity==null){

            bumenService.updateById(bumen);//根据id更新

            return R.ok();

        }else {

            return R.error(311,"表中有相同数据");

        }

    }

3.2用户功能设计

3.2.1用户首页

通过设计的首页功能模块,管理用户可以成功登录系统,并且选择点击相关的功能模块按钮,操作和实现自己所需要的功能,管理员首页解饿设计如图3-10所示。

图3-10用户首页界面

本功能模块的核心代码如下:

/**

    * 首页后端保存

    */

    @RequestMapping("/save")

    public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){

        logger.debug("save方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));

        if(false)

            return R.error(311,"永远不会进入");

        Wrapper<YonghuEntity> queryWrapper = new EntityWrapper<YonghuEntity>()

            .eq("username", yonghu.getUsername())

            .or()

            .eq("yonghu_phone", yonghu.getYonghuPhone())

            .or()

            .eq("yonghu_id_number", yonghu.getYonghuIdNumber())

            ;

 logger.info("sql语句:"+queryWrapper.getSqlSegment());

        YonghuEntity yonghuEntity = yonghuService.selectOne(queryWrapper);

        if(yonghuEntity==null){

            yonghu.setCreateTime(new Date());

            yonghu.setPassword("123436");

            yonghuService.insert(yonghu);

            return R.ok();

        }else {

            return R.error(311,"账户或者用户手机号或者用户身份证号已经被使用");

        }

    }

3.2.2个人中心

通过设计的个人中心管理功能模块,用户可以选择查看个人资料信息,选择更新个人相关的资料信息记录;也可以选择修改账号密码,通过不定期的对个人账户密码进行更新,保障个人信息安全,修改密码界面设计如图3-11所示,个人信息界面设计如图3-12所示。

图3-11修改密码界面

图3-12个人信息界面

本功能模块的核心代码如下:

//查询是否重复

                         //账户

                        List<YonghuEntity> yonghuEntities_username = yonghuService.selectList(new EntityWrapper<YonghuEntity>().in("username", seachFields.get("username")));

                        if(yonghuEntities_username.size() >0 ){

                            ArrayList<String> repeatFields = new ArrayList<>();

                            for(YonghuEntity s:yonghuEntities_username){

                                repeatFields.add(s.getUsername());

                            }

                            return R.error(311,"数据库的该表中的 [账户] 字段已经存在 存在数据为:"+repeatFields.toString());

                        }

                         //用户手机号

                        List<YonghuEntity> yonghuEntities_yonghuPhone = yonghuService.selectList(new EntityWrapper<YonghuEntity>().in("yonghu_phone", seachFields.get("yonghuPhone")));

                        if(yonghuEntities_yonghuPhone.size() >0 ){

                            ArrayList<String> repeatFields = new ArrayList<>();

                            for(YonghuEntity s:yonghuEntities_yonghuPhone){

                                repeatFields.add(s.getYonghuPhone());

                            }

                            return R.error(311,"数据库的该表中的 [用户手机号] 字段已经存在 存在数据为:"+repeatFields.toString());

                        }

                         //用户身份证号

                        List<YonghuEntity> yonghuEntities_yonghuIdNumber = yonghuService.selectList(new EntityWrapper<YonghuEntity>().in("yonghu_id_number", seachFields.get("yonghuIdNumber")));

                        if(yonghuEntities_yonghuIdNumber.size() >0 ){

                            ArrayList<String> repeatFields = new ArrayList<>();

                            for(YonghuEntity s:yonghuEntities_yonghuIdNumber){

                                repeatFields.add(s.getYonghuIdNumber());

                            }

                            return R.error(311,"数据库的该表中的 [用户身份证号] 字段已经存在 存在数据为:"+repeatFields.toString());

                        }

                        yonghuService.insertBatch(yonghuList);

                        return R.ok();

                    }

3.2.3健康打卡管理

通过设计的健康打卡管理功能模块,用户可以管理相关的健康打卡信息记录,比如进行查看健康打卡的详细信息,修改健康打卡的日期信息,删除已经失效的健康打卡信息记录等操作,健康打卡管理界面设计如图3-13所示。

图3-13健康打卡管理界面

本功能模块的核心代码如下:

/**

    * 健康打卡后端详情

    */

    @RequestMapping("/info/{id}")

    public R info(@PathVariable("id") Long id, HttpServletRequest request){

        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);

        DakaEntity daka = dakaService.selectById(id);

        if(daka !=null){

            //entity转view

            DakaView view = new DakaView();

            BeanUtils.copyProperties( daka , view );//把实体数据重构到view中

                //级联表

                YonghuEntity yonghu = yonghuService.selectById(daka.getYonghuId());

                if(yonghu != null){

                    BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段

                    view.setYonghuId(yonghu.getId());

                }

            //修改对应字典表字段

            dictionaryService.dictionaryConvert(view, request);

            return R.ok().put("data", view);

        }else {

            return R.error(311,"查不到数据");

        }

}

3.2.4物资管理

通过设计的物资管理功能模块,管理用户可以查看相关的物资信息记录,可以查到物资名称、物资图片、物资类型、物资库存等详细信息,物资管理界面设计如图3-14所示。

图3-14物资管理界面

本功能模块的核心代码如下:

/**

    * 物资后端详情

    */

    @RequestMapping("/info/{id}")

    public R info(@PathVariable("id") Long id, HttpServletRequest request){

        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);

        WuziEntity wuzi = wuziService.selectById(id);

        if(wuzi !=null){

            //entity转view

            WuziView view = new WuziView();

            BeanUtils.copyProperties( wuzi , view );//把实体数据重构到view中

            //修改对应字典表字段

            dictionaryService.dictionaryConvert(view, request);

            return R.ok().put("data", view);

        }else {

            return R.error(311,"查不到数据");

        }

}

3.2.3物资申请管理

通过设计的物资申请管理功能模块,用户可以管理相关的物资申请信息记录,比如进行查看物资申请的详细信息,新增相关的物资申请信息记录,物资申请管理界面设计如图3-13所示。

图3-13物资申请管理界面

本功能模块的核心代码如下:

/**

    * 物资申请后端详情

    */

    @RequestMapping("/info/{id}")

    public R info(@PathVariable("id") Long id, HttpServletRequest request){

        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);

        WuzishenqingEntity wuzishenqing = wuzishenqingService.selectById(id);

        if(wuzishenqing !=null){

            //entity转view

            WuzishenqingView view = new WuzishenqingView();

            BeanUtils.copyProperties( wuzishenqing , view );//把实体数据重构到view中

                //级联表

                WuziEntity wuzi = wuziService.selectById(wuzishenqing.getWuziId());

                if(wuzi != null){

                    BeanUtils.copyProperties( wuzi , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段

                    view.setWuziId(wuzi.getId());

                }

                //级联表

                YonghuEntity yonghu = yonghuService.selectById(wuzishenqing.getYonghuId());

                if(yonghu != null){

                    BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段

                    view.setYonghuId(yonghu.getId());

                }

            //修改对应字典表字段

            dictionaryService.dictionaryConvert(view, request);

            return R.ok().put("data", view);

        }else {

            return R.error(311,"查不到数据");

        }

}

3.2.6物资运输管理

通过设计的物资运输管理功能模块,用户可以查看相关的物资运输信息记录,比如查到物资名称、物资图片、单位、运输数量、当前状态等详细信息,物资运输管理界面设计如图3-16所示。

图3-16物资运输管理界面

本功能模块的核心代码如下:

 /**

    * 物资运输后端详情

    */

    @RequestMapping("/info/{id}")

    public R info(@PathVariable("id") Long id, HttpServletRequest request){

        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);

        WuziyunshuEntity wuziyunshu = wuziyunshuService.selectById(id);

        if(wuziyunshu !=null){

            //entity转view

            WuziyunshuView view = new WuziyunshuView();

            BeanUtils.copyProperties( wuziyunshu , view );//把实体数据重构到view中

                //级联表

                WuziEntity wuzi = wuziService.selectById(wuziyunshu.getWuziId());

                if(wuzi != null){

                    BeanUtils.copyProperties( wuzi , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段

                    view.setWuziId(wuzi.getId());

                }

            //修改对应字典表字段

            dictionaryService.dictionaryConvert(view, request);

            return R.ok().put("data", view);

        }else {

            return R.error(311,"查不到数据");

        }

    }

四,核心代码展示

五,相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目

基于Nodejs、Vue等前端技术开发的前端实战项目

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

 

 

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_469603589

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值