某系统有库存管理功能,要求具备管理员角色或者仓库管理员角色的用户,可以查看设备入库情况,同时可以对未入库的设备,实现【入库】操作 请根据以上需求分析对应的数据库表 1、用户和角色 2、设备信息表,包括库存数量和设备名等信息 3、采购信息表,包含采购的设备、采购的数量、采购的时间和是否完成入库 4、入库记录表 包括入库时间、入库数量、操作人和入库的设备 实现如下功能: 1、用户登录之后,显示该用户拥有的角色信息 2、如果具备相应角色权限 a、可查看设备在库情况 b、可查看所有未入库的设备信息 c、可实现入库操作,并记录入库的情况 要求: A、提交核心配置文件、映射文件 B、提交Mapper接口 C、可编写适当的界面,直观的展示测试的效果
时间: 2023-11-25 12:07:48 浏览: 50
根据以上需求,可以设计如下的数据库表:
1. 用户和角色表(user_role)
- id:主键
- user_id:用户ID
- role_id:角色ID
2. 设备信息表(device)
- id:主键
- name:设备名称
- stock:库存数量
3. 采购信息表(purchase)
- id:主键
- device_id:设备ID
- quantity:采购数量
- purchase_time:采购时间
- is_stored:是否已入库(0:未入库,1:已入库)
4. 入库记录表(storage)
- id:主键
- device_id:设备ID
- quantity:入库数量
- storage_time:入库时间
- operator:操作人
其中,用户和角色表是多对多关系,设备信息表和采购信息表是一对多关系,设备信息表和入库记录表是一对多关系。
关于实现功能,以下是建议的Mapper接口:
1. 查询用户角色信息
```java
@Select("SELECT r.role_name FROM user_role ur JOIN role r ON ur.role_id = r.id WHERE ur.user_id = #{userId}")
List<String> getUserRoles(Long userId);
```
2. 查询设备在库情况
```java
@Select("SELECT id, name, stock FROM device")
List<Device> queryDeviceStock();
```
3. 查询所有未入库的设备信息
```java
@Select("SELECT d.id, d.name, p.quantity, p.purchase_time FROM device d JOIN purchase p ON d.id = p.device_id WHERE p.is_stored = 0")
List<UnStoredDevice> queryUnStoredDevice();
```
4. 插入入库记录
```java
@Insert("INSERT INTO storage(device_id, quantity, storage_time, operator) VALUES(#{deviceId}, #{quantity}, #{storageTime}, #{operator})")
void insertStorageRecord(@Param("deviceId") Long deviceId, @Param("quantity") Integer quantity, @Param("storageTime") Date storageTime, @Param("operator") Long operator);
```
以上Mapper接口的具体实现可以结合自己的框架和需求进行设计。
最后,关于界面的展示,可以根据具体需求和技术选型进行设计。
相关推荐
![text/plain](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)