基于SpringBoot的“超市进销存系统”的设计与实现(源码+数据库+文档+PPT)

  • 开发语言:Java

  • 数据库:MySQL

  • 技术:SpringBoot

  • 工具:IDEA/Ecilpse、Navicat、Maven

系统展示

图片

系统总体结构图

图片

登录界面图

图片

员工注册界面图

图片

管理员功能界面图

图片

员工管理界面图

图片

客户管理界面图

图片

供应商管理界面图

图片

承运商管理界面图

图片

仓库信息管理界面图

图片

商品信息管理界面图

图片

采购信息管理界面图

图片

销售订单管理界面图

图片

部门管理界面图

图片

岗位管理界面图

图片

仓库信息管理界面图

摘要

本超市进销存系统以springboot作为框架,b/s模式以及MySql作为后台运行的数据库,同时使用Tomcat用为系统的服务器。本系统主要包括首页、个人中心、员工管理、客户管理、供应商管理、承运商管理、仓库信息管理、商品类别管理、 商品信息管理、采购信息管理、入库信息管理、出库信息管理、销售订单管理、部门管理、岗位管理等功能,通过这些功能的实现基本能够满足日常超市进销存管理的操作

研究背景

科学技术日新月异的如今,计算机在生活各个领域都占有重要的作用,尤其在信息管理方面,在这样的大背景下,学习计算机知识不仅仅是为了掌握一种技能,更重要的是能够让它真正地使用到实践中去,以创新的视角去不断方便人们的生活,推动对新知识的学习,培养自学能力,锻炼动手实践的本领。现代的超市进销存系统,也应该摆脱人工管理的模式,使用计算机技术来进行信息管理工作。所以本次系统设计的超市进销存管理结合了文字、图像,并能实现超市进销存管理的功能,这也是一般超市进销存系统的重要的要素。超市进销存系统经过几年的实践和总结正在往更深入的方向发展。由此,人们要改善系统功能迫在眉睫。随着科学技术的飞速发展,超市进销存系统也要不断完善其工作流程的繁杂性、多样化、管理复杂、收缴费用与设备维护繁琐等存在的问题。所以要通过计算机胜任超市进销存管理的工作,使超市进销存系统更加准确、方便及快捷。

研究现状

现如今,超市进销存的服务并不全面普及,就是尽管实行了超市进销存管理,但系统进行的管理力量远远不够,所以有很多超市进销存管理工作只停留在传统的服务状态。同时,因资金有限再加上也缺少专业水平的工作人员,所以超市进销存的管理手段较为落后,也就很难提高超市进销存的管理效率,同时也就不能很好的为市场的用户提供更为完善的服务。现在市场管理都是通过手动来进行管理记录及操作,不但麻烦琐碎,还经常出现错误,给广大用户带来很不便,同时也需要大量的人力、物力和财力,极大的浪费了超市进销存的资源。超市进销存管理系统是超市进销存行业的一个重要组成部分,随着超市进销存行业的快速发展,人们慢慢地来希望超市进销存系统能够提供更为合理及完善的超市进销存服务。现在,好的超市进销存管理也成为广大用户们选择超市进销存系统的关键。

部分源码

/**
 * 承运商
 * 后端接口
 * @author 
 * @email 
 * @date 
 */
@RestController
@RequestMapping("/chengyunshang")
public class ChengyunshangController {
    @Autowired
    private ChengyunshangService chengyunshangService;


    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ChengyunshangEntity chengyunshang,
  HttpServletRequest request){
        EntityWrapper<ChengyunshangEntity> ew = new EntityWrapper<ChengyunshangEntity>();
  PageUtils page = chengyunshangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chengyunshang), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
 @IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ChengyunshangEntity chengyunshang, 
  HttpServletRequest request){
        EntityWrapper<ChengyunshangEntity> ew = new EntityWrapper<ChengyunshangEntity>();
  PageUtils page = chengyunshangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chengyunshang), params), params));
        return R.ok().put("data", page);
    }

 /**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ChengyunshangEntity chengyunshang){
        EntityWrapper<ChengyunshangEntity> ew = new EntityWrapper<ChengyunshangEntity>();
       ew.allEq(MPUtil.allEQMapPre( chengyunshang, "chengyunshang")); 
        return R.ok().put("data", chengyunshangService.selectListView(ew));
    }

  /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ChengyunshangEntity chengyunshang){
        EntityWrapper< ChengyunshangEntity> ew = new EntityWrapper< ChengyunshangEntity>();
   ew.allEq(MPUtil.allEQMapPre( chengyunshang, "chengyunshang")); 
  ChengyunshangView chengyunshangView =  chengyunshangService.selectView(ew);
  return R.ok("查询承运商成功").put("data", chengyunshangView);
    }
 
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ChengyunshangEntity chengyunshang = chengyunshangService.selectById(id);
        return R.ok().put("data", chengyunshang);
    }

    /**
     * 前端详情
     */
 @IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ChengyunshangEntity chengyunshang = chengyunshangService.selectById(id);
        return R.ok().put("data", chengyunshang);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ChengyunshangEntity chengyunshang, HttpServletRequest request){
     chengyunshang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
     //ValidatorUtils.validateEntity(chengyunshang);
        chengyunshangService.insert(chengyunshang);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ChengyunshangEntity chengyunshang, HttpServletRequest request){
     chengyunshang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
     //ValidatorUtils.validateEntity(chengyunshang);
        chengyunshangService.insert(chengyunshang);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ChengyunshangEntity chengyunshang, HttpServletRequest request){
        //ValidatorUtils.validateEntity(chengyunshang);
        chengyunshangService.updateById(chengyunshang);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        chengyunshangService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
 @RequestMapping("/remind/{columnName}/{type}")
 public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
       @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
  map.put("column", columnName);
  map.put("type", type);
  
  if(type.equals("2")) {
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
   Calendar c = Calendar.getInstance();
   Date remindStartDate = null;
   Date remindEndDate = null;
   if(map.get("remindstart")!=null) {
    Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
    c.setTime(new Date()); 
    c.add(Calendar.DAY_OF_MONTH,remindStart);
    remindStartDate = c.getTime();
    map.put("remindstart", sdf.format(remindStartDate));
   }
   if(map.get("remindend")!=null) {
    Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
    c.setTime(new Date());
    c.add(Calendar.DAY_OF_MONTH,remindEnd);
    remindEndDate = c.getTime();
    map.put("remindend", sdf.format(remindEndDate));
   }
  }
  
  Wrapper<ChengyunshangEntity> wrapper = new EntityWrapper<ChengyunshangEntity>();
  if(map.get("remindstart")!=null) {
   wrapper.ge(columnName, map.get("remindstart"));
  }
  if(map.get("remindend")!=null) {
   wrapper.le(columnName, map.get("remindend"));
  }


  int count = chengyunshangService.selectCount(wrapper);
  return R.ok().put("count", count);
 }
 


}

结论

在这次毕业设计中,我使用了springboot框架,选择MySQL作为后台数据库进行访问及修改。在设计开始之初,我也在苦恼于系统的逻辑功能的具体实现,因为我对于超市进销存管理的概念还较为模糊,其间我也查询了大量的网上资料,清楚了解实际生活中超市进销存管理主要面对的对象和管理需要完成的基本功能。

虽然在这过程中也遇到了许多的困难,主要有系统逻辑功能不合适和系统设计中出错,当在自己查阅资料无法解决之时,我也会与同学和老师进行请教和讨论,所以在这个过程之中,也让我清楚的认识到自己的不足以及团队的力量才是最大,以后不论是在学习还是工作中,都要融入到集体之中,那样自己才会成长的更快。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部