|
|
package com.lingnan.supermarket.table; // 声明当前类所在的包
|
|
|
|
|
|
import java.util.List; // 导入List接口,用于表示列表
|
|
|
import java.util.Vector; // 导入Vector类,用于实现可增长的对象数组
|
|
|
|
|
|
import javax.swing.JFrame; // 导入JFrame类,用于创建窗口
|
|
|
import javax.swing.table.AbstractTableModel; // 导入AbstractTableModel类,用于创建表格模型
|
|
|
|
|
|
import com.lingnan.supermarket.dto.Buffer; // 导入Buffer数据传输对象
|
|
|
import com.lingnan.supermarket.dto.InOrder; // 导入InOrder数据传输对象
|
|
|
import com.lingnan.supermarket.dto.Buffer; // 重复导入Buffer数据传输对象,可能是错误
|
|
|
import com.lingnan.supermarket.dto.Production; // 导入Production数据传输对象
|
|
|
import com.lingnan.supermarket.dto.User; // 导入User数据传输对象
|
|
|
import com.lingnan.supermarket.dao.UserService; // 导入UserService接口,用于用户数据访问
|
|
|
import com.lingnan.supermarket.dao.impl.*; // 导入所有实现类,可能用于数据访问层的具体实现
|
|
|
import com.lingnan.supermarket.dialog.InDialog; // 导入InDialog类,可能用于进货对话框
|
|
|
|
|
|
|
|
|
|
|
|
public class InOrderTM extends AbstractTableModel{ // 定义一个类InOrderTM,继承自AbstractTableModel类,用于表格模型
|
|
|
|
|
|
private String [] columnName = {"订单号","总价","时间","负责人","状态"}; // 定义列名数组,用于表格的列标题
|
|
|
|
|
|
private productionImpl prodDao = new productionImpl(); // 创建productionImpl对象,用于操作产品数据
|
|
|
|
|
|
private Vector<InOrder> InOrders; // 声明一个Vector数组,用于存储InOrder对象
|
|
|
private inOrderServiceImpl inOrderImpl= new inOrderServiceImpl(); // 创建inOrderServiceImpl对象,用于操作订单数据
|
|
|
private InOrder inOrder ; // 声明InOrder对象,用于单个订单操作
|
|
|
|
|
|
String iNumber ; // 声明一个String变量,用于存储订单号
|
|
|
|
|
|
|
|
|
public void allInOrderRecord() { // 定义一个方法,用于获取所有订单记录
|
|
|
//将添加的商品加入到静态变量Vector数组中
|
|
|
/*prod = InDialog.getProduction();*/
|
|
|
InOrders = inOrderImpl.findAllInOrder(); // 调用inOrderImpl的方法,获取所有订单并赋值给InOrders
|
|
|
}
|
|
|
|
|
|
//查找分类结果
|
|
|
public void resultOfFind(int catalog) { // 定义一个方法,根据分类查找订单
|
|
|
if(catalog==0) // 如果分类为0,查找所有订单
|
|
|
InOrders = inOrderImpl.findAllInOrder(); // 获取所有订单
|
|
|
else
|
|
|
InOrders = inOrderImpl.FindStatus(catalog); // 否则根据状态查找订单
|
|
|
}
|
|
|
|
|
|
//根据订单号查找
|
|
|
public void resultOfNumber(String Number) { // 定义一个方法,根据订单号查找订单
|
|
|
InOrders=new Vector<InOrder>(); // 初始化InOrders为新的Vector对象
|
|
|
inOrder = inOrderImpl.findByIdinOrder(Number); // 根据订单号查找订单
|
|
|
InOrders.add(inOrder); // 将找到的订单添加到InOrders中
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
// 重写getRowCount方法,返回表格的行数,即订单列表的大小
|
|
|
public int getRowCount() {
|
|
|
return InOrders.size(); // 返回InOrders Vector的大小
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
// 获取所有订单的总价格,此方法已被注释掉
|
|
|
public Float getAllPrice() {
|
|
|
return BufferImpl.InBufferAllPrice();
|
|
|
}
|
|
|
*/
|
|
|
|
|
|
@Override
|
|
|
// 重写getColumnCount方法,返回表格的列数,即列名数组的长度
|
|
|
public int getColumnCount() {
|
|
|
return columnName.length; // 返回columnName数组的长度
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
// 重写getValueAt方法,根据行索引和列索引获取表格单元格的值
|
|
|
public Object getValueAt(int rowIndex, int columnIndex) {
|
|
|
inOrder = InOrders.get(rowIndex); // 获取指定行的订单对象
|
|
|
// 以下代码已被注释,可能是用于调试的打印语句
|
|
|
/*System.out.println( "id="+users.get(rowIndex).getId());
|
|
|
System.out.println("rowIndex"+rowIndex);
|
|
|
System.out.println("columnIndex"+columnIndex);*/
|
|
|
iNumber=inOrder.getiNumber(); // 获取订单号并赋值给iNumber
|
|
|
if(columnIndex==0) { // 如果是第一列,返回订单号
|
|
|
return inOrder.getiNumber();
|
|
|
}else if(columnIndex==1) { // 如果是第二列,返回订单总价
|
|
|
return inOrder.getAllInPrice();
|
|
|
}else if(columnIndex==2) { // 如果是第三列,返回订单日期
|
|
|
return inOrder.getInDate();
|
|
|
}else if(columnIndex==3) { // 如果是第四列,返回负责人
|
|
|
return inOrder.getPrincipal();
|
|
|
}else if(columnIndex==4) { // 如果是第五列,返回订单状态
|
|
|
String status = null;
|
|
|
if(inOrder.getStatus()==1)
|
|
|
status= "已入库";
|
|
|
else if(inOrder.getStatus()==2)
|
|
|
status= "待入库";
|
|
|
else if(inOrder.getStatus()==3)
|
|
|
status= "已取消";
|
|
|
return status;
|
|
|
}else { // 如果列索引不匹配,返回null
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 返回要修改或删除的记录的订单号
|
|
|
public String getINumber() {
|
|
|
return iNumber; // 返回类的成员变量iNumber
|
|
|
}
|
|
|
|
|
|
|
|
|
@Override
|
|
|
// 重写getColumnName方法,根据列索引获取列名
|
|
|
public String getColumnName(int column) {
|
|
|
return columnName[column]; // 返回columnName数组中指定索引的值
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|