package com.textbooks.frame;
import com.textbooks.dao.ApplyDAO;
import com.textbooks.dao.DepartmentDAO;
import com.textbooks.util.SystemConstants;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.List;
/**
* @author 专治八阿哥的孟老师
*/
public class BuyerTablePanel extends JInternalFrame {
public BuyerTablePanel() {
super("订购单管理", true, true, true, true);
this.setSize(SystemConstants.FRAME_WIDTH, SystemConstants.FRAME_HEIGHT);
JTable table = new JTable() {
public boolean isCellEditable(int row, int column) {
return false;
}
};
JPanel topPanel = new JPanel();
topPanel.add(new JLabel("订购状态"));
JRadioButton radio1 = new JRadioButton("已订购", true);
JRadioButton radio2 = new JRadioButton("未订购");
ButtonGroup group = new ButtonGroup();// 创建一个按钮组
group.add(radio1);
group.add(radio2);
topPanel.add(radio1);
topPanel.add(radio2);
JButton searchBtn = new JButton("查询");
topPanel.add(searchBtn);
JButton editBtn = new JButton("生成订购单");
topPanel.add(editBtn);
JPanel panel = new JPanel(new BorderLayout());
panel.setSize(SystemConstants.FRAME_WIDTH, SystemConstants.FRAME_HEIGHT);
searchBtn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//{0"序号", 1"院系代码", 2"系别",3 "课程名称",4 "选修/必修", 5"任课教师",
// 6"教材名称", 7"作者", 8"ISBN", 9"出版社", 10"单价", 11"订购数量",
// 12"教师编号", 13"提交状态",14 "系主任审核", 15"教材科审核",16"订购状态"};
TableModel tableModel = new DefaultTableModel(
ApplyDAO.searchMulti(new int[]{15, 16}, new String[]{SystemConstants.SECTION_APPROVE, radio1.isSelected() ? SystemConstants.BUYER_APPROVE : ""}), ApplyDAO.columnNames);
table.setModel(tableModel);
}
});
editBtn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
int[] rowNums = table.getSelectedRows();
System.out.println("选中行是" + rowNums);
if (rowNums != null && rowNums.length > 0) {
for (int rowNum : rowNums) {
//{0"序号", 1"院系代码", 2"系别",3 "课程名称",4 "选修/必修", 5"任课教师",
// 6"教材名称", 7"作者", 8"ISBN", 9"出版社", 10"单价", 11"订购数量",
// 12"教师编号", 13"提交状态",14 "系主任审核", 15"教材科审核",16"订购状态"};
String id = (String) table.getValueAt(rowNum, 0);
Object[] apply = ApplyDAO.findById(id);
if (SystemConstants.BUYER_APPROVE.equals(apply[16])) {
JOptionPane.showMessageDialog(editBtn.getParent(), "不能重复订购", "系统提示",
JOptionPane.WARNING_MESSAGE);
return;
}
}
Map<String, List<Object[]>> map = new HashMap<>();
for (int rowNum : rowNums) {
//{0"序号", 1"院系代码", 2"系别",3 "课程名称",4 "选修/必修", 5"任课教师",
// 6"教材名称", 7"作者", 8"ISBN", 9"出版社", 10"单价", 11"订购数量",
// 12"教师编号", 13"提交状态",14 "系主任审核", 15"教材科审核",16"订购状态"};
String id = (String) table.getValueAt(rowNum, 0);
Object[] apply = ApplyDAO.findById(id);
String publisher = (String) apply[9];
if (!map.containsKey(publisher)) {
map.put(publisher, new ArrayList<>());
}
map.get(publisher).add(apply);
}
JFileChooser fileChooser = new JFileChooser();
fileChooser.setDialogTitle("请选择保存路径...");
fileChooser.setApproveButtonText("确定");
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int result = fileChooser.showOpenDialog(null);
if (JFileChooser.APPROVE_OPTION == result) {
System.out.println();
}
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
String path = fileChooser.getSelectedFile().getPath();
System.out.println(path);
File file = new File(path, format.format(new Date()) + ".txt");
OutputStreamWriter out = null;
BufferedWriter writer = null;
try {
out = new OutputStreamWriter(new FileOutputStream(file), "UTF8");
writer = new BufferedWriter(out);
for (String s : map.keySet()) {
writer.write("******************");
writer.write(s);
writer.write("******************");
writer.newLine();//换行
//{0"序号", 1"院系代码", 2"系别",3 "课程名称",4 "选修/必修", 5"任课教师",
// 6"教材名称", 7"作者", 8"ISBN", 9"出版社", 10"单价", 11"订购数量",
// 12"教师编号", 13"提交状态",14 "系主任审核", 15"教材科审核",16"订购状态"};
List<Object[]> books = map.get(s);
for (Object[] book : books) {
writer.write((String) book[6]);
writer.write("\t");
writer.write((String) book[7]);
writer.write("\t");
writer.write((String) book[8]);
writer.write("\t");
writer.write((String) book[11] + "本");
writer.write("\t");
writer.newLine();//换行
book[16] = SystemConstants.BUYER_APPROVE;
ApplyDAO.update((String) book[0], book);
}
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
writer.flush();
out.flush();
writer.close();
out.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
TableModel tableModel = new DefaultTableModel(
ApplyDAO.searchMulti(new int[]{15, 16}, new String[]{"已审核", radio1.isSelected() ? "已订购" : ""}), ApplyDAO.columnNames);
table.setModel(tableModel);
}
});
// 把 表头 添加到容器顶部(使用普�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目介绍 https://blog.csdn.net/u011731544/article/details/132149720 功能描述: 系统有四个角色:教师、系主任、教材科、订购商; 教师登录后可提交教材申请,申请内容见下方图片,未提交的申请可修改删除,已提交的申请不能修改删除; 系主任登录后查看本系教师已提交的申请,审批意见只能是"通过"或"不通过",已经通过的申请,不能再驳回;教材科已经审核通过的申请,系主任不能再审批; 教材科登录后,按院系查询各系主任审批通过的申请;教材科可批量操作审批通过或驳回,教材科已经审批通过的,不能再驳回; 订购商登录后可查看教材科审批通过的申请,生成订购单,订购单按出版社汇总; 当前项目不使用数据库,使用数据库的版本见 https://download.csdn.net/download/u011731544/88308943
资源推荐
资源详情
资源评论
收起资源包目录
Swing-教材订阅(静态版).zip (24个子文件)
支付宝送红包.png 255KB
textbooks-demo
src
com
textbooks
dao
DeanDAO.java 564B
DepartmentDAO.java 669B
TeacherDAO.java 567B
ApplyDAO.java 3KB
BuyerDAO.java 431B
SectionDAO.java 543B
UserDAO.java 2KB
pojo
User.java 785B
util
SystemConstants.java 735B
frame
TeacherPanel.java 3KB
LoginPanel.java 3KB
TeacherEditPanel.java 6KB
PasswordPanel.java 948B
DeanPanel.java 3KB
SectionTablePanel.java 6KB
MainFrame.java 757B
BuyerPanel.java 2KB
DeanEditPanel.java 5KB
DeanTablePanel.java 4KB
TeacherTablePanel.java 5KB
SectionPanel.java 3KB
BuyerTablePanel.java 9KB
扫码关注.png 1.06MB
共 24 条
- 1
资源评论
专治八阿哥的孟老师
- 粉丝: 2524
- 资源: 116
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功