项目介绍
本项目分为系统管理员、库存管理员、采购员、销售员、订单审核员等角色。 各角色主要功能如下所示:
系统管理员 基础信息管理 商品 仓库 员工 角色 库存管理 库存管理 销售单审核(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
2. 前端:BootStrap+JavaScript+jQUery+Ajax+CSS+HTML
使用说明
1. 使用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
@RestController @RequestMapping(value = "/goods") public class GoodsController { private Logger logger = LoggerFactory.getLogger(GoodsController.class); private GoodsService goodsServiceImpl; public GoodsController(GoodsService goodsServiceImpl) { this.goodsServiceImpl = goodsServiceImpl; } @PostMapping(value = "/addGoodsType") public int addGoodsType(GoodsType type) { return goodsServiceImpl.addGoodsType(type); } @PostMapping(value = "/delGoodsType/{id}") public int delGoodsType(@PathVariable("id") String id) { return goodsServiceImpl.delGoodsType(id); } @PostMapping(value = "/updateGoodsType") public int updateGoodsType(GoodsType type) { return goodsServiceImpl.updateGoodsType(type); } @GetMapping(value = "/findById/{id}") public GoodsType findById(@PathVariable("id") String id) { return goodsServiceImpl.findById(id); } @GetMapping(value = "/findByName") public GoodsType findByName(@RequestParam("name") String name) { return goodsServiceImpl.findByName(name); } @GetMapping(value = "/findAllByPage") public PageInfo<GoodsType> findAllByPage(PageInfo<GoodsType> info, @RequestParam(value = "name", defaultValue = "") String name) { return goodsServiceImpl.findAllByPage(info, name); } @GetMapping(value = "/getEcharts") public Map<String, Object> getGoodsTypeEcharts() { return goodsServiceImpl.getGoodsTypeEcharts(); } @GetMapping(value = "/findAllType") public List<GoodsType> findAllType() { return goodsServiceImpl.findAllType(); } @PostMapping(value = "/addGoods") public int addGoods(Goods goods) { return goodsServiceImpl.addGoods(goods); } @PostMapping(value = "/delGoods/{id}") public int delGoods(@PathVariable("id") int id) { return goodsServiceImpl.delGoods(id); } @PostMapping(value = "/updateGoods") public int updateGoods(Goods goods) { return goodsServiceImpl.updateGoods(goods); } @GetMapping(value = "/findGoodsByPage") public PageInfo<Goods> findGoodsByPage(PageInfo<Goods> info, @RequestParam(value = "type", defaultValue = "") String type, @RequestParam(value = "name", defaultValue = "") String name) { return goodsServiceImpl.findGoodsByPage(info, type, name); } @GetMapping(value = "/findGoodsById/{id}") public Goods findGoodsById(@PathVariable("id") int id) { return goodsServiceImpl.findGoodsById(id); } @GetMapping(value = "/findAllGoodsByName") public List<String> findAllGoodsByName(@RequestParam(value = "name", defaultValue = "") String name) { return goodsServiceImpl.findAllGoodsByName(name); } }
@RestController @RequestMapping(value = "/order") public class OrderController { private OrderService orderServiceImpl; public OrderController(OrderService orderServiceImpl) { this.orderServiceImpl = orderServiceImpl; } @PostMapping(value = "/addOrder") public int addOrder(Order order, HttpServletRequest request) { HttpSession session = request.getSession(); Employee emp = (Employee) session.getAttribute("emp"); order.setCreater(emp.getName()); order.setUpdater(emp.getName()); return orderServiceImpl.addOrder(order); } @PostMapping(value = "/delOrder/{id}") public int delOrder(@PathVariable("id") int id) { return orderServiceImpl.delOrder(id); } @PostMapping(value = "/updateOrder") public int updateOrder(Order order, HttpServletRequest request) { HttpSession session = request.getSession(); Employee emp = (Employee) session.getAttribute("emp"); order.setUpdater(emp.getName()); return orderServiceImpl.updateOrder(order); } @GetMapping(value = "/findAllOrdersByPage") public PageInfo<Order> findAllOrdersByPage(PageInfo<Order> info, @RequestParam(value = "no", defaultValue = "") String no) { return orderServiceImpl.findAllOrdersByPage(info, no); } @GetMapping(value = "/findById/{id}") public Order findById(@PathVariable("id") int id) { return orderServiceImpl.findById(id); } }
/** * 管理员模块 * * @author . */ @Controller @RequestMapping(value = "/admin") public class AdminController { private Logger logger = LoggerFactory.getLogger(AdminController.class); private AdminService adminServiceImpl; public AdminController(AdminService adminServiceImpl) { this.adminServiceImpl = adminServiceImpl; } @GetMapping(value = "") public String toAdmin() { return "admin/login"; } @GetMapping(value = "/emp") public String toEmp() { return "admin/emp"; } @PostMapping(value = "/login") @ResponseBody public int login(HttpServletRequest request, @RequestParam("name") String name, @RequestParam("password") String password) { HttpSession session = request.getSession(); Admin admin = adminServiceImpl.findAdminByNameAndPwd(name, password); if (admin != null) { session.setAttribute("admin", admin); logger.info("【{}】登录成功,正在跳转中···", admin.getName()); return GlobalConstant.SUCCESS; } return GlobalConstant.ERROR; } @GetMapping(value = "/isLogin") @ResponseBody public Admin isLogin(HttpServletRequest request) { HttpSession session = request.getSession(); return (Admin) session.getAttribute("admin"); } @GetMapping(value = "/logout") public String logout(HttpServletRequest request) { HttpSession session = request.getSession(); session.removeAttribute("admin"); session.invalidate(); logger.info("管理员已退出登录"); return "redirect:/admin"; }