📄 datamanager.java
字号:
package com.util;
import java.util.List;
import com.cdaccp.entity.Asset;
import javax.swing.table.DefaultTableModel;
import com.cdaccp.entity.LendRecord;
import com.cdaccp.entity.Employee;
/**
*
* 数据处理类,界面上的事件处理程序将调用该类的方法
* 为表格中填充数据
*/
public class DataManager {
public static int PAGENUMBER = 1; //显示数据的当前页数
public static int PERPAGECOUNT = 30; //每页显示数据的行数
public static int PAGECOUNT = 0;
//显示资产详细信息时数据表格中的表头
static String[] assetHead = new String[] {
"资产编号", "资产名称", "大类名称", "小类名称", "价格", "购入日期", "状态", "购入人", "使用状态",
"备注"};
//显示资产借用记录时数据表格中的表头
static String[] lendHead = new String[] {
"资产编号", "资产名称", "借用编号", "借用人", "借用日期", "归还日期", "借出经手人", "归还经手人", "备注"};
//显示职工信息的表头
static String[] employeeHead = new String[] {
"工号", "姓名", "职位", "备注"};
//资产信息数据集合,该集合中的数据将作为界面表格的数据
public static List assetList;
//借用信息数据集合,当界面选择的查询为“借用记录”时,用它来表示借用记录
public static List lendList;
//职工信息集合
public static List employeeList;
/**
* 该方法用于为主界面上的TableModel(model)对象填充数据
* 当需要对主界面的表格更换“资产信息”内容时调用该方法
* @param model DefaultTableModel 将主界面上的model对象传入
*/
public static void resetAssetIntoTable(DefaultTableModel model) {
try {
PAGECOUNT = (assetList.size() - 1) / PERPAGECOUNT + 1; // 计算总页数
int begin = (PAGENUMBER - 1) * PERPAGECOUNT; //记录的开始行数
int end = PAGENUMBER * PERPAGECOUNT; //结束记录的行数
int lessRecord = assetList.size() - begin; //还有多少行数据可以显示
//如果list中没有35条记录,size设置成35,否则size的值是list的size()的值
//保证表格中将会35行
int size = assetList.size() > 35 ? assetList.size() : 35;
String[][] info = new String[size][10];
int lineIndex = 0; //控制二维数组的第一维
// for (int i = 0; i < assetList.size(); i++) {
for (int i = begin; i < end && i < (begin + lessRecord); i++) {
Asset asset = (Asset) assetList.get(i); //将集合中的每个元素强制转换成Asset对象
info[lineIndex][0] = String.valueOf(asset.getId());
info[lineIndex][1] = asset.getName();
info[lineIndex][2] = asset.getCateName();
info[lineIndex][3] = asset.getSubName();
info[lineIndex][4] = String.valueOf(asset.getPrice());
info[lineIndex][5] = asset.getPurchaseDate().substring(0, 19);
int status = asset.getStatus();
if (status == 0) {
info[lineIndex][6] = "正常";
}
else if (status == 1) {
info[lineIndex][6] = "维修";
}
else {
info[lineIndex][6] = "报废";
}
info[lineIndex][7] = asset.getUseByName();
if (asset.getOnUse() == 0) {
info[lineIndex][8] = "未借出";
}
else {
info[lineIndex][8] = "已借出";
}
info[lineIndex][9] = asset.getRemarks();
lineIndex++;
}
//设置数据对象,第一个参数表示数据的二维数组,第二个参数表示表头的一维数组
model.setDataVector(info, assetHead);
}
catch (Exception ex) {
}
}
/**
* 该方法用于为主界面上的TableModel(model)对象填充数据
* 当需要对主界面的表格更换“资产借用信息”内容时调用该方法
* @param model DefaultTableModel 将主界面上的model对象传入
*/
public static void resetLendIntoTable(DefaultTableModel model) {
try{
PAGECOUNT = (lendList.size() - 1) / PERPAGECOUNT + 1; // 计算总页数
int begin = (PAGENUMBER - 1) * PERPAGECOUNT; //记录的开始行数
int end = PAGENUMBER * PERPAGECOUNT; //结束记录的行数
int lessRecord = lendList.size() - begin; //还有多少行数据可以显示
//如果list中没有35条记录,size设置成35,否则size的值是list的size()的值
//保证表格中将会35行
int size = lendList.size() > 35 ? lendList.size() : 35;
String[][] data = new String[size][9];
int index = 0;
// for (int i = 0; i < lendList.size(); i++) {
for (int i = begin; i < end && i < (begin + lessRecord); i++) {
LendRecord lend = (LendRecord) lendList.get(i);
data[index][0] = String.valueOf(lend.getAssetId());
data[index][1] = lend.getAssetName();
data[index][2] = String.valueOf(lend.getEmpId());
data[index][3] = lend.getEmpName();
data[index][4] = lend.getUsedate().substring(0, 19);
if (lend.getReturnDate() == null) {
data[index][5] = "未归还";
}
else {
data[index][5] = lend.getReturnDate().substring(0, 19);
}
data[index][6] = String.valueOf(lend.getOutLender());
if (lend.getInLender() == 0) {
data[index][7] = "未归还";
}
else {
data[index][7] = String.valueOf(lend.getInLender());
}
data[index][8] = lend.getRemarks();
index++;
}
model.setDataVector(data, lendHead);
}catch(Exception ex){
}
}
//用于在表格里显职工信息
public static void resurLenEmployee(DefaultTableModel model) {
int size = employeeList.size() > 15 ? employeeList.size() : 15;
String[][] data = new String[size][4];
int index = 0;
for (int i = 0; i < employeeList.size(); i++) {
Employee employee = (Employee) employeeList.get(i);
data[index][0] = String.valueOf(employee.getEmpid());
data[index][1] = employee.getEmpName();
data[index][2] = employee.getJopName();
data[index][3] = employee.getRemarks();
index++;
}
model.setDataVector(data, employeeHead);
}
//用来在删除资产列表显示资产记录
public static void delectEesetAssetIntoTable(DefaultTableModel model) {
//如果list中没有20条记录,size设置成20,否则size的值是list的size()的值
//保证表格中将会20行
int size = assetList.size() > 20 ? assetList.size() : 20;
String[][] info = new String[size][10];
int lineIndex = 0; //控制二维数组的第一维
for (int i = 0; i < assetList.size(); i++) {
Asset asset = (Asset) assetList.get(i); //将集合中的每个元素强制转换成Asset对象
info[lineIndex][0] = String.valueOf(asset.getId());
info[lineIndex][1] = asset.getName();
info[lineIndex][2] = asset.getCateName();
info[lineIndex][3] = asset.getSubName();
info[lineIndex][4] = String.valueOf(asset.getPrice());
info[lineIndex][5] = asset.getPurchaseDate().substring(0, 19);
int status = asset.getStatus();
if (status == 0) {
info[lineIndex][6] = "正常";
}
else if (status == 1) {
info[lineIndex][6] = "维修";
}
else {
info[lineIndex][6] = "报废";
}
info[lineIndex][7] = asset.getUseByName();
if (asset.getOnUse() == 0) {
info[lineIndex][8] = "未借出";
}
else {
info[lineIndex][8] = "已借出";
}
info[lineIndex][9] = asset.getRemarks();
lineIndex++;
}
//设置数据对象,第一个参数表示数据的二维数组,第二个参数表示表头的一维数组
model.setDataVector(info, assetHead);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -