——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb的SSM+Maven防盗门进销存管理系统(java+ssm+html+thymeleaf+bootstrap+mysql)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| admin 123456 系统管理员 warehouser 123456 库存管理员 purchaser 123456 采购员 saler 123456 销售员 auditor 123456 订单审核员
采购-入库流程: 1 采购员purchaser-采购 2 订单审核员auditor-审核 3 库存管理员warehouser-入库审核(此时【库存管理】出现库存量)
销售-出库流程: 1 销售员saler-销售 2 订单审核员auditor-审核 3 库存管理员warehouser-出库审核(此时【库存管理】出现销售量)
|
项目介绍
本项目分为系统管理员、库存管理员、采购员、销售员、订单审核员等角色。 各角色主要功能如下所示:
系统管理员 基础信息管理 商品 仓库 员工 角色 库存管理 库存管理 销售单审核(2出库) 采购单审核(2入库) 订单经理 销售单审核(1审核) 采购单审核(1审核) 采购管理 供应商管理 采购订单 销售管理 客户管理 销售订单 数据统计 采购统计 销售统计 账户管理 用户管理 修改密码
库存管理员
库存管理 库存查看 销售单审核(出库) 采购单审核(入库) 账户管理 修改密码
采购员
基础信息管理 商品(采购可以添加新的商品) 采购管理 供应商管理 采购订单 数据统计 采购统计 账户管理 修改密码
销售员
销售管理 客户管理 销售订单 数据统计 销售统计 账户管理 修改密码
订单审核员
订单审核 销售单审核 采购单审核 账户管理 修改密码
环境需要
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.是否Maven项目: 是 6.数据库:MySql 5.7等版本均可;
技术栈 1. 后端:Spring+SpringMVC+Mybatis
- 前端:BootStrap+JavaScript+jQUery+Ajax+CSS+HTML
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2.使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat 3.打开jdbc.properties配置文件,修改数据库用户名和密码为自己本地数据库的用户名和密码 注:username与password需要在util/DESUtil中main方法中获取加密后的数据并填写 # 数据库用户名 jdbc.username=Ov4j7fKiCzY=DES加密,加密前为root # 数据库密码 jdbc.password=Ov4j7fKiCzY=DES加密,加密前为root 4.打开浏览器,输入 localhost:8080/sdims 进入登录界面 5.输入用户名和密码访问系统 账号和密码: 超级管理员: admin 库存管理员: xiaoku 订单经理: xiaodan 采购员:xiaocai 销售员: xiaoxiao 密码均为:111111
——————————CodeStart——————————
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
| SaleOrder currentSaleOrder = saleOrderService.getSaleOrderById(sorderId); if (currentSaleOrder.getStockState()==1) { modelMap.put("success", false); modelMap.put("errMsg", "此订单已经出库,不能撤销!"); return modelMap; } int effectNum = saleOrderCheckService.modifySaleOrderRevoke(saleOrder); if (effectNum < 1) { modelMap.put("success", false); modelMap.put("errMsg", "撤销审核失败"); }else { modelMap.put("success", true); modelMap.put("successMsg", "撤销审核成功"); } } catch (Exception e) { modelMap.put("success", false); modelMap.put("errMsg", e.getMessage()); return modelMap; } return modelMap; }
private SaleOrder compactSaleOrderCheckCondition(String orderNumber,int checkState) { SaleOrder saleOrderCondition = new SaleOrder(); if (orderNumber != null) { saleOrderCondition.setOrderNumber(orderNumber); } if (checkState != -1L) { saleOrderCondition.setCheckState(checkState); } return saleOrderCondition; } } package top.lothar.sdims.web.stock;
|
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
| */ @ResponseBody @RequestMapping(value="/modifyrepository",method=RequestMethod.POST) private Map<String, Object> modifyRepository(HttpServletRequest request){ Map<String, Object> modelMap = new HashMap<String,Object>(); String repositoryStr = HttpServletRequestUtil.getString(request, "repositoryStr"); Repository repository = null; ObjectMapper objectMapper = new ObjectMapper(); try { repository = objectMapper.readValue(repositoryStr, Repository.class); repository.setUpdateTime(new Date()); } catch (Exception e) { modelMap.put("success", false); modelMap.put("errMsg", e.getMessage()); return modelMap; } try { int effectNum = repositoryService.modifyRepository(repository); if (effectNum < 1) { modelMap.put("success", false); modelMap.put("errMsg", "更新员工失败"); }else { modelMap.put("success", true); } } catch (Exception e) { modelMap.put("success", false); modelMap.put("errMsg", e.getMessage()); return modelMap; } return modelMap; } } package top.lothar.sdims.web.sale;
|
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
|
@RequestMapping(value="purchaseorder", method=RequestMethod.GET) public String purchaseOrder() { return "purchase/purchaseorder"; }
@RequestMapping(value="salecustomer", method=RequestMethod.GET) public String saleCustomer() { return "sale/salecustomer"; }
@RequestMapping(value="saleorder", method=RequestMethod.GET) public String saleOrder() { return "sale/saleorder"; }
@RequestMapping(value="purchaseordercheck", method=RequestMethod.GET) public String purchaseOrderCheck() { return "ordercheck/purchaseordercheck"; }
@RequestMapping(value="saleordercheck", method=RequestMethod.GET) public String saleOrderCheck() { return "ordercheck/saleordercheck"; }
|
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
| @RequestMapping(value="/addgoods",method=RequestMethod.POST) private Map<String, Object> addGoods(HttpServletRequest request){ Map<String, Object> modelMap = new HashMap<String, Object>(); String goodsStr = HttpServletRequestUtil.getString(request, "goodsStr"); Goods goods= null; ObjectMapper objectMapper = new ObjectMapper(); try { goods = objectMapper.readValue(goodsStr, Goods.class); } catch (Exception e) { modelMap.put("success", false); modelMap.put("errMsg", e.getMessage()); return modelMap; } try { if (goods!=null) { int effectNum = goodsService.addGoods(goods); if (effectNum < 1) { modelMap.put("success", false); modelMap.put("errMsg", "插入失败"); }else { modelMap.put("success", true); } } } catch (Exception e) { modelMap.put("success", false); modelMap.put("errMsg", e.getMessage()); return modelMap; } return modelMap; }
|
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
| * @param request * @return */ @ResponseBody @RequestMapping(value="/getgoodslist",method=RequestMethod.GET) private Map<String, Object> getGoodsList(HttpServletRequest request){ Map<String, Object> modelMap = new HashMap<String, Object>(); int pageIndex = HttpServletRequestUtil.getInt(request, "pageIndex"); int pageSize = 5; String name = HttpServletRequestUtil.getString(request, "name"); String code = HttpServletRequestUtil.getString(request, "code"); String type = HttpServletRequestUtil.getString(request, "type"); String brand = HttpServletRequestUtil.getString(request, "brand"); String standard = HttpServletRequestUtil.getString(request, "standard"); String material = HttpServletRequestUtil.getString(request, "material"); Goods goodsCondition = new Goods(); goodsCondition.setName(name); goodsCondition.setCode(code); goodsCondition.setType(type); goodsCondition.setBrand(brand); goodsCondition.setStandard(standard); goodsCondition.setMaterial(material); if (pageIndex > -1) { TExecution<Goods> goodsExecution = goodsService.getGoodsList(goodsCondition, pageIndex, pageSize); pageBean = new PageBean<Goods>(); pageBean.setAllRowCounts(goodsExecution.getCount()); pageBean.setDatas(goodsExecution.getData()); pageBean.setPageSize(5); pageBean.setCurPage(pageIndex); int sumPages = PageBean.getSumPages(goodsExecution.getCount(), pageSize); pageBean.setSumPages(sumPages); int[] tempNum = new int[sumPages]; for (int i = 0; i < sumPages; i++) {
|
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
| return modelMap; } } package top.lothar.sdims.web.ordercheck;
@Controller @RequestMapping("/ordercheck") public class PurchaseOrderCheckController { @Autowired private PurchaseOrderService purchaseOrderService; @Autowired private PurchaseOrderCheckService purchaseOrderCheckService; private PageBean<PurchaseOrder> pageBean;
@ResponseBody @RequestMapping(value="/getpurchaseorderchecklist",method=RequestMethod.GET)
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=161023501103200zv
https://javayms.pages.dev?id=161023501103200zv