Java项目:SSM农资采购销售系统

2024-03-24 23:20

本文主要是介绍Java项目:SSM农资采购销售系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

本项目分为前后台,前台普通用户登录,后台管理员登录;
管理员角色包含以下功能:
管理员登录,修改个人信息,人员管理,图片管理,订单管理,图表管理,农资管理等功能。

用户角色包含以下功能:
按分类查看农资产品,用户登录,查看商品详情,加入购物车,提交订单,修改个人信息,查看订单等功能。

由于本程序规模不大,可供课程设计,毕业设计学习演示之

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
5.数据库:MySql 5.7版本;

6.是否Maven项目:是;

技术栈

1. 后端:Spring+SpringMVC+Mybatis

2. 前端:JSP+CSS+JavaScript+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,前台地址:http://localhost:8080/snack/shop/index   注:tomcat中配置的路径必须为snack 
用户账号/密码:wangzixiao/123456

后台地址:http://localhost:8080/snack/admin/login/adminLogin

管理员账号/密码:admin/123456

运行截图

前台界面

 后台界面

代码相关

订单管理控制器

@Controller
@RequestMapping("/admin/order/")
public class AdminOrderControll {@Autowiredprivate adminOrderService adminOrderService;@Autowiredprivate userService userService; @RequestMapping("mainToAdminOrder")public String mainToAdminOrder(){return "admin/order/adminOrder";} //订单@RequestMapping("adminOrderLimit")@ResponseBodypublic DataTables adminOrderLimit(int start,int length,String oId,String oTimeStart,String oTimeEnd,String adUserName){Map<Object,Object> map=new HashMap<Object, Object>();map.put("pageStart",start);map.put("pageSize",length);map.put("oId",oId);map.put("oTimeStart",oTimeStart);map.put("oTimeEnd",oTimeEnd);map.put("adUserName",adUserName);PageHelp<DoAdminOrder> pageHelp= adminOrderService.selectAdminOrderLimit(map);DataTables datatable=new DataTables();datatable.setData(pageHelp.getList());datatable.setRecordsFiltered(pageHelp.getRecord());datatable.setRecordsTotal(pageHelp.getRecord());return datatable;}//删除订单@RequestMapping("deleteAdminOrder")@ResponseBodypublic String deleteAdminOrder(String oId){return ResponseUtil.successToClient(adminOrderService.deleteAdminOrder(oId));} //update加载订单@RequestMapping("updateSelectAdminOrder")@ResponseBodypublic String updateSelectAdminOrder(int rId){return ResponseUtil.successToClient(adminOrderService.updateSelectAdminOrder(rId));} //update订单@RequestMapping("updateAdminOrder")@ResponseBodypublic String updateAdminOrder(Receiptinfo receiptinfo){return ResponseUtil.successToClient(adminOrderService.updateAdminOrder(receiptinfo));} //updateOrderDetial加载订单@RequestMapping("updateSelectAdminOrderDetial")@ResponseBodypublic String updateSelectAdminOrderDetial(int dId){return ResponseUtil.successToClient(adminOrderService.updateSelectAdminOrderDetial(dId));} //updateOrderDetial订单@RequestMapping("updateOrderdetail")@ResponseBodypublic String updateOrderdetail(Orderdetail orderdetail){return ResponseUtil.successToClient(adminOrderService.updateOrderdetail(orderdetail));} //删除OrderDetial@RequestMapping("deleteOrderdetail")@ResponseBodypublic String deleteOrderdetail(int dId,String oId){List<Orderdetail> orderdetailList = adminOrderService.selectOrderdetailByoId(oId);if(orderdetailList.size()>=2){adminOrderService.deleteOrderdetailBydId(dId);return ResponseUtil.successToClient(1);}else{adminOrderService.deleteAdminOrder(oId);return ResponseUtil.successToClient(2);}}//导出订单详情@RequestMapping("outExcelOrder")@ResponseBodypublic void outExcelOrder(HttpServletResponse response,String oId){SXSSFWorkbook workbook = new SXSSFWorkbook();reportSheet(workbook,oId);outputExcel(response, workbook, "订单详情");}private void reportSheet(SXSSFWorkbook workbook,String oId) {List<DoExcelOrder> outExcelOrderDetail = adminOrderService.outExcelOrderDetail(oId);for (int i = 0; i < outExcelOrderDetail.size(); i++) {if(i!=0){outExcelOrderDetail.get(i).setOId("");outExcelOrderDetail.get(i).setOName("");outExcelOrderDetail.get(i).setOPhone("");outExcelOrderDetail.get(i).setOAddress("");}outExcelOrderDetail.get(i).setMoney(outExcelOrderDetail.get(i).getMoney()+"元");}ExcelUtil2 excelUtil=new ExcelUtil2();List<JSONObject> columns = new ArrayList<>();columns.add(excelUtil.defaultGetColumn("订单号", "oId", 15 * 256, false, false));columns.add(excelUtil.defaultGetColumn("收货人", "oName", 15 * 256, false, false));columns.add(excelUtil.defaultGetColumn("电话", "oPhone", 15 * 256, false, false));columns.add(excelUtil.defaultGetColumn("地址", "oAddress", 26 * 256, false, false));columns.add(excelUtil.defaultGetColumn("商品名", "sName", 15 * 256, false, false));columns.add(excelUtil.defaultGetColumn("数量", "num", 12 * 256, false, false));columns.add(excelUtil.defaultGetColumn("单价", "money", 12 * 256, false, false));excelUtil.createSheet(workbook, outExcelOrderDetail, columns, "订单详情");}private void outputExcel(HttpServletResponse response, SXSSFWorkbook workbook, String excelName) {response.setContentType("application/vnd.ms-excel");try {// 进行转码,使其支持中文文件名response.setHeader("content-disposition", "attachment;filename=" + new String(excelName.getBytes("GB2312"), "ISO-8859-1") + ".xlsx");workbook.write(response.getOutputStream());} catch (IOException e) {e.printStackTrace();}}//请确认收货@RequestMapping("userOrderConfirm")@ResponseBodypublic String userOrderConfirm(HttpServletRequest request,int id,int typeNum){int eId;if(typeNum==0){eId = (int)request.getSession().getAttribute("adminId");}else{eId=0;}return ResponseUtil.successToClient(userService.upDateByorderConfirm(id,typeNum,eId));}}

 如果也想学习本系统,下面领取。回复:199ssm

这篇关于Java项目:SSM农资采购销售系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/843115

相关文章

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

Windows系统宽带限制如何解除?

《Windows系统宽带限制如何解除?》有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文就跟大家一起来看看Windows系统解除网络限制的操作方法吧... 有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

Java 实用工具类Spring 的 AnnotationUtils详解

《Java实用工具类Spring的AnnotationUtils详解》Spring框架提供了一个强大的注解工具类org.springframework.core.annotation.Annot... 目录前言一、AnnotationUtils 的常用方法二、常见应用场景三、与 JDK 原生注解 API 的

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

Java中的StringBuilder之如何高效构建字符串

《Java中的StringBuilder之如何高效构建字符串》本文将深入浅出地介绍StringBuilder的使用方法、性能优势以及相关字符串处理技术,结合代码示例帮助读者更好地理解和应用,希望对大家... 目录关键点什么是 StringBuilder?为什么需要 StringBuilder?如何使用 St