用Java写一个资产管理系统
时间: 2024-05-05 13:20:53 浏览: 13
好的,一个资产管理系统一般需要包括以下模块:
1. 用户管理模块:用于管理系统的用户信息,包括添加、修改、删除、查询等操作。
2. 资产管理模块:用于管理系统的资产信息,包括资产的分类、名称、价值、使用情况等信息,同时也需要支持添加、修改、删除、查询等操作。
3. 借用归还模块:用于管理资产的借用和归还操作,需要记录借用人、借用时间、归还时间等信息。
4. 统计报表模块:用于生成各种统计报表,比如资产分类报表、借用统计报表等。
下面是一个简单的Java资产管理系统的实现示例:
1. 定义用户类和资产类
```java
public class User {
private int id;
private String name;
private String password;
// 省略getter和setter方法
}
public class Asset {
private int id;
private String name;
private double value;
private boolean inUse;
// 省略getter和setter方法
}
```
2. 实现用户管理模块
```java
public class UserManager {
private List<User> userList = new ArrayList<>();
public void addUser(User user) {
userList.add(user);
}
public void updateUser(User user) {
for (User u : userList) {
if (u.getId() == user.getId()) {
u.setName(user.getName());
u.setPassword(user.getPassword());
break;
}
}
}
public void deleteUser(int id) {
userList.removeIf(u -> u.getId() == id);
}
public User getUserById(int id) {
for (User u : userList) {
if (u.getId() == id) {
return u;
}
}
return null;
}
// 省略其他查询方法
}
```
3. 实现资产管理模块
```java
public class AssetManager {
private List<Asset> assetList = new ArrayList<>();
public void addAsset(Asset asset) {
assetList.add(asset);
}
public void updateAsset(Asset asset) {
for (Asset a : assetList) {
if (a.getId() == asset.getId()) {
a.setName(asset.getName());
a.setValue(asset.getValue());
a.setInUse(asset.isInUse());
break;
}
}
}
public void deleteAsset(int id) {
assetList.removeIf(a -> a.getId() == id);
}
public Asset getAssetById(int id) {
for (Asset a : assetList) {
if (a.getId() == id) {
return a;
}
}
return null;
}
// 省略其他查询方法
}
```
4. 实现借用归还模块
```java
public class BorrowReturnManager {
private List<BorrowReturnRecord> recordList = new ArrayList<>();
public void borrowAsset(int assetId, int userId) {
AssetManager assetManager = new AssetManager();
Asset asset = assetManager.getAssetById(assetId);
asset.setInUse(true);
BorrowReturnRecord record = new BorrowReturnRecord();
record.setAssetId(assetId);
record.setUserId(userId);
record.setBorrowTime(new Date());
recordList.add(record);
}
public void returnAsset(int assetId, int userId) {
AssetManager assetManager = new AssetManager();
Asset asset = assetManager.getAssetById(assetId);
asset.setInUse(false);
for (BorrowReturnRecord record : recordList) {
if (record.getAssetId() == assetId && record.getUserId() == userId && record.getReturnTime() == null) {
record.setReturnTime(new Date());
break;
}
}
}
// 省略其他查询方法
}
public class BorrowReturnRecord {
private int assetId;
private int userId;
private Date borrowTime;
private Date returnTime;
// 省略getter和setter方法
}
```
5. 实现统计报表模块
```java
public class StatisticManager {
private AssetManager assetManager = new AssetManager();
private BorrowReturnManager borrowReturnManager = new BorrowReturnManager();
public Map<String, Integer> getAssetCountByCategory() {
Map<String, Integer> result = new HashMap<>();
List<Asset> assetList = assetManager.getAllAsset();
for (Asset asset : assetList) {
String category = getCategory(asset.getName());
if (result.containsKey(category)) {
result.put(category, result.get(category) + 1);
} else {
result.put(category, 1);
}
}
return result;
}
public Map<Integer, Integer> getBorrowCountByMonth() {
Map<Integer, Integer> result = new HashMap<>();
List<BorrowReturnRecord> recordList = borrowReturnManager.getAllRecord();
for (BorrowReturnRecord record : recordList) {
int month = getMonth(record.getBorrowTime());
if (result.containsKey(month)) {
result.put(month, result.get(month) + 1);
} else {
result.put(month, 1);
}
}
return result;
}
private String getCategory(String assetName) {
// 根据资产名称判断资产类别
// 省略具体实现
return "";
}
private int getMonth(Date date) {
// 获取月份
// 省略具体实现
return 0;
}
}
```
以上是一个简单的Java资产管理系统的实现示例,可以根据实际需求进行扩展和优化。