设计内容

结合用户的使用需求,本系统采用运用较为广泛的Java语言,SpringBoot框架,Vue框架等关键技术,并在idea开发平台上设计与研发常规应急物资管理系统。同时,使用MySQL数据库,设计实体-联系图和数据表格,用于更好的存储和管理数据信息的数据仓库。通过使用关键技术研发本系统,并根据需求分析得出用户的主要需求,设计与实现本系统的功能模块。再通过系统测试,主要是功能测试,对系统进行纠错和改进,完善系统的不足之处,使得最后设计出的系统更能够符合使用者的需求。


设计方法及技术路线

本系统基于B/S结构模式,采用idea开发环境,建模工具Visio,以及关系型数据库MySQL。常规应急物资管理系统采用前后端分离的模式进行开发。前端开发负责页面的编写及数据的渲染。后端开发负责提供API(接口)。前后端采用指定的API接口进行交互。开发本系统具体的技术路线如下:

(1)熟练掌握并使用Microsoft Office Visio建模工具,绘制系统相关的工作流程图,实体联系图等。

(2)学习并熟识MySQL数据库的使用,设计系统相关的数据库信息,将其转换为MySQL数据库能够识别和存储的表格形式。

(3)学习并熟识idea开发平台和插件的使用,在平台运行和调试Java代码,并运用tomcat服务器将系统发布到web浏览器中。

(4)运用Java构架来开发系统,设计系统的具体功能模块,完成系统界面的布局,实现系统的优化。

(5)学习并运用功能测试方法,对系统的主要功能进行测试,进一步修改和完善系统的功能模块设计。

预期成果:

本常规应急物资管理系统的主要分为管理员角色和用户角色,主要设计的功能包括注册登录管理、密码信息管理、用户信息管理、物资信息管理等模块。

注册登录管理:使用本系统需要打开浏览器,输入相应的网址,如果用户是首次使用本系统,需要进行注册操作,注册操作需要填写个人身份信息,输入符合要求的密码,确定使用,即完成了注册操作。注册完成后,输入用户的账号和密码,只有账号和密码都正确的情况下,才能成功的登录本系统,并且实现本系统的相关功能操作。

密码信息管理:方便用户对个人的密码信息进行管理,用户通过输入原始密码,再输入新密码,然后再次输入新密码,点击确定即可完成对个人账户密码的修改。通过定时的更新个人账户密码信息,保障个人资料信息的安全。

用户信息管理:方便管理用户对相关的用户信息进行管理,管理用户可以查看到用户编号、姓名、性别、年龄、学历等信息,管理用户可以选择修改、删除相关的用户信息记录。管理用户也可以通过填写用户编号、登录密码、用户名称等信息,添加某位用户信息。

物资信息管理:方便管理用户对相关的物资信息进行管理,管理用户可以查看到物资编号、名称、图片、库存等信息,管理用户可以选择修改、删除相关的物资信息记录。管理用户也可以通过填写物资编号、名称、图片、库存等信息,添加某条物资信息。

基于SpringBoot的常规应急物资管理系统_常规应急物资管理

本功能模块的核心代码如下:
/**
     * 密码重置
     */
    @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("123456");
        usersService.update(user,null);
        return R.ok("密码已重置为:123456");
}
/**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UsersEntity user = usersService.selectById(id);
        return R.ok().put("data", user);
}

基于SpringBoot的常规应急物资管理系统_功能模块_02

本功能模块的核心代码如下:
 /**
    * 健康打卡后端修改
    */
    @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(511,"永远不会进入");
//        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(511,"表中有相同数据");
        }
    }

基于SpringBoot的常规应急物资管理系统_功能模块_03

基于SpringBoot的常规应急物资管理系统_MySQL_04