• 基于springboot的物品回收系统


    项目描述

    临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里,你想解决的问题,今天给在家介绍一篇基于springboot的物品回收系统。

    需求目标

    该系统也具有重要的设计目标有如下几个:
    (1)数据共享
    推进物品回收的数据校验和数据共享规范化和制度化建设,对物品回收系统数据查询的精度和效率进行提升。
    (2)实现物品回收功能模块
    系统主要实现了用户管理、物品回收各种配置信息管理、单据草稿管理、销量排行查看、收支统计明细信息等功能模块。
    (3)实行现代化的管理手段
    该系统应该有清晰的界面,容易操作;对于不同系统的用户,对应的操作权限应该不同,系统应该有一个备份的数据库和功能的恢复系统,目的是为了提高数据的安全性。该系统为基于网络的系统,仅要一台有网络连接的设备就可实现登录系统进行物品回收操作管理。

    系统功能模块框架图

    在这里插入图片描述
    废品回收流程

    部分效果图

    登录界面:

    在这里插入图片描述

    系统首页
    在这里插入图片描述

    客户列表管理
    在这里插入图片描述

    物品种类管理

    在这里插入图片描述
    在这里插入图片描述

    物品称重管理
    在这里插入图片描述
    在这里插入图片描述

    回收订单管理
    在这里插入图片描述

    销量排行界面
    在这里插入图片描述

    数据库设计

    系统中用到了12张表,针对每个表都进行了设计,下面对部分核心表进行汇总罗列展示。
    (1)用户信息表
    在这里插入图片描述

    (2)客户信息表
    在这里插入图片描述

    (3)等级折扣表
    在这里插入图片描述

    (4)物品类型表
    在这里插入图片描述
    (5)回收单据表
    在这里插入图片描述

    部分代码
    
    	// 分页查询所有订单数据
    	@RequestMapping("/selectOrderAll")
    	@ResponseBody
    	public Map<String, Object> selectAll(@RequestParam(name = "rows", required = false) Integer rows,
    			@RequestParam(name = "page", required = false) Integer page,
    			@RequestParam(name = "cusname", required = false) String cusname,
    			@RequestParam(name = "productname", required = false) String productname,
    			@RequestParam(name = "bigindatetime", required = false) String bigindatetime,
    			@RequestParam(name = "lastdatetime", required = false) String lastdatetime) throws ParseException {
    		CustomerAndOrder cao =new  CustomerAndOrder();
    		cao.setName(cusname);
    		cao.setProductname(productname);
    		SimpleDateFormat sdf =   new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
    		SimpleDateFormat sdf2 =   new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		if(bigindatetime!=null){
    			Date str = sdf.parse(String.valueOf(bigindatetime));
    			
    			cao.setBigindatetime(sdf2.format(str));
    		}
    		if(lastdatetime!=null){
    			Date str2 = sdf.parse(String.valueOf(lastdatetime));
    			cao.setLastdatetime(sdf2.format(str2));
    		}
    		if (null == rows) {
    			rows = 10;
    		}
    		if (null == page) {
    			page = 1;
    		}
    		PageInfo<TOrderAndCusAndPro> pagelist = orderService.selectAll(page, rows,cao);
    		Map<String, Object> resultMap = new HashMap<String, Object>();
    		resultMap.put("total", pagelist.getTotal());
    		resultMap.put("rows", pagelist.getList());
    		return resultMap;
    	}
    	
    	
          // 分页查询数据
    	@RequestMapping("/selectproductsum")
    	@ResponseBody
    	public Map<String, Object> selectproductsum(@RequestParam(name = "rows", required = false) Integer rows,
    			@RequestParam(name = "page", required = false) Integer page,
    			@RequestParam(name = "type", required = false) String type) throws ParseException {
    		if (null == rows) {
    			rows = 10;
    		}
    		if (null == page) {
    			page = 1;
    		}
    		PageInfo<CustomerAndSum> pagelist=null;
    		if(type==null||type.equals("")){
    			 pagelist = orderService.selectProductSum(page, rows);
    		}else if(type.equals("年")){
    			 pagelist = orderService.selectProductSum(page, rows);
    		}else if(type.equals("月")){
    			 pagelist = orderService.selectProductSumM(page, rows);
    		}else if(type.equals("周")){
    			pagelist = orderService.selectProductSumW(page, rows);
    		}else if(type.equals("日")){
    			pagelist = orderService.selectProductSumD(page, rows);
    		}
    		
    		Map<String, Object> resultMap = new HashMap<String, Object>();
    		resultMap.put("total", pagelist.getTotal());
    		resultMap.put("rows", pagelist.getList());
    		return resultMap;
    	}
    
    	@RequestMapping("/orderAdd")
    	public Object customerAdd() {
    		return "orderAddView";
    	}
    
    	@RequestMapping("/getCus")
    	@ResponseBody
    	public JsonResult getCus() {
    		JsonResult result = new JsonResult();
    		List<Customer> list = customerService.selectAllList();
    		JSONArray jsonArray = new JSONArray(list);
    		result.setData(jsonArray.toString());
    		result.success();
    		return result;
    	}
    
    	@RequestMapping("/getProd")
    	@ResponseBody
    	public JsonResult getProd() {
    		JsonResult result = new JsonResult();
    		List<Product> list = prodService.selectAllList();
    		JSONArray jsonArray = new JSONArray(list);
    		result.setData(jsonArray.toString());
    		result.success();
    		return result;
    	}
    
    	@RequestMapping("/getProdById")
    	@ResponseBody
    	public JsonResult getProdById(@RequestParam(name = "prodname", required = false) String prodname,
    			@RequestParam(name = "maozhong", required = false) String maozhong,
    			@RequestParam(name = "pizhong", required = false) String pizhong,
    			@RequestParam(name = "kouzanum", required = false) String kouzanum,
    			@RequestParam(name = "cusname", required = false) String cusname) {
    		JsonResult result = new JsonResult();
    		if (prodname.equals("") || maozhong.equals("") || pizhong.equals("") || kouzanum.equals("")||cusname.equals("")) {
    			result.error("请填写上面全部信息");
    		} else {
    			Customer cus = customerService.selectById(Long.valueOf(cusname));
    			Discount discount = discountService.selectByDengji(cus.getDj());
    			if(null != discount){
    				Product product = productService.selectById(Long.valueOf(prodname));
    				BigDecimal productprice=new BigDecimal(product.getProductprice());
    				BigDecimal zhekou=new BigDecimal(discount.getZhekou());
    				double newproductprice = productprice.multiply(zhekou).doubleValue();
    				product.setProductprice(String.valueOf(newproductprice));
    				result.setData(product);
    			}else{
    				Product product = productService.selectById(Long.valueOf(prodname));
    				result.setData(product);
    			}
    			result.success();
    		}
    		return result;
    	}
    
    	@RequestMapping("/orderdo_Add")
    	public Object orderdo_Add(TOrder order) {
    		// 校验
    		OrderValidator orderValidator = new OrderValidator();
    		Map<String, String> map = orderValidator.valitator(order);
    		if (!map.isEmpty()) {
    			ModelAndView mv = new ModelAndView();
    			mv.setViewName("orderAddView");
    			for (String key : map.keySet()) {
    				mv.addObject(key, map.get(key));
    			}
    			return mv;
    		}
    		// 插入操作
    /*		SimpleDateFormat sdf =   new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );
    		String str = sdf.format(new Date());*/
    		order.setCreatedate(new Date());
    		order.setStatus("1");
    		orderService.Do_Add(order);
    		return "orderView";
    	}
    
    	// 跳转修改页面
    	@RequestMapping("/updateOrder")
    	public Object update(@RequestParam(name = "id", required = false) Long id) {
    		ModelAndView mode = new ModelAndView();
    		TOrder order = orderService.selectById(id);
    		mode.addObject("uid", order.getId().toString());
    		mode.addObject("order", order);
    		mode.setViewName("orderUpdateView");
    		return mode;
    	}
    	
    	@RequestMapping("/orderdo_update")
    	public Object orderdo_update(TOrder order) {
    		// 校验
    		OrderValidator orderValidator = new OrderValidator();
    		Map<String, String> map = orderValidator.valitator(order);
    		if (!map.isEmpty()) {
    			ModelAndView mv = new ModelAndView();
    			mv.setViewName("orderUpdateView");
    			for (String key : map.keySet()) {
    				mv.addObject(key, map.get(key));
    			}
    			return mv;
    		}
    		order.setCreatedate(new Date());
    		orderService.Do_Update(order);
    		return "orderView";
    	}
    	
    	//删除
    	@RequestMapping("/deleteOrder")
    	@ResponseBody
    	public JsonResult deleteOrder(@RequestParam(name = "id", required = false) Long id){
    		JsonResult result = new JsonResult();
    		orderService.deleteById(id);
    		result.success();
    		return result;
    		
    	}
    	
    	@RequestMapping("/showXiaoLiang")
    	public Object showXiaoLiang() {
    		return "/showXiaoLiang";
    	}
    	
    	@RequestMapping("/shouhuotongji")
    	public Object shouhuotongji() {
    		return "/shouhuotongji";
    	}
    	
    	@RequestMapping("/shouhuomingxi")
    	public Object shouhuomingxi() {
    		return "/shouhuomingxi";
    	}
    	
    	@RequestMapping("/checkOrder")
    	public Object checkOrder(@RequestParam(name = "id", required = false) Long id) {
    		ModelAndView mode = new ModelAndView();
    		TOrderAndCusAndPro order = orderService.selectcheckById(id);
    		mode.addObject("order", order);
    		mode.setViewName("checkorderView");
    		return mode;
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    安装部署需求

    利用IDEA直接启动运行

    总体设计

    本系统是一个基于springboot的微服务架构,前端使用熟知的JavaScript脚本实现系统页面,在后期的发布通过Tomcat服务器部署,也可以通过nginx进行服务代理或者集成负载。
    这个系统的设计采用MVC模式,按照视图、控制、数据处理、持久层划分实现。简化了大量的配置和程序代码的耦合性。数据库采用免费开源的MySQL数据库,即节约了成本能够支撑起真个系统业务数据和信息化数据的存储。

    本项目用到的技术和框架

    1.开发语言:Java
    2.开发模式:B/S
    3.数据库:MySQL
    4.框架:springboot+mybatis+bootstrap+HTML

    本项目中的关键点

    此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。

    环境工具

    开发工具 Eclipse/IDEA
    语言 JDK1.8 、bootstrap、springboot、mybatis
    硬件:笔记本电脑;
    软件:Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL;
    操作系统:Windows 10;
    其它软件:截图工具、常用浏览器;
    微信扫下方二维码关注公众号,经常分享一些技术上的理解文章。
    在这里插入图片描述

  • 相关阅读:
    【无标题】
    pytorch loss函数整理
    11.10
    深入网络底层,了解Linux系统收发网络数据包的过程、原理、流程,附图文说明
    SaleSmartly新增AI意图识别触发器!让客户享受更精准的自动化服务
    Linux系统调优详解(五)——磁盘IO状态查看命令
    四 软件架构风格、质量属性、Web架构设计
    查询操作及乐观锁
    R17 redcap
    C++11-容器
  • 原文地址:https://blog.csdn.net/mxg74110/article/details/127747474