基于SpringBoot粮仓管理系统的设计与实现

博主主页:一点教程
博主简介:专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。
主要内容:毕业设计,SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Python、Nodejs、小程序、安卓app、大数据等设计与开发

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以和博主沟通,希望帮助更多的人

🍅文末获取联系🍅

一、项目介绍 

粮仓管理系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、粮仓管理、出入库管理、出入库详情管理、出受粮任务管理、粮仓保管员管理、管理员管理。用户的功能包括管理部门以及部门岗位信息,管理粮仓信息,培训信息,薪资信息等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。

二、系统主要技术 

开发语言:Java
 
使用框架:spring boot
 
前端技术:Vue 、css、element-ui、js、html
 
开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code
 
数据库:MySQL 5.7/8.0
 
数据库管理工具:phpstudy/Navicat
 
JDK版本:jdk1.8
 
Maven: apache-maven 3.8.1-bin

三、系统结构设计

图4.1即为设计的管理员功能结构,管理员权限操作的功能包括管理保管员,管理粮仓管理系统信息,包括粮仓管理,培训管理,出收粮任务管理,薪资管理等,可以管理出入库。

四、部分功能展示 

5.1 管理员功能实现

5.1.1 粮仓管理

图5.1 即为编码实现的粮仓管理界面,管理员在粮仓管理界面中可以对界面中显示,可以对粮仓信息的粮仓状态进行查看,可以添加新的粮仓信息等。

图5.1 粮仓管理界面

5.1.2 出收粮任务管理

图5.2 即为编码实现的出收粮任务管理界面,管理员在出收粮任务管理界面中查看奖罚种类信息,奖罚描述信息,新增出收粮任务信息等。

图5.2 出收粮任务管理界面

5.1.3 出入库管理

图5.3 即为编码实现的出入库管理界面,管理员在出入库管理界面中新增出入库,可以删除出入库。

图5.3 出入库管理界面

5.1.4 保管员管理

图5.4 即为编码实现的保管员管理界面,管理员在保管员管理界面查看保管可以添加新保管员的信息,可以编辑保管员信息,删除保管员信息。

图5.4 保管员管理界面

五、文章目录 


摘  要    I
ABSTRACT    II
目  录    III
第1章 绪论    1
1.1 课题背景    1
1.2 课题意义    1
1.3 研究内容    1
第2章 开发环境与技术    3
2.1 JAVA语言    3
2.2 MYSQL数据库    3
2.3 IDEA开发工具    4
2.4 SPRING BOOT框架    4
第3章 系统分析    5
3.1 可行性分析    5
3.1.1 技术可行性    5
3.1.2 经济可行性    5
3.1.3 操作可行性    5
3.2 系统流程    5
3.2.1 操作流程    6
3.2.2 登录流程    6
3.2.3 删除信息流程    7
3.2.4 添加信息流程    7
3.3 性能需求    8
3.4 功能需求    9
第4章 系统设计    10
4.1 系统设计思想    10
4.2 功能结构设计    11
4.3 数据库设计    11
4.3.1 数据库概念设计    11
4.3.2 数据库物理设计    14
第5章 系统实现    16
5.1 管理员功能实现    16
5.1.1 粮仓管理    16
5.1.2 出收粮任务管理    17
5.1.3 出入库管理    17
5.1.4 保管员管理    18
第6章 系统测试    18
6.1 功能测试    19
6.1.1 登录功能测试    19
6.2 系统测试结果    19
结  论    20
致  谢    21
 

六、部分代码实现

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UsersController {
	
	@Autowired
	private UsersService usersService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@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;
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UsersEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        usersService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}

	/**
	 * 修改密码
	 */
	@GetMapping(value = "/updatePassword")
	public R updatePassword(String  oldPassword, String  newPassword, HttpServletRequest request) {
		UsersEntity users = usersService.selectById((Integer)request.getSession().getAttribute("userId"));
		if(newPassword == null){
			return R.error("新密码不能为空") ;
		}
		if(!oldPassword.equals(users.getPassword())){
			return R.error("原密码输入错误");
		}
		if(newPassword.equals(users.getPassword())){
			return R.error("新密码不能和原密码一致") ;
		}
		users.setPassword(newPassword);
		usersService.updateById(users);
		return R.ok();
	}
	
	/**
     * 密码重置
     */
    @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("/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);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UsersEntity user){
       	EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", usersService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UsersEntity user = usersService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Integer id = (Integer)request.getSession().getAttribute("userId");
        UsersEntity user = usersService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UsersEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        usersService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UsersEntity user){
//        ValidatorUtils.validateEntity(user);
        usersService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
		List<UsersEntity> user = usersService.selectList(null);
		if(user.size() > 1){
			usersService.deleteBatchIds(Arrays.asList(ids));
		}else{
			return R.error("管理员最少保留一个");
		}
        return R.ok();
    }
}

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值