JAVA simple version of clothing store inventory management system based on SpringBoot

Insert image description here



1. Abstract

1.1 Project introduction

The clothing store inventory management system based on JAVA+Vue+SpringBoot+MySQL includes a clothing archive module, a clothing warehousing module, and a clothing outgoing module. It can freely operate clothing inventory data, and also includes the system's own user management and department management. , role management, menu management, log management, data dictionary management, file management, chart display and other basic modules. The clothing store inventory management system has role-based access control for clothing store administrators and ordinary store clerks, and the permissions can be accurate to At the button level, you can customize roles and assign permissions. The system is suitable for designing precise permission constraints.

1.2 Project screen recording


2. Function module

Clothing products themselves are characterized by strong seasonality and short life cycles. At the same time, consumers’ requirements for clothing are becoming more and more personalized, fashionable and quality-oriented. As a result, clothing retail stores have higher requirements for inventory management. If clothing stores want to reduce inventory while improving customer satisfaction and responding quickly to market demand, clothing stores must improve their internal inventory management levels. Therefore, developing a clothing store inventory management system using computers is of great practical significance for improving the efficiency of clothing store inventory management.

Insert image description here
The functional requirements of the clothing store inventory management system mainly include five modules: data center module, role management module, course archives module, class scheduling module and class scheduling application module. The system is based on the web management backend running on the browser, each of which The module details are as follows:

2.1 Data Center Module

The data center module includes the basic system configuration of the clothing store inventory management system, such as the management of logged-in users, the management of the operating company's organizational structure, the management of user menu permissions, the management of system logs, and the management of public file cloud disks.
Among them, the login user management module is responsible for the operation and maintenance work by the administrator. The administrator can add, delete, modify, and query login users.
Organizational structure refers to the organizational structure of colleges and universities. This module is suitable for managing the departmental levels of these organizational structures and the departmental affiliation of teachers.
The user menu permission management module is used to manage the specific menu permissions of users with different permissions.
System log management is used to maintain records of users logging into the system to facilitate locating and tracking user operations.
The public cloud disk management module is used to uniformly maintain images in the clothing store inventory management system, such as contract signing documents, contract photos, etc.

2.2 Role management module

Role is the identity for users to enter the course scheduling system. Different roles have different menu permissions, so roles need to be maintained. Role data includes role name, role status, sorting value, remarks, creator, creation time, and updater. , update time, administrators can add, delete, edit and conditionally query role data, and users can query role data released by administrators.

2.3 Clothing file module

Clothing is the core entity of the clothing store inventory management system. It is necessary to establish a clothing archive module to manage the clothing maintained by the administrator. The fields of clothing include clothing name, clothing picture, price, inventory quantity, creator, creation time, updater, and update. Time, the administrator can add, delete, edit and conditionally query clothing data, and users can query the clothing data released by the administrator.

2.4 Clothing warehousing module

After having the clothing file, you need to store the clothing to maintain the normal operation of the clothing store. The data of clothing storage includes clothing ID, clothing name, storage location, storage quantity, creator, creation time, updater, At the update time, the user can initiate a clothing warehousing order, and the administrator can query the clothing warehousing order initiated by the user.

2.5 Clothing delivery module

After the clothing is put into the warehouse, there is also an outbound collection operation, which requires the establishment of a clothing outbound module. The clothing outbound fields include clothing ID, clothing name, outbound quantity, outbound reason, creator, creation time, updater, update time, the user can initiate a clothing outbound application, and the administrator can query the clothing outbound order initiated by the user.


3. System design

3.1 Use case design

Insert image description here

3.2 Database design

3.2.1 Character table

Insert image description here

3.2.2 Clothing file table

Insert image description here

3.2.3 Clothing storage table

Insert image description here

3.2.4 Clothing delivery list

Insert image description here


4. System display

Insert image description here
Insert image description here
Insert image description here
Insert image description here
Insert image description here
Insert image description here
Insert image description here
Insert image description here


5. Core code

5.1 Query clothing categories

@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);
}

5.2 New clothing

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增服装")
public Result<Clothing> insert(Clothing clothing){
    
    
    iClothingService.saveOrUpdate(clothing);
    return new ResultUtil<Clothing>().setData(clothing);
}

5.3 Add new clothing to the warehouse

@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);
}

5.4 Query clothing storage

@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);
}

5.5 Add new clothing out of warehouse

@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);
}

6. Disclaimer

  • This project is for personal study only. For commercial authorization, please contact the blogger, otherwise you will be responsible for the consequences.
  • The blogger owns all content and independent intellectual property rights of the application system built by this software, and has the final right of interpretation.
  • If you have any questions, please leave a message in the warehouse Issue. We will reply as soon as possible after seeing it. Relevant opinions will be considered as appropriate, but there is no promise or guarantee that they will be adopted.

Users who download this system code or use this system must agree to the following content, otherwise please do not download!

  1. You use/develop this software voluntarily, understand the risks of using this software, and agree to bear the risks of using this software.
  2. Any information content of the website built using this software and any resulting copyright disputes, legal disputes and consequences have nothing to do with the blogger, and the blogger does not bear any responsibility for this.
  3. Under no circumstances will the blogger be liable for any loss that is difficult to reasonably predict (including but not limited to loss of commercial profits, business interruption, and loss of business information) resulting from the use or inability to use this software.
  4. You must understand the risks of using this software. The blogger does not promise to provide one-on-one technical support or use guarantee, nor does it assume any responsibility for unforeseen problems caused by this software.

Insert image description here

Guess you like

Origin blog.csdn.net/2301_77899321/article/details/135318757