基于JAVA+Vue+SpringBoot+MySQL的服装店库存管理系统,包含了服装档案模块、服装入库模块、服装出库模块,可以自由的运营服装库存数据,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,服装店库存管理系统基于角色的访问控制,给服装店管理员、普通店员角色使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
服装类产品本身具有季节性强、生命周期短等特点,同时消费者对服饰的要求越来越个性化、时尚化和品质化,这样一来,服装零售店铺对库存管理提出更高的要求,服装店如果想做到在降低库存量的同时提高客户满意度及迅速地反应市场需求,服装店铺必须提高内部库存管理水平。因此,开发一个利用计算机进行的服装店库存管理系统,对提高服装店库存管理的效率还是有很重要的现实意义的。
服装店库存管理系统的功能性需求主要包含数据中心模块、角色管理模块、课程档案模块、排课位置模块和排课申请模块这五大模块,系统是基于浏览器运行的web管理后端,其中各个模块详细说明如下:
数据中心模块包含了服装店库存管理系统的系统基础配置,如登录用户的管理、运营公司组织架构的管理、用户菜单权限的管理、系统日志的管理、公用文件云盘的管理。
其中登录用户管理模块,由管理员负责运维工作,管理员可以对登录用户进行增加、删除、修改、查询操作。
组织架构,指的是高校的组织架构,该模块适用于管理这些组织架构的部门层级和教师的部门归属情况。
用户菜单权限管理模块,用于管理不同权限的用户,拥有哪些具体的菜单权限。
系统日志的管理,用于维护用户登入系统的记录,方便定位追踪用户的操作情况。
公用云盘管理模块,用于统一化维护服装店库存管理系统中的图片,如合同签订文件、合同照片等等。
角色是用户进入排课系统的身份标识,不同的角色有不同的菜单权限,所以需要对角色进行维护,角色的数据包括角色名称、角色状态、排序值、备注、创建人、创建时间、更新人、更新时间,管理员可以新增、删除、编辑和条件查询角色数据,用户可以查询管理员发布的角色数据。
服装是服装店库存管理系统的核心实体,需要建立服装档案模块对管理员维护的服装进行管理,服装的字段包括服装名称、服装图片、价格、库存数量、创建人、创建时间、更新人、更新时间,管理员可以新增、删除、编辑和条件查询服装数据,用户可以查询管理员发布的服装数据。
有了服装档案后,需要对服装进行入库操作,维持服装店的正常运营,服装入库的数据包括服装ID、服装名称、入库位置、入库数量、创建人、创建时间、更新人、更新时间,用户可以发起服装入库单,管理员可以查询用户发起的服装入库单。
服装入库之后还有出库领用操作,这就需要建立服装出库模块,服装出库字段包括服装ID、服装名称、出库数量、出库原因、创建人、创建时间、更新人、更新时间,用户可以发起服装出库申请,管理员可以查询用户发起的服装出库单。
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询服装")
public Result<IPage<Clothing>> getByPage(@ModelAttribute Clothing clothing ,@ModelAttribute PageVo page){
QueryWrapper<Clothing> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(clothing.getTitle())) {
qw.like("title",clothing.getTitle());
}
if(!ZwzNullUtils.isNull(clothing.getContent())) {
qw.like("content",clothing.getContent());
}
if(!ZwzNullUtils.isNull(clothing.getShelves())) {
qw.eq("shelves",clothing.getShelves());
}
IPage<Clothing> data = iClothingService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Clothing>>().setData(data);
}
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增服装")
public Result<Clothing> insert(Clothing clothing){
iClothingService.saveOrUpdate(clothing);
return new ResultUtil<Clothing>().setData(clothing);
}
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增服装入库")
public Result<ClothingIn> insert(ClothingIn clothingIn){
Clothing c = iClothingService.getById(clothingIn.getClothId());
if(c == null) {
return ResultUtil.error("服装不存在");
}
clothingIn.setTitle(c.getTitle());
clothingIn.setContent(c.getContent());
clothingIn.setTime(DateUtil.now());
User currUser = securityUtil.getCurrUser();
clothingIn.setWorkUser(currUser.getNickname());
clothingIn.setWorkMobile(currUser.getMobile());
iClothingInService.saveOrUpdate(clothingIn);
c.setNumber(c.getNumber().add(clothingIn.getNumber()));
iClothingService.saveOrUpdate(c);
return new ResultUtil<ClothingIn>().setData(clothingIn);
}
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询服装入库")
public Result<IPage<ClothingIn>> getByPage(@ModelAttribute ClothingIn clothingIn ,@ModelAttribute PageVo page){
QueryWrapper<ClothingIn> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(clothingIn.getClothId())) {
qw.eq("cloth_id",clothingIn.getClothId());
}
if(!ZwzNullUtils.isNull(clothingIn.getContent())) {
qw.like("content",clothingIn.getContent());
}
if(!ZwzNullUtils.isNull(clothingIn.getWorkUser())) {
qw.like("work_user",clothingIn.getWorkUser());
}
IPage<ClothingIn> data = iClothingInService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<ClothingIn>>().setData(data);
}
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增服装出库")
public Result<ClothingOut> insert(ClothingOut clothingOut){
Clothing c = iClothingService.getById(clothingOut.getClothId());
if(c == null) {
return ResultUtil.error("服装不存在");
}
if(clothingOut.getNumber().compareTo(c.getNumber()) > 0) {
return ResultUtil.error("服装库存不足");
}
clothingOut.setTitle(c.getTitle());
clothingOut.setContent(c.getContent());
clothingOut.setTime(DateUtil.now());
User currUser = securityUtil.getCurrUser();
clothingOut.setWorkUser(currUser.getNickname());
clothingOut.setWorkMobile(currUser.getMobile());
iClothingOutService.saveOrUpdate(clothingOut);
c.setNumber(c.getNumber().subtract(clothingOut.getNumber()));
iClothingService.saveOrUpdate(c);
return new ResultUtil<ClothingOut>().setData(clothingOut);
}
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!