赞
踩
作者主页:编程千纸鹤
作者简介:Java、前端、Pythone开发多年,做过高程,项目经理,架构师
主要内容:Java项目开发、毕业设计开发、面试技术整理、最新技术分享
项目编号:BS-XX-127
本项目实现了基于springboot的进销存管理系统,主要用户开设网店的相关商品的进货、销售、库存的管理,功能比较完整,有着完备的权限管理系统,可以自行根据需要来设计角色和分配权限,权限的粒度可以做到页面级的权限控制,整个项目来讲比较优秀。主要实现的功能有如下几个模块:
语言环境:Java: jdk1.8
数据库:Mysql: mysql5.7 / Redis缓存数据库
应用服务器:Tomcat: tomcat8.5.31
开发工具:IDEA或eclipse
后台开发技术:Springboot+Mybatis-plus+Shiro
前端开发技术:Bootstrap+Layui+Freemarker模板
超级管理员登陆系统:system/123456
基础管理—客户管理
基础管理—供应商管理
基础管理—商品管理
进货管理—商品进货 也可在此实现退货
进货管理—商品退货查询
销售管理—商品销售
销售管理—销售退货查询
系统管理---部门管理
系统管理---菜单管理
系统管理---权限管理
系统管理---角色管理
系统管理---用户管理
其它管理—登陆日志
其它管理—系统公告
- package com.dev.shop.bus.controller;
-
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
-
-
- @Controller
- @RequestMapping("bus")
- public class BusinessController {
-
- /**
- * 跳转到客户管理页面
- * @return
- */
- @RequestMapping("toCustomerManager")
- public String toCustomerManager(){
- return "business/customer/customerManager";
- }
-
- /**
- * 跳转到供应商管理页面
- * @return
- */
- @RequestMapping("toProviderManager")
- public String toProviderManager(){
- return "business/provider/providerManager";
- }
-
- /**
- * 跳转到商品管理页面
- * @return
- */
- @RequestMapping("toGoodsManager")
- public String toGoodsManager(){
- return "business/goods/goodsManager";
- }
-
- /**
- * 跳转到进货管理页面
- * @return
- */
- @RequestMapping("toInportManager")
- public String toInportManager(){
- return "business/inport/inportManager";
- }
-
- /**
- * 跳转到退货管理页面
- * @return
- */
- @RequestMapping("toOutportManager")
- public String toOutportManager(){
- return "business/outport/outportManager";
- }
-
- /**
- * 跳转到商品销售管理页面
- * @return
- */
- @RequestMapping("toSalesManager")
- public String toSalesManager(){
- return "business/sales/salesManager";
- }
-
- /**
- * 跳转到商品销售管理页面
- * @return
- */
- @RequestMapping("toSalesbackManager")
- public String toSalesbackManager(){
- return "business/salesback/salesbackManager";
- }
-
- }
- package com.dev.shop.bus.controller;
-
-
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.dev.shop.bus.entity.Customer;
- import com.dev.shop.bus.service.ICustomerService;
- import com.dev.shop.bus.vo.CustomerVo;
- import com.dev.shop.sys.common.Constast;
- import com.dev.shop.sys.common.DataGridView;
- import com.dev.shop.sys.common.ResultObj;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.List;
-
- @RestController
- @RequestMapping("/customer")
- public class CustomerController {
-
- @Autowired
- private ICustomerService customerService;
-
- /**
- * 查询所有的客户
- * @param customerVo
- * @return
- */
- @RequestMapping("loadAllCustomer")
- public DataGridView loadAllCustomer(CustomerVo customerVo){
- //1.声明一个分页page对象
- IPage<Customer> page = new Page(customerVo.getPage(),customerVo.getLimit());
- //2.声明一个queryWrapper
- QueryWrapper<Customer> queryWrapper = new QueryWrapper();
- queryWrapper.like(StringUtils.isNotBlank(customerVo.getCustomername()),"customername",customerVo.getCustomername());
- queryWrapper.like(StringUtils.isNotBlank(customerVo.getConnectionpersion()),"connectionpersion",customerVo.getConnectionpersion());
- queryWrapper.like(StringUtils.isNotBlank(customerVo.getPhone()),"phone",customerVo.getPhone());
- customerService.page(page,queryWrapper);
- return new DataGridView(page.getTotal(),page.getRecords());
- }
-
- /**
- * 添加一个客户
- * @param customerVo
- * @return
- */
- @RequestMapping("addCustomer")
- public ResultObj addCustomer(CustomerVo customerVo){
- try {
- customerService.save(customerVo);
- return ResultObj.ADD_SUCCESS;
- } catch (Exception e) {
- e.printStackTrace();
- return ResultObj.ADD_ERROR;
- }
- }
-
- /**
- * 修改一个客户
- * @param customerVo
- * @return
- */
- @RequestMapping("updateCustomer")
- public ResultObj updateCustomer(CustomerVo customerVo){
- try {
- customerService.updateById(customerVo);
- return ResultObj.UPDATE_SUCCESS;
- } catch (Exception e) {
- e.printStackTrace();
- return ResultObj.UPDATE_ERROR;
- }
- }
-
- /**
- * 删除一个客户
- * @param id 客户的ID
- * @return
- */
- @RequestMapping("deleteCustomer")
- public ResultObj deleteCustomer(Integer id){
- try {
- customerService.removeById(id);
- return ResultObj.DELETE_SUCCESS;
- } catch (Exception e) {
- e.printStackTrace();
- return ResultObj.DELETE_ERROR;
- }
- }
-
- /**
- * 批量删除客户
- * @param customerVo 选中的客户
- * @return
- */
- @RequestMapping("batchDeleteCustomer")
- public ResultObj batchDeleteCustomer(CustomerVo customerVo){
- try {
- Collection<Serializable> idList = new ArrayList<Serializable>();
- for (Integer id : customerVo.getIds()) {
- idList.add(id);
- }
- customerService.removeByIds(idList);
- return ResultObj.DELETE_SUCCESS;
- } catch (Exception e) {
- e.printStackTrace();
- return ResultObj.DELETE_ERROR;
- }
- }
-
- /**
- * 加载所有客户的下拉列表
- * @return
- */
- @RequestMapping("loadAllCustomerForSelect")
- public DataGridView loadAllCustomerForSelect(){
- QueryWrapper<Customer> queryWrapper = new QueryWrapper<Customer>();
- queryWrapper.eq("available", Constast.AVAILABLE_TRUE);
- List<Customer> list = customerService.list(queryWrapper);
- return new DataGridView(list);
- }
-
- }
-
- package com.dev.shop.bus.controller;
-
-
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.dev.shop.bus.entity.Goods;
- import com.dev.shop.bus.entity.Provider;
- import com.dev.shop.bus.service.IGoodsService;
- import com.dev.shop.bus.service.IProviderService;
- import com.dev.shop.bus.vo.GoodsVo;
- import com.dev.shop.sys.common.AppFileUtils;
- import com.dev.shop.sys.common.Constast;
- import com.dev.shop.sys.common.DataGridView;
- import com.dev.shop.sys.common.ResultObj;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- import java.util.List;
-
- @RestController
- @RequestMapping("/goods")
- public class GoodsController {
-
- @Autowired
- private IGoodsService goodsService;
-
- @Autowired
- private IProviderService providerService;
-
- /**
- * 查询商品
- * @param goodsVo
- * @return
- */
- @RequestMapping("loadAllGoods")
- public DataGridView loadAllGoods(GoodsVo goodsVo){
- IPage<Goods> page = new Page<>(goodsVo.getPage(),goodsVo.getLimit());
- QueryWrapper<Goods> queryWrapper = new QueryWrapper();
- queryWrapper.eq(goodsVo.getProviderid()!=null&&goodsVo.getProviderid()!=0,"providerid",goodsVo.getProviderid());
- queryWrapper.like(StringUtils.isNotBlank(goodsVo.getGoodsname()),"goodsname",goodsVo.getGoodsname());
- queryWrapper.like(StringUtils.isNotBlank(goodsVo.getProductcode()),"productcode",goodsVo.getProductcode());
- queryWrapper.like(StringUtils.isNotBlank(goodsVo.getPromitcode()),"promitcode",goodsVo.getPromitcode());
- queryWrapper.like(StringUtils.isNotBlank(goodsVo.getDescription()),"description",goodsVo.getDescription());
- queryWrapper.like(StringUtils.isNotBlank(goodsVo.getSize()),"size",goodsVo.getSize());
- queryWrapper.orderByDesc("id");
- goodsService.page(page,queryWrapper);
- List<Goods> records = page.getRecords();
- for (Goods goods : records) {
- Provider provider = providerService.getById(goods.getProviderid());
- if (null!=provider){
- goods.setProvidername(provider.getProvidername());
- }
- }
- return new DataGridView(page.getTotal(),page.getRecords());
- }
-
- /**
- * 添加商品
- * @param goodsVo
- * @return
- */
- @RequestMapping("addGoods")
- public ResultObj addGoods(GoodsVo goodsVo){
- try {
- if (goodsVo.getGoodsimg()!=null&&goodsVo.getGoodsimg().endsWith("_temp")){
- String newName = AppFileUtils.renameFile(goodsVo.getGoodsimg());
- goodsVo.setGoodsimg(newName);
- }
- goodsService.save(goodsVo);
- return ResultObj.ADD_SUCCESS;
- } catch (Exception e) {
- e.printStackTrace();
- return ResultObj.ADD_ERROR;
- }
- }
-
- /**
- * 修改商品
- * @param goodsVo
- * @return
- */
- @RequestMapping("updateGoods")
- public ResultObj updateGoods(GoodsVo goodsVo){
- try {
- //商品图片不是默认图片
- if (!(goodsVo.getGoodsimg()!=null&&goodsVo.getGoodsimg().equals(Constast.DEFAULT_IMG))){
- if (goodsVo.getGoodsimg().endsWith("_temp")){
- String newName = AppFileUtils.renameFile(goodsVo.getGoodsimg());
- goodsVo.setGoodsimg(newName);
- //删除原先的图片
- String oldPath = goodsService.getById(goodsVo.getId()).getGoodsimg();
- AppFileUtils.removeFileByPath(oldPath);
- }
- }
- goodsService.updateById(goodsVo);
- return ResultObj.UPDATE_SUCCESS;
- } catch (Exception e) {
- e.printStackTrace();
- return ResultObj.UPDATE_ERROR;
- }
- }
-
- /**
- * 删除商品
- * @param id
- * @return
- */
- @RequestMapping("deleteGoods")
- public ResultObj deleteGoods(Integer id,String goodsimg){
- try {
- //删除商品的图片
- AppFileUtils.removeFileByPath(goodsimg);
- goodsService.removeById(id);
- return ResultObj.DELETE_SUCCESS;
- } catch (Exception e) {
- e.printStackTrace();
- return ResultObj.DELETE_ERROR;
- }
- }
-
- /**
- * 加载所有可用的商品
- * @return
- */
- @RequestMapping("loadAllGoodsForSelect")
- public DataGridView loadAllGoodsForSelect(){
- QueryWrapper<Goods> queryWrapper = new QueryWrapper<Goods>();
- queryWrapper.eq("available",Constast.AVAILABLE_TRUE);
- List<Goods> list = goodsService.list(queryWrapper);
- for (Goods goods : list) {
- Provider provider = providerService.getById(goods.getProviderid());
- if (null!=provider){
- goods.setProvidername(provider.getProvidername());
- }
- }
- return new DataGridView(list);
- }
-
- /**
- * 根据供应商ID查询商品信息
- * @param providerid 供应商ID
- * @return
- */
- @RequestMapping("loadGoodsByProviderId")
- public DataGridView loadGoodsByProviderId(Integer providerid){
- QueryWrapper<Goods> queryWrapper = new QueryWrapper<Goods>();
- queryWrapper.eq("available",Constast.AVAILABLE_TRUE);
- queryWrapper.eq(providerid!=null,"providerid",providerid);
- List<Goods> list = goodsService.list(queryWrapper);
- for (Goods goods : list) {
- Provider provider = providerService.getById(goods.getProviderid());
- if (null!=provider){
- goods.setProvidername(provider.getProvidername());
- }
- }
- return new DataGridView(list);
- }
-
-
-
- }
-
- package com.dev.shop.bus.entity;
-
- import com.baomidou.mybatisplus.annotation.IdType;
- import com.baomidou.mybatisplus.annotation.TableId;
- import com.baomidou.mybatisplus.annotation.TableName;
- import lombok.Data;
- import lombok.EqualsAndHashCode;
- import lombok.ToString;
- import lombok.experimental.Accessors;
-
- import java.io.Serializable;
-
-
- @Data
- @EqualsAndHashCode(callSuper = false)
- @Accessors(chain = true)
- @TableName("bus_customer")
- @ToString
- public class Customer implements Serializable {
-
- private static final long serialVersionUID=1L;
-
- @TableId(value = "id", type = IdType.AUTO)
- private Integer id;
-
- private String customername;
-
- private String zip;
-
- private String address;
-
- private String telephone;
-
- private String connectionpersion;
-
- private String phone;
-
- private String bank;
-
- private String account;
-
- private String email;
-
- private String fax;
-
- private Integer available;
-
-
- }
以上展示了基于Springboot实现商品进销存管理系统的功能模块、所用技术、界面展示以及部分代码,系统整体设计的结构比较清晰,功能 也相对完整,比较适合做毕业设计或课程设计使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。