You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
test/branch_zyx/My_branch/InOrderTM.java

125 lines
4.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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数组中指定索引的值
}
}