4-进销存管理系统的设计与实现-springboot
2019-11-05 16:04:47来源:博客园 阅读 ()
4-进销存管理系统的设计与实现-springboot
开发环境: Windows操作系统
开发工具:MyEclipse/Eclipse + JDK+ Tomcat + MySQL 数据库
项目简介:
系统前段页面采用jsp + JavaScript + css的组合技术开发,其中JavaScript使用了jQuery和bootstrap框架,这两个前段框架让我们能更友好的使用JavaScript。省去了许多步骤,简化了我们的使用。数据库使用的是MySQL数据库,MySQL 是现阶段最流行的关系型数据库之一,因为它的体积小、运行速度快、免费,尤其是开放源码这一特点,一般中小型网站的开发都会选择MySQL作为网站数据库。考虑到系统设计的用户群体以及MySQL数据库的这些优点,于是选择了MySQL数据库作为开发数据库。开发使用的IDE工具是:Spring tool suit,这个IDE工具是Spring官网推荐的开发工具,在使用Spring体系的框架开发应用是,这个IDE工具具有很多优势。Web服务器是使用的Spring boot内置的Tomcat服务器。根据以上选择的框架、工具,选择了JDK1.8作为开发、编译环境。
项目截图:
1.1 用户登录
(1) 功能描述
登录是对用户使用系统功能进行身份验证的过程,登录也是可以很好的控制用户的权限问题,登录界面要求简明易懂。每一用户都有自己的独有的账号和密码,用户在系统的每一个操作都有日志进行记载,可以有效保证数据可追溯性,做到责任到人,界面如下图。
图1.1 用户登录
(2) 实现流程
在登陆按钮添加监听事件,在用户输入账号密码点击登录后,终端先判断是否满足JS中的验证方法,此方法是防止当账号密码为空时登录的提示,如果为空跳出一个对话框来提示用户账号和密码需要填。如果不为空,后台会把接受的用户名密码与数据库数据库中用户信息比较核对,如果是一致则顺利登录到用户权限所对应的界面中,否则出现账号密码错误的提示,登录失败。登录流程如图5-12所示。实现代码如下:
if("manager".equals(user)){
Managers managers = null;
try {
managers = managerService.login(name, password);
} catch (ServiceException e) {
e.printStackTrace();
}
if(managers!=null){
logger.info(name+"登录成功!!!");
ServletContext app = req.getSession().getServletContext();
app.setAttribute("user",managers);
req.getRequestDispatcher("/WEB-INF/jsp/index.jsp").forward(req, resp);
}else{
logger.info("登录失败,用户名或者密码错误");
HttpSession session = req.getSession();
session.setAttribute("msg","用户名或者密码错误");
resp.sendRedirect("login.html");
}
}else if("employee".equals(user)){
Employee employee = null;
try {
employee = managerService.employeelogin(name, password);
} catch (ServiceException e) {
e.printStackTrace();
}
if(employee!=null){
logger.info(name+"登录成功!!!");
ServletContext app = req.getSession().getServletContext();
app.setAttribute("user",employee);
req.getRequestDispatcher("/WEB-INF/jsp/index.jsp").forward(req, resp);
}else{
logger.info("登录失败,用户名或者密码错误");
HttpSession session = req.getSession();
session.setAttribute("msg","用户名或者密码错误");
resp.sendRedirect("login.html");
}
}
1.1 采购管理
(1) 功能描述
采购管理是对需要采购的订单的综合管理,在这个模块里包含采购订单、收货入库、采购退货三个子模块。其中采购订单是员工用来生成采购单的,还有对采购单的一些处理;收货入库是对已经提交的采购单进行入库操作;采购退货是把我们已经提交的采购单进行退货处理的操作。主要界面如下图:
图1.1 采购管理
(2) 实现流程
点击采购订单按钮会跳转到采购订单首页,在首页可以看到所有已经提交的采购单信息;当我们想添加新的采购订单的时候,首先点击添加商品按钮,会跳转到商品添加页面,我们把商品信息输入进去之后点击提交,后台方法会把商品信息暂时存起来,当我们把所有商品添加完成,我们可以再点击添加订单按钮,此时会把我们添加的所有的商品都提交生成一个采购订单,并且把数据存进对应的数据库表中保存起来。对已经提交的订单当我们点击退货按钮时,后台会接收到要退货的订单ID,并且根据ID到数据库中订单表把数据删除,同时在退货表中把数据插进去。当我们点击入库按钮时,后台会接收到需要入库的订单的ID,并且把订单表中的flag字段的值修改为已入库,同时在库存表中会新加一条数据。主要实现代码如下:
Long suppliersId = Long.parseLong(request.getParameter("suppliersId"));
String name = request.getParameter("name");
Double price = Double.parseDouble(request.getParameter("price"));
Long count =Long.parseLong(request.getParameter("count"));
String unit = request.getParameter("unit");
String space = request.getParameter("space");
Long supplierId = Long.parseLong(request.getParameter("supplierId"));
String approveId = request.getParameter("approveId");
String batchId = request.getParameter("batchId");
purchaseItem = new PurchaseItem();
purchaseItem.setCount(count);
purchaseItem.setPrice(price);
purchaseItem.setName(name);
purchaseItem.setSupplierId(suppliersId);
list.add(purchaseItem);
model.addAttribute("list", list);
logger.info("成功添加商品");
logger.info("提交采购订单");
String pay = request.getParameter("pay");
purchaseOrder = new PurchaseOrder();
purchaseOrder.setPay(pay);
purchaseOrder.setInDate(new Date());
purchaseOrder.setFlag("未入库");
try {
int i = managerService.addPurchaseOrder(purchaseOrder, list);
if(i==1){
list.removeAll(list);
/*orderList.removeAll(orderList);*/
orderList = managerService.findPurchaseOrderByPage(0);
count = managerService.findPurchaseOrderCount();
currentPage = 1L;
totalPage = managerService.getTotalPage();
model.addAttribute("currentPage", currentPage);
model.addAttribute("totalPage", totalPage);
model.addAttribute("orderList", orderList);
model.addAttribute("count", count);
logger.info("提交采购订单成功");
}
源码及原文地址:http://javadao.xyz/forum.php?mod=viewthread&tid=11
原文链接:https://www.cnblogs.com/javadao/p/11802538.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:SpringBoot
- Java--反射(框架设计的灵魂)案例 2020-06-11
- Java--反射(框架设计的灵魂) 2020-06-11
- 老板让你抗住千万级流量,如何做架构设计? 2020-06-11
- SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 后 2020-06-10
- 设计模式-委派/策略模式 2020-06-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash